Open the app

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:

Shell
curl "https://tenor.ink/api/tenor/v1/auctions?limit=5"

Endpoints#

All endpoints are GET and return JSON.

EndpointReturns
/healthProcess liveness
/readyWhether the database, RPC, network and program checks pass and a recent snapshot exists
/v1/checkpointFinalized slot, blockhash, snapshot digest and account count
/v1/seriesSeries accounts
/v1/auctionsAuction accounts
/v1/ordersOrder accounts, including loan state
/v1/accountsAny 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/inputsCurrent verified SOL and USDC prices, the Jito conversion and chain time
/v1/keeper/actionsThe keeper's last 100 actions with signatures and status
/v1/stakingStaking totals, vaults, reward index and the governance rules
/v1/stakesStakes with voting weight and claimable USDC; owner filters
/v1/stakes/<owner>One wallet's stake, unlock time, claimable USDC and voter weight record
/v1/governanceThe realm, its governance settings and the treasury that creates series
/v1/governance/proposalsProposals 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#

ParameterApplies toMeaning
parentauctions, ordersSeries of an auction, or auction of an order
ownerordersOrder owner
stateorders0 to 4, see below
limitlists1 to 100
cursorlistsnextCursor 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.

JSON
{
  "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#

StateMeaning
0Committed, not revealed
1Revealed
2Lender claimed
3Loan active
4Resolved: repaid, liquidated, expired, unfilled or refunded

A loan's maturity and its note pool are fields of its parent auction.

Errors#

StatusWhen
400An invalid address, limit, kind or state
404The account is not indexed
405A method other than GET
503The database, RPC or snapshot isn't ready