Prerequisites
- A Qustody tenant and an API key with
tokens:create,tokens:deploy, andtokens:mintpermissions. - A vault account with native currency for gas (
vault_123in the examples). - An approval policy attached to the vault that requires at least one approver for token operations.
- A registered wallet whose post-quantum public key is held by the configured external signer.
Step 1 — Configure the token
id: "token_abc123" and status: "DRAFT".
Step 2 — Estimate the deployment
checks.deployerHasFunds is true.
Step 3 — Request deployment
status: "PENDING_AUTHORIZATION".
Step 4 — Approve
Anapprover user must call:
PENDING_SIGNATURE → SIGNED → BROADCASTING → CONFIRMING → COMPLETED.
Step 5 — Track deployment
Subscribe totoken.deployed (or poll GET /v1/tokens/token_abc123/deployment). Once COMPLETED, you receive the on-chain contractAddress.
Step 6 — Mint initial supply
token.minted.
Step 7 — Verify balance
1000000000000000000000 (1000 × 10^18 = 1000 EIT).
Common errors
| Error | Likely cause |
|---|---|
TOKEN_STANDARD_NOT_SUPPORTED | Misspelled standard. Must be QRC-20. |
POLICY_DENIED | Approval policy denies the deploy or mint. |
TOKEN_SUPPLY_EXCEEDED | amount would push supply past maxSupply. |
IDEMPOTENCY_CONFLICT | Same Idempotency-Key with a different body. |