Create a fiat on-ramp payment + get the checkout link
Create a fiat on-ramp payment and return the browser-checkout handoff.
A fiat card + identity-verification flow can only render in a browser, so
this endpoint returns a checkout_url (a Compass-hosted page) together
with payment_id, the one-time-wallet deposit_address, an initial
status, and a user_instructions string.
How to drive this (CLI / MCP agent / UI):
- Present
checkout_urlto the user and open it in a browser. It renders the card payment + identity verification and delivers USDC on Ethereum to the destination wallet. (An MCP agent cannot open a browser itself — show the link and ask the user to open it.) - Poll
GET /v2/onramp/status?payment_id=...untilstatusbecomesdelivered(orfailed).pending= awaiting payment,processing= payment received and bridging/swapping to USDC. - Once
delivered, the USDC is in the user’s own wallet — continue with the tokenized buy.
Funds are never held by Compass: the deposit_address is a one-time wallet
owned solely by the user’s wallet.
Body
Create a fiat on-ramp payment delivering USDC on Ethereum.
Carries the same fields as the quote (a quote is implicit — we do not
persist a quote handle). quote_id is optional and only echoed upstream
if Halliday's /payments/confirm requires a previously-issued quote
handle; omit it to confirm against a fresh quote.
Amount of fiat to spend, as a decimal string (e.g. 100).
"100"
The wallet that will receive the USDC on Ethereum. Funds are delivered here directly — Compass never holds them.
"0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B"
ISO-4217 fiat currency code. Defaults to USD.
"USD"
Optional Halliday quote handle to confirm against. Omit to confirm against a fresh quote derived from the amount and currency.
Response
Successful Response
A created on-ramp payment, with the browser-handoff affordances.
The caller (CLI / MCP agent / UI) presents checkout_url to the user to
pay by card and complete identity verification, then polls
GET /v2/onramp/status until status is delivered.
Halliday's payment id. Use it to poll status.
The one-time-wallet (OTW) deposit address for this payment, owned solely by the user's wallet (non-custodial).
Compass-hosted checkout page to open in a browser. It renders the card + identity-verification flow and delivers USDC to the destination wallet.
Short, agent-actionable guidance: open the checkout link, pay, then poll status until delivered.
Initial lifecycle state (typically pending).
pending, processing, delivered, failed The resolved quote this payment was created against.