> ## Documentation Index
> Fetch the complete documentation index at: https://docs.serialized.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# Conventions

> The contract every endpoint follows

## One envelope

Every response is `{ data, meta }`. `meta.asOf` is the server timestamp (ms). Partial sources appear in `meta.degraded` - data is never silently faked.

## Chain ids

`evm:<EIP-155 id>` (e.g. `evm:8453` for Base, `evm:645749` for HyperEVM - canonical ids, nothing invented) and `solana`.

## camelCase fields, ms timestamps

All fields are camelCase; every timestamp is unix milliseconds and ends in `At` (candle `time` is unix seconds, TradingView-style).

## null means unknown

A `null` field means the source is unavailable or the value fails sanity checks (e.g. marketCapUsd > \$1T). A `0` is always a measured zero.

## Strict validation

Unknown params or invalid enums return 400 with a machine-readable `error.code` - never silently-empty data.

## Native + USD

On-chain amounts are native-denominated (`priceNative`, `liquidityNative` as strings for precision); USD fields are computed at the edge from live native prices. Amounts are GROSS on-chain (Mobula was net-of-fee: a \~0.3-1% systematic difference is expected).

## Batch twins

Hot single-GET endpoints have a POST twin on the same path taking `items[]`; the response array is in input order with per-item `{error}` slots. Billing is per item.

## Solana included

Every REST endpoint and stream also serves Solana with the same shapes: chain=solana, base58 addresses (case-sensitive), tx identity is the signature (carried in txHash). Solana volumes and counts are organic (wash-trading filtered); trades aggregate multihop legs per transaction (effective VWAP).
