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

# List Assets

> One row per crypto asset, keyed by assetID and also found by slug or ticker: name, symbol, logo, sector taxonomy, stablecoin and wrapped-asset flags, the primary project, onchain contracts, and circulating market cap with its rank. The assetID is the series key of the per-asset timeseries models.



## OpenAPI

````yaml api-reference/data-api/openapi.json GET /query/tabular/assets
openapi: 3.0.0
info:
  description: >-
    The Blockworks Data API is a unified, read-only REST interface to
    Blockworks' warehouse-modeled crypto dataset, powered by Messari's research
    and data infrastructure. It serves two kinds of models: tabular models,
    which return current, filterable, sortable rows for entities such as assets,
    networks, protocols, exchanges, stablecoins, and ETFs; and timeseries
    models, which return historical metric series at a chosen granularity for
    one or many entities. Every endpoint shares the same query grammar (column
    projection, per-column filters, sorting, and pagination) and returns the
    standard `{ "error": ..., "data": ... }` envelope. Authenticate by sending
    your API key in the `X-Blockworks-API-Key` header.
  title: Blockworks Data API
  version: 0.1.0
servers:
  - description: Blockworks API
    url: https://api.blockworks.com
security:
  - apiKey: []
tags:
  - description: 'Models documented under Acquisitions: Acquisition Deals (table).'
    name: Acquisitions
  - description: >-
      Models documented under Assets: Assets (table), Asset Marketcap
      (timeseries), Asset Price (timeseries), Asset Sharpe (timeseries), Asset
      Supply (timeseries), Asset Volatility (timeseries).
    name: Assets
  - description: >-
      Models documented under Blockchains: Blockchains (table), Blockchains
      (timeseries).
    name: Blockchains
  - description: >-
      Models documented under Derivatives: Perpetual Markets (table), Perpetual
      Markets (timeseries).
    name: Derivatives
  - description: >-
      Models documented under Digital Asset Treasuries: DAT Companies (table),
      DAT Company Assets (table), DAT Companies (timeseries), DAT Companies by
      Asset (timeseries).
    name: Digital Asset Treasuries
  - description: >-
      Models documented under ETFs: ETF Assets (table), ETF Providers (table),
      ETF Assets (timeseries), ETF Providers (timeseries).
    name: ETFs
  - description: >-
      Models documented under Exchanges: Exchange Country (timeseries), Exchange
      Region (timeseries), Exchange Type (timeseries), Exchanges (timeseries).
    name: Exchanges
  - description: >-
      Models documented under Funding Rounds: Funding Round Investors (table),
      Funding Rounds (table), Sector Fundraising (timeseries).
    name: Funding Rounds
  - description: >-
      Models documented under Funds & Investors: Fund Managers (table), Funds
      (table).
    name: Funds & Investors
  - description: >-
      Models documented under Launchpads: Launchpad Chains (table), Launchpads
      (table), Launchpads (timeseries), Launchpads by Chain (timeseries).
    name: Launchpads
  - description: >-
      Models documented under Lending Protocols: Lending Protocol Product
      Markets (table), Lending Protocol Products (table), Lending Protocols
      (table), Lending Protocols (timeseries), Lending Protocols by Product
      (timeseries), Lending Protocols by Product Market (timeseries).
    name: Lending Protocols
  - description: >-
      Models documented under Market Overview: Sector Marketdata (timeseries),
      Sub-Sector Marketdata (timeseries).
    name: Market Overview
  - description: 'Models documented under Markets: Market (BQEN) (timeseries).'
    name: Markets
  - description: >-
      Models documented under News & Research: News Feed (table), Research
      Reports (table), Topics (timeseries).
    name: News & Research
  - description: >-
      Models documented under Perp DEXes: Perp DEX Protocols (table), Perp DEX
      Protocols (timeseries).
    name: Perp DEXes
  - description: 'Models documented under Projects & Entities: Projects (timeseries).'
    name: Projects & Entities
  - description: >-
      Models documented under Protocol Revenue: Protocol Revenue (timeseries),
      Protocol Revenue by Product (timeseries).
    name: Protocol Revenue
  - description: >-
      Models documented under Social & Mindshare: Asset Group Sentiment
      (timeseries), Asset Investor Mentions (timeseries), Asset Mindshare
      (timeseries), Asset Sentiment (timeseries), Project Mindshare
      (timeseries), Sector Asset Mindshare (timeseries), Sector Asset Sentiment
      (timeseries), Sector Investor Mentions (timeseries), Sub-Sector Asset
      Mindshare (timeseries), Sub-Sector Asset Sentiment (timeseries).
    name: Social & Mindshare
  - description: >-
      Models documented under Spot DEXes: Spot DEX Protocol Chains (table), Spot
      DEX Protocols (table), Spot DEX Protocols (timeseries), Spot DEX Protocols
      by Chain (timeseries).
    name: Spot DEXes
  - description: >-
      Models documented under Stablecoins: Stablecoin Chains (table), Stablecoin
      Currencies (table), Stablecoin FX Pairs (table), Stablecoin Issuers
      (table), Stablecoin Products (table), Stablecoin Reserve Entities (table),
      Stablecoin FX (timeseries), Stablecoin Reserves (timeseries), Stablecoins
      by Chain (timeseries), Stablecoins by Currency (timeseries), Stablecoins
      by Issuer (timeseries), Stablecoins by Product (timeseries).
    name: Stablecoins
  - description: >-
      Models documented under TCG Platforms: TCG Platform Chains (table), TCG
      Platforms by Chain (timeseries).
    name: TCG Platforms
  - description: >-
      Discovery of the tabular models: one row per entity, with per-column
      filters, sorting and pagination.
    name: Tabular
  - description: >-
      Discovery of the timeseries models: one series per entity, as points at
      the granularities each model declares.
    name: Timeseries
  - description: >-
      Models documented under Token Transparency Framework: Token Transparency
      Filing Questions (table), Token Transparency Filing Schemas (table), Token
      Transparency Filings (table), Token Transparency Projects (table).
    name: Token Transparency Framework
  - description: >-
      Models documented under Tokenized Commodities: Tokenized Commodities
      (table), Tokenized Commodity Chains (table), Tokenized Commodity Issuers
      (table), Tokenized Commodity Products (table), Tokenized Commodities by
      Chain (timeseries), Tokenized Commodities by Commodity (timeseries),
      Tokenized Commodities by Issuer (timeseries), Tokenized Commodities by
      Product (timeseries).
    name: Tokenized Commodities
  - description: >-
      Models documented under Tokenized Equities: Tokenized Equities (table),
      Tokenized Equity Chains (table), Tokenized Equity Issuers (table),
      Tokenized Equity Products (table), Tokenized Equities by Chain
      (timeseries), Tokenized Equities by Equity (timeseries), Tokenized
      Equities by Issuer (timeseries), Tokenized Equities by Product
      (timeseries).
    name: Tokenized Equities
  - description: >-
      Models documented under Vaults: Vault Chains (table), Vault Curators
      (table), Vault Protocols (table), Vault Curators (timeseries), Vault
      Protocols (timeseries), Vaults by Chain (timeseries).
    name: Vaults
paths:
  /query/tabular/assets:
    get:
      tags:
        - Assets
      summary: List Assets
      description: >-
        One row per crypto asset, keyed by assetID and also found by slug or
        ticker: name, symbol, logo, sector taxonomy, stablecoin and
        wrapped-asset flags, the primary project, onchain contracts, and
        circulating market cap with its rank. The assetID is the series key of
        the per-asset timeseries models.
      operationId: getTabular_assets
      parameters:
        - description: Asset ID equals.
          in: query
          name: assetIDEq
          schema:
            type: string
        - description: Asset ID is one of (comma-separated).
          in: query
          name: assetIDIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Asset ID is not one of (comma-separated).
          in: query
          name: assetIDIsNotOneOf
          schema:
            items:
              type: string
            type: array
        - description: Asset Serial ID equals.
          in: query
          name: assetSerialIDEq
          schema:
            format: int64
            type: integer
        - description: Asset Serial ID is one of (comma-separated).
          in: query
          name: assetSerialIDIsOneOf
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: Name equals.
          in: query
          name: nameEq
          schema:
            type: string
        - description: Name is one of (comma-separated).
          in: query
          name: nameIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Name contains (case-insensitive substring).
          in: query
          name: nameContains
          schema:
            type: string
        - description: Slug equals.
          in: query
          name: slugEq
          schema:
            type: string
        - description: Slug is one of (comma-separated).
          in: query
          name: slugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Symbol equals.
          in: query
          name: symbolEq
          schema:
            type: string
        - description: Symbol is one of (comma-separated).
          in: query
          name: symbolIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Symbol is not one of (comma-separated).
          in: query
          name: symbolIsNotOneOf
          schema:
            items:
              type: string
            type: array
        - description: Symbol contains (case-insensitive substring).
          in: query
          name: symbolContains
          schema:
            type: string
        - description: Priority Symbol equals.
          in: query
          name: prioritySymbolEq
          schema:
            type: string
        - description: Priority Symbol is one of (comma-separated).
          in: query
          name: prioritySymbolIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Sector equals.
          in: query
          name: sectorEq
          schema:
            type: string
        - description: Sector is one of (comma-separated).
          in: query
          name: sectorIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Sector is not one of (comma-separated).
          in: query
          name: sectorIsNotOneOf
          schema:
            items:
              type: string
            type: array
        - description: Sectors array includes.
          in: query
          name: sectorsV2Includes
          schema:
            type: string
        - description: Sectors array does not include.
          in: query
          name: sectorsV2NotIncludes
          schema:
            type: string
        - description: Sectors array includes any of (comma-separated).
          in: query
          name: sectorsV2IncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Sectors array includes none of (comma-separated).
          in: query
          name: sectorsV2NotIncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Sub Sectors array includes.
          in: query
          name: subSectorsV2Includes
          schema:
            type: string
        - description: Sub Sectors array does not include.
          in: query
          name: subSectorsV2NotIncludes
          schema:
            type: string
        - description: Sub Sectors array includes any of (comma-separated).
          in: query
          name: subSectorsV2IncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Sub Sectors array includes none of (comma-separated).
          in: query
          name: subSectorsV2NotIncludesAnyOf
          schema:
            items:
              type: string
            type: array
        - description: Is Stablecoin equals.
          in: query
          name: isStablecoinEq
          schema:
            type: boolean
        - description: Is Stablecoin does not equal.
          in: query
          name: isStablecoinNotEq
          schema:
            type: boolean
        - description: Is Wrapped Asset equals.
          in: query
          name: isWrappedAssetEq
          schema:
            type: boolean
        - description: Is Wrapped Asset does not equal.
          in: query
          name: isWrappedAssetNotEq
          schema:
            type: boolean
        - description: Covered By Intel equals.
          in: query
          name: coveredByIntelEq
          schema:
            type: boolean
        - description: Covered By Intel does not equal.
          in: query
          name: coveredByIntelNotEq
          schema:
            type: boolean
        - description: Primary Project ID equals.
          in: query
          name: primaryProjectIDEq
          schema:
            type: string
        - description: Primary Project ID is one of (comma-separated).
          in: query
          name: primaryProjectIDIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Primary Project Slug equals.
          in: query
          name: primaryProjectSlugEq
          schema:
            type: string
        - description: Primary Project Slug is one of (comma-separated).
          in: query
          name: primaryProjectSlugIsOneOf
          schema:
            items:
              type: string
            type: array
        - description: Circulating Marketcap is greater than.
          in: query
          name: circulatingMarketcapGt
          schema:
            type: number
        - description: Circulating Marketcap is greater than or equal to.
          in: query
          name: circulatingMarketcapGte
          schema:
            type: number
        - description: Circulating Marketcap is less than.
          in: query
          name: circulatingMarketcapLt
          schema:
            type: number
        - description: Circulating Marketcap is less than or equal to.
          in: query
          name: circulatingMarketcapLte
          schema:
            type: number
        - description: Circulating Marketcap Rank is greater than.
          in: query
          name: circulatingMarketcapRankGt
          schema:
            format: int32
            type: integer
        - description: Circulating Marketcap Rank is greater than or equal to.
          in: query
          name: circulatingMarketcapRankGte
          schema:
            format: int32
            type: integer
        - description: Circulating Marketcap Rank is less than.
          in: query
          name: circulatingMarketcapRankLt
          schema:
            format: int32
            type: integer
        - description: Circulating Marketcap Rank is less than or equal to.
          in: query
          name: circulatingMarketcapRankLte
          schema:
            format: int32
            type: integer
        - description: Circulating Marketcap Rank is one of (comma-separated).
          in: query
          name: circulatingMarketcapRankIsOneOf
          schema:
            items:
              format: int32
              type: integer
            type: array
        - description: Field to sort by; defaults to the model's default sort column.
          in: query
          name: sortBy
          schema:
            default: circulatingMarketcapRank
            enum:
              - name
              - slug
              - symbol
              - circulatingMarketcap
              - circulatingMarketcapRank
            type: string
        - description: Sort direction.
          in: query
          name: sortDirection
          schema:
            default: asc
            enum:
              - asc
              - desc
            type: string
        - description: 1-based page number.
          in: query
          name: page
          schema:
            type: integer
        - description: Rows per page (max 1000, default 100).
          in: query
          name: pageSize
          schema:
            type: integer
        - description: Comma-separated fields to return; defaults to all fields.
          in: query
          name: selections
          schema:
            items:
              enum:
                - assetID
                - assetSerialID
                - name
                - slug
                - symbol
                - prioritySymbol
                - logoURL
                - sector
                - sectorsV2
                - subSectorsV2
                - isStablecoin
                - isWrappedAsset
                - coveredByIntel
                - primaryProjectID
                - primaryProjectSlug
                - primaryProjectName
                - primaryProjectTagline
                - primaryProjectOverview
                - primaryProjectLogoURL
                - primaryProjectLinks
                - platformContracts
                - circulatingMarketcap
                - circulatingMarketcapRank
              type: string
            type: array
        - description: >-
            Response format, overriding the Accept header: json (default), csv,
            or jsonl (NDJSON). csv and jsonl return the rows as a downloadable
            file.
          in: query
          name: acceptFormat
          schema:
            default: json
            enum:
              - json
              - csv
              - jsonl
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  - assetID: <assetID>
                    assetSerialID: 123
                    circulatingMarketcap: 123.45
                    circulatingMarketcapRank: 123
                    coveredByIntel: true
                    isStablecoin: true
                    isWrappedAsset: true
                    logoURL: <logoURL>
                    name: <name>
                    platformContracts:
                      - {}
                    primaryProjectID: <primaryProjectID>
                    primaryProjectLinks:
                      - {}
                    primaryProjectLogoURL: <primaryProjectLogoURL>
                    primaryProjectName: <primaryProjectName>
                    primaryProjectOverview: <primaryProjectOverview>
                    primaryProjectSlug: <primaryProjectSlug>
                    primaryProjectTagline: <primaryProjectTagline>
                    prioritySymbol: <prioritySymbol>
                    sector: <sector>
                    sectorsV2:
                      - <sectorsV2>
                    slug: <slug>
                    subSectorsV2:
                      - <subSectorsV2>
                    symbol: <symbol>
                error: null
                metadata:
                  totalPages: 1
                  totalRows: 1
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/AssetsRow'
                    type: array
                  error:
                    nullable: true
                    type: string
                  metadata:
                    description: >-
                      Pagination totals for the full filtered result set,
                      independent of the current page.
                    properties:
                      totalPages:
                        format: int64
                        type: integer
                      totalRows:
                        format: int64
                        type: integer
                    required:
                      - totalRows
                      - totalPages
                    type: object
                required:
                  - data
                  - metadata
                type: object
            application/x-ndjson:
              schema:
                description: JSON Lines (NDJSON); one JSON object per line.
                type: string
            text/csv:
              schema:
                description: CSV with a header row; one row per record.
                type: string
          description: >-
            One page of matching rows, with the totals for the whole filtered
            set.
        '400':
          content:
            application/json:
              example:
                data: null
                error: unknown query parameter "assetID"
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The request is malformed: an unknown query parameter (a filter needs
            its operator suffix, such as assetIDEq), a filter value of the wrong
            type, a sortBy field that is not sortable, an unknown selections
            field, or a pageSize above 1000.
        '401':
          content:
            application/json:
              example:
                data: null
                error: this model requires authentication
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: No API key was sent and the model requires one.
        '403':
          content:
            application/json:
              example:
                data: null
                error: >-
                  this model requires a paid subscription or the
                  "market_data_unified" permission
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The API key is not valid, or its subscription does not include this
            model (it needs a Lite, Pro or Enterprise plan), and it does not
            hold the "market_data_unified" permission.
        '404':
          content:
            application/json:
              example:
                data: null
                error: tabular model "unknown-model" not found
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            The path names a model that does not exist: the slug is mistyped or
            the model was removed.
components:
  schemas:
    AssetsRow:
      properties:
        assetID:
          description: The unique identifier of the asset.
          nullable: true
          type: string
        assetSerialID:
          description: >-
            The numeric serial identifier of the asset, used by market data
            services.
          format: int64
          nullable: true
          type: integer
        circulatingMarketcap:
          description: >-
            The circulating marketcap of the asset. Carried so search and filter
            results can be ranked by size.
          nullable: true
          type: number
        circulatingMarketcapRank:
          description: >-
            The rank of the asset by circulating marketcap. Shares its
            definition with the assets-ranking model.
          format: int32
          nullable: true
          type: integer
        coveredByIntel:
          description: If true, the asset is covered by Messari Intel.
          nullable: true
          type: boolean
        isStablecoin:
          description: If true, the asset is tagged as a stablecoin.
          nullable: true
          type: boolean
        isWrappedAsset:
          description: If true, the asset is tagged as a wrapped or synthetic asset.
          nullable: true
          type: boolean
        logoURL:
          description: The URL of the asset's logo.
          nullable: true
          type: string
        name:
          description: The name of the asset.
          nullable: true
          type: string
        platformContracts:
          description: >-
            The asset's onchain contracts, each with platform, contractAddress,
            and the network's id, name, slug, and logo URL.
          items:
            type: object
          nullable: true
          type: array
        primaryProjectID:
          description: The unique identifier of the asset's primary project.
          nullable: true
          type: string
        primaryProjectLinks:
          description: >-
            The primary project's external links, each with link, name, and
            type.
          items:
            type: object
          nullable: true
          type: array
        primaryProjectLogoURL:
          description: The URL of the primary project's logo.
          nullable: true
          type: string
        primaryProjectName:
          description: The name of the asset's primary project.
          nullable: true
          type: string
        primaryProjectOverview:
          description: The markdown overview of the asset's primary project.
          nullable: true
          type: string
        primaryProjectSlug:
          description: >-
            The URL slug of the asset's primary project. Resolves an asset URL
            to its canonical project URL.
          nullable: true
          type: string
        primaryProjectTagline:
          description: The one-line tagline of the asset's primary project.
          nullable: true
          type: string
        prioritySymbol:
          description: >-
            The canonical asset for a ticker, set only on the asset that owns
            it. Unique where present, so it is a safe single-row lookup key.
          nullable: true
          type: string
        sector:
          description: The sector the asset belongs to.
          nullable: true
          type: string
        sectorsV2:
          description: The v2-taxonomy sectors the asset belongs to.
          items:
            type: string
          nullable: true
          type: array
        slug:
          description: The URL slug of the asset.
          nullable: true
          type: string
        subSectorsV2:
          description: The v2-taxonomy sub-sectors the asset belongs to.
          items:
            type: string
          nullable: true
          type: array
        symbol:
          description: >-
            The ticker symbol of the asset. Not unique: several assets may share
            a ticker.
          nullable: true
          type: string
      type: object
    ErrorResponse:
      properties:
        data:
          description: Always null on an error.
          nullable: true
          type: object
        error:
          description: What went wrong, in one sentence.
          type: string
      required:
        - error
        - data
      type: object
  securitySchemes:
    apiKey:
      description: >-
        API key sent in the `X-Blockworks-API-Key` header; `x-messari-api-key`
        is accepted for existing integrations. The catalog endpoints and models
        on the public access tier need no key.
      in: header
      name: X-Blockworks-API-Key
      type: apiKey

````