Skip to main content
GET
/
v1
/
ramp
/
checkout
curl
curl -X GET "https://api.services.payward.com/v1/ramp/checkout?in_asset_symbol=USD&in_asset_type=fiat&in_method=credit_card&in_amount=100.00&out_asset_symbol=BTC&out_asset_type=crypto&out_method=Bitcoin&affiliate_fee_bps=250&country=US&subdivision=CA&redirect_url=https%3A%2F%2Fexample.com%2Fcheckout%2Fsuccess&failure_url=https%3A%2F%2Fexample.com%2Fcheckout%2Ffailure&external_user_id=user_01J0M7C0Z9F8YX3GQH8E&external_transaction_id=INV-2026-04-0042" \
  -H "API-Key: $PWS_API_KEY" \
  -H "API-Nonce: $PWS_API_NONCE" \
  -H "API-Sign: $PWS_API_SIGN"
{
  "data": {
    "checkout_url": "https://ramp.kraken.com/checkout?fiat=USD&amount=100.00&crypto=BTC&payment_method=credit_card&method=Bitcoin",
    "request_data": {
      "in_asset": {
        "symbol": "USD",
        "type": "fiat"
      },
      "in_method": "credit_card",
      "in_amount": "100.00",
      "out_asset": {
        "symbol": "BTC",
        "type": "crypto"
      },
      "out_method": "Bitcoin",
      "network": "Bitcoin",
      "wallet_address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
      "memo": "123456",
      "affiliate_fee_bps": "250",
      "country": "US",
      "subdivision": "CA",
      "redirect_url": "https://example.com/checkout/success",
      "failure_url": "https://example.com/checkout/failure",
      "external_user_id": "user_01J0M7C0Z9F8YX3GQH8E",
      "external_partner_id": null,
      "external_transaction_id": "INV-2026-04-0042",
      "external_metadata": "{\"order_id\":\"order_12345\"}"
    }
  }
}

Authorizations

API-Key
string
header
required

Your public API key. Identifies the partner making the request.

API-Nonce
string
header
required

Monotonically increasing nonce included in the request signature.

API-Sign
string
header
required

HMAC signature over the request, computed with your private key.

Query Parameters

in_asset_symbol
string
required

Fiat asset code the user will deposit (input asset). Use GET /v1/ramp/fiat-currencies to discover supported fiat currencies. Ticker symbol of an asset (e.g. BTC, USDC, EUR).

Required string length: 3 - 16
Example:

"BTC"

in_asset_type
enum<string>
default:fiat

Classification of the in asset. Pair with in_asset_symbol to disambiguate when the same ticker exists across asset classes (e.g. USDC as stablecoin vs crypto). Defaults to fiat.

Available options:
fiat,
crypto,
stablecoin,
xstock
in_method
string
required

Funding method for the deposit. Use GET /v1/ramp/payment-methods to discover supported payment methods.

in_amount
string<decimal128>
required

Amount to deposit (input amount).

Required string length: 1 - 64
Pattern: ^-?[0-9]+(\.[0-9]+)?$
Example:

"1.23"

out_asset_symbol
string
required

Cryptocurrency asset the user receives (output asset). Use GET /v1/ramp/buy/crypto to discover supported cryptocurrency assets. Ticker symbol of an asset (e.g. BTC, USDC, EUR).

Required string length: 3 - 16
Example:

"BTC"

out_asset_type
enum<string>
default:crypto

Classification of the out asset. Pair with out_asset_symbol to disambiguate when the same ticker exists across asset classes (e.g. USDC as stablecoin vs crypto). Defaults to crypto.

Available options:
fiat,
crypto,
stablecoin,
xstock
out_method
string
required

Withdrawal method identifier. Use GET /v1/ramp/buy/crypto to discover available withdrawal methods for each cryptocurrency asset.

network
string

Optional withdrawal network identifier. Use GET /v1/ramp/buy/crypto to discover available networks for each cryptocurrency asset.

wallet_address
string

Optional destination wallet address for the crypto withdrawal.

memo
string

Optional memo/tag/note for the crypto withdrawal (used for certain assets).

affiliate_fee_bps
string<bps>

Affiliate fee in basis points to attribute to the partner (0-10000 where 100 = 1%). This fee is additive to the platform fee, increasing the total fee charged to the user. The affiliate_fee in webhook payloads reflects the partner's portion of the total fee for transactions originating from this checkout. Basis points represented as a string. Range 0-10000 where 100 = 1%.

Pattern: ^\d{1,5}$
Example:

"250"

country
string
required

ISO 3166-1 alpha-2 country code. Use GET /v1/ramp/countries to discover supported values.

Maximum string length: 2
subdivision
string

ISO 3166-2 subdivision code suffix (e.g., CA for California when country is US). Use GET /v1/ramp/countries to discover supported values.

redirect_url
string<uri>

URL to redirect the user after completing checkout successfully.

failure_url
string<uri>

URL to redirect the user after a failed checkout.

external_user_id
string

Optional partner-supplied user identifier.

Maximum string length: 64
external_partner_id
string

Optional partner-supplied partner identifier.

Maximum string length: 64
external_transaction_id
string

Optional partner transaction identifier.

Maximum string length: 64
external_metadata
string

Optional metadata to store alongside the checkout.

Maximum string length: 1000

Response

Response

data
object
required