---
title: "Issue a wallet-owned virtual card directly with x402"
method: POST
path: "/api/card/purchase"
---

# Issue a wallet-owned virtual card directly with x402

`POST /api/card/purchase`

## Request

- Base URL: `https://api.x402card.org`
- URL: `https://api.x402card.org/api/card/purchase`
- Auth: none declared

Public agent marketplace entrypoint. The Base USDC payment payer becomes the card owner. Issuance is asynchronous and credentials require fresh owner authentication.

## Request body

- object
  - `idempotencyKey` string, required: Stable caller-generated key. Reuse it after an ambiguous response.

## Response `200`

Settled card-issue order with queued asynchronous issuance

## Other responses

- `402`: Payment Required
- `409`: Card already exists, terms changed, or order is no longer payable
- `503`: Card issue, provider BIN, workers, or backing float are unavailable

---

[API](https://skmtc.dev/x402card/apis/x402card-virtual-cards-and-freeland-esim-api.md) · [All operations](https://skmtc.dev/x402card/apis/x402card-virtual-cards-and-freeland-esim-api/llms.txt) · [OpenAPI document](https://skmtc.dev/x402card/apis/x402card-virtual-cards-and-freeland-esim-api/revisions/90ffb84a664e?raw)
