buy_product
Buy a listing from anywhere on the network, settled in USDC on Base, without leaving this connector. Pass the seller_mcp_url and product_id from the listing (mcp_ref). For physical products include the full delivery block; for event passes include the attendee block; the call rejects with the missing fields listed if any are blank. Free passes are not bought here: use claim_pass. Returns the total, an order_ref and a pay_url. SIMPLEST, for VIA and network-member listings alike: if you hold a standard x402 wallet (MoonPay PayBox: call use_service with url = pay_url; or any exact-scheme x402 client), request pay_url and pay its 402; the order settles and is fulfilled in that one call, gas sponsored. Otherwise: VIA-native orders settle at the /api/x402/purchase endpoint returned (EIP-2612 permit as { order_ref, x_payment }, or a raw USDC transfer as { order_ref, payment_tx_hash }); member orders take a raw USDC transfer then confirm_purchase. Call get_shipping_quote first and pass buyer_country to include shipping. CARD: when the reply carries card_checkout_url the store takes card payments; if you act for a human with no USDC wallet, give them that link to pay by card themselves. Never ask for or handle card details. Physical network-member listings: pass delivery; the first call returns shipping options, call again with shipping_rate_handle set to the one you chose.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | ||
| attendee | No | Required for event passes. | |
| delivery | No | Required for physical products. Omit for digital / service. | |
| product_id | Yes | The listing id from discovery (mcp_ref.product_id). | |
| buyer_email | No | Network-member orders: email for the order confirmation and file delivery. Required for physical member products. | |
| buyer_wallet | Yes | The buyer wallet that will settle in USDC on Base. | |
| buyer_country | No | ISO 3166-1 alpha-2 destination country. Required when the seller ships; folds the shipping quote into the total. | |
| selected_size | No | Variant size, for network-member products that have a size axis (e.g. S, M, L). Ignored by VIA-native listings. | |
| buyer_agent_id | No | ERC-8004 agent id of the Buying Agent acting on the buyer's behalf. | |
| selected_color | No | Variant colour, for network-member products that have a colour axis. Ignored by VIA-native listings. | |
| seller_mcp_url | Yes | mcp_ref.seller_mcp_url from a find_seller / get_seller_products result. | |
| shipping_rate_handle | No | Network-member physical products only: the shipping option handle from a previous buy_product call. Omit on the first call to get the options. |