Skip to main content
Deposit events contain a public wallet transaction snapshot under data.transaction. Subscribe to one or more exact event names; deposit.* is not supported.

deposit.action_required

This event has status: "hold" and a required_action object. Call the relative submission_url on your API base URL with the same API key you use for wallet requests. Reading the required fields needs wallets:view; submitting them needs wallets:transfer.

deposit.success

The snapshot is deliberately minimal and immutable. settlement_details.type is bank_transfer for NGN deposits, crypto for stablecoin deposits, and usd_cash for USD cash activity; the usd_cash shape has only rail_reference, confirmed_at, and failed_at. Handle all three types. Within a webhook, reference and description are always null, and settlement_details.rail_reference echoes the transaction id rather than an external reference. Later settlement details such as bank account details, blockchain hashes, and confirmation counts are not included in the webhook body either. Read the transaction resource when you need its external reference or latest details.

deposit.failed

The public failure_reason is normalized and does not expose raw rail or internal accounting details.

Reconcile the resource

Use data.transaction.id with GET /v1/partner/wallets/transactions/{id}. The REST response is authoritative and may contain newer display or settlement information than the immutable webhook snapshot. Return to the webhook overview