Create a sandbox deposit
Deposits
Create a sandbox deposit
Trigger a mock deposit in sandbox to test the full deposit → settlement/webhook flow
POST
Create a sandbox deposit
Overview
This sandbox-only endpoint creates a mock deposit for an existing funding account. By default, Daya runs the simulated deposit through the same processing pipeline as a real deposit:- Deposit creation
- Settlement to internal balance, onchain payout, or NGN payout
- Webhook dispatch
scenario to trigger a specific sandbox lifecycle outcome. Use scenarios when you need to confirm your app handles specific deposit states without waiting for the sandbox processor to produce them naturally.
Use this to validate deposit processing and webhook handling before going to production. Create the receive instruction with /v1/funding-accounts, then pass the returned funding account id to this endpoint.
Authentication
Your merchant API key
Request Body
Funding account ID to simulate a deposit for. Daya uses the funding account to decide whether the simulated deposit is NGN or crypto, and where settlement should go.Example:
6b0e8400-e29b-41d4-a716-446655440000Optional sandbox lifecycle outcome to trigger.Allowed values:
PROCESSINGCOMPLETEDREQUIRES_REVIEWFAILED
Request Examples
Response
Returns a confirmation message and the simulated deposit status. Use/v1/deposits and webhook events to track the simulated deposit.
message: Human-readable status messagedeposit_id: Created deposit IDstatus: Current deposit statusscenario: Scenario that was applied, if provided
Testing lifecycle outcomes
Usescenario to test the state machine in your integration:
Scenario outcomes are for testing a specific lifecycle state in sandbox.
PROCESSING and COMPLETED still use the funding account’s active settlement destination, so the funding account must include any required rate_id, destination wallet, or destination bank details. To test the production-like settlement processor and any natural intermediate states, omit scenario.Error Responses
This endpoint may return:400: Invalid request401: Unauthorized403: Not available in production404: Funding account not found500: Internal server error
Next Steps
Webhooks Overview
Verify your webhook handling with sandbox events
Sandbox testing
Recommended end-to-end sandbox flow + common flagging scenarios