Skip to content

List Card Configs

Returns the packages available under a card header (fees, deposits, monthly fee, etc.). The client picks one based on cost.

Only packages the current account can actually apply with are returned: packages an account manager has closed for this account are omitted, and the header_id must be one returned by /card_headers/list — an account-manager-controlled header your account cannot apply for is rejected with 400 account_manager_bind_required / account_manager_unavailable / account_manager_open_disabled.

Endpoint

ItemValue
MethodPOST
Path/api/v1/openapi/card_configs/list
AuthHMAC
IdempotencyNot required

Request Fields

FieldTypeRequiredDescription
header_idstringhdr_<id> format (from List Card Headers)

Example Request

json
{ "header_id": "hdr_5" }

Response Fields

Each item in data.list[]:

FieldTypeDescription
package_idstringpkg_<id> format (used in apply)
nameobjecti18n name
currencystringCard currency (ISO 4217)
open_card_feestring (decimal)Card-open fee
open_card_fee_assetstringAsset symbol for the fee (e.g. USDT)
initial_depositstring (decimal)Initial deposit base — credited 1:1 with no fee at open; also the default first deposit when first_deposit_amount is omitted
min_first_depositstring (decimal)Effective minimum total first deposit (max(initial_deposit, package/header minimum)), base included. first_deposit_amount on apply must be ≥ this; when it exceeds initial_deposit, apply must send first_deposit_amount explicitly
min_rechargestring (decimal)Min single recharge
max_rechargestring (decimal)Max single recharge
monthly_feestring (decimal)Monthly fee
monthly_fee_assetstringMonthly fee asset symbol
recharge_feeFeeSpecRecharge fee
close_feeFeeSpecClose fee
authorization_feeFeeSpecAuthorization transaction fee
cross_border_feeFeeSpecCross-border fee
refund_feeFeeSpecRefund fee
is_defaultboolRecommended default package
descriptionobjecti18n description
kyc_requirementobjectThe effective platform KYC requirement for opening a card on this package (header > package > card-type three-level merge — the exact rules apply validates against). Same shape as kyc_requirement on the header list; when require_kyc=true and the account does not meet it, apply returns 400 kyc_required

FeeSpec

FieldTypeDescription
typestringfixed / percent / fixed_plus_percent / unknown
ratestring (decimal)Percentage rate (when type=percent / fixed_plus_percent)
fixedstring (decimal)Fixed fee (when type=fixed / fixed_plus_percent)
asset_symbolstringFee asset symbol (e.g. USDT)

Default package selection

  1. Prefer is_default == true
  2. Otherwise sort by (open_card_fee ASC, min_recharge ASC) and take the first

Example Response

json
{
  "code": 200,
  "message": "OK",
  "data": {
    "list": [
      {
        "package_id": "pkg_12",
        "name": { "zh-CN": "基础套餐", "en-US": "Basic" },
        "currency": "USD",
        "open_card_fee": "5.00",
        "open_card_fee_asset": "USDT",
        "initial_deposit": "10.00",
        "min_first_deposit": "10.00",
        "min_recharge": "10.00",
        "max_recharge": "10000.00",
        "monthly_fee": "0",
        "monthly_fee_asset": "USDT",
        "recharge_fee": {
          "type": "percent",
          "rate": "0.02",
          "fixed": "0",
          "asset_symbol": "USDT"
        },
        "close_fee": {
          "type": "fixed", "rate": "0", "fixed": "1.00", "asset_symbol": "USDT"
        },
        "authorization_fee": {
          "type": "fixed", "rate": "0", "fixed": "0.20", "asset_symbol": "USDT"
        },
        "cross_border_fee": {
          "type": "percent", "rate": "0.015", "fixed": "0", "asset_symbol": "USDT"
        },
        "refund_fee": {
          "type": "fixed", "rate": "0", "fixed": "0", "asset_symbol": "USDT"
        },
        "is_default": true,
        "description": {
          "zh-CN": "适合个人小额消费",
          "en-US": "For personal small spending"
        },
        "kyc_requirement": {
          "require_kyc": true,
          "kyc_type": "personal",
          "kyc_level": "l2"
        }
      }
    ],
    "total": 3,
    "page": 1,
    "page_size": 3,
    "total_pages": 1,
    "has_next": false,
    "has_prev": false
  }
}

Common Errors

HTTPmessage_keyDescription
400openapi_invalid_header_idheader_id format error or not found
400openapi_card_type_not_supportedHeader's card type not in the virtual range
400account_manager_bind_requiredAccount-manager-controlled header and your account has no account manager bound
400account_manager_unavailableThe account manager bound to your account is no longer active; contact platform support
400account_manager_open_disabledYour account manager has not opened this header for your account (such headers are not listed by /card_headers/list)
401openapi_invalid_credentialsAuth failure
500openapi_list_card_configs_failedServer error

Released under MIT-equivalent terms.