Transaction Flow
KORAMP Top Up and Sell flows: quote, payment, confirmation, and settlement.
Overview
KORAMP has two main flows that share the same quote model:
- Top Up (on-ramp): IDR in, crypto out.
- Sell (off-ramp): crypto in, IDR out.
Both go through the quote, order creation, verification, and settlement stages.
Top Up Flow
- Quote: user requests a price offer. The quote stores market price, spread, service fee, network fee, and tax.
- Create order: a Top Up order is created with the destination wallet address and the quote. The quote is consumed atomically.
- Fiat payment: the system creates a Xendit QRIS payment request and returns the QR payload.
- Xendit webhook: Xendit sends a notification when payment succeeds.
- Crypto delivery: the platform sends crypto to the destination wallet and records the transaction hash.
- Complete: order status is complete when
completedAtis set.
Sell Flow
- Quote: user requests a sell price offer.
- Create order: a Sell order is created with the platform deposit address and per-transaction bank payout details.
- Deposit: user sends crypto to the platform deposit address.
- Scan and confirm: the scheduler scans the deposit and tracks
confirmationsuntil it reachesrequiredConfirmations. - Payout: once confirmed, IDR is transferred to the bank account via Xendit Payout v3.
- Complete: order status is complete when the payout succeeds.
Order Statuses
- Top Up: status moves from
CREATEDtoward completion; completion time is recorded incompletedAt. - Sell: status moves from
CREATEDtoward completion; on-chain confirmation count is tracked viaconfirmationsandrequiredConfirmations.
Failures and Expiry
- Quotes have an expiry time and cannot be used after that.
- Orders that don't complete within the time limit can end with a failure reason (
failureReason). - Webhooks are processed idempotently to prevent double-handling.
See Quote & Pricing for price components.