1. Set up
- Ask Dakota to activate Cards on your sandbox account. No agreements are needed.
- Activate a customer. You act as the customer: open the terms link and accept it yourself.
- Create a cardholder, enable a wallet, and create a card. These steps are the same as in production.
2. Fund the wallet
POST /sandbox/wallets/{wallet_id}/faucet sends testnet RD to the wallet on Base Sepolia, through the normal deposit path.
simulation_id. Poll GET /sandbox/simulations/{simulation_id} until the funds land.
A hold can be larger than the purchase, so fund more than you plan to spend. Two faucet calls cover a 2 USD purchase.
3. Simulate a purchase
POST /sandbox/cards/simulate/transaction:
card_transaction_id, and card_transaction.created fires.
typeisauthorization(default),financial_authorization(clears immediately), orbalance_inquiry(moves no funds, takes noamount).partial_approval_capable: truesimulates a merchant that accepts a partial approval.- A decline is not an HTTP error. It creates a card transaction with
status: declinedand adecline_reason. To trigger one, simulate a purchase on an unfunded wallet. - A card that is not
activecannot present a purchase: the call returns409 card-not-active.
4. Advance the purchase
POST /sandbox/cards/simulate/transaction/{card_transaction_id}:
A return is a new transaction on the same card, and the response names it. To reverse the return, advance that new transaction.
Limits
Simulation endpoints return
403 in production.
