Multi-chain portfolio data model

Altcoin Folio API

Build portfolio APIs around stable asset identity, immutable observations, versioned classifications, scoped access, and visible data quality.

Stable resources before endpoints

Model owner, portfolio, location, account, asset, position, event, observation, and transfer group as separate resources. Use internal IDs while preserving chain IDs, contract or mint addresses, transaction identifiers, and provider record IDs.

Symbols and display names are metadata. They must never be the only key used to identify an asset across networks.

Provenance and uncertainty are data

Store raw observations before normalizing them. Version classifications and retain the reason for corrections. Return freshness, source, confidence, and status with balances and prices so clients can distinguish current, stale, estimated, and unsupported data.

Expose exceptions for unmatched transfers, unknown assets, missing basis, duplicate candidates, and incomplete source coverage. Do not hide unresolved work behind a clean total.

Read-only by default

Scope client tokens to specific portfolios and read actions. Keep trading and custody in a separate security domain. Validate every third-party response, use idempotent ingestion, test adapters against real failure cases, and produce reproducible report IDs for apps and agents.