{
  "x402Version": 2,
  "id": 30150,
  "slug": "30150",
  "resource": "https://alphapipeline-eu.onrender.com/v1/arb/spread-matrix",
  "description": "CEX-DEX arbitrage spread calculator - compares a global reference price (Coinbase spot, CoinGecko fallback) against a DEX pool price and returns gross/net spread and an is_profitable flag after an assumed gas cost. Paid in USDC on Base.",
  "type": "http",
  "serviceName": "AlphaPipeline Arb Spread",
  "resourceType": "Monitoring",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0x2bcfA4F7E1fA5E96934846A7dEa623398Ed7f752",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "20000",
      "amountUsd": 0.02,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "properties": {
          "assumed_gas_cost_usd": {
            "title": "Assumed Gas Cost Usd",
            "type": "number"
          },
          "cex_price_usd": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Cex Price Usd"
          },
          "data_source": {
            "title": "Data Source",
            "type": "string"
          },
          "dex_price_usd": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Dex Price Usd"
          },
          "direction": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Direction"
          },
          "generated_at": {
            "properties": {
              "kst": {
                "title": "Kst",
                "type": "string"
              },
              "utc": {
                "title": "Utc",
                "type": "string"
              }
            },
            "required": [
              "utc",
              "kst"
            ],
            "title": "TimestampPair",
            "type": "object"
          },
          "gross_spread_pct": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Gross Spread Pct"
          },
          "is_profitable": {
            "title": "Is Profitable",
            "type": "boolean"
          },
          "min_spread_threshold_pct": {
            "title": "Min Spread Threshold Pct",
            "type": "number"
          },
          "net_spread_pct": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Net Spread Pct"
          },
          "network": {
            "title": "Network",
            "type": "string"
          },
          "notice": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Notice"
          },
          "pool_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Pool Address"
          },
          "pool_fee_pct": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "DEX pool's fee tier parsed from GeckoTerminal's pool name (e.g. 0.05 for a 0.05% pool). Informational only - net_spread_pct does NOT subtract it.",
            "title": "Pool Fee Pct"
          },
          "status_message": {
            "title": "Status Message",
            "type": "string"
          },
          "symbol": {
            "title": "Symbol",
            "type": "string"
          },
          "trade_size_usd": {
            "title": "Trade Size Usd",
            "type": "number"
          }
        },
        "required": [
          "generated_at",
          "symbol",
          "network",
          "status_message",
          "is_profitable",
          "trade_size_usd",
          "assumed_gas_cost_usd",
          "min_spread_threshold_pct",
          "data_source"
        ],
        "title": "ArbSpreadResponse",
        "type": "object"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "network": "base",
            "symbol": "SUI",
            "token_address": "0x0000000000000000000000000000000000000000",
            "trade_size_usd": 1000
          },
          "type": "http"
        },
        "output": {
          "example": {
            "assumed_gas_cost_usd": 0.05,
            "cex_price_usd": 3.521,
            "data_source": "coinbase+geckoterminal",
            "dex_price_usd": 3.503,
            "direction": "DEX_TO_CEX",
            "generated_at": {
              "kst": "2026-09-07 21:00:00 KST",
              "utc": "2026-09-07T12:00:00Z"
            },
            "gross_spread_pct": 0.52,
            "is_profitable": false,
            "min_spread_threshold_pct": 0.8,
            "net_spread_pct": 0.45,
            "network": "base",
            "notice": "CEX-side price is Coinbase spot (CoinGecko fallback), not a specific exchange orderbook - it does not reflect actual tradable depth on any single exchange. DEX-side price is read from GeckoTerminal's pool price fields. net_spread_pct only subtracts an assumed flat gas cost - it does NOT subtract the DEX pool's own swap fee (see pool_fee_pct), CEX trading fees, CEX deposit/withdrawal availability, or slippage beyond trade_size_usd. A spread that looks profitable before the pool fee may not be after it - re-verify with live quotes before executing a real trade.",
            "pool_address": "0x4a3636608d7bc5776cb19eb72caa36ebb9bd9e5b",
            "pool_fee_pct": 0.3,
            "status_message": "Spread is 0.45%, below 0.8% threshold (Unprofitable).",
            "symbol": "SUI",
            "trade_size_usd": 1000
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "GET",
                  "HEAD",
                  "DELETE"
                ],
                "type": "string"
              },
              "queryParams": {
                "properties": {
                  "min_spread_threshold_pct": {
                    "description": "Net spread threshold (%) above which is_profitable is true. Defaults to 0.8.",
                    "type": "number"
                  },
                  "network": {
                    "description": "GeckoTerminal network id, e.g. base, eth. Defaults to base.",
                    "type": "string"
                  },
                  "pool_address": {
                    "description": "Specific DEX pool contract address (optional if token_address is given).",
                    "type": "string"
                  },
                  "symbol": {
                    "description": "Ticker symbol, e.g. SUI, BTC, ETH.",
                    "type": "string"
                  },
                  "token_address": {
                    "description": "Token contract address - the most liquid pool is auto-selected (optional if pool_address is given).",
                    "type": "string"
                  },
                  "trade_size_usd": {
                    "description": "Hypothetical trade size in USD. Defaults to 1000.",
                    "type": "number"
                  }
                },
                "required": [
                  "symbol"
                ],
                "type": "object"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "properties": {
                  "assumed_gas_cost_usd": {
                    "title": "Assumed Gas Cost Usd",
                    "type": "number"
                  },
                  "cex_price_usd": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Cex Price Usd"
                  },
                  "data_source": {
                    "title": "Data Source",
                    "type": "string"
                  },
                  "dex_price_usd": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Dex Price Usd"
                  },
                  "direction": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Direction"
                  },
                  "generated_at": {
                    "properties": {
                      "kst": {
                        "title": "Kst",
                        "type": "string"
                      },
                      "utc": {
                        "title": "Utc",
                        "type": "string"
                      }
                    },
                    "required": [
                      "utc",
                      "kst"
                    ],
                    "title": "TimestampPair",
                    "type": "object"
                  },
                  "gross_spread_pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Gross Spread Pct"
                  },
                  "is_profitable": {
                    "title": "Is Profitable",
                    "type": "boolean"
                  },
                  "min_spread_threshold_pct": {
                    "title": "Min Spread Threshold Pct",
                    "type": "number"
                  },
                  "net_spread_pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Net Spread Pct"
                  },
                  "network": {
                    "title": "Network",
                    "type": "string"
                  },
                  "notice": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Notice"
                  },
                  "pool_address": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "title": "Pool Address"
                  },
                  "pool_fee_pct": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "DEX pool's fee tier parsed from GeckoTerminal's pool name (e.g. 0.05 for a 0.05% pool). Informational only - net_spread_pct does NOT subtract it.",
                    "title": "Pool Fee Pct"
                  },
                  "status_message": {
                    "title": "Status Message",
                    "type": "string"
                  },
                  "symbol": {
                    "title": "Symbol",
                    "type": "string"
                  },
                  "trade_size_usd": {
                    "title": "Trade Size Usd",
                    "type": "number"
                  }
                },
                "required": [
                  "generated_at",
                  "symbol",
                  "network",
                  "status_message",
                  "is_profitable",
                  "trade_size_usd",
                  "assumed_gas_cost_usd",
                  "min_spread_threshold_pct",
                  "data_source"
                ],
                "title": "ArbSpreadResponse",
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "crypto",
    "arbitrage",
    "cex",
    "dex",
    "bazaar"
  ],
  "sourceHost": "alphapipeline-eu.onrender.com",
  "lastUpdated": "2026-10-01T14:31:16.174Z",
  "quality": {
    "calls30d": 1,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-10-01T14:31:15.927Z"
  },
  "metadata": {
    "serviceName": "AlphaPipeline Arb Spread",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "network": "base",
              "symbol": "SUI",
              "token_address": "0x0000000000000000000000000000000000000000",
              "trade_size_usd": 1000
            },
            "type": "http"
          },
          "output": {
            "example": {
              "assumed_gas_cost_usd": 0.05,
              "cex_price_usd": 3.521,
              "data_source": "coinbase+geckoterminal",
              "dex_price_usd": 3.503,
              "direction": "DEX_TO_CEX",
              "generated_at": {
                "kst": "2026-09-07 21:00:00 KST",
                "utc": "2026-09-07T12:00:00Z"
              },
              "gross_spread_pct": 0.52,
              "is_profitable": false,
              "min_spread_threshold_pct": 0.8,
              "net_spread_pct": 0.45,
              "network": "base",
              "notice": "CEX-side price is Coinbase spot (CoinGecko fallback), not a specific exchange orderbook - it does not reflect actual tradable depth on any single exchange. DEX-side price is read from GeckoTerminal's pool price fields. net_spread_pct only subtracts an assumed flat gas cost - it does NOT subtract the DEX pool's own swap fee (see pool_fee_pct), CEX trading fees, CEX deposit/withdrawal availability, or slippage beyond trade_size_usd. A spread that looks profitable before the pool fee may not be after it - re-verify with live quotes before executing a real trade.",
              "pool_address": "0x4a3636608d7bc5776cb19eb72caa36ebb9bd9e5b",
              "pool_fee_pct": 0.3,
              "status_message": "Spread is 0.45%, below 0.8% threshold (Unprofitable).",
              "symbol": "SUI",
              "trade_size_usd": 1000
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET",
                    "HEAD",
                    "DELETE"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "properties": {
                    "min_spread_threshold_pct": {
                      "description": "Net spread threshold (%) above which is_profitable is true. Defaults to 0.8.",
                      "type": "number"
                    },
                    "network": {
                      "description": "GeckoTerminal network id, e.g. base, eth. Defaults to base.",
                      "type": "string"
                    },
                    "pool_address": {
                      "description": "Specific DEX pool contract address (optional if token_address is given).",
                      "type": "string"
                    },
                    "symbol": {
                      "description": "Ticker symbol, e.g. SUI, BTC, ETH.",
                      "type": "string"
                    },
                    "token_address": {
                      "description": "Token contract address - the most liquid pool is auto-selected (optional if pool_address is given).",
                      "type": "string"
                    },
                    "trade_size_usd": {
                      "description": "Hypothetical trade size in USD. Defaults to 1000.",
                      "type": "number"
                    }
                  },
                  "required": [
                    "symbol"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "assumed_gas_cost_usd": {
                      "title": "Assumed Gas Cost Usd",
                      "type": "number"
                    },
                    "cex_price_usd": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Cex Price Usd"
                    },
                    "data_source": {
                      "title": "Data Source",
                      "type": "string"
                    },
                    "dex_price_usd": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Dex Price Usd"
                    },
                    "direction": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Direction"
                    },
                    "generated_at": {
                      "properties": {
                        "kst": {
                          "title": "Kst",
                          "type": "string"
                        },
                        "utc": {
                          "title": "Utc",
                          "type": "string"
                        }
                      },
                      "required": [
                        "utc",
                        "kst"
                      ],
                      "title": "TimestampPair",
                      "type": "object"
                    },
                    "gross_spread_pct": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Gross Spread Pct"
                    },
                    "is_profitable": {
                      "title": "Is Profitable",
                      "type": "boolean"
                    },
                    "min_spread_threshold_pct": {
                      "title": "Min Spread Threshold Pct",
                      "type": "number"
                    },
                    "net_spread_pct": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Net Spread Pct"
                    },
                    "network": {
                      "title": "Network",
                      "type": "string"
                    },
                    "notice": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Notice"
                    },
                    "pool_address": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "title": "Pool Address"
                    },
                    "pool_fee_pct": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "DEX pool's fee tier parsed from GeckoTerminal's pool name (e.g. 0.05 for a 0.05% pool). Informational only - net_spread_pct does NOT subtract it.",
                      "title": "Pool Fee Pct"
                    },
                    "status_message": {
                      "title": "Status Message",
                      "type": "string"
                    },
                    "symbol": {
                      "title": "Symbol",
                      "type": "string"
                    },
                    "trade_size_usd": {
                      "title": "Trade Size Usd",
                      "type": "number"
                    }
                  },
                  "required": [
                    "generated_at",
                    "symbol",
                    "network",
                    "status_message",
                    "is_profitable",
                    "trade_size_usd",
                    "assumed_gas_cost_usd",
                    "min_spread_threshold_pct",
                    "data_source"
                  ],
                  "title": "ArbSpreadResponse",
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "alphapipeline-eu.onrender.com",
    "manifest_name": "alphapipeline-eu.onrender.com",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "assumed_gas_cost_usd": 0.05,
    "cex_price_usd": 3.521,
    "data_source": "coinbase+geckoterminal",
    "dex_price_usd": 3.503,
    "direction": "DEX_TO_CEX",
    "generated_at": {
      "kst": "2026-09-07 21:00:00 KST",
      "utc": "2026-09-07T12:00:00Z"
    },
    "gross_spread_pct": 0.52,
    "is_profitable": false,
    "min_spread_threshold_pct": 0.8,
    "net_spread_pct": 0.45,
    "network": "base",
    "notice": "CEX-side price is Coinbase spot (CoinGecko fallback), not a specific exchange orderbook - it does not reflect actual tradable depth on any single exchange. DEX-side price is read from GeckoTerminal's pool price fields. net_spread_pct only subtracts an assumed flat gas cost - it does NOT subtract the DEX pool's own swap fee (see pool_fee_pct), CEX trading fees, CEX deposit/withdrawal availability, or slippage beyond trade_size_usd. A spread that looks profitable before the pool fee may not be after it - re-verify with live quotes before executing a real trade.",
    "pool_address": "0x4a3636608d7bc5776cb19eb72caa36ebb9bd9e5b",
    "pool_fee_pct": 0.3,
    "status_message": "Spread is 0.45%, below 0.8% threshold (Unprofitable).",
    "symbol": "SUI",
    "trade_size_usd": 1000
  }
}