Skip to main content
These commands also appear in circuit data --help. See Data for the TypeScript surface, where agent.data.<method> calls the command of the same name in camel case.

Across every command

  • Prices, amounts, percentages and fractional rates are decimal strings; counts and leverage are numbers. Units: a Base figure counts the market’s base asset, and a Quote figure is stated in its quote asset. On a market row, a Usd figure is that quote figure valued at Circuit’s own mark for the quote asset, null when Circuit holds no such mark. An OHLC figure is quote units per one base unit, and a rate is a fraction, never a percent.
  • A venue is where a thing trades; a vendor is a third party reporting facts it does not host. A command named for a market (mids, candles, markets, funding_rates, open_interest) reports what one venue saw and is keyed by —venue and —venue-symbol; a command named asset_… (asset_fundamentals, asset_prices) reports what a vendor says about the asset across the whole market and is keyed by —asset; marks is Circuit’s own valuation of a token it holds, keyed by contract address. Every one of them is a display and accounting fact, never the price an action acts on: a swap takes its price from the executable quote it returns, and a venue order that takes a price takes it from that venue’s own live read (mids, ticker, order book), never from marks or another display read; what a token or pool just did on a chain comes from pools.
  • Over the CLI and HTTP, a read that answers observations answers { rows, ageMs }, and agent.data answers it without ageMs: each key that answered contributes its own newest observation and a key that answered nothing contributes no tip, so the read’s tip is the oldest of the tips that answered, and ageMs is the milliseconds from the read’s instant, —as-of or now, back to it, null when rows is empty or nothing the read names answered. assets answers identity, which does not decay, so it answers { rows, nextCursor } with no ageMs.
  • Durations are integer milliseconds and windows are positive. No read is refused for age; Circuit owns feed freshness, so agents act on every answer as served.
  • A venue, dex or venue symbol the catalog holds no market under fails the read with 404 MARKET_NOT_CATALOGED, naming every symbol it does not hold, rather than answering an empty envelope; a delisted market is still cataloged, so it still answers.
  • Collection parameters are nonempty arrays in the SDK and model tools; repeat their flags in the CLI. HTTP reads POST every parameter as one JSON body, such as POST /data/assets with {“assetType”:“coin”}. Counts such as limit are numbers and filters such as stablecoinOnly are booleans; the answer is grouped by key and every row names its own.
  • A command that takes —lookback-ms answers, without it, its newest observation per key as of —as-of or now: the last closed bar, the live funding or open interest row, the current mark, the latest yield reading, the newest asset price observation, or the newest ended day of revenue, asset fundamentals or category fundamentals. markets is the exception, where the window only adds the windowed figures.
  • candles, funding_rates and open_interest over —lookback-ms, and assets, asset_prices, asset_fundamentals, yields, revenue and categories without —sort-by, answer up to 20000 rows per page, in key then time order, with nextCursor: pass it back as —cursor with every other parameter unchanged until it is null, and every —lookback-ms page reads as of the first page’s instant while a listing without it pages by key over current values. A page’s ageMs counts only the keys it finishes, null when every key continues on the next page. Every other read answers all its rows at once, a ranking its —limit rows, required except on markets, with nextCursor null. Circuit shows at most 50 rows of an answer.

Discovery

assets

List asset identities, contracts, venue listings and vendor keys. Identity rather than observation, so it carries no age and states every link as of —as-of. —search is how an asset named in words is found, matching a substring of its symbol or name. It is the lookup behind the other commands’ keys: an asset’s id is their —asset, its vendorIdentifiers carry the vendorKey asset_fundamentals and asset_prices report under, its venueIdentifiers carry the venue, dex and venueSymbol the market commands take, and its contracts carry the network and address marks and pools take. One row per id. Parameters: venue (optional, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (optional, array); dex (optional, string); network (optional, string; ethereum:1, ethereum:42161, ethereum:137, ethereum:10, ethereum:8453, ethereum:56, ethereum:143, ethereum:999, ethereum:4663, ethereum:5042, ethereum:57073, ethereum:747474, ethereum:43114, ethereum:9745, ethereum:59144, ethereum:130, ethereum:146, solana, hypercore, lighter, lighter-robinhood, papertrade, derive); address (optional, string); vendor (optional, string; defillama, coingecko, coingecko-rwa); vendorKey (optional, string); assetType (optional, string; coin, perpetual, vault, prediction, stock, fiat, commodity, etf, bond); categoryKey (optional, string); search (optional, string); underlyingAsset (optional, array); includeDelisted (optional, boolean); cursor (optional, string); asOf (optional, string). See definitions. Row fields: id, symbol, name, assetType, underlyingAsset, venueIdentifiers, venueIdentifiers[].venue, venueIdentifiers[].dex, venueIdentifiers[].venueSymbol, venueIdentifiers[].quoteAsset, venueIdentifiers[].quoteSymbol, venueIdentifiers[].maximumLeverage, venueIdentifiers[].marginRule, venueIdentifiers[].orderSizeDecimals, venueIdentifiers[].delistedAt, vendorIdentifiers, vendorIdentifiers[].vendor, vendorIdentifiers[].vendorKey, categoryKeys, contracts. See definitions.

markets

Discover live venue markets and compare their trading statistics. Use —venue-symbol for exact named markets; omit it to discover the venue. A derived view that owns no fact: every figure is a join over candles and the current mid, open interest and funding, plus the quote asset’s mark. Its age bounds the mid, open interest and funding; dayAgoPrice, volumeQuote and volumeUsd come from complete bars and never move the tip. dayAgoPrice is null when the one-minute bar opening 24 hours before the current minute is missing, and volumeQuote is null, never zero, when no complete hourly bar falls in the trailing 24 hours. —lookback-ms is optional and names the window for the five windowed figures, which stand as of the last complete day or settlement, contribute no tip, and read null when no window is asked for. One row per venue, dex, venueSymbol. Parameters: venue (required, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (optional, array); dex (optional, string); assetType (optional, string; coin, perpetual, vault, prediction, stock, fiat, commodity, etf, bond); lookbackMs (optional, number); asOf (optional, string); sortBy (optional, string; volumeUsd, openInterestUsd, fundingRate, cumulativeFundingRate, medianDailyVolumeUsd); order (optional, string; desc, asc); limit (optional, number). See definitions. Row fields: venue, dex, venueSymbol, assetType, underlyingAsset, underlyingAssetType, baseSymbol, quoteSymbol, maximumLeverage, marginRule, orderSizeDecimals, price, priceUsd, dayAgoPrice, volumeQuote, volumeUsd, openInterestBase, openInterestQuote, openInterestUsd, fundingRate, settlesAt, medianDailyVolumeQuote, medianDailyVolumeUsd, observedDayCount, cumulativeFundingRate, fundingSettlementCount. See definitions.

pools

Discover pools, new launches, constituents and windowed trading activity; only onchain pools carry liquidity and activity. Without —sort-by and —limit, name the pools with —pool; a liquidityUsd ranking answers only pools that have one. Two vendors answer side by side. A defillama row is a yields opportunity described by the vendor and carries no creation, fee, flow or liquidity, so it never matches —created-within-ms or a liquidity or activity ranking; rank onchain rows. An onchain row is a Uniswap v2, v3 or v4 pool we read from the chain ourselves, keyed network|poolId, carrying its creation block’s instant and one minute and hour of flow per token it traded. Every traded figure is derived at read time from the pool’s two legs: the quote leg is the constituent among the chain’s own quote tokens, the base leg is the other one, and a pool with no such leg or with other than two constituents still answers with its counts at zero and its legs null. Counts are taken once from the base leg, since one swap touches both tokens, and a buy is base leaving the pool. lastPrice, lastTradeMinute and the reserves are the pool’s newest traded minute rather than the window’s, so a quiet window still says where it last traded; without —as-of that minute may still be in progress, and an —as-of read counts closed minutes only, within the one-minute retention. The read’s tip is the last instant the pool detector scanned each network in scope through that chain’s head, computed before the rows, so an empty answer still carries an age and a feed reading behind the head ages until it catches up; a network never scanned to its head contributes no tip, and the read has no age when none of them has. One row per vendor, pool. Parameters: network (optional, array); vendor (optional, string; defillama, onchain); protocol (optional, string); factory (optional, array); pool (optional, array); token (optional, array); asset (optional, array); quoteToken (optional, array); createdWithinMs (optional, number); minLiquidityUsd (optional, string); minQuoteReserve (optional, string); sortBy (optional, string; tradeCount, volumeUsd, volumeQuote, liquidityUsd, priceChangeInWindow, createdAt); order (optional, string; desc, asc); limit (optional, number); lookbackMs (optional, number); asOf (optional, string). See definitions. Row fields: vendor, pool, network, protocol, factory, label, createdAt, firstObservedAt, depositToken, fee, tickSpacing, hooks, baseToken, baseAsset, baseSymbol, quoteToken, quoteRole, quoteAsset, quoteSymbol, tradeCount, buyCount, sellCount, volumeBase, volumeQuote, volumeUsd, baseReserve, quoteReserve, liquidityUsd, lastPrice, lastTradeMinute, priceChangeInWindow, liquidityChangeInWindow, constituents, constituents[].address, constituents[].symbol, constituents[].asset, constituents[].inflow, constituents[].outflow, constituents[].reserve. See definitions.

Prices and history

mids

Read live venue midpoints in quote units per base unit. History is candles; with —as-of the answer is the close of the candle bar ending at that instant, which is the accepted approximation. One row per venue, dex, venueSymbol. Parameters: venue (required, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (required, array); dex (optional, string); asOf (optional, string). See definitions. Row fields: venue, dex, venueSymbol, timestamp, price. See definitions.

candles

Read market OHLC, base volume and trade count per bar. The one owner of per-market volume, at every window. A bar is observed at its close, so the window holds every bar closing inside it, the read’s tip is the newest bar’s close. One row per venue, dex, venueSymbol, grain, timestampOpen. Parameters: venue (required, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (required, array); dex (optional, string); grain (required, string; 1m, 5m, 15m, 1h, 4h, 1d); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: venue, dex, venueSymbol, grain, timestampOpen, open, high, low, close, volumeBase, tradeCount, collectedFrom. See definitions.

marks

Read Circuit USD valuation history by token contract. A row is the window’s last observation inside its bin, stamped at that observation’s own instant; the bin is the finest of 15m, 1h, 4h and 1d that fits the window in 200 of them, so —lookback-ms 86400000 bins at 15m and 2592000000 at 4h. Circuit’s own price history, never a venue mid, and only for tokens Circuit itself prices: held wallet inventory, a held receipt token’s underlying, and coins under a live price trigger. Any other token, on any network, has no marks and returns no rows; —network accepts only the networks Circuit prices. A mark is never a trading signal, and its instant is the source’s own rather than the read’s: a chain token is priced by a vendor whose stamp already trails the chain by minutes, so read pricedAt instead of assuming the newest row is current. One row per network, address, tokenId, pricedAt. Parameters: network (required, string; ethereum:1, ethereum:42161, ethereum:137, ethereum:10, ethereum:8453, ethereum:56, ethereum:143, ethereum:999, ethereum:4663, ethereum:5042, ethereum:57073, ethereum:747474, ethereum:43114, ethereum:9745, ethereum:59144, ethereum:130, ethereum:146, solana, hypercore); address (required, string); tokenId (optional, string); lookbackMs (optional, number); asOf (optional, string). See definitions. Row fields: network, address, tokenId, priceUsd, pricedAt. See definitions.

asset_prices

Read current or historical vendor asset prices and market caps. Keyed by vendor key like asset_fundamentals, so an asset under two vendor ids answers two series. Two passes fill it and sweep on every row names the one that landed it: the daily census reads every catalogued key once, writing sweep census, and the fast lane revisits a key every 30 minutes, writing sweep refresh. A key is in the fast lane when its asset tokenizes an underlier (assets shows underlyingAsset), so every tokenized stock, fund or commodity is, or when its newest daily volume is at least ten thousand, judged afresh at every lap, so a key can enter and leave the lane; every other key is sampled once a day. Nothing is ever dropped, so a series carrying only census rows is sampled daily by design rather than broken. It carries no volume, since the vendor’s volume is a rolling window rather than a bar; the day’s volume, supply and rankings are asset_fundamentals. A —lookback-ms listing names —asset. One row per vendor, vendorKey, observedAt. Parameters: asset (optional, array); vendor (optional, string; defillama, coingecko, coingecko-rwa); assetType (optional, string; coin, perpetual, vault, prediction, stock, fiat, commodity, etf, bond); categoryKey (optional, string); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: vendor, vendorKey, asset, denominationAsset, denominationSymbol, observedAt, price, marketCap, sweep. See definitions.

Derivatives

funding_rates

Read predicted next funding or settled rates over a window. The current row is the predicted rate and its settlesAt lies in the future; under —as-of it is the rate settled at or before that instant, so settlesAt lies in the past and the quantity means the same thing either way. One row per venue, dex, venueSymbol, settlesAt. Parameters: venue (required, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (required, array); dex (optional, string); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: venue, dex, venueSymbol, settlesAt, fundingRate. See definitions.

open_interest

Read current or historical market open interest. The one market fact candles cannot hold; a spot market has no row. The current row is stamped at its own refresh instant. One row per venue, dex, venueSymbol, timestamp. Parameters: venue (required, string; hyperliquid, lighter, lighterRobinhood, derive); venueSymbol (required, array); dex (optional, string); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: venue, dex, venueSymbol, timestamp, openInterestBase. See definitions.

Fundamentals

yields

Compare deposit opportunities, returns, exposure and exit conditions. One token carries as many opportunities as there are protocols wrapping it, so Curve and Convex over one LP token are two rows told apart by protocol, never one. Advertised rows refresh every 1 hour and measured rows every 24 hours. A row is advertised, a rate the protocol or vendor publishes and a projection, or measured, the return a simulated withdrawal actually realized, net of queues, slippage and partial fills. Measured rows carry the exit facts and put their rate in apyExcludingRewards, since a withdrawal never receives separately-claimed incentives, which makes them directly comparable to an advertised base rate in one column. Tokens are named by contract address and carry our asset id only where we already track them, so depositAsset and a constituent’s asset read null for a token outside the catalog. An answer naming nothing we hold is a known zero, never an error. One row per vendor, pool, yieldKind, day. Parameters: pool (optional, array); depositToken (optional, array); depositAsset (optional, array); constituent (optional, array); protocol (optional, string); network (optional, string; solana, hypercore, lighter, lighter-robinhood, papertrade, derive, ethereum:1, ethereum:42161, ethereum:137, ethereum:10, ethereum:8453, ethereum:56, ethereum:143, ethereum:999, ethereum:4663, ethereum:5042, ethereum:57073, ethereum:747474, ethereum:43114, ethereum:9745, ethereum:59144, ethereum:130, ethereum:146); vendor (optional, string; defillama); yieldKind (optional, string; advertised, measured); stablecoinOnly (optional, boolean); singleAssetExposure (optional, boolean); impermanentLossRisk (optional, boolean); sortBy (optional, string; apyIncludingRewards, apyExcludingRewards, totalValueLockedUsd); order (optional, string; desc, asc); limit (optional, number); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: vendor, pool, yieldKind, protocol, network, label, depositToken, depositAsset, stablecoinOnly, singleAssetExposure, impermanentLossRisk, constituents, constituents[].address, constituents[].symbol, constituents[].decimals, constituents[].asset, day, firstObservedAt, apyIncludingRewards, apyExcludingRewards, totalValueLockedUsd, denominationAddress, denominationAsset, withdrawalOutcome, withdrawalEtaMs, withdrawableAmount, withdrawalSlippagePercent, measurementConfidence. See definitions.

revenue

Read daily protocol revenue or rank window totals. The three figures overlap and never sum. A ranked read answers one row per asset carrying each figure’s window sum and observedDayCount, ordered descending on the one —sort-by names, over every asset or only the ones —asset names. An asset DeFi Llama has never reported revenue for fails ASSET_NOT_TRACKED; an empty answer for a tracked asset is a known zero. A —lookback-ms listing names —asset, since every asset over every day has no ceiling; without —lookback-ms the newest day of every asset is one row each. One row per vendor, asset, day. Parameters: asset (optional, array); sortBy (optional, string; holders, total, fees); order (optional, string; desc, asc); limit (optional, number); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: asset, vendor, denominationAsset, denominationSymbol, day, firstObservedAt, holders, total, fees, contributingProtocols, symbol, observedDayCount. See definitions.

asset_fundamentals

Read daily vendor asset statistics or rank window aggregates. One row per vendor key, so an asset the vendor prices under two ids answers two rows, told apart by vendorKey and vendor, and —vendor names one: coingecko rows are priced instruments and coingecko-rwa rows are the real-world underliers they track, whose figures are the tokenized instruments’ aggregate. —category-key and —asset-type narrow the assets read, so a ranked read over one category or type is one call. A day’s volume is the 24 hours ending when the sweep ran, attributed to the day that just ended; the other figures are that instant’s readings. A ranked read answers one row per vendor key with the window sum of volume, the newest day of every other figure, and observedDayCount, ordered on the one —sort-by names. A —lookback-ms listing names —asset; without —lookback-ms the newest day of each key in scope is one row. The day’s price and market cap are also one observation in asset_prices, which holds the series. An asset with no rows has no vendor id or has not been swept yet; assets shows its vendorIdentifiers. One row per vendor, vendorKey, day. Parameters: asset (optional, array); vendor (optional, string; defillama, coingecko, coingecko-rwa); assetType (optional, string; coin, perpetual, vault, prediction, stock, fiat, commodity, etf, bond); categoryKey (optional, string); sortBy (optional, string; volume, price, marketCap, fullyDilutedValuation, circulatingSupply, totalSupply, maxSupply); order (optional, string; desc, asc); limit (optional, number); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: asset, vendor, vendorKey, denominationAsset, denominationSymbol, day, firstObservedAt, volume, price, marketCap, fullyDilutedValuation, circulatingSupply, totalSupply, maxSupply, symbol, observedDayCount. See definitions.

categories

Read vendor category market cap and 24h volume by day. The category keys are the ones assets —category-key filters on, and —search finds one by a substring of its key or name. A —lookback-ms listing names —category-key; without —lookback-ms the newest day of every category is one row each. A category the vendor lists without figures has no row. One row per vendor, categoryKey, day. Parameters: categoryKey (optional, array); search (optional, string); lookbackMs (optional, number); asOf (optional, string); cursor (optional, string). See definitions. Row fields: vendor, categoryKey, name, denominationAsset, denominationSymbol, day, firstObservedAt, marketCap, volume. See definitions.

Definitions

  • address: Contract address of the token, as spelled under an assets row’s “contracts”.
  • apyExcludingRewards: Annual compounded yield excluding incentives as a fraction, 0.038 = 3.8%; measured = realized exit. Null on a day the vendor published no figure.
  • apyIncludingRewards: Compounded annual yield with incentives as a fraction; APR converted. Null if measured.
  • asOf: ISO-8601 with offset, year ≥0001; anchors windows, known catalog links and age.
  • asset: Asset id, as returned in the “id” field of an assets row.
  • assetType: Kind of the base asset, never of the market: coin, perpetual, vault, prediction, stock, fiat, commodity, etf or bond. An index takes the kind of what it tracks, so a stock index is stock and a crypto index is coin. On a markets row coin is a spot pair and perpetual is a perp, and the filter matches the listing’s own kind or its underlying’s.
  • baseAsset: Catalog asset ID of the base token; null for untracked contracts.
  • baseReserve: Latest retained base reserve in whole tokens; null without base leg, reserve or decimals.
  • baseSymbol: Ticker of the leg the row counts Base figures in: the catalog ticker of the market’s base asset on a markets row, and on a pools row the constituent’s own symbol for the base leg, null when the pool has no base leg.
  • baseToken: Non-quote pool constituent as network/address; null when quoteToken is.
  • buyCount: Window trades taking base out; zero without a base leg or activity.
  • categoryKey: Vendor category ID from categories; filters assets, fundamentals and prices.
  • categoryKeys: Vendor category keys, listed by categories and filtered by —category-key.
  • circulatingSupply: Circulating asset units reported by the vendor; not a money amount.
  • close: Last trade price inside the bar, quote units per one base unit; it is the price mids answers for a past instant and the price markets values each bar’s volume at.
  • collectedFrom: api, archive (the venue’s trade archive), or null for bars combining both.
  • constituent: Filter exposure by catalog asset ID; untracked assets match nothing.
  • constituents: Every token the opportunity leaves a depositor exposed to, one entry each, so a single-asset vault and a 27-token pool read the same way. Each entry carries the token’s address, the vendor’s symbol for it, its scale, and our asset id where the catalog already tracks the token. A pool’s description is the newest one known as of the read, on every day of a window alike, since the vendor’s history names the pool and not the composition it had that day.
  • contracts: Every chain contract the catalog holds for the asset as of the read, one { network, address } each and none at all for an asset that has no token; a reference that does not parse is kept whole under error rather than dropped.
  • contributingProtocols: The vendor’s protocol names whose figures were summed into this day.
  • createdAt: Creation block chain time; null for defillama. Not firstObservedAt.
  • createdWithinMs: How old the pool may be, by its creation block: created within this duration of —as-of, or of now without it; e.g. 900000 for 15 minutes. It is the age filter, not the activity window, which is —lookback-ms. Pool age by chain time, never when we stored it, so a pool admitted during a catch-up is as old as the chain says. Required unless —pool, —token or —asset names what to answer, and a defillama row, which carries no createdAt, never matches it.
  • cumulativeFundingRate: Sum of settled window rates; not annualized. Mean divides by fundingSettlementCount.
  • cursor: A paged read answers up to 20000 rows per page; pass back its nextCursor, other flags unchanged, until it is null.
  • day: The UTC day the figure belongs to, not the instant the vendor stamped it. An advertised yields row answers the running day, since it is a snapshot of the pool as it stands; a measured yields row, and every revenue and volumes row, answers a day once it has ended, since the vendor’s figure for it is a daily measurement. firstObservedAt says when we stored it.
  • dayAgoPrice: Open of the one-minute bar 24 hours before the current minute; the baseline for the rolling 24h change.
  • decimals: How many base units make one whole token, as the vendor states it.
  • delistedAt: When the venue stopped listing this market, null while it still trades.
  • denominationAddress: Denomination token contract; null when the vendor supplies none.
  • denominationAsset: Catalog asset ID resolving denominationAddress; null if untracked.
  • denominationSymbol: Money-unit ticker for the row; supply fields count the asset itself.
  • depositAsset: Catalog asset ID of the deposit token; null for untracked contracts.
  • depositToken: Network/address reference of the token the opportunity is about: the pool’s LP or receipt token, the vault’s share token, null where the protocol issues none. As a filter, pass a returned object without error directly; depositAsset selects catalog IDs; either filter can match.
  • dex: Hyperliquid dex the market lives on, as spelled under a markets row: main for the venue’s own perps and every spot pair, otherwise the builder dex’s name. Omit it to read every dex the venue lists.
  • factory: Network/address reference that emitted the pool’s creation event, the deployer, which is how a fork is told from the protocol it copies since protocol names only the event interface; null where no creation event named one. As a filter, pass that reference object; it matches the network and address together.
  • fee: The pool’s fee as the protocol stores it, in hundredths of a basis point, so 3000 is 0.3%. A pool whose fee is set by its hook carries the dynamic-fee sentinel instead: test fee & 0x800000 (8388608) and read the live fee from the hook rather than from this number. Null where the protocol stores no fee.
  • fees: What users paid the protocol, in the row’s denomination: one day of it on a day row, the window sum on a ranked row; null when the vendor reported none.
  • firstObservedAt: When we first stored this day’s figure. On revenue and volumes a vendor restatement appends a new revision and a read returns the newest one as of the request; a yields day is written once and never restated.
  • fullyDilutedValuation: price × vendor total supply in denomination units; null if unreported.
  • fundingRate: Fraction per venue settlement interval; hourly on Hyperliquid, not annualized. Positive means long positions pay short positions and negative means shorts pay longs, as the venue publishes it; multiply by position notional for the amount charged at one settlement.
  • fundingSettlementCount: Settlements in cumulativeFundingRate; its mean denominator.
  • grain: Bar size; a 1d bar is a calendar day, and the trailing 24 hours is the last 24 1h bars.
  • high: Highest trade price inside the bar, quote units per one base unit.
  • holders: The share of revenue accruing to token holders, in the row’s denomination: one day of it on a day row, the window sum on a ranked row; null when the vendor reported none.
  • hooks: Uniswap v4 hook address affecting swap costs or permissions; null if absent.
  • id: Circuit’s own catalog id for the asset, the uuid every other command’s —asset names it by.
  • impermanentLossRisk: Vendor-assessed divergence from holding constituents; also a filter.
  • includeDelisted: Keep delisted venue listings and assets whose every listing is delisted; false by default.
  • inflow: Whole tokens entering, both grains; “0” if none, null without decimals. Not trade counts.
  • label: Vendor opportunity name, e.g. USDC-WETH; not the non-unique deposit ticker.
  • lastPrice: The volume-weighted price over the pool’s newest traded minute, quote units per one base unit as a decimal string. It is taken from the newest minute the pool traded rather than from the window, so a quiet window still answers, and it is never an hourly figure; an —as-of read finds it only within the one-minute retention. Null when the pool has no minute row, that minute moved no base token, or either side’s decimals is unknown.
  • lastTradeMinute: Opening instant of the newest traded minute, which supplies lastPrice.
  • limit: Numeric integer, 1 to 100000 ranked rows; required with —sort-by except on markets.
  • liquidityChangeInWindow: Window quote-reserve change (newest/oldest − 1); null with <2 minutes.
  • liquidityUsd: What the pool holds, in US dollars: twice the quote reserve valued at the quote asset’s USD mark, so a pool seeded with its base token alone counts only the quote it can pay out. Null, never zero, without a quote reserve, without the quote token’s decimals, or where Circuit holds no mark for the quote asset.
  • lookbackMs: Window length back from —as-of, or from now without it; e.g. 172800000 for 48 hours. A bar is in the window when its close is. Omit it for the newest observation per key, except on pools, where it is the activity window the trade counts, volumes, price change and liquidity change are summed over: it defaults to —created-within-ms, or to 7d when neither is given, and answers one row per pool either way, see candles for per-bar rows.
  • low: Lowest trade price inside the bar, quote units per one base unit.
  • marginRule: Margin modes this perpetual accepts: crossOrIsolated takes either, isolatedOnly refuses cross, strictIsolated also keeps isolated margin until the position closes; set leverage with a marginMode it accepts. Null on spot markets and on Lighter, whose rule Circuit does not read.
  • marketCap: Vendor price × circulatingSupply, in denomination units; null if unreported, and 0 beside a 0 circulatingSupply is the vendor reporting no supply, never a worthless asset.
  • maximumLeverage: Highest leverage the venue allows on this market, null when it publishes none.
  • maxSupply: Vendor maximum asset units; null if uncapped or unknown.
  • measurementConfidence: Vendor trust (high/medium/low); null for advertised or ungraded rows.
  • medianDailyVolumeQuote: Median of the window’s daily volumes, each day being one 1d bar’s whole-day base volume valued at that same bar’s close. It is not the median of volumeQuote, which values each hour at its own close.
  • medianDailyVolumeUsd: medianDailyVolumeQuote at the current quote USD mark, not daily marks.
  • minLiquidityUsd: Answer only pools whose liquidityUsd is at least this many US dollars; a pool with none is left out rather than kept, and a read where no candidate pool’s quote asset carries a mark fails naming the network and the quote asset, the way ranking on liquidityUsd does.
  • minQuoteReserve: Minimum quoteReserve in whole tokens; requires one —quote-token.
  • name: The catalog’s name for the asset on an assets row, the vendor’s own name for the category on a categories row. An asset the catalog minted from a venue listing, or from a source that published no longer name, carries its ticker here, so name and symbol read the same on it.
  • network: Network id: ethereum:<EVM chain id> for every EVM chain (ethereum:1 is Ethereum, ethereum:8453 is Base), solana, or hypercore.
  • observedAt: The vendor’s own last-updated stamp on the price observation rather than the instant our sweep stored it, so the newest row already trails the vendor.
  • observedDayCount: Contributing days, or markets 1d bars; divide window sums by this for means.
  • open: First trade price inside the bar, quote units per one base unit.
  • openInterestBase: Open contracts on the market counted in base-asset units, never quote or USD; null where the venue published no figure, which on a markets row is every spot market.
  • openInterestQuote: openInterestBase valued at the row’s own price, in quote-asset units; null when either of them is null.
  • openInterestUsd: openInterestQuote restated in USD at the quote asset’s mark, never a mark of the base asset; null when Circuit holds no such mark.
  • order: desc (default) or asc; nulls last either way. Requires —sort-by.
  • orderSizeDecimals: How many decimal places the venue accepts in an order’s size on this market.
  • outflow: Whole tokens leaving, both grains; “0” if none, null without decimals. Not trade counts.
  • pool: The reporting vendor’s own id for one opportunity, and the identity a yields row is keyed on beside its vendor.
  • price: On a market row, the venue’s mid in quote units per one base unit. On a vendor row, the vendor’s reported price of one unit in the row’s denomination, however the vendor derives it; a display and accounting figure, never an executable quote. Never Circuit’s display mark price.
  • priceChangeInWindow: Window price change (newest/oldest − 1); null with <2 traded minutes.
  • pricedAt: Source pricing instant of the observation, not its bucket boundary.
  • priceUsd: On a marks row, the token’s observed USD price. On a markets row, the mid restated in USD through the quote asset’s mark, never a mark of the base asset, and null when Circuit holds no such mark.
  • protocol: Deposit protocol, distinguishing wrappers of one token; filter matches exactly.
  • quoteAsset: Pricing-leg asset ID; for perps, the dex collateral token.
  • quoteReserve: Latest retained quote reserve in whole tokens; null without quote leg, reserve or decimals.
  • quoteRole: native or dollar (including bridged USDC); null when quoteToken is.
  • quoteSymbol: Ticker of the leg the row prices in: the catalog ticker of quoteAsset on a markets row and on an assets venue listing, and on a pools row the constituent’s own symbol for the quote leg, null when the pool has no quote leg.
  • quoteToken: Network/address reference of the pool’s quote leg, in the form a swap can spend: a wrapped-native constituent is reported as the native address, because a swap from wrapped native needs a wrapped balance the wallet may not hold, and the pool’s own constituent is still listed under constituents. Null when the pool holds no leg among the chain’s quote tokens, or does not hold exactly two tokens. As a filter, pass that reference object to select pools quoting in it.
  • reserve: Whole tokens of this token the pool held at its newest observation carrying a reserve, never a window figure, which an —as-of read finds only within the one-minute retention; null until the token has been observed in the pool’s reserves or without its decimals. A Uniswap v3 reserve is the pool contract’s balance; a v4 reserve is the principal on the pool’s liquidity curve, excluding uncollected fees and anything a hook holds outside it.
  • search: Case-insensitive substring of an asset’s symbol or name, or of a category’s key or name; two characters or more, and it narrows rather than ranks.
  • sellCount: Window trades putting base in; zero without a base leg or activity.
  • settlesAt: Funding charge instant: upcoming hour-end if predicted, past if settled.
  • singleAssetExposure: Vendor-assessed exposure to one token rather than a basket; also a filter.
  • sortBy: Rank instead of list: aggregate this row field over the window for every key in scope and answer one row per key, ordered descending with nulls last, with observedDayCount as the mean’s denominator. On pools and markets it orders the rows on the field, NULLS LAST; a descending pools ranking on a window field (tradeCount, volumeUsd, volumeQuote, priceChangeInWindow) answers only pools whose tradeCount in the window is above zero. A flow such as volume or revenue is summed over the window; a stock figure such as market cap or supply takes its newest day in the window.
  • stablecoinOnly: Vendor assessment that all exposed tokens are stablecoins; also a filter.
  • sweep: census: daily for all keys; refresh: every 30m while latest daily volume ≥10000.
  • symbol: The subject’s ticker: the catalog’s own ticker for the asset on an assets row and on a ranked revenue or asset_fundamentals row, and inside constituents the symbol the pool’s constituent record spells for that token, null where the source published none.
  • tickSpacing: Allowed liquidity-bound spacing in ticks; null without concentrated liquidity.
  • timestamp: The instant the observation stands at: the refresh that read the venue on every open_interest row and on a live mids row, the close of the 1m candle bar supplying the price on a historical mids row.
  • timestampOpen: The instant the bar opens; it closes one grain later.
  • token: Pool constituent network/address filter; use asset for catalog IDs.
  • tokenId: EVM multi-token sub-ID (e.g. ERC-1155); null for single-token contracts.
  • total: Protocol revenue, in the row’s denomination: one day of it on a day row, the window sum on a ranked row; null when the vendor reported none.
  • totalSupply: Vendor minted units, including noncirculating; null if unreported.
  • totalValueLockedUsd: Vendor USD valuation, not derived from Circuit marks; null if unreported.
  • tradeCount: Trades the row counts: the venue’s own count for the bar on a candles row, null where the venue published none; on a pools row the base leg’s trades over the window, buyCount plus sellCount, zero where the pool has no base leg or did not trade.
  • underlyingAsset: Underlying asset ID; null if standalone. Filter lists assets deriving from it.
  • underlyingAssetType: Kind of the asset a perpetual tracks; null when no underlying is confirmed.
  • vendor: The third party that reports on the asset; as a flag on asset_fundamentals and asset_prices it narrows to that vendor’s rows. coingecko-rwa rows carry the aggregate of the tokenized instruments tracking the underlier, never the underlier’s own market: price is the instruments’ price, marketCap their combined tokenized float, volume their combined trading.
  • vendorIdentifiers: Every vendor key the asset is known by, and the keys asset_fundamentals and asset_prices report it under. One entry per vendor and vendor key, never one per vendor, so a vendor that prices the asset under two ids contributes two entries and reading only the first drops half the asset’s series.
  • vendorKey: Vendor asset ID from assets.vendorIdentifiers.
  • venue: Where the market trades, as listed under an assets row’s “venueIdentifiers”.
  • venueIdentifiers: Every live venue market this asset is the base of, one entry per venue, dex and venue symbol, carrying that listing’s quote asset, leverage and size precision; a delisted listing appears only under —include-delisted and carries its delistedAt.
  • venueSymbol: Case-sensitive venue market symbol, as returned by markets.
  • volume: Volume traded across every exchange the vendor aggregates, in the row’s denomination: one day of it on a day row, the window sum on a ranked row; null on an asset row when the vendor reports none.
  • volumeBase: Whole base tokens traded: inside the bar on candles, the only volume candles reports, from which markets values every bar at its own close; on pools what entered and left over the window, “0” without activity and null without decimals.
  • volumeQuote: Whole quote tokens traded: on markets the last 24 complete hourly bars, each valued at its close, null without bars; on pools what entered and left over the window, “0” without activity and null without decimals. Two quote tokens do not compare, so ranking pools on it takes one —quote-token; volumeUsd is the comparable figure.
  • volumeUsd: The row’s traded volume in US dollars: volumeQuote at the quote asset’s mark on a markets row, and on a pools row the window’s quote-token volume valued at a dollar per dollar-role token or at the network’s native mark; null, never zero, wherever that mark or the quote leg is missing.
  • withdrawableAmount: Simulated withdrawal in denomination-token units; null for advertised rows.
  • withdrawalEtaMs: Queued exit wait (ms); null for advertised rows or unreported wait.
  • withdrawalOutcome: What the vendor’s daily simulated withdrawal achieved, in its own words rather than a word of ours: ok_full for the whole position with no wait, ok_partial when only part could leave, delayed when it exited through a queue, no_exit_primary when the position has no primary exit route, reverted_liquidity, reverted_paused and reverted_unknown when the exit call failed for want of liquidity, because the protocol was blocking withdrawals, or for a reason the vendor did not name, and error_rpc when the measurement itself failed. Only a measured row carries one, and every measured row does.
  • withdrawalSlippagePercent: Signed percentage-point exit loss vs NAV; null for advertised rows.
  • yieldKind: advertised: vendor projection; measured: simulated return net of exit friction.