Skip to main content

POST /v1/tokens/{tokenId}/mint

Increase the supply of a deployed QRC token by minting to a vault account, registered wallet, or external address. Subject to the token’s supply policy and the configured approval policy.
AspectDetail
MethodPOST
Path/v1/tokens/{tokenId}/mint
AuthenticationBearer API key
Required permissionstokens:mint plus the on-chain MINTER role
IdempotencyIdempotency-Key header required
Approval policyRequired for any non-zero amount
Blockchain effectContract call to mint(address,uint256) (or template-equivalent)
Webhook eventstoken.mint_requested, token.minted, token.operation_failed

Request body

{
  "amount": "1000000000000000000000",
  "recipient": {
    "type": "address",
    "address": "0x9a8e5e21f0c27d2c5c14b6e9bd8e4a0f9c9b4d12"
  },
  "feeStrategy": "MEDIUM",
  "idempotencyKey": "mint-2026-04-27-001"
}
recipient.type accepts address, walletId, or vaultAccountId.

Response (202)

{
  "operationId": "op_mint_123",
  "tokenId": "token_abc123",
  "operationType": "MINT",
  "status": "PENDING_AUTHORIZATION",
  "amount": "1000000000000000000000",
  "transactionRequestId": "txreq_002",
  "createdAt": "2026-04-27T10:05:00Z"
}

Errors

CodeTypeMeaning
1703TOKEN_NOT_DEPLOYEDToken has no on-chain contractAddress.
1704TOKEN_OPERATION_NOT_ALLOWEDStandard or template does not allow mint.
1705TOKEN_SUPPLY_EXCEEDEDResulting supply would exceed supplyPolicy.maxSupply.
1706TOKEN_MINT_NOT_ALLOWEDCaller lacks the on-chain MINTER role.
1712TOKEN_INVALID_RECIPIENTRecipient resolution failed (address, wallet, or vault).
1713TOKEN_INVALID_AMOUNTAmount is zero, negative, or not a valid uint256.
1200POLICY_DENIEDApproval policy denied the operation.
1201APPROVAL_REQUIREDApproval is required and was not yet granted.
1601IDEMPOTENCY_CONFLICTSame Idempotency-Key reused with different body.

Retry safety

Retries with the same Idempotency-Key are safe and return the original operation.