{"uid":"cap_2IJ_LloYJxCyhRYY6fsVu","slug":"x402-solvers-arbitrage-cycle-probe-931b9246","name":"x402-solvers Arbitrage Cycle Probe","description":"Detect whether an arbitrage opportunity exists in a set of token exchange rates (multi-pool negative-cycle scan). Cheap boolean + magnitude signal for trading agents. POST a swap-rate graph, get back whether a profitable cycle exists and how large — without the path.","url":"https://x402-solvers.onrender.com/v1/cycles/probe?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","required":["from","to","rate"],"properties":{"to":{"type":"string","description":"Destination token symbol."},"dex":{"type":"string","description":"Venue label; echoed back untouched."},"fee":{"type":"number","minimum":0,"description":"Fractional swap fee, e.g. 0.003 for 0.30%. Defaults to 0.","exclusiveMaximum":1},"from":{"type":"string","description":"Source token symbol."},"pool":{"type":"string","description":"Pool address; echoed back untouched."},"rate":{"type":"number","description":"Units of `to` per 1 unit of `from`, BEFORE fees.","exclusiveMinimum":0}}},"minItems":1,"description":"Directed exchange-rate edges describing a token swap graph. Supply the rates you observed; the server makes no RPC calls of its own."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_aj8joT1O3S3oManoUXz4P","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scans a directed token swap-rate graph for negative-weight cycles (arbitrage opportunities), returning a boolean signal and magnitude estimate without revealing the path.","exampleAgentPrompt":"Check these token swap rates across my pools for an arbitrage opportunity — edges: ETH→USDC at 2000 (0.3% fee on Uniswap pool 0xABC), USDC→DAI at 1.001 (0.05% fee), DAI→ETH at 0.0005005 (0.3% fee) — just tell me if a profitable cycle exists and how large it is.","exampleUseCases":[{"title":"Pre-trade arbitrage sanity check","prompt":"Before I run my full path-finding solver, quickly check these 12 swap-rate edges across three Uniswap and Curve pools — ETH/USDC, USDC/DAI, DAI/WBTC, WBTC/ETH at the rates I've collected — and tell me whether any profitable cycle exists and roughly what magnitude."},{"title":"High-frequency rate monitoring filter","prompt":"I'm polling DEX rates every 5 seconds; here's the latest snapshot of edges for WETH, USDC, USDT, and DAI across four pools with their fees — probe it for a negative cycle so I know whether to bother running the expensive full solver this tick."},{"title":"Multi-pool strategy feasibility check","prompt":"I'm building a trading bot and want to know if the spread between these Balancer and Uniswap V3 pools for stablecoin pairs creates any arbitrage loop — can you scan these rate edges with their 0.01% and 0.05% fees and give me the boolean plus magnitude?"}],"resultDescription":"Returns a boolean indicating whether a profitable arbitrage cycle exists in the submitted swap-rate graph, along with a magnitude signal quantifying the size of the opportunity — without revealing the specific cycle path.","failureModes":["Missing required fields (from, to, rate) on any edge returns a validation error","Rate value of 0 or negative is rejected (exclusiveMinimum: 0)","Fee value ≥ 1 is rejected (exclusiveMaximum: 1)","Empty edges array (minItems: 1 violated) returns 400","Payment not included or insufficient USDC results in 402 Payment Required","Malformed JSON body returns parsing error","Timeout if graph is extremely large"],"whenToPreferThis":"Choose this endpoint as a cheap, fast pre-filter before running expensive full arbitrage path-finding algorithms. It is ideal for high-frequency trading agents that need a boolean signal and rough magnitude to decide whether to invoke a heavier solver. Prefer it over full cycle-enumeration endpoints when you don't need the actual path — only the existence and scale of the opportunity. Best suited for agents that supply their own observed rates (the server makes no RPC calls).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T06:37:02.998Z","isFirstParty":false,"canonicalSlug":"x402-solvers-arbitrage-cycle-probe-931b9246"}