Token API

Mint and transfer endpoints run every compliance check, then return an unsigned Token-2022 transaction. Passify never signs or holds funds.

Mint

POST/token/mintAPI key

Builds a mint transaction. Requires a valid attestation that satisfies the asset's rules.

FieldTypeDescription
user_pubkeystringRecipient wallet (base58).
mint_configstringToken configuration slug, e.g. us_real_estate_fund_v1.
amountstringAmount to mint.
bash
curl -X POST https://passify.biz/api/v1/token/mint \
  -H "Authorization: Bearer passify_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "user_pubkey": "7xKXtg2...", "mint_config": "us_real_estate_fund_v1", "amount": "1000" }'
200 OK
{ "status": "success", "unsigned_transaction_base64": "AQABA..." }

Transfer

POST/token/transferAPI key

Builds a transfer transaction after checking the sender's attestation and runtime rules.

FieldTypeDescription
mint_configstringToken configuration slug.
senderstringSending wallet (base58).
recipientstringReceiving wallet (base58).
amountstringAmount to transfer.
bash
curl -X POST https://passify.biz/api/v1/token/transfer \
  -H "Authorization: Bearer passify_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "mint_config": "us_real_estate_fund_v1", "sender": "7xKXtg2...", "recipient": "4mNp...", "amount": "500" }'

Compliance errors

A failed check returns 403 with a specific reason and no transaction:

403 Forbidden
{ "error": "rule_violation", "detail": "min_investment_usd_100", "request_id": "a1b2c3d4" }
errorCause
attestation_requiredNo valid attestation for the wallet.
attestation_expiredAttestation has lapsed.
rule_violationA compliance rule failed; see detail.

Last updated