# x402card Virtual Card Top-Up

> x402card Virtual Card Top-Up is a paid API for AI agents from api.x402card.org, paid per call via x402, $25/call, status unknown (last checked 2026-09-14).

Top up a wallet-native virtual card with USDC on Base via the x402 payment protocol, crediting funds to the card after a load fee.

## Facts

- Endpoint: POST https://api.x402card.org/api/card/topup
- Price: $25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402card-virtual-card-top-up-7edee178
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__l1STrFeUtX-mFtR45ZBV

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402card-virtual-card-top-up-7edee178 -d '<json body>'
```

Example prompt: Top up my x402card virtual card with $25 USDC — use idempotency key 'topup-20240601-001' so it's safe to retry if something goes wrong.

## When to prefer this

Use this endpoint when an agent needs to programmatically fund a wallet-native virtual card with USDC on Base via the x402 payment protocol. Prefer this over traditional card top-up APIs when the user operates in a crypto-native environment and wants stablecoin-denominated card funding without fiat on-ramps. The idempotency key support makes it safe for automated or retry-prone workflows.

## Known failure modes

- Amount below minimum (2500 cents / $25) returns a validation error
- Amount above maximum (25000 cents / $250) returns a validation error
- Duplicate idempotency key with different amount may return conflict or replay the original result
- Insufficient USDC balance in payer wallet causes payment failure
- x402 payment protocol rejection if wallet or network conditions fail
- Job may remain in 'queued' state if downstream card processor is delayed

## How this service works

Issue and top up wallet-native virtual cards, or buy prepaid Freeland travel eSIMs with native USDC on Base through x402.

## Output

Returns a JSON object confirming the funding job was queued, including the job ID, job status ('queued'), the owner wallet address, the gross payment in USD cents, the load fee in basis points and dollars, and the expected net card credit after fees.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "amountUsdCents": {
   "type": "integer",
   "maximum": 25000,
   "minimum": 2500,
   "description": "Gross USDC payment in integer USD cents. Omit to use the current configured default."
  },
  "idempotencyKey": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1,
   "description": "Stable caller-generated key. Reuse it after an ambiguous response; never generate a replacement to retry payment."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "owner": "<x402-payer-address>",
  "status": "queued",
  "product": "card_funding",
  "economics": {
   "loadFeeBps": 200,
   "loadFeeUsdCents": 50,
   "walletPaymentUsdCents": 2500,
   "expectedCardCreditUsdCents": 2450
  },
  "fundingJob": {
   "id": "<job-id>",
   "status": "queued"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402card-virtual-card-top-up-7edee178/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.x402card.org](https://www.zero.xyz/host/api.x402card.org/llms.txt)
