validate_order
Dry-run an order and mint a one-time confirm_token (valid 10 minutes). Returns a human-readable summary that MUST be shown to the user for approval before calling create_order. Does NOT create the order or reserve funds.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | Payment coin, e.g. USDC, USDT, BTC, SOL | |
| Yes | Delivery email for the buyer | ||
| phone | No | Phone number to recharge (REQUIRED for mobile top-ups, with country code) | |
| dynamic | Yes | true for dynamic-range amounts, false for fixed denomination labels | |
| network | Yes | Exact network string from get_price/networks, e.g. "Solana", "Tron", "ETH Mainnet" | |
| amount_usd | Yes | USD amount (for dynamic-range products) | |
| brand_slug | Yes | brandSlug from search_products | |
| country_code | Yes | countryCode from search_products | |
| denomination_label | Yes | Exact denomination label (e.g. "100 USD", "60 UC", "1 GB 7 days") |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | product_not_found | out_of_stock | PHONE_MISSING | |
| price | No | ||
| valid | No | ||
| message | No | ||
| summary | No | Human-readable purchase summary — show to the user for approval | |
| instructions | No | ||
| confirm_token | No | One-time token for create_order, valid 10 minutes | |
| expires_in_seconds | No |