Network Profiles
Overview
A network profile is a structured, human-curated description of a blockchain network. It answers what the network is designed to do, how it reaches consensus and how quickly transactions become final, who builds and maintains it, what software runs it, and how it has changed over time. Where Asset Profiles describe a token, network profiles describe the settlement layer the token lives on, which is a separate question: many assets are issued on a network they did not create, and several major networks have no single asset of their own.
Research and risk teams use profiles to compare networks on consistent terms rather than on marketing material, for example grouping by consensus mechanism, separating rollups and sidechains from base layers, or checking client diversity. Every field is written and reviewed by analysts from primary sources rather than measured from chain data.
At a Glance
Network descriptions (reference data)
Networks
Reference data, published in releases as profiles are added or revised
Descriptive text and categorical labels
/profile/networks
Schema
The response returns one object per network. Network profiles are curated to a consistent depth, so most fields are present on most profiles. A field that cannot be commented on, or that has not yet been researched for a network, is omitted. A field that has been researched and found not applicable is returned as the string N/A (see How absent values are represented).
Fields are grouped below by what they describe. Every field returned by the endpoint appears exactly once across these tables.
Identity and description
network
string
Coin Metrics identifier for the network, lowercased. Distinct chains of a multi-chain platform get their own identifier, such as avaxc, avaxp, and avaxx.
Required
full_name
string
Full name of the network.
Required
overview
string
Description of the network's key features and of the problem it was created to solve.
All profiles
type_of_network
string
What kind of system the network is. Observed values are Blockchain, Rollup, Sidechain, and Hashgraph.
All profiles
chain_explorers
array[string]
Public block explorers for the network.
All profiles
Consensus and execution
consensus_mechanism
string
The protocols, algorithms, and incentives by which nodes agree on the state of the chain. Variants are qualified after a colon, as in Proof-of-Stake: Delegated or Proof-of-Stake: Proof-of-History. A network without its own consensus mechanism carries N/A.
All profiles
hashing_algorithm
string
Algorithm the network uses for its hashing operations.
Optional
transaction_finality
string
The threshold after which a transaction is considered final, stated in time or in blocks or slots. Networks with probabilistic finality carry No Fixed Finality Threshold.
All profiles
smart_contract_deployment
string
Whether contracts can be deployed permissionlessly or under a permissioned model.
All profiles
transaction_visibility
string
Whether transactions are visible on chain or hidden, fully or partially.
All profiles
native_fee_token
string
Token in which fees are paid on the network. This is a ticker rather than a Coin Metrics asset name.
All profiles
available_clients
array[string]
Node client implementations available for the network.
Optional
Architecture and scaling
modular_or_monolithic
string
Whether the network's architecture separates its core functions across layers or combines them. Observed values are Monolithic, Semi Modular, Modular, and Polylithic.
Required
network_scaling_solution
string
Whether the network exists to scale another network. Returned as the string "true" or "false", not as a JSON boolean.
All profiles
rollup_info
array[object]
Rollup characteristics, where the network is one. Sub-fields: rollup_type (string, such as Optimistic or Zero-Knowledge (ZK)), state_validation (string, such as Interactive Fraud Proofs or ZK SNARK + STARK proofs). Networks that are not rollups carry a single N/A entry.
All profiles
Stewardship
foundation
array[string]
Organizations supporting development of the network. Each entry is a name followed by a short description of that organization's role.
All profiles
founding_team_identity
string
Whether the identity of the founding team is publicly known, as Known or Unknown.
All profiles
repository
array[object]
Repositories relevant to the network. Sub-fields: github_repository (string, the repository name), github_url (string, the URL, served without a scheme).
All profiles
History
significant_historical_changes
array[object]
Notable events in the network's history. Sub-fields: date (string), details (string).
Optional
upgrade_history
array[object]
Upgrades the network has undergone. Sub-fields: date (string), details (string).
Optional
The date sub-field on both is recorded at the most granular format that can be accurately asserted, so its precision varies by entry. See Event dates are free text.
Methodology
Network profiles are written rather than measured. Analysts research each network from primary sources, record the result in a structured dataset, and publish it through the API.
Sourcing and curation
Every field traces to a primary source, usually the network's own documentation, specifications and improvement proposals, client repositories, and foundation publications. Where the network's own material is ambiguous or silent, the field is left uncurated rather than inferred.
Curated content is held in a version-controlled dataset and validated against a published schema before it can be released. The schema fixes the field names, types, and nesting, so a release cannot introduce a malformed profile or silently rename a field. Editorial review sits ahead of that validation, so a change is reviewed before it is merged. Asset profiles and network profiles share this workflow, and both are published together.
Release cadence
Profiles are published in discrete releases rather than updated continuously. The API serves a pinned version of the profile dataset, and a release replaces that pinned version wholesale. Between releases the response is stable.
There is no fixed schedule. Releases go out when a batch of new networks or revisions is ready, and each one is recorded in the change log on the Profiles Overview.
What counts as a network
A profile describes a distinct settlement environment rather than a brand. Where a platform runs several chains with different roles, each chain is profiled separately, which is why Avalanche appears as avaxc, avaxp, and avaxx, and Polygon appears as pol_pos and pol_zkevm. Conversely, a network is profiled on its own terms whether or not it has a native asset, so rollups whose fee token is ETH are covered in their own right.
The type_of_network and network_scaling_solution fields carry this structure. A rollup or sidechain that exists to scale another network is marked "true" for network_scaling_solution, and rollup_info carries the rollup's proof system where one applies. Base layers carry "false" and an N/A rollup entry.
How absent values are represented
A field can be missing information in two distinct ways, and they mean different things.
An omitted key means the field either cannot be commented on for that network or has not yet been researched. Nothing has been asserted about it either way. On network profiles this is uncommon and concentrated in hashing_algorithm, available_clients, significant_historical_changes, and upgrade_history.
The string N/A means the field has been researched and analysts have concluded it is not applicable to that network, for example a network with no hashing algorithm of its own or no rollup characteristics. This is a positive statement of absence rather than a gap.
Neither state is permanent. Both are revisited as research continues, so a field that is absent or N/A today can carry a value in a later release.
N/A also appears inside the objects nested in rollup_info, significant_historical_changes, and upgrade_history. An array whose only element is an N/A object is the empty case for that field rather than a real entry, so code that reads a rollup's proof system or counts historical events should filter it out first. The Solana example shows this shape.
Networks are not assets
network identifiers and Coin Metrics asset names are separate namespaces that overlap without being interchangeable. Some identifiers coincide, so btc is both an asset and a network. Others do not: the network pol_pos has no asset of that name, and its native_fee_token is matic. Rollups such as base, arb, and op pay fees in eth and have no fee token of their own at all. native_fee_token is a display ticker rather than a Coin Metrics asset name.
Accessing the Data
Network profiles are served on a single endpoint, filtered by network identifier or by full name.
Unlike Asset Profiles, .to_dataframe() works on this endpoint, because network profiles carry no date-typed field for the client to parse.
Responses are paginated. The Python client follows pagination automatically, while direct HTTP callers page through results using next_page_token. This endpoint does not support the format parameter, so json is the only representation and there is no CSV or streaming variant. Full parameter reference: see the API Reference for /profile/networks.
Examples
The two examples below are live responses, complete and untruncated. They are chosen to contrast a base layer with a rollup, which is where most of the categorical fields differ.
Example: a base-layer network
A monolithic layer-1 with its own consensus mechanism and fee token. network_scaling_solution is "false" and rollup_info carries the single N/A entry that marks the empty case. Run this query.
Example: a rollup network
An optimistic rollup settling to Ethereum. rollup_info carries the proof system, network_scaling_solution is "true", and native_fee_token is ETH rather than an asset of the network's own. hashing_algorithm and available_clients are omitted rather than returned empty. Run this query.
Coverage
Network profiles are not published on coverage.coinmetrics.io, and unlike the metric datasets they have no catalog endpoint either. Availability is read from the profile endpoint itself instead, which returns every covered network. This is the authoritative list of what is covered, and it stays current across releases.
/profile/networks: queried with no filters, returns every covered network. There is no separate complete-versus-entitled view, because the endpoint returns what the requesting key is entitled to see.
The covered set is deliberately narrow and much smaller than the asset profile universe. It concentrates on networks that carry significant issued value, so a network appearing in an asset profile's issuing_networks or bridged_networks does not necessarily have a profile of its own.
Access to profiles is entitled separately from other datasets, so a key without the entitlement receives an authorization error rather than an empty result.
Usage
Group networks on consistent terms.
consensus_mechanism,type_of_network, andmodular_or_monolithicgive a stable vocabulary for splitting a set of networks by design rather than by narrative, for example separating rollups from base layers before comparing throughput or fee data.Frame settlement assumptions.
transaction_finalityrecords whether a network offers a fixed finality threshold or probabilistic settlement, which is the input to confirmation policies and to reconciliation windows.Check client diversity.
available_clientsshows whether a network runs on a single implementation or several, which is a standard input to resilience and concentration analysis.Establish provenance and stewardship.
foundation,founding_team_identity, andrepositoryanswer who maintains a network and whether the founding team is publicly identified, which recur in diligence questionnaires.Explain breaks in network data.
upgrade_historyandsignificant_historical_changesgive dated context for a step change in a network metric, such as a consensus change or a major protocol upgrade.Complete an asset's picture. Pair a network profile with the asset profiles of the tokens issued on it to describe both the token and the environment it settles in.
Limitations
The endpoint is marked experimental. It is published as experimental in the API Reference, which means the schema can change with less notice than a stable endpoint. Code defensively against added or renamed fields.
Content is editorial and updates on a release cadence. A profile reflects the state of research at the last release, so a recent upgrade, client release, or governance change can be absent. Nothing here is a real-time feed.
Categorical values are a curated vocabulary, not an enumeration.
consensus_mechanism,type_of_network, andmodular_or_monolithicare written by analysts and are not constrained by the API contract, so a release can introduce a value your code has not seen. Treat them as open sets.network_scaling_solutionis a string. It returns"true"or"false"as JSON strings rather than as booleans, so a truthiness check in most languages treats"false"as true.Some fields are omitted rather than empty.
hashing_algorithm,available_clients,significant_historical_changes, andupgrade_historyare absent on some profiles, meaning they either cannot be commented on or have not been researched yet. Treat every field exceptnetwork,full_name, andmodular_or_monolithicas optional.N/Ais a value, not an absence, and it appears inside nested objects as well as in plain string fields (see How absent values are represented).Network identifiers are not asset names. They overlap without being interchangeable, and
native_fee_tokenis a display ticker rather than a Coin Metrics asset name (see Networks are not assets).Event dates are free text and cannot be parsed reliably.
FAQ
How is a network profile different from an asset profile?
A network profile describes a settlement environment: how it reaches consensus, how transactions finalize, who maintains it. An asset profile describes a token: its purpose, supply, distribution, and regulatory status. The two are separate namespaces, and many networks have no asset of their own while many assets are issued on networks they did not create.
Why does network_scaling_solution come back as "true" rather than true?
Every value on this endpoint is a JSON string, including this one. Compare it against the strings "true" and "false" rather than relying on language truthiness, which would read "false" as a truthy non-empty string.
Why do Avalanche and Polygon appear more than once?
Because each distinct chain is profiled separately. Avalanche runs three chains with different roles, covered as avaxc, avaxp, and avaxx, and Polygon's proof-of-stake chain and zkEVM rollup are covered as pol_pos and pol_zkevm. See What counts as a network.
Can I join native_fee_token to the rest of the API?
Not directly. It is a display ticker such as ETH or MATIC, not a lowercased Coin Metrics asset name, and rollups report the fee token of the network they settle to. Map it explicitly rather than lowercasing and hoping.
A network appears in an asset profile's issuing_networks but has no profile. Why?
Network profile coverage is narrower than the set of networks named in asset profiles, and the two fields use different value formats in any case. Asset profiles carry display names such as Avalanche C-Chain, while this endpoint uses identifiers such as avaxc.
How often do network profiles change?
Only at a release, and network additions are infrequent. The change log on the Profiles Overview records what each release added or revised.
Can I filter networks by consensus mechanism or type?
No. The endpoint filters only on exact networks or full_names identifiers, with no wildcards and no partial matching. The covered set is small enough to pull in full and filter client-side.
Related
Profiles Overview: how asset and network profiles fit together, plus the release change log.
Asset Profiles: the same descriptive treatment for the tokens issued on these networks.
Network Data Pro Overview: the measured on-chain metrics for these networks, as opposed to their descriptions.
Last updated

