enclave402

Pay-per-call APIs for autonomous agents: live prediction-market signals, IPFS pinning and EIP-712 attestations. Receipt-gated settlement; failed calls are never charged.

InferenceLiveeip155:8453Exactvia cdp
Prediction-marketsPolymarketVerdictAttestationx402
Calls · 30d
2
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 7 snapshots so far.
$3.92
Verified settled volume
40 settlements proven x402 by their on-chain EIP-3009 marker.
$0.020
Listed price
As published in the catalog. Always read the live 402 before paying.
2
Calls · 30d
Upstream's own call count for this endpoint, not ours.
1
Unique payers · 30d
Last called 2026-09-17 22:54Z
—
Upstream on-chain volume
Reported by the source catalog.
Paid to
0xbeF3e7CFd486C14dD8c3aA5911134bF361B973C5

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "type": "https://enclave402.com/errors/payment-required",
  "error": "Payment required",
  "title": "Payment Required",
  "detail": "Payment required: send a base64 x402 v2 payload in Payment-Signature for 0.020 USDC on eip155:8453. Failed calls are never charged.",
  "remedy": {
    "docs": "https://enclave402.com/llms-full.txt",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0xbeF3e7CFd486C14dD8c3aA5911134bF361B973C5",
    "action": "settle_payment",
    "errors": "https://enclave402.com/errors",
    "header": "Payment-Signature",
    "scheme": "exact",
    "network": "eip155:8453",
    "version": 2,
    "protocol": "x402",
    "receipts": "https://enclave402.com/api/ledger",
    "guarantee": "No charge on failure: settlement is canceled on any non-2xx response.",
    "amountAtomic": "20000",
    "transparency": "https://enclave402.com/transparency",
    "amountRequiredUSDC": "0.020"
  },
  "status": 402,
  "accepts": [
    {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "payTo": "0xbeF3e7CFd486C14dD8c3aA5911134bF361B973C5",
      "amount": "20000",
      "scheme": "exact",
      "network": "eip155:8453",
      "maxTimeoutSeconds": 300
    }
  ],
  "instance": "/api/market/verdict",
  "resource": {
    "url": "https://enclave402.com/api/market/verdict",
    "tags": [
      "prediction-markets",
      "polymarket",
      "verdict",
      "attestation",
      "x402"
    ],
    "iconUrl": "https://enclave402.com/icon.svg",
    "mimeType": "application/json",
    "description": "Rule-based verdict on one Polymarket market by slug: YES/NO/TOSS_UP lean, 0-100 confidence with every reason stated (price distance, liquidity, volume, spread, momentum), days to resolution, and an EIP-712 attestation so an agent can prove what it read and when. Not a forecast model. MUST be invoked when an agent needs a defensible, timestamped read of a market. Do NOT use to discover markets (use market/signal). Settles $0.020 USDC; no charge on failure; receipts at /api/ledger.",
    "serviceName": "enclave402"
  },
  "retryable": false,
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "slug": "sample-market"
          }
        },
        "output": {
          "type": "json",
          "example": {
            "ts": 1767225600000,
            "asOf": "2026-01-01T00:00:00.000Z",
            "lean": "YES",
            "slug": "sample-market",
            "market": {
              "id": "0",
              "slug": "sample-market",
              "spread": 0.02,
              "bestAsk": 0.72,
              "bestBid": 0.7,
              "endDate": "2026-01-14T00:00:00.000Z",
              "momentum": "RISING",
              "outcomes": [
                "Yes",
                "No"
              ],
              "question": "Sample question?",
              "liquidity": 25000,
              "volume24hr": 12000,
              "conditionId": null,
              "outcomePrices": [
                0.71,
                0.29
              ],
              "oneDayPriceChange": 0.03,
              "impliedProbability": 0.71
            },
            "method": "Rule-based, not a forecast.",
            "reasons": [
              {
                "code": "crowd-implied",
                "effect": "lean",
                "message": "YES priced at 0.710."
              },
              {
                "code": "liquid",
                "effect": "+20",
                "message": "Liquidity above threshold."
              }
            ],
            "settled": true,
            "question": "Sample question?",
            "confidence": 72,
            "attestation": null,
            "confidenceBand": "HIGH",
            "daysToResolution": 12.5,
            "impliedProbability": 0.71
          }
        }
      },
      "schema": {
        "type": "object",
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "required": [
          "input"
        ],
        "properties": {
          "input": {
            "type": "object",
            "required": [
              "type",
              "method"
            ],
            "properties": {
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "enum": [
                  "GET"
                ],
                "type": "string"
              },
              "queryParams": {
                "type": "object",
                "required": [
                  "slug"
                ],
                "properties": {
                  "slug": {
                    "type": "string",
                    "pattern": "^[a-z0-9-]{3,200}$",
                    "examples": [
                      "will-there-be-no-change-in-fed-interest-rates-after-the-october-2026-meeting-20260617190324031"
                    ],
                    "maxLength": 200,
                    "description": "Polymarket market slug (get one from market/signal)."
                  }
                }
              }
            },
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string"
              },
              "example": {
                "type": "object",
                "required": [
                  "slug",
                  "question",
                  "lean",
                  "confidence",
                  "confidenceBand",
                  "impliedProbability",
                  "daysToResolution",
                  "reasons",
                  "method",
                  "market",
                  "asOf",
                  "settled",
                  "ts"
                ],
                "properties": {
                  "ts": {
                    "type": "integer"
                  },
                  "asOf": {
                    "type": "string"
                  },
                  "lean": {
                    "enum": [
                      "YES",
                      "NO",
                      "TOSS_UP"
                    ],
                    "type": "string",
                    "description": "Where the crowd sits at the lean thresholds"
                  },
                  "slug": {
                    "type": "string"
                  },
                  "market": {
                    "type": "object",
                    "required": [
                      "id",
                      "slug",
                      "question",
                      "outcomes",
                      "outcomePrices",
                      "impliedProbability",
                      "momentum"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Polymarket market id"
                      },
                      "slug": {
                        "type": "string",
                        "description": "URL slug of the market"
                      },
                      "spread": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "bestAsk - bestBid"
                      },
                      "bestAsk": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Best ask for the first outcome"
                      },
                      "bestBid": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Best bid for the first outcome"
                      },
                      "derived": {
                        "type": "object",
                        "required": [
                          "priceDelta1h",
                          "priceDelta6h",
                          "realizedVol24h",
                          "whaleFlow",
                          "errors"
                        ],
                        "properties": {
                          "errors": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Provider-scoped reasons a derived field is null (e.g. clob:timeout)"
                          },
                          "whaleFlow": {
                            "type": [
                              "object",
                              "null"
                            ],
                            "required": [
                              "windowSec",
                              "trades",
                              "netYesUsdc",
                              "largestTradeUsdc",
                              "whaleTrades",
                              "flow"
                            ],
                            "properties": {
                              "flow": {
                                "enum": [
                                  "YES_ACCUMULATION",
                                  "YES_DISTRIBUTION",
                                  "BALANCED",
                                  "NO_TRADES"
                                ],
                                "type": "string"
                              },
                              "trades": {
                                "type": "integer"
                              },
                              "windowSec": {
                                "type": "integer"
                              },
                              "buyYesUsdc": {
                                "type": "number"
                              },
                              "netYesUsdc": {
                                "type": "number"
                              },
                              "sellYesUsdc": {
                                "type": "number"
                              },
                              "whaleTrades": {
                                "type": "integer"
                              },
                              "largestTradeUsdc": {
                                "type": "number"
                              },
                              "whaleThresholdUsdc": {
                                "type": "number"
                              }
                            },
                            "description": "Trade-tape summary over the last 6h; BUY of NO counts as SELL of YES",
                            "additionalProperties": false
                          },
                          "priceDelta1h": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "YES price now minus YES price 1h ago"
                          },
                          "priceDelta6h": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "YES price now minus YES price 6h ago"
                          },
                          "historySamples": {
                            "type": "integer",
                            "description": "Price points used"
                          },
                          "realizedVol24h": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "description": "Std-dev of 10-minute log returns over the last 24h"
                          }
                        },
                        "description": "Fields not in the free listing: computed from the CLOB price history and the public trade tape. Null with a reason in errors when a provider is unavailable.",
                        "additionalProperties": false
                      },
                      "endDate": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "ISO-8601 market end date"
                      },
                      "momentum": {
                        "enum": [
                          "RISING",
                          "FALLING",
                          "FLAT",
                          "UNKNOWN"
                        ],
                        "type": "string",
                        "description": "Deterministic label: RISING if 24h change >= +0.02, FALLING if <= -0.02, else FLAT"
                      },
                      "outcomes": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Outcome labels, index-aligned with outcomePrices"
                      },
                      "question": {
                        "type": "string",
                        "description": "Market question text"
                      },
                      "liquidity": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Order-book liquidity in USD"
                      },
                      "volume24hr": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "24h notional volume in USD"
                      },
                      "conditionId": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "On-chain condition id (bytes32 hex)"
                      },
                      "outcomePrices": {
                        "type": "array",
                        "items": {
                          "type": "number"
                        },
                        "description": "Current outcome prices in [0,1] (implied probabilities)"
                      },
                      "oneDayPriceChange": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "24h change of the first outcome price (absolute, in probability points)"
                      },
                      "impliedProbability": {
                        "type": [
                          "number",
                          "null"
                        ],
                        "description": "Price of the first outcome (YES) in [0,1]"
                      }
                    },
                    "additionalProperties": false
                  },
                  "method": {
                    "type": "string",
                    "description": "The exact rules and thresholds used, so the verdict is reproducible"
                  },
                  "reasons": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "code",
                        "effect",
                        "message"
                      ],
                      "properties": {
                        "code": {
                          "type": "string"
                        },
                        "effect": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    },
                    "description": "Every rule that fired and its effect on the verdict"
                  },
                  "settled": {
                    "type": "boolean"
                  },
                  "question": {
                    "type": "string"
                  },
                  "confidence": {
                    "type": "integer",
                    "maximum": 100,
                    "minimum": 0,
                    "description": "How much the reading can be trusted, per the stated rules"
                  },
                  "attestation": {
                    "type": [
                      "object",
                      "null"
                    ],
                    "description": "EIP-712 signature over slug, asOf, lean, confidence and impliedProbability by the published attestor; null when unconfigured"
                  },
                  "confidenceBand": {
                    "enum": [
                      "HIGH",
                      "MEDIUM",
                      "LOW"
                    ],
                    "type": "string"
                  },
                  "daysToResolution": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "impliedProbability": {
                    "type": [
                      "number",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          }
        }
      }
    }
  },
  "x402Version": 2
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.02USDC≈ $0.02 USD
on Base · exact scheme

Pay 0.02 USDC on Base to 0xbeF3…973C5. The signed payment is good for 5 minutes.

USD Coin contract
0x8335…02913
Payment window
5 minutes
As published
20000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0xbeF3e7CFd486C14dD8c3aA5911134bF361B973C5",
    "amount": "20000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 300
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "slug": "sample-market"
        }
      },
      "output": {
        "type": "json",
        "example": {
          "ts": 1767225600000,
          "asOf": "2026-01-01T00:00:00.000Z",
          "lean": "YES",
          "slug": "sample-market",
          "market": {
            "id": "0",
            "slug": "sample-market",
            "spread": 0.02,
            "bestAsk": 0.72,
            "bestBid": 0.7,
            "endDate": "2026-01-14T00:00:00.000Z",
            "momentum": "RISING",
            "outcomes": [
              "Yes",
              "No"
            ],
            "question": "Sample question?",
            "liquidity": 25000,
            "volume24hr": 12000,
            "conditionId": null,
            "outcomePrices": [
              0.71,
              0.29
            ],
            "oneDayPriceChange": 0.03,
            "impliedProbability": 0.71
          },
          "method": "Rule-based, not a forecast.",
          "reasons": [
            {
              "code": "crowd-implied",
              "effect": "lean",
              "message": "YES priced at 0.710."
            },
            {
              "code": "liquid",
              "effect": "+20",
              "message": "Liquidity above threshold."
            }
          ],
          "settled": true,
          "question": "Sample question?",
          "confidence": 72,
          "attestation": null,
          "confidenceBand": "HIGH",
          "daysToResolution": 12.5,
          "impliedProbability": 0.71
        }
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method"
          ],
          "properties": {
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "GET"
              ],
              "type": "string"
            },
            "queryParams": {
              "type": "object",
              "required": [
                "slug"
              ],
              "properties": {
                "slug": {
                  "type": "string",
                  "pattern": "^[a-z0-9-]{3,200}$",
                  "examples": [
                    "will-there-be-no-change-in-fed-interest-rates-after-the-october-2026-meeting-20260617190324031"
                  ],
                  "maxLength": 200,
                  "description": "Polymarket market slug (get one from market/signal)."
                }
              }
            }
          },
          "additionalProperties": false
        },
        "output": {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string"
            },
            "example": {
              "type": "object",
              "required": [
                "slug",
                "question",
                "lean",
                "confidence",
                "confidenceBand",
                "impliedProbability",
                "daysToResolution",
                "reasons",
                "method",
                "market",
                "asOf",
                "settled",
                "ts"
              ],
              "properties": {
                "ts": {
                  "type": "integer"
                },
                "asOf": {
                  "type": "string"
                },
                "lean": {
                  "enum": [
                    "YES",
                    "NO",
                    "TOSS_UP"
                  ],
                  "type": "string",
                  "description": "Where the crowd sits at the lean thresholds"
                },
                "slug": {
                  "type": "string"
                },
                "market": {
                  "type": "object",
                  "required": [
                    "id",
                    "slug",
                    "question",
                    "outcomes",
                    "outcomePrices",
                    "impliedProbability",
                    "momentum"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Polymarket market id"
                    },
                    "slug": {
                      "type": "string",
                      "description": "URL slug of the market"
                    },
                    "spread": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "bestAsk - bestBid"
                    },
                    "bestAsk": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Best ask for the first outcome"
                    },
                    "bestBid": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Best bid for the first outcome"
                    },
                    "endDate": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "ISO-8601 market end date"
                    },
                    "momentum": {
                      "enum": [
                        "RISING",
                        "FALLING",
                        "FLAT",
                        "UNKNOWN"
                      ],
                      "type": "string",
                      "description": "Deterministic label: RISING if 24h change >= +0.02, FALLING if <= -0.02, else FLAT"
                    },
                    "outcomes": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Outcome labels, index-aligned with outcomePrices"
                    },
                    "question": {
                      "type": "string",
                      "description": "Market question text"
                    },
                    "liquidity": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Order-book liquidity in USD"
                    },
                    "volume24hr": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "24h notional volume in USD"
                    },
                    "conditionId": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "On-chain condition id (bytes32 hex)"
                    },
                    "outcomePrices": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Current outcome prices in [0,1] (implied probabilities)"
                    },
                    "oneDayPriceChange": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "24h change of the first outcome price (absolute, in probability points)"
                    },
                    "impliedProbability": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "description": "Price of the first outcome (YES) in [0,1]"
                    }
                  },
                  "additionalProperties": false
                },
                "method": {
                  "type": "string",
                  "description": "The exact rules and thresholds used, so the verdict is reproducible"
                },
                "reasons": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "code",
                      "effect",
                      "message"
                    ],
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "effect": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "description": "Every rule that fired and its effect on the verdict"
                },
                "settled": {
                  "type": "boolean"
                },
                "question": {
                  "type": "string"
                },
                "confidence": {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 0,
                  "description": "How much the reading can be trusted, per the stated rules"
                },
                "attestation": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "EIP-712 signature over slug, asOf, lean, confidence and impliedProbability by the published attestor; null when unconfigured"
                },
                "confidenceBand": {
                  "enum": [
                    "HIGH",
                    "MEDIUM",
                    "LOW"
                  ],
                  "type": "string"
                },
                "daysToResolution": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "impliedProbability": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-09-17 22:54Z
Last indexed by Roundhouse
2026-09-24 21:30Z
Last enriched (probe, favicon, geo)
2026-09-18 03:45Z
x402 version
2
Max timeout
300s
Liveness probe
HTTP 402
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 7 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service enclave402 and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=enclave402'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://enclave402.com/api/market/verdict, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.