Integrate Cryptocurrency Top-up
This quick start guide explains how to incorporate crypto balance top-ups into your product with BVNK.
To enable crypto top-ups, use the Channels API feature. A Channel is a permanent, unique address that can receive funds at any time. You can provide the channel to an end-user so they won't need to create a new payment for every top-up.
In this guide, you’ll learn how to generate a dedicated channel address for an end-user and build a UI (using our hosted page) to collect cryptocurrency payments.
Before you start
Make sure you've followed the getting started steps, so that you have your account set up, API keys ready, and a MID waiting to be used.
In this guide, we’ll use the BVNK-hosted page—though you can build your own UI using the API responses. Next, we’ll outline the channels workflow so you understand how to implement it yourself if you decide not to use the hosted page.
Channel workflow
When an end-user tops up with cryptocurrency for the first time, create a channel linked to their user ID in your system so you can display the correct address whenever they request sending funds.

Example view of an ETH payment channel as displayed to the user
After you've created a channel and they proceed to top up, you'll see transactions passes through the following states:
Status | Immutable? | Description |
---|---|---|
detected | No | A new cryptocurrency transaction has been detected at the channel address. In the Merchant's wallet, BVNK creates a ChannelPayment transaction with the status of DETECTED . Once the on-chain transaction receives the required confirmations on the network, its status updates to COMPLETE |
complete | Yes | The cryptocurrency transaction received the required confirmations on the network. BVNK updates the ChannelPayment status from DETECTED to COMPLETE and adds funds to the Merchant's wallet balance. The payment is finalised and the status will not change thereafter |
Avoid assigning the same channel to multiple end-users, as you won’t be able to determine which customer sent the funds. Unlike fiat transfers, blockchain transactions don’t include customer references. Thus, providing each user with a unique channel ensures you can correctly match their top-ups to their account.
Channel Payment Flow

Updated 16 days ago