Accurendocs
Access dApp

API

Errors and limits

What comes back when something is wrong, and what the API does not do to you.

#Shape

One flat field. error is a stable string you can branch on; message is prose for a human and may change. Some errors add a field naming what was acceptable.

json
{
  "error": "unsupported_format",
  "supported": ["positions", "activity", "multipliers", "gains", "koinly"]
}

#What you can get back

Status`error`Means
401unauthorizedKey missing, revoked, or malformed. A session cookie is never accepted here — see below.
400invalid_addressNot a valid EVM address
400address_requiredThe call needs an address and none was sent
400invalid_dateDates are YYYY-MM-DD
400unsupported_currencyNot one of the 20 the ECB set publishes
400unsupported_formatExport format is not one of the five; the list comes back with it
400token_required_with_atat only means something for one token
400unknown_alert_kindA webhook kinds entry is not an alert kind; the unknown ones come back with it
400url_requiredA webhook needs a URL
400invalid_relationshipResolving an event needs self, exchange, counterparty, or contract
400no_counterpartyThat event has nobody on the other side to label
400active_requiredThe endpoint must be enabled for this
400rejectedThe write was refused; message says why
404not_foundNo such wallet, event, or endpoint
404no_rate_for_dateNo published rate on or before that date

A cookie will never authenticate this API

/v1/* accepts a bearer key and nothing else. If a session cookie could authorise it, any site you visited could read your portfolio through your own browser. Sending one returns 401 unauthorized, deliberately, and it is tested.

#Rate limits

There are none yet

This page used to publish three tiers — 120 reads a minute, 20 writes, 10 exports a day. None of them was implemented, and a limit you can rely on is worse than no limit if it is imaginary. Be considerate rather than precise for now: reads hit the chain and the SEC behind the scenes, and both of those do rate-limit us.

Do not poll for income

Multiplier accruals are rare and irregular. Register a webhook on the accrued-income kind instead of polling events on a timer — you will hear about it sooner and read far less.

⌘I