Reference
HTTP API
The Tenor index serves finalized account state as JSON. It is read-only, needs no key, and never sends transactions.
The index reads every Tenor account at the finalized commitment, checks owners, layouts and derived addresses, and stores each snapshot atomically. The app reads it at /api/tenor on this site, and so can you:
curl "https://tenor.ink/api/tenor/v1/auctions?limit=5"Endpoints#
All endpoints are GET and return JSON.
| Endpoint | Returns |
|---|---|
/health | Process liveness |
/ready | Whether the database, RPC, network and program checks pass and a recent snapshot exists |
/v1/checkpoint | Finalized slot, blockhash, snapshot digest and account count |
/v1/series | Series accounts |
/v1/auctions | Auction accounts |
/v1/orders | Order accounts, including loan state |
/v1/accounts | Any kind, with kind=series, auction, order, config, stake or voter_weight |
/v1/accounts/<address> | One indexed account, including whether it closed |
/v1/rpc/accounts/<address> | One account read straight from RPC and verified |
/v1/risk/inputs | Current verified SOL and USDC prices, the Jito conversion and chain time |
/v1/keeper/actions | The keeper's last 100 actions with signatures and status |
/v1/staking | Staking totals, vaults, reward index and the governance rules |
/v1/stakes | Stakes with voting weight and claimable USDC; owner filters |
/v1/stakes/<owner> | One wallet's stake, unlock time, claimable USDC and voter weight record |
/v1/governance | The realm, its governance settings and the treasury that creates series |
/v1/governance/proposals | Proposals with their state and votes; state filters, e.g. Voting |
/v1/governance/proposals/<address> | One proposal with its transactions and every vote |
Filters and paging#
| Parameter | Applies to | Meaning |
|---|---|---|
parent | auctions, orders | Series of an auction, or auction of an order |
owner | orders | Order owner |
state | orders | 0 to 4, see below |
limit | lists | 1 to 100 |
cursor | lists | nextCursor from the previous page |
Lists are sorted by address. Each page carries finalizedSlot; when you combine pages, compare it to know they come from the same snapshot.
{
"finalizedSlot": "463574790",
"items": [
{
"address": "43q5XoNZ3sX9MDrJDQYZA7jW16u8agHhKBd3HcHbBuRk",
"kind": "auction",
"parent": "3CBeA27PZXygUuhX5C7cj1X8fP4rNTtoYSgvYfWkmSR2",
"slot": "463574790",
"decoded": { "sequence": "9", "clearingTick": 25, "matched": "1430000000000", "cleared": true }
}
],
"nextCursor": null
}Every integer amount, slot and timestamp is a decimal string. USDC amounts are in atoms of 0.000001 USDC.
Order states#
| State | Meaning |
|---|---|
0 | Committed, not revealed |
1 | Revealed |
2 | Lender claimed |
3 | Loan active |
4 | Resolved: repaid, liquidated, expired, unfilled or refunded |
A loan's maturity and its note pool are fields of its parent auction.
Errors#
| Status | When |
|---|---|
400 | An invalid address, limit, kind or state |
404 | The account is not indexed |
405 | A method other than GET |
503 | The database, RPC or snapshot isn't ready |