Skip to content

AgentCard ​

AgentCard is FluxA's prepaid virtual card service for AI agents. Your agent gets a USD-denominated virtual card it can use at online checkouts. The card is funded with USDC from the user's FluxA Wallet. Cards are reusable and rechargeable, and any unused balance can be withdrawn back to the wallet.

  • Prepaid: the card spends only what has been loaded onto it. There is no credit line.
  • Funded from the wallet: each issuance and recharge is paid in USDC from the user's FluxA Wallet, inside a mandate (a budget the user approved in advance).
  • Reusable and rechargeable: one card can be used for many purchases and topped up again later.
  • Withdrawable: unused balance can be sent back to the agent's linked FluxA Wallet.

Availability

AgentCard is rolled out gradually. If it is enabled on your account, the card products you can apply for appear in GET /api/v2/card-types. Some products require the account owner to complete identity verification first, and some require separate approval in FluxA Wallet. The catalog tells you which, product by product.

How it works ​

text
1. Authenticate      POST /api/v2/auth/challenge  →  Agent VC  →  Authorization: Bearer <VC>
2. Pick a product    GET  /api/v2/card-types
3. Cardholder (if    GET  /api/v2/cardholders/get   →  create / verify identity if required
   required)
4. Issue             POST /api/v2/cards/initiate  →  sign x402 payment with a mandate
                     POST /api/v2/cards/complete
5. Use               GET  /api/v2/cards/{cardId}/balance · POST /details · GET /3ds/latest
6. Recharge          POST /api/v2/cards/{cardId}/recharge/initiate → /recharge/complete
7. Withdraw          POST /api/v2/cards/{cardId}/withdraw

Two ways to call it ​

The fluxa-wallet CLI handles authentication, payment signing and polling for you:

bash
fluxa-wallet card types
fluxa-wallet card holder me
fluxa-wallet card create --card-type-id <cardTypeId> --amount 25.00 --mandate <mandate_id>
fluxa-wallet card list
fluxa-wallet card balance --id card_xxx
fluxa-wallet card details --id card_xxx

Each page in this section shows the matching CLI command next to the HTTP endpoint.

HTTP ​

Base URL:

text
https://agentcard.fluxapay.xyz/api/v2
  • All request and response bodies are JSON.
  • Every endpoint except POST /auth/challenge requires Authorization: Bearer <agent-vc>. See Authentication.
  • Amounts are USD decimal strings with up to two decimal places, e.g. "10.00".
  • IDs are opaque strings (card_…, ct_…, wdr_…). Always use the values the API returns.
  • A machine-readable contract is served at GET /api/v2/openapi.json, and plain-text agent instructions at GET /api/v2/llms.txt.

Prerequisites ​

  1. A FluxA Agent ID that is linked to the user's FluxA Wallet. See Agent registration. Unlinked agents get 403 agent_not_linked.
  2. A signed mandate that covers the issuance or recharge amount plus fees. See Mandates.
  3. For products that require it, an approved cardholder profile. See Cardholder.

Security ​

  • Card details (full card number, CVV, expiry) are returned only by POST /cards/{cardId}/details. Request them only when you are about to pay, and never write them to logs, prompts, or analytics.
  • Never put tokens or card details in query strings.
  • 3DS codes are one-time secrets. Treat them the same way as card details.

Reference ​

PageEndpoints
AuthenticationPOST /auth/challenge
Card typesGET /card-types
CardholderPOST /cardholders/create, POST /cardholders/update, GET /cardholders/get
CardsPOST /cards/initiate, GET /cards/requests/{id}, POST /cards/complete, GET /cards, GET /cards/{cardId}, GET /cards/{cardId}/balance, POST /cards/{cardId}/details
RechargePOST /cards/{cardId}/recharge/initiate, POST /cards/{cardId}/recharge/complete
WithdrawPOST /cards/{cardId}/withdraw, GET /cards/{cardId}/withdrawals, GET /cards/{cardId}/withdrawals/{withdrawalId}
TransactionsGET /cards/{cardId}/transactions
3DSGET /cards/{cardId}/3ds/latest, GET /cards/{cardId}/3ds, GET /3ds, GET /3ds/unread-count
ErrorsError format and codes

Released under the MIT License.