The account must be
active with a safe_address before you accept deposits or create withdrawals. See Onboard a user.Accept deposits
1
Get the supported tokens
Call
GET /accounts/{account_id}/available-tokens before showing any deposit options. Only offer the tokens this returns.2
Show the deposit address
Read the deposit address from the account’s funding configuration, under
funding.config. Show it together with the chain the account is configured for.3
Tell the user what to send
Ask the user to send only a supported token, and only on the configured chain. Make this clear in your UI. Tokens sent on the wrong chain, or unsupported tokens, may not be credited.
4
Listen for events
Listen for deposit and balance webhook events.
5
Reconcile
Confirm the deposit with
GET /deposits/{deposit_id} and the account balance with GET /accounts/{account_id}/balances.Create a withdrawal
1
Check the available amount
Call
GET /accounts/{account_id}/balances. Use the token’s max_instant_withdraw as the most the user can withdraw, and don’t let them enter more.2
Create the withdrawal
Call
POST /withdrawals with the account, the token contract address, and the amount in the token’s base units.3
Store the withdrawal ID
Store the returned
withdrawal_id against your user record.4
Track the result
Listen for withdrawal webhook events, and confirm the final state with
GET /withdrawals/{withdrawal_id}.Build account activity
The Partner API exposes each activity type as its own resource. There is no combined account-statement endpoint. List each resource with the sameaccount_id:
Page through each collection independently. If your product needs one timeline, merge the results in your backend and sort them by
created_at. Don’t share a pagination cursor between resources.
Card transaction items represent changing payment lifecycles rather than raw card-network events. Read Read card transactions before mapping their status and amounts.billing and amounts.merchant fields.
Before any deposit, withdrawal, balance, or activity call, check that the
account_id belongs to the user making the request.