How an offramp works
1
Create a beneficiary
Save the recipient’s mobile money or bank details with POST /beneficiaries.
2
Generate a quote
Call POST /quotes with
type: "offramp". The quote locks the rate and fee for 30 minutes.3
Confirm the quote
Call
POST /quotes/{id}/confirm with the beneficiary_id and refund_address.4
Send the deposit
Send exactly
deposit.amount of deposit.asset to deposit.address before deposit.deposit_by. On Stellar, include deposit.memo.5
Track the payout
Poll GET /orders/{order_id} until the status is
completed.Confirm an offramp quote
POST/quotes/{id}/confirm
Confirms an active offramp quote and creates the offramp transaction.
string
required
ID of an active
offramp quote, for example qt_8f2k.... Expired or already confirmed quotes are rejected.string
required
ID of the beneficiary who receives the fiat payout. Its currency and method must match the quote.
string
required
Wallet address on the quote’s network where PeerPesa returns funds if the payout fails.
string
Your own identifier for this transaction, returned on the transaction object.
Response
string
Starts as
awaiting_deposit, then moves to processing and completed. See order details.object
Fee breakdown carried over from the quote.
object
Where and how to send the crypto.
If the deposit does not arrive before
deposit_by, the transaction becomes expired. Generate a new quote and create a new offramp.