Ramp

Fiat ↔ stablecoin via our issuing partner's hosted onramp + ACH-out offramp.

POST /api/ramp/onramp/sessions

Bearer apk_ · Idempotent · Live: KYB approved

{
"amountUsdCents": 100000,
"sourceCurrency": "USD",
"destinationAsset": "USDC",
"destinationChain": "polygon",
"redirectUrl": "https://yoursite.com/treasury"
}

Returns { session: { hostedUrl, … } }. Redirect the user to hostedUrl. On completion, /api/webhooks/reap-onramp posts a recordCredit to the workspace ledger.

GET /api/ramp/onramp/sessions

Bearer apk_

List recent onramp sessions.

POST /api/ramp/offramp/sessions

Bearer apk_ · Idempotent · Live: KYB approved

{
"sourceAsset": "USDC",
"sourceChain": "polygon",
"amountUsdCents": 100000,
"destinationCurrency": "USD",
"beneficiary": {
  "type": "bank_account",
  "accountHolderName": "Acme Inc",
  "accountNumber": "123456789",
  "routingNumber": "021000021",
  "countryCode": "US"
},
"preferredRail": "ACH"               // optional: SWIFT | SEPA | FPS | ACH | WIRE | LOCAL
}

Posts a source-side ledger debit immediately. On failed webhook, a reversal credit restores the balance.

POST /api/ramp/quote

Bearer apk_

Pre-flight rate, fee, ETA without creating a session.

GET /api/ramp/sessions/[id]

Bearer apk_

Single session lookup.

Webhooks

  • /api/webhooks/reap-onrampcompleted → ledger credit
  • /api/webhooks/reap-offrampcompleted → ledger debit confirmed; failed → reversal credit