MPC API
Public RPCs
https://rpc1.hotdao.ai
1/2. Create wallet /create_wallet

1. Generate a new Ed25519 keypair
Create a new keypair using your preferred cryptographic library (e.g., pynacl, ed25519).
The public key becomes
wallet_derive_public_key.You will use the private key to sign a proof of ownership.
2. Get derive and wallet_id from the wallet_derive_public_key
This ensures every wallet is uniquely tied to its public key, and anyone can re-derive it for validation.
3. Construct the proof message
You need to prove first authorization rule by signing a specific message.
wallet_id: the one you just derived.auth_account_id: authorization contract account id .g.,"keys.auth.hot.tg".msg: a JSON string that will be include inon_auth_add(..)method
Example msg string for keys.auth.hot.tg:
4. Sign the hashed message
Hash the proof message string with SHA-256 and sign the hash using your wallet_derive_public_key private key. Encode the signature in base58 — this becomes the signature field in the request.
5. Assemble the full request
Your JSON request to the API should include:
wallet_id: the value you derived from the public key.wallet_derive_public_key: your base58-encoded public key.signature: the base58-encoded signature of proof messagekey_gen: MPC Key generation , now always = 1.auth: containing:msg: JSON string that will be include inon_auth_add(..)methodauth_account_id: typically"keys.auth.hot.tg"
Example
2/2.Sign massage /sign

our JSON request to the API should include:
wallet_derive: the value you derived from the public key.message: your base58-encoded massage that need to be signed (hash(msg) for evm chains, raw massage for Solana)curve_type:0 - EdDSA
1 - Ecdsa
user_payloads: list of strings, that will be used in hot_verify(..) method of your auth contracts. They must be in the same order as auth methods in MPC registed:
Last updated