Trust and tech

Developers and agents

Holdline is built for people and for programs, because the rules are a contract and the data is onchain events and signed reports.

Trade

Open and close positions by calling the engine directly from your wallet. The operator brings the signed price report that locks your entry. The ABI is all you need.

Read

Prices, the book, the activity feed and backstop stats come from a public JSON API with no key, and from a GraphQL endpoint with live subscriptions. Or read the events straight from the chain.

Reproduce

Download the model file pinned by its onchain hash and recompute any multiplier from the signed quote, report and shape.

The model is open

The pricing module is a pure function of the shape, the volatility and the time remaining. It takes an angle, a width, a duration, an hourly sigma and an offset from the corridor centre, and it returns the hold probability and both multipliers. It has no hidden state, so the same inputs always give the same numbers, whether the caller is the contract, the terminal or your agent.

Reads you can call right now

RouteAuthReturns
GET /api/boardnoneEvery market with its live price, change and sparkline.
GET /api/tape?market=BTCnoneCandles, the measured hourly volatility, and the feed kind.
POST /api/quotenoneBoth sides priced for any shape you send.
GET /api/booknoneEvery live corridor with its shape, author and current odds.
GET /api/line/<id>noneOne corridor, its rails, and its live odds.
GET /api/statsnonePlayers, live corridors and backstop exposure.
GET /api/leaderboardnoneStandings by net score.
GET /api/profile/<address>noneAny wallet's public record.
POST /api/lineswalletDraw a corridor and take a side.
POST /api/predictionswalletTake a side on somebody else's corridor.
curl -s https://holdline.top/api/quote \
  -H "content-type: application/json" \
  -d '{"market":"BTC","angle":0.6,"width":1.2,"minutes":60,"deposit":100}'

Publishing here

The ABI, the GraphQL schema, a quickstart, and example agents. Reach out on X in the meantime.