RING

API

Reads are JSON with open CORS. Writes need a wallet session (a signed message, never a transaction).

MethodPathWhatAccess
GET/api/configPhase (pre-launch or live), the index version and size.public, CORS
POST/api/looksLook at an address: { address, save? } → its tree, the NOAA chronology, rarity. Saving needs a session for that wallet.30/min per IP
GET/api/series/{study}A NOAA chronology by study id, parsed (index × 1000, sample depth).public, CORS
GET/api/core/{study}The record's longest core: ring widths in millimetres, from NOAA's .rwl file.public, CORS
GET/api/trees?limit=&before=Saved trees, newest first.public, CORS
GET/api/trees/{n}One saved tree.public, CORS
PUT/api/trees/{n}/studioSave your cut: { from, to, tone, cut, mark: { year, note } }. Owner only.session
GET/api/wallet/{address}The tree a wallet saved, if any.public, CORS
GET/api/forestEvery saved tree, and for each year from 20 CE to 2019 how many were alive to record it.public, CORS
POST/api/auth/nonceStart sign-in: { address } → a message to sign.20/min per IP
POST/api/auth/verifyFinish sign-in: { address, message, signature } → session cookie.20/min per IP
GET/api/meYour session, phase, holder status and tree.session
POST/api/auth/logoutEnd the session.session

Try /api/forest · /api/trees · /api/config. The index itself is /data/itrdb-v1.json.