Hanzo
OpenapiWallet

Provisions a new signing identity under one of the caller org's accounts and…

Provisions a new signing identity under one of the caller org's accounts and answers the stored wallet including its on-chain address.

POST /v1/wallet

Addresshttps://api.hanzo.ai/v1/wallet
MethodPOST
Operationpost_wallet
AuthAuthorization: Bearer $HANZO_API_KEY

Provisions a new signing identity under one of the caller org's accounts and answers the stored wallet including its on-chain address. The custody backend generates the key material — a KMS-sealed secp256k1 key, an MPC threshold key on the ring, or a Safe smart wallet owned by one — and the HANDLE to it is kept server-side and never returned. A custody kind the deployment has not wired fails CLOSED with 503: a signature is never fabricated. The wallet is scoped to the org, the caller's ambient project, and optionally an agent and the named account; those narrowings are what its key ref is derived from, so each must be a url-safe segment.

Request

6 fields, body application/json (required).

FieldInTypeRequiredDescription
accountIdbodystringAccountID is the account this wallet belongs to.
agentbodystringAgent optionally narrows the wallet to one agent within the org.
chainbodystringChain is the EVM chain this wallet is for, as "eip155:<n>" or a bare decimal chain id.
custodybodystringCustody selects the signing backend: "kms" (in-process, always available), "mpc" or "treasury" (the deployed MPC ring), or "safe" (a Safe smart wallet owned by…
namebodystringName is the wallet's display label.
tierbodystringTier is the MPC wallet tier: hot, warm, cold, gas, bridge, contract_admin, validator, quarantine or disaster_recovery.

Response

StatusBodyMeaning
200Walletok

200 body — 12 fields.

FieldInTypeAlwaysDescription
accountIdbodystring
addressbodystringAddress is the on-chain address. For kms/mpc/treasury it is the EOA a signature from this wallet recovers to; for safe it is the CREATE2 address of the Safe…
agentbodystring
chainbodystringChain is the EVM chain the wallet is bound to, CAIP-2 "eip155:<n>" or a bare decimal chain id.
createdAtbodyintegerCreatedAt is when the wallet was provisioned, Unix seconds.
custodybodystringCustody is the backend holding the signing material, fixed at creation: "kms" (a secp256k1 key sealed under KMS and opened in-process), "mpc" or "treasury" (an…
financeAccountbodystringFinanceAccount is the finance ledger account bound to this wallet — the lookup that turns a ledger account back into an on-chain signer.
idbodystringID is the wallet id, minted by the server as "wal_" + 24 hex.
namebodystringName is the display label given at creation.
orgbodystring
projectbodystring
tierbodystringTier is the wallet tier the ring keys its TierPolicy on: hot, warm, cold, gas, bridge, contract_admin, validator, quarantine or disaster_recovery.

Failure carries the platform error shape — see Errors.

Examples

hanzo wallets create

Wallet API · All Hanzo APIs · Interactive reference

How is this guide?

On this page