Skip to main content
Call POST /business/treasury/deposits with the deposit amount in integer cents of the deposit currency (defaults to ZAR).

Destination

You still submit proof of payment and wait for ops approval. Auto-funding runs only after the deposit is approved. If conversion or programme funding fails, the deposit remains in treasury - retry with Trading and Fund and withdraw. The response includes:
  • id: deposit request identifier (use when submitting proof and polling status)
  • reference: unique reference the payer must include on the bank transfer
  • currency: fiat currency you are depositing (default ZAR)
  • fundEasyCard: whether Fund my EasyCard was requested
  • banks: bank accounts the payer can send fiat to
POST /business/treasury/deposits (wallet)
POST /business/treasury/deposits (Fund my EasyCard)
Response
The live API returns the full accountNumber and bank details for the transfer. Values above are illustrative only.

Make the fiat transfer

Instruct your finance team or end user to wire fiat to one of the returned bank accounts. The transfer must include the reference so operations can match the payment to your deposit request.

Submit proof of payment

After the transfer is made, upload proof with POST .../proof as multipart/form-data (bankId + proof file). See Submit proof of payment. Until proof is submitted, the deposit has status waiting_pop and counts toward your treasury pending balance for that currency.

After approval

  • Wallet deposits (fundEasyCard: false): treasury is credited in the deposited currency. Use Trading to convert ZAR → USDC, then Fund and withdraw if you want programme spending power.
  • Fund my EasyCard (fundEasyCard: true): after approval, the platform converts to USDC when needed and calls corporate programme funding. Confirm with GET /wallet/balance or card.fund.completed.

Next step

Track approval with Deposit status. Poll includes fundEasyCard.