cryptorefills-buy

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Cryptorefills Buy — MCP Purchase Workflow

Cryptorefills 购买 — MCP 采购工作流

Full purchase lifecycle: search, price, validate, order, pay, track delivery. Supports all crypto payment methods, fixed and range-based products, multi-product carts, and interactive guided purchasing.
For browse-only, follow the instructions in cryptorefills-catalog. For autonomous agent purchases with USDC on Base (no account), follow cryptorefills-x402 instead.
When the user needs autonomous wallet-based purchasing without human payment interaction, switch to the cryptorefills-x402 skill instructions.
完整采购生命周期:搜索、询价、验证、下单、支付、物流追踪。支持所有加密货币支付方式、固定面额和区间面额产品、多商品购物车,以及交互式引导采购。
仅浏览商品时,请遵循cryptorefills-catalog中的说明。 若要通过Base网络使用USDC进行自主Agent采购(无需账户),请遵循cryptorefills-x402的说明。
当用户需要无需人工支付交互的基于钱包的自主采购时,请切换至cryptorefills-x402技能说明。

When to Activate

激活场景

  • User wants to buy a gift card, top up a phone, or get an eSIM with crypto
  • User mentions paying with Bitcoin, Lightning, Ethereum, Solana, USDC, USDT, Litecoin, Dogecoin, TON, SUI, or other cryptocurrency
  • User wants to place an order or complete a purchase on Cryptorefills
  • User needs help checking order status or tracking delivery
  • Keywords: "buy gift card with crypto", "pay with bitcoin", "pay with ethereum", "pay with solana", "purchase esim", "top up phone with USDC", "buy with USDT", "pay with litecoin", "pay with dogecoin"
  • 用户希望使用加密货币购买礼品卡、为手机充值或获取eSIM
  • 用户提及使用Bitcoin、Lightning、Ethereum、Solana、USDC、USDT、Litecoin、Dogecoin、TON、SUI或其他加密货币支付
  • 用户希望在Cryptorefills上下单或完成采购
  • 用户需要帮助查询订单状态或追踪物流
  • 关键词:"buy gift card with crypto", "pay with bitcoin", "pay with ethereum", "pay with solana", "purchase esim", "top up phone with USDC", "buy with USDT", "pay with litecoin", "pay with dogecoin"

Requirements

前提条件

  • MCP client connected to
    https://api.cryptorefills.com/mcp/http
  • Required header:
    User-Agent: Cryptorefills-MCP/1.0
  • Crypto wallet for payment
  • No Cryptorefills account or API key needed
To configure the MCP connection in Claude Code:
json
{
  "mcpServers": {
    "cryptorefills": {
      "url": "https://api.cryptorefills.com/mcp/http",
      "headers": { "User-Agent": "Cryptorefills-MCP/1.0" }
    }
  }
}
  • MCP客户端已连接至
    https://api.cryptorefills.com/mcp/http
  • 必填请求头:
    User-Agent: Cryptorefills-MCP/1.0
  • 用于支付的加密货币钱包
  • 无需Cryptorefills账户或API密钥
在Claude Code中配置MCP连接:
json
{
  "mcpServers": {
    "cryptorefills": {
      "url": "https://api.cryptorefills.com/mcp/http",
      "headers": { "User-Agent": "Cryptorefills-MCP/1.0" }
    }
  }
}

Spending Safeguards

消费安全措施

Always confirm before purchasing. Present product name, denomination, price, and payment method — wait for explicit user approval before calling
createOrder
.
  • Set a per-session spending limit (default: $100 max per session, $50 max per transaction — increase only if the user explicitly requests it) and track cumulative spend across orders
  • Verify the quoted price from
    getProductPrice
    before proceeding to
    createOrder
  • Digital goods are non-refundable once delivered
  • Gift card codes are cash-like — store securely, never share publicly or write to files
  • Keep codes in memory until the user redeems them
  • Log every purchase: order ID, product, amount, payment method
  • Use a dedicated wallet with limited balance for agent-initiated purchases
  • Terms: https://www.cryptorefills.com/terms/
采购前务必确认。展示商品名称、面额、价格和支付方式——调用
createOrder
前需等待用户明确批准。
  • 设置会话消费限额(默认:单会话最高100美元,单笔交易最高50美元——仅当用户明确要求时才可提高),并追踪跨订单的累计消费金额
  • 验证报价:在调用
    createOrder
    前,通过
    getProductPrice
    确认价格
  • 数字商品一旦交付不可退款
  • 礼品卡密码与现金等价——请安全存储,切勿公开分享或写入文件
  • 仅在内存中保存密码,直至用户完成兑换
  • 记录每笔采购:订单ID、商品、金额、支付方式
  • 使用余额有限的专用钱包进行Agent发起的采购
  • 条款:https://www.cryptorefills.com/terms/

Core Workflow

核心工作流

searchProducts → getProductPrice → validateOrder → createOrder → getOrderStatus
         │                                              │
         └── or use purchaseElicitation ────────────────┘
Two paths to purchase:
  1. Manual flow — Search → price → validate → create → track (full control)
  2. Guided flow
    purchaseElicitation
    walks through the purchase interactively (recommended for conversational agents)
searchProducts → getProductPrice → validateOrder → createOrder → getOrderStatus
         │                                              │
         └── or use purchaseElicitation ────────────────┘
两种采购路径:
  1. 手动流程 — 搜索 → 询价 → 验证 → 下单 → 追踪(完全可控)
  2. 引导流程
    purchaseElicitation
    会交互式引导完成采购(推荐对话式Agent使用)

Step-by-Step: Manual Flow

分步指南:手动流程

1. Search / Discover

1. 搜索/发现

Use
searchProducts
or
listBrands
to find products.
searchProducts(country_code="US", q="Netflix")
Note: The search parameter is
q
(not
query
), and language is
lang
(not
language
).
Country codes must be uppercase Alpha-2 ISO (
US
,
IT
,
BR
). Note: the x402 skill uses lowercase — different endpoint.
使用
searchProducts
listBrands
查找商品。
searchProducts(country_code="US", q="Netflix")
注意:搜索参数为
q
(而非
query
),语言参数为
lang
(而非
language
)。
国家代码必须为大写的ISO Alpha-2格式(如
US
IT
BR
)。注意:x402技能使用小写——对应不同的端点。

2. Get Price

2. 获取价格

Fixed-denomination products (
is_dynamic: false
): Price is already in the
listProductsForCountry
response (
coin_amount
field). No extra call needed.
Range-based products (
is_dynamic: true
): Use
getProductPrice
to get the price for a specific amount within the range.
getProductPrice(brand_name="Amazon.com", country_code="US", face_value=75, coin="USDC")
face_value
is a number (
75
), not a string. Returns
coin_amount
with the exact crypto price.
固定面额商品
is_dynamic: false
):价格已包含在
listProductsForCountry
的响应中(
coin_amount
字段),无需额外调用。
区间面额商品
is_dynamic: true
):使用
getProductPrice
获取区间内特定金额的价格。
getProductPrice(brand_name="Amazon.com", country_code="US", face_value=75, coin="USDC")
face_value
为数字(如
75
),而非字符串。返回的
coin_amount
为精确的加密货币价格。

3. Validate Order

3. 验证订单

Use
validateOrder
before creating. Both
validateOrder
and
createOrder
use a
body
wrapper with
payment
and
deliveries
.
validateOrder(body={
  payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
  deliveries: [{
    denomination: "25 USD",
    brand_name: "Steam",
    beneficiary_account: "user@example.com",
    country_code: "US"
  }]
})
Key fields:
  • payment.type
    — always
    "via"
    for crypto payments
  • payment.payment_via
    — from
    getPaymentViasWithCurrencies
    (e.g.,
    "USER_WALLET"
    )
  • payment.coin
    — cryptocurrency (e.g.,
    "BTC"
    ,
    "USDC"
    )
  • payment.network
    — use the exact string from
    getPaymentViasWithCurrencies
    . Common values:
Coin
network
value
BTC
Mainnet
ETH
ETH Mainnet
USDC
Base
,
Polygon (Matic)
,
Solana
,
Arbitrum
USDT
Polygon (Matic)
,
Tron
SOL
Solana
  • deliveries[].denomination
    — for fixed products: exact string from
    listProductsForCountry
    (e.g.,
    "25 USD"
    ). For range products: the literal string
    "range"
    (plus
    product_value
    with the desired amount)
  • deliveries[].brand_name
    — exact brand name from
    listBrands
  • deliveries[].beneficiary_account
    — email for gift cards/eSIMs, E.164 phone for mobile recharge
  • deliveries[].country_code
    — uppercase Alpha-2
Catches errors early: invalid phone, out-of-range amount, unavailable product, minimum order amount.
下单前需调用
validateOrder
validateOrder
createOrder
均使用包含
payment
deliveries
body
结构。
validateOrder(body={
  payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
  deliveries: [{
    denomination: "25 USD",
    brand_name: "Steam",
    beneficiary_account: "user@example.com",
    country_code: "US"
  }]
})
关键字段:
  • payment.type
    — 加密货币支付时始终为
    "via"
  • payment.payment_via
    — 来自
    getPaymentViasWithCurrencies
    (如
    "USER_WALLET"
  • payment.coin
    — 加密货币(如
    "BTC"
    "USDC"
  • payment.network
    — 使用
    getPaymentViasWithCurrencies
    返回的精确字符串。常见值:
加密货币
network
BTC
Mainnet
ETH
ETH Mainnet
USDC
Base
,
Polygon (Matic)
,
Solana
,
Arbitrum
USDT
Polygon (Matic)
,
Tron
SOL
Solana
  • deliveries[].denomination
    — 固定面额商品:
    listProductsForCountry
    返回的精确字符串(如
    "25 USD"
    )。区间面额商品:字面字符串
    "range"
    (需搭配
    product_value
    指定所需金额)
  • deliveries[].brand_name
    listBrands
    返回的精确品牌名称
  • deliveries[].beneficiary_account
    — 礼品卡/eSIM为邮箱,手机充值为E.164格式手机号
  • deliveries[].country_code
    — 大写Alpha-2格式
提前捕获错误:无效手机号、金额超出范围、商品不可用、订单金额低于最低要求。

4. Create Order

4. 创建订单

Same
body
schema as
validateOrder
, plus
user.email
is required.
createOrder(body={
  user: {email: "buyer@example.com"},
  payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
  deliveries: [{
    denomination: "25 USD",
    brand_name: "Steam",
    beneficiary_account: "user@example.com",
    country_code: "US"
  }]
})
Returns:
order_id
,
wallet_address
,
coin_amount
,
qr_url
,
qr_text
(payment URI),
payment_state
,
order_state
.
Presenting payment to the user: In text-only environments, present the
qr_text
payment URI (e.g.,
bitcoin:3EFu...?amount=0.00038
) — wallets can parse it directly. In rich environments, link to or render the
qr_url
image.
Multi-product orders: Include up to 10 items in the
deliveries
array. Each can be a different brand/country/delivery type.
validateOrder
使用相同的
body
结构,额外需要
user.email
字段。
createOrder(body={
  user: {email: "buyer@example.com"},
  payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
  deliveries: [{
    denomination: "25 USD",
    brand_name: "Steam",
    beneficiary_account: "user@example.com",
    country_code: "US"
  }]
})
返回字段:
order_id
wallet_address
coin_amount
qr_url
qr_text
(支付URI)、
payment_state
order_state
向用户展示支付信息:在纯文本环境中,展示
qr_text
支付URI(如
bitcoin:3EFu...?amount=0.00038
)——钱包可直接解析。在富文本环境中,可链接或渲染
qr_url
图片。
多商品订单
deliveries
数组最多可包含10个商品,每个商品可对应不同品牌/国家/交付类型。

5. Track Order

5. 追踪订单

Poll
getOrderStatus
with the order ID.
  • Poll interval: Every 30 seconds
  • Payment states:
    WalletCreated
    PaymentRequested
    PaymentReceived
    (or
    Expired
    )
  • Order states:
    WaitingForPayment
    Done
    (success) /
    Expired
    /
    Canceled
    /
    WaitingForManualAction
  • Payment windows: Lightning invoices expire in ~15 minutes. On-chain payments expire in ~60–180 minutes depending on method.
Stop polling when order reaches a terminal state.
使用订单ID轮询
getOrderStatus
  • 轮询间隔:每30秒一次
  • 支付状态
    WalletCreated
    PaymentRequested
    PaymentReceived
    (或
    Expired
  • 订单状态
    WaitingForPayment
    Done
    (成功)/
    Expired
    /
    Canceled
    /
    WaitingForManualAction
  • 支付窗口期:Lightning发票约15分钟后过期。链上支付根据不同方式约60-180分钟后过期。
当订单进入终态时停止轮询。

6. Deliver

6. 交付

When order state is
Done
:
  • Gift cards: Code/PIN in
    deliverable.pin_code
    . If it starts with
    http
    /
    https
    , it's a URL to visit. Plain text is a manual redemption code.
  • Mobile top-ups: Applied automatically to the phone number. No code to deliver.
  • eSIMs: QR code and activation instructions in order details.
当订单状态为
Done
时:
  • 礼品卡:密码/PIN位于
    deliverable.pin_code
    中。若以
    http
    /
    https
    开头,则为需访问的URL;纯文本则为手动兑换码。
  • 手机充值:自动充值至指定手机号,无需交付兑换码。
  • eSIM:二维码和激活说明包含在订单详情中。

Worked Examples (3 Product Types)

实操示例(3种商品类型)

Example A: Gift Card — Steam $25 US (BTC)

示例A:礼品卡 — Steam 25美元(美国,BTC支付)

1. searchProducts(country_code="US", q="Steam")
   → finds brand "Steam", category "games"

2. listProductsForCountry(country_code="US", brand_name="Steam", coin="BTC")
   → products: [{product_id: "a300c244-...", denomination: "25 USD", coin_amount: "0.00038", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
     deliveries: [{denomination: "25 USD", brand_name: "Steam", beneficiary_account: "gamer@email.com", country_code: "US"}]
   })
   → coin_amount: "0.00038", problems: [] (valid)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
     deliveries: [{denomination: "25 USD", brand_name: "Steam", beneficiary_account: "gamer@email.com", country_code: "US"}]
   })
   → order_id: "e054...", wallet_address: "3EFu...", coin_amount: "0.00038", qr_text: "bitcoin:3EFu...?amount=0.00038"

5. getOrderStatus(order_id="e054...")
   → payment_state: "PaymentRequested", order_state: "WaitingForPayment"
1. searchProducts(country_code="US", q="Steam")
   → 找到品牌 "Steam",分类 "games"

2. listProductsForCountry(country_code="US", brand_name="Steam", coin="BTC")
   → 商品: [{product_id: "a300c244-...", denomination: "25 USD", coin_amount: "0.00038", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
     deliveries: [{denomination: "25 USD", brand_name: "Steam", beneficiary_account: "gamer@email.com", country_code: "US"}]
   })
   → coin_amount: "0.00038", problems: [](验证通过)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "BTC", network: "Mainnet"},
     deliveries: [{denomination: "25 USD", brand_name: "Steam", beneficiary_account: "gamer@email.com", country_code: "US"}]
   })
   → order_id: "e054...", wallet_address: "3EFu...", coin_amount: "0.00038", qr_text: "bitcoin:3EFu...?amount=0.00038"

5. getOrderStatus(order_id="e054...")
   → payment_state: "PaymentRequested", order_state: "WaitingForPayment"

Example A2: Range Gift Card — Amazon.com $50 US (USDC on Base)

示例A2:区间面额礼品卡 — Amazon.com 50美元(美国,Base网络USDC支付)

1. searchProducts(country_code="US", q="Amazon")
   → finds brand "Amazon.com", is_dynamic: true, range $5–$500

2. getProductPrice(brand_name="Amazon.com", country_code="US", face_value=50, coin="USDC")
   → coin_amount: "51.08", product_id: "5549e92e-..."

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "range", brand_name: "Amazon.com", beneficiary_account: "user@email.com", country_code: "US", product_value: "50"}]
   })
   → coin_amount: "51.08", problems: [] (valid)
   → Note: denomination is "range" (literal string), product_value is "50" (desired amount)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "range", brand_name: "Amazon.com", beneficiary_account: "user@email.com", country_code: "US", product_value: "50"}]
   })
   → order_id, wallet_address (USDC on Base), coin_amount: "51.08"
1. searchProducts(country_code="US", q="Amazon")
   → 找到品牌 "Amazon.com",is_dynamic: true,金额区间5–500美元

2. getProductPrice(brand_name="Amazon.com", country_code="US", face_value=50, coin="USDC")
   → coin_amount: "51.08", product_id: "5549e92e-..."

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "range", brand_name: "Amazon.com", beneficiary_account: "user@email.com", country_code: "US", product_value: "50"}]
   })
   → coin_amount: "51.08", problems: [](验证通过)
   → 注意:denomination为字面字符串"range",product_value为"50"(指定所需金额)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "range", brand_name: "Amazon.com", beneficiary_account: "user@email.com", country_code: "US", product_value: "50"}]
   })
   → order_id, Base网络USDC钱包地址, coin_amount: "51.08"

Example B: Mobile Top-up — Claro 15 BRL Brazil (USDC on Base)

示例B:手机充值 — Claro 15雷亚尔(巴西,Base网络USDC支付)

1. searchProducts(country_code="BR", q="Claro")
   → finds brand "Claro Credits", category "mobile_credits"

2. listProductsForCountry(country_code="BR", brand_name="Claro Credits", coin="USDC")
   → products: [{denomination: "15 BRL", delivery_type: "by_phone", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "15 BRL", brand_name: "Claro Credits", beneficiary_account: "+5511999887766", country_code: "BR"}]
   })
   → Note: beneficiary_account is the E.164 phone number (not email)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "15 BRL", brand_name: "Claro Credits", beneficiary_account: "+5511999887766", country_code: "BR"}]
   })
   → order_id, wallet_address (USDC on Base), coin_amount
1. searchProducts(country_code="BR", q="Claro")
   → 找到品牌 "Claro Credits",分类 "mobile_credits"

2. listProductsForCountry(country_code="BR", brand_name="Claro Credits", coin="USDC")
   → 商品: [{denomination: "15 BRL", delivery_type: "by_phone", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "15 BRL", brand_name: "Claro Credits", beneficiary_account: "+5511999887766", country_code: "BR"}]
   })
   → 注意:beneficiary_account为E.164格式手机号(非邮箱)

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "USDC", network: "Base"},
     deliveries: [{denomination: "15 BRL", brand_name: "Claro Credits", beneficiary_account: "+5511999887766", country_code: "BR"}]
   })
   → order_id, Base网络USDC钱包地址, coin_amount

Example C: eSIM — Italy data plan (ETH)

示例C:eSIM — 意大利流量套餐(ETH支付)

1. searchProducts(country_code="IT", q="eSIM")
   → finds brand "eSIM", category "e-sim"

2. listProductsForCountry(country_code="IT", brand_name="eSIM", coin="ETH")
   → products: [{denomination: "1 GB 7 days", delivery_type: "by_email", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "ETH", network: "ETH Mainnet"},
     deliveries: [{denomination: "1 GB 7 days", brand_name: "eSIM", beneficiary_account: "traveler@email.com", country_code: "IT"}]
   })
   → Note: denomination is "1 GB 7 days" (exact string from listProductsForCountry), beneficiary is email

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "ETH", network: "ETH Mainnet"},
     deliveries: [{denomination: "1 GB 7 days", brand_name: "eSIM", beneficiary_account: "traveler@email.com", country_code: "IT"}]
   })
   → order_id, wallet_address (ETH), coin_amount, qr_text
1. searchProducts(country_code="IT", q="eSIM")
   → 找到品牌 "eSIM",分类 "e-sim"

2. listProductsForCountry(country_code="IT", brand_name="eSIM", coin="ETH")
   → 商品: [{denomination: "1 GB 7 days", delivery_type: "by_email", is_dynamic: false}]

3. validateOrder(body={
     payment: {type: "via", payment_via: "USER_WALLET", coin: "ETH", network: "ETH Mainnet"},
     deliveries: [{denomination: "1 GB 7 days", brand_name: "eSIM", beneficiary_account: "traveler@email.com", country_code: "IT"}]
   })
   → 注意:denomination为listProductsForCountry返回的精确字符串"1 GB 7 days",beneficiary为邮箱

4. createOrder(body={
     user: {email: "buyer@email.com"},
     payment: {type: "via", payment_via: "USER_WALLET", coin: "ETH", network: "ETH Mainnet"},
     deliveries: [{denomination: "1 GB 7 days", brand_name: "eSIM", beneficiary_account: "traveler@email.com", country_code: "IT"}]
   })
   → order_id, ETH钱包地址, coin_amount, qr_text

Step-by-Step: Guided Elicitation

分步指南:引导式交互

purchaseElicitation
is an interactive, stateful tool that guides the agent through the entire purchase. Ideal for conversational UIs.
  1. Call
    purchaseElicitation
    with empty body
    {}
    (optionally pass
    lang
    for localized prompts) — receive a
    session_token
  2. The server returns a question (e.g., "What country?", "Which brand?", "What denomination?")
  3. Pass the user's answer back with the
    session_token
  4. Repeat until
    status
    equals
    complete
    (order created) or
    error
  5. Use
    action: "back"
    to revert a step if the user changes their mind
The elicitation handles product selection, denomination, delivery info, and payment method selection internally. It's the simplest path from intent to purchase.
purchaseElicitation
是一款交互式、有状态的工具,可引导Agent完成整个采购流程,非常适合对话式UI。
  1. 调用
    purchaseElicitation
    并传入空对象
    {}
    (可选传入
    lang
    参数获取本地化提示)——获取
    session_token
  2. 服务器返回问题(如“哪个国家?”、“哪个品牌?”、“什么面额?”)
  3. 将用户答案与
    session_token
    一起传回
  4. 重复上述步骤,直到
    status
    变为
    complete
    (订单已创建)或
    error
  5. 若用户改变主意,使用
    action: "back"
    回退至前一步
该引导流程会在内部处理商品选择、面额、交付信息和支付方式选择,是从采购意向到完成下单的最简路径。

Critical Gotchas

关键注意事项

  • Phone numbers: Must be E.164 format —
    +
    prefix, country code, number, no spaces or dashes
  • Country codes: Uppercase for MCP tools (
    US
    , not
    us
    ). The x402 skill uses lowercase
  • Country match: Product country must match where the recipient will redeem
  • Range amounts: Must fall within
    min_value
    and
    max_value
    . Out-of-bounds amounts are rejected
  • Validate first: Always call
    validateOrder
    before
    createOrder
    to catch errors
  • Payment timeout: Lightning ~15 min, on-chain ~60–180 min. Create a new order if expired
  • WaitingForManualAction: Means Cryptorefills support is reviewing — inform the user and wait
  • Cart limit: Maximum 10 items per
    createOrder
    call. Split larger orders into multiple calls
  • Currency in pricing: Prices quoted in fiat; payment in crypto at locked exchange rate
  • 手机号:必须为E.164格式——以
    +
    开头,包含国家代码和号码,无空格或连字符
  • 国家代码:MCP工具需使用大写格式(如
    US
    ,而非
    us
    )。x402技能使用小写格式
  • 国家匹配:商品所属国家必须与接收者的兑换国家一致
  • 区间金额:必须在
    min_value
    max_value
    范围内,超出范围的金额会被拒绝
  • 先验证:调用
    createOrder
    前务必先调用
    validateOrder
    以捕获错误
  • 支付超时:Lightning约15分钟,链上支付约60-180分钟。若过期需创建新订单
  • WaitingForManualAction:表示Cryptorefills客服正在审核——需告知用户并等待
  • 购物车限制:每次
    createOrder
    调用最多包含10个商品。大额订单需拆分为多次调用
  • 定价货币:报价使用法定货币;支付时使用锁定汇率的加密货币

References

参考资料

Load references only when you need deeper detail than what's in this skill file.
FileLoad when...Content
references/mcp-tools.md
You need exact parameter schemas for a specific MCP tool callAll 10 MCP tool signatures with parameters
references/payment-methods.md
User asks about specific chains, networks, or payment routingSupported cryptocurrencies, chains, payment flow
references/order-lifecycle.md
Order enters an unexpected state or you need delivery/polling detailsOrder and payment state machines, delivery types
references/troubleshooting.md
A tool call returns an error or order is stuckCommon errors, recovery steps
仅当需要本技能文件以外的更详细信息时,才加载参考资料。
文件加载时机...内容
references/mcp-tools.md
需要特定MCP工具调用的精确参数 schema 时包含所有10个MCP工具的签名及参数
references/payment-methods.md
用户询问特定链、网络或支付路由时支持的加密货币、链、支付流程
references/order-lifecycle.md
订单进入意外状态或需要交付/轮询详情时订单和支付状态机、交付类型
references/troubleshooting.md
工具调用返回错误或订单卡住时常见错误、恢复步骤