Skip to main content
AllScale Open API
Version: v4
Last updated: 2026-05-06
Base Path: /v1/checkout_intents

Overview

The Checkout Intent API allows merchants to create a checkout intent and obtain a hosted payment URL. This API is used to:
  • Create a checkout intent
  • Generate a hosted checkout URL
  • Price the order in either a fiat currency (converted to stable coin at the current FX rate) or natively in a stable coin (no FX, 1:1)
  • Receive stable-coin–based settlement

Important Design Notes

  • All enum values are represented as integers in API requests and responses
  • API consumers must always send and receive integer values
  • USDT and USDC are supported as settlement stable coins

Authentication

All requests must include the following headers:

Notes

  • X-Nonce must be unique per request
  • X-Timestamp must be within allowed time window
  • Signature must be generated using raw request body bytes
  • Requests are protected against replay attacks

POST /v1/checkout_intents/

Description

Create a checkout intent and return a hosted checkout URL.

Request

POST /v1/checkout_intents/

Headers

Body Example — Fiat pricing (FX-converted)

Body Example — Native stable-coin pricing (no FX)

amount_cents is interpreted as stable-coin “cents”: 1000 = 10.00 USDT. currency_rate on the resulting intent is null because no FX conversion happens.

Request Fields

⚠️ Important
  • Exactly one of currency or stable_coin must be set. Sending both, or neither, returns a 10001 validation error.
  • currency and stable_coin must be integer values (Appendix A / B). Do NOT pass "USD" or "USDT" strings.
  • For native stable-coin pricing, USDT (1) and USDC (2) are accepted. Other stable-coin enum values are reserved for future rollout and will be rejected.
  • The payment amount must be greater than 0.1 USDT / 0.1 USDC. Orders at or below this floor are rejected with a 50002 error of the form amount must be greater than 0.1 <coin>, where <coin> is the resolved settlement coin name (USDT or USDC).
  • For fiat-priced orders that should settle in a specific stable coin, send accepted_stable_coins — the first entry picks the settlement coin used for FX conversion. Example: "currency": 1, "accepted_stable_coins": [2] settles a USD-priced order in USDC. Without accepted_stable_coins the FX target defaults to USDT (the merchant’s store/business accepted_stable_coins setting controls only which coins the payer may settle in via the response bitflag — it does not influence the FX target coin).
  • accepted_stable_coins must be non-empty when provided and contain only valid StableCoin enum values; otherwise the request is rejected with 10001.

Successful Response


Response Fields


Possible Errors


Notes

  • All enum values are integers
  • Do not send string enum names
  • Nonce must be unique per request
  • Timestamp must be UTC
  • Always log request_id for debugging

Appendix A — Currency Enum (IntEnum)


Appendix B — StableCoin Enum (IntEnum)


Current Behavior Successful checkout intents return stable_coin_type equal to the resolved settlement coin:
The value matches whichever supported coin was selected by the merchant via stable_coin (native pricing) or accepted_stable_coins (fiat pricing fallback order). Defaults to 1 (USDT) when neither is set.
End of document.