> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hypermid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a fiat order

> Creates the fiat order and returns a hosted URL to send the payer to. KYC and card handling happen on the provider's pages, so no card data ever reaches your servers or ours.

Poll the order-status endpoint, or rely on the session's completion webhook, to learn the outcome.



## OpenAPI

````yaml /api-reference/openapi.json post /onramp/checkout
openapi: 3.1.0
info:
  title: Hypermid API
  description: >-
    Price and execute cross-chain swaps, read reference data and payer balances,
    and quote the fiat on-ramp. Quotes return an executable `transactionRequest`
    your frontend submits directly, so Hypermid never custodies the funds.


    Payments — `checkout`, `deposit`, and `withdrawal` sessions — and
    payment-link management are available through these merchant REST endpoints
    and the [`@hypermid/sdk`](https://docs.hypermid.io/sdk/payments) package.
    Payer-facing routes are intentionally omitted.
  version: 0.2.0
  contact: {}
servers:
  - url: https://server.hypermid.io
    description: Production — live keys (sk_live_…)
  - url: https://server.hypermid.io
    description: Sandbox — test keys (sk_test_…), testnets only
security: []
tags:
  - name: payments
    description: >-
      Create and read payment sessions, manage webhooks, and configure payout
      addresses with a secret partner key.
  - name: payment links
    description: >-
      Create, read, version, and revoke reusable checkout payment links with a
      secret partner key.
  - name: quote
    description: >-
      Route pricing for the orchestration product. Returns an executable
      `transactionRequest` your frontend submits directly, so Hypermid never
      custodies the funds.
  - name: status
    description: >-
      Resolve the state of a submitted swap or transfer. Two endpoints with
      different audiences — see each one's description before choosing.
  - name: catalog
    description: >-
      Reference data an integration needs to render a picker: supported chains
      and tokens, prices, routable connections, and fee configuration. A sandbox
      key sees only testnets here.
  - name: balances
    description: Read a payer wallet's token balances across supported chains.
  - name: onramp
    description: >-
      The fiat rail — card and bank payment for crypto, quoted and settled
      through our onramp partner. Requires per-partner onramp credentials on
      your account.
  - name: webhooks
    description: >-
      Events Hypermid sends TO you when a session completes. These are requests
      we make to your server, not endpoints you call.
paths:
  /onramp/checkout:
    post:
      tags:
        - onramp
      summary: Create a fiat order
      description: >-
        Creates the fiat order and returns a hosted URL to send the payer to.
        KYC and card handling happen on the provider's pages, so no card data
        ever reaches your servers or ours.


        Poll the order-status endpoint, or rely on the session's completion
        webhook, to learn the outcome.
      operationId: OnrampController_checkout
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OnrampCheckoutRequestDto'
      responses:
        '201':
          description: ''
      security:
        - x-api-key: []
components:
  schemas:
    OnrampCheckoutRequestDto:
      type: object
      properties:
        srcAmount:
          type: string
          description: Fiat amount to spend (decimal string).
          example: '100'
        srcCurrency:
          type: string
          description: Fiat currency code (ISO 4217).
          example: USD
        dstCurrency:
          type: string
          description: Destination crypto asset symbol.
          example: USDC
        dstChain:
          type: string
          description: >-
            Destination chain code, as used by the fiat provider. Read the
            supported set from the onramp config endpoint rather than assuming
            it matches a chain id.
          example: base
        walletAddress:
          type: string
          description: Payer wallet address (required for checkout).
          example: 0x…
        paymentMode:
          type: string
          description: Payment method code.
          example: card
        email:
          type: string
          description: >-
            Payer email, forwarded to the hosted KYC flow. Never stored by
            Hypermid.
        returnUrl:
          type: string
          description: >-
            Post-payment return URL. Only honoured when its origin is in
            ONRAMP_RETURN_ORIGINS; otherwise the default is used (open-redirect
            guard).
      required:
        - srcAmount
        - srcCurrency
        - dstCurrency
        - dstChain
        - walletAddress
  securitySchemes:
    x-api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Soft-auth read routes accept `x-api-key` with a publishable or partner
        key; money-moving routes require a secret partner key in `Authorization:
        Bearer`.

````