Skip to main content
inventory_deltas contains every asset balance change for every address involved in the transaction. These are the raw token flows that underlie the economics summary — where economics gives you a curated financial view of the elected actor, inventory_deltas gives you the full, unfiltered picture of what moved and where. Each entry in the array represents a single directional change for a single address and a single asset. A two-sided swap between addresses A and B will produce at least four entries: an outflow and an inflow for each party.

Example Entry

Fields

string
required
Checksummed Ethereum address whose balance changed. This may be any address involved in the transaction — the signer, the elected actor, a protocol contract, a liquidity pool, or an intermediate router.
string
required
Opaque, stable identifier for the asset lane. This value is stable across transactions and safe to use as a grouping or deduplication key — for example, to aggregate all flows of the same token across multiple calls.
Treat asset_lane as an opaque string. Its internal structure is not part of the public API and may change without a schema_version bump. Do not parse or derive meaning from its contents.
string
required
Human-readable label for the asset, typically the token symbol (e.g. "USDC", "WETH", "UNI-V3-LP"). Suitable for display in tables and tooltips.Note that labels are best-effort and sourced from on-chain metadata — they are not guaranteed to be unique across different contracts. Use asset_lane as the stable identifier for any logic that needs to distinguish assets.
string
required
Direction of the balance change from the subject’s perspective. One of:
string
required
Human-formatted token quantity, adjusted for the asset’s decimals and expressed as a decimal string. Always positive — use direction to determine sign.Example: "11044.505802" (not -11044.505802 for an outflow)
string
required
Signed integer quantity before decimal adjustment — the raw on-chain unit count. Positive for inflows, negative for outflows. Use this field when you need precise arithmetic without floating-point rounding.Example: "11044505802" for 11044.505802 USDC (6 decimals)
DisplayMoney
required
USD value of this delta expressed as a DisplayMoney object — { text, available, reason? }. Always check available before parsing text. Will be unavailable when the asset could not be priced.See the economics page for the full DisplayMoney shape.
string | null
The data source used to price this asset (e.g. "coingecko", "on_chain_oracle", "uniswap_v3_twap"). null when the asset was not priced or the source is unknown.This field is intended for audit trails and debugging — it should not be surfaced in consumer-facing UIs.
string | null
Confidence in the price used for this delta — "High", "Medium", or "Low". null when the asset was not priced.Consider surfacing this when "Low" to indicate that a USD figure may not be reliable. Hide it entirely for "High" and "Medium" in standard UIs.

Client Guidance

Display formatting

Use direction and quantity together to render signed display values. Never rely on signed_quantity for display — it is a raw integer before decimal adjustment and will confuse users.

Using asset_lane as a stable ID

asset_lane is the right key for any grouping or deduplication logic. asset_label alone is not unique:

Hiding internal fields

price_source and price_confidence are diagnostic fields. Keep them out of consumer-facing UIs unless you are building a dedicated analytics or debugging surface:

Common Patterns

Per-address summary

Group by subject to build a wallet-level view of who gained and who lost in the transaction:

Per-token flow

Group by asset_lane (not asset_label) to see the net movement of each token across all addresses:

Received-assets list

Filter to the elected actor’s inflows to reconstruct what they received — equivalent to economics.token_in but machine-parseable:

Largest movements first

Sort by USD value descending to surface the most significant flows at a glance. Since usd.text is a formatted string, parse the numeric portion first:
For the most common use cases — displaying what an address sent and received — prefer economics.token_in and economics.token_out which are already formatted for display. Reach into inventory_deltas when you need per-asset USD values, multi-address breakdowns, or programmatic access to individual flows.