Skip to content

Public Vaults API

Read-only vault and share-class data. No authentication required. All responses are JSON with snake_case fields.

Base URL: https://api.arkonix.xyz

Vault endpoints (keyed by vault address)

List vaults

GET /public/vaults

Returns the active share classes available for deposits, each with nested vault deployments, partner attribution, return metrics, TVL, and epoch timing.

Query parameter Type Description
chain_id integer Filter by network
partner_name string Filter by operating partner
min_apy number Minimum all-time return threshold
sort_by string Sort key (e.g. returns, TVL)

Get a vault

GET /public/vaults/{vault_address}

Looks up a vault by contract address and returns its share class with full details: sibling vault deployments, partners, deposit assets, return windows, TVL, share price, and epoch timing. The response includes the share_class_id used by the share-class endpoints below.

Per-user transactions

GET /public/vaults/{vault_address}/transactions?user_address=0x…

Deposit and withdrawal history for one wallet in a vault, plus that wallet's still-pending requests.

Query parameter Type Required Description
user_address string Yes Wallet to scope to — only that user's rows are returned
transaction_type string No DEPOSIT · WITHDRAWAL · DEPOSIT_REQUEST · REDEEM_REQUEST · ALL (default)
limit / offset integer No Pagination

Rows with a null transaction hash, block number, and timestamp are pending requests awaiting their epoch. A claim settles as WITHDRAWAL. Row order is not guaranteed — sort by timestamp client-side.

Share-price history

GET /public/vaults/{vault_address}/share-price-history

Historical share-price points derived from on-chain UpdateSharePrice events — each point carries the block number and transaction hash, so the series is independently verifiable. Chronologically sorted for charting.

Share-class endpoints (keyed by share-class id)

Get the share_class_id from GET /public/vaults/{vault_address} first.

Return history

GET /public/share-classes/{share_class_id}/apy-history?days=30

Headline return windows (7d/30d/90d/all-time) plus a time series of roughly 50 points (oldest → newest). days (default 30, range 1–365) controls only the series window, not the headline fields.

Endpoint path vs. semantics

The path says apy-history for backward compatibility, but the values are returns: window figures are cumulative, and only the all-time figure is annualized. See Financial Data & Charting for the full semantics — including why null must never be rendered as 0.

TVL history

GET /public/share-classes/{share_class_id}/tvl-history?days=30

NAV/TVL time series with per-point share price and total supply.

Holdings (asset distribution)

GET /public/share-classes/{share_class_id}/holdings

Per-asset holdings with USD values and backend-computed weights (pct_of_tvl). If some holdings couldn't be priced, the response is flagged partial with human-readable reasons — check it before displaying totals.

Fees

GET /public/share-classes/{share_class_id}/fees

Management and performance fee rates (basis points and formatted percent) and the fee recipient. An uninitialized fee configuration means "no fees configured", not 0%. Published returns are already net of fees.

Health

GET /health

Liveness check.

Response types

The Vault SDK types reference documents the camelCase versions of every response shape (VaultFinancials, ReturnHistory, TvlHistory, SharePriceHistory, VaultTransactions, VaultAssetDistribution, ShareClassFees); the raw API returns the same structures in snake_case.