Register an account 
Makechain accounts are address-native — your owner_address is the 20-byte address of your wallet or passkey. Signer management goes directly to consensus.
Try it interactively
The SIGNER_ADD step is live: your passkey signs the AccountKeychain custody authorization and the SIGNER_REQUEST attribution, then the message is submitted to testnet. The generated Ed25519 key stays in this browser. Once authorized, it can sign ordinary Makechain messages in the later write guides.
What an account means
Your account identity is your owner_address.
- It is the 20-byte address of your wallet or passkey-derived account.
- It is valid even before any state row exists.
- Missing account state means default-zero bookkeeping.
Setup flow
In app clients, the registration sequence is lifted above the raw protocol messages:
- Connect the wallet or passkey that will be your
owner_address. - Generate an Ed25519 protocol keypair for fast message signing.
- Authorize that key with
SIGNER_ADD. - Rent storage on Tempo with
rentStorage(). - Wait for the relayer-backed
STORAGE_CLAIMwithwaitForStorageClaim(). - Claim your canonical username with
USERNAME_CREATE(usernameCreate()).
This keeps STORAGE_CLAIM as the protocol primitive while avoiding direct claim submission in the normal user flow.
What SIGNER_ADD does
SIGNER_ADD is the first key-management step.
- The message envelope is signed by an Ed25519 key for transport integrity.
- Authorization comes from an AccountKeychain custody signature for
owner_address. - The message also includes app attribution through
request_owner_addressandrequest_signature.
SIGNER_ADD and SIGNER_REMOVE are the only signer-management paths.
Account lifecycle notes
ACCOUNT_DATAwrites profile fields such as display name, avatar, bio, and website.VERIFICATION_ADDlinks external ETH or SOL identities to the sameowner_address.- Storage expansion happens only through
STORAGE_CLAIMsettlement verification. STORAGE_CLAIMfunds raw storage only. Claim the canonical username separately withUSERNAME_CREATE, and replace it later withUSERNAME_UPDATE.
The first successful STORAGE_CLAIM is settlement-verified and does not require delegated-key authorization. Delegated-key scope SIGNING is required for username messages and other ordinary user messages.
CLI shape
The Rust CLI migration is in progress. The normative model is:
- generate an Ed25519 keypair
- sign the native AccountKeychain
SIGNER_ADDdigest with the custody wallet - submit the signed Makechain message
- rent storage and claim the username
Use these protocol docs for field names and signing payloads. The canonical protocol reference is protocol/SPECIFICATION.md.
Learn more
Next steps
- Create a project — submit your first project-scoped Makechain message
- Set up your profile — add display name, avatar, bio, and website metadata
- Verify your identity — link an Ethereum or Solana address to the same owner address