Skip to main content
This is the full flow for accepting a deposit from a customer, from creating their deposit account through to confirming funds landed.

1. Create a deposit account for the customer

If you already track customers in Dexxify, pass their customer_id:
If the customer doesn’t have a Dexxify record yet, omit customer_id — a standalone deposit account is created instead.

2. Issue a deposit identity

Decide whether you want a crypto address or an NGN virtual account:
Show the returned address or account number to your customer — that’s where they send funds.

3. Register a webhook endpoint (once, per environment)

4. Handle the deposit events

When funds arrive, you’ll receive (in order) deposit.processing, then deposit.confirmed or deposit.completed — or deposit.failed if something went wrong. Verify the signature on every request (see Webhooks) before crediting your own ledger.
Use the raw body for signature verification — a body-parsing middleware that re-serializes JSON will break the HMAC check.

5. Confirm balance (optional)