addedOutput schema / properties / venues
Added value: +{
+ "additionalProperties": false,
+ "description": "CLOB vs AMM comparison for the same amount; no routing split",
+ "properties": {
+ "amm": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "avg_price": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Quote paid per base received, null when it cannot fill"
+ },
+ "avg_price_after_fees": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "avg_price x issuer TransferRate, null when the rate is unknown"
+ },
+ "cost": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Total quote paid for `amount`, null when it cannot fill"
+ },
+ "insufficient_liquidity": {
+ "type": "boolean"
+ },
+ "slippage_pct": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Percent vs the fee-free pool spot price (includes the trading fee), null when it cannot fill"
+ },
+ "spot_price": {
+ "description": "Pool spot price, quote per base, excluding fee and impact",
+ "type": "string"
+ },
+ "trading_fee": {
+ "description": "Pool trading fee as a fraction, like /v1/amm",
+ "type": "string"
+ }
+ },
+ "required": [
+ "avg_price",
+ "cost",
+ "slippage_pct",
+ "insufficient_liquidity",
+ "avg_price_after_fees",
+ "spot_price",
+ "trading_fee"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Null when the pair has no pool or the pool could not be read (see amm_status)"
+ },
+ "amm_status": {
+ "description": "State of the AMM read: ok, stale (served past its fresh window), no_pool, unavailable",
+ "enum": [
+ "ok",
+ "stale",
+ "no_pool",
+ "unavailable"
+ ],
+ "type": "string"
+ },
+ "best": {
+ "anyOf": [
+ {
+ "enum": [
+ "clob",
+ "amm"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Cheaper venue by avg_price (ties go to the CLOB), null when neither can fill"
+ },
+ "clob": {
+ "additionalProperties": false,
+ "properties": {
+ "avg_price": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Quote paid per base received, null when it cannot fill"
+ },
+ "avg_price_after_fees": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "avg_price x issuer TransferRate, null when the rate is unknown"
+ },
+ "cost": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Total quote paid for `amount`, null when it cannot fill"
+ },
+ "insufficient_liquidity": {
+ "type": "boolean"
+ },
+ "slippage_pct": {
+ "anyOf": [
+ {
+ "description": "Decimal string",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Percent vs the best ask, null when it cannot fill"
+ }
+ },
+ "required": [
+ "avg_price",
+ "cost",
+ "slippage_pct",
+ "insufficient_liquidity",
+ "avg_price_after_fees"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "best",
+ "amm_status",
+ "clob",
+ "amm"
+ ],
+ "type": "object"
+}
changedOutput schema / required
Previous value: -[
- "base",
- "quote",
- "side",
- "depth",
- "amount",
- "filled",
- "partial",
- "insufficient_liquidity",
- "best_price",
- "avg_price",
- "slippage_pct",
- "transfer_fee_applied",
- "transfer_fee",
- "avg_price_after_fees",
- "meta"
-]New value: +[
+ "base",
+ "quote",
+ "side",
+ "depth",
+ "amount",
+ "filled",
+ "partial",
+ "insufficient_liquidity",
+ "best_price",
+ "avg_price",
+ "slippage_pct",
+ "transfer_fee_applied",
+ "transfer_fee",
+ "avg_price_after_fees",
+ "venues",
+ "meta"
+]