Getting Started
API Access
Create API keys in the merchant portal. Every request needs both headers:
X-API-Key: YOUR_KEY X-API-Secret: YOUR_SECRET Content-Type: application/json
Configure them via the gear icon (sessionStorage only).
Three product surfaces
- Deposit wallets —
POST /api/v1/wallets/create(ephemeral or client). Split / Cash App payments. - NFT / SBT —
/api/v1/nft/*membership, licenses, receipts (Mode A mint / Mode B import). - Custodial wallets —
/api/v1/wallet/*custodial spend accounts (balances, send, export). Isolated from deposit wallets.
Deposit wallet flow
- 1Call create with
mode: "ephemeral"(new address each time;address= settlement) ormode: "client"+client_id+transaction_id. Client business: pass partner settlement asaddress. Client self-custody (widget): omitaddressorself_custody: true— no bootstrap/rebind. - 2Show
data.address(deposit) to the payer / provider — never the requestaddressalone. Optional affiliate / sub-affiliate split fields are supported on both modes. - 3Ephemeral: auto-split after deposit. Client: after deposit webhook, ask the end-user for consent, then
POST /api/v1/wallets/splitwithclient_id+transaction_id— records authorization and queues the job (cron executes; response isauthorizedorqueued, not an instant on-chain split).
Flow Diagram
Ephemeral — auto split
Create wallet
Payer deposits
Detect + webhook
Auto on-chain split
Client — consent then queue
Create / reuse + tid
Payer deposits
Detect + webhook
User consents
POST /wallets/split → queue
Custodial wallets
Use POST /api/v1/wallet/accounts for end-user spending balances. Do not reuse deposit payment wallets. Private key returned once on create (and via export-key).
Networks
See Networks & tokens for supported chains on /wallets/create.