include_rules=true.
Look up one contract or list a configured scope.
Quickstart
Make your first request in under a minute.
API Reference
Full endpoint reference with interactive playground.
How it works
Surface maintains a continuously updated dataset of matched contracts across Kalshi and Polymarket. Every match passes through a multi-stage pipeline that checks team, date, line, and side alignment — mismatches are blocked, not returned. When you call/match/{contractID}, Surface resolves the input and returns one cluster: all contracts in the same cross-exchange group and their links. Contracts are grouped by exchange and ID; links are nested by both exchange and contract ID.