Not what you’re looking for? Ramp is designed for end-user fiat-to-crypto purchases via a hosted checkout flow. If
you need to move funds between PWS accounts (Transfers), convert assets programmatically without a checkout UI
(Conversions), or execute institutional FX-style trades (Swap), see the PWS API reference.
How it works
A typical Ramp integration follows four steps:1
Discover
Query supported countries, fiat currencies, payment methods, and cryptocurrency assets to know what options are
valid for your user’s location.
2
Preview
Call the prospective quote endpoint to show the user an estimated pay/receive breakdown before they commit.
3
Check limits
Optionally verify that the user’s intended amount falls within min/max bounds.
4
Checkout
Generate a hosted checkout URL and redirect the user to it. Payward handles payment processing and crypto delivery.
Base URL
Authentication
All requests require two headers:
See Authentication for how to generate the signature.
Step 1 — Discover supported options
Before building your UI, query the discovery endpoints to understand what’s valid for your user’s country. All four endpoints are read-only and can be called at startup or cached.List supported countries
subdivisions array. Use the returned country value and any relevant subdivision value as inputs to all other Ramp endpoints.
List fiat currencies
USD, EUR). Pass the returned codes as from_symbol in later calls.
List payment methods
credit_card). Pass the returned identifiers as from_method.
List cryptocurrency assets
to_symbol and to_method values for later calls come from here.
All four discovery endpoints are cursor-paginated. Use page_size to set the first page size (default 50, maximum 200). If a response includes next_page_token, pass that value as page_token to fetch the next page. Page tokens are scoped to the original endpoint and country/subdivision where applicable, and the token’s page size wins over a new page_size value.
Query parameters:
Step 2 — Preview pricing
Before sending your user to checkout, call the prospective quote endpoint to display an estimated cost breakdown. This call does not reserve liquidity — it’s safe to call on every keystroke for a live price preview.from_* parameters describe the side the user pays with and the to_* parameters the side they receive — the same source/destination model the Conversions and Swap APIs use.
Required parameters:
Optional parameters:
The response includes a
from object (the side the user pays, fiat today) and a to object (the side they receive, crypto today), each with a full fee breakdown. Asset references use the { symbol, type, name } shape:
Affiliate fee note:
affiliate_fee_bps increases the fee charged to the user. In responses, affiliate_fee
represents your portion of the returned fee amount, so do not add it again in your UI.Step 3 — Check transaction limits (optional)
Step 4 — Generate a checkout URL
Once you have confirmed options and the user is ready to proceed, generate a hosted checkout URL. Redirect your user to this URL — Payward handles the payment form, KYC checks, and crypto delivery.
Useful optional parameters:
The response contains the checkout URL and an echo of the submitted parameters for client-side confirmation, grouped into
from and to side objects:
checkout_url. The hosted page collects card details, performs any required identity verification, and delivers the crypto.
Receiving transaction updates
Payward pushes real-time transaction status updates to a webhook endpoint you implement. Register your endpoint via the Webhooks API, then handle POST callbacks at your URL. Each callback payload includes the transaction status and, when complete, the delivered amount and destination address. Theexternal_transaction_id and external_user_id you passed at checkout are echoed back, making reconciliation straightforward.