× Docs Platform Dashboard Extensions Applications Building Merchants Sign in

Withdrawals via bank transfer

For fiat cash-out, users are able to initiate withdrawals to a bank account of their choice. The existing manual withdrawal flow creates a pending withdrawal transaction, which an Admin Dashboard user can mark as complete after they have actioned the banking transaction through the company’s operational transaction process. You can automate this process with your custom-built extension triggering the bank transaction using the information provided by Rehive.

Web app withdraw image

End-users are able to add bank accounts to their profiles using the wallet applications as can be seen in the image below. When initiating a withdrawal, they may choose which added bank account to send the funds to.

Web app add bank account image

Requirements and considerations

  • The user must be on a Tier that allows withdrawal transactions. Tiers are configured per Group using the Rehive Admin Dashboard.
  • The user must have added a bank account to their profile in order to initiate a withdrawal to the bank account
  • A webhook can be configured to send the transaction detail and metadata to your extension whenever a pending debit transaction is created. We recommend setting up a webhook to be sent for all Debit transactions.
  • The app allows end-users to add account details for multiple accounts.
  • The bank accounts linked to a specific user can be retrieved via the API using the bank accounts endpoint /admin/users/bank-accounts/?user={user_identifier}


  1. The end-user requests a withdrawal to a bank account they have added using the Rehive Wallet.
  2. When this is done, a debit transaction is created on the Rehive ledger with a status of “Pending” and the bank account details are included in the metadata field of the transaction in JSON format.
  3. According to the Webhook settings, a webhook is sent to the integration including the transaction details.
  4. Your extension then initiates the bank transfer with the payment processor using the bank account details included in the transaction Metadata and awaits confirmation that the transfer has been completed.
  5. Payment processor confirms success or failure of the transfer.
  6. Your extension updates the status of the user’s transaction from pending to complete (or failed) using the /admin/transactions/{tx_code}/ endpoint.
Withdraw to bank account