Skip to main content
The Robin Integration API is a read-only HTTP surface for reading live APY, personalized deposit quotes, and a wallet’s vault positions. It never moves funds — every data read is pure, and the two POST helpers only index market metadata (POST /markets) and return a signed TWAP update you submit before staking (POST /twap). To move funds, you submit transactions to the on-chain vault (see Deposits).

Base URL & access

The API is served under a single base URL:
  • No auth. Every endpoint is open — no API key, no signing.
  • Open CORS. Calls work directly from the browser; no proxy required.
  • Per-IP rate limit. Exceeding it returns HTTP 429. Back off and retry.
  • Preflight. Every path answers OPTIONS for CORS preflight.
There is no per-user authentication. The API personalizes reads by the wallet query parameter. You tell it which wallet to read, and it returns that wallet’s data.

Conventions

These conventions apply to every endpoint. The full request/response schemas for each are in the API Reference.
Always pass the resolved DepositWallet or legacy Safe proxy as wallet — never the connected EOA. The EOA holds no shares or positions, so reads keyed on it return empty. See Wallets for resolution.

Indexing: read-only reads + one write

1

Read the market

Call a read endpoint (e.g. GET /markets/{conditionId}).
2

Handle not-indexed-yet

If you get a 404, or the id lands in notFound, the market simply has not been indexed.
3

Index from Polymarket

POST /markets with the missing conditionIds. Robin pulls them from Polymarket and returns the { markets, notFound } payload — already containing the freshly indexed market data, so you can use it immediately.
A conditionId still in notFound after POST /markets does not exist on Polymarket. Treat that as a hard not-found.

The APY breakdown

Both market and quote responses expose the bonus programme APY as a structured breakdown rather than a single opaque number. The split mirrors the on-/off-chain boundary: the vault pays only organic yield on-chain via dual-index accounting, while guarantee, matching, and points are an off-chain programme Robin computes at withdrawal and pays in a separate USDC transaction.
  • Market headlines give per-side base + matching, plus a min–max APY range and a maxPointsBoost ceiling — the spread reflects how much organic yield, matching, and points a deposit could earn depending on size and the pool’s balance.
  • Personalized quotes return projectedApy { total, base, matching, points } for the supplied wallet and amounts — the realistic APY that wallet would lock in.
  • Points are abstracted away. You never handle points directly; they appear only as the points line in the breakdown and folded into total.
See Conventions for the full APY formula and how base, matching, and points are computed.

Next steps

Quickstart

Resolve a wallet, read a market, and submit your first deposit.

Conventions

Units, scales, ids, and the full APY formula.

Deposits

The on-chain pull and push deposit flows.