How To Use Simulation Safely
Simulation is for exercising your client behavior:- deposit credit handling
- transaction timeline reconciliation
- failed or pending record handling
- KYB-gated flows in staging
- notification rendering and delivery tests
user_id. Replace the example UUID below with your staging account user ID.
Simulated withdrawals run through the real balance check, so simulate a deposit
into the same wallet first or the withdrawal returns 402 INSUFFICIENT_BALANCE.
Example Stablecoin Deposit Simulation
Example Fiat Deposit Simulation
Example Fiat Withdrawal Simulation
Example Stablecoin Withdrawal Simulation
Field Notes
- Fiat deposits accept
currency: "NGN"only. Stablecoin withdrawals acceptcurrencyofUSDTorUSDConly. Other values return400. - The stablecoin deposit request names the asset with
symbol; the stablecoin withdrawal request usescurrency. idempotency_keyis accepted on the two deposit simulations only. Withdrawal simulations generate their own key.- The fiat deposit response returns the new record as
transaction_id; the stablecoin deposit response returns it asid.
Example KYB Status Simulation
status is one of approved, rejected, or pending. The response echoes
user_id and status and adds decision, one of approved, denied, or
unknown, which is the value production gates check.
Required Headers
Simulation endpoints are public in non-production environments. SendContent-Type: application/json for JSON request bodies.
Common Failures
Use simulation responses to verify your reconciliation and notification handling before production access.