Use https://x402-tokens.fly.dev as an OpenAI-compatible inference endpoint. There is no API key. POST https://x402-tokens.fly.dev/v1/chat/completions Content-Type: application/json Body is a normal OpenRouter/OpenAI chat completion: {"model":"google/gemini-2.5-flash","messages":[{"role":"user","content":"..."}],"max_tokens":256} You will get HTTP 402. That is the product, not an error. accepts[] will include one row per live rail. Pick ONE: - yUSDCx mint 6ZjjxcoicqM4nniddkuPVwew4PDwY3swbfHsGbCuLuTv 20bps tax price $1 stable - wTOKENx mint Bo7xBF7SY8EyUBPUxRP66SFafxoPf2n5uqiLjbxEebx9 20bps tax price Birdeye EVULoNF4DeMBN4dGiZiDfpiiTfNZgoCvXWWgaV3epump at the 402 Every row: - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp - payTo: WzMaL78srutrF6CsxEkWuhMaDF5HZA6jNRaEPengqpb - feePayer: WzMaL78srutrF6CsxEkWuhMaDF5HZA6jNRaEPengqpb ← tx feePayer MUST be this. you do not pay SOL. - maxAmountRequired: already 3× OpenRouter USD, in that token's raw units, grossed up for its transfer tax. do not reprice it. - facilitator: https://x402.accrue.fund Build one Solana legacy Transaction: 1. feePayer = WzMaL78srutrF6CsxEkWuhMaDF5HZA6jNRaEPengqpb 2. exactly one Token-2022 TransferChecked: your ATA of the chosen mint → payTo's ATA, amount = maxAmountRequired, decimals = 6 3. you sign as the token owner. leave the feePayer signature empty. 4. serialize requireAllSignatures=false, base64 that bytes X-PAYMENT header = base64 of this JSON (utf8): {"x402Version":1,"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payload":{"transaction":""}} POST the SAME body again with X-PAYMENT set. Do not change model/messages/max_tokens after the 402 — the quote is for that body. On 200 you get a normal chat.completion. Raw TOKEN (EVULoNF4DeMBN4dGiZiDfpiiTfNZgoCvXWWgaV3epump) and raw USDC will not settle. Wrap first: - USDC → yUSDCx via FrSERTNCPvTtaDS9AvQp9u1nYGzXDb3kC9MdL8Xxn2NE escrow 2qLm8aCvn6gQVUFeQ7EC5J62Y95gFzc3vReHzD5d5Gj2 - TOKEN → wTOKENx via the same program, escrow 7j682FdwSdTkXNjbMrrLd5wcXQoh23UTZaDReqKXbL2q Both wraps are Token-2022 with a 20bps transfer tax. Yield is that tax. Do not use api.cdp.coinbase.com. This service names https://x402.accrue.fund. GET https://x402-tokens.fly.dev/.well-known/x402.json and https://x402-tokens.fly.dev/prompt.txt if you want this text again.