Skip to main content
Subscribe addresses to daily portfolio snapshots, then read any day a snapshot was taken with Historical Portfolio. A subscription lasts one year.
Cost: Listing is free. Subscribing and renewing cost 1,200 credits per address per year ($30).
Interactive Playground: Test these endpoints in the API Playground. Get your API key at data.octav.fi
Snapshots cannot be backfilled: history starts on the subscription date, never before it. Subscribe before you need the history.

The subscription object

string
subscription for an API snapshot subscription, license for an address licensed in Octav Pro. Licenses are renewed in the app, not through this API.
string
Wallet address.
string
Your description of the address. May be empty.
string
When the subscription started.
string
When the subscription ends.
boolean
When true, the subscription renews itself for 1,200 credits on its end date. If your balance falls short, it is not renewed and autoRenew turns false. Always false for licenses.
string
active, expiring (ends within 2 months: a subscription can be renewed now, a license renews in Octav Pro) or expired.
string
When the most recent daily snapshot was taken. Omitted until the first one.

List Subscriptions

Every address whose snapshots your key can read: API subscriptions and licensed addresses. An address covered by both appears once for each.
Cost: Free

Endpoint

Parameters

string
Comma-separated addresses to return only those. Addresses without a subscription or license are left out.

Example

Example Response


Subscribe Addresses

Subscribe addresses for one year. Only new addresses are charged: an address that already has a subscription is returned as it is, never charged or changed.
Cost: 1,200 credits per new address. If your balance does not cover every new address, the request fails with 402 and nothing is created.

Endpoint

Parameters

array
required
1–500 entries per request.
string
required
EVM or Solana address. Must be unique within the request.
string
Your description of the address.

Example

Example Response

Every address sent comes back with a status, grouped by status rather than in request order:

Renew Subscriptions

Renew subscriptions for another year. A subscription can be renewed once it has expired or within 2 months of its end date (status is expired or expiring), so years cannot be bought ahead. Renewing adds a year to the current end date, or a year from today if the subscription has already expired. The start date and the autoRenew setting are unchanged.
Cost: 1,200 credits per address.

Endpoint

Parameters

string[]
required
1–500 subscribed addresses per request. Must be unique within the request.

Example

Example Response

Returns the renewed subscriptions.

Rejected Renewals

If any address cannot be renewed, the whole request is rejected and nothing is charged. rejected lists each such address with its reason:

Address Matching

EVM addresses match case-insensitively. Solana addresses are case-sensitive.

Error Responses

A missing or invalid API key, or one without snapshot access, returns 401 with { "message": "Unauthorized" }. A malformed body (missing or empty addresses, more than 500 addresses) returns 400 with { "error": "Validation Failed", "details": ... }.
Rate limit: 360 requests/min.

Migrating from /v1/subscribe-snapshot

POST /v1/subscribe-snapshot is deprecated. It still works, but returns only the subscriptions it created, so addresses that were already subscribed come back as []. Send the same body to POST /v1/snapshot-subscriptions to get a status for every address, and renew with POST /v1/snapshot-subscriptions/renew.

Historical Portfolio

Read a subscribed address on a past date

Credits

Check your balance before subscribing