Server definition
- Hash
- sha256:9404a98cd2b7484e2d3e6645ec6f424709aa8a7f0d1bb1981f7d0e829f1f2a91
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Buy travel gift cards, eSIM data plans and mobile top-ups with crypto (USDC, USDT, BTC, SOL and more). Flow: search_products → get_price → validate_order (returns a summary + one-time confirm_token; show the summary to the user for explicit approval) → create_order (returns a wallet address the user pays from their own wallet) → get_order_status. Purchases are fulfilled by Cryptorefills B.V. as merchant of record; codes are delivered by email, never through this API.",
"tools": [
{
"description": "Create the real order (requires confirm_token from validate_order, after user approval). Returns the payment wallet address, exact crypto amount, 30-minute expiry, and an order-status URL. The purchased code/QR is emailed by Cryptorefills to the buyer — it is never returned here.",
"inputSchema": {
"properties": {
"confirm_token": {
"description": "One-time token returned by validate_order (valid 10 minutes)",
"type": "string"
},
"full_name": {
"description": "Buyer full legal name — only if a previous attempt returned FULLNAME_MISSING",
"type": "string"
}
},
"required": [
"confirm_token"
],
"type": "object"
},
"name": "create_order",
"outputSchema": {
"additionalProperties": true,
"properties": {
"coin": {
"type": "string"
},
"error": {
"description": "Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*",
"type": "string"
},
"external_order_id": {
"type": "string"
},
"instructions": {
"type": "string"
},
"kyc_url": {
"description": "Hosted verification link when error=KYC_MISSING",
"type": "string"
},
"network": {
"description": "Exact network — funds sent elsewhere are lost",
"type": "string"
},
"network_label": {
"type": "string"
},
"pay_amount": {
"description": "EXACT amount to send",
"type": "number"
},
"pay_to_address": {
"description": "Wallet address to send funds to",
"type": "string"
},
"payment_expires_at": {
"description": "ISO timestamp; 30-minute window",
"type": "string"
},
"payment_url": {
"description": "Payment page with QR",
"type": "string"
},
"qr_url": {
"description": "QR code PNG of the address",
"type": "string"
},
"state": {
"description": "CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED",
"type": "string"
},
"status_token": {
"type": "string"
},
"status_url": {
"description": "Live order-status page",
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"description": "List all supported payment cryptocurrencies (the response carries the current set).",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_currencies",
"outputSchema": {
"additionalProperties": true,
"properties": {
"currencies": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"currencies"
],
"type": "object"
}
},
{
"description": "Poll order state (WAITING_FOR_PAYMENT → PARTIAL → COMPLETED, or CANCELED/EXPIRED). Requires the status_token from create_order.",
"inputSchema": {
"properties": {
"external_order_id": {
"type": "string"
},
"status_token": {
"description": "statusToken returned by create_order",
"type": "string"
}
},
"required": [
"external_order_id",
"status_token"
],
"type": "object"
},
"name": "get_order_status",
"outputSchema": {
"additionalProperties": true,
"properties": {
"brand": {
"type": "string"
},
"coin": {
"type": "string"
},
"denomination": {
"type": "string"
},
"error": {
"description": "not_found when id/token mismatch",
"type": "string"
},
"external_order_id": {
"type": "string"
},
"network": {
"type": "string"
},
"payment_expires_at": {
"type": "string"
},
"state": {
"description": "WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED | REFUNDED",
"type": "string"
},
"status_url": {
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"description": "Full payment matrix: every supported coin × network combination currently available, with the exact network strings orders require. The response includes live totals — report those, never a memorized count.",
"inputSchema": {
"properties": {},
"required": [],
"type": "object"
},
"name": "get_payment_methods",
"outputSchema": {
"additionalProperties": true,
"properties": {
"combinations": {
"items": {
"additionalProperties": true,
"properties": {
"coin": {
"type": "string"
},
"display": {
"type": "string"
},
"network": {
"description": "Exact string to pass on orders",
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"payment_via": {
"type": "string"
}
},
"required": [
"combinations"
],
"type": "object"
}
},
{
"description": "Live crypto price for one product/denomination. Payment coins include USDT, USDC, BTC (incl. Lightning), ETH, SOL, DAI, PYUSD, LTC, TRX, TON, DOGE and SUI across many networks — call get_payment_methods for the current list. Never creates an order.",
"inputSchema": {
"properties": {
"amount_usd": {
"description": "USD amount (for dynamic-range products)",
"type": "number"
},
"brand_slug": {
"description": "brandSlug from search_products",
"type": "string"
},
"coin": {
"description": "Payment coin, e.g. USDC, USDT, BTC, SOL",
"type": "string"
},
"country_code": {
"description": "countryCode from search_products",
"type": "string"
},
"denomination_label": {
"description": "Exact denomination label (e.g. \"100 USD\", \"60 UC\", \"1 GB 7 days\")",
"type": "string"
},
"dynamic": {
"description": "true for dynamic-range amounts, false for fixed denomination labels",
"type": "boolean"
},
"network": {
"description": "Exact network string from get_price/networks, e.g. \"Solana\", \"Tron\", \"ETH Mainnet\"",
"type": "string"
}
},
"required": [
"brand_slug",
"country_code",
"denomination_label",
"amount_usd",
"dynamic",
"coin",
"network"
],
"type": "object"
},
"name": "get_price",
"outputSchema": {
"additionalProperties": true,
"properties": {
"coin": {
"type": "string"
},
"estimate": {
"description": "true = indicative only; exact amount fixed at order creation",
"type": "boolean"
},
"faceValueUsd": {
"type": "number"
},
"feePct": {
"description": "Fee percent over USD face value (0 for volatile coins)",
"type": "number"
},
"network": {
"type": "string"
},
"payAmount": {
"description": "Amount to pay in the chosen coin",
"type": "number"
}
},
"required": [
"payAmount",
"coin",
"network"
],
"type": "object"
}
},
{
"description": "Browse all available brands/carriers for a country: gift cards (500+ US brands) and mobile top-up carriers (100+ countries). Never creates an order.",
"inputSchema": {
"properties": {
"country_code": {
"description": "ISO country code, e.g. \"us\", \"mx\"",
"type": "string"
},
"kind": {
"description": "Filter by product type",
"type": "string"
}
},
"required": [
"country_code"
],
"type": "object"
},
"name": "list_brands",
"outputSchema": {
"additionalProperties": true,
"properties": {
"brands": {
"items": {
"additionalProperties": true,
"properties": {
"brandName": {
"type": "string"
},
"brandSlug": {
"type": "string"
},
"category": {
"type": "string"
},
"kind": {
"description": "giftcard | topup",
"type": "string"
},
"note": {
"type": "string"
},
"outOfStock": {
"type": "boolean"
},
"range": {
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"count": {
"type": "number"
},
"country": {
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"description": "PREFERRED for any eSIM request: live eSIM data plans for a destination (110+ countries, plus \"eu\" Europe and \"ww\" Global multi-country plans) with USD prices and crypto amounts. Renders an interactive plan-picker widget where the user can complete the purchase directly. Never creates an order by itself.",
"inputSchema": {
"properties": {
"coin": {
"description": "Coin for live pricing (default USDC)",
"type": "string"
},
"destination": {
"description": "Destination: 2-letter country code (e.g. \"il\", \"jp\", \"fr\"), or \"eu\" (Europe region plan) / \"ww\" (Global plan)",
"type": "string"
}
},
"required": [
"destination"
],
"type": "object"
},
"name": "list_esim_plans",
"outputSchema": {
"additionalProperties": true,
"properties": {
"brand": {
"type": "string"
},
"coin": {
"type": "string"
},
"country": {
"description": "Destination code — pass as country_code to validate_order",
"type": "string"
},
"destination_name": {
"type": "string"
},
"error": {
"type": "string"
},
"flag": {
"type": "string"
},
"products": {
"items": {
"additionalProperties": true,
"properties": {
"coin_amount": {
"type": "number"
},
"data_gb": {
"type": "number"
},
"denomination_label": {
"description": "Exact label for validate_order",
"type": "string"
},
"usd": {
"type": "number"
},
"validity_days": {
"type": "number"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"url": {
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"description": "List a brand's live products/denominations with prices in the chosen coin — exact labels to use with get_price/validate_order (for eSIM use list_esim_plans instead). Never creates an order.",
"inputSchema": {
"properties": {
"brand_slug": {
"description": "brandSlug from list_brands/search_products",
"type": "string"
},
"coin": {
"description": "Coin for live pricing (default USDC)",
"type": "string"
},
"country_code": {
"type": "string"
}
},
"required": [
"brand_slug",
"country_code"
],
"type": "object"
},
"name": "list_products",
"outputSchema": {
"additionalProperties": true,
"properties": {
"brand": {
"type": "string"
},
"brand_slug": {
"type": "string"
},
"coin": {
"type": "string"
},
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"destination_name": {
"type": "string"
},
"error": {
"description": "product_not_found",
"type": "string"
},
"flag": {
"type": "string"
},
"is_esim": {
"type": "boolean"
},
"kind": {
"description": "giftcard | esim | topup",
"type": "string"
},
"logoUrl": {
"type": "string"
},
"products": {
"items": {
"additionalProperties": true,
"properties": {
"coin_amount": {
"description": "Live price in the requested coin",
"type": "number"
},
"data_gb": {
"description": "eSIM plans only",
"type": "number"
},
"denomination_label": {
"description": "Exact label for get_price/validate_order",
"type": "string"
},
"dynamic": {
"type": "boolean"
},
"range": {
"additionalProperties": true,
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [],
"type": "object"
},
"usd": {
"type": "number"
},
"validity_days": {
"description": "eSIM plans only",
"type": "number"
}
},
"required": [],
"type": "object"
},
"type": "array"
},
"url": {
"description": "Product page on the AgentRoam site",
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"description": "Text-only fallback purchase flow for clients WITHOUT widget support. In ChatGPT prefer list_esim_plans / list_products + validate_order + create_order instead. Stateful: call repeatedly with the same session_token, answering one question at a time, until status is \"complete\". First call: empty arguments. The final \"confirm\" answer creates a REAL order — get explicit user approval first.",
"inputSchema": {
"properties": {
"action": {
"description": "\"back\" to return to the previous step",
"type": "string"
},
"answer": {
"description": "Answer to the current question",
"type": "string"
},
"session_token": {
"description": "Omit on the first call — a new session is minted",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "purchase_wizard",
"outputSchema": {
"additionalProperties": true,
"properties": {
"error": {
"type": "string"
},
"hint": {
"type": "string"
},
"options": {
"items": {
"type": "string"
},
"type": "array"
},
"question": {
"description": "Ask the user this",
"type": "string"
},
"result": {
"additionalProperties": true,
"properties": {
"coin": {
"type": "string"
},
"error": {
"description": "Present on failure: KYC_MISSING | FULLNAME_MISSING | PHONE_MISSING | CONFIRM_TOKEN_*",
"type": "string"
},
"external_order_id": {
"type": "string"
},
"instructions": {
"type": "string"
},
"kyc_url": {
"description": "Hosted verification link when error=KYC_MISSING",
"type": "string"
},
"network": {
"description": "Exact network — funds sent elsewhere are lost",
"type": "string"
},
"network_label": {
"type": "string"
},
"pay_amount": {
"description": "EXACT amount to send",
"type": "number"
},
"pay_to_address": {
"description": "Wallet address to send funds to",
"type": "string"
},
"payment_expires_at": {
"description": "ISO timestamp; 30-minute window",
"type": "string"
},
"payment_url": {
"description": "Payment page with QR",
"type": "string"
},
"qr_url": {
"description": "QR code PNG of the address",
"type": "string"
},
"state": {
"description": "CREATED | WAITING_FOR_PAYMENT | PARTIAL | COMPLETED | CANCELED | EXPIRED",
"type": "string"
},
"status_token": {
"type": "string"
},
"status_url": {
"description": "Live order-status page",
"type": "string"
}
},
"required": [],
"type": "object"
},
"session_token": {
"description": "Pass back on every call of this session",
"type": "string"
},
"status": {
"description": "in_progress | complete | error",
"type": "string"
},
"step": {
"type": "string"
},
"summary": {
"type": "string"
}
},
"required": [
"status",
"session_token"
],
"type": "object"
}
},
{
"description": "Search the AgentRoam travel-crypto catalog: gift cards (Airbnb, Uber, airlines, 500+ US brands), eSIM data plans (110+ destinations incl. Europe/Global region plans) and mobile top-ups (carriers in 100+ countries). Returns product handles for get_price/validate_order. Never creates an order.",
"inputSchema": {
"properties": {
"country": {
"description": "ISO country code filter (e.g. \"us\", \"mx\")",
"type": "string"
},
"kind": {
"description": "Product type filter",
"type": "string"
},
"query": {
"description": "Brand, carrier or destination to search for",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_products",
"outputSchema": {
"additionalProperties": true,
"properties": {
"hint": {
"type": "string"
},
"results": {
"items": {
"additionalProperties": true,
"properties": {
"brandName": {
"type": "string"
},
"brandSlug": {
"type": "string"
},
"countryCode": {
"type": "string"
},
"destination": {
"description": "eSIM destination name",
"type": "string"
},
"kind": {
"description": "giftcard | esim | topup",
"type": "string"
},
"outOfStock": {
"type": "boolean"
},
"range": {
"description": "Price range display, e.g. \"$50 – $500\"",
"type": "string"
},
"url": {
"description": "Product page on the AgentRoam site",
"type": "string"
}
},
"required": [],
"type": "object"
},
"type": "array"
}
},
"required": [],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"amount_usd": {
"description": "USD amount (for dynamic-range products)",
"type": "number"
},
"brand_slug": {
"description": "brandSlug from search_products",
"type": "string"
},
"coin": {
"description": "Payment coin, e.g. USDC, USDT, BTC, SOL",
"type": "string"
},
"country_code": {
"description": "countryCode from search_products",
"type": "string"
},
"denomination_label": {
"description": "Exact denomination label (e.g. \"100 USD\", \"60 UC\", \"1 GB 7 days\")",
"type": "string"
},
"dynamic": {
"description": "true for dynamic-range amounts, false for fixed denomination labels",
"type": "boolean"
},
"email": {
"description": "Delivery email for the buyer",
"type": "string"
},
"network": {
"description": "Exact network string from get_price/networks, e.g. \"Solana\", \"Tron\", \"ETH Mainnet\"",
"type": "string"
},
"phone": {
"description": "Phone number to recharge (REQUIRED for mobile top-ups, with country code)",
"type": "string"
}
},
"required": [
"brand_slug",
"country_code",
"denomination_label",
"amount_usd",
"dynamic",
"coin",
"network",
"email"
],
"type": "object"
},
"name": "validate_order",
"outputSchema": {
"additionalProperties": true,
"properties": {
"confirm_token": {
"description": "One-time token for create_order, valid 10 minutes",
"type": "string"
},
"error": {
"description": "product_not_found | out_of_stock | PHONE_MISSING",
"type": "string"
},
"expires_in_seconds": {
"type": "number"
},
"instructions": {
"type": "string"
},
"message": {
"type": "string"
},
"price": {
"additionalProperties": true,
"properties": {
"coin": {
"type": "string"
},
"estimate": {
"description": "true = indicative only; exact amount fixed at order creation",
"type": "boolean"
},
"faceValueUsd": {
"type": "number"
},
"feePct": {
"description": "Fee percent over USD face value (0 for volatile coins)",
"type": "number"
},
"network": {
"type": "string"
},
"payAmount": {
"description": "Amount to pay in the chosen coin",
"type": "number"
}
},
"required": [],
"type": "object"
},
"summary": {
"description": "Human-readable purchase summary — show to the user for approval",
"type": "string"
},
"valid": {
"type": "boolean"
}
},
"required": [],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9404a98cd2b7484e2d3e6645ec6f424709aa8a7f0d1bb1981f7d0e829f1f2a91 | sha256sum