Skip to main content
Sandbox uses the same API host as production. A sandbox API key selects the test environment, where helpers simulate outcomes without moving real funds. Keep the key on your backend. Sandbox helpers do not replace production compliance or onboarding. Use Errors and retries to test how your integration handles validation, state, and retryable platform failures returned by sandbox operations.

Test capability readiness

After requesting a capability, set its sandbox status with POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status:
Refetch the capability after using the helper. Treat its current status and openTaskIds as the result your product must handle.

Test an open task

Create a sandbox task with POST /v3/sandbox/tasks. Scope it to the resource whose workflow you are testing and use items to describe what the customer must submit. This guide shows capability and transfer workflows; API Reference defines the customer scope and the complete request schema. Use an explanation item for a text response and a document item for an upload. New profile items also require profilePointer, a JSON Pointer naming the customer field. See Create sandbox task for the other item types and fields. For the transfer example, first create a sandbox transfer through a pay-in or payout flow, then export its returned data.id:
Store data.id as TASK_ID, data.revision as TASK_REVISION, and the current data.requirements[0].id as REQUIREMENT_ID. Match the answer to the item you created when you call POST /v3/customers/{customerId}/tasks/{taskId}/submissions:
Then accept or reject the current submission with POST /v3/sandbox/tasks/{taskId}/review:
Use Capabilities and tasks for the production task-completion pattern.

Fund a sandbox wallet

Credit an issued wallet with POST /v3/sandbox/accounts/{accountId}/topup:
Store the returned data.id as TRANSFER_ID when you want to inspect the simulated funding transfer. The topup id is a transfer id. Fetch it through GET /v3/transfers/{transferId} or list it through GET /v3/transfers to exercise your inbound-deposit code path against sandbox topups. The transfer projection is a completed inbound stablecoin deposit with origin: "inbound_deposit", method: "stablecoin_transfers", and direction: "stablecoin_move", and it is returned by the matching accountId, origin, method, and direction list filters.

Complete or fail a transfer

Set the outcome with POST /v3/sandbox/transfers/{transferId}/state:
Next, run a pay-in, payout, or issued bank account flow in sandbox.