API
Four public endpoints, no keys, no rate cards. The same data the site renders.
Endpoints
| Route | Returns |
|---|---|
GET /api/vaults | all vaults with constituents, weights and live float |
GET /api/vaults/:symbol | one vault by symbol, e.g. ARC10 |
GET /api/stats | protocol-level stats, current epoch, float per constituent |
GET /api/chain | live block number and gas price from the Arc RPC |
GET /api/contracts | deployed addresses on the active network |
Example
$ curl https://arcyield.dev/api/vaults/ARC10
{
"symbol": "ARC10",
"name": "Arc Ten",
"epoch": 0,
"navPerShare": 1.0,
"holdings": [
{ "ticker": "USYC", "weightBps": 1500, "assetClass": "treasury", "floatOnArc": ... }
]
}A 404 on /api/vaults/:symbol returns a JSON error naming the valid listing route. Symbols are case-insensitive.
Caching
Registry-backed routes revalidate every 60 seconds, and so does the float read. /api/chain revalidates every 12 seconds and degrades gracefully: if the RPC times out, ok is false and the block fields are null rather than stale.