Plexa /v1/quote — executable swap quote
Plexa /v1/quote — executable swap quote: the realizable fill price at your trade size, not a mid/spot price feed. Returns price impact (bps), worst-case slippage, depth and the per-leg route across Base/Polygon/Arbitrum liquidity, from canonical on-chain quoters. Call it before a swap to see what the fill actually costs. Informational data, not financial advice.
Not tested: has real-world effectsour last check, 2026-09-24
0 of 0checks answered this week
n/amedian answer time
$0.02listed price per call
n/aprice it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.getplexa.com/v1/quote
| Category | Market data |
|---|---|
| Provider host | api.getplexa.com |
| Networks | eip155:137, eip155:42161, eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 73 from 3 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"chain": "base",
"sizeUSD": "5000",
"tokenIn": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"tokenOut": "0x4200000000000000000000000000000000000006"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"anyOf": [
{
"required": [
"sizeIn"
]
},
{
"required": [
"sizeUSD"
]
}
],
"examples": [
{
"chain": "base",
"sizeUSD": "5000",
"tokenIn": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"tokenOut": "0x4200000000000000000000000000000000000006"
}
],
"properties": {
"chain": {
"description": "Optional, default \"base\". One of: base | polygon | matic | arbitrum | arbitrum-one | arb | eip155:8453 | eip155:137 | eip155:42161 \u2014 case-sensitive (see `enum`). This is the chain the QUOTE is computed on; the networks you may PAY on (including Solana) are a separate list in `accepts[]`.",
"enum": [
"base",
"polygon",
"matic",
"arbitrum",
"arbitrum-one",
"arb",
"eip155:8453",
"eip155:137",
"eip155:42161"
],
"type": "string"
},
"sizeIn": {
"description": "Trade size as a human amount of tokenIn, e.g. \"1.5\" for 1.5 WETH. A STRING, not a number. At least one of sizeIn / sizeUSD is required; if BOTH are sent, sizeUSD wins and sizeIn is ignored.",
"maxLength": 78,
"pattern": "^(?:0\\.\\d*[1-9]\\d*|[1-9]\\d*(?:\\.\\d+)?)$",
"type": "string"
},
"sizeUSD": {
"description": "Trade size as a USD notional, e.g. \"5000\". A STRING, not a number; positive, no thousands separator (\"5,000\" is rejected) and no exponent (\"5e3\" is rejected) \u2014 see `pattern`. At least one of sizeIn / sizeUSD is required; if BOTH are sent, sizeUSD wins.",
"maxLength": 78,
"pattern": "^(?:0\\.\\d*[1-9]\\d*|[1-9]\\d*(?:\\.\\d+)?)$",
"type": "string"
},
"tokenIn": {
"description": "ERC-20 being SOLD. 0x + 40 hex (see `pattern`) \u2014 a symbol like \"USDC\" is rejected with 400.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
},
"tokenOut": {
"description": "ERC-20 being BOUGHT. 0x + 40 hex (see `pattern`) \u2014 a symbol like \"WETH\" is rejected with 400.",
"pattern": "^0x[0-9a-fA-F]{40}$",
"type": "string"
}
},
"required": [
"tokenIn",
"tokenOut"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"confidence": {
"description": "Engine confidence: high | medium | low",
"type": "string"
},
"depthAtSize": {
"description": "Realizable output at the requested size, in human units of tokenOut (NOT USD)",
"type": "number"
},
"executablePrice": {
"description": "REALIZABLE fill price for the full requested size \u2014 the price the swap actually executes at after price impact, NOT a mid/spot price feed. This is Plexa's core difference from a price oracle. Units: tokenOut PER tokenIn (for USDC\u2192WETH it is WETH per 1 USDC, a small number \u2014 not the reciprocal).",
"type": "number"
},
"priceImpactBps": {
"description": "Price impact at this size, in basis points. Null when no defensible mid exists (P16) \u2014 impact is derived from the mid.",
"type": [
"number",
"null"
]
},
"route": {
"description": "Per-leg execution route (dex / pool / fee tier)",
"type": "object"
},
"worstCaseSlippageBps": {
"description": "Worst-case slippage, in basis points. Null when no defensible mid exists (P16).",
"type": [
"number",
"null"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}