Skip to main content
POST
Python (SDK)

Authorizations

x-api-key
string
header
required

Your Compass API Key. Get your key here.

Body

application/json

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.

fiat_amount
string
required

Amount of fiat to spend, as a decimal string (e.g. 100).

Example:

"100"

destination_address
string
required

The wallet that will receive the USDC on Ethereum. Funds are delivered here directly — Compass never holds them.

Example:

"0x29F20a192328eF1aD35e1564aBFf4Be9C5ce5f7B"

fiat_currency
string
default:USD

ISO-4217 fiat currency code. Defaults to USD.

Example:

"USD"

quote_id
string | null

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.

payment_id
string
required

Halliday's payment id. Use it to poll status.

deposit_address
string
required

The one-time-wallet (OTW) deposit address for this payment, owned solely by the user's wallet (non-custodial).

checkout_url
string
required

Compass-hosted checkout page to open in a browser. It renders the card + identity-verification flow and delivers USDC to the destination wallet.

user_instructions
string
required

Short, agent-actionable guidance: open the checkout link, pay, then poll status until delivered.

status
enum<string>
required

Initial lifecycle state (typically pending).

Available options:
pending,
processing,
delivered,
failed
quote
OnrampQuote · object
required

The resolved quote this payment was created against.