Reclaiming Unconverted Crypto
Reclaiming Unconverted Crypto
When a payment cannot be fully converted because it was underpaid, overpaid, expired, invalid, or cancelled, Bead stores the residual crypto and prompts the customer to reclaim it. This page explains how that process works and what you, as an integrator, should do.
How the reclaim flow starts
A reclaim flow is triggered when a payment ends in one of these statuses:
statusCode
Typical cause
Email sent*
underpaid
Customer sent less than requested
Yes if email captured
overpaid
Customer sent excess funds
Yes if email captured
expired
No funds before the payment window closed
Yes if funds arrive after expiry and email captured
invalid
Asset mismatch, multiple transactions, compliance block
Yes if funds are eligible and email captured
cancelled
Customer or merchant cancelled after sending funds
Yes if transaction detected and email captured
The reclaim email is sent to refundEmail when available. refundEmail can be:
Supplied in the original payment request
Collected on the hosted payment page
Customer email requirement
A customer email is required to initiate the reclaim process. If no email was captured:
Re present the hosted payment page so the customer can enter their email, or
Collect the customer email by another secure method and have it added to the Bead payment via API or support
Once an email is associated with the payment, Bead can send the reclaim link.
Customer reclaim steps
From the customer’s perspective, reclaiming funds works as follows:
Open the reclaim email The customer receives an email with a secure reclaim link when a qualifying status is reached and an email is on file.
Open the reclaim page The link opens a Bead hosted reclaim page for that payment.
Provide a destination address The customer enters a destination address for the original asset and network.
This address is under the customer’s control
The original payment address may have been temporary or managed by Bead or a provider
Confirm asset, network, and fees The page shows the asset to be returned, the network, and any applicable network fee.
Submit reclaim request Bead queues the refund on-chain and broadcasts the transaction.
Receive confirmation The customer receives a confirmation email after the reclaim transaction is broadcast.
Timing
Allow up to 24 hours for reclaim transactions to complete
After 30 days, unclaimed funds may move to Bead’s treasury and require a support ticket for manual recovery
Bead may convert unclaimed crypto for compliance reasons as described in the Terms
Best practices for integrators
Always provide a refund email
Include
refundEmailin the payment request where possible, or allow the hosted page to collect itThis ensures customers automatically receive reclaim instructions if a reclaimable status occurs
Listen to payment notifications
Use webhooks rather than polling to detect reclaim related events
Pay attention to
paymentNotificationsentries such asfirstBlockReachedandrefundProcessedso you can update your internal order or ledger records
Clearly message reclaim in your UI
When a webhook shows statusCode of underpaid, overpaid, expired, invalid, or cancelled:
Show a message such as “Funds available to reclaim”
Let the customer know that instructions have been emailed to them
Avoid implying that you will manually refund from your own wallet
Treat reclaim as a customer driven process
Do not attempt to “help” by sending crypto out manually from your own wallets
Redirect customers to the Bead reclaim email and page
This reduces address mistakes, network mismatches, and fee surprises, and keeps liability and reconciliation simpler
Log reclaim activity
For each reclaim eligible payment, store:
trackingIdRequested amount and asset
Amount eligible for reclaim
Final reclaim transaction id (TXID), once available from follow up webhooks
Reclaim completion date when the refund is processed
This gives you a complete lifecycle record for audits and customer support.
Timing windows and configuration
Several timing related values influence when a payment becomes reclaimable and how long reclaim is available.
Payment window
paymentWindowInSecondsSource:
/currenciesendpointTypical default: 120 seconds
How long the customer has to start and complete a payment before it is considered expired
Confirmation window
confirmationWindowInSecondsSource:
/currenciesendpointTypical defaults: 300 to 3600 seconds
How long Bead waits for network confirmations after funds are detected
Reclaim availability
Reclaim window
Default: 7 days from the payment
createdtimestamp
After this period, reclaim requires manual intervention through Bead support and may be subject to additional compliance steps
Use the /currencies endpoint and the Settlement Currencies page in the Reference Guide to understand timing and configuration per asset and network, then design your customer messaging and internal processes to match those windows.
Last updated