---
title: "Order a gift card"
method: GET
path: "/order-gift-card"
---

# Order a gift card

`GET /order-gift-card`

## Request

- Base URL: `https://laso.finance`
- URL: `https://laso.finance/order-gift-card`
- Auth: none declared

Pay USDC via x402 to order a gift card. First browse the catalog via `GET /search-gift-cards` to find the `laso_server_id` for the card you want, then call this endpoint with the amount and product ID.

**Pricing:** `amount` is the card's face value in the product's own currency, not USD. Laso converts it to USD at the current exchange rate and adds the product's fee (typically 4.8%, but it varies by product; the 402 quote is exact); that total is the x402 USDC price. A 100 SAR card costs roughly \$28 USDC, not \$100. Check the product's `currency` field in `GET /search-gift-cards` to see what `amount` is denominated in.

The \$5 minimum and \$9,000 maximum apply to the **converted USD value**, not the raw amount, so a foreign-currency amount is accepted only when its USD equivalent falls inside that range.

Returns redemption details (URL, code, and/or PIN) depending on the gift card brand.

## Query parameters

- `amount` number, required
- `laso_server_id` string, required
- `country` string

## Response `200`

Gift card ordered successfully

- object
  - `auth` AuthCredentials
    - `id_token` string: ID token — use as Bearer token for Laso Finance APIs
    - `refresh_token` string: Use with POST /auth (grant_type=refresh_token) to get a new id_token when it expires
    - `expires_in` string: Token lifetime in seconds
  - `callable_base_url` string
  - `user_id` string: The user's ID (lowercase wallet address)
  - `gift_card` GiftCardOrder: Gift card order result with redemption details.
    - `card_id` string
    - `laso_server_id` string
    - `amount` number: Gift card face value, denominated in the product's own `currency` (not USD)
    - `currency` string: ISO 4217 code the `amount` is denominated in, e.g. `USD`, `SAR`, `EUR`
    - `country` string
    - `redemption_url` string, nullable: URL to redeem the gift card (if applicable)
    - `redemption_code` string, nullable: Code to redeem the gift card (if applicable)
    - `pin_code` string, nullable: PIN code for the gift card (if applicable)
    - `status` 'completed'
    - `timestamp` number

## Other responses

- `400`: Invalid or missing parameters
- `402`: Payment required. No valid x402 payment header was included. The payment details (price, recipient address, network) are base64-encoded in the `PAYMENT-REQUIRED` response header and echoed as JSON in the response body. x402 client libraries handle this automatically. A **second** 402 on the paid retry means something different: the payment was refused, either at verification (most often an underfunded wallet) or at on-chain settlement. That response body is not empty and carries no `accepts` — it is the x402 settlement-failure shape `{"success": false, "errorReason": "...", "errorMessage": "..."}`, plus `x_laso_guidance` when a concrete next step applies. Distinguish the two by body: a challenge carries `accepts`, a failure carries `success: false`. The usual cause is an underfunded wallet, and the usual cause of that is the fee being charged **on top of** `amount` on routes that add one (a wallet holding exactly \$2,000 cannot send a \$2,000 bank payment; `/get-card` adds no fee, so it costs exactly `amount`). Nothing is charged for a failed settlement, so retrying with a smaller amount is safe.
- `403`: Account is frozen. The response includes a `frozen_message` field explaining why.
- `404`: `laso_server_id` matches no gift card in the catalog (`code: unknown_laso_server_id`). The check runs before a payment is quoted, so this is returned in place of the 402 challenge and nothing is charged. It is terminal: the same id will never succeed. Look up a valid id with `GET /search-gift-cards` and order with that value.

---

[API](https://skmtc.dev/laso/apis/laso-finance-x402-api.md) · [All operations](https://skmtc.dev/laso/apis/laso-finance-x402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laso/apis/laso-finance-x402-api/revisions/ff8ce20b49ba?raw)
