Prediction markets and DAOs logo

Cross-Platform Arbitrage & Resolution Rules Lawyer

$0.75 USDC per call · Smart contracts and tokens · POST /api/v1/arbitrage-lawyer · Id arbitrage-lawyer

Finds fine-print divergences between two prediction markets (e.g. Polymarket vs Kalshi), prices basis risk after fees, and returns verdict.action ARBITRAGE_SAFE / LOW_ANNUALIZED_YIELD / BASIS_RISK_TRAP / NO_EDGE / INSUFFICIENT_EVIDENCE with edge in bps, the probability both legs lose, days to resolution, annualized return and Kelly hedge size capped by top-of-book depth. Each market can be given as a Polymarket slug or URL or a Kalshi ticker (rules, best asks and per-leg fees are read live) or as pasted rules and prices (USD per share, 0-1). Every cited clause is checked verbatim against the rules you supplied. If the rules analysis fails after live prices were read, you still get the signed price math as a partial result. Not financial advice.

What you get

One avoided basis-risk trap (both legs resolving against you) saves the full position; a clean spread comes back sized, depth-capped and annualized so you can compare it with idle-cash yield.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/arbitrage-lawyer. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/arbitrage-lawyer \
  -H 'content-type: application/json' \
  -d '{"marketA":{"platform":"Polymarket","title":"Will Bitcoin reach $150,000 by December 31, 2027?","resolutionRules":"This market will resolve to Yes if any Binance 1 minute candle for BTC/USDT between Jan 1, 2027 00:00 and Dec 31, 2027 23:59 ET has a final High price of $150,000 or higher. Otherwise it resolves to No. The resolution source is Binance BTC/USDT with the 1m candle selected.","yesPrice":0.31,"noPrice":0.7,"feeBps":0,"endDate":"2027-12-31T23:59:00-05:00"},"marketB":{"platform":"Kalshi","title":"Bitcoin price at the end of 2027: above $150,000?","resolutionRules":"If the CF Benchmarks BRTI price at 5:00 PM EST on December 31, 2027 is above $150,000, then the market resolves to Yes. Otherwise it resolves to No. The Source Agency is CF Benchmarks; the value is the average BRTI over the 60 seconds before the expiration time.","yesPrice":0.22,"noPrice":0.79,"yesFeeBps":546,"noFeeBps":147,"endDate":"2027-12-31T17:00:00-05:00"},"minEdgeBps":100,"bankrollUsd":10000}'

Input

FieldTypeRequiredDescription
marketAobjectyes
marketBobjectyes
minEdgeBpsnumber; 0..10000noDefault 100 (1%).
bankrollUsdnumber; 0..1000000000000noUsed to convert the Kelly fraction to USD.
minAnnualizedReturnPctnumber; 0..10000noMinimum annualized risk-adjusted return, in percent, for verdict.action ARBITRAGE_SAFE (default 5). Below it the action is LOW_ANNUALIZED_YIELD. Applied only when both end dates are known.

Example request body

{
  "marketA": {
    "platform": "Polymarket",
    "title": "Will Bitcoin reach $150,000 by December 31, 2027?",
    "resolutionRules": "This market will resolve to Yes if any Binance 1 minute candle for BTC/USDT between Jan 1, 2027 00:00 and Dec 31, 2027 23:59 ET has a final High price of $150,000 or higher. Otherwise it resolves to No. The resolution source is Binance BTC/USDT with the 1m candle selected.",
    "yesPrice": 0.31,
    "noPrice": 0.7,
    "feeBps": 0,
    "endDate": "2027-12-31T23:59:00-05:00"
  },
  "marketB": {
    "platform": "Kalshi",
    "title": "Bitcoin price at the end of 2027: above $150,000?",
    "resolutionRules": "If the CF Benchmarks BRTI price at 5:00 PM EST on December 31, 2027 is above $150,000, then the market resolves to Yes. Otherwise it resolves to No. The Source Agency is CF Benchmarks; the value is the average BRTI over the 60 seconds before the expiration time.",
    "yesPrice": 0.22,
    "noPrice": 0.79,
    "yesFeeBps": 546,
    "noFeeBps": 147,
    "endDate": "2027-12-31T17:00:00-05:00"
  },
  "minEdgeBps": 100,
  "bankrollUsd": 10000
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
same_underlying_eventbooleanyes
equivalence_scoreintegeryes0-100: how closely the resolution criteria coincide.
resolution_source_astringyes
resolution_source_bstringyes
deadline_astringyesResolution deadline and timezone as written, or "unspecified".
deadline_bstringyes
divergencesarray<object>yes
loophole_clausesarray<object>yes
summarystringyes
verdictobjectyesMachine-readable call, computed in code. Leads the answer; detail follows in the other fields.
disclaimerstringyesNot financial advice.
timingobjectyesdays_to_resolution and annualized_return_pct (null unless both end dates are known).
partialbooleanyesTrue when the rules analysis failed and only price math is reported.
missingarray<string>yes
warningsarray<string>yes
resolved_marketsone ofyesWhat was read from each market reference: venue, id, fee model, ask sizes, warnings.
analysis_modestring; one of "model", "price_only"yesprice_only: no positive spread at the quoted prices, so NO_EDGE was decided without the rules analysis.
unverified_divergencesintegeryes
recommendationstring; one of "ARBITRAGE_SAFE", "BASIS_RISK_TRAP", "NO_EDGE", "INSUFFICIENT_EVIDENCE"yes
best_directionobjectyes
directionsarray<object>yes
unavailable_directionsarray<string>yesDirections skipped because a leg has no ask (price 0).
hedge_sizingobjectyes

Pay and connect

Available through: x402 (USDC on Base), MCP, RapidAPI.

Machine-readable