Skip to content

Card types ​

The card-type catalog lists the card products your account can see: name, network, fees, load limits, what the product requires from you, and whether you can apply right now. Always read the catalog before issuing a card. Do not hardcode product IDs, fees or limits; they can change.

List card types ​

GET/api/v2/card-typesBearer agent-vc
bash
curl https://agentcard.fluxapay.xyz/api/v2/card-types \
  -H "Authorization: Bearer $AGENT_VC"

CLI:

bash
fluxa-wallet card types

Response 200:

json
{
  "cardTypes": [
    {
      "cardTypeId": "ct_63243cc4f38836aef2c62ca4",
      "name": "FluxA Visa Prepaid Card",
      "description": "A USD-denominated Visa prepaid card. …",
      "imageUrl": "https://…/card.png",
      "badge": null,
      "sortOrder": 0,
      "network": "Visa",
      "region": null,
      "bins": [{ "binId": "bin_9c1e0b7f4d2a6e38c5b1a0f2", "bin": "123456" }],
      "features": {
        "applePay": "unknown",
        "googlePay": "unknown",
        "chatGPT": "unknown",
        "claude": "unknown",
        "cashback": { "status": "unknown" },
        "highlights": []
      },
      "fees": {
        "issuance": { "status": "charged", "amountUsd": "1.00" },
        "fx": { "status": "charged", "basisPoints": 300 },
        "annual": { "status": "free" },
        "monthly": { "status": "unknown" }
      },
      "promotions": {},
      "limits": { "minInitialLoadUsd": "5.00", "maxInitialLoadUsd": null },
      "availability": { "canApply": true, "reason": null },
      "requirements": { "cardholder": true, "kyc": true, "vipWhitelist": false },
      "version": 1
    }
  ]
}

The values above are illustrative.

Fields ​

FieldTypeDescription
cardTypeIdstringOpaque product ID. Pass it to POST /cards/initiate.
name, descriptionstringCustomer-facing product name and description.
imageUrl, badgestring | nullOptional display assets.
sortOrdernumberSuggested display order (ascending). The list is already sorted.
networkstring | nullCard network, e.g. Visa or Mastercard.
regionstring | nullRegion the product is intended for, when set.
binsarray{ binId, bin } pairs. binId is opaque; bin is the leading digits of card numbers for this product (may be null).
featuresobjectCapability flags (applePay, googlePay, chatGPT, claude) and cashback, plus free-text highlights. A value of "unknown" means not confirmed; do not present it as supported.
feesobjectFee schedule; see below.
promotionsobjectPromotional information for display. It does not change what is charged.
limits.minInitialLoadUsd / maxInitialLoadUsdstring | nullInitial-load range for this product. null means no product-specific bound (account limits still apply).
availability.canApplybooleanWhether your account can apply for this product now.
availability.reasonstring | nullWhy not, when canApply is false. See below.
requirementsobjectWhat the product needs from you before issuance. See below.
versionnumberProduct version.

Fees ​

fees contains entries for issuance, usdTransaction, fx, annual, monthly, transaction, refund, crossBorder and smallTransaction. Each entry has a status:

statusMeaning
freeNo fee.
chargedA fee applies: a flat amountUsd, a percentage in basisPoints (300 = 3%), or both.
not_applicableThe fee does not apply to this product.
unknownNot published. Do not show it as zero.

fees.issuance.amountUsd is exactly the issuance fee you will be charged. Recharge and withdrawal fees are returned as feeUsd by the recharge and withdraw endpoints before you pay or confirm.

Requirements ​

FieldWhen true
cardholderThe account needs a cardholder profile before issuance.
kycThe account owner must complete identity verification.
vipWhitelistThe product needs separate approval. The user applies in FluxA Wallet (Agent Cards page); there is no API to apply.

When cardholder and kyc are both false, do not ask the user for personal details or identity verification.

Availability reasons ​

reasonMeaningWhat to do
card_type_unavailableThe product is not open for applications right now.Choose another product or try later.
vip_whitelist_requiredThe product needs approval the account does not have yet.Ask the user to apply in FluxA Wallet, then retry.
card_access_unavailableEligibility could not be checked right now.Retry later. This is not a rejection.

Selecting a product when issuing ​

POST /cards/initiate takes exactly one selector:

SelectorExampleNotes
cardTypeId"ct_63243cc4f38836aef2c62ca4"Recommended.
binId"bin_9c1e0b7f4d2a6e38c5b1a0f2"A binId from the catalog.
bin"123456"6–10 digits. Must match exactly one product, otherwise 409 card_type_ambiguous.

There is no default product. See Errors for selector errors.

Released under the MIT License.