Send Digital Asset Payouts

This quick start guide aims to assist you in adding crypto payout capabilities to your product.

This guide outlines the process for integrating crypto payouts into your platform. You can customise your payments page, where you can submit the payout address at the time of payment creation, which automatically completes the payout.

A crypto payout involves transferring cryptocurrency from your account to an end user's crypto wallet.

To accept crypto payments on your platform:

  1. Collect the end user's information, including their address and cryptocurrency type.
  2. Initiate a payout and manage the response.
  3. Set up a Payment Webhook to listen for and handle payments effectively.

By following these steps, you can efficiently integrate crypto payouts into your platform, enhancing your payment offerings with Layer1.

Payout flow

The payment proceeds through the following stages:

  1. The end user requests to make a withdrawal on your system, where you will need to collect the following information:
    • Amount for the withdrawal,
    • Cryptocurrency
    • Protocol (if applicable to the currency)
    • Address to which the funds must be sent
  2. This information is then forwarded to BVNK as a Create Payment request with type set to OUT.
  3. The Create Payment endpoint verifies that the address exists for the specified cryptocurrency and protocol.
  4. Layer1 processes the payout and sends out a series of webhooks.
  5. Once you receive the final COMPLETE webhook, you can poll the Get Payment endpoint to confirm the status and final paid out amount, or take the information from the webhook.
  6. Update the end user's account accordingly with the confirmed payment amount.
The sequence diagram for a pay out followed in this guide.

The sequence diagram for a crypto payout

Payment lifecycle

The payout undergoes several status changes throughout its lifecycle:

StatusImmutable?Description
pendingNoThe initial state of a payout. Indicates that the payment remains in this state until a crypto address is provided or the payout request is cancelled
processingNoIndicates that a crypto address is submitted during the processing of the payout
completeYesIndicates that the payout is completed once funds have been successfully transferred
cancelledYesIndicates that a payout has been cancelled or failed. Funds stay in the merchant account