Best swap route on X1 across XDEX and Degen pools for exact-in or exact-out, with live-…
Best swap route on X1 across XDEX and Degen pools for exact-in or exact-out, with live-verified reserves, price impact, dynamic slippage, fee disclosure (25 bps taken on-chain by the FortiBlox Router), route legs, alternatives and a quote expiry slot. Amounts…
by app.fortiblox.com · discovered, not yet claimed by its owner · updated 2026-10-08
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
Best swap route on X1 across XDEX and Degen pools for exact-in or exact-out, with live-verified reserves, price impact, dynamic slippage, fee disclosure (25 bps taken on-chain by the FortiBlox Router), route legs, alternatives and a quote expiry slot. Amounts are raw base units. Call before /api/tx/build.
Tags: x1 · dex · swap · solana · defi · bazaar · payment-identifier
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-08
{
"amountIn": "1000000",
"inputMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"mode": "exactIn",
"outputMint": "So11111111111111111111111111111111111111112"
}{
"alternatives": [
{
"amountIn": "1000000",
"amountOut": "2003332716",
"guard": {
"hardExcluded": false,
"maxPriceDeviationPct": 1.04741094,
"minPoolTvlXnt": 586.8,
"penaltyBps": 50,
"thin": false,
"worstTradeReservePct": 0.68942644
},
"legs": [
{
"address": "5uGVSgMoRQTN5uabJswdKpUnj8VZhiQtYYGf75kHzSGx",
"amountIn": "1000000",
"amountOut": "27347948",
"feePpm": 2800,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"outMint": "DyNnmUs5ubatV2937iF7GhkwKLFbuju4gJnHNQ9kmWng",
"priceImpactPct": 0.271099,
"venue": "xdex"
},
{
"address": "GzJ48LyE9SPWg9sxWNhGH71NcsN3D6FhQpivK12YLWX5",
"amountIn": "27347948",
"amountOut": "2003332716",
"feePpm": 2800,
"inMint": "DyNnmUs5ubatV2937iF7GhkwKLFbuju4gJnHNQ9kmWng",
"outMint": "So11111111111111111111111111111111111111112",
"priceImpactPct": 0.68942643,
"venue": "xdex"
}
],
"priceImpactPct": 0.96052543,
"requiresGuard": false
}
],
"amountIn": "1000000",
"amountOut": "2049354266",
"amountOutNet": "2044230880",
"asOfSlot": 73463565,
"blocked": false,
"candidates": [
{
"amountIn": "1000000",
"amountOut": "2049354266",
"confidence": {
"band": "excellent",
"level": "high",
"score": 100
},
"guard": {
"hardExcluded": false,
"maxPriceDeviationPct": 0,
"minPoolTvlXnt": 65884.29,
"penaltyBps": 0,
"thin": false,
"worstTradeReservePct": 0.00623893
},
"hops": 1,
"legs": [
{
"address": "CAJeVEoSm1QQZccnCqYu9cnNF7TTD2fcUA3E5HQoxRvR",
"amountIn": "1000000",
"amountOut": "2049354266",
"feePpm": 2800,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"outMint": "So11111111111111111111111111111111111111112",
"priceImpactPct": 0.00623892,
"venue": "xdex"
}
],
"priceImpactPct": 0.00623892,
"requiresGuard": false
},
{
"amountIn": "1000000",
"amountOut": "2003332716",
"confidence": {
"band": "good",
"level": "high",
"score": 83
},
"guard": {
"hardExcluded": false,
"maxPriceDeviationPct": 1.04741094,
"minPoolTvlXnt": 586.8,
"penaltyBps": 50,
"thin": false,
"worstTradeReservePct": 0.68942644
},
"hops": 2,
"legs": [
{
"address": "5uGVSgMoRQTN5uabJswdKpUnj8VZhiQtYYGf75kHzSGx",
"amountIn": "1000000",
"amountOut": "27347948",
"feePpm": 2800,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"outMint": "DyNnmUs5ubatV2937iF7GhkwKLFbuju4gJnHNQ9kmWng",
"priceImpactPct": 0.271099,
"venue": "xdex"
},
{
"address": "GzJ48LyE9SPWg9sxWNhGH71NcsN3D6FhQpivK12YLWX5",
"amountIn": "27347948",
"amountOut": "2003332716",
"feePpm": 2800,
"inMint": "DyNnmUs5ubatV2937iF7GhkwKLFbuju4gJnHNQ9kmWng",
"outMint": "So11111111111111111111111111111111111111112",
"priceImpactPct": 0.68942643,
"venue": "xdex"
}
],
"priceImpactPct": 0.96052543,
"requiresGuard": false
}
],
"computeUnits": 210000,
"confidence": {
"band": "excellent",
"level": "high",
"score": 100
},
"executable": null,
"expiresAt": 1787411961284,
"explanation": {
"aggregatePriceImpactPct": 0.00623892,
"hopCount": 1,
"hops": [
{
"amountIn": "1000000",
"amountOut": "2049354266",
"feeBps": 28,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"index": 0,
"inputTransferFee": null,
"outMint": "So11111111111111111111111111111111111111112",
"outputTransferFee": null,
"poolId": "CAJeVEoSm1QQZccnCqYu9cnNF7TTD2fcUA3E5HQoxRvR",
"priceImpactPct": 0.00623892,
"venue": "xdex"
}
],
"legFees": [
{
"feeBps": 28,
"poolId": "CAJeVEoSm1QQZccnCqYu9cnNF7TTD2fcUA3E5HQoxRvR"
}
],
"protocolFee": {
"amount": "5123386",
"bps": 25,
"enforcedOnChain": true,
"net": "2044230880",
"pct": 0.25
},
"requiresGuard": false,
"simulated": null,
"whyThisRoute": {
"considered": 20,
"summary": "Best net output of 20 routes.",
"tieBreak": "net-output",
"tieEpsilonBps": 1,
"tiedWithinEpsilon": 1
}
},
"fee": {
"amount": "5123386",
"bps": 25,
"enforcedOnChain": true,
"net": "2044230880",
"pct": 0.25
},
"freshnessVerified": true,
"graphUpdatedAt": 1787411834465,
"guard": {
"hardExcluded": false,
"maxPriceDeviationPct": 0,
"minPoolTvlXnt": 65884.29,
"penaltyBps": 0,
"thin": false,
"worstTradeReservePct": 0.00623893
},
"highImpact": false,
"hops": 1,
"inputMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"minimumAmountOut": "2041777802",
"mode": "exactIn",
"outputMint": "So11111111111111111111111111111111111111112",
"parts": [
{
"legs": [
{
"address": "CAJeVEoSm1QQZccnCqYu9cnNF7TTD2fcUA3E5HQoxRvR",
"amountIn": "1000000",
"amountOut": "2049354266",
"feePpm": 2800,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"outMint": "So11111111111111111111111111111111111111112",
"priceImpactPct": 0.00623892,
"venue": "xdex"
}
],
"percent": 100
}
],
"platformFee": {
"amountToken": "5123386",
"bps": 25,
"percent": "0.25"
},
"priceImpactPct": 0.00623892,
"quoteMs": 225,
"repricedAtExecution": true,
"requiresGuard": false,
"route": [
{
"address": "CAJeVEoSm1QQZccnCqYu9cnNF7TTD2fcUA3E5HQoxRvR",
"amountIn": "1000000",
"amountOut": "2049354266",
"feePpm": 2800,
"inMint": "B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq",
"outMint": "So11111111111111111111111111111111111111112",
"priceImpactPct": 0.00623892,
"venue": "xdex"
}
],
"safety": {
"level": "safe",
"reasons": []
},
"savingsVsDirectPct": null,
"selection": {
"considered": 20,
"summary": "Best net output of 20 routes.",
"tieBreak": "net-output",
"tieEpsilonBps": 1,
"tiedWithinEpsilon": 1
},
"simulated": null,
"slippageBps": 12,
"slippageDynamic": true,
"split": null,
"splitAmountOut": null,
"thinLiquidity": false,
"ttlMs": 17000,
"ttlSlots": 45,
"validUntilSlot": 73463610,
"warnings": []
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/26793.jsonfor the price and payment options. - Pay. Call
GET https://app.fortiblox.com/api/quote. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Solana, Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.001 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Solana, Base
- Demand
- 5 calls · 4 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Solana solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | USDC | $0.001 | FdQ2FmAydXBe87Nm7w4MjksRqTUjahPaqjj7mVshKvNa | 300s |
| exact | Base eip155:8453 | USDC | $0.001 | 0x581aB190DF2B2932175d987E787Acd28A85eAA1C | 300s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "FdQ2FmAydXBe87Nm7w4MjksRqTUjahPaqjj7mVshKvNa",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1000",
"amountUsd": 0.001,
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x581aB190DF2B2932175d987E787Acd28A85eAA1C",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1000",
"amountUsd": 0.001,
"maxTimeoutSeconds": 300
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {},
"type": "string"
}Examples
curl -X POST 'https://app.fortiblox.com/api/quote' -H 'Content-Type: application/json' --data '{"amountIn":"1000000","inputMint":"B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq","mode":"exactIn","outputMint":"So11111111111111111111111111111111111111112"}'
# -> 402 Payment Required; read PAYMENT-REQUIRED
# retry the identical request with PAYMENT-SIGNATUREconst res = await fetch("https://app.fortiblox.com/api/quote", {
"method": "POST",
"headers": {
"content-type": "application/json"
},
"body": "{\"amountIn\":\"1000000\",\"inputMint\":\"B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq\",\"mode\":\"exactIn\",\"outputMint\":\"So11111111111111111111111111111111111111112\"}"
});
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
import json
res = httpx.request("POST", "https://app.fortiblox.com/api/quote", json=json.loads("{\"amountIn\":\"1000000\",\"inputMint\":\"B69chRzqzDCmdB5WYB8NRu5Yv5ZA95ABiZcdzCgGm9Tq\",\"mode\":\"exactIn\",\"outputMint\":\"So11111111111111111111111111111111111111112\"}"))
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- app.fortiblox.com
- Endpoint
- https://app.fortiblox.com/api/quote
- Machine-readable
/resources/26793.json