AlphaPipeline Neg-Risk Arbitrage
Detect basket arbitrage in a Polymarket neg-risk (mutually-exclusive, multi-outcome) event - since a full YES basket across all outcomes always settles to exactly $1, a basket price away from $1 is a near risk-free edge. Also computes buy/sell_basket_capacity_shares, the actual liquidity-bottleneck size executable right now, so this is not just a top-of-book mirage. Polymarket only (Kalshi's Data ToS forbids this use of their data). Paid in USDC on Base.
Offering
- Provider
- alphapipeline-eu.onrender.com
- Method
- GET
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Prediction Markets
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://alphapipeline-eu.onrender.com/v1/prediction/neg-risk-arbitrage- MIME type
- application/json
- First seen
- 2026-10-16T01:50:38.788Z
- Last seen
- Tags
- prediction-market, polymarket, arbitrage
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.03 USDC
Atomic price: 30000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "30000",
"payTo": "0x2bcfA4F7E1fA5E96934846A7dEa623398Ed7f752"
}
]Observed health
- Status
- Healthy
- Latest latency
- 399 ms
- Average latency
- 397 ms
- HTTP status
- 402
- Last checked
- Reachability
- 100% over 3 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"type": "string",
"enum": [
"GET",
"HEAD",
"DELETE"
]
},
"queryParams": {
"type": "object",
"properties": {
"event_slug": {
"type": "string",
"description": "Polymarket event slug, from the event's URL on polymarket.com."
},
"assumed_round_trip_cost_pct": {
"type": "number",
"description": "Estimated all-in cost (Polygon gas for the neg-risk adapter's convert call, taker fees, slippage buffer) as a percentage of $1 basket notional. Defaults to 1.5."
},
"max_slippage_pct": {
"type": "number",
"description": "How far past each leg's best price to walk the book when sizing executable basket capacity. Defaults to 1.0."
},
"min_net_edge_pct": {
"type": "number",
"description": "Minimum net edge (% of $1 basket notional) required to flag arbitrage_viable: true. Defaults to 1.0."
}
},
"required": [
"event_slug"
]
}
},
"required": [
"type",
"method"
],
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"properties": {
"assumed_round_trip_cost_pct": {
"description": "Estimated all-in cost (Polygon gas for the neg-risk adapter's convert call, taker fees, slippage buffer) as a percentage of $1 basket notional. Defaults to 1.5.",
"type": "number"
},
"event_slug": {
"description": "Polymarket event slug, from the event's URL on polymarket.com.",
"type": "string"
},
"max_slippage_pct": {
"description": "How far past each leg's best price to walk the book when sizing executable basket capacity. Defaults to 1.0.",
"type": "number"
},
"min_net_edge_pct": {
"description": "Minimum net edge (% of $1 basket notional) required to flag arbitrage_viable: true. Defaults to 1.0.",
"type": "number"
}
},
"required": [
"event_slug"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"arbitrage_viable": {
"title": "Arbitrage Viable",
"type": "boolean"
},
"assumed_round_trip_cost_pct": {
"title": "Assumed Round Trip Cost Pct",
"type": "number"
},
"basket_ask_sum": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Basket Ask Sum"
},
"basket_bid_sum": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Basket Bid Sum"
},
"buy_basket_capacity_notional_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Buy Basket Capacity Notional Usd"
},
"buy_basket_capacity_shares": {
"title": "Buy Basket Capacity Shares",
"type": "number"
},
"buy_basket_capacity_vwap_notional_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Same capacity as buy_basket_capacity_shares, but priced by walking the actual order-book depth (volume-weighted) instead of using each leg's top-of-book price - a more realistic fill cost than buy_basket_capacity_notional_usd. Null if depth data was insufficient.",
"title": "Buy Basket Capacity Vwap Notional Usd"
},
"buy_basket_gross_edge_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Buy Basket Gross Edge Usd"
},
"buy_basket_net_edge_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Buy Basket Net Edge Usd"
},
"data_source": {
"title": "Data Source",
"type": "string"
},
"event_slug": {
"title": "Event Slug",
"type": "string"
},
"generated_at": {
"properties": {
"kst": {
"title": "Kst",
"type": "string"
},
"utc": {
"title": "Utc",
"type": "string"
}
},
"required": [
"utc",
"kst"
],
"title": "TimestampPair",
"type": "object"
},
"notice": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notice"
},
"num_outcomes": {
"title": "Num Outcomes",
"type": "integer"
},
"oldest_book_snapshot_time": {
"anyOf": [
{
"properties": {
"kst": {
"title": "Kst",
"type": "string"
},
"utc": {
"title": "Utc",
"type": "string"
}
},
"required": [
"utc",
"kst"
],
"title": "TimestampPair",
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "The oldest of each leg's own order-book snapshot timestamp - the staleness bottleneck across all legs, since the whole basket calculation is only as fresh as its stalest leg. Null if no leg reported a timestamp."
},
"opportunity": {
"title": "Opportunity",
"type": "string"
},
"sell_basket_capacity_notional_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Sell Basket Capacity Notional Usd"
},
"sell_basket_capacity_shares": {
"title": "Sell Basket Capacity Shares",
"type": "number"
},
"sell_basket_capacity_vwap_notional_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "VWAP-priced equivalent of sell_basket_capacity_notional_usd - see buy_basket_capacity_vwap_notional_usd.",
"title": "Sell Basket Capacity Vwap Notional Usd"
},
"sell_basket_gross_edge_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Sell Basket Gross Edge Usd"
},
"sell_basket_net_edge_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Sell Basket Net Edge Usd"
}
},
"required": [
"generated_at",
"event_slug",
"num_outcomes",
"assumed_round_trip_cost_pct",
"buy_basket_capacity_shares",
"sell_basket_capacity_shares",
"opportunity",
"arbitrage_viable",
"data_source"
],
"title": "PredictionNegRiskArbitrageResponse",
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}