Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: ADEXTO gateway X402 API
version: 1.1.0
description: Buy any ADEXTO bonding-curve market with USDC on Base and receive the token on the market's own chain (0G, Base, Arbitrum One, Monad, Robinhood Chain, Arc). No bridge, no gas on the destination chain. Delivery is executed before the charge, so a failed fill costs the gateway, not the buyer.
x-guidance: 'GET /v1/x402/buy/{symbol} without payment returns 402 with a live quote in "quote" and the payment terms in accepts[0] (exact scheme, USDC on Base, EIP-3009). Sign transferWithAuthorization for exactly maxAmountRequired to payTo, base64-encode {x402Version, scheme, network, payload:{signature, authorization}}, and repeat the request with it in the X-PAYMENT header. x402 v2 clients such as @x402/fetch can use the PAYMENT-REQUIRED header instead: the same terms with network eip155:8453, paid back in PAYMENT-SIGNATURE. Pass ?chain=<id> when a ticker trades on more than one chain and ?to=<address> to deliver to another wallet. Market list: https://adexto.xyz/api/graphql. The same flow is available as MCP tools at https://adexto.xyz/api/mcp.'
contact:
name: ADEXTO
url: https://adexto.xyz/contact
servers:
- url: https://x402.adexto.xyz
tags:
- name: X402
paths:
/v1/x402/buy/{symbol}:
get:
operationId: buyMarket
summary: Buy a market's token with 0.10 USDC on Base, delivered on the market's own chain
description: 'Unpaid: 402 with the quote and accepts[0]. Paid (X-PAYMENT, or PAYMENT-SIGNATURE for x402 v2): the curve buys the token for the payer on the market''s chain, then the USDC authorization is settled. Refusals that happen before any charge: unknown market (404), market not tradable (409), out of inventory (503).'
security: []
parameters:
- name: symbol
in: path
required: true
description: Market ticker, case-insensitive.
schema:
type: string
pattern: ^[A-Za-z0-9]{2,12}$
examples:
bm-16661:
value: bm
sai-5042:
value: sai
loop-42161:
value: loop
loop-143:
value: loop
sai-143:
value: sai
sai-42161:
value: sai
sai-4663:
value: sai
zeebo-16661:
value: zeebo
wombo-42161:
value: wombo
bloop-8453:
value: bloop
parcel-143:
value: parcel
adt-16661:
value: adt
- name: chain
in: query
required: false
description: Chain id of the market, for a ticker that trades on more than one chain.
schema:
type: integer
- name: to
in: query
required: false
description: Address that receives the tokens. Defaults to the address that signed the payment.
schema:
type: string
pattern: ^0x[a-fA-F0-9]{40}$
- name: X-PAYMENT
in: header
required: false
description: Base64 x402 payment payload. Omit it to receive the 402 quote.
schema:
type: string
- name: PAYMENT-SIGNATURE
in: header
required: false
description: The same payment in the x402 v2 envelope, as sent by @x402/fetch. Use one header, not both.
schema:
type: string
x-payment-info:
price:
mode: fixed
currency: USD
amount: '0.10'
protocols:
- x402:
scheme: exact
network: base
asset: USDC
responses:
'200':
description: Delivered and settled. delivery.transaction is the buy on the market's chain.
content:
application/json:
schema:
type: object
example:
symbol: PARCEL
delivery:
success: true
transaction: 0x…
chainId: 143
to: 0x… (the payer unless ?to= is given)
minTokensOut: …
settlement:
success: true
transaction: 0x…
network: base
amount: '100000'
'402':
description: 'Payment Required: quote plus accepts[0], or a payment that failed verification.'
'404':
description: Unknown market. No payment was taken.
'409':
description: Market not tradable. No payment was taken.
'503':
description: Quote, inventory or chain unavailable. No payment was taken.
tags:
- X402
externalDocs:
description: x402 integration reference
url: https://adexto.xyz/x402