From 27fc7eb27e7979acbcbe3049493fefa698c5cf69 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Thu, 17 Sep 2026 01:09:29 +0000 Subject: [PATCH 01/22] Consolidate Firehose/Substreams column and use mono network icons Supported networks table refactor: - Merge the separate Substreams and Firehose columns into a single "Firehose/Substreams" column (they already derive from one shared support signal). Adds the firehoseSubstreams i18n header key and exposes firehoseSubstreamsSupportLevel; per-service aliases are kept for the network details page. - Render all network icons with the white "mono" variant instead of branded, so icons are uniform and legible on the dark background. Removes the MONO_ICON_NETWORKS per-network workaround list. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01XdQZoMoncvZ6pNtp1d8yYT --- website/src/pages/en/index.json | 3 +- .../src/supportedNetworks/NetworksTable.tsx | 16 ++------ website/src/supportedNetworks/utils.ts | 37 +++---------------- 3 files changed, 9 insertions(+), 47 deletions(-) diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 90a6f89e270a..f8ea0737bc0c 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -64,8 +64,7 @@ "name": "Name", "id": "ID", "subgraphs": "Subgraphs", - "substreams": "Substreams", - "firehose": "Firehose" + "firehoseSubstreams": "Firehose/Substreams" }, "tableLegend": { "subgraphs": { diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 800f81d1052a..f22f19a99976 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -147,10 +147,7 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { {t('index.supportedNetworks.tableHeaders.subgraphs')} - {t('index.supportedNetworks.tableHeaders.substreams')} - - - {t('index.supportedNetworks.tableHeaders.firehose')} + {t('index.supportedNetworks.tableHeaders.firehoseSubstreams')} {filteredNetworks.map((network) => ( @@ -185,16 +182,9 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { ) : null} - {network.substreamsSupportLevel === 'full' - ? checkmarks - : network.substreamsSupportLevel === 'basic' - ? checkmark - : null} - - - {network.firehoseSupportLevel === 'full' + {network.firehoseSubstreamsSupportLevel === 'full' ? checkmarks - : network.firehoseSupportLevel === 'basic' + : network.firehoseSubstreamsSupportLevel === 'basic' ? checkmark : null} diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 953fd7461767..02d97c70686f 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -1,37 +1,13 @@ import { type Network, NetworksRegistry } from '@pinax/graph-networks-registry' -// Networks that should use the "mono" icon variant (TODO: add this feature to web3icons?) -const MONO_ICON_NETWORKS = [ - 'arweave-mainnet', - 'autonomys-taurus', - 'expchain-testnet', - 'fraxtal', - 'lens', - 'lens-testnet', - 'linea', - 'linea-sepolia', - 'lumia', - 'mbase', - 'megaeth-testnet', - 'soneium', - 'soneium-testnet', - 'sonic', - 'stellar', - 'vana', - 'vana-moksha', - 'xlayer-mainnet', - 'xlayer-sepolia', - 'zksync-era', - 'zksync-era-sepolia', -] - export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() return registry.networks .flatMap((network) => { const [subgraphsSupportLevel, subgraphsProvider] = getSubgraphsSupportLevelAndProvider(network) - // Substreams and Firehose share one combined signal (see getFirehoseSubstreamsSupportLevel); - // both columns render the same mark. + // Substreams and Firehose share one combined signal (see getFirehoseSubstreamsSupportLevel) + // and are shown together in a single "Firehose/Substreams" table column. The per-service + // aliases are kept for the network details page, which still branches on Substreams support. const firehoseSubstreamsSupportLevel = getFirehoseSubstreamsSupportLevel(network) const substreamsSupportLevel = firehoseSubstreamsSupportLevel const firehoseSupportLevel = firehoseSubstreamsSupportLevel @@ -42,11 +18,12 @@ export async function getSupportedNetworks() { { ...network, evm: isEvm(network), - iconVariant: getIconVariant(network), + iconVariant: 'mono' as const, subgraphsSupportLevel, subgraphsProvider, substreamsSupportLevel, firehoseSupportLevel, + firehoseSubstreamsSupportLevel, }, ] }) @@ -57,10 +34,6 @@ function isEvm(network: Network) { return network.caip2Id.startsWith('eip155:') } -function getIconVariant(network: Network): 'mono' | 'branded' { - return MONO_ICON_NETWORKS.includes(network.id) ? 'mono' : 'branded' -} - function getSubgraphsSupportLevelAndProvider(network: Network): ['none' | 'basic' | 'full', string | null] { const providers = [...new Set([...(network.services.subgraphs || []), ...(network.services.sps || [])])] if (providers.length > 0) { From 36f5d6ee6fe38d1be0947bff93ee75e76676d790 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Sat, 19 Sep 2026 23:27:14 -0400 Subject: [PATCH 02/22] feat(supported-networks): add BSC & Polygon landing pages and tiered support chips MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add custom Supported Networks landing pages for BSC and Polygon (customContent/bsc.mdx, customContent/polygon.mdx), registered in customContent/index.ts. Each covers finding existing Subgraphs (six curated protocol cards), building your own Subgraph, and consuming data with Substreams. - Show tiered support chips in the Supported Networks table — Subgraphs (Studio/Community/Rewards) and Firehose/Substreams (Non-EVM/Base/ Extended) — in NetworksTable.tsx and utils.ts, with matching legend copy in en/index.json. - Render the "Guides" heading via Heading.H3 for consistent sizing (NetworkDetailsPage.tsx). - Load the published networks registry directly in utils.ts. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_0196BWSuDAPjD34gXd1CiRXB --- website/src/pages/en/index.json | 22 +- .../supportedNetworks/NetworkDetailsPage.tsx | 4 +- .../src/supportedNetworks/NetworksTable.tsx | 100 +++++---- .../supportedNetworks/customContent/bsc.mdx | 202 ++++++++++++++++++ .../supportedNetworks/customContent/index.ts | 4 + .../customContent/polygon.mdx | 202 ++++++++++++++++++ website/src/supportedNetworks/utils.ts | 77 ++++--- 7 files changed, 521 insertions(+), 90 deletions(-) create mode 100644 website/src/supportedNetworks/customContent/bsc.mdx create mode 100644 website/src/supportedNetworks/customContent/polygon.mdx diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index f8ea0737bc0c..d5252f432e9a 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -46,8 +46,8 @@ "showTestnets": "Show Testnets", "loading": "Loading...", "infoTitle": "Info", - "infoText": "Boost your developer experience by enabling The Graph's indexing network.", - "infoLink": "Integrate new network", + "infoText": "to integrate or request a new network, discuss indexing rewards, or learn more about custom data solutions for your blockchain ecosystem.", + "infoLink": "Contact The Graph Foundation", "description": { "base": "The Graph supports {0}. To add a new network, {1}", "networks": "networks", @@ -68,20 +68,14 @@ }, "tableLegend": { "subgraphs": { - "basic": "Hosted (No issuance)", - "full": "The Graph Network (Issuance)" + "studio": "Subgraph Studio only", + "network": "Select Network Indexers", + "rewards": "Network has indexing rewards" }, "substreams": { - "basic": "Base", - "full": "Extended (EVM only)" - }, - "firehose": { - "basic": "Base", - "full": "Extended (EVM only)" - }, - "icons": { - "checkmark": "Checkmark", - "checkmarks": "Checkmarks" + "other": "Non-EVM data model", + "base": "Base EVM block model", + "extended": "Extended EVM block model" }, "legendTitle": "Table Legend" } diff --git a/website/src/supportedNetworks/NetworkDetailsPage.tsx b/website/src/supportedNetworks/NetworkDetailsPage.tsx index f9f3131f3c08..f31aaa439bd9 100644 --- a/website/src/supportedNetworks/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/NetworkDetailsPage.tsx @@ -1,7 +1,7 @@ import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' -import { Card, TimeIcon } from '@/components' +import { Card, Heading, TimeIcon } from '@/components' import { useI18n } from '@/i18n' import { customNetworkContent } from './customContent' @@ -85,7 +85,7 @@ export default function NetworkDetailsPage({ network }: { network: SupportedNetw )} -

{t('index.supportedNetworks.guides')}

+ {t('index.supportedNetworks.guides')}
{cards.map((card) => ( , { label: string; color: string }> = { + studio: { label: 'STUDIO', color: '#FFFFFF' }, + network: { label: 'COMMUNITY', color: '#66D8FF' }, + rewards: { label: 'REWARDS', color: '#4BCA81' }, +} +const SUBSTREAMS_CHIPS: Record, { label: string; color: string }> = { + other: { label: 'NON-EVM', color: '#FFFFFF' }, + base: { label: 'BASE', color: '#66D8FF' }, + extended: { label: 'EXTENDED', color: '#4BCA81' }, +} + +function TierChip({ label, color }: { label: string; color: string }) { + return ( + + {label} + + ) +} export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { const { t } = useI18n() const [immediateSearchQuery, setSearchQuery] = useState('') const [immediateShowTestnets, setShowTestnets] = useState(false) - const checkmark = ( - - ) - const checkmarks = ( - - ) - const searchQuery = useDebounce(immediateSearchQuery, 200) const showTestnets = useDebounce(immediateShowTestnets, 200) @@ -57,11 +73,11 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { return ( <> -

{t('index.supportedNetworks.infoText')}

{t('index.supportedNetworks.infoLink')} - + {' '} + {t('index.supportedNetworks.infoText')}

@@ -74,25 +90,37 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) {
- Subgraphs -
- {checkmark} - {t('index.supportedNetworks.tableLegend.subgraphs.basic')} -
-
- {checkmarks} - {t('index.supportedNetworks.tableLegend.subgraphs.full')} + Subgraphs +
+
+ + {t('index.supportedNetworks.tableLegend.subgraphs.studio')} +
+
+ + {t('index.supportedNetworks.tableLegend.subgraphs.network')} +
+
+ + {t('index.supportedNetworks.tableLegend.subgraphs.rewards')} +
- Firehose/Substreams -
- {checkmark} - {t('index.supportedNetworks.tableLegend.substreams.basic')} -
-
- {checkmarks} - {t('index.supportedNetworks.tableLegend.substreams.full')} + Firehose/Substreams +
+
+ + {t('index.supportedNetworks.tableLegend.substreams.other')} +
+
+ + {t('index.supportedNetworks.tableLegend.substreams.base')} +
+
+ + {t('index.supportedNetworks.tableLegend.substreams.extended')} +
@@ -173,20 +201,12 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) {
- {network.subgraphsSupportLevel === 'full' ? ( - checkmarks - ) : network.subgraphsSupportLevel === 'basic' ? ( - - {checkmark} - - ) : null} + {network.subgraphsTier !== 'none' ? : null} - {network.firehoseSubstreamsSupportLevel === 'full' - ? checkmarks - : network.firehoseSubstreamsSupportLevel === 'basic' - ? checkmark - : null} + {network.substreamsTier !== 'none' ? ( + + ) : null} ))} diff --git a/website/src/supportedNetworks/customContent/bsc.mdx b/website/src/supportedNetworks/customContent/bsc.mdx new file mode 100644 index 000000000000..db31232a3650 --- /dev/null +++ b/website/src/supportedNetworks/customContent/bsc.mdx @@ -0,0 +1,202 @@ +import { Card } from '@/components' +import { Subgraph } from '@edgeandnode/gds/icons' + +### Indexing Data on BNB Smart Chain + +BNB Smart Chain (BSC) is a high-performance, EVM-compatible Layer 1 that has run in production since September 2020, with sub-second block times and transaction fees of a fraction of a cent. It hosts one of the largest DeFi ecosystems in crypto — tens of billions of dollars in total value locked across protocols like PancakeSwap (DEX), Venus (lending), and 1,500+ live dApps spanning trading, gaming, and payments. + +The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +BSC is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing BNB Smart Chain with Subgraphs + +Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. + +BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on BNB Smart Chain + +Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: + +
+ } + href="https://thegraph.com/explorer/subgraphs/EAq1nJKgjnuKH6Gj4RFjCW7LcL7E2uipbncdwV7TTWkX" + /> + } + href="https://thegraph.com/explorer/subgraphs/7XgdLW3bts4HktCYsu9dy8bEnuiNeZuftcuK3Aj4JXYV" + /> + } + href="https://thegraph.com/explorer/subgraphs/ChmxqA9bX71cB2cQTRRULbWUBKoMRk7oh3JnpZShDQ2V" + /> + } + href="https://thegraph.com/explorer/subgraphs/7Jk85XgkV1MQ7u56hD8rr65rfASbayJXopugWkUoBMnZ" + /> + } + href="https://thegraph.com/explorer/subgraphs/7h65Zf3pXXPmf8g8yZjjj2bqYiypVxems5d8riLK1DyR" + /> + } + href="https://thegraph.com/explorer/subgraphs/2TVoLeQK4uSASrpoHkQga4wkdpDxoUAerajauzhuSNFq" + /> +
+ +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for BSC takes three steps: + +1. Initialize a Subgraph project from your BSC contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your BSC contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. BSC is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `bsc` from the list of supported networks. +- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest:** `subgraph.yaml` defines which data sources your Subgraph indexes. +- **Schema:** `schema.graphql` defines the entities you want to query. +- **Mappings:** `src/mapping.ts` uses AssemblyScript that translates on-chain events into your entities. + +Point the manifest at BSC: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: bsc + source: + address: '0xYourBscContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: + +```yaml +environment: + ethereum: 'bsc:https://bsc.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-bsc-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish & Curate on The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing BNB Smart Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/index.ts b/website/src/supportedNetworks/customContent/index.ts index bc70acafa89d..e85fd05d0670 100644 --- a/website/src/supportedNetworks/customContent/index.ts +++ b/website/src/supportedNetworks/customContent/index.ts @@ -1,6 +1,8 @@ import type { ComponentType } from 'react' import Anubis from './anubis.mdx' +import Bsc from './bsc.mdx' +import Polygon from './polygon.mdx' /** * Per-network custom content for Supported Networks landing pages. @@ -17,4 +19,6 @@ import Anubis from './anubis.mdx' */ export const customNetworkContent: Record = { anubis: Anubis, + bsc: Bsc, + matic: Polygon, } diff --git a/website/src/supportedNetworks/customContent/polygon.mdx b/website/src/supportedNetworks/customContent/polygon.mdx new file mode 100644 index 000000000000..07783cbfa1b3 --- /dev/null +++ b/website/src/supportedNetworks/customContent/polygon.mdx @@ -0,0 +1,202 @@ +import { Card } from '@/components' +import { Subgraph } from '@edgeandnode/gds/icons' + +### Indexing Data on Polygon + +Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. + +The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Polygon is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Polygon with Subgraphs + +Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. + +Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on Polygon + +Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: + +
+ } + href="https://thegraph.com/explorer/subgraphs/4A3fq2YYzT5poS9TW4ky9YjPnsBdh1pHGCRKD1UQBvhJ" + /> + } + href="https://thegraph.com/explorer/subgraphs/Co2URyXjnxaw8WqxKyVHdirq9Ahhm5vcTs4dMedAq211" + /> + } + href="https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g" + /> + } + href="https://thegraph.com/explorer/subgraphs/78nZMyM9yD77KG6pFaYap31kJvj8eUWLEntbiVzh8ZKN" + /> + } + href="https://thegraph.com/explorer/subgraphs/81Dm16JjuFSrqz813HysXoUPvzTwE7fsfPk2RTf66nyC" + /> + } + href="https://thegraph.com/explorer/subgraphs/4ngshgumX4LgFPSN4XHnbo2c4wbEdMDBwuLLSjvpERCh" + /> +
+ +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for Polygon takes three steps: + +1. Initialize a Subgraph project from your Polygon contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your Polygon contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. +- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest:** `subgraph.yaml` defines which data sources your Subgraph indexes. +- **Schema:** `schema.graphql` defines the entities you want to query. +- **Mappings:** `src/mapping.ts` uses AssemblyScript that translates on-chain events into your entities. + +Point the manifest at Polygon: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: matic + source: + address: '0xYourPolygonContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: + +```yaml +environment: + ethereum: 'matic:https://polygon.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-polygon-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish & Curate on The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing Polygon with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 02d97c70686f..c23ab6914c70 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -1,29 +1,37 @@ import { type Network, NetworksRegistry } from '@pinax/graph-networks-registry' +// The registry's `services.subgraphs` array may contain deployment URL strings and/or a +// backstop-support entry (the `backstopSupport` field from the networks-registry). The +// published package still types this as `string[]`, so entries are narrowed at runtime. +type SubgraphsServiceEntry = string | { backstopSupport?: string; description?: string } + +export type SubgraphsTier = 'none' | 'studio' | 'network' | 'rewards' +export type SubstreamsTier = 'none' | 'other' | 'base' | 'extended' + export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() return registry.networks .flatMap((network) => { - const [subgraphsSupportLevel, subgraphsProvider] = getSubgraphsSupportLevelAndProvider(network) - // Substreams and Firehose share one combined signal (see getFirehoseSubstreamsSupportLevel) - // and are shown together in a single "Firehose/Substreams" table column. The per-service - // aliases are kept for the network details page, which still branches on Substreams support. - const firehoseSubstreamsSupportLevel = getFirehoseSubstreamsSupportLevel(network) - const substreamsSupportLevel = firehoseSubstreamsSupportLevel - const firehoseSupportLevel = firehoseSubstreamsSupportLevel - if (subgraphsSupportLevel === 'none' && substreamsSupportLevel === 'none' && firehoseSupportLevel === 'none') { + const subgraphsTier = getSubgraphsTier(network) + const substreamsTier = getSubstreamsTier(network) + // Drop networks that would show no chip in either product column. + if (subgraphsTier === 'none' && substreamsTier === 'none') { return [] } + // Coarse support flags kept for the network details page, which only branches on + // whether each product is supported at all. + const subgraphsSupportLevel = subgraphsTier === 'none' ? 'none' : network.issuanceRewards ? 'full' : 'basic' + const substreamsSupportLevel = + substreamsTier === 'none' ? 'none' : substreamsTier === 'extended' ? 'full' : 'basic' return [ { ...network, evm: isEvm(network), iconVariant: 'mono' as const, + subgraphsTier, + substreamsTier, subgraphsSupportLevel, - subgraphsProvider, substreamsSupportLevel, - firehoseSupportLevel, - firehoseSubstreamsSupportLevel, }, ] }) @@ -34,33 +42,34 @@ function isEvm(network: Network) { return network.caip2Id.startsWith('eip155:') } -function getSubgraphsSupportLevelAndProvider(network: Network): ['none' | 'basic' | 'full', string | null] { - const providers = [...new Set([...(network.services.subgraphs || []), ...(network.services.sps || [])])] - if (providers.length > 0) { - let provider = providers[0]! - if (providers.some((provider) => /^((https?:)?\/\/)?api\.studio\.thegraph\.com(\/|$)/.test(provider))) { - provider = 'Subgraph Studio' - } else if (providers.some((provider) => /^((https?:)?\/\/)?(www\.)?streamingfast\.io(\/|$)/.test(provider))) { - provider = 'StreamingFast' - } - if (network.issuanceRewards) { - return ['full', provider] - } - return ['basic', provider] +// Subgraphs support has three tiers, in priority order (only the highest one applies): +// - 'rewards' -> the network earns indexing rewards (`issuanceRewards: true`) +// - 'network' -> community backstop support (any `backstopSupport` provider entry in +// `services.subgraphs`, e.g. InfraDAO or StreamingFast) but no issuance rewards +// - 'studio' -> deployable via Subgraph Studio (a studio deploy URL in +// `services.subgraphs`) but neither of the above +function getSubgraphsTier(network: Network): SubgraphsTier { + if (network.issuanceRewards) return 'rewards' + const subgraphs = (network.services?.subgraphs ?? []) as SubgraphsServiceEntry[] + if (subgraphs.some((entry) => typeof entry === 'object' && Boolean(entry?.backstopSupport))) { + return 'network' + } + if (subgraphs.some((entry) => typeof entry === 'string' && entry.includes('studio.thegraph.com'))) { + return 'studio' } - return ['none', null] + return 'none' } -// Substreams and Firehose share a single support signal. Both are powered by the same -// Firehose block data, so the table's "Base" vs "Extended (EVM only)" mark reflects the -// network's block model, not how many providers serve the data. -// - 'none' -> no Firehose or Substreams provider is serving the network -// - 'basic' -> base blocks + at least one Firehose or Substreams provider (renders as a single check) -// - 'full' -> extended (EVM) blocks + at least one Firehose or Substreams provider (renders as a double check) -function getFirehoseSubstreamsSupportLevel(network: Network): 'none' | 'basic' | 'full' { - const hasProvider = (network.services.substreams?.length || 0) > 0 || (network.services.firehose?.length || 0) > 0 +// Substreams/Firehose support has three tiers. A network needs at least one Firehose or +// Substreams provider to show any of them; the tier then reflects the block model: +// - 'other' -> non-EVM network (the block-model tiers below are EVM-only) +// - 'extended' -> EVM network serving the extended block model +// - 'base' -> EVM network serving the base block model +function getSubstreamsTier(network: Network): SubstreamsTier { + const hasProvider = (network.services?.substreams?.length ?? 0) > 0 || (network.services?.firehose?.length ?? 0) > 0 if (!hasProvider) return 'none' - return network.firehose?.evmExtendedModel ? 'full' : 'basic' + if (!isEvm(network)) return 'other' + return network.firehose?.evmExtendedModel ? 'extended' : 'base' } export type SupportedNetwork = Awaited>[number] From 2612296a15d8eb5f3dd70f672732ab5b156007be Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Sun, 20 Sep 2026 21:43:14 +0000 Subject: [PATCH 03/22] feat(supported-networks): Substreams chain pages, friendly slugs, and redirects - Add Substreams-only custom pages for chains with Substreams (but no Subgraph) support: Ink, HyperEVM, Robinhood, Monad, World Chain, Zora, Bitcoin, Blast, Ethereum/Sepolia/Hoodi/Gnosis beacon chains, Injective, Litecoin, MegaETH, Solana (mainnet, devnet, accounts), Starknet, Stellar, TRON, TRON EVM, Vaulta, and WAX. Copy is tailored per chain family (EVM base, SVM, UTXO, Cosmos, Antelope, consensus-layer) with the correct base block model and substreams init flow. - Add a docs-only slug layer (slugs.ts) so selected networks render at friendly URLs (bitcoin, blast, ethereum-beacon, ethereum-hoodi, ethereum-sepolia, vaulta, injective, solana); getStaticPaths/getStaticProps and the table row links resolve through it. Registry ids are unchanged. - Add nginx 301 redirects from the old registry-id URLs to the new slugs. - Trim the Supported Networks CTA copy and align the tier chip blue with the CTA (galactic-500). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_0196BWSuDAPjD34gXd1CiRXB --- nginx.conf | 10 ++++ .../[locale]/supported-networks/[id].mdx | 14 ++++-- website/src/pages/en/index.json | 2 +- .../src/supportedNetworks/NetworksTable.tsx | 10 ++-- .../customContent/bitcoin.mdx | 22 +++++++++ .../supportedNetworks/customContent/blast.mdx | 22 +++++++++ .../customContent/ethereum-beacon.mdx | 22 +++++++++ .../customContent/ethereum-hoodi.mdx | 22 +++++++++ .../customContent/ethereum-sepolia.mdx | 22 +++++++++ .../customContent/gnosis-cl.mdx | 22 +++++++++ .../customContent/hyper-evm.mdx | 22 +++++++++ .../supportedNetworks/customContent/index.ts | 48 +++++++++++++++++++ .../customContent/injective.mdx | 22 +++++++++ .../supportedNetworks/customContent/ink.mdx | 22 +++++++++ .../customContent/litecoin.mdx | 22 +++++++++ .../customContent/megaeth.mdx | 22 +++++++++ .../supportedNetworks/customContent/monad.mdx | 22 +++++++++ .../customContent/robinhood.mdx | 22 +++++++++ .../customContent/solana-accounts.mdx | 22 +++++++++ .../customContent/solana-devnet.mdx | 22 +++++++++ .../customContent/solana.mdx | 22 +++++++++ .../customContent/starknet-mainnet.mdx | 22 +++++++++ .../customContent/stellar.mdx | 22 +++++++++ .../customContent/tron-evm.mdx | 22 +++++++++ .../supportedNetworks/customContent/tron.mdx | 22 +++++++++ .../customContent/vaulta.mdx | 22 +++++++++ .../supportedNetworks/customContent/wax.mdx | 22 +++++++++ .../customContent/worldchain.mdx | 22 +++++++++ .../supportedNetworks/customContent/zora.mdx | 22 +++++++++ website/src/supportedNetworks/index.ts | 1 + website/src/supportedNetworks/slugs.ts | 34 +++++++++++++ 31 files changed, 640 insertions(+), 7 deletions(-) create mode 100644 website/src/supportedNetworks/customContent/bitcoin.mdx create mode 100644 website/src/supportedNetworks/customContent/blast.mdx create mode 100644 website/src/supportedNetworks/customContent/ethereum-beacon.mdx create mode 100644 website/src/supportedNetworks/customContent/ethereum-hoodi.mdx create mode 100644 website/src/supportedNetworks/customContent/ethereum-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/gnosis-cl.mdx create mode 100644 website/src/supportedNetworks/customContent/hyper-evm.mdx create mode 100644 website/src/supportedNetworks/customContent/injective.mdx create mode 100644 website/src/supportedNetworks/customContent/ink.mdx create mode 100644 website/src/supportedNetworks/customContent/litecoin.mdx create mode 100644 website/src/supportedNetworks/customContent/megaeth.mdx create mode 100644 website/src/supportedNetworks/customContent/monad.mdx create mode 100644 website/src/supportedNetworks/customContent/robinhood.mdx create mode 100644 website/src/supportedNetworks/customContent/solana-accounts.mdx create mode 100644 website/src/supportedNetworks/customContent/solana-devnet.mdx create mode 100644 website/src/supportedNetworks/customContent/solana.mdx create mode 100644 website/src/supportedNetworks/customContent/starknet-mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/stellar.mdx create mode 100644 website/src/supportedNetworks/customContent/tron-evm.mdx create mode 100644 website/src/supportedNetworks/customContent/tron.mdx create mode 100644 website/src/supportedNetworks/customContent/vaulta.mdx create mode 100644 website/src/supportedNetworks/customContent/wax.mdx create mode 100644 website/src/supportedNetworks/customContent/worldchain.mdx create mode 100644 website/src/supportedNetworks/customContent/zora.mdx create mode 100644 website/src/supportedNetworks/slugs.ts diff --git a/nginx.conf b/nginx.conf index 62a9c285f543..8a15a6238cb2 100644 --- a/nginx.conf +++ b/nginx.conf @@ -281,6 +281,16 @@ http { rewrite ^/docs/en/arbitrum/l2-transfer-tools-faq/$ https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/ permanent; rewrite ^/docs/en/arbitrum/l2-transfer-tools-guide/$ https://thegraph.com/blog/the-graph-L2-scaling-with-arbitrum/ permanent; + # --- supported networks: renamed custom chain page slugs --- + rewrite ^/docs/en/supported-networks/btc/$ $scheme://$http_host/docs/en/supported-networks/bitcoin/ permanent; + rewrite ^/docs/en/supported-networks/blast-mainnet/$ $scheme://$http_host/docs/en/supported-networks/blast/ permanent; + rewrite ^/docs/en/supported-networks/mainnet-cl/$ $scheme://$http_host/docs/en/supported-networks/ethereum-beacon/ permanent; + rewrite ^/docs/en/supported-networks/hoodi-cl/$ $scheme://$http_host/docs/en/supported-networks/ethereum-hoodi/ permanent; + rewrite ^/docs/en/supported-networks/sepolia-cl/$ $scheme://$http_host/docs/en/supported-networks/ethereum-sepolia/ permanent; + rewrite ^/docs/en/supported-networks/eos/$ $scheme://$http_host/docs/en/supported-networks/vaulta/ permanent; + rewrite ^/docs/en/supported-networks/injective-mainnet/$ $scheme://$http_host/docs/en/supported-networks/injective/ permanent; + rewrite ^/docs/en/supported-networks/solana-mainnet-beta/$ $scheme://$http_host/docs/en/supported-networks/solana/ permanent; + location / { try_files $uri $uri.html $uri/index.html =404; } diff --git a/website/src/pages/[locale]/supported-networks/[id].mdx b/website/src/pages/[locale]/supported-networks/[id].mdx index c6e4d7e3fbd9..538c28830ad4 100644 --- a/website/src/pages/[locale]/supported-networks/[id].mdx +++ b/website/src/pages/[locale]/supported-networks/[id].mdx @@ -2,16 +2,22 @@ import { translate } from '@edgeandnode/gds' import { buildDynamicMDX } from 'nextra/remote' import { supportedLocales, translations } from '@/i18n' -import { getSupportedNetworks } from '@/supportedNetworks' +import { getNetworkSlug, getSupportedNetworks, resolveSlugToNetworkId } from '@/supportedNetworks' import NetworkDetailsPage from '@/supportedNetworks/NetworkDetailsPage' export const getStaticPaths = async () => { const networks = await getSupportedNetworks() const paths = [] for (const locale of supportedLocales) { + const seen = new Set() for (const network of networks) { + // Several networks can share one slug (e.g. both Solana networks -> `solana`), + // so emit each slug once. + const slug = getNetworkSlug(network.id) + if (seen.has(slug)) continue + seen.add(slug) paths.push({ - params: { locale, id: network.id }, + params: { locale, id: slug }, }) } } @@ -26,7 +32,9 @@ export const getStaticProps = async ({ params }) => { } } const networks = await getSupportedNetworks() - const network = networks.find((n) => n.id === id) + // `id` here is the URL slug; resolve it back to the registry network id. + const networkId = resolveSlugToNetworkId(id) + const network = networks.find((n) => n.id === networkId) if (!network) { return { notFound: true, diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index d5252f432e9a..54a574f717e2 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -46,7 +46,7 @@ "showTestnets": "Show Testnets", "loading": "Loading...", "infoTitle": "Info", - "infoText": "to integrate or request a new network, discuss indexing rewards, or learn more about custom data solutions for your blockchain ecosystem.", + "infoText": "to integrate or request a new network, discuss indexing rewards, or learn more about custom data solutions.", "infoLink": "Contact The Graph Foundation", "description": { "base": "The Graph supports {0}. To add a new network, {1}", diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 2515f7e6791a..69c43d1c5f6f 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -17,18 +17,19 @@ import { NetworkIcon } from '@edgeandnode/go' import { Callout, Table } from '@/components' import { useI18n } from '@/i18n' +import { getNetworkSlug } from './slugs' import { type SubgraphsTier, type SubstreamsTier, type SupportedNetwork } from './utils' // Chip labels and colors per support tier. STUDIO / NON-EVM use white (matching the mono // network icons); the higher tiers use the brand blue and green. const SUBGRAPHS_CHIPS: Record, { label: string; color: string }> = { studio: { label: 'STUDIO', color: '#FFFFFF' }, - network: { label: 'COMMUNITY', color: '#66D8FF' }, + network: { label: 'COMMUNITY', color: '#4C9EFF' }, rewards: { label: 'REWARDS', color: '#4BCA81' }, } const SUBSTREAMS_CHIPS: Record, { label: string; color: string }> = { other: { label: 'NON-EVM', color: '#FFFFFF' }, - base: { label: 'BASE', color: '#66D8FF' }, + base: { label: 'BASE', color: '#4C9EFF' }, extended: { label: 'EXTENDED', color: '#4BCA81' }, } @@ -185,7 +186,10 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { >
- +
diff --git a/website/src/supportedNetworks/customContent/bitcoin.mdx b/website/src/supportedNetworks/customContent/bitcoin.mdx new file mode 100644 index 000000000000..e27c2bef369f --- /dev/null +++ b/website/src/supportedNetworks/customContent/bitcoin.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Bitcoin + +Bitcoin is the original and largest proof-of-work blockchain, securing the BTC asset and a growing ecosystem of layers and protocols built on top of it. The Graph can stream that onchain activity — blocks and transactions, inputs and outputs, and address activity — as real-time data with Substreams. + +Bitcoin is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Bitcoin with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Bitcoin's blocks, transactions, and their inputs and outputs. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Bitcoin; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Bitcoin. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/blast.mdx b/website/src/supportedNetworks/customContent/blast.mdx new file mode 100644 index 000000000000..f3ada47ba5c5 --- /dev/null +++ b/website/src/supportedNetworks/customContent/blast.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Blast + +Blast is an Ethereum Layer 2 built on the OP Stack that offers native yield on ETH and stablecoins for its DeFi and dApp ecosystem. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Blast is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Blast with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Blast is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Blast; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Blast contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/ethereum-beacon.mdx b/website/src/supportedNetworks/customContent/ethereum-beacon.mdx new file mode 100644 index 000000000000..397c9b0042d0 --- /dev/null +++ b/website/src/supportedNetworks/customContent/ethereum-beacon.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Ethereum Beacon Chain + +The Ethereum Beacon Chain is Ethereum's consensus layer, coordinating the proof-of-stake validators that secure the network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. + +Ethereum Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Ethereum Beacon Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Ethereum Beacon Chain's consensus-layer blocks — validators, attestations, deposits, and slashings. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Ethereum Beacon Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/ethereum-hoodi.mdx b/website/src/supportedNetworks/customContent/ethereum-hoodi.mdx new file mode 100644 index 000000000000..af0e4a269397 --- /dev/null +++ b/website/src/supportedNetworks/customContent/ethereum-hoodi.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Hoodi Beacon Chain + +Hoodi is an Ethereum proof-of-stake testnet, and its Beacon Chain is the consensus layer that coordinates validators on the test network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. + +Hoodi Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Hoodi Beacon Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Hoodi Beacon Chain's consensus-layer blocks — validators, attestations, deposits, and slashings. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Hoodi Beacon Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/ethereum-sepolia.mdx b/website/src/supportedNetworks/customContent/ethereum-sepolia.mdx new file mode 100644 index 000000000000..ef873e2af800 --- /dev/null +++ b/website/src/supportedNetworks/customContent/ethereum-sepolia.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Sepolia Beacon Chain + +Sepolia is a widely used Ethereum testnet, and its Beacon Chain is the consensus layer that coordinates validators on the test network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. + +Sepolia Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Sepolia Beacon Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Sepolia Beacon Chain's consensus-layer blocks — validators, attestations, deposits, and slashings. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Sepolia Beacon Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/gnosis-cl.mdx b/website/src/supportedNetworks/customContent/gnosis-cl.mdx new file mode 100644 index 000000000000..84bb2d050a35 --- /dev/null +++ b/website/src/supportedNetworks/customContent/gnosis-cl.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Gnosis Beacon Chain + +Gnosis Chain is an Ethereum-compatible network secured by its own proof-of-stake validator set, and the Gnosis Beacon Chain is its consensus layer. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. + +Gnosis Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Gnosis Beacon Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Gnosis Beacon Chain's consensus-layer blocks — validators, attestations, deposits, and slashings. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Gnosis Beacon Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/hyper-evm.mdx b/website/src/supportedNetworks/customContent/hyper-evm.mdx new file mode 100644 index 000000000000..212cb1dc26aa --- /dev/null +++ b/website/src/supportedNetworks/customContent/hyper-evm.mdx @@ -0,0 +1,22 @@ +### Indexing Data on HyperEVM + +HyperEVM is the general-purpose EVM layer of Hyperliquid, the high-performance L1 best known for its onchain perpetuals exchange. It brings EVM smart contracts to the Hyperliquid ecosystem, with native token HYPE and tight integration with HyperCore, Hyperliquid's order-book and perps layer. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +HyperEVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing HyperEVM with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). HyperEVM is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on HyperEVM; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your HyperEVM contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/index.ts b/website/src/supportedNetworks/customContent/index.ts index e85fd05d0670..1e1afaec9a2b 100644 --- a/website/src/supportedNetworks/customContent/index.ts +++ b/website/src/supportedNetworks/customContent/index.ts @@ -1,8 +1,32 @@ import type { ComponentType } from 'react' import Anubis from './anubis.mdx' +import Blast from './blast.mdx' import Bsc from './bsc.mdx' +import Btc from './bitcoin.mdx' +import EthereumBeacon from './ethereum-beacon.mdx' +import GnosisBeacon from './gnosis-cl.mdx' +import HoodiBeacon from './ethereum-hoodi.mdx' +import HyperEvm from './hyper-evm.mdx' +import Injective from './injective.mdx' +import Ink from './ink.mdx' +import Litecoin from './litecoin.mdx' +import MegaEth from './megaeth.mdx' +import Monad from './monad.mdx' import Polygon from './polygon.mdx' +import Robinhood from './robinhood.mdx' +import SepoliaBeacon from './ethereum-sepolia.mdx' +import Solana from './solana.mdx' +import SolanaAccounts from './solana-accounts.mdx' +import SolanaDevnet from './solana-devnet.mdx' +import Starknet from './starknet-mainnet.mdx' +import Stellar from './stellar.mdx' +import Tron from './tron.mdx' +import TronEvm from './tron-evm.mdx' +import Vaulta from './vaulta.mdx' +import Wax from './wax.mdx' +import WorldChain from './worldchain.mdx' +import Zora from './zora.mdx' /** * Per-network custom content for Supported Networks landing pages. @@ -21,4 +45,28 @@ export const customNetworkContent: Record = { anubis: Anubis, bsc: Bsc, matic: Polygon, + ink: Ink, + 'hyper-evm': HyperEvm, + robinhood: Robinhood, + monad: Monad, + worldchain: WorldChain, + zora: Zora, + btc: Btc, + 'blast-mainnet': Blast, + 'mainnet-cl': EthereumBeacon, + 'hoodi-cl': HoodiBeacon, + 'sepolia-cl': SepoliaBeacon, + 'gnosis-cl': GnosisBeacon, + 'injective-mainnet': Injective, + litecoin: Litecoin, + megaeth: MegaEth, + 'solana-devnet': SolanaDevnet, + 'solana-mainnet-beta': Solana, + 'solana-accounts': SolanaAccounts, + 'starknet-mainnet': Starknet, + stellar: Stellar, + 'tron-evm': TronEvm, + tron: Tron, + eos: Vaulta, + wax: Wax, } diff --git a/website/src/supportedNetworks/customContent/injective.mdx b/website/src/supportedNetworks/customContent/injective.mdx new file mode 100644 index 000000000000..7a03f114f98a --- /dev/null +++ b/website/src/supportedNetworks/customContent/injective.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Injective + +Injective is a Cosmos-based Layer 1 optimized for finance, with a focus on onchain trading, derivatives, and DeFi. The Graph can stream that onchain activity — transactions and messages, DEX and derivatives activity, token transfers and balances, and smart-contract events — as real-time data with Substreams. + +Injective is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Injective with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Injective's Cosmos blocks, transactions, and events. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Injective; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Injective. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/ink.mdx b/website/src/supportedNetworks/customContent/ink.mdx new file mode 100644 index 000000000000..fad280e40a1a --- /dev/null +++ b/website/src/supportedNetworks/customContent/ink.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Ink + +Ink is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, incubated by Kraken with a focus on DeFi — bringing low fees and fast, Ethereum-secured settlement to onchain finance. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Ink is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Ink with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Ink is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Ink; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Ink contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/litecoin.mdx b/website/src/supportedNetworks/customContent/litecoin.mdx new file mode 100644 index 000000000000..fb468684242d --- /dev/null +++ b/website/src/supportedNetworks/customContent/litecoin.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Litecoin + +Litecoin is a long-running proof-of-work blockchain and one of the earliest peer-to-peer digital currencies, securing the LTC asset. The Graph can stream that onchain activity — blocks and transactions, inputs and outputs, and address activity — as real-time data with Substreams. + +Litecoin is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Litecoin with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Litecoin's blocks, transactions, and their inputs and outputs. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Litecoin; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Litecoin. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/megaeth.mdx b/website/src/supportedNetworks/customContent/megaeth.mdx new file mode 100644 index 000000000000..411e1378fad7 --- /dev/null +++ b/website/src/supportedNetworks/customContent/megaeth.mdx @@ -0,0 +1,22 @@ +### Indexing Data on MegaETH + +MegaETH is a high-performance, EVM-compatible Ethereum Layer 2 built for real-time applications with very high throughput and low latency. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +MegaETH is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing MegaETH with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). MegaETH is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on MegaETH; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your MegaETH contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/monad.mdx b/website/src/supportedNetworks/customContent/monad.mdx new file mode 100644 index 000000000000..5db421b95629 --- /dev/null +++ b/website/src/supportedNetworks/customContent/monad.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Monad + +Monad is a high-performance, EVM-compatible Layer 1 that uses parallel execution to reach high throughput while staying fully compatible with Ethereum tooling. Its native token is MON. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Monad is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Monad with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Monad is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Monad; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Monad contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/robinhood.mdx b/website/src/supportedNetworks/customContent/robinhood.mdx new file mode 100644 index 000000000000..e1871f919885 --- /dev/null +++ b/website/src/supportedNetworks/customContent/robinhood.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Robinhood Chain + +Robinhood Chain is an Ethereum Layer 2 built on Arbitrum technology, created by Robinhood to bring tokenized real-world assets — including tokenized stocks — onchain. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Robinhood Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Robinhood Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Robinhood Chain is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Robinhood Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Robinhood Chain contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/solana-accounts.mdx b/website/src/supportedNetworks/customContent/solana-accounts.mdx new file mode 100644 index 000000000000..92472223d78a --- /dev/null +++ b/website/src/supportedNetworks/customContent/solana-accounts.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Solana Accounts + +Solana Accounts is a Substreams data source for Solana that streams account state changes — how program, token, and other accounts are created and updated over time — rather than transactions or instructions. The Graph can stream that onchain activity — account creations and updates, token account and balance changes, and program-owned account state — as real-time data with Substreams. + +Solana Accounts is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Solana Accounts with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Solana Accounts streams Solana's account block model, so modules have access to full account snapshots and updates as they change. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Solana Accounts; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the Solana path. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/solana-devnet.mdx b/website/src/supportedNetworks/customContent/solana-devnet.mdx new file mode 100644 index 000000000000..81e99690935c --- /dev/null +++ b/website/src/supportedNetworks/customContent/solana-devnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Solana Devnet + +Solana Devnet is the development network for Solana, a high-throughput Layer 1 known for fast, low-cost transactions. The Graph can stream that onchain activity — program interactions, DEX swaps, token transfers and balances, and account updates — as real-time data with Substreams. + +Solana Devnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Solana Devnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Solana Devnet is available through Substreams' Solana block model, so modules have access to blocks, transactions, and instructions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Solana Devnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the Solana path. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/solana.mdx b/website/src/supportedNetworks/customContent/solana.mdx new file mode 100644 index 000000000000..50bef70bc359 --- /dev/null +++ b/website/src/supportedNetworks/customContent/solana.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Solana + +Solana is a high-throughput Layer 1 known for fast, low-cost transactions and a large DeFi, NFT, and payments ecosystem. The Graph can stream that onchain activity — program interactions, DEX swaps, token transfers and balances, and account updates — as real-time data with Substreams. + +Solana is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Solana with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Solana is available through Substreams' Solana block model, so modules have access to blocks, transactions, and instructions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Solana; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the Solana path. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/starknet-mainnet.mdx b/website/src/supportedNetworks/customContent/starknet-mainnet.mdx new file mode 100644 index 000000000000..b3e02d4586ae --- /dev/null +++ b/website/src/supportedNetworks/customContent/starknet-mainnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Starknet + +Starknet is an Ethereum Layer 2 validity rollup powered by STARK proofs, using the Cairo programming model for scalable, low-cost execution. The Graph can stream that onchain activity — transactions, DEX swaps, token transfers and balances, and contract events — as real-time data with Substreams. + +Starknet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Starknet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Starknet's blocks, transactions, and events. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Starknet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Starknet. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/stellar.mdx b/website/src/supportedNetworks/customContent/stellar.mdx new file mode 100644 index 000000000000..ec3ce6c906ce --- /dev/null +++ b/website/src/supportedNetworks/customContent/stellar.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Stellar + +Stellar is a Layer 1 blockchain built for payments and asset issuance, with fast settlement and low fees. The Graph can stream that onchain activity — payments and transactions, asset transfers and balances, DEX trades, and ledger changes — as real-time data with Substreams. + +Stellar is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Stellar with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Stellar's ledgers, transactions, and operations. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Stellar; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Stellar. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/tron-evm.mdx b/website/src/supportedNetworks/customContent/tron-evm.mdx new file mode 100644 index 000000000000..a04c997b049b --- /dev/null +++ b/website/src/supportedNetworks/customContent/tron-evm.mdx @@ -0,0 +1,22 @@ +### Indexing Data on TRON EVM + +TRON EVM is the EVM-compatible environment on TRON, a high-throughput Layer 1 widely used for stablecoin transfers and payments. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +TRON EVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing TRON EVM with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). TRON EVM is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on TRON EVM; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your TRON EVM contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/tron.mdx b/website/src/supportedNetworks/customContent/tron.mdx new file mode 100644 index 000000000000..6634a22b6dc0 --- /dev/null +++ b/website/src/supportedNetworks/customContent/tron.mdx @@ -0,0 +1,22 @@ +### Indexing Data on TRON + +TRON is a high-throughput Layer 1 widely used for stablecoin transfers and payments, with a large DeFi and token ecosystem. The Graph can stream that onchain activity — transactions, stablecoin and token transfers, DEX swaps, and contract events — as real-time data with Substreams. + +TRON is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing TRON with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams TRON's blocks, transactions, and events. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on TRON; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for TRON. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/vaulta.mdx b/website/src/supportedNetworks/customContent/vaulta.mdx new file mode 100644 index 000000000000..38af109f4f7e --- /dev/null +++ b/website/src/supportedNetworks/customContent/vaulta.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Vaulta + +Vaulta (formerly EOS) is a high-performance Antelope-based Layer 1, repositioned around Web3 banking and financial applications. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. + +Vaulta is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Vaulta with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Vaulta's blocks, transactions, and actions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Vaulta; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Vaulta. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/wax.mdx b/website/src/supportedNetworks/customContent/wax.mdx new file mode 100644 index 000000000000..c3a584fea45f --- /dev/null +++ b/website/src/supportedNetworks/customContent/wax.mdx @@ -0,0 +1,22 @@ +### Indexing Data on WAX + +WAX is an Antelope-based Layer 1 purpose-built for NFTs, gaming, and digital collectibles. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. + +WAX is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing WAX with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams WAX's blocks, transactions, and actions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on WAX; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for WAX. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/worldchain.mdx b/website/src/supportedNetworks/customContent/worldchain.mdx new file mode 100644 index 000000000000..6ec1a96636d0 --- /dev/null +++ b/website/src/supportedNetworks/customContent/worldchain.mdx @@ -0,0 +1,22 @@ +### Indexing Data on World Chain + +World Chain is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, created by the team behind World ID to give verified humans priority access to blockspace. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +World Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing World Chain with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). World Chain is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on World Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your World Chain contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/zora.mdx b/website/src/supportedNetworks/customContent/zora.mdx new file mode 100644 index 000000000000..64a830fbc2d9 --- /dev/null +++ b/website/src/supportedNetworks/customContent/zora.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Zora + +Zora is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, focused on the onchain creator economy — NFTs, creator coins, and media. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Zora is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Zora with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Zora is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Zora; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Zora contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/index.ts b/website/src/supportedNetworks/index.ts index 538545e9a757..6c9ac42b0fb8 100644 --- a/website/src/supportedNetworks/index.ts +++ b/website/src/supportedNetworks/index.ts @@ -1,3 +1,4 @@ export * from './NetworkDetailsPage' export * from './NetworksTable' +export * from './slugs' export * from './utils' diff --git a/website/src/supportedNetworks/slugs.ts b/website/src/supportedNetworks/slugs.ts new file mode 100644 index 000000000000..68e57c810cf3 --- /dev/null +++ b/website/src/supportedNetworks/slugs.ts @@ -0,0 +1,34 @@ +// Friendly URL slugs for specific Supported Networks pages. +// +// Keyed by the registry network `id`; any network not listed here uses its `id` as +// its slug. If several ids ever share one slug, `slugCanonicalId` names the network +// whose page and metadata render for that slug. +export const networkSlugs: Record = { + btc: 'bitcoin', + 'blast-mainnet': 'blast', + 'mainnet-cl': 'ethereum-beacon', + 'hoodi-cl': 'ethereum-hoodi', + 'sepolia-cl': 'ethereum-sepolia', + eos: 'vaulta', + 'injective-mainnet': 'injective', + 'solana-mainnet-beta': 'solana', +} + +// For slugs shared by multiple networks, the registry `id` whose page and metadata render. +export const slugCanonicalId: Record = { + solana: 'solana-mainnet-beta', +} + +/** The URL slug for a network's Supported Networks page. */ +export function getNetworkSlug(id: string): string { + return networkSlugs[id] ?? id +} + +/** Resolve a URL slug back to the registry network `id` that should render. */ +export function resolveSlugToNetworkId(slug: string): string { + if (slugCanonicalId[slug]) return slugCanonicalId[slug] + for (const [id, mapped] of Object.entries(networkSlugs)) { + if (mapped === slug) return id + } + return slug +} From 50d2f1f0a962898758a3cdeaa7f28b39305ab765 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Sun, 20 Sep 2026 21:48:32 -0400 Subject: [PATCH 04/22] adding custom chain pages --- .../.fuse_hidden0000000600000001 | 161 +++++++++++++++++ .../.fuse_hidden0000000700000001 | 162 +++++++++++++++++ .../.fuse_hidden0000000800000002 | 162 +++++++++++++++++ .../.fuse_hidden0000000a00000002 | 163 ++++++++++++++++++ 4 files changed, 648 insertions(+) create mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 create mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 create mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 create mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 new file mode 100644 index 000000000000..bd4530ea2ac9 --- /dev/null +++ b/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 @@ -0,0 +1,161 @@ +### Getting Started on BNB Smart Chain + +BNB Smart Chain (BSC) is a high-performance, EVM-compatible Layer 1 that has run in production since September 2020, with sub-second block times and transaction fees of a fraction of a cent. It hosts one of the largest DeFi ecosystems in crypto — tens of billions of dollars in total value locked across protocols like PancakeSwap (DEX), Venus (lending), and 1,500+ live dApps spanning trading, gaming, and payments. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +BSC is supported by The Graph in two ways: + +- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. +- You can also stream BSC with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing BNB Smart Chain with Subgraphs + +Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. + +BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on BNB Smart Chain + +Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: + +- **PancakeSwap** — the largest DEX on BSC: [PancakeSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/A1fvJWQLBeUAggX2WQTMm3FKjXTekNXo77ZySun4YN2m) +- **Venus** — the leading lending and money-market protocol on BSC: [Venus Core Pool Subgraph](https://thegraph.com/explorer/subgraphs/7h65Zf3pXXPmf8g8yZjjj2bqYiypVxems5d8riLK1DyR) + +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for BSC takes three steps: + +1. Initialize a Subgraph project from your BSC contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your BSC contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. BSC is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `bsc` from the list of supported networks. +- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. +- **Schema** (`schema.graphql`): defines the entities you want to query. +- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. + +Point the manifest at BSC: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: bsc + source: + address: '0xYourBscContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: + +```yaml +environment: + ethereum: 'bsc:https://bsc.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-bsc-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish to The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing BNB Smart Chain with Substreams + +Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 new file mode 100644 index 000000000000..bcd44d614acc --- /dev/null +++ b/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 @@ -0,0 +1,162 @@ +### Getting Started on BNB Smart Chain + +BNB Smart Chain (BSC) is a high-performance, EVM-compatible Layer 1 that has run in production since September 2020, with sub-second block times and transaction fees of a fraction of a cent. It hosts one of the largest DeFi ecosystems in crypto — tens of billions of dollars in total value locked across protocols like PancakeSwap (DEX), Venus (lending), and 1,500+ live dApps spanning trading, gaming, and payments. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +BSC is supported by The Graph in two ways: + +- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. +- You can also stream BSC with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing BNB Smart Chain with Subgraphs + +Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. + +BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on BNB Smart Chain + +Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: + +- **PancakeSwap** — the largest DEX on BSC: [PancakeSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/A1fvJWQLBeUAggX2WQTMm3FKjXTekNXo77ZySun4YN2m) +- **Venus** — the leading lending and money-market protocol on BSC: [Venus Core Pool Subgraph](https://thegraph.com/explorer/subgraphs/7h65Zf3pXXPmf8g8yZjjj2bqYiypVxems5d8riLK1DyR) + +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for BSC takes three steps: + +1. Initialize a Subgraph project from your BSC contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your BSC contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. BSC is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `bsc` from the list of supported networks. +- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. +- **Schema** (`schema.graphql`): defines the entities you want to query. +- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. + +Point the manifest at BSC: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: bsc + source: + address: '0xYourBscContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: + +```yaml +environment: + ethereum: 'bsc:https://bsc.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-bsc-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish to The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing BNB Smart Chain with Substreams + +Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 new file mode 100644 index 000000000000..8b82cdfa15c4 --- /dev/null +++ b/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 @@ -0,0 +1,162 @@ +### Getting Started on Polygon + +Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Polygon is supported by The Graph in two ways: + +- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. +- You can also stream Polygon with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Polygon with Subgraphs + +Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. + +Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on Polygon + +Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: + +- **Uniswap** — the largest DEX by liquidity, live on Polygon: [Uniswap V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/EsLGwxyeMMeJuhqWvuLmJEiDKXJ4Z6YsoJreUnyeozco) +- **QuickSwap** — Polygon's leading native DEX: [QuickSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g) +- **Aave** — the leading lending and money-market protocol on Polygon: [Aave V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/6yuf1C49aWEscgk5n9D1DekeG1BCk5Z9imJYJT3sVmAT) + +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for Polygon takes three steps: + +1. Initialize a Subgraph project from your Polygon contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your Polygon contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. +- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. +- **Schema** (`schema.graphql`): defines the entities you want to query. +- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. + +Point the manifest at Polygon: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: matic + source: + address: '0xYourPolygonContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: + +```yaml +environment: + ethereum: 'matic:https://polygon.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-polygon-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish to The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing Polygon with Substreams + +Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 new file mode 100644 index 000000000000..537aab011b2b --- /dev/null +++ b/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 @@ -0,0 +1,163 @@ +### Getting Started on Polygon + +Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Polygon is supported by The Graph in two ways: + +- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. +- You can also stream Polygon with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Polygon with Subgraphs + +Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. + +Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Find Existing Subgraphs on Polygon + +Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: + +- **Uniswap** — the largest DEX by liquidity, live on Polygon: [Uniswap V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/EsLGwxyeMMeJuhqWvuLmJEiDKXJ4Z6YsoJreUnyeozco) +- **QuickSwap** — Polygon's leading native DEX: [QuickSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g) +- **Aave** — the leading lending and money-market protocol on Polygon: [Aave V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/6yuf1C49aWEscgk5n9D1DekeG1BCk5Z9imJYJT3sVmAT) + +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for Polygon takes three steps: + +1. Initialize a Subgraph project from your Polygon contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your Polygon contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. +- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. +- **Schema** (`schema.graphql`): defines the entities you want to query. +- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. + +Point the manifest at Polygon: + +```yaml +dataSources: + - kind: ethereum + name: MyContract + network: matic + source: + address: '0xYourPolygonContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block +``` + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: + +```yaml +environment: + ethereum: 'matic:https://polygon.rpc.service.pinax.network' +``` + +Create and deploy to your local node: + +```sh +graph create --node http://localhost:8020/ my-polygon-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph +``` + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish to The Graph Network + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. + +### Indexing Polygon with Substreams + +Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + From a7585d1618a595f0509f036bca42beb294fecbd9 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 18:57:19 +0000 Subject: [PATCH 05/22] feat(supported-networks): product rows, guides card sets, id-named custom pages Network header table (NetworkDetailsPage): add Subgraphs and Substreams rows above Type. Subgraphs shows Subgraph Studio linked, with a Community Indexing / Network Rewards suffix by tier; Substreams shows the block model in the label and its services.substreams providers (The Graph Market, Pinax Network) separated by a dot. Rename the last table label to "Chain Docs". Guides cards (ResourceCards): add subgraphsAndSubstreamsCards (3x3, both products), rename evmSubgraphsOnlyCards -> subgraphsOnlyCards and nonEvmCards -> substreamsOnlyCards, and remove evmCards (substreams-only EVM chains now use substreamsOnlyCards). Custom pages: add Studio-only pages for kaia, kaia-testnet, neox, neox-testnet, viction, zetachain; normalize all customContent filenames to their network id. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Ms4WKyDtYzfNzYZCBorRZE --- website/src/pages/en/index.json | 10 +- website/src/pages/en/supported-networks.mdx | 1 - .../supportedNetworks/NetworkDetailsPage.tsx | 101 ++++++++- .../src/supportedNetworks/ResourceCards.tsx | 41 ++-- .../supportedNetworks/customContent/README.md | 31 +++ .../customContent/_subgraph-community.mdx | 162 ++++++++++++++ .../customContent/_subgraph-studio.mdx | 120 +++++++++++ .../{blast.mdx => _substreams-base.mdx} | 19 +- .../customContent/_substreams-extended.mdx | 26 +++ .../customContent/anubis.mdx | 172 +-------------- .../customContent/arbitrum-one.mdx | 15 ++ .../customContent/arbitrum-sepolia.mdx | 15 ++ .../customContent/arc-testnet.mdx | 9 + .../supportedNetworks/customContent/arc.mdx | 15 ++ .../customContent/avalanche.mdx | 15 ++ .../customContent/base-sepolia.mdx | 9 + .../supportedNetworks/customContent/base.mdx | 15 ++ .../customContent/blast-mainnet.mdx | 9 + .../customContent/boba-testnet.mdx | 9 + .../supportedNetworks/customContent/boba.mdx | 9 + .../supportedNetworks/customContent/bsc.mdx | 148 +------------ .../customContent/{bitcoin.mdx => btc.mdx} | 0 .../customContent/celo-sepolia.mdx | 9 + .../supportedNetworks/customContent/celo.mdx | 15 ++ .../customContent/chapel.mdx | 15 ++ .../customContent/chiliz-testnet.mdx | 9 + .../customContent/chiliz.mdx | 9 + .../customContent/{vaulta.mdx => eos.mdx} | 0 .../customContent/etherlink-mainnet.mdx | 9 + .../customContent/etherlink-shadownet.mdx | 9 + .../customContent/fraxtal.mdx | 9 + .../supportedNetworks/customContent/fuji.mdx | 9 + .../customContent/fuse-testnet.mdx | 9 + .../supportedNetworks/customContent/fuse.mdx | 9 + .../customContent/gnosis-chiado.mdx | 9 + .../customContent/gnosis.mdx | 11 + .../customContent/hemi-sepolia.mdx | 9 + .../supportedNetworks/customContent/hemi.mdx | 9 + .../{ethereum-hoodi.mdx => hoodi-cl.mdx} | 0 .../supportedNetworks/customContent/hoodi.mdx | 15 ++ .../customContent/hyper-evm.mdx | 19 +- .../supportedNetworks/customContent/index.ts | 166 +++++++++++++- .../customContent/injective-evm-testnet.mdx | 9 + .../customContent/injective-evm.mdx | 15 ++ .../{injective.mdx => injective-mainnet.mdx} | 0 .../customContent/injective-testnet.mdx | 22 ++ .../supportedNetworks/customContent/ink.mdx | 19 +- .../customContent/joc-testnet.mdx | 9 + .../supportedNetworks/customContent/joc.mdx | 9 + .../customContent/jungle4.mdx | 22 ++ .../customContent/kaia-testnet.mdx | 9 + .../supportedNetworks/customContent/kaia.mdx | 9 + .../customContent/linea-sepolia.mdx | 15 ++ .../supportedNetworks/customContent/linea.mdx | 15 ++ .../{ethereum-beacon.mdx => mainnet-cl.mdx} | 0 .../customContent/mainnet.mdx | 15 ++ .../supportedNetworks/customContent/matic.mdx | 64 ++++++ .../customContent/megaeth.mdx | 19 +- .../supportedNetworks/customContent/monad.mdx | 19 +- .../customContent/near-mainnet.mdx | 22 ++ .../customContent/near-testnet.mdx | 22 ++ .../customContent/neox-testnet.mdx | 9 + .../supportedNetworks/customContent/neox.mdx | 9 + .../customContent/optimism-sepolia.mdx | 15 ++ .../customContent/optimism.mdx | 15 ++ .../supportedNetworks/customContent/peaq.mdx | 9 + .../customContent/polygon-amoy.mdx | 15 ++ .../customContent/polygon.mdx | 202 ------------------ .../customContent/robinhood-sepolia.mdx | 9 + .../customContent/robinhood.mdx | 19 +- .../customContent/rootstock-testnet.mdx | 9 + .../customContent/rootstock.mdx | 9 + .../customContent/scroll-sepolia.mdx | 9 + .../customContent/scroll.mdx | 9 + .../customContent/sei-atlantic.mdx | 9 + .../customContent/sei-mainnet.mdx | 9 + .../{ethereum-sepolia.mdx => sepolia-cl.mdx} | 0 .../customContent/sepolia.mdx | 15 ++ .../{solana.mdx => solana-mainnet-beta.mdx} | 0 .../customContent/soneium-testnet.mdx | 9 + .../customContent/soneium.mdx | 9 + .../customContent/sonic-testnet.mdx | 9 + .../supportedNetworks/customContent/sonic.mdx | 9 + .../customContent/stable.mdx | 9 + .../customContent/starknet-testnet.mdx | 22 ++ .../customContent/stellar-testnet.mdx | 22 ++ .../customContent/tempo-moderato.mdx | 9 + .../supportedNetworks/customContent/tempo.mdx | 15 ++ .../customContent/tron-evm.mdx | 19 +- .../customContent/unichain-testnet.mdx | 15 ++ .../customContent/unichain.mdx | 15 ++ .../customContent/viction.mdx | 9 + .../customContent/wax-testnet.mdx | 22 ++ .../customContent/worldchain.mdx | 19 +- .../customContent/xlayer-mainnet.mdx | 15 ++ .../customContent/xlayer-sepolia.mdx | 9 + .../customContent/zetachain.mdx | 9 + .../customContent/zilliqa-testnet.mdx | 9 + .../customContent/zilliqa.mdx | 9 + .../customContent/zksync-era-sepolia.mdx | 9 + .../customContent/zksync-era.mdx | 9 + .../supportedNetworks/customContent/zora.mdx | 19 +- 102 files changed, 1601 insertions(+), 684 deletions(-) create mode 100644 website/src/supportedNetworks/customContent/_subgraph-community.mdx create mode 100644 website/src/supportedNetworks/customContent/_subgraph-studio.mdx rename website/src/supportedNetworks/customContent/{blast.mdx => _substreams-base.mdx} (52%) create mode 100644 website/src/supportedNetworks/customContent/_substreams-extended.mdx create mode 100644 website/src/supportedNetworks/customContent/arbitrum-one.mdx create mode 100644 website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/arc-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/arc.mdx create mode 100644 website/src/supportedNetworks/customContent/avalanche.mdx create mode 100644 website/src/supportedNetworks/customContent/base-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/base.mdx create mode 100644 website/src/supportedNetworks/customContent/blast-mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/boba-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/boba.mdx rename website/src/supportedNetworks/customContent/{bitcoin.mdx => btc.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/celo-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/celo.mdx create mode 100644 website/src/supportedNetworks/customContent/chapel.mdx create mode 100644 website/src/supportedNetworks/customContent/chiliz-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/chiliz.mdx rename website/src/supportedNetworks/customContent/{vaulta.mdx => eos.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/etherlink-mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/etherlink-shadownet.mdx create mode 100644 website/src/supportedNetworks/customContent/fraxtal.mdx create mode 100644 website/src/supportedNetworks/customContent/fuji.mdx create mode 100644 website/src/supportedNetworks/customContent/fuse-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/fuse.mdx create mode 100644 website/src/supportedNetworks/customContent/gnosis-chiado.mdx create mode 100644 website/src/supportedNetworks/customContent/gnosis.mdx create mode 100644 website/src/supportedNetworks/customContent/hemi-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/hemi.mdx rename website/src/supportedNetworks/customContent/{ethereum-hoodi.mdx => hoodi-cl.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/hoodi.mdx create mode 100644 website/src/supportedNetworks/customContent/injective-evm-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/injective-evm.mdx rename website/src/supportedNetworks/customContent/{injective.mdx => injective-mainnet.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/injective-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/joc-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/joc.mdx create mode 100644 website/src/supportedNetworks/customContent/jungle4.mdx create mode 100644 website/src/supportedNetworks/customContent/kaia-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/kaia.mdx create mode 100644 website/src/supportedNetworks/customContent/linea-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/linea.mdx rename website/src/supportedNetworks/customContent/{ethereum-beacon.mdx => mainnet-cl.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/matic.mdx create mode 100644 website/src/supportedNetworks/customContent/near-mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/near-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/neox-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/neox.mdx create mode 100644 website/src/supportedNetworks/customContent/optimism-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/optimism.mdx create mode 100644 website/src/supportedNetworks/customContent/peaq.mdx create mode 100644 website/src/supportedNetworks/customContent/polygon-amoy.mdx delete mode 100644 website/src/supportedNetworks/customContent/polygon.mdx create mode 100644 website/src/supportedNetworks/customContent/robinhood-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/rootstock-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/rootstock.mdx create mode 100644 website/src/supportedNetworks/customContent/scroll-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/scroll.mdx create mode 100644 website/src/supportedNetworks/customContent/sei-atlantic.mdx create mode 100644 website/src/supportedNetworks/customContent/sei-mainnet.mdx rename website/src/supportedNetworks/customContent/{ethereum-sepolia.mdx => sepolia-cl.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/sepolia.mdx rename website/src/supportedNetworks/customContent/{solana.mdx => solana-mainnet-beta.mdx} (100%) create mode 100644 website/src/supportedNetworks/customContent/soneium-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/soneium.mdx create mode 100644 website/src/supportedNetworks/customContent/sonic-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/sonic.mdx create mode 100644 website/src/supportedNetworks/customContent/stable.mdx create mode 100644 website/src/supportedNetworks/customContent/starknet-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/stellar-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/tempo-moderato.mdx create mode 100644 website/src/supportedNetworks/customContent/tempo.mdx create mode 100644 website/src/supportedNetworks/customContent/unichain-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/unichain.mdx create mode 100644 website/src/supportedNetworks/customContent/viction.mdx create mode 100644 website/src/supportedNetworks/customContent/wax-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/xlayer-mainnet.mdx create mode 100644 website/src/supportedNetworks/customContent/xlayer-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/zetachain.mdx create mode 100644 website/src/supportedNetworks/customContent/zilliqa-testnet.mdx create mode 100644 website/src/supportedNetworks/customContent/zilliqa.mdx create mode 100644 website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx create mode 100644 website/src/supportedNetworks/customContent/zksync-era.mdx diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 54a574f717e2..dbf678e0d9b5 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -39,7 +39,7 @@ "identifier": "Identifier", "chainId": "Chain ID", "nativeCurrency": "Native Currency", - "docs": "Docs", + "docs": "Chain Docs", "shortName": "Short Name", "guides": "Guides", "search": "Search networks", @@ -109,6 +109,14 @@ "billing": { "title": "Billing", "description": "Optimize costs and manage billing efficiently." + }, + "studioBilling": { + "title": "Studio Billing", + "description": "Optimize costs and manage billing efficiently." + }, + "substreamsPricing": { + "title": "Substreams Pricing", + "description": "Compare providers and pricing to consume Substreams data." } }, "nonEvm": { diff --git a/website/src/pages/en/supported-networks.mdx b/website/src/pages/en/supported-networks.mdx index 9592cfabc0ad..3d10d63013bd 100644 --- a/website/src/pages/en/supported-networks.mdx +++ b/website/src/pages/en/supported-networks.mdx @@ -17,7 +17,6 @@ export const getStaticProps = getSupportedNetworksStaticProps - Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. -- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. - If a Subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). diff --git a/website/src/supportedNetworks/NetworkDetailsPage.tsx b/website/src/supportedNetworks/NetworkDetailsPage.tsx index f31aaa439bd9..6a5c1e6d56a4 100644 --- a/website/src/supportedNetworks/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/NetworkDetailsPage.tsx @@ -1,3 +1,5 @@ +import { Fragment } from 'react' + import { ExperimentalCopyButton, ExperimentalDescriptionList, ExperimentalLink } from '@edgeandnode/gds' import { NetworkIcon } from '@edgeandnode/go' @@ -5,23 +7,67 @@ import { Card, Heading, TimeIcon } from '@/components' import { useI18n } from '@/i18n' import { customNetworkContent } from './customContent' -import { evmCards, evmSubgraphsOnlyCards, nonEvmCards } from './ResourceCards' -import { type SupportedNetwork } from './utils' +import { subgraphsAndSubstreamsCards, subgraphsOnlyCards, substreamsOnlyCards } from './ResourceCards' +import { type SubgraphsTier, type SubstreamsTier, type SupportedNetwork } from './utils' + +// Product-support rows shown at the top of each network page. Labels mirror the tiers used +// in the Supported Networks table (see ./utils), rendered here as plain text instead of chips. +const SUBGRAPHS_STUDIO_URL = 'https://thegraph.com/studio/' +const SUBGRAPHS_TIER_CONTENT: Record< + Exclude, + { linkLabel: string; suffix?: { label: string; href?: string } } +> = { + studio: { linkLabel: 'Subgraph Studio' }, + network: { linkLabel: 'Subgraph Studio (API Keys)', suffix: { label: 'Community Indexing' } }, + rewards: { + linkLabel: 'Subgraph Studio', + suffix: { + label: 'Network Rewards', + href: 'https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/publishing-a-subgraph/', + }, + }, +} +const SUBSTREAMS_MODEL_LABEL: Record, string> = { + other: 'Non-EVM', + base: 'Base EVM', + extended: 'Extended EVM', +} +// Substreams provider endpoints (from `services.substreams`) mapped to their public brand + link. +const SUBSTREAMS_PROVIDERS: { match: string; name: string; href: string }[] = [ + { match: 'streamingfast.io', name: 'The Graph Market', href: 'https://thegraph.market/' }, + { match: 'pinax.network', name: 'Pinax Network', href: 'https://pinax.network/' }, +] export default function NetworkDetailsPage({ network }: { network: SupportedNetwork }) { const { t } = useI18n() const CustomContent = customNetworkContent[network.id] + // Providers listed under `services.substreams` in the networks registry, kept in a stable + // brand-preferred order (The Graph Market first, then Pinax Network). + const substreamsProviders = SUBSTREAMS_PROVIDERS.filter((provider) => + (network.services?.substreams ?? []).some((url) => url.includes(provider.match)), + ) const cards = (() => { if (network.evm) { - if (network.subgraphsSupportLevel !== 'none' && network.substreamsSupportLevel === 'none') { - return evmSubgraphsOnlyCards - } else { - return evmCards + const hasSubgraphs = network.subgraphsSupportLevel !== 'none' + const hasSubstreams = network.substreamsSupportLevel !== 'none' + if (hasSubgraphs && hasSubstreams) { + return subgraphsAndSubstreamsCards } + if (hasSubgraphs) { + return subgraphsOnlyCards + } + // EVM networks with Substreams support only. + return substreamsOnlyCards } else { - return nonEvmCards + return substreamsOnlyCards } })() + // The both-products card set fills a full 3x3 grid; the other sets use a 3-on-top, + // 2-on-bottom layout. + const guidesItemClassName = + cards.length === 6 + ? 'col-span-full lg:col-span-2 lg:min-h-64' + : 'col-span-full [&:nth-child(-n+3)]:lg:col-span-2 [&:nth-child(-n+3)]:lg:min-h-64 [&:nth-child(n+4)]:lg:col-span-3' return (
@@ -34,6 +80,45 @@ export default function NetworkDetailsPage({ network }: { network: SupportedNetw
+ {network.subgraphsTier !== 'none' && + (() => { + const subgraphs = SUBGRAPHS_TIER_CONTENT[network.subgraphsTier] + return ( + + + {subgraphs.linkLabel} + + {subgraphs.suffix && ( + <> + {' • '} + {subgraphs.suffix.href ? ( + + {subgraphs.suffix.label} + + ) : ( + subgraphs.suffix.label + )} + + )} + + ) + })()} + {network.substreamsTier !== 'none' && ( + + {substreamsProviders.length > 0 + ? substreamsProviders.map((provider, index) => ( + + {index > 0 && ' • '} + + {provider.name} + + + )) + : null} + + )} {network.networkType} @@ -94,7 +179,7 @@ export default function NetworkDetailsPage({ network }: { network: SupportedNetw title={t(card.titleKey)} description={t(card.descriptionKey)} slotAboveTitle={} - className="col-span-full [&:nth-child(-n+3)]:lg:col-span-2 [&:nth-child(-n+3)]:lg:min-h-64 [&:nth-child(n+4)]:lg:col-span-3" + className={guidesItemClassName} icon={card.icon} /> ))} diff --git a/website/src/supportedNetworks/ResourceCards.tsx b/website/src/supportedNetworks/ResourceCards.tsx index af973e6d7574..590981c9a8c2 100644 --- a/website/src/supportedNetworks/ResourceCards.tsx +++ b/website/src/supportedNetworks/ResourceCards.tsx @@ -8,7 +8,9 @@ type Resource = { icon?: React.ReactNode } -export const evmCards = [ +// EVM networks that support BOTH Subgraphs and Substreams. Subgraph guides fill the top +// row; Substreams guides fill the bottom row (see the 3x3 grid in NetworkDetailsPage). +export const subgraphsAndSubstreamsCards = [ { href: 'https://thegraph.com/docs/en/subgraphs/quick-start/', titleKey: 'index.networkGuides.evm.subgraphQuickStart.title' as const, @@ -17,34 +19,43 @@ export const evmCards = [ icon: , }, { - href: 'https://thegraph.com/docs/en/substreams/quick-start/', - titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, - descriptionKey: 'index.networkGuides.evm.substreamsQuickStart.description' as const, - minutes: 15, - icon: , + href: 'https://thegraph.com/docs/en/subgraphs/existing-subgraphs/explorer/', + titleKey: 'index.networkGuides.evm.graphExplorer.title' as const, + descriptionKey: 'index.networkGuides.evm.graphExplorer.description' as const, + minutes: 12, + icon: , }, { href: 'https://thegraph.com/docs/en/subgraphs/providers/subgraph-studio/introduction/', - titleKey: 'index.networkGuides.evm.billing.title' as const, - descriptionKey: 'index.networkGuides.evm.billing.description' as const, + titleKey: 'index.networkGuides.evm.studioBilling.title' as const, + descriptionKey: 'index.networkGuides.evm.studioBilling.description' as const, minutes: 5, - icon: , // TODO: Is this really the right icon for this? + icon: , }, { - href: 'https://thegraph.com/docs/en/subgraphs/existing-subgraphs/explorer/', - titleKey: 'index.networkGuides.evm.graphExplorer.title' as const, - descriptionKey: 'index.networkGuides.evm.graphExplorer.description' as const, - minutes: 12, + href: 'https://thegraph.com/docs/en/substreams/quick-start/', + titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsQuickStart.description' as const, + minutes: 15, + icon: , }, { href: 'https://substreams.dev/', titleKey: 'index.networkGuides.evm.substreamsDev.title' as const, descriptionKey: 'index.networkGuides.evm.substreamsDev.description' as const, minutes: 5, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/substreams/providers/the-graph-market/', + titleKey: 'index.networkGuides.evm.substreamsPricing.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsPricing.description' as const, + minutes: 5, + icon: , }, ] -export const evmSubgraphsOnlyCards = [ +export const subgraphsOnlyCards = [ { href: 'https://thegraph.com/docs/en/subgraphs/quick-start/', titleKey: 'index.networkGuides.evm.subgraphQuickStart.title' as const, @@ -80,7 +91,7 @@ export const evmSubgraphsOnlyCards = [ }, ] -export const nonEvmCards = [ +export const substreamsOnlyCards = [ { href: 'https://thegraph.com/docs/en/substreams/quick-start/', titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, diff --git a/website/src/supportedNetworks/customContent/README.md b/website/src/supportedNetworks/customContent/README.md index 611225e0cd4c..7812b03555d7 100644 --- a/website/src/supportedNetworks/customContent/README.md +++ b/website/src/supportedNetworks/customContent/README.md @@ -31,3 +31,34 @@ Networks not listed in `index.ts` render the default templated page, unchanged. - The `.mdx` is compiled by Nextra's loader as a non-page import, so the same remark plugins (callouts, etc.) and MDX component styling used across the docs apply automatically — the content looks native to the site. - The page only exists if the network is present in the **published** registry that the build fetches. Custom content here does not create the page; it only enriches a page that the registry already generates. + +## Reusable content blocks + +Common, repeated sections live in shared MDX partials (prefixed `_`) so a single +edit updates every network that uses them. Import a partial and render it with +the network-specific values as props. + +### Substreams section + +Two partials cover the standard "Indexing _{Chain}_ with Substreams" section for +EVM networks, differing only by the block model the network is served with: + +- `_substreams-extended.mdx` — **extended** EVM block model (full transaction, + call, and event data). Used by chains like BSC, Polygon, Monad, Ink. +- `_substreams-base.mdx` — **base** EVM block model (block, transaction, and + event/log data). Used by chains like Blast, MegaETH, TRON EVM. + +```mdx +import SubstreamsExtended from './_substreams-extended.mdx' + + +``` + +Props: + +- `chainName` (required) — short name used throughout the body copy (e.g. `BSC`). +- `title` (optional) — heading display name; defaults to `chainName` (e.g. + `BNB Smart Chain` when `chainName` is `BSC`). + +Non-EVM networks (Solana, Bitcoin, Injective, Stellar, etc.) use bespoke +Substreams wording and keep their section inline rather than using these blocks. diff --git a/website/src/supportedNetworks/customContent/_subgraph-community.mdx b/website/src/supportedNetworks/customContent/_subgraph-community.mdx new file mode 100644 index 000000000000..6200c6227830 --- /dev/null +++ b/website/src/supportedNetworks/customContent/_subgraph-community.mdx @@ -0,0 +1,162 @@ +{/* + Reusable "community" Subgraph section. + + The community model: publish Subgraphs directly to The Graph Network and add + curation signal so select Indexers on the network pick them up (a curation + backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start + (Steps 1-4). Each network page keeps its own intro and any chain-specific + "Find Existing Subgraphs" card grid inline. + + Props: + - chainName (required) short name in body copy, e.g. "BSC", "Polygon" + - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") + - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" + - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" + - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" + - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" + - rpcUrl (required) RPC endpoint used for local verification + - customNetwork (optional) network not in `graph init`'s list; enter it manually + - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally +*/} + +import { Callout, CodeBlock } from '@/components' +import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' + +### Indexing {props?.title ?? props?.chainName} with Subgraphs [#indexing-with-subgraphs] + +Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. + +{props.chainName} is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your {props.chainName} contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for {props.chainName} takes three steps: + +1. Initialize a Subgraph project from your {props.chainName} contract. +2. Publish it to The Graph Network for decentralized indexing. +3. Query it over GraphQL with an API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +{props.noStudio && ( + + {props.chainName} is supported on The Graph Network, but does not currently have Subgraph Studio testing/staging support. Skip the standard graph deploy and Studio playground path. Instead, you can validate your Subgraph locally (see below) or publish directly to The Graph Network, where a decentralized Indexer that supports {props.chainName} indexes it. + +)} + +##### Step 1: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Verify the install: + +```sh +graph --version +``` + +Initialize from your {props.chainName} contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts{props.customNetwork ? `. ${props.chainName} is a custom EVM network, so provide the network details manually when asked` : ''}: + +- **Protocol**: choose `ethereum`. {props.chainName} is EVM-compatible. +- **Subgraph slug**: an identifier for your Subgraph, for example {`my-${props.slug}-subgraph`}. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: {props.customNetwork ? <>enter {props.networkId} as the network identifier. : <>select {props.networkId} from the list of supported networks.} +- **Contract address**: the address of the contract you want to index. Find it on {props.explorerUrl.replace(/^https?:\/\//, '')}. +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the {props.explorerName} contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + + + {props.customNetwork ? ( + <> + The network value you enter ({props.networkId}) must match the network identifier that The Graph has registered for {props.chainName}. If graph init does not recognize the network, scaffold with any EVM network and set the network field manually in subgraph.yaml (next step). + + ) : ( + <> + The network value for {props.chainName} is {props.networkId}. graph init recognizes it directly, so you can select it from the list of supported networks. You can also set the network field manually in subgraph.yaml (next step). + + )} + + +##### Step 2: Write and build your Subgraph + +You work with three files: + +- **Manifest:** `subgraph.yaml` defines which data sources your Subgraph indexes. +- **Schema:** `schema.graphql` defines the entities you want to query. +- **Mappings:** `src/mapping.ts` uses AssemblyScript that translates on-chain events into your entities. + +Point the manifest at {props.chainName}: + +{`dataSources: + - kind: ethereum + name: MyContract + network: ${props.networkId} + source: + address: '0xYour${props.slug.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join('')}ContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block`} + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). + +Generate types and build: + +```sh +graph codegen && graph build +``` + +**Optional: verify locally before publishing.** {props.noStudio ? `The Studio playground cannot index ${props.chainName}, so test` : 'You can test'} indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at an RPC endpoint for {props.chainName}. In your `docker-compose.yml`, set the Ethereum environment to {props.customNetwork ? `your ${props.chainName} network` : props.chainName}: + +{`environment: + ethereum: '${props.networkId}:${props.rpcUrl}'`} + +Create and deploy to your local node: + +{`graph create --node http://localhost:8020/ my-${props.slug}-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-${props.slug}-subgraph`} + +Query the local endpoint until your entities look right, then publish. + +##### Step 3: Publish & Curate on The Graph Network + +{props.noStudio ? `This is the recommended path for ${props.chainName}.` : ''} + +Publishing is an on-chain action that: + +- makes your Subgraph available for decentralized [Indexers](/indexing/overview/){props.noStudio ? ` that support ${props.chainName}` : ''} to index, +- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), +- and makes it available for [Curators](/resources/roles/curating/) to add signal. + +Build, then publish from the Graph CLI: + +```sh +graph codegen && graph build +graph publish +``` + +A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to {props.chainName}. + +> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. + +##### Step 4: Query your Subgraph + +After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles {props.noStudio ? 'keys and billing for The Graph Network on Arbitrum, independent of which chains Studio can index' : 'API keys and billing for The Graph Network'}. +2. Send GraphQL queries to the query URL with your API key. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. diff --git a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx new file mode 100644 index 000000000000..e4a634677e56 --- /dev/null +++ b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx @@ -0,0 +1,120 @@ +{/* + Reusable "studio" Subgraph section. + + For chains where Subgraph publishing is ENABLED but there is no guaranteed + indexing on The Graph Network yet: develop, test, and query through Subgraph + Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). + Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing + callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own + intro inline. + + Props: + - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" + - title (optional) heading name; defaults to chainName + - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" + - slug (required) example Subgraph slug base, e.g. "sei" + - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" + - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" +*/} + +import { Callout, CodeBlock } from '@/components' +import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' + +### Indexing {props?.title ?? props?.chainName} with Subgraphs [#indexing-with-subgraphs] + +Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. + +{props.chainName} is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You develop and test your Subgraph in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/), then query it through the development endpoint. + + + Subgraph publishing is enabled for {props.chainName}, but no guaranteed indexing is available via The Graph Network at this time. You can develop, test, and publish your Subgraph in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/), but Indexers on the decentralized network are not guaranteed to index and serve it yet. + + +#### Quick Start: Build Your Own Subgraph + +Building a Subgraph for {props.chainName} takes four steps: + +1. Create your Subgraph in Subgraph Studio. +2. Initialize a Subgraph project from your {props.chainName} contract. +3. Deploy it to Subgraph Studio and test it in the playground. +4. Query it over GraphQL with the development endpoint. + +See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. + +##### Step 1: Create your Subgraph in Subgraph Studio + +Open [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet (MetaMask, Coinbase Wallet, WalletConnect, or Safe). Create a Subgraph, then copy its **slug** and your **deploy key** from the Subgraph details page — you use both from the CLI. For a full walkthrough, see [Using Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). + +##### Step 2: Initialize your Subgraph project + +Install the Graph CLI with the package manager you prefer: + +```sh +# npm +npm install -g @graphprotocol/graph-cli@latest + +# or yarn +yarn global add @graphprotocol/graph-cli +``` + +Initialize from your {props.chainName} contract: + +```sh +graph init +``` + +The CLI walks you through a set of prompts: + +- **Protocol**: choose `ethereum`. {props.chainName} is EVM-compatible. +- **Subgraph slug**: use the slug of the Subgraph you created in Subgraph Studio, for example {`my-${props.slug}-subgraph`}. +- **Directory**: where the project is scaffolded. +- **Ethereum network**: select {props.networkId} from the list of supported networks. +- **Contract address**: the address of the contract you want to index. Find it on {props.explorerUrl.replace(/^https?:\/\//, '')}. +- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the {props.explorerName} contract page. Supply it as a JSON file. +- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. +- **Contract name**: the name of your contract. +- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. + +Point the manifest at {props.chainName}: + +{`dataSources: + - kind: ethereum + name: MyContract + network: ${props.networkId} + source: + address: '0xYour${props.slug.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join('')}ContractAddress' + abi: MyContract + startBlock: 123456 # your contract's deployment block`} + +For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). Then generate types and build: + +```sh +graph codegen && graph build +``` + +##### Step 3: Deploy to Subgraph Studio + +Authenticate the CLI with the deploy key from your Subgraph details page: + +```sh +graph auth +``` + +Then deploy your Subgraph to Subgraph Studio (the CLI asks for a version label such as `0.0.1`): + +```sh +graph deploy +``` + +Deploying pushes your Subgraph to Subgraph Studio, where you can test it in the playground and check indexing logs. It does not publish it to the decentralized network — see [Using Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) for details. + +##### Step 4: Query your Subgraph + +Once your Subgraph is syncing in Studio, test your queries against the **development query URL** shown on the Subgraph details page. + +1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). +2. Send GraphQL queries to the development query URL with your API key. The development endpoint is rate-limited (currently 3,000 queries per day). + +You can [publish your Subgraph to The Graph Network](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) at any time, but Indexers are not guaranteed to serve {props.chainName} Subgraphs yet, so the Subgraph Studio development endpoint is the reliable way to query today. + +See [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. diff --git a/website/src/supportedNetworks/customContent/blast.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx similarity index 52% rename from website/src/supportedNetworks/customContent/blast.mdx rename to website/src/supportedNetworks/customContent/_substreams-base.mdx index f3ada47ba5c5..027784fb2309 100644 --- a/website/src/supportedNetworks/customContent/blast.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,22 +1,25 @@ -### Indexing Data on Blast +{/* + Reusable Substreams section for EVM networks served with the BASE EVM + block model (block, transaction, and event/log data). -Blast is an Ethereum Layer 2 built on the OP Stack that offers native yield on ETH and stablecoins for its DeFi and dApp ecosystem. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + Props: + - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". + - title (optional): heading display name; defaults to chainName. +*/} -Blast is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] -### Indexing Blast with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Blast is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). {props?.chainName} is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. #### Find an Existing Module on Substreams.dev -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Blast; if a module fits, you can consume its output directly or import it as a dependency in your own project. +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on {props?.chainName}; if a module fits, you can consume its output directly or import it as a dependency in your own project. #### Develop Your Own Substreams Module If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Blast contract. +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your {props?.chainName} contract. 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx new file mode 100644 index 000000000000..dc5f26bb091d --- /dev/null +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -0,0 +1,26 @@ +{/* + Reusable Substreams section for EVM networks served with the EXTENDED EVM + block model (full transaction, call, and event data). + + Props: + - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". + - title (optional): heading display name; defaults to chainName + (e.g. "BNB Smart Chain" when chainName is "BSC"). +*/} + +### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). {props?.chainName} is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on {props?.chainName}; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your {props?.chainName} contract. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/anubis.mdx b/website/src/supportedNetworks/customContent/anubis.mdx index 0b52a4f84cd5..022f4a0fbaf3 100644 --- a/website/src/supportedNetworks/customContent/anubis.mdx +++ b/website/src/supportedNetworks/customContent/anubis.mdx @@ -1,175 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + ### Getting Started on Anubis Anubis Chain is a privacy-focused, EVM-compatible Layer 1 that pairs base-layer privacy (PLONK ZK proofs and selective disclosure) with publicly verifiable onchain data, live on mainnet since April 2026 and already running 1M+ transactions a day across a growing DeFi ecosystem (RocketSwap, AWAKE). A subgraph could index that onchain activity — DEX swaps, pools, and liquidity; lending and RWA positions; token transfers and holder balances; and contract events — and serve it via GraphQL. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. Importantly, Anubis is a selective-privacy chain. A Subgraph can only index data that is public on-chain. Transparent transactions, and the events they emit, are fully indexable. Data inside shielded (PLONK ZK) transactions is not visible on-chain, so it cannot be indexed. Design your contract's public events with this in mind if you want that data to be queryable. -### Indexing Anubis with Subgraphs - -Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. - -Anubis is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Anubis contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -### Quick Start - -Building a Subgraph for Anubis takes three steps: - -1. Initialize a Subgraph project from your Anubis contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -> [!NOTE] Anubis is supported on The Graph Network, but does not currently have Subgraph Studio testing/staging support. Skip the standard `graph deploy` and Studio playground path. Instead, you can validate your Subgraph locally (see below) or publish directly to The Graph Network, where a decentralized Indexer that supports Anubis indexes it. - -#### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your Anubis contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts. Anubis is a custom EVM network, so provide the network details manually when asked: - -- **Protocol**: choose `ethereum`. Anubis is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-anubis-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: enter `anubis` as the network identifier. -- **Contract address**: the address of the contract you want to index. Find it on [browser.anubispace.org](https://browser.anubispace.org). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the Blockscout contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value you enter (`anubis`) must match the network identifier that The Graph has registered for Anubis. If `graph init` does not recognize the network, scaffold with any EVM network and set the `network` field manually in `subgraph.yaml` (next step). - -#### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. -- **Schema** (`schema.graphql`): defines the entities you want to query. -- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. - -Point the manifest at Anubis: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: anubis # must match The Graph's Anubis network identifier - source: - address: '0xYourAnubisContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** The Studio playground cannot index Anubis, so test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at an Anubis RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to your Anubis network: - -```yaml -environment: - ethereum: 'anubis:https://rpc.anubispace.org' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-anubis-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-anubis-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -#### Step 3: Publish to The Graph Network - -This is the recommended path for Anubis. Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) that support Anubis to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Anubis. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -#### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles keys and billing for The Graph Network on Arbitrum, independent of which chains Studio can index. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Appendix - -#### Sample GraphQL query - -```graphql -{ - transfers(first: 5, orderBy: blockNumber, orderDirection: desc) { - id - from - to - value - blockNumber - } -} -``` - -#### Querying from JavaScript - -```js -const query = ` - { - transfers(first: 5, orderBy: blockNumber, orderDirection: desc) { - id - from - to - value - blockNumber - } - } -` - -const res = await fetch('https://gateway.thegraph.com/api//subgraphs/id/', { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ query }), -}) - -const { data } = await res.json() -console.log(data.transfers) -``` + diff --git a/website/src/supportedNetworks/customContent/arbitrum-one.mdx b/website/src/supportedNetworks/customContent/arbitrum-one.mdx new file mode 100644 index 000000000000..0127a7008930 --- /dev/null +++ b/website/src/supportedNetworks/customContent/arbitrum-one.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Arbitrum One + +Arbitrum One is an Ethereum Layer 2 built by Offchain Labs using optimistic-rollup technology, and one of the largest L2s by total value locked, with a deep DeFi, perps, and gaming ecosystem. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Arbitrum One is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx new file mode 100644 index 000000000000..1e267dbc2e40 --- /dev/null +++ b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Arbitrum Sepolia Testnet + +Arbitrum Sepolia Testnet is the primary public test network for Arbitrum One, the Offchain Labs Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Arbitrum Sepolia Testnet is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/arc-testnet.mdx b/website/src/supportedNetworks/customContent/arc-testnet.mdx new file mode 100644 index 000000000000..696ea322e0a1 --- /dev/null +++ b/website/src/supportedNetworks/customContent/arc-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Arc Testnet + +Arc Testnet is the public test network for Arc, Circle's EVM-compatible Layer 1 for stablecoin finance, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Arc Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Arc Testnet. + + diff --git a/website/src/supportedNetworks/customContent/arc.mdx b/website/src/supportedNetworks/customContent/arc.mdx new file mode 100644 index 000000000000..6853a9662fa5 --- /dev/null +++ b/website/src/supportedNetworks/customContent/arc.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Arc + +Arc is an EVM-compatible Layer 1 built by Circle for stablecoin finance, using USDC as its native gas token and designed for payments, FX, and institutional settlement. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Arc is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/avalanche.mdx b/website/src/supportedNetworks/customContent/avalanche.mdx new file mode 100644 index 000000000000..4854fdde23d8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/avalanche.mdx @@ -0,0 +1,15 @@ +import SubstreamsBase from './_substreams-base.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Avalanche + +Avalanche C-Chain is the EVM-compatible contract chain of the Avalanche network, a high-throughput Layer 1 with sub-second finality and a broad DeFi, gaming, and institutional ecosystem, with AVAX as its native token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Avalanche is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/base-sepolia.mdx b/website/src/supportedNetworks/customContent/base-sepolia.mdx new file mode 100644 index 000000000000..39c26e79b7d9 --- /dev/null +++ b/website/src/supportedNetworks/customContent/base-sepolia.mdx @@ -0,0 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + +### Indexing Data on Base Sepolia Testnet + +Base Sepolia Testnet is the primary public test network for Base, Coinbase's OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Base Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/base.mdx b/website/src/supportedNetworks/customContent/base.mdx new file mode 100644 index 000000000000..ce045077f73f --- /dev/null +++ b/website/src/supportedNetworks/customContent/base.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Base + +Base is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, incubated by Coinbase, with one of the fastest-growing DeFi, consumer, and onchain-social ecosystems in crypto. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Base is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/blast-mainnet.mdx b/website/src/supportedNetworks/customContent/blast-mainnet.mdx new file mode 100644 index 000000000000..07b5d1618f1f --- /dev/null +++ b/website/src/supportedNetworks/customContent/blast-mainnet.mdx @@ -0,0 +1,9 @@ +import SubstreamsBase from './_substreams-base.mdx' + +### Indexing Data on Blast + +Blast is an Ethereum Layer 2 built on the OP Stack that offers native yield on ETH and stablecoins for its DeFi and dApp ecosystem. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Blast is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/boba-testnet.mdx b/website/src/supportedNetworks/customContent/boba-testnet.mdx new file mode 100644 index 000000000000..8b278fbf56fc --- /dev/null +++ b/website/src/supportedNetworks/customContent/boba-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Boba Sepolia Testnet + +Boba Sepolia Testnet is the public test network for Boba Network, an Ethereum Layer 2 optimistic rollup, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Boba Sepolia Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/boba.mdx b/website/src/supportedNetworks/customContent/boba.mdx new file mode 100644 index 000000000000..c957fc442522 --- /dev/null +++ b/website/src/supportedNetworks/customContent/boba.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Boba + +Boba Network is an Ethereum Layer 2 optimistic rollup that adds hybrid compute for calling external APIs from smart contracts, supporting DeFi and consumer applications. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Boba is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/bsc.mdx b/website/src/supportedNetworks/customContent/bsc.mdx index db31232a3650..537a4918b24f 100644 --- a/website/src/supportedNetworks/customContent/bsc.mdx +++ b/website/src/supportedNetworks/customContent/bsc.mdx @@ -1,4 +1,6 @@ +import SubstreamsExtended from './_substreams-extended.mdx' import { Card } from '@/components' +import SubgraphCommunity from './_subgraph-community.mdx' import { Subgraph } from '@edgeandnode/gds/icons' ### Indexing Data on BNB Smart Chain @@ -12,13 +14,7 @@ BSC is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing BNB Smart Chain with Subgraphs - -Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. - -BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on BNB Smart Chain +### Find Existing Subgraphs on BNB Smart Chain Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: @@ -63,140 +59,6 @@ Before you build, check whether the data you need is already live. Many of the m Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for BSC takes three steps: - -1. Initialize a Subgraph project from your BSC contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your BSC contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. BSC is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `bsc` from the list of supported networks. -- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest:** `subgraph.yaml` defines which data sources your Subgraph indexes. -- **Schema:** `schema.graphql` defines the entities you want to query. -- **Mappings:** `src/mapping.ts` uses AssemblyScript that translates on-chain events into your entities. - -Point the manifest at BSC: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: bsc - source: - address: '0xYourBscContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: - -```yaml -environment: - ethereum: 'bsc:https://bsc.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-bsc-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish & Curate on The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing BNB Smart Chain with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/bitcoin.mdx b/website/src/supportedNetworks/customContent/btc.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/bitcoin.mdx rename to website/src/supportedNetworks/customContent/btc.mdx diff --git a/website/src/supportedNetworks/customContent/celo-sepolia.mdx b/website/src/supportedNetworks/customContent/celo-sepolia.mdx new file mode 100644 index 000000000000..157b9e125b88 --- /dev/null +++ b/website/src/supportedNetworks/customContent/celo-sepolia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Celo Sepolia Testnet + +Celo Sepolia Testnet is the public test network for Celo, an Ethereum Layer 2 focused on mobile-first payments and stablecoins, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Celo Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Celo Sepolia Testnet. + + diff --git a/website/src/supportedNetworks/customContent/celo.mdx b/website/src/supportedNetworks/customContent/celo.mdx new file mode 100644 index 000000000000..41a30e72cb0f --- /dev/null +++ b/website/src/supportedNetworks/customContent/celo.mdx @@ -0,0 +1,15 @@ +import SubstreamsBase from './_substreams-base.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Celo + +Celo is an Ethereum Layer 2 (formerly a standalone Layer 1) focused on mobile-first payments, stablecoins, and real-world assets, with low fees and CELO as its native token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Celo is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/chapel.mdx b/website/src/supportedNetworks/customContent/chapel.mdx new file mode 100644 index 000000000000..18fa1d165ab5 --- /dev/null +++ b/website/src/supportedNetworks/customContent/chapel.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on BNB Smart Chain Chapel Testnet + +BNB Smart Chain Chapel Testnet is the public test network for BNB Smart Chain, the EVM-compatible Layer 1, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +BNB Smart Chain Chapel Testnet is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/chiliz-testnet.mdx b/website/src/supportedNetworks/customContent/chiliz-testnet.mdx new file mode 100644 index 000000000000..d76f55082df9 --- /dev/null +++ b/website/src/supportedNetworks/customContent/chiliz-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Chiliz Spicy Testnet + +Chiliz Spicy Testnet is the public test network for Chiliz, the sports and entertainment EVM Layer 1, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Chiliz Spicy Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Chiliz Spicy Testnet. + + diff --git a/website/src/supportedNetworks/customContent/chiliz.mdx b/website/src/supportedNetworks/customContent/chiliz.mdx new file mode 100644 index 000000000000..68fd693eb490 --- /dev/null +++ b/website/src/supportedNetworks/customContent/chiliz.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Chiliz + +Chiliz is an EVM-compatible Layer 1 built for sports and entertainment, powering fan tokens and fan-engagement apps, with CHZ as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Chiliz is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Chiliz. + + diff --git a/website/src/supportedNetworks/customContent/vaulta.mdx b/website/src/supportedNetworks/customContent/eos.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/vaulta.mdx rename to website/src/supportedNetworks/customContent/eos.mdx diff --git a/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx b/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx new file mode 100644 index 000000000000..a84835b9e010 --- /dev/null +++ b/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Etherlink + +Etherlink is an EVM-compatible Layer 2 built on Tezos Smart Rollups, offering low fees and fast confirmations with XTZ for gas. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Etherlink is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Etherlink. + + diff --git a/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx b/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx new file mode 100644 index 000000000000..97e7794e53d6 --- /dev/null +++ b/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Etherlink Shadownet Testnet + +Etherlink Shadownet is a public test network for Etherlink, the EVM Layer 2 built on Tezos Smart Rollups, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Etherlink Shadownet Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Etherlink Shadownet Testnet. + + diff --git a/website/src/supportedNetworks/customContent/fraxtal.mdx b/website/src/supportedNetworks/customContent/fraxtal.mdx new file mode 100644 index 000000000000..ee3d77da608e --- /dev/null +++ b/website/src/supportedNetworks/customContent/fraxtal.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Fraxtal + +Fraxtal is an Ethereum Layer 2 built on the OP Stack by Frax Finance, designed around the Frax stablecoin and staking ecosystem. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Fraxtal is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/fuji.mdx b/website/src/supportedNetworks/customContent/fuji.mdx new file mode 100644 index 000000000000..d8dc8d7d9f1b --- /dev/null +++ b/website/src/supportedNetworks/customContent/fuji.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Avalanche Fuji Testnet + +Avalanche Fuji Testnet is the primary public test network for the Avalanche C-Chain, the EVM contract chain of the Avalanche network, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Avalanche Fuji Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Avalanche Fuji Testnet. + + diff --git a/website/src/supportedNetworks/customContent/fuse-testnet.mdx b/website/src/supportedNetworks/customContent/fuse-testnet.mdx new file mode 100644 index 000000000000..2c5aa4c08b6b --- /dev/null +++ b/website/src/supportedNetworks/customContent/fuse-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Fuse Testnet + +Fuse Testnet is the public test network for Fuse, an EVM-compatible chain for payments and business use cases, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Fuse Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/fuse.mdx b/website/src/supportedNetworks/customContent/fuse.mdx new file mode 100644 index 000000000000..e9273daf134e --- /dev/null +++ b/website/src/supportedNetworks/customContent/fuse.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Fuse + +Fuse is an EVM-compatible chain focused on payments and real-world business use cases, with fast, low-cost transactions and FUSE as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Fuse is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/gnosis-chiado.mdx b/website/src/supportedNetworks/customContent/gnosis-chiado.mdx new file mode 100644 index 000000000000..df4734161498 --- /dev/null +++ b/website/src/supportedNetworks/customContent/gnosis-chiado.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Gnosis Chiado Testnet + +Gnosis Chiado Testnet is the public test network for Gnosis Chain, the EVM-compatible Layer 1 (formerly xDai), where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Gnosis Chiado Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Gnosis Chiado Testnet. + + diff --git a/website/src/supportedNetworks/customContent/gnosis.mdx b/website/src/supportedNetworks/customContent/gnosis.mdx new file mode 100644 index 000000000000..75f6c062b89f --- /dev/null +++ b/website/src/supportedNetworks/customContent/gnosis.mdx @@ -0,0 +1,11 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Gnosis + +Gnosis Chain is an EVM-compatible Layer 1 (formerly xDai) secured by the GNO token and a large community validator set, focused on stability, payments, and public-goods infrastructure, with xDAI — a stable native gas token — for fees. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Gnosis is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + +> [!NOTE] Subgraphs previously deployed or published for Gnosis Chain may have used the `xdai` network identifier. All Subgraphs indexing Gnosis Chain can now be deployed or published with the `gnosis` network identifier. + + diff --git a/website/src/supportedNetworks/customContent/hemi-sepolia.mdx b/website/src/supportedNetworks/customContent/hemi-sepolia.mdx new file mode 100644 index 000000000000..3267574a4a36 --- /dev/null +++ b/website/src/supportedNetworks/customContent/hemi-sepolia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Hemi Sepolia Testnet + +Hemi Sepolia Testnet is the public test network for Hemi, the modular Bitcoin-and-Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Hemi Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Hemi Sepolia Testnet. + + diff --git a/website/src/supportedNetworks/customContent/hemi.mdx b/website/src/supportedNetworks/customContent/hemi.mdx new file mode 100644 index 000000000000..3b52a39ab504 --- /dev/null +++ b/website/src/supportedNetworks/customContent/hemi.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Hemi + +Hemi is a modular Layer 2 that combines Bitcoin and Ethereum into a single supernetwork, exposing Bitcoin state to EVM smart contracts through its hVM, with ETH for gas. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Hemi is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Hemi. + + diff --git a/website/src/supportedNetworks/customContent/ethereum-hoodi.mdx b/website/src/supportedNetworks/customContent/hoodi-cl.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/ethereum-hoodi.mdx rename to website/src/supportedNetworks/customContent/hoodi-cl.mdx diff --git a/website/src/supportedNetworks/customContent/hoodi.mdx b/website/src/supportedNetworks/customContent/hoodi.mdx new file mode 100644 index 000000000000..c485d8870c79 --- /dev/null +++ b/website/src/supportedNetworks/customContent/hoodi.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Ethereum Hoodi Testnet + +Ethereum Hoodi Testnet is a public Ethereum test network used by validators and application developers to test protocol upgrades and contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Ethereum Hoodi Testnet is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/hyper-evm.mdx b/website/src/supportedNetworks/customContent/hyper-evm.mdx index 212cb1dc26aa..e18df563266d 100644 --- a/website/src/supportedNetworks/customContent/hyper-evm.mdx +++ b/website/src/supportedNetworks/customContent/hyper-evm.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on HyperEVM HyperEVM is the general-purpose EVM layer of Hyperliquid, the high-performance L1 best known for its onchain perpetuals exchange. It brings EVM smart contracts to the Hyperliquid ecosystem, with native token HYPE and tight integration with HyperCore, Hyperliquid's order-book and perps layer. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. HyperEVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing HyperEVM with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). HyperEVM is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on HyperEVM; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your HyperEVM contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/index.ts b/website/src/supportedNetworks/customContent/index.ts index 1e1afaec9a2b..8d570a13a1ba 100644 --- a/website/src/supportedNetworks/customContent/index.ts +++ b/website/src/supportedNetworks/customContent/index.ts @@ -1,32 +1,104 @@ import type { ComponentType } from 'react' import Anubis from './anubis.mdx' -import Blast from './blast.mdx' +import Blast from './blast-mainnet.mdx' import Bsc from './bsc.mdx' -import Btc from './bitcoin.mdx' -import EthereumBeacon from './ethereum-beacon.mdx' +import Btc from './btc.mdx' +import EthereumBeacon from './mainnet-cl.mdx' import GnosisBeacon from './gnosis-cl.mdx' -import HoodiBeacon from './ethereum-hoodi.mdx' +import HoodiBeacon from './hoodi-cl.mdx' import HyperEvm from './hyper-evm.mdx' -import Injective from './injective.mdx' +import Injective from './injective-mainnet.mdx' import Ink from './ink.mdx' import Litecoin from './litecoin.mdx' import MegaEth from './megaeth.mdx' import Monad from './monad.mdx' -import Polygon from './polygon.mdx' +import Polygon from './matic.mdx' import Robinhood from './robinhood.mdx' -import SepoliaBeacon from './ethereum-sepolia.mdx' -import Solana from './solana.mdx' +import SepoliaBeacon from './sepolia-cl.mdx' +import Solana from './solana-mainnet-beta.mdx' import SolanaAccounts from './solana-accounts.mdx' import SolanaDevnet from './solana-devnet.mdx' import Starknet from './starknet-mainnet.mdx' import Stellar from './stellar.mdx' import Tron from './tron.mdx' import TronEvm from './tron-evm.mdx' -import Vaulta from './vaulta.mdx' +import Vaulta from './eos.mdx' import Wax from './wax.mdx' import WorldChain from './worldchain.mdx' import Zora from './zora.mdx' +import ArbitrumOne from './arbitrum-one.mdx' +import Arc from './arc.mdx' +import Base from './base.mdx' +import InjectiveEvm from './injective-evm.mdx' +import Linea from './linea.mdx' +import Ethereum from './mainnet.mdx' +import Optimism from './optimism.mdx' +import Soneium from './soneium.mdx' +import Unichain from './unichain.mdx' +import ArbitrumSepolia from './arbitrum-sepolia.mdx' +import BaseSepolia from './base-sepolia.mdx' +import Chapel from './chapel.mdx' +import Hoodi from './hoodi.mdx' +import InjectiveEvmTestnet from './injective-evm-testnet.mdx' +import LineaSepolia from './linea-sepolia.mdx' +import OptimismSepolia from './optimism-sepolia.mdx' +import PolygonAmoy from './polygon-amoy.mdx' +import RobinhoodSepolia from './robinhood-sepolia.mdx' +import Sepolia from './sepolia.mdx' +import SoneiumTestnet from './soneium-testnet.mdx' +import UnichainTestnet from './unichain-testnet.mdx' +import Avalanche from './avalanche.mdx' +import Celo from './celo.mdx' +import Tempo from './tempo.mdx' +import XLayer from './xlayer-mainnet.mdx' +import Near from './near-mainnet.mdx' +import NearTestnet from './near-testnet.mdx' +import StarknetTestnet from './starknet-testnet.mdx' +import StellarTestnet from './stellar-testnet.mdx' +import InjectiveTestnet from './injective-testnet.mdx' +import Jungle4 from './jungle4.mdx' +import WaxTestnet from './wax-testnet.mdx' +import Boba from './boba.mdx' +import BobaTestnet from './boba-testnet.mdx' +import Fuse from './fuse.mdx' +import FuseTestnet from './fuse-testnet.mdx' +import Fraxtal from './fraxtal.mdx' +import Rootstock from './rootstock.mdx' +import RootstockTestnet from './rootstock-testnet.mdx' +import Gnosis from './gnosis.mdx' +import Scroll from './scroll.mdx' +import Sonic from './sonic.mdx' +import ZksyncEra from './zksync-era.mdx' +import ArcTestnet from './arc-testnet.mdx' +import Fuji from './fuji.mdx' +import CeloSepolia from './celo-sepolia.mdx' +import Chiliz from './chiliz.mdx' +import ChilizTestnet from './chiliz-testnet.mdx' +import Etherlink from './etherlink-mainnet.mdx' +import EtherlinkShadownet from './etherlink-shadownet.mdx' +import GnosisChiado from './gnosis-chiado.mdx' +import Hemi from './hemi.mdx' +import HemiSepolia from './hemi-sepolia.mdx' +import Joc from './joc.mdx' +import JocTestnet from './joc-testnet.mdx' +import Peaq from './peaq.mdx' +import ScrollSepolia from './scroll-sepolia.mdx' +import SeiAtlantic from './sei-atlantic.mdx' +import SeiMainnet from './sei-mainnet.mdx' +import SonicTestnet from './sonic-testnet.mdx' +import Stable from './stable.mdx' +import TempoModerato from './tempo-moderato.mdx' +import XLayerSepolia from './xlayer-sepolia.mdx' +import Zilliqa from './zilliqa.mdx' +import ZilliqaTestnet from './zilliqa-testnet.mdx' +import ZksyncEraSepolia from './zksync-era-sepolia.mdx' +import Kaia from './kaia.mdx' +import KaiaTestnet from './kaia-testnet.mdx' +import NeoX from './neox.mdx' +import NeoXTestnet from './neox-testnet.mdx' +import Viction from './viction.mdx' +import Zetachain from './zetachain.mdx' /** * Per-network custom content for Supported Networks landing pages. @@ -69,4 +141,80 @@ export const customNetworkContent: Record = { tron: Tron, eos: Vaulta, wax: Wax, + // Substreams-only custom content (subgraph sections to be added later) + 'arbitrum-one': ArbitrumOne, + arc: Arc, + base: Base, + 'injective-evm': InjectiveEvm, + linea: Linea, + mainnet: Ethereum, + optimism: Optimism, + soneium: Soneium, + unichain: Unichain, + 'arbitrum-sepolia': ArbitrumSepolia, + 'base-sepolia': BaseSepolia, + chapel: Chapel, + hoodi: Hoodi, + 'injective-evm-testnet': InjectiveEvmTestnet, + 'linea-sepolia': LineaSepolia, + 'optimism-sepolia': OptimismSepolia, + 'polygon-amoy': PolygonAmoy, + 'robinhood-sepolia': RobinhoodSepolia, + sepolia: Sepolia, + 'soneium-testnet': SoneiumTestnet, + 'unichain-testnet': UnichainTestnet, + avalanche: Avalanche, + celo: Celo, + tempo: Tempo, + 'xlayer-mainnet': XLayer, + 'near-mainnet': Near, + 'near-testnet': NearTestnet, + 'starknet-testnet': StarknetTestnet, + 'stellar-testnet': StellarTestnet, + 'injective-testnet': InjectiveTestnet, + jungle4: Jungle4, + 'wax-testnet': WaxTestnet, + // Community Subgraph custom content + boba: Boba, + 'boba-testnet': BobaTestnet, + fuse: Fuse, + 'fuse-testnet': FuseTestnet, + fraxtal: Fraxtal, + rootstock: Rootstock, + 'rootstock-testnet': RootstockTestnet, + // Community Subgraph — additional EVM chains + gnosis: Gnosis, + scroll: Scroll, + sonic: Sonic, + 'zksync-era': ZksyncEra, + // Studio Subgraph (publishing enabled, no guaranteed indexing yet) + 'arc-testnet': ArcTestnet, + fuji: Fuji, + 'celo-sepolia': CeloSepolia, + chiliz: Chiliz, + 'chiliz-testnet': ChilizTestnet, + 'etherlink-mainnet': Etherlink, + 'etherlink-shadownet': EtherlinkShadownet, + 'gnosis-chiado': GnosisChiado, + hemi: Hemi, + 'hemi-sepolia': HemiSepolia, + joc: Joc, + 'joc-testnet': JocTestnet, + peaq: Peaq, + 'scroll-sepolia': ScrollSepolia, + 'sei-atlantic': SeiAtlantic, + 'sei-mainnet': SeiMainnet, + 'sonic-testnet': SonicTestnet, + stable: Stable, + 'tempo-moderato': TempoModerato, + 'xlayer-sepolia': XLayerSepolia, + zilliqa: Zilliqa, + 'zilliqa-testnet': ZilliqaTestnet, + 'zksync-era-sepolia': ZksyncEraSepolia, + kaia: Kaia, + 'kaia-testnet': KaiaTestnet, + neox: NeoX, + 'neox-testnet': NeoXTestnet, + viction: Viction, + zetachain: Zetachain, } diff --git a/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx b/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx new file mode 100644 index 000000000000..3c5dffb34d87 --- /dev/null +++ b/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx @@ -0,0 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + +### Indexing Data on Injective EVM Testnet + +Injective EVM Testnet is the public test network for Injective's EVM environment, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Injective EVM Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/injective-evm.mdx b/website/src/supportedNetworks/customContent/injective-evm.mdx new file mode 100644 index 000000000000..b249f9d51152 --- /dev/null +++ b/website/src/supportedNetworks/customContent/injective-evm.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Injective EVM + +Injective EVM is the EVM environment of Injective, a Layer 1 blockchain optimized for finance and DeFi, bringing Ethereum smart contracts to the Injective ecosystem with INJ as its native token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Injective EVM is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/injective.mdx b/website/src/supportedNetworks/customContent/injective-mainnet.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/injective.mdx rename to website/src/supportedNetworks/customContent/injective-mainnet.mdx diff --git a/website/src/supportedNetworks/customContent/injective-testnet.mdx b/website/src/supportedNetworks/customContent/injective-testnet.mdx new file mode 100644 index 000000000000..7e0af5a0612d --- /dev/null +++ b/website/src/supportedNetworks/customContent/injective-testnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Injective Testnet + +Injective Testnet is the public test network for Injective, a Cosmos-based Layer 1 optimized for finance and DeFi, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — transactions and messages, DEX and derivatives activity, token transfers and balances, and smart-contract events — as real-time data with Substreams. + +Injective Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Injective Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Injective Testnet's Cosmos blocks, transactions, and events. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Injective Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Injective. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/ink.mdx b/website/src/supportedNetworks/customContent/ink.mdx index fad280e40a1a..8b97360a95d8 100644 --- a/website/src/supportedNetworks/customContent/ink.mdx +++ b/website/src/supportedNetworks/customContent/ink.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on Ink Ink is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, incubated by Kraken with a focus on DeFi — bringing low fees and fast, Ethereum-secured settlement to onchain finance. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. Ink is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing Ink with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Ink is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Ink; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Ink contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/joc-testnet.mdx b/website/src/supportedNetworks/customContent/joc-testnet.mdx new file mode 100644 index 000000000000..aa8cfa5ebb02 --- /dev/null +++ b/website/src/supportedNetworks/customContent/joc-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Japan Open Chain Testnet + +Japan Open Chain Testnet is the public test network for Japan Open Chain, the enterprise EVM Layer 1, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Japan Open Chain Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Japan Open Chain Testnet. + + diff --git a/website/src/supportedNetworks/customContent/joc.mdx b/website/src/supportedNetworks/customContent/joc.mdx new file mode 100644 index 000000000000..cf25a2080290 --- /dev/null +++ b/website/src/supportedNetworks/customContent/joc.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Japan Open Chain + +Japan Open Chain is an EVM-compatible Layer 1 operated by trusted Japanese enterprises and designed for compliant, business-grade applications, with JOC as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Japan Open Chain is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Japan Open Chain. + + diff --git a/website/src/supportedNetworks/customContent/jungle4.mdx b/website/src/supportedNetworks/customContent/jungle4.mdx new file mode 100644 index 000000000000..21d53a8bd1a4 --- /dev/null +++ b/website/src/supportedNetworks/customContent/jungle4.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Vaulta Jungle4 Testnet + +Vaulta Jungle4 Testnet is a public test network for Vaulta (formerly EOS), an Antelope-based Layer 1, where teams deploy and validate contracts and applications before mainnet. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. + +Vaulta Jungle4 Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Vaulta Jungle4 Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Vaulta Jungle4 Testnet's blocks, transactions, and actions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Vaulta Jungle4 Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Vaulta. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/kaia-testnet.mdx b/website/src/supportedNetworks/customContent/kaia-testnet.mdx new file mode 100644 index 000000000000..7ceea834a694 --- /dev/null +++ b/website/src/supportedNetworks/customContent/kaia-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Kaia Kairos Testnet + +Kaia Kairos Testnet is the public test network for Kaia, the EVM-compatible Layer 1 formed by the merger of Klaytn and Finschia, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Kaia Kairos Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Kaia Kairos Testnet. + + diff --git a/website/src/supportedNetworks/customContent/kaia.mdx b/website/src/supportedNetworks/customContent/kaia.mdx new file mode 100644 index 000000000000..2bdbd220ea36 --- /dev/null +++ b/website/src/supportedNetworks/customContent/kaia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Kaia + +Kaia is an EVM-compatible Layer 1 formed by the merger of Klaytn and Finschia, built for large-scale Web3 and mini-dApp adoption across Asia, with KAIA as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Kaia is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Kaia. + + diff --git a/website/src/supportedNetworks/customContent/linea-sepolia.mdx b/website/src/supportedNetworks/customContent/linea-sepolia.mdx new file mode 100644 index 000000000000..051daa715223 --- /dev/null +++ b/website/src/supportedNetworks/customContent/linea-sepolia.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Linea Sepolia Testnet + +Linea Sepolia Testnet is the public test network for Linea, the Consensys zkEVM Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Linea Sepolia Testnet is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/linea.mdx b/website/src/supportedNetworks/customContent/linea.mdx new file mode 100644 index 000000000000..cf5aee73212f --- /dev/null +++ b/website/src/supportedNetworks/customContent/linea.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Linea + +Linea is an Ethereum Layer 2 zkEVM rollup developed by Consensys, combining full EVM equivalence with the security of zero-knowledge proofs and a growing DeFi ecosystem. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Linea is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/ethereum-beacon.mdx b/website/src/supportedNetworks/customContent/mainnet-cl.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/ethereum-beacon.mdx rename to website/src/supportedNetworks/customContent/mainnet-cl.mdx diff --git a/website/src/supportedNetworks/customContent/mainnet.mdx b/website/src/supportedNetworks/customContent/mainnet.mdx new file mode 100644 index 000000000000..865a8a1afbba --- /dev/null +++ b/website/src/supportedNetworks/customContent/mainnet.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Ethereum + +Ethereum is the original programmable, EVM Layer 1 and the largest smart-contract network by developer activity, total value locked, and application diversity, secured by proof-of-stake with ETH as its native token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Ethereum is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/matic.mdx b/website/src/supportedNetworks/customContent/matic.mdx new file mode 100644 index 000000000000..a5fe53247fbd --- /dev/null +++ b/website/src/supportedNetworks/customContent/matic.mdx @@ -0,0 +1,64 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import { Card } from '@/components' +import SubgraphCommunity from './_subgraph-community.mdx' +import { Subgraph } from '@edgeandnode/gds/icons' + +### Indexing Data on Polygon + +Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. + +The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Polygon is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Find Existing Subgraphs on Polygon + +Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: + +
+ } + href="https://thegraph.com/explorer/subgraphs/4A3fq2YYzT5poS9TW4ky9YjPnsBdh1pHGCRKD1UQBvhJ" + /> + } + href="https://thegraph.com/explorer/subgraphs/Co2URyXjnxaw8WqxKyVHdirq9Ahhm5vcTs4dMedAq211" + /> + } + href="https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g" + /> + } + href="https://thegraph.com/explorer/subgraphs/78nZMyM9yD77KG6pFaYap31kJvj8eUWLEntbiVzh8ZKN" + /> + } + href="https://thegraph.com/explorer/subgraphs/81Dm16JjuFSrqz813HysXoUPvzTwE7fsfPk2RTf66nyC" + /> + } + href="https://thegraph.com/explorer/subgraphs/4ngshgumX4LgFPSN4XHnbo2c4wbEdMDBwuLLSjvpERCh" + /> +
+ +Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. + + + + diff --git a/website/src/supportedNetworks/customContent/megaeth.mdx b/website/src/supportedNetworks/customContent/megaeth.mdx index 411e1378fad7..54a88a6b699e 100644 --- a/website/src/supportedNetworks/customContent/megaeth.mdx +++ b/website/src/supportedNetworks/customContent/megaeth.mdx @@ -1,22 +1,9 @@ +import SubstreamsBase from './_substreams-base.mdx' + ### Indexing Data on MegaETH MegaETH is a high-performance, EVM-compatible Ethereum Layer 2 built for real-time applications with very high throughput and low latency. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. MegaETH is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing MegaETH with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). MegaETH is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on MegaETH; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your MegaETH contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/monad.mdx b/website/src/supportedNetworks/customContent/monad.mdx index 5db421b95629..017838b9db22 100644 --- a/website/src/supportedNetworks/customContent/monad.mdx +++ b/website/src/supportedNetworks/customContent/monad.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on Monad Monad is a high-performance, EVM-compatible Layer 1 that uses parallel execution to reach high throughput while staying fully compatible with Ethereum tooling. Its native token is MON. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. Monad is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing Monad with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Monad is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Monad; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Monad contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/near-mainnet.mdx b/website/src/supportedNetworks/customContent/near-mainnet.mdx new file mode 100644 index 000000000000..cec9e4e592bb --- /dev/null +++ b/website/src/supportedNetworks/customContent/near-mainnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on NEAR + +NEAR is a high-performance, sharded Layer 1 blockchain with a human-readable account model and Nightshade consensus, designed for scalable consumer and AI applications, with NEAR as its native token. The Graph can stream that onchain activity — blocks, transactions, and receipts; token transfers and balances; and smart-contract activity — as real-time data with Substreams. + +NEAR is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing NEAR with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams NEAR's blocks, transactions, and receipts. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on NEAR; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for NEAR. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/near-testnet.mdx b/website/src/supportedNetworks/customContent/near-testnet.mdx new file mode 100644 index 000000000000..a91a6ee4c4e8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/near-testnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on NEAR Testnet + +NEAR Testnet is the public test network for NEAR, a sharded Layer 1 with a human-readable account model, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — blocks, transactions, and receipts; token transfers and balances; and smart-contract activity — as real-time data with Substreams. + +NEAR Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing NEAR Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams NEAR Testnet's blocks, transactions, and receipts. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on NEAR Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for NEAR. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/neox-testnet.mdx b/website/src/supportedNetworks/customContent/neox-testnet.mdx new file mode 100644 index 000000000000..661c354121b4 --- /dev/null +++ b/website/src/supportedNetworks/customContent/neox-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Neo X Testnet + +Neo X Testnet is the public test network for Neo X, the EVM-compatible sidechain of the Neo blockchain, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Neo X Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Neo X Testnet. + + diff --git a/website/src/supportedNetworks/customContent/neox.mdx b/website/src/supportedNetworks/customContent/neox.mdx new file mode 100644 index 000000000000..65c66bbe778c --- /dev/null +++ b/website/src/supportedNetworks/customContent/neox.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Neo X + +Neo X is an EVM-compatible sidechain of the Neo blockchain secured by a dBFT consensus, extending Neo's Smart Economy to EVM developers, with GAS as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Neo X is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Neo X. + + diff --git a/website/src/supportedNetworks/customContent/optimism-sepolia.mdx b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx new file mode 100644 index 000000000000..17f586ddcfff --- /dev/null +++ b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on OP Sepolia Testnet + +OP Sepolia Testnet is the public test network for Optimism (OP Mainnet), the OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +OP Sepolia Testnet is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/optimism.mdx b/website/src/supportedNetworks/customContent/optimism.mdx new file mode 100644 index 000000000000..6733e7c64364 --- /dev/null +++ b/website/src/supportedNetworks/customContent/optimism.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Optimism + +Optimism (OP Mainnet) is an Ethereum Layer 2 built on the OP Stack and the flagship chain of the Optimism Superchain, with a large DeFi and infrastructure ecosystem and OP as its governance token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Optimism is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/peaq.mdx b/website/src/supportedNetworks/customContent/peaq.mdx new file mode 100644 index 000000000000..339e6d798ecb --- /dev/null +++ b/website/src/supportedNetworks/customContent/peaq.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on peaq + +peaq is an EVM-compatible Layer 1 built for DePIN — decentralized physical infrastructure networks and machine economies — with PEAQ as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +peaq is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for peaq. + + diff --git a/website/src/supportedNetworks/customContent/polygon-amoy.mdx b/website/src/supportedNetworks/customContent/polygon-amoy.mdx new file mode 100644 index 000000000000..1a4fa48cd0a8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/polygon-amoy.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Polygon Amoy Testnet + +Polygon Amoy Testnet is the public test network for Polygon PoS, the EVM-compatible Ethereum scaling network, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Polygon Amoy Testnet is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/polygon.mdx b/website/src/supportedNetworks/customContent/polygon.mdx deleted file mode 100644 index 07783cbfa1b3..000000000000 --- a/website/src/supportedNetworks/customContent/polygon.mdx +++ /dev/null @@ -1,202 +0,0 @@ -import { Card } from '@/components' -import { Subgraph } from '@edgeandnode/gds/icons' - -### Indexing Data on Polygon - -Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. - -The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. - -Polygon is supported by The Graph in two ways: - -- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - -### Indexing Polygon with Subgraphs - -Getting smart contract data is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work, giving you an open API, called a [Subgraph](/subgraphs/overview/), that you query with GraphQL. - -Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on Polygon - -Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: - -
- } - href="https://thegraph.com/explorer/subgraphs/4A3fq2YYzT5poS9TW4ky9YjPnsBdh1pHGCRKD1UQBvhJ" - /> - } - href="https://thegraph.com/explorer/subgraphs/Co2URyXjnxaw8WqxKyVHdirq9Ahhm5vcTs4dMedAq211" - /> - } - href="https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g" - /> - } - href="https://thegraph.com/explorer/subgraphs/78nZMyM9yD77KG6pFaYap31kJvj8eUWLEntbiVzh8ZKN" - /> - } - href="https://thegraph.com/explorer/subgraphs/81Dm16JjuFSrqz813HysXoUPvzTwE7fsfPk2RTf66nyC" - /> - } - href="https://thegraph.com/explorer/subgraphs/4ngshgumX4LgFPSN4XHnbo2c4wbEdMDBwuLLSjvpERCh" - /> -
- -Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. - -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for Polygon takes three steps: - -1. Initialize a Subgraph project from your Polygon contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your Polygon contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. -- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest:** `subgraph.yaml` defines which data sources your Subgraph indexes. -- **Schema:** `schema.graphql` defines the entities you want to query. -- **Mappings:** `src/mapping.ts` uses AssemblyScript that translates on-chain events into your entities. - -Point the manifest at Polygon: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: matic - source: - address: '0xYourPolygonContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: - -```yaml -environment: - ethereum: 'matic:https://polygon.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-polygon-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish & Curate on The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing Polygon with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx b/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx new file mode 100644 index 000000000000..16cda7268921 --- /dev/null +++ b/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx @@ -0,0 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + +### Indexing Data on Robinhood Chain Testnet + +Robinhood Chain Testnet is the public test network for Robinhood Chain, an Arbitrum-based Ethereum Layer 2 for tokenized real-world assets, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Robinhood Chain Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/robinhood.mdx b/website/src/supportedNetworks/customContent/robinhood.mdx index e1871f919885..859627b2e371 100644 --- a/website/src/supportedNetworks/customContent/robinhood.mdx +++ b/website/src/supportedNetworks/customContent/robinhood.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on Robinhood Chain Robinhood Chain is an Ethereum Layer 2 built on Arbitrum technology, created by Robinhood to bring tokenized real-world assets — including tokenized stocks — onchain. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. Robinhood Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing Robinhood Chain with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Robinhood Chain is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Robinhood Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Robinhood Chain contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/rootstock-testnet.mdx b/website/src/supportedNetworks/customContent/rootstock-testnet.mdx new file mode 100644 index 000000000000..726aefa1bce8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/rootstock-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Rootstock Testnet + +Rootstock Testnet is the public test network for Rootstock, the Bitcoin-secured EVM sidechain, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Rootstock Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/rootstock.mdx b/website/src/supportedNetworks/customContent/rootstock.mdx new file mode 100644 index 000000000000..d76aa1f34511 --- /dev/null +++ b/website/src/supportedNetworks/customContent/rootstock.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Rootstock + +Rootstock (RSK) is a Bitcoin sidechain that brings EVM-compatible smart contracts to Bitcoin, secured by merge-mining with the Bitcoin network and using RBTC, a Bitcoin-pegged token, for gas. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Rootstock is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/scroll-sepolia.mdx b/website/src/supportedNetworks/customContent/scroll-sepolia.mdx new file mode 100644 index 000000000000..1002908505ea --- /dev/null +++ b/website/src/supportedNetworks/customContent/scroll-sepolia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Scroll Sepolia Testnet + +Scroll Sepolia Testnet is the public test network for Scroll, the Ethereum Layer 2 zkEVM rollup, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Scroll Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Scroll Sepolia Testnet. + + diff --git a/website/src/supportedNetworks/customContent/scroll.mdx b/website/src/supportedNetworks/customContent/scroll.mdx new file mode 100644 index 000000000000..aff92c3615ad --- /dev/null +++ b/website/src/supportedNetworks/customContent/scroll.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Scroll + +Scroll is an Ethereum Layer 2 zkEVM rollup offering bytecode-level EVM equivalence backed by zero-knowledge proofs, focused on security and seamless developer compatibility. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Scroll is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/sei-atlantic.mdx b/website/src/supportedNetworks/customContent/sei-atlantic.mdx new file mode 100644 index 000000000000..be2e7182a002 --- /dev/null +++ b/website/src/supportedNetworks/customContent/sei-atlantic.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Sei Atlantic Testnet + +Sei Atlantic Testnet is the public test network for Sei, a high-performance EVM Layer 1 with parallelized execution, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Sei Atlantic Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sei Atlantic Testnet. + + diff --git a/website/src/supportedNetworks/customContent/sei-mainnet.mdx b/website/src/supportedNetworks/customContent/sei-mainnet.mdx new file mode 100644 index 000000000000..ee3df75a2b52 --- /dev/null +++ b/website/src/supportedNetworks/customContent/sei-mainnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Sei + +Sei is a high-performance, EVM-compatible Layer 1 built for trading and DeFi, using parallelized execution for fast finality and high throughput, with SEI as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Sei is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sei. + + diff --git a/website/src/supportedNetworks/customContent/ethereum-sepolia.mdx b/website/src/supportedNetworks/customContent/sepolia-cl.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/ethereum-sepolia.mdx rename to website/src/supportedNetworks/customContent/sepolia-cl.mdx diff --git a/website/src/supportedNetworks/customContent/sepolia.mdx b/website/src/supportedNetworks/customContent/sepolia.mdx new file mode 100644 index 000000000000..da93e39e1fcc --- /dev/null +++ b/website/src/supportedNetworks/customContent/sepolia.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Ethereum Sepolia Testnet + +Ethereum Sepolia Testnet is the primary Ethereum test network for application developers, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Ethereum Sepolia Testnet is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/solana.mdx b/website/src/supportedNetworks/customContent/solana-mainnet-beta.mdx similarity index 100% rename from website/src/supportedNetworks/customContent/solana.mdx rename to website/src/supportedNetworks/customContent/solana-mainnet-beta.mdx diff --git a/website/src/supportedNetworks/customContent/soneium-testnet.mdx b/website/src/supportedNetworks/customContent/soneium-testnet.mdx new file mode 100644 index 000000000000..8eac0c3c294b --- /dev/null +++ b/website/src/supportedNetworks/customContent/soneium-testnet.mdx @@ -0,0 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + +### Indexing Data on Soneium Minato Testnet + +Soneium Minato Testnet is the public test network for Soneium, Sony's OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Soneium Minato Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/soneium.mdx b/website/src/supportedNetworks/customContent/soneium.mdx new file mode 100644 index 000000000000..daaba2360f1a --- /dev/null +++ b/website/src/supportedNetworks/customContent/soneium.mdx @@ -0,0 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + +### Indexing Data on Soneium + +Soneium is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, developed by Sony Block Solutions Labs to bring creators, entertainment, and consumer apps onchain. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. + +Soneium is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + diff --git a/website/src/supportedNetworks/customContent/sonic-testnet.mdx b/website/src/supportedNetworks/customContent/sonic-testnet.mdx new file mode 100644 index 000000000000..9b1f1992a6d8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/sonic-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Sonic Testnet + +Sonic Testnet is the public test network for Sonic, the high-performance EVM Layer 1 from the team behind Fantom, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Sonic Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sonic Testnet. + + diff --git a/website/src/supportedNetworks/customContent/sonic.mdx b/website/src/supportedNetworks/customContent/sonic.mdx new file mode 100644 index 000000000000..477e2ac0c6b9 --- /dev/null +++ b/website/src/supportedNetworks/customContent/sonic.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Sonic + +Sonic is a high-performance, EVM-compatible Layer 1 from the team behind Fantom, built for speed with sub-second finality and high throughput, with S as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Sonic is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/stable.mdx b/website/src/supportedNetworks/customContent/stable.mdx new file mode 100644 index 000000000000..03557e093a59 --- /dev/null +++ b/website/src/supportedNetworks/customContent/stable.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Stable + +Stable is an EVM-compatible Layer 1 built for stablecoin payments, using USDT as its native gas token for fast, low-cost transfers. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Stable is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Stable. + + diff --git a/website/src/supportedNetworks/customContent/starknet-testnet.mdx b/website/src/supportedNetworks/customContent/starknet-testnet.mdx new file mode 100644 index 000000000000..59f18fcd5a3b --- /dev/null +++ b/website/src/supportedNetworks/customContent/starknet-testnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Starknet Sepolia Testnet + +Starknet Sepolia Testnet is the public test network for Starknet, an Ethereum Layer 2 validity rollup powered by STARK proofs and the Cairo programming model, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — transactions, DEX swaps, token transfers and balances, and contract events — as real-time data with Substreams. + +Starknet Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Starknet Sepolia Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Starknet Sepolia Testnet's blocks, transactions, and events. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Starknet Sepolia Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Starknet. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/stellar-testnet.mdx b/website/src/supportedNetworks/customContent/stellar-testnet.mdx new file mode 100644 index 000000000000..b1d9d0eb9db3 --- /dev/null +++ b/website/src/supportedNetworks/customContent/stellar-testnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on Stellar Testnet + +Stellar Testnet is the public test network for Stellar, a Layer 1 built for payments and asset issuance, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — payments and transactions, asset transfers and balances, DEX trades, and ledger changes — as real-time data with Substreams. + +Stellar Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing Stellar Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams Stellar Testnet's ledgers, transactions, and operations. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Stellar Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for Stellar. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/tempo-moderato.mdx b/website/src/supportedNetworks/customContent/tempo-moderato.mdx new file mode 100644 index 000000000000..33e4c3b9ea37 --- /dev/null +++ b/website/src/supportedNetworks/customContent/tempo-moderato.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Tempo Moderato Testnet + +Tempo Moderato Testnet is the public test network for Tempo, the Stripe- and Paradigm-built Layer 1 for stablecoin payments, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Tempo Moderato Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Tempo Moderato Testnet. + + diff --git a/website/src/supportedNetworks/customContent/tempo.mdx b/website/src/supportedNetworks/customContent/tempo.mdx new file mode 100644 index 000000000000..8ded71fb1f4c --- /dev/null +++ b/website/src/supportedNetworks/customContent/tempo.mdx @@ -0,0 +1,15 @@ +import SubstreamsBase from './_substreams-base.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Tempo + +Tempo is an EVM-compatible Layer 1 built by Stripe and Paradigm for stablecoin payments, designed for high-throughput, low-cost enterprise payment flows. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Tempo is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/tron-evm.mdx b/website/src/supportedNetworks/customContent/tron-evm.mdx index a04c997b049b..2e137e633735 100644 --- a/website/src/supportedNetworks/customContent/tron-evm.mdx +++ b/website/src/supportedNetworks/customContent/tron-evm.mdx @@ -1,22 +1,9 @@ +import SubstreamsBase from './_substreams-base.mdx' + ### Indexing Data on TRON EVM TRON EVM is the EVM-compatible environment on TRON, a high-throughput Layer 1 widely used for stablecoin transfers and payments. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. TRON EVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing TRON EVM with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). TRON EVM is served with the base EVM block model, so Substreams modules have access to block, transaction, and event (log) data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on TRON EVM; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your TRON EVM contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/unichain-testnet.mdx b/website/src/supportedNetworks/customContent/unichain-testnet.mdx new file mode 100644 index 000000000000..16286a39e871 --- /dev/null +++ b/website/src/supportedNetworks/customContent/unichain-testnet.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Unichain Sepolia Testnet + +Unichain Sepolia Testnet is the public test network for Unichain, Uniswap's OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Unichain Sepolia Testnet is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/unichain.mdx b/website/src/supportedNetworks/customContent/unichain.mdx new file mode 100644 index 000000000000..5062c694e8ce --- /dev/null +++ b/website/src/supportedNetworks/customContent/unichain.mdx @@ -0,0 +1,15 @@ +import SubstreamsExtended from './_substreams-extended.mdx' +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on Unichain + +Unichain is an Ethereum Layer 2 built on the OP Stack by Uniswap Labs, optimized for DeFi with fast, low-cost swaps and cross-chain liquidity. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +Unichain is supported by The Graph in two ways: + +- You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/viction.mdx b/website/src/supportedNetworks/customContent/viction.mdx new file mode 100644 index 000000000000..155533cf1b81 --- /dev/null +++ b/website/src/supportedNetworks/customContent/viction.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Viction + +Viction (formerly TomoChain) is an EVM-compatible Layer 1 focused on zero-gas transactions and account abstraction for consumer-facing dApps, with VIC as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Viction is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Viction. + + diff --git a/website/src/supportedNetworks/customContent/wax-testnet.mdx b/website/src/supportedNetworks/customContent/wax-testnet.mdx new file mode 100644 index 000000000000..d3c8afadd718 --- /dev/null +++ b/website/src/supportedNetworks/customContent/wax-testnet.mdx @@ -0,0 +1,22 @@ +### Indexing Data on WAX Testnet + +WAX Testnet is the public test network for WAX, an Antelope-based Layer 1 for NFTs, gaming, and collectibles, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. + +WAX Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + +### Indexing WAX Testnet with Substreams + +[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Substreams streams WAX Testnet's blocks, transactions, and actions. Modules are written in Rust and composed into reusable packages. + +#### Find an Existing Module on Substreams.dev + +Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules covering common onchain data that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on WAX Testnet; if a module fits, you can consume its output directly or import it as a dependency in your own project. + +#### Develop Your Own Substreams Module + +If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: + +1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +2. Scaffold a project with `substreams init` and follow the prompts for WAX. +3. Write your extraction and transformation logic in Rust, then run `substreams build`. +4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/worldchain.mdx b/website/src/supportedNetworks/customContent/worldchain.mdx index 6ec1a96636d0..f81ba94de7b5 100644 --- a/website/src/supportedNetworks/customContent/worldchain.mdx +++ b/website/src/supportedNetworks/customContent/worldchain.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on World Chain World Chain is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, created by the team behind World ID to give verified humans priority access to blockspace. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. World Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing World Chain with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). World Chain is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on World Chain; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your World Chain contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + diff --git a/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx new file mode 100644 index 000000000000..ccdea1ad6722 --- /dev/null +++ b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx @@ -0,0 +1,15 @@ +import SubstreamsBase from './_substreams-base.mdx' +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on X Layer + +X Layer is an Ethereum Layer 2 zkEVM built by OKX on the Polygon CDK, connecting the OKX ecosystem to onchain DeFi, with OKB as its gas token. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. + +X Layer is supported by The Graph in two ways: + +- You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). + + + + diff --git a/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx b/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx new file mode 100644 index 000000000000..e0fdfa3faa18 --- /dev/null +++ b/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on X Layer Sepolia Testnet + +X Layer Sepolia Testnet is the public test network for X Layer, OKX's Ethereum Layer 2 zkEVM on the Polygon CDK, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +X Layer Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for X Layer Sepolia Testnet. + + diff --git a/website/src/supportedNetworks/customContent/zetachain.mdx b/website/src/supportedNetworks/customContent/zetachain.mdx new file mode 100644 index 000000000000..8a9017339ea4 --- /dev/null +++ b/website/src/supportedNetworks/customContent/zetachain.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on ZetaChain + +ZetaChain is an EVM-compatible Layer 1 built for omnichain applications, letting smart contracts read and write assets and data across connected blockchains, with ZETA as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +ZetaChain is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for ZetaChain. + + diff --git a/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx b/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx new file mode 100644 index 000000000000..78a011595bf2 --- /dev/null +++ b/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Zilliqa Testnet + +Zilliqa 2.0 Testnet is the public test network for Zilliqa 2.0, the EVM-compatible sharded Layer 1, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Zilliqa Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Zilliqa Testnet. + + diff --git a/website/src/supportedNetworks/customContent/zilliqa.mdx b/website/src/supportedNetworks/customContent/zilliqa.mdx new file mode 100644 index 000000000000..5a25b8bdb6c8 --- /dev/null +++ b/website/src/supportedNetworks/customContent/zilliqa.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on Zilliqa + +Zilliqa 2.0 is an EVM-compatible, sharded Layer 1 designed for high throughput, with ZIL as its native token. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +Zilliqa is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Zilliqa. + + diff --git a/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx b/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx new file mode 100644 index 000000000000..1f09833c374a --- /dev/null +++ b/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx @@ -0,0 +1,9 @@ +import SubgraphStudio from './_subgraph-studio.mdx' + +### Indexing Data on zkSync Sepolia Testnet + +zkSync Sepolia Testnet is the public test network for zkSync Era, the Matter Labs Ethereum Layer 2 zkEVM, where teams deploy and validate contracts before mainnet. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +zkSync Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for zkSync Sepolia Testnet. + + diff --git a/website/src/supportedNetworks/customContent/zksync-era.mdx b/website/src/supportedNetworks/customContent/zksync-era.mdx new file mode 100644 index 000000000000..87d61700c998 --- /dev/null +++ b/website/src/supportedNetworks/customContent/zksync-era.mdx @@ -0,0 +1,9 @@ +import SubgraphCommunity from './_subgraph-community.mdx' + +### Indexing Data on zkSync Era + +zkSync Era is an Ethereum Layer 2 zkEVM rollup built by Matter Labs, using zero-knowledge proofs for scalable, low-cost execution with full EVM compatibility. The Graph can index that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — and serve it over GraphQL with Subgraphs. + +zkSync Era is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). + + diff --git a/website/src/supportedNetworks/customContent/zora.mdx b/website/src/supportedNetworks/customContent/zora.mdx index 64a830fbc2d9..000301b7ba93 100644 --- a/website/src/supportedNetworks/customContent/zora.mdx +++ b/website/src/supportedNetworks/customContent/zora.mdx @@ -1,22 +1,9 @@ +import SubstreamsExtended from './_substreams-extended.mdx' + ### Indexing Data on Zora Zora is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, focused on the onchain creator economy — NFTs, creator coins, and media. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. Zora is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). -### Indexing Zora with Substreams - -[Substreams](/substreams/overview/) is a parallelized, real-time streaming engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data directly or via [10+ supported sinks](/substreams/developing/sinks/). Zora is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Zora; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Zora contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. + From a14424c4663bc834789b49ca13f14ac606f94aab Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 15:51:51 -0400 Subject: [PATCH 06/22] ran prettier --- .../supported-networks-chips-preview.html | 357 ++++++++++++++++++ .../supportedNetworks/NetworkDetailsPage.tsx | 2 +- .../supportedNetworks/customContent/README.md | 19 +- .../customContent/_subgraph-community.mdx | 58 +-- .../customContent/_subgraph-studio.mdx | 39 +- .../customContent/_substreams-base.mdx | 11 +- .../customContent/_substreams-extended.mdx | 12 +- .../customContent/anubis.mdx | 11 +- .../customContent/arbitrum-one.mdx | 9 +- .../customContent/arbitrum-sepolia.mdx | 9 +- .../customContent/arc-testnet.mdx | 8 +- .../customContent/avalanche.mdx | 9 +- .../supportedNetworks/customContent/base.mdx | 9 +- .../customContent/boba-testnet.mdx | 9 +- .../supportedNetworks/customContent/boba.mdx | 9 +- .../supportedNetworks/customContent/bsc.mdx | 10 +- .../customContent/celo-sepolia.mdx | 8 +- .../supportedNetworks/customContent/celo.mdx | 9 +- .../customContent/chapel.mdx | 9 +- .../customContent/chiliz-testnet.mdx | 8 +- .../customContent/chiliz.mdx | 8 +- .../customContent/etherlink-mainnet.mdx | 8 +- .../customContent/etherlink-shadownet.mdx | 8 +- .../customContent/fraxtal.mdx | 9 +- .../supportedNetworks/customContent/fuji.mdx | 8 +- .../customContent/fuse-testnet.mdx | 9 +- .../supportedNetworks/customContent/fuse.mdx | 9 +- .../customContent/gnosis-chiado.mdx | 8 +- .../customContent/gnosis.mdx | 9 +- .../customContent/hemi-sepolia.mdx | 8 +- .../supportedNetworks/customContent/hemi.mdx | 8 +- .../supportedNetworks/customContent/hoodi.mdx | 8 +- .../supportedNetworks/customContent/index.ts | 140 +++---- .../customContent/injective-evm.mdx | 9 +- .../customContent/joc-testnet.mdx | 8 +- .../supportedNetworks/customContent/joc.mdx | 8 +- .../customContent/kaia-testnet.mdx | 8 +- .../supportedNetworks/customContent/kaia.mdx | 8 +- .../customContent/linea-sepolia.mdx | 8 +- .../supportedNetworks/customContent/linea.mdx | 9 +- .../customContent/mainnet.mdx | 9 +- .../supportedNetworks/customContent/matic.mdx | 9 +- .../customContent/neox-testnet.mdx | 8 +- .../supportedNetworks/customContent/neox.mdx | 8 +- .../customContent/optimism-sepolia.mdx | 9 +- .../customContent/optimism.mdx | 9 +- .../supportedNetworks/customContent/peaq.mdx | 8 +- .../customContent/polygon-amoy.mdx | 8 +- .../customContent/rootstock-testnet.mdx | 9 +- .../customContent/rootstock.mdx | 9 +- .../customContent/scroll-sepolia.mdx | 8 +- .../customContent/scroll.mdx | 9 +- .../customContent/sei-atlantic.mdx | 8 +- .../customContent/sei-mainnet.mdx | 8 +- .../customContent/sepolia.mdx | 9 +- .../customContent/sonic-testnet.mdx | 8 +- .../supportedNetworks/customContent/sonic.mdx | 9 +- .../customContent/stable.mdx | 8 +- .../customContent/tempo-moderato.mdx | 8 +- .../supportedNetworks/customContent/tempo.mdx | 8 +- .../customContent/unichain-testnet.mdx | 8 +- .../customContent/unichain.mdx | 9 +- .../customContent/viction.mdx | 8 +- .../customContent/xlayer-mainnet.mdx | 8 +- .../customContent/xlayer-sepolia.mdx | 8 +- .../customContent/zetachain.mdx | 8 +- .../customContent/zilliqa-testnet.mdx | 8 +- .../customContent/zilliqa.mdx | 8 +- .../customContent/zksync-era-sepolia.mdx | 8 +- .../customContent/zksync-era.mdx | 9 +- website/src/supportedNetworks/utils.ts | 6 +- 71 files changed, 953 insertions(+), 217 deletions(-) create mode 100644 Claude outputs/supported-networks-chips-preview.html diff --git a/Claude outputs/supported-networks-chips-preview.html b/Claude outputs/supported-networks-chips-preview.html new file mode 100644 index 000000000000..deae1c2a84ec --- /dev/null +++ b/Claude outputs/supported-networks-chips-preview.html @@ -0,0 +1,357 @@ + + + + + + Supported Networks chips preview + + + +
+

Supported Networks — chip + legend preview

+

+ Approximate rendering of the new tier chips (exact colors & ~10px size; dark theme approximated). Tiers + computed from the add-infra-backstop registry data. NETWORK chips only appear once that registry data is + published. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSubgraphsFirehose/Substreams
+
+ Ξ +
+
Ethereum
+
mainnet
+
+
+
REWARDSEXTENDED
+
+ A +
+
Arbitrum One
+
arbitrum-one
+
+
+
REWARDSEXTENDED
+
+ B +
+
Base
+
base
+
+
+
REWARDSEXTENDED
+
+ X +
+
X Layer
+
xlayer-mainnet
+
+
+
STUDIOBASE
+
+ S +
+
Soneium
+
soneium
+
+
+
STUDIOEXTENDED
+
+ F +
+
Fuse
+
fuse
+
+
+
COMMUNITY
+
+ B +
+
Boba
+
boba
+
+
+
COMMUNITY
+
+ M +
+
Moonbeam
+
moonbeam
+
+
+
REWARDS
+
+ N +
+
Near
+
near-mainnet
+
+
+
STUDIONON-EVM
+
+ ◎ +
+
Solana
+
solana-mainnet-beta
+
+
+
NON-EVM
+
+ ✦ +
+
Stellar
+
stellar
+
+
+
NON-EVM
+
+ + diff --git a/website/src/supportedNetworks/NetworkDetailsPage.tsx b/website/src/supportedNetworks/NetworkDetailsPage.tsx index 6a5c1e6d56a4..75da273fda52 100644 --- a/website/src/supportedNetworks/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/NetworkDetailsPage.tsx @@ -44,7 +44,7 @@ export default function NetworkDetailsPage({ network }: { network: SupportedNetw // Providers listed under `services.substreams` in the networks registry, kept in a stable // brand-preferred order (The Graph Market first, then Pinax Network). const substreamsProviders = SUBSTREAMS_PROVIDERS.filter((provider) => - (network.services?.substreams ?? []).some((url) => url.includes(provider.match)), + (network.services.substreams ?? []).some((url) => url.includes(provider.match)), ) const cards = (() => { if (network.evm) { diff --git a/website/src/supportedNetworks/customContent/README.md b/website/src/supportedNetworks/customContent/README.md index 7812b03555d7..d87ba550fb09 100644 --- a/website/src/supportedNetworks/customContent/README.md +++ b/website/src/supportedNetworks/customContent/README.md @@ -34,19 +34,14 @@ Networks not listed in `index.ts` render the default templated page, unchanged. ## Reusable content blocks -Common, repeated sections live in shared MDX partials (prefixed `_`) so a single -edit updates every network that uses them. Import a partial and render it with -the network-specific values as props. +Common, repeated sections live in shared MDX partials (prefixed `_`) so a single edit updates every network that uses them. Import a partial and render it with the network-specific values as props. ### Substreams section -Two partials cover the standard "Indexing _{Chain}_ with Substreams" section for -EVM networks, differing only by the block model the network is served with: +Two partials cover the standard "Indexing _{Chain}_ with Substreams" section for EVM networks, differing only by the block model the network is served with: -- `_substreams-extended.mdx` — **extended** EVM block model (full transaction, - call, and event data). Used by chains like BSC, Polygon, Monad, Ink. -- `_substreams-base.mdx` — **base** EVM block model (block, transaction, and - event/log data). Used by chains like Blast, MegaETH, TRON EVM. +- `_substreams-extended.mdx` — **extended** EVM block model (full transaction, call, and event data). Used by chains like BSC, Polygon, Monad, Ink. +- `_substreams-base.mdx` — **base** EVM block model (block, transaction, and event/log data). Used by chains like Blast, MegaETH, TRON EVM. ```mdx import SubstreamsExtended from './_substreams-extended.mdx' @@ -57,8 +52,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Props: - `chainName` (required) — short name used throughout the body copy (e.g. `BSC`). -- `title` (optional) — heading display name; defaults to `chainName` (e.g. - `BNB Smart Chain` when `chainName` is `BSC`). +- `title` (optional) — heading display name; defaults to `chainName` (e.g. `BNB Smart Chain` when `chainName` is `BSC`). -Non-EVM networks (Solana, Bitcoin, Injective, Stellar, etc.) use bespoke -Substreams wording and keep their section inline rather than using these blocks. +Non-EVM networks (Solana, Bitcoin, Injective, Stellar, etc.) use bespoke Substreams wording and keep their section inline rather than using these blocks. diff --git a/website/src/supportedNetworks/customContent/_subgraph-community.mdx b/website/src/supportedNetworks/customContent/_subgraph-community.mdx index 6200c6227830..2cd7ece22c1a 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-community.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-community.mdx @@ -1,23 +1,8 @@ -{/* - Reusable "community" Subgraph section. - - The community model: publish Subgraphs directly to The Graph Network and add - curation signal so select Indexers on the network pick them up (a curation - backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start - (Steps 1-4). Each network page keeps its own intro and any chain-specific - "Find Existing Subgraphs" card grid inline. - - Props: - - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - - rpcUrl (required) RPC endpoint used for local verification - - customNetwork (optional) network not in `graph init`'s list; enter it manually - - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally -*/} +{/\* Reusable "community" Subgraph section. + +The community model: publish Subgraphs directly to The Graph Network and add curation signal so select Indexers on the network pick them up (a curation backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start (Steps 1-4). Each network page keeps its own intro and any chain-specific "Find Existing Subgraphs" card grid inline. + +Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally \*/} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' @@ -39,6 +24,7 @@ Building a Subgraph for {props.chainName} takes three steps: See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. {props.noStudio && ( + {props.chainName} is supported on The Graph Network, but does not currently have Subgraph Studio testing/staging support. Skip the standard graph deploy and Studio playground path. Instead, you can validate your Subgraph locally (see below) or publish directly to The Graph Network, where a decentralized Indexer that supports {props.chainName} indexes it. @@ -83,11 +69,16 @@ The CLI walks you through a set of prompts{props.customNetwork ? `. ${props.chai {props.customNetwork ? ( <> - The network value you enter ({props.networkId}) must match the network identifier that The Graph has registered for {props.chainName}. If graph init does not recognize the network, scaffold with any EVM network and set the network field manually in subgraph.yaml (next step). + The network value you enter ({props.networkId}) must match the network identifier that + The Graph has registered for {props.chainName}. If graph init does not recognize the network, + scaffold with any EVM network and set the network field manually in subgraph.yaml (next + step). ) : ( <> - The network value for {props.chainName} is {props.networkId}. graph init recognizes it directly, so you can select it from the list of supported networks. You can also set the network field manually in subgraph.yaml (next step). + The network value for {props.chainName} is {props.networkId}. graph init{' '} + recognizes it directly, so you can select it from the list of supported networks. You can also set the{' '} + network field manually in subgraph.yaml (next step). )} @@ -102,14 +93,19 @@ You work with three files: Point the manifest at {props.chainName}: -{`dataSources: + + {`dataSources: - kind: ethereum name: MyContract network: ${props.networkId} source: - address: '0xYour${props.slug.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join('')}ContractAddress' + address: '0xYour${props.slug + .split('-') + .map((w) => w.charAt(0).toUpperCase() + w.slice(1)) + .join('')}ContractAddress' abi: MyContract - startBlock: 123456 # your contract's deployment block`} + startBlock: 123456 # your contract's deployment block`} + For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). @@ -121,13 +117,17 @@ graph codegen && graph build **Optional: verify locally before publishing.** {props.noStudio ? `The Studio playground cannot index ${props.chainName}, so test` : 'You can test'} indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at an RPC endpoint for {props.chainName}. In your `docker-compose.yml`, set the Ethereum environment to {props.customNetwork ? `your ${props.chainName} network` : props.chainName}: -{`environment: - ethereum: '${props.networkId}:${props.rpcUrl}'`} + + {`environment: + ethereum: '${props.networkId}:${props.rpcUrl}'`} + Create and deploy to your local node: -{`graph create --node http://localhost:8020/ my-${props.slug}-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-${props.slug}-subgraph`} + + {`graph create --node http://localhost:8020/ my-${props.slug}-subgraph +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-${props.slug}-subgraph`} + Query the local endpoint until your entities look right, then publish. diff --git a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx index e4a634677e56..385207e6c980 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx @@ -1,21 +1,8 @@ -{/* - Reusable "studio" Subgraph section. - - For chains where Subgraph publishing is ENABLED but there is no guaranteed - indexing on The Graph Network yet: develop, test, and query through Subgraph - Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). - Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing - callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own - intro inline. - - Props: - - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - - title (optional) heading name; defaults to chainName - - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - - slug (required) example Subgraph slug base, e.g. "sei" - - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" -*/} +{/\* Reusable "studio" Subgraph section. + +For chains where Subgraph publishing is ENABLED but there is no guaranteed indexing on The Graph Network yet: develop, test, and query through Subgraph Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own intro inline. + +Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" \*/} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' @@ -27,7 +14,10 @@ Getting smart contract data is hard. You write your own indexer, run your own da {props.chainName} is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You develop and test your Subgraph in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/), then query it through the development endpoint. - Subgraph publishing is enabled for {props.chainName}, but no guaranteed indexing is available via The Graph Network at this time. You can develop, test, and publish your Subgraph in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/), but Indexers on the decentralized network are not guaranteed to index and serve it yet. + Subgraph publishing is enabled for {props.chainName}, but no guaranteed indexing is available via The Graph Network at + this time. You can develop, test, and publish your Subgraph in [Subgraph + Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/), but Indexers on the decentralized network + are not guaranteed to index and serve it yet. #### Quick Start: Build Your Own Subgraph @@ -77,14 +67,19 @@ The CLI walks you through a set of prompts: Point the manifest at {props.chainName}: -{`dataSources: + + {`dataSources: - kind: ethereum name: MyContract network: ${props.networkId} source: - address: '0xYour${props.slug.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join('')}ContractAddress' + address: '0xYour${props.slug + .split('-') + .map((w) => w.charAt(0).toUpperCase() + w.slice(1)) + .join('')}ContractAddress' abi: MyContract - startBlock: 123456 # your contract's deployment block`} + startBlock: 123456 # your contract's deployment block`} + For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). Then generate types and build: diff --git a/website/src/supportedNetworks/customContent/_substreams-base.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx index 027784fb2309..8ebe9ca7e439 100644 --- a/website/src/supportedNetworks/customContent/_substreams-base.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,11 +1,6 @@ -{/* - Reusable Substreams section for EVM networks served with the BASE EVM - block model (block, transaction, and event/log data). - - Props: - - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - - title (optional): heading display name; defaults to chainName. -*/} +{/\* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). + +Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. \*/} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx index dc5f26bb091d..3e2b674eeb15 100644 --- a/website/src/supportedNetworks/customContent/_substreams-extended.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -1,12 +1,6 @@ -{/* - Reusable Substreams section for EVM networks served with the EXTENDED EVM - block model (full transaction, call, and event data). - - Props: - - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - - title (optional): heading display name; defaults to chainName - (e.g. "BNB Smart Chain" when chainName is "BSC"). -*/} +{/\* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). + +Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). \*/} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] diff --git a/website/src/supportedNetworks/customContent/anubis.mdx b/website/src/supportedNetworks/customContent/anubis.mdx index 022f4a0fbaf3..093cc29deded 100644 --- a/website/src/supportedNetworks/customContent/anubis.mdx +++ b/website/src/supportedNetworks/customContent/anubis.mdx @@ -6,4 +6,13 @@ Anubis Chain is a privacy-focused, EVM-compatible Layer 1 that pairs base-layer Importantly, Anubis is a selective-privacy chain. A Subgraph can only index data that is public on-chain. Transparent transactions, and the events they emit, are fully indexable. Data inside shielded (PLONK ZK) transactions is not visible on-chain, so it cannot be indexed. Design your contract's public events with this in mind if you want that data to be queryable. - + diff --git a/website/src/supportedNetworks/customContent/arbitrum-one.mdx b/website/src/supportedNetworks/customContent/arbitrum-one.mdx index 0127a7008930..e7c16758c8e6 100644 --- a/website/src/supportedNetworks/customContent/arbitrum-one.mdx +++ b/website/src/supportedNetworks/customContent/arbitrum-one.mdx @@ -10,6 +10,13 @@ Arbitrum One is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx index 1e267dbc2e40..266947bf092f 100644 --- a/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx @@ -10,6 +10,13 @@ Arbitrum Sepolia Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/arc-testnet.mdx b/website/src/supportedNetworks/customContent/arc-testnet.mdx index 696ea322e0a1..16257a0d14b0 100644 --- a/website/src/supportedNetworks/customContent/arc-testnet.mdx +++ b/website/src/supportedNetworks/customContent/arc-testnet.mdx @@ -6,4 +6,10 @@ Arc Testnet is the public test network for Arc, Circle's EVM-compatible Layer 1 Arc Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Arc Testnet. - + diff --git a/website/src/supportedNetworks/customContent/avalanche.mdx b/website/src/supportedNetworks/customContent/avalanche.mdx index 4854fdde23d8..14780b28a05c 100644 --- a/website/src/supportedNetworks/customContent/avalanche.mdx +++ b/website/src/supportedNetworks/customContent/avalanche.mdx @@ -10,6 +10,13 @@ Avalanche is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/base.mdx b/website/src/supportedNetworks/customContent/base.mdx index ce045077f73f..0b21301ca49d 100644 --- a/website/src/supportedNetworks/customContent/base.mdx +++ b/website/src/supportedNetworks/customContent/base.mdx @@ -10,6 +10,13 @@ Base is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/boba-testnet.mdx b/website/src/supportedNetworks/customContent/boba-testnet.mdx index 8b278fbf56fc..787fd161fd55 100644 --- a/website/src/supportedNetworks/customContent/boba-testnet.mdx +++ b/website/src/supportedNetworks/customContent/boba-testnet.mdx @@ -6,4 +6,11 @@ Boba Sepolia Testnet is the public test network for Boba Network, an Ethereum La Boba Sepolia Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/boba.mdx b/website/src/supportedNetworks/customContent/boba.mdx index c957fc442522..3b7db709058d 100644 --- a/website/src/supportedNetworks/customContent/boba.mdx +++ b/website/src/supportedNetworks/customContent/boba.mdx @@ -6,4 +6,11 @@ Boba Network is an Ethereum Layer 2 optimistic rollup that adds hybrid compute f Boba is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/bsc.mdx b/website/src/supportedNetworks/customContent/bsc.mdx index 537a4918b24f..1856f0427740 100644 --- a/website/src/supportedNetworks/customContent/bsc.mdx +++ b/website/src/supportedNetworks/customContent/bsc.mdx @@ -59,6 +59,14 @@ Before you build, check whether the data you need is already live. Many of the m Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. - + diff --git a/website/src/supportedNetworks/customContent/celo-sepolia.mdx b/website/src/supportedNetworks/customContent/celo-sepolia.mdx index 157b9e125b88..ebc2c46bd6fe 100644 --- a/website/src/supportedNetworks/customContent/celo-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/celo-sepolia.mdx @@ -6,4 +6,10 @@ Celo Sepolia Testnet is the public test network for Celo, an Ethereum Layer 2 fo Celo Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Celo Sepolia Testnet. - + diff --git a/website/src/supportedNetworks/customContent/celo.mdx b/website/src/supportedNetworks/customContent/celo.mdx index 41a30e72cb0f..bb95af292bb3 100644 --- a/website/src/supportedNetworks/customContent/celo.mdx +++ b/website/src/supportedNetworks/customContent/celo.mdx @@ -10,6 +10,13 @@ Celo is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/chapel.mdx b/website/src/supportedNetworks/customContent/chapel.mdx index 18fa1d165ab5..865fd788f118 100644 --- a/website/src/supportedNetworks/customContent/chapel.mdx +++ b/website/src/supportedNetworks/customContent/chapel.mdx @@ -10,6 +10,13 @@ BNB Smart Chain Chapel Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/chiliz-testnet.mdx b/website/src/supportedNetworks/customContent/chiliz-testnet.mdx index d76f55082df9..3ec4be4326f2 100644 --- a/website/src/supportedNetworks/customContent/chiliz-testnet.mdx +++ b/website/src/supportedNetworks/customContent/chiliz-testnet.mdx @@ -6,4 +6,10 @@ Chiliz Spicy Testnet is the public test network for Chiliz, the sports and enter Chiliz Spicy Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Chiliz Spicy Testnet. - + diff --git a/website/src/supportedNetworks/customContent/chiliz.mdx b/website/src/supportedNetworks/customContent/chiliz.mdx index 68fd693eb490..a56ec506d6ad 100644 --- a/website/src/supportedNetworks/customContent/chiliz.mdx +++ b/website/src/supportedNetworks/customContent/chiliz.mdx @@ -6,4 +6,10 @@ Chiliz is an EVM-compatible Layer 1 built for sports and entertainment, powering Chiliz is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Chiliz. - + diff --git a/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx b/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx index a84835b9e010..fa940e7f3e08 100644 --- a/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/etherlink-mainnet.mdx @@ -6,4 +6,10 @@ Etherlink is an EVM-compatible Layer 2 built on Tezos Smart Rollups, offering lo Etherlink is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Etherlink. - + diff --git a/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx b/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx index 97e7794e53d6..25c138820cde 100644 --- a/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx +++ b/website/src/supportedNetworks/customContent/etherlink-shadownet.mdx @@ -6,4 +6,10 @@ Etherlink Shadownet is a public test network for Etherlink, the EVM Layer 2 buil Etherlink Shadownet Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Etherlink Shadownet Testnet. - + diff --git a/website/src/supportedNetworks/customContent/fraxtal.mdx b/website/src/supportedNetworks/customContent/fraxtal.mdx index ee3d77da608e..cc306b4052e0 100644 --- a/website/src/supportedNetworks/customContent/fraxtal.mdx +++ b/website/src/supportedNetworks/customContent/fraxtal.mdx @@ -6,4 +6,11 @@ Fraxtal is an Ethereum Layer 2 built on the OP Stack by Frax Finance, designed a Fraxtal is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/fuji.mdx b/website/src/supportedNetworks/customContent/fuji.mdx index d8dc8d7d9f1b..746ef53c688b 100644 --- a/website/src/supportedNetworks/customContent/fuji.mdx +++ b/website/src/supportedNetworks/customContent/fuji.mdx @@ -6,4 +6,10 @@ Avalanche Fuji Testnet is the primary public test network for the Avalanche C-Ch Avalanche Fuji Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Avalanche Fuji Testnet. - + diff --git a/website/src/supportedNetworks/customContent/fuse-testnet.mdx b/website/src/supportedNetworks/customContent/fuse-testnet.mdx index 2c5aa4c08b6b..82c4570e3864 100644 --- a/website/src/supportedNetworks/customContent/fuse-testnet.mdx +++ b/website/src/supportedNetworks/customContent/fuse-testnet.mdx @@ -6,4 +6,11 @@ Fuse Testnet is the public test network for Fuse, an EVM-compatible chain for pa Fuse Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/fuse.mdx b/website/src/supportedNetworks/customContent/fuse.mdx index e9273daf134e..9390ddabb378 100644 --- a/website/src/supportedNetworks/customContent/fuse.mdx +++ b/website/src/supportedNetworks/customContent/fuse.mdx @@ -6,4 +6,11 @@ Fuse is an EVM-compatible chain focused on payments and real-world business use Fuse is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/gnosis-chiado.mdx b/website/src/supportedNetworks/customContent/gnosis-chiado.mdx index df4734161498..d9223776e9f2 100644 --- a/website/src/supportedNetworks/customContent/gnosis-chiado.mdx +++ b/website/src/supportedNetworks/customContent/gnosis-chiado.mdx @@ -6,4 +6,10 @@ Gnosis Chiado Testnet is the public test network for Gnosis Chain, the EVM-compa Gnosis Chiado Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Gnosis Chiado Testnet. - + diff --git a/website/src/supportedNetworks/customContent/gnosis.mdx b/website/src/supportedNetworks/customContent/gnosis.mdx index 75f6c062b89f..c14ea8a96032 100644 --- a/website/src/supportedNetworks/customContent/gnosis.mdx +++ b/website/src/supportedNetworks/customContent/gnosis.mdx @@ -8,4 +8,11 @@ Gnosis is supported by The Graph with Subgraphs — open APIs you publish to The > [!NOTE] Subgraphs previously deployed or published for Gnosis Chain may have used the `xdai` network identifier. All Subgraphs indexing Gnosis Chain can now be deployed or published with the `gnosis` network identifier. - + diff --git a/website/src/supportedNetworks/customContent/hemi-sepolia.mdx b/website/src/supportedNetworks/customContent/hemi-sepolia.mdx index 3267574a4a36..755ec60d605f 100644 --- a/website/src/supportedNetworks/customContent/hemi-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/hemi-sepolia.mdx @@ -6,4 +6,10 @@ Hemi Sepolia Testnet is the public test network for Hemi, the modular Bitcoin-an Hemi Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Hemi Sepolia Testnet. - + diff --git a/website/src/supportedNetworks/customContent/hemi.mdx b/website/src/supportedNetworks/customContent/hemi.mdx index 3b52a39ab504..eb1093697081 100644 --- a/website/src/supportedNetworks/customContent/hemi.mdx +++ b/website/src/supportedNetworks/customContent/hemi.mdx @@ -6,4 +6,10 @@ Hemi is a modular Layer 2 that combines Bitcoin and Ethereum into a single super Hemi is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Hemi. - + diff --git a/website/src/supportedNetworks/customContent/hoodi.mdx b/website/src/supportedNetworks/customContent/hoodi.mdx index c485d8870c79..97d30d3857ce 100644 --- a/website/src/supportedNetworks/customContent/hoodi.mdx +++ b/website/src/supportedNetworks/customContent/hoodi.mdx @@ -10,6 +10,12 @@ Ethereum Hoodi Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/index.ts b/website/src/supportedNetworks/customContent/index.ts index 8d570a13a1ba..5d360ea01dc0 100644 --- a/website/src/supportedNetworks/customContent/index.ts +++ b/website/src/supportedNetworks/customContent/index.ts @@ -1,104 +1,104 @@ import type { ComponentType } from 'react' import Anubis from './anubis.mdx' +import ArbitrumOne from './arbitrum-one.mdx' +import ArbitrumSepolia from './arbitrum-sepolia.mdx' +import Arc from './arc.mdx' +import ArcTestnet from './arc-testnet.mdx' +import Avalanche from './avalanche.mdx' +import Base from './base.mdx' +import BaseSepolia from './base-sepolia.mdx' import Blast from './blast-mainnet.mdx' +import Boba from './boba.mdx' +import BobaTestnet from './boba-testnet.mdx' import Bsc from './bsc.mdx' import Btc from './btc.mdx' -import EthereumBeacon from './mainnet-cl.mdx' +import Celo from './celo.mdx' +import CeloSepolia from './celo-sepolia.mdx' +import Chapel from './chapel.mdx' +import Chiliz from './chiliz.mdx' +import ChilizTestnet from './chiliz-testnet.mdx' +import Vaulta from './eos.mdx' +import Etherlink from './etherlink-mainnet.mdx' +import EtherlinkShadownet from './etherlink-shadownet.mdx' +import Fraxtal from './fraxtal.mdx' +import Fuji from './fuji.mdx' +import Fuse from './fuse.mdx' +import FuseTestnet from './fuse-testnet.mdx' +import Gnosis from './gnosis.mdx' +import GnosisChiado from './gnosis-chiado.mdx' import GnosisBeacon from './gnosis-cl.mdx' +import Hemi from './hemi.mdx' +import HemiSepolia from './hemi-sepolia.mdx' +import Hoodi from './hoodi.mdx' import HoodiBeacon from './hoodi-cl.mdx' import HyperEvm from './hyper-evm.mdx' +import InjectiveEvm from './injective-evm.mdx' +import InjectiveEvmTestnet from './injective-evm-testnet.mdx' import Injective from './injective-mainnet.mdx' +import InjectiveTestnet from './injective-testnet.mdx' import Ink from './ink.mdx' +import Joc from './joc.mdx' +import JocTestnet from './joc-testnet.mdx' +import Jungle4 from './jungle4.mdx' +import Kaia from './kaia.mdx' +import KaiaTestnet from './kaia-testnet.mdx' +import Linea from './linea.mdx' +import LineaSepolia from './linea-sepolia.mdx' import Litecoin from './litecoin.mdx' +import Ethereum from './mainnet.mdx' +import EthereumBeacon from './mainnet-cl.mdx' +import Polygon from './matic.mdx' import MegaEth from './megaeth.mdx' import Monad from './monad.mdx' -import Polygon from './matic.mdx' -import Robinhood from './robinhood.mdx' -import SepoliaBeacon from './sepolia-cl.mdx' -import Solana from './solana-mainnet-beta.mdx' -import SolanaAccounts from './solana-accounts.mdx' -import SolanaDevnet from './solana-devnet.mdx' -import Starknet from './starknet-mainnet.mdx' -import Stellar from './stellar.mdx' -import Tron from './tron.mdx' -import TronEvm from './tron-evm.mdx' -import Vaulta from './eos.mdx' -import Wax from './wax.mdx' -import WorldChain from './worldchain.mdx' -import Zora from './zora.mdx' -import ArbitrumOne from './arbitrum-one.mdx' -import Arc from './arc.mdx' -import Base from './base.mdx' -import InjectiveEvm from './injective-evm.mdx' -import Linea from './linea.mdx' -import Ethereum from './mainnet.mdx' +import Near from './near-mainnet.mdx' +import NearTestnet from './near-testnet.mdx' +import NeoX from './neox.mdx' +import NeoXTestnet from './neox-testnet.mdx' import Optimism from './optimism.mdx' -import Soneium from './soneium.mdx' -import Unichain from './unichain.mdx' -import ArbitrumSepolia from './arbitrum-sepolia.mdx' -import BaseSepolia from './base-sepolia.mdx' -import Chapel from './chapel.mdx' -import Hoodi from './hoodi.mdx' -import InjectiveEvmTestnet from './injective-evm-testnet.mdx' -import LineaSepolia from './linea-sepolia.mdx' import OptimismSepolia from './optimism-sepolia.mdx' +import Peaq from './peaq.mdx' import PolygonAmoy from './polygon-amoy.mdx' +import Robinhood from './robinhood.mdx' import RobinhoodSepolia from './robinhood-sepolia.mdx' -import Sepolia from './sepolia.mdx' -import SoneiumTestnet from './soneium-testnet.mdx' -import UnichainTestnet from './unichain-testnet.mdx' -import Avalanche from './avalanche.mdx' -import Celo from './celo.mdx' -import Tempo from './tempo.mdx' -import XLayer from './xlayer-mainnet.mdx' -import Near from './near-mainnet.mdx' -import NearTestnet from './near-testnet.mdx' -import StarknetTestnet from './starknet-testnet.mdx' -import StellarTestnet from './stellar-testnet.mdx' -import InjectiveTestnet from './injective-testnet.mdx' -import Jungle4 from './jungle4.mdx' -import WaxTestnet from './wax-testnet.mdx' -import Boba from './boba.mdx' -import BobaTestnet from './boba-testnet.mdx' -import Fuse from './fuse.mdx' -import FuseTestnet from './fuse-testnet.mdx' -import Fraxtal from './fraxtal.mdx' import Rootstock from './rootstock.mdx' import RootstockTestnet from './rootstock-testnet.mdx' -import Gnosis from './gnosis.mdx' import Scroll from './scroll.mdx' -import Sonic from './sonic.mdx' -import ZksyncEra from './zksync-era.mdx' -import ArcTestnet from './arc-testnet.mdx' -import Fuji from './fuji.mdx' -import CeloSepolia from './celo-sepolia.mdx' -import Chiliz from './chiliz.mdx' -import ChilizTestnet from './chiliz-testnet.mdx' -import Etherlink from './etherlink-mainnet.mdx' -import EtherlinkShadownet from './etherlink-shadownet.mdx' -import GnosisChiado from './gnosis-chiado.mdx' -import Hemi from './hemi.mdx' -import HemiSepolia from './hemi-sepolia.mdx' -import Joc from './joc.mdx' -import JocTestnet from './joc-testnet.mdx' -import Peaq from './peaq.mdx' import ScrollSepolia from './scroll-sepolia.mdx' import SeiAtlantic from './sei-atlantic.mdx' import SeiMainnet from './sei-mainnet.mdx' +import Sepolia from './sepolia.mdx' +import SepoliaBeacon from './sepolia-cl.mdx' +import SolanaAccounts from './solana-accounts.mdx' +import SolanaDevnet from './solana-devnet.mdx' +import Solana from './solana-mainnet-beta.mdx' +import Soneium from './soneium.mdx' +import SoneiumTestnet from './soneium-testnet.mdx' +import Sonic from './sonic.mdx' import SonicTestnet from './sonic-testnet.mdx' import Stable from './stable.mdx' +import Starknet from './starknet-mainnet.mdx' +import StarknetTestnet from './starknet-testnet.mdx' +import Stellar from './stellar.mdx' +import StellarTestnet from './stellar-testnet.mdx' +import Tempo from './tempo.mdx' import TempoModerato from './tempo-moderato.mdx' +import Tron from './tron.mdx' +import TronEvm from './tron-evm.mdx' +import Unichain from './unichain.mdx' +import UnichainTestnet from './unichain-testnet.mdx' +import Viction from './viction.mdx' +import Wax from './wax.mdx' +import WaxTestnet from './wax-testnet.mdx' +import WorldChain from './worldchain.mdx' +import XLayer from './xlayer-mainnet.mdx' import XLayerSepolia from './xlayer-sepolia.mdx' +import Zetachain from './zetachain.mdx' import Zilliqa from './zilliqa.mdx' import ZilliqaTestnet from './zilliqa-testnet.mdx' +import ZksyncEra from './zksync-era.mdx' import ZksyncEraSepolia from './zksync-era-sepolia.mdx' -import Kaia from './kaia.mdx' -import KaiaTestnet from './kaia-testnet.mdx' -import NeoX from './neox.mdx' -import NeoXTestnet from './neox-testnet.mdx' -import Viction from './viction.mdx' -import Zetachain from './zetachain.mdx' +import Zora from './zora.mdx' /** * Per-network custom content for Supported Networks landing pages. diff --git a/website/src/supportedNetworks/customContent/injective-evm.mdx b/website/src/supportedNetworks/customContent/injective-evm.mdx index b249f9d51152..e0802b83f101 100644 --- a/website/src/supportedNetworks/customContent/injective-evm.mdx +++ b/website/src/supportedNetworks/customContent/injective-evm.mdx @@ -10,6 +10,13 @@ Injective EVM is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/joc-testnet.mdx b/website/src/supportedNetworks/customContent/joc-testnet.mdx index aa8cfa5ebb02..e29e6062ea8c 100644 --- a/website/src/supportedNetworks/customContent/joc-testnet.mdx +++ b/website/src/supportedNetworks/customContent/joc-testnet.mdx @@ -6,4 +6,10 @@ Japan Open Chain Testnet is the public test network for Japan Open Chain, the en Japan Open Chain Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Japan Open Chain Testnet. - + diff --git a/website/src/supportedNetworks/customContent/joc.mdx b/website/src/supportedNetworks/customContent/joc.mdx index cf25a2080290..16a9496ce921 100644 --- a/website/src/supportedNetworks/customContent/joc.mdx +++ b/website/src/supportedNetworks/customContent/joc.mdx @@ -6,4 +6,10 @@ Japan Open Chain is an EVM-compatible Layer 1 operated by trusted Japanese enter Japan Open Chain is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Japan Open Chain. - + diff --git a/website/src/supportedNetworks/customContent/kaia-testnet.mdx b/website/src/supportedNetworks/customContent/kaia-testnet.mdx index 7ceea834a694..82233059bf9d 100644 --- a/website/src/supportedNetworks/customContent/kaia-testnet.mdx +++ b/website/src/supportedNetworks/customContent/kaia-testnet.mdx @@ -6,4 +6,10 @@ Kaia Kairos Testnet is the public test network for Kaia, the EVM-compatible Laye Kaia Kairos Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Kaia Kairos Testnet. - + diff --git a/website/src/supportedNetworks/customContent/kaia.mdx b/website/src/supportedNetworks/customContent/kaia.mdx index 2bdbd220ea36..cdca3f8474ab 100644 --- a/website/src/supportedNetworks/customContent/kaia.mdx +++ b/website/src/supportedNetworks/customContent/kaia.mdx @@ -6,4 +6,10 @@ Kaia is an EVM-compatible Layer 1 formed by the merger of Klaytn and Finschia, b Kaia is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Kaia. - + diff --git a/website/src/supportedNetworks/customContent/linea-sepolia.mdx b/website/src/supportedNetworks/customContent/linea-sepolia.mdx index 051daa715223..652fe24f7b2d 100644 --- a/website/src/supportedNetworks/customContent/linea-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/linea-sepolia.mdx @@ -10,6 +10,12 @@ Linea Sepolia Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/linea.mdx b/website/src/supportedNetworks/customContent/linea.mdx index cf5aee73212f..f065856d8bf1 100644 --- a/website/src/supportedNetworks/customContent/linea.mdx +++ b/website/src/supportedNetworks/customContent/linea.mdx @@ -10,6 +10,13 @@ Linea is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/mainnet.mdx b/website/src/supportedNetworks/customContent/mainnet.mdx index 865a8a1afbba..0c0a10ad7e05 100644 --- a/website/src/supportedNetworks/customContent/mainnet.mdx +++ b/website/src/supportedNetworks/customContent/mainnet.mdx @@ -10,6 +10,13 @@ Ethereum is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/matic.mdx b/website/src/supportedNetworks/customContent/matic.mdx index a5fe53247fbd..2d80f2f807a0 100644 --- a/website/src/supportedNetworks/customContent/matic.mdx +++ b/website/src/supportedNetworks/customContent/matic.mdx @@ -59,6 +59,13 @@ Before you build, check whether the data you need is already live. Many of the m Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. - + diff --git a/website/src/supportedNetworks/customContent/neox-testnet.mdx b/website/src/supportedNetworks/customContent/neox-testnet.mdx index 661c354121b4..8cd6ba6c2111 100644 --- a/website/src/supportedNetworks/customContent/neox-testnet.mdx +++ b/website/src/supportedNetworks/customContent/neox-testnet.mdx @@ -6,4 +6,10 @@ Neo X Testnet is the public test network for Neo X, the EVM-compatible sidechain Neo X Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Neo X Testnet. - + diff --git a/website/src/supportedNetworks/customContent/neox.mdx b/website/src/supportedNetworks/customContent/neox.mdx index 65c66bbe778c..7a15ca627b14 100644 --- a/website/src/supportedNetworks/customContent/neox.mdx +++ b/website/src/supportedNetworks/customContent/neox.mdx @@ -6,4 +6,10 @@ Neo X is an EVM-compatible sidechain of the Neo blockchain secured by a dBFT con Neo X is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Neo X. - + diff --git a/website/src/supportedNetworks/customContent/optimism-sepolia.mdx b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx index 17f586ddcfff..82a7d273bb0c 100644 --- a/website/src/supportedNetworks/customContent/optimism-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx @@ -10,6 +10,13 @@ OP Sepolia Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/optimism.mdx b/website/src/supportedNetworks/customContent/optimism.mdx index 6733e7c64364..4adc33c1af99 100644 --- a/website/src/supportedNetworks/customContent/optimism.mdx +++ b/website/src/supportedNetworks/customContent/optimism.mdx @@ -10,6 +10,13 @@ Optimism is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/peaq.mdx b/website/src/supportedNetworks/customContent/peaq.mdx index 339e6d798ecb..b14de73069b9 100644 --- a/website/src/supportedNetworks/customContent/peaq.mdx +++ b/website/src/supportedNetworks/customContent/peaq.mdx @@ -6,4 +6,10 @@ peaq is an EVM-compatible Layer 1 built for DePIN — decentralized physical inf peaq is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for peaq. - + diff --git a/website/src/supportedNetworks/customContent/polygon-amoy.mdx b/website/src/supportedNetworks/customContent/polygon-amoy.mdx index 1a4fa48cd0a8..b97267d0f5b8 100644 --- a/website/src/supportedNetworks/customContent/polygon-amoy.mdx +++ b/website/src/supportedNetworks/customContent/polygon-amoy.mdx @@ -10,6 +10,12 @@ Polygon Amoy Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/rootstock-testnet.mdx b/website/src/supportedNetworks/customContent/rootstock-testnet.mdx index 726aefa1bce8..36a19ea0ec12 100644 --- a/website/src/supportedNetworks/customContent/rootstock-testnet.mdx +++ b/website/src/supportedNetworks/customContent/rootstock-testnet.mdx @@ -6,4 +6,11 @@ Rootstock Testnet is the public test network for Rootstock, the Bitcoin-secured Rootstock Testnet is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/rootstock.mdx b/website/src/supportedNetworks/customContent/rootstock.mdx index d76aa1f34511..2755b0dcc2b4 100644 --- a/website/src/supportedNetworks/customContent/rootstock.mdx +++ b/website/src/supportedNetworks/customContent/rootstock.mdx @@ -6,4 +6,11 @@ Rootstock (RSK) is a Bitcoin sidechain that brings EVM-compatible smart contract Rootstock is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/scroll-sepolia.mdx b/website/src/supportedNetworks/customContent/scroll-sepolia.mdx index 1002908505ea..4eac5f64194d 100644 --- a/website/src/supportedNetworks/customContent/scroll-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/scroll-sepolia.mdx @@ -6,4 +6,10 @@ Scroll Sepolia Testnet is the public test network for Scroll, the Ethereum Layer Scroll Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Scroll Sepolia Testnet. - + diff --git a/website/src/supportedNetworks/customContent/scroll.mdx b/website/src/supportedNetworks/customContent/scroll.mdx index aff92c3615ad..f67ba4f28d4f 100644 --- a/website/src/supportedNetworks/customContent/scroll.mdx +++ b/website/src/supportedNetworks/customContent/scroll.mdx @@ -6,4 +6,11 @@ Scroll is an Ethereum Layer 2 zkEVM rollup offering bytecode-level EVM equivalen Scroll is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/sei-atlantic.mdx b/website/src/supportedNetworks/customContent/sei-atlantic.mdx index be2e7182a002..7e255290e201 100644 --- a/website/src/supportedNetworks/customContent/sei-atlantic.mdx +++ b/website/src/supportedNetworks/customContent/sei-atlantic.mdx @@ -6,4 +6,10 @@ Sei Atlantic Testnet is the public test network for Sei, a high-performance EVM Sei Atlantic Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sei Atlantic Testnet. - + diff --git a/website/src/supportedNetworks/customContent/sei-mainnet.mdx b/website/src/supportedNetworks/customContent/sei-mainnet.mdx index ee3df75a2b52..3e93b4aafde8 100644 --- a/website/src/supportedNetworks/customContent/sei-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/sei-mainnet.mdx @@ -6,4 +6,10 @@ Sei is a high-performance, EVM-compatible Layer 1 built for trading and DeFi, us Sei is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sei. - + diff --git a/website/src/supportedNetworks/customContent/sepolia.mdx b/website/src/supportedNetworks/customContent/sepolia.mdx index da93e39e1fcc..d7fd8778d7ca 100644 --- a/website/src/supportedNetworks/customContent/sepolia.mdx +++ b/website/src/supportedNetworks/customContent/sepolia.mdx @@ -10,6 +10,13 @@ Ethereum Sepolia Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/sonic-testnet.mdx b/website/src/supportedNetworks/customContent/sonic-testnet.mdx index 9b1f1992a6d8..fb8ad7c8f277 100644 --- a/website/src/supportedNetworks/customContent/sonic-testnet.mdx +++ b/website/src/supportedNetworks/customContent/sonic-testnet.mdx @@ -6,4 +6,10 @@ Sonic Testnet is the public test network for Sonic, the high-performance EVM Lay Sonic Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Sonic Testnet. - + diff --git a/website/src/supportedNetworks/customContent/sonic.mdx b/website/src/supportedNetworks/customContent/sonic.mdx index 477e2ac0c6b9..dcb805114322 100644 --- a/website/src/supportedNetworks/customContent/sonic.mdx +++ b/website/src/supportedNetworks/customContent/sonic.mdx @@ -6,4 +6,11 @@ Sonic is a high-performance, EVM-compatible Layer 1 from the team behind Fantom, Sonic is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/customContent/stable.mdx b/website/src/supportedNetworks/customContent/stable.mdx index 03557e093a59..b8ee1264b98f 100644 --- a/website/src/supportedNetworks/customContent/stable.mdx +++ b/website/src/supportedNetworks/customContent/stable.mdx @@ -6,4 +6,10 @@ Stable is an EVM-compatible Layer 1 built for stablecoin payments, using USDT as Stable is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Stable. - + diff --git a/website/src/supportedNetworks/customContent/tempo-moderato.mdx b/website/src/supportedNetworks/customContent/tempo-moderato.mdx index 33e4c3b9ea37..ac2b7813c4be 100644 --- a/website/src/supportedNetworks/customContent/tempo-moderato.mdx +++ b/website/src/supportedNetworks/customContent/tempo-moderato.mdx @@ -6,4 +6,10 @@ Tempo Moderato Testnet is the public test network for Tempo, the Stripe- and Par Tempo Moderato Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Tempo Moderato Testnet. - + diff --git a/website/src/supportedNetworks/customContent/tempo.mdx b/website/src/supportedNetworks/customContent/tempo.mdx index 8ded71fb1f4c..c2fe33df5e7c 100644 --- a/website/src/supportedNetworks/customContent/tempo.mdx +++ b/website/src/supportedNetworks/customContent/tempo.mdx @@ -10,6 +10,12 @@ Tempo is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/unichain-testnet.mdx b/website/src/supportedNetworks/customContent/unichain-testnet.mdx index 16286a39e871..8ab4c1d5c5c8 100644 --- a/website/src/supportedNetworks/customContent/unichain-testnet.mdx +++ b/website/src/supportedNetworks/customContent/unichain-testnet.mdx @@ -10,6 +10,12 @@ Unichain Sepolia Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/unichain.mdx b/website/src/supportedNetworks/customContent/unichain.mdx index 5062c694e8ce..a3e7febfd897 100644 --- a/website/src/supportedNetworks/customContent/unichain.mdx +++ b/website/src/supportedNetworks/customContent/unichain.mdx @@ -10,6 +10,13 @@ Unichain is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/viction.mdx b/website/src/supportedNetworks/customContent/viction.mdx index 155533cf1b81..65fe5b834989 100644 --- a/website/src/supportedNetworks/customContent/viction.mdx +++ b/website/src/supportedNetworks/customContent/viction.mdx @@ -6,4 +6,10 @@ Viction (formerly TomoChain) is an EVM-compatible Layer 1 focused on zero-gas tr Viction is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Viction. - + diff --git a/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx index ccdea1ad6722..bff41cfbd0d3 100644 --- a/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx @@ -10,6 +10,12 @@ X Layer is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. - You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx b/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx index e0fdfa3faa18..6078cf355237 100644 --- a/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/xlayer-sepolia.mdx @@ -6,4 +6,10 @@ X Layer Sepolia Testnet is the public test network for X Layer, OKX's Ethereum L X Layer Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for X Layer Sepolia Testnet. - + diff --git a/website/src/supportedNetworks/customContent/zetachain.mdx b/website/src/supportedNetworks/customContent/zetachain.mdx index 8a9017339ea4..57281072d82d 100644 --- a/website/src/supportedNetworks/customContent/zetachain.mdx +++ b/website/src/supportedNetworks/customContent/zetachain.mdx @@ -6,4 +6,10 @@ ZetaChain is an EVM-compatible Layer 1 built for omnichain applications, letting ZetaChain is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for ZetaChain. - + diff --git a/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx b/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx index 78a011595bf2..a4323c206081 100644 --- a/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx +++ b/website/src/supportedNetworks/customContent/zilliqa-testnet.mdx @@ -6,4 +6,10 @@ Zilliqa 2.0 Testnet is the public test network for Zilliqa 2.0, the EVM-compatib Zilliqa Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Zilliqa Testnet. - + diff --git a/website/src/supportedNetworks/customContent/zilliqa.mdx b/website/src/supportedNetworks/customContent/zilliqa.mdx index 5a25b8bdb6c8..180e60127bdf 100644 --- a/website/src/supportedNetworks/customContent/zilliqa.mdx +++ b/website/src/supportedNetworks/customContent/zilliqa.mdx @@ -6,4 +6,10 @@ Zilliqa 2.0 is an EVM-compatible, sharded Layer 1 designed for high throughput, Zilliqa is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for Zilliqa. - + diff --git a/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx b/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx index 1f09833c374a..328ce8af6f27 100644 --- a/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/zksync-era-sepolia.mdx @@ -6,4 +6,10 @@ zkSync Sepolia Testnet is the public test network for zkSync Era, the Matter Lab zkSync Sepolia Testnet is supported by The Graph with Subgraphs — develop, test, and publish them in [Subgraph Studio](/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Publishing is enabled, though guaranteed indexing via The Graph Network is not yet available for zkSync Sepolia Testnet. - + diff --git a/website/src/supportedNetworks/customContent/zksync-era.mdx b/website/src/supportedNetworks/customContent/zksync-era.mdx index 87d61700c998..a954957edc32 100644 --- a/website/src/supportedNetworks/customContent/zksync-era.mdx +++ b/website/src/supportedNetworks/customContent/zksync-era.mdx @@ -6,4 +6,11 @@ zkSync Era is an Ethereum Layer 2 zkEVM rollup built by Matter Labs, using zero- zkSync Era is supported by The Graph with Subgraphs — open APIs you publish to The Graph Network, where Indexers sync and serve the data while you manage your service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). - + diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index c23ab6914c70..1e204fa2767e 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -50,8 +50,8 @@ function isEvm(network: Network) { // `services.subgraphs`) but neither of the above function getSubgraphsTier(network: Network): SubgraphsTier { if (network.issuanceRewards) return 'rewards' - const subgraphs = (network.services?.subgraphs ?? []) as SubgraphsServiceEntry[] - if (subgraphs.some((entry) => typeof entry === 'object' && Boolean(entry?.backstopSupport))) { + const subgraphs = (network.services.subgraphs ?? []) as SubgraphsServiceEntry[] + if (subgraphs.some((entry) => typeof entry === 'object' && Boolean(entry.backstopSupport))) { return 'network' } if (subgraphs.some((entry) => typeof entry === 'string' && entry.includes('studio.thegraph.com'))) { @@ -66,7 +66,7 @@ function getSubgraphsTier(network: Network): SubgraphsTier { // - 'extended' -> EVM network serving the extended block model // - 'base' -> EVM network serving the base block model function getSubstreamsTier(network: Network): SubstreamsTier { - const hasProvider = (network.services?.substreams?.length ?? 0) > 0 || (network.services?.firehose?.length ?? 0) > 0 + const hasProvider = (network.services.substreams?.length ?? 0) > 0 || (network.services.firehose?.length ?? 0) > 0 if (!hasProvider) return 'none' if (!isEvm(network)) return 'other' return network.firehose?.evmExtendedModel ? 'extended' : 'base' From 91423a2e9512f543d1eeb34de169904dad98452d Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 20:03:40 +0000 Subject: [PATCH 07/22] fix(supported-networks): valid MDX comment delimiters in reusable sections The four reusable customContent partials opened and closed their leading JSX comment with backslash-escaped asterisks ({/\* ... \*/}), which MDX/acorn cannot parse ("Could not parse expression with acorn"), failing the pnpm build. Replace with valid {/* ... */} delimiters. Verified: all 103 customContent .mdx files compile against @mdx-js/mdx 3.1.1. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Ms4WKyDtYzfNzYZCBorRZE --- .../supportedNetworks/customContent/_subgraph-community.mdx | 4 ++-- .../src/supportedNetworks/customContent/_subgraph-studio.mdx | 4 ++-- .../src/supportedNetworks/customContent/_substreams-base.mdx | 4 ++-- .../supportedNetworks/customContent/_substreams-extended.mdx | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/website/src/supportedNetworks/customContent/_subgraph-community.mdx b/website/src/supportedNetworks/customContent/_subgraph-community.mdx index 2cd7ece22c1a..cac6638e03b1 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-community.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-community.mdx @@ -1,8 +1,8 @@ -{/\* Reusable "community" Subgraph section. +{/* Reusable "community" Subgraph section. The community model: publish Subgraphs directly to The Graph Network and add curation signal so select Indexers on the network pick them up (a curation backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start (Steps 1-4). Each network page keeps its own intro and any chain-specific "Find Existing Subgraphs" card grid inline. -Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally \*/} +Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally */} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx index 385207e6c980..f42af2b70844 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx @@ -1,8 +1,8 @@ -{/\* Reusable "studio" Subgraph section. +{/* Reusable "studio" Subgraph section. For chains where Subgraph publishing is ENABLED but there is no guaranteed indexing on The Graph Network yet: develop, test, and query through Subgraph Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own intro inline. -Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" \*/} +Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" */} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_substreams-base.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx index 8ebe9ca7e439..7ff232aa34a9 100644 --- a/website/src/supportedNetworks/customContent/_substreams-base.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,6 +1,6 @@ -{/\* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). +{/* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). -Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. \*/} +Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx index 3e2b674eeb15..e65e5bf5cd38 100644 --- a/website/src/supportedNetworks/customContent/_substreams-extended.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -1,6 +1,6 @@ -{/\* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). +{/* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). -Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). \*/} +Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] From 196a02233ea263b6a795e359b60bc4d55547d554 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 16:05:54 -0400 Subject: [PATCH 08/22] ran prettier --- .../supportedNetworks/customContent/_subgraph-community.mdx | 4 ++-- .../src/supportedNetworks/customContent/_subgraph-studio.mdx | 4 ++-- .../src/supportedNetworks/customContent/_substreams-base.mdx | 4 ++-- .../supportedNetworks/customContent/_substreams-extended.mdx | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/website/src/supportedNetworks/customContent/_subgraph-community.mdx b/website/src/supportedNetworks/customContent/_subgraph-community.mdx index cac6638e03b1..2cd7ece22c1a 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-community.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-community.mdx @@ -1,8 +1,8 @@ -{/* Reusable "community" Subgraph section. +{/\* Reusable "community" Subgraph section. The community model: publish Subgraphs directly to The Graph Network and add curation signal so select Indexers on the network pick them up (a curation backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start (Steps 1-4). Each network page keeps its own intro and any chain-specific "Find Existing Subgraphs" card grid inline. -Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally */} +Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally \*/} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx index f42af2b70844..385207e6c980 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx @@ -1,8 +1,8 @@ -{/* Reusable "studio" Subgraph section. +{/\* Reusable "studio" Subgraph section. For chains where Subgraph publishing is ENABLED but there is no guaranteed indexing on The Graph Network yet: develop, test, and query through Subgraph Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own intro inline. -Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" */} +Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" \*/} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_substreams-base.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx index 7ff232aa34a9..8ebe9ca7e439 100644 --- a/website/src/supportedNetworks/customContent/_substreams-base.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,6 +1,6 @@ -{/* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). +{/\* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). -Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. */} +Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. \*/} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx index e65e5bf5cd38..3e2b674eeb15 100644 --- a/website/src/supportedNetworks/customContent/_substreams-extended.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -1,6 +1,6 @@ -{/* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). +{/\* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). -Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). */} +Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). \*/} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] From e293e8ebd30bc76a4d773c2caa83fcdb029d7836 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 20:18:08 +0000 Subject: [PATCH 09/22] fix(supported-networks): stop prettier breaking reusable MDX partials MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prettier (3.9.6) rewrites the leading {/* ... */} JSX comment in the four reusable customContent partials into {/\* ... \*/}, escaping the asterisks. MDX/acorn cannot parse the escaped form ("Could not parse expression with acorn"), which failed `pnpm build` — and every `prettier` run re-introduced it, reverting the earlier delimiter fix (commit 91423a2e). Add the four partials to .prettierignore so prettier no longer rewrites them, and restore valid {/* ... */} delimiters. Verified: prettier --write leaves the partials untouched, and all 103 customContent .mdx files compile against @mdx-js/mdx 3.1.1. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Ms4WKyDtYzfNzYZCBorRZE --- .prettierignore | 7 ++++++- .../customContent/_subgraph-community.mdx | 4 ++-- .../supportedNetworks/customContent/_subgraph-studio.mdx | 4 ++-- .../supportedNetworks/customContent/_substreams-base.mdx | 4 ++-- .../customContent/_substreams-extended.mdx | 4 ++-- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.prettierignore b/.prettierignore index 84c5905b91bf..976c0297f871 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,4 +6,9 @@ dist/ # fetched files website/src/openApi/*.json website/src/pages/*/subgraphs/developing/creating/graph-ts/*.md -website/src/pages/*/subgraphs/querying/graph-client/*.md \ No newline at end of file +website/src/pages/*/subgraphs/querying/graph-client/*.md# Reusable MDX partials: prettier escapes the {/* */} JSX comment delimiters +# ({/* -> {/\*), producing MDX that acorn cannot parse and breaking the build. +website/src/supportedNetworks/customContent/_subgraph-community.mdx +website/src/supportedNetworks/customContent/_subgraph-studio.mdx +website/src/supportedNetworks/customContent/_substreams-base.mdx +website/src/supportedNetworks/customContent/_substreams-extended.mdx diff --git a/website/src/supportedNetworks/customContent/_subgraph-community.mdx b/website/src/supportedNetworks/customContent/_subgraph-community.mdx index 2cd7ece22c1a..cac6638e03b1 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-community.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-community.mdx @@ -1,8 +1,8 @@ -{/\* Reusable "community" Subgraph section. +{/* Reusable "community" Subgraph section. The community model: publish Subgraphs directly to The Graph Network and add curation signal so select Indexers on the network pick them up (a curation backstop). Renders "### Indexing {Chain} with Subgraphs" + the Quick Start (Steps 1-4). Each network page keeps its own intro and any chain-specific "Find Existing Subgraphs" card grid inline. -Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally \*/} +Props: - chainName (required) short name in body copy, e.g. "BSC", "Polygon" - title (optional) heading name; defaults to chainName (e.g. "BNB Smart Chain") - networkId (required) `graph init` / manifest network id, e.g. "bsc", "matic" - slug (required) example Subgraph slug base, e.g. "bsc", "polygon" - explorerUrl (required) block explorer URL, e.g. "https://bscscan.com" - explorerName (required) explorer brand for the ABI hint, e.g. "BscScan", "Blockscout" - rpcUrl (required) RPC endpoint used for local verification - customNetwork (optional) network not in `graph init`'s list; enter it manually - noStudio (optional) no Subgraph Studio staging; publish direct / verify locally */} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx index 385207e6c980..f42af2b70844 100644 --- a/website/src/supportedNetworks/customContent/_subgraph-studio.mdx +++ b/website/src/supportedNetworks/customContent/_subgraph-studio.mdx @@ -1,8 +1,8 @@ -{/\* Reusable "studio" Subgraph section. +{/* Reusable "studio" Subgraph section. For chains where Subgraph publishing is ENABLED but there is no guaranteed indexing on The Graph Network yet: develop, test, and query through Subgraph Studio (https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/using-subgraph-studio/). Renders "### Indexing {Chain} with Subgraphs" + a prominent no-guaranteed-indexing callout + the Studio Quick Start (Steps 1-4). Each network page keeps its own intro inline. -Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" \*/} +Props: - chainName (required) short name in body copy, e.g. "Sei", "Chiliz" - title (optional) heading name; defaults to chainName - networkId (required) `graph init` / manifest network id, e.g. "sei-mainnet" - slug (required) example Subgraph slug base, e.g. "sei" - explorerUrl (required) block explorer URL, e.g. "https://seitrace.com" - explorerName (required) explorer brand for the ABI hint, e.g. "Seitrace", "Blockscout" */} import { Callout, CodeBlock } from '@/components' import { ExperimentalCodeInline as Code } from '@edgeandnode/gds' diff --git a/website/src/supportedNetworks/customContent/_substreams-base.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx index 8ebe9ca7e439..7ff232aa34a9 100644 --- a/website/src/supportedNetworks/customContent/_substreams-base.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,6 +1,6 @@ -{/\* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). +{/* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). -Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. \*/} +Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx index 3e2b674eeb15..e65e5bf5cd38 100644 --- a/website/src/supportedNetworks/customContent/_substreams-extended.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -1,6 +1,6 @@ -{/\* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). +{/* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). -Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). \*/} +Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] From 16f934531defe4d7a03271eae350145a2b86bb8f Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Mon, 21 Sep 2026 16:30:37 -0400 Subject: [PATCH 10/22] debugging prettier again --- .../subgraphs/querying/graph-client/README.md | 37 ++++++++++--------- .../querying/graph-client/architecture.md | 3 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/website/src/pages/en/subgraphs/querying/graph-client/README.md b/website/src/pages/en/subgraphs/querying/graph-client/README.md index 283b12d46ef4..fba496d31853 100644 --- a/website/src/pages/en/subgraphs/querying/graph-client/README.md +++ b/website/src/pages/en/subgraphs/querying/graph-client/README.md @@ -14,22 +14,22 @@ This library is intended to simplify the network aspect of data consumption for > The tools provided in this repo can be used as standalone, but you can also use it with any existing GraphQL Client! -| Status | Feature | Notes | -| :----: | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| ✅ | Multiple indexers | based on fetch strategies | -| ✅ | Fetch Strategies | timeout, retry, fallback, race, highestValue | -| ✅ | Build time validations & optimizations | | -| ✅ | Client-Side Composition | with improved execution planner (based on GraphQL-Mesh) | -| ✅ | Cross-chain Subgraph Handling | Use similar subgraphs as a single source | -| ✅ | Raw Execution (standalone mode) | without a wrapping GraphQL client | -| ✅ | Local (client-side) Mutations | | -| ✅ | [Automatic Block Tracking](../packages/block-tracking/README.md) | tracking block numbers [as described here](https://thegraph.com/docs/en/developer/distributed-systems/#polling-for-updated-data) | -| ✅ | [Automatic Pagination](../packages/auto-pagination/README.md) | doing multiple requests in a single call to fetch more than the indexer limit | -| ✅ | Integration with `@apollo/client` | | -| ✅ | Integration with `urql` | | -| ✅ | TypeScript support | with built-in GraphQL Codegen and `TypedDocumentNode` | -| ✅ | [`@live` queries](./live.md) | Based on polling | -| ✅ | [x402 Pay-per-query](../packages/x402/README.md) | Query paid endpoints with automatic payment handling | +| Status | Feature | Notes | +| :-: | --- | --- | +| ✅ | Multiple indexers | based on fetch strategies | +| ✅ | Fetch Strategies | timeout, retry, fallback, race, highestValue | +| ✅ | Build time validations & optimizations | | +| ✅ | Client-Side Composition | with improved execution planner (based on GraphQL-Mesh) | +| ✅ | Cross-chain Subgraph Handling | Use similar subgraphs as a single source | +| ✅ | Raw Execution (standalone mode) | without a wrapping GraphQL client | +| ✅ | Local (client-side) Mutations | | +| ✅ | [Automatic Block Tracking](../packages/block-tracking/README.md) | tracking block numbers [as described here](https://thegraph.com/docs/en/developer/distributed-systems/#polling-for-updated-data) | +| ✅ | [Automatic Pagination](../packages/auto-pagination/README.md) | doing multiple requests in a single call to fetch more than the indexer limit | +| ✅ | Integration with `@apollo/client` | | +| ✅ | Integration with `urql` | | +| ✅ | TypeScript support | with built-in GraphQL Codegen and `TypedDocumentNode` | +| ✅ | [`@live` queries](./live.md) | Based on polling | +| ✅ | [x402 Pay-per-query](../packages/x402/README.md) | Query paid endpoints with automatic payment handling | > You can find an [extended architecture design here](./architecture.md) @@ -310,8 +310,8 @@ sources:
`highestValue` - - This strategy allows you to send parallel requests to different endpoints for the same source and choose the most updated. + +This strategy allows you to send parallel requests to different endpoints for the same source and choose the most updated. This is useful if you want to choose most synced data for the same Subgraph over different indexers/sources. @@ -494,6 +494,7 @@ To get started, define your GraphQL operations in your application code, and poi sources: - # ... your Subgraphs/GQL sources here + documents: - ./src/example-query.graphql ``` diff --git a/website/src/pages/en/subgraphs/querying/graph-client/architecture.md b/website/src/pages/en/subgraphs/querying/graph-client/architecture.md index 99098cd77b95..f134f4cac1a4 100644 --- a/website/src/pages/en/subgraphs/querying/graph-client/architecture.md +++ b/website/src/pages/en/subgraphs/querying/graph-client/architecture.md @@ -99,5 +99,4 @@ graph LR; sc[Smart Contract]-->|change event|op; ``` -With this mechanism, developers can write and execute GraphQL `subscription`, but under the hood we'll execute a GraphQL `query` to The Graph indexers, and allow to connect any external hook/probe for re-running the operation. -This way, we can watch for changes on the Smart Contract itself, and the GraphQL client will fill the gap on the need to real-time changes from The Graph. +With this mechanism, developers can write and execute GraphQL `subscription`, but under the hood we'll execute a GraphQL `query` to The Graph indexers, and allow to connect any external hook/probe for re-running the operation. This way, we can watch for changes on the Smart Contract itself, and the GraphQL client will fill the gap on the need to real-time changes from The Graph. From 47d0138b81900f9166796a6508b27f6edaef496c Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 01:50:08 +0000 Subject: [PATCH 11/22] chore(supported-networks): remove committed .fuse_hidden artifacts Four .fuse_hidden* files (FUSE artifacts created when open files were unlinked over the mount) were accidentally committed under customContent in 50d2f1f0. Remove them from the repo and add a .gitignore rule so they can't be committed again. The real Fuse network pages (fuse.mdx, fuse-testnet.mdx) are unaffected. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Ms4WKyDtYzfNzYZCBorRZE --- .gitignore | 3 + .../.fuse_hidden0000000600000001 | 161 ----------------- .../.fuse_hidden0000000700000001 | 162 ----------------- .../.fuse_hidden0000000800000002 | 162 ----------------- .../.fuse_hidden0000000a00000002 | 163 ------------------ 5 files changed, 3 insertions(+), 648 deletions(-) delete mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 delete mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 delete mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 delete mode 100644 website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 diff --git a/.gitignore b/.gitignore index 59f1204d6ed1..1c491de5b140 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,6 @@ dist/ packages/og-image/vendor/*.wasm .wrangler/ .Rproj.user + +# FUSE filesystem artifacts (created when open files are unlinked over the mount) +.fuse_hidden* diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 deleted file mode 100644 index bd4530ea2ac9..000000000000 --- a/website/src/supportedNetworks/customContent/.fuse_hidden0000000600000001 +++ /dev/null @@ -1,161 +0,0 @@ -### Getting Started on BNB Smart Chain - -BNB Smart Chain (BSC) is a high-performance, EVM-compatible Layer 1 that has run in production since September 2020, with sub-second block times and transaction fees of a fraction of a cent. It hosts one of the largest DeFi ecosystems in crypto — tens of billions of dollars in total value locked across protocols like PancakeSwap (DEX), Venus (lending), and 1,500+ live dApps spanning trading, gaming, and payments. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. - -BSC is supported by The Graph in two ways: - -- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. -- You can also stream BSC with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - -### Indexing BNB Smart Chain with Subgraphs - -Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. - -BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on BNB Smart Chain - -Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: - -- **PancakeSwap** — the largest DEX on BSC: [PancakeSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/A1fvJWQLBeUAggX2WQTMm3FKjXTekNXo77ZySun4YN2m) -- **Venus** — the leading lending and money-market protocol on BSC: [Venus Core Pool Subgraph](https://thegraph.com/explorer/subgraphs/7h65Zf3pXXPmf8g8yZjjj2bqYiypVxems5d8riLK1DyR) - -Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. - -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for BSC takes three steps: - -1. Initialize a Subgraph project from your BSC contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your BSC contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. BSC is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `bsc` from the list of supported networks. -- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. -- **Schema** (`schema.graphql`): defines the entities you want to query. -- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. - -Point the manifest at BSC: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: bsc - source: - address: '0xYourBscContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: - -```yaml -environment: - ethereum: 'bsc:https://bsc.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-bsc-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish to The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing BNB Smart Chain with Substreams - -Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 deleted file mode 100644 index bcd44d614acc..000000000000 --- a/website/src/supportedNetworks/customContent/.fuse_hidden0000000700000001 +++ /dev/null @@ -1,162 +0,0 @@ -### Getting Started on BNB Smart Chain - -BNB Smart Chain (BSC) is a high-performance, EVM-compatible Layer 1 that has run in production since September 2020, with sub-second block times and transaction fees of a fraction of a cent. It hosts one of the largest DeFi ecosystems in crypto — tens of billions of dollars in total value locked across protocols like PancakeSwap (DEX), Venus (lending), and 1,500+ live dApps spanning trading, gaming, and payments. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. - -BSC is supported by The Graph in two ways: - -- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. -- You can also stream BSC with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - -### Indexing BNB Smart Chain with Subgraphs - -Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. - -BSC is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your BSC contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on BNB Smart Chain - -Before you build, check whether the data you need is already live. Many of the most-used protocols on BSC publish Subgraphs on The Graph that you can query today: - -- **PancakeSwap** — the largest DEX on BSC: [PancakeSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/A1fvJWQLBeUAggX2WQTMm3FKjXTekNXo77ZySun4YN2m) -- **Venus** — the leading lending and money-market protocol on BSC: [Venus Core Pool Subgraph](https://thegraph.com/explorer/subgraphs/7h65Zf3pXXPmf8g8yZjjj2bqYiypVxems5d8riLK1DyR) - -Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on BSC by protocol, signal, and query volume before deciding to build your own. - -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for BSC takes three steps: - -1. Initialize a Subgraph project from your BSC contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your BSC contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. BSC is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-bsc-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `bsc` from the list of supported networks. -- **Contract address**: the address of the contract you want to index. Find it on [bscscan.com](https://bscscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the BscScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for BSC is `bsc`. `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. -- **Schema** (`schema.graphql`): defines the entities you want to query. -- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. - -Point the manifest at BSC: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: bsc - source: - address: '0xYourBscContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a BSC RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to BSC: - -```yaml -environment: - ethereum: 'bsc:https://bsc.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-bsc-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-bsc-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish to The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to BSC. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing BNB Smart Chain with Substreams - -Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. BSC is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on BSC; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your BSC contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. - diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 deleted file mode 100644 index 8b82cdfa15c4..000000000000 --- a/website/src/supportedNetworks/customContent/.fuse_hidden0000000800000002 +++ /dev/null @@ -1,162 +0,0 @@ -### Getting Started on Polygon - -Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. - -Polygon is supported by The Graph in two ways: - -- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. -- You can also stream Polygon with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - -### Indexing Polygon with Subgraphs - -Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. - -Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on Polygon - -Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: - -- **Uniswap** — the largest DEX by liquidity, live on Polygon: [Uniswap V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/EsLGwxyeMMeJuhqWvuLmJEiDKXJ4Z6YsoJreUnyeozco) -- **QuickSwap** — Polygon's leading native DEX: [QuickSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g) -- **Aave** — the leading lending and money-market protocol on Polygon: [Aave V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/6yuf1C49aWEscgk5n9D1DekeG1BCk5Z9imJYJT3sVmAT) - -Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. - -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for Polygon takes three steps: - -1. Initialize a Subgraph project from your Polygon contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your Polygon contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. -- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. -- **Schema** (`schema.graphql`): defines the entities you want to query. -- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. - -Point the manifest at Polygon: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: matic - source: - address: '0xYourPolygonContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: - -```yaml -environment: - ethereum: 'matic:https://polygon.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-polygon-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish to The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing Polygon with Substreams - -Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 b/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 deleted file mode 100644 index 537aab011b2b..000000000000 --- a/website/src/supportedNetworks/customContent/.fuse_hidden0000000a00000002 +++ /dev/null @@ -1,163 +0,0 @@ -### Getting Started on Polygon - -Polygon PoS is an EVM-compatible, Ethereum-scaling network built for high throughput and near-zero fees. Following the 2025 Rio upgrade it targets thousands of transactions per second with roughly two-second finality and fees of a fraction of a cent, and it settles more stablecoin payment volume than almost any other chain — powering apps like Polymarket alongside a deep DeFi ecosystem (Aave, QuickSwap, Uniswap), gaming, and real-world-asset projects. Its native token is POL. The Graph can index that onchain activity, including DEX swaps, pools, and liquidity; lending and borrowing positions; stablecoin and token transfers and holder balances; and contract events. That powers DeFi frontends, analytics dashboards, block explorers, portfolio trackers, and onchain agents without teams having to run their own indexing infrastructure. - -Polygon is supported by The Graph in two ways: - -- You can publish Subgraphs to The Graph Network, where they are supported by indexing rewards and a number of active Indexers. -- You can also stream Polygon with Substreams, a parallelized, real-time streaming engine for high-throughput use cases, via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). - -### Indexing Polygon with Subgraphs - -Getting historical data off a smart contract is hard. You write your own indexer, run your own database, and handle chain reorganizations yourself. The Graph removes that work. It gives you an open API, called a Subgraph, that you query with GraphQL. - -Polygon is EVM-compatible, so the Subgraph workflow is the same as on most EVM chains. You point a Subgraph at your Polygon contract, define the entities you want, and Indexers on The Graph Network keep those entities current and queryable. - -#### Find Existing Subgraphs on Polygon - -Before you build, check whether the data you need is already live. Many of the most-used protocols on Polygon publish Subgraphs on The Graph that you can query today: - -- **Uniswap** — the largest DEX by liquidity, live on Polygon: [Uniswap V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/EsLGwxyeMMeJuhqWvuLmJEiDKXJ4Z6YsoJreUnyeozco) -- **QuickSwap** — Polygon's leading native DEX: [QuickSwap V3 Subgraph](https://thegraph.com/explorer/subgraphs/FqsRcH1XqSjqVx9GRTvEJe959aCbKrcyGgDWBrUkG24g) -- **Aave** — the leading lending and money-market protocol on Polygon: [Aave V3 Polygon Subgraph](https://thegraph.com/explorer/subgraphs/6yuf1C49aWEscgk5n9D1DekeG1BCk5Z9imJYJT3sVmAT) - -Browse [Graph Explorer](https://thegraph.com/explorer/) to search all published Subgraphs on Polygon by protocol, signal, and query volume before deciding to build your own. - -#### Quick Start: Build Your Own Subgraph - -Building a Subgraph for Polygon takes three steps: - -1. Initialize a Subgraph project from your Polygon contract. -2. Publish it to The Graph Network for decentralized indexing. -3. Query it over GraphQL with an API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for current query rates and free-tier limits. - -##### Step 1: Initialize your Subgraph project - -Install the Graph CLI with the package manager you prefer: - -```sh -# npm -npm install -g @graphprotocol/graph-cli@latest - -# or yarn -yarn global add @graphprotocol/graph-cli -``` - -Verify the install: - -```sh -graph --version -``` - -Initialize from your Polygon contract: - -```sh -graph init -``` - -The CLI walks you through a set of prompts: - -- **Protocol**: choose `ethereum`. Polygon is EVM-compatible. -- **Subgraph slug**: an identifier for your Subgraph, for example `my-polygon-subgraph`. -- **Directory**: where the project is scaffolded. -- **Ethereum network**: select `matic` from the list of supported networks. `matic` is the network identifier for Polygon mainnet. -- **Contract address**: the address of the contract you want to index. Find it on [polygonscan.com](https://polygonscan.com). -- **ABI**: if the CLI cannot fetch the ABI, export it from your build artifacts or the PolygonScan contract page. Supply it as a JSON file. -- **Start block**: the block your contract was deployed at. Set this so indexing does not scan from genesis. The explorer shows the deployment block. -- **Contract name**: the name of your contract. -- **Index contract events as entities**: set this to `true`. The CLI then scaffolds entities and mappings for every emitted event. - -> [!NOTE] The `network` value for Polygon mainnet is `matic` (not `polygon`). `graph init` recognizes it directly, so you can select it from the list of supported networks. You can also set the `network` field manually in `subgraph.yaml` (next step). - -##### Step 2: Write and build your Subgraph - -You work with three files: - -- **Manifest** (`subgraph.yaml`): defines which data sources your Subgraph indexes. -- **Schema** (`schema.graphql`): defines the entities you want to query. -- **Mappings** (`src/mapping.ts`): AssemblyScript that translates on-chain events into your entities. - -Point the manifest at Polygon: - -```yaml -dataSources: - - kind: ethereum - name: MyContract - network: matic - source: - address: '0xYourPolygonContractAddress' - abi: MyContract - startBlock: 123456 # your contract's deployment block -``` - -For a full walkthrough of schema and mapping authoring, see [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/). - -Generate types and build: - -```sh -graph codegen && graph build -``` - -**Optional: verify locally before publishing.** You can test indexing with a local [Graph Node](https://github.com/graphprotocol/graph-node) pointed at a Polygon RPC endpoint. In your `docker-compose.yml`, set the Ethereum environment to Polygon: - -```yaml -environment: - ethereum: 'matic:https://polygon.rpc.service.pinax.network' -``` - -Create and deploy to your local node: - -```sh -graph create --node http://localhost:8020/ my-polygon-subgraph -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 my-polygon-subgraph -``` - -Query the local endpoint until your entities look right, then publish. - -##### Step 3: Publish to The Graph Network - -Publishing is an on-chain action that: - -- makes your Subgraph available for decentralized [Indexers](/indexing/overview/) to index, -- makes it publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/), -- and makes it available for [Curators](/resources/roles/curating/) to add signal. - -Build, then publish from the Graph CLI: - -```sh -graph codegen && graph build -graph publish -``` - -A browser window opens. Connect your wallet, add metadata (name, description, image), and publish your Subgraph. The `--protocol-network` flag refers to where The Graph's protocol contracts live (Arbitrum One), not to Polygon. - -> [!TIP] During the publish transaction, you can add 500 GRT in curation signal to save on gas fees. Signal tells Indexers that your Subgraph is worth indexing. Any Subgraph with 500 GRT or more signal will automatically be indexed; without signal, no Indexer is incentivized to pick up your Subgraph. - -##### Step 4: Query your Subgraph - -After you publish, open your Subgraph in [Graph Explorer](https://thegraph.com/explorer/) and copy its query URL from the **Query** button. - -1. Create an API key from the API Keys dashboard at [thegraph.com/studio](https://thegraph.com/studio/). This dashboard handles API keys and billing for The Graph Network. -2. Send GraphQL queries to the query URL with your API key. - -See the [Subgraph pricing page](https://thegraph.com/studio-pricing/) for query rates, and [Querying The Graph](/subgraphs/querying/introduction/) for the full query API. - -### Indexing Polygon with Substreams - -Substreams is a parallelized, streaming-first engine for extracting and transforming blockchain data. Where a Subgraph indexes into a hosted GraphQL API, Substreams lets you consume high-throughput data streams directly — and it can also power a Subgraph as a data source. Polygon is served with the extended EVM block model, so Substreams modules have access to full transaction, call, and event data. Modules are written in Rust and composed into reusable packages. - -#### Find an Existing Module on Substreams.dev - -Before writing any code, check the [Substreams Registry](https://substreams.dev/) for a package that already does what you need. The registry hosts community- and team-built modules — DEX trades, token transfers, contract events, and more — that you can run as-is or compose into your own pipeline. Search for the protocol or data you want on Polygon; if a module fits, you can consume its output directly or import it as a dependency in your own project. - -#### Develop Your Own Substreams Module - -If no existing module fits, you can build one. The [Substreams getting-started guide](https://docs.substreams.dev/getting-started) is the full walkthrough. In short: - -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your Polygon contract. -3. Write your extraction and transformation logic in Rust, then run `substreams build`. -4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. - From 2f2f117b06b233e3c04e562f6485950ed4beddeb Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 18:31:34 +0000 Subject: [PATCH 12/22] fix(supported-networks): read structured { kind, provider } subgraphs entries Detect Studio support from bare Studio URLs or kind: 'studio' entries and backstop support from kind: 'backstop' entries (legacy backstopSupport still accepted), matching the networks-registry add-infra-backstop schema. Build the network details Subgraphs row from the Studio/backstop/rewards flags so networks like Rootstock show both Community Indexing and Network Rewards. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- .../supportedNetworks/NetworkDetailsPage.tsx | 46 +++++++-------- website/src/supportedNetworks/utils.ts | 57 +++++++++++++------ 2 files changed, 64 insertions(+), 39 deletions(-) diff --git a/website/src/supportedNetworks/NetworkDetailsPage.tsx b/website/src/supportedNetworks/NetworkDetailsPage.tsx index 75da273fda52..21f28bd14256 100644 --- a/website/src/supportedNetworks/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/NetworkDetailsPage.tsx @@ -8,24 +8,24 @@ import { useI18n } from '@/i18n' import { customNetworkContent } from './customContent' import { subgraphsAndSubstreamsCards, subgraphsOnlyCards, substreamsOnlyCards } from './ResourceCards' -import { type SubgraphsTier, type SubstreamsTier, type SupportedNetwork } from './utils' +import { type SubstreamsTier, type SupportedNetwork } from './utils' // Product-support rows shown at the top of each network page. Labels mirror the tiers used // in the Supported Networks table (see ./utils), rendered here as plain text instead of chips. +// The Subgraphs row is built from the underlying flags rather than the single top tier, so a +// network that earns rewards *and* relies on backstop indexing (e.g. Rootstock) shows both. const SUBGRAPHS_STUDIO_URL = 'https://thegraph.com/studio/' -const SUBGRAPHS_TIER_CONTENT: Record< - Exclude, - { linkLabel: string; suffix?: { label: string; href?: string } } -> = { - studio: { linkLabel: 'Subgraph Studio' }, - network: { linkLabel: 'Subgraph Studio (API Keys)', suffix: { label: 'Community Indexing' } }, - rewards: { - linkLabel: 'Subgraph Studio', - suffix: { - label: 'Network Rewards', - href: 'https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/publishing-a-subgraph/', - }, - }, +const SUBGRAPHS_REWARDS_URL = + 'https://thegraph.com/docs/en/subgraphs/developing/deploying-publishing/publishing-a-subgraph/' +function getSubgraphsRow(network: SupportedNetwork): { + linkLabel: string + suffixes: { label: string; href?: string }[] +} { + const suffixes: { label: string; href?: string }[] = [] + if (network.subgraphsBackstop) suffixes.push({ label: 'Community Indexing' }) + if (network.issuanceRewards) suffixes.push({ label: 'Network Rewards', href: SUBGRAPHS_REWARDS_URL }) + // Networks without Studio deploys still use Studio for API keys and billing. + return { linkLabel: network.subgraphsStudio ? 'Subgraph Studio' : 'Subgraph Studio (API Keys)', suffixes } } const SUBSTREAMS_MODEL_LABEL: Record, string> = { other: 'Non-EVM', @@ -82,24 +82,24 @@ export default function NetworkDetailsPage({ network }: { network: SupportedNetw {network.subgraphsTier !== 'none' && (() => { - const subgraphs = SUBGRAPHS_TIER_CONTENT[network.subgraphsTier] + const subgraphs = getSubgraphsRow(network) return ( {subgraphs.linkLabel} - {subgraphs.suffix && ( - <> + {subgraphs.suffixes.map((suffix) => ( + {' • '} - {subgraphs.suffix.href ? ( - - {subgraphs.suffix.label} + {suffix.href ? ( + + {suffix.label} ) : ( - subgraphs.suffix.label + suffix.label )} - - )} + + ))} ) })()} diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 1e204fa2767e..1a1a89ee879d 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -1,9 +1,34 @@ import { type Network, NetworksRegistry } from '@pinax/graph-networks-registry' -// The registry's `services.subgraphs` array may contain deployment URL strings and/or a -// backstop-support entry (the `backstopSupport` field from the networks-registry). The -// published package still types this as `string[]`, so entries are narrowed at runtime. -type SubgraphsServiceEntry = string | { backstopSupport?: string; description?: string } +// The registry's `services.subgraphs` array may contain bare deployment URL strings and/or +// structured `{ kind, provider, description }` entries, where `kind` is 'gateway', 'studio' or +// 'backstop' (e.g. `{ kind: 'backstop', provider: 'infradao' }`). The legacy +// `{ backstopSupport }` shape is still accepted so older registry versions keep working. The +// published package may still type this as `string[]`, so entries are narrowed at runtime. +type SubgraphsServiceEntry = + | string + | { kind?: 'gateway' | 'studio' | 'backstop'; provider?: string; description?: string; backstopSupport?: string } + +function getSubgraphsEntries(network: Network): SubgraphsServiceEntry[] { + return (network.services.subgraphs ?? []) as SubgraphsServiceEntry[] +} + +// Deployable via Subgraph Studio: a bare Studio deploy URL or a `kind: 'studio'` entry. +function hasStudioSupport(network: Network): boolean { + return getSubgraphsEntries(network).some((entry) => + typeof entry === 'string' + ? entry.includes('studio.thegraph.com') + : entry?.kind === 'studio' || Boolean(entry?.provider?.includes('studio.thegraph.com')), + ) +} + +// Community backstop indexing: a `kind: 'backstop'` entry (or the legacy `backstopSupport` field). +function hasBackstopSupport(network: Network): boolean { + return getSubgraphsEntries(network).some( + (entry) => + typeof entry === 'object' && entry !== null && (entry.kind === 'backstop' || Boolean(entry.backstopSupport)), + ) +} export type SubgraphsTier = 'none' | 'studio' | 'network' | 'rewards' export type SubstreamsTier = 'none' | 'other' | 'base' | 'extended' @@ -12,7 +37,9 @@ export async function getSupportedNetworks() { const registry = await NetworksRegistry.fromLatestVersion() return registry.networks .flatMap((network) => { - const subgraphsTier = getSubgraphsTier(network) + const subgraphsStudio = hasStudioSupport(network) + const subgraphsBackstop = hasBackstopSupport(network) + const subgraphsTier = getSubgraphsTier(network, subgraphsStudio, subgraphsBackstop) const substreamsTier = getSubstreamsTier(network) // Drop networks that would show no chip in either product column. if (subgraphsTier === 'none' && substreamsTier === 'none') { @@ -29,6 +56,8 @@ export async function getSupportedNetworks() { evm: isEvm(network), iconVariant: 'mono' as const, subgraphsTier, + subgraphsStudio, + subgraphsBackstop, substreamsTier, subgraphsSupportLevel, substreamsSupportLevel, @@ -44,19 +73,15 @@ function isEvm(network: Network) { // Subgraphs support has three tiers, in priority order (only the highest one applies): // - 'rewards' -> the network earns indexing rewards (`issuanceRewards: true`) -// - 'network' -> community backstop support (any `backstopSupport` provider entry in +// - 'network' -> community backstop support (a `kind: 'backstop'` entry in // `services.subgraphs`, e.g. InfraDAO or StreamingFast) but no issuance rewards -// - 'studio' -> deployable via Subgraph Studio (a studio deploy URL in -// `services.subgraphs`) but neither of the above -function getSubgraphsTier(network: Network): SubgraphsTier { +// - 'studio' -> deployable via Subgraph Studio (a Studio deploy URL or `kind: 'studio'` entry +// in `services.subgraphs`) but neither of the above +// A bare `kind: 'gateway'` entry on its own does not earn a tier. +function getSubgraphsTier(network: Network, studio: boolean, backstop: boolean): SubgraphsTier { if (network.issuanceRewards) return 'rewards' - const subgraphs = (network.services.subgraphs ?? []) as SubgraphsServiceEntry[] - if (subgraphs.some((entry) => typeof entry === 'object' && Boolean(entry.backstopSupport))) { - return 'network' - } - if (subgraphs.some((entry) => typeof entry === 'string' && entry.includes('studio.thegraph.com'))) { - return 'studio' - } + if (backstop) return 'network' + if (studio) return 'studio' return 'none' } From 8de32d44cb3562ef77e9822af5f1a9e0fd2eb7b7 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 18:31:54 +0000 Subject: [PATCH 13/22] style(supported-networks): adopt GDS tone chips with neutral/blue/green tiers Port the tier chip approach from bsc-polygon-changes-experimental and map tiers to a consistent progression: STUDIO/NON-EVM neutral, COMMUNITY/BASE blue, REWARDS/EXTENDED green. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- .../src/supportedNetworks/NetworksTable.tsx | 49 ++++++++++++++----- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 69c43d1c5f6f..224b8f353631 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -2,6 +2,7 @@ import { useMemo, useState } from 'react' import { ButtonOrLink, + classNames, DottedRingsSpinner, ExperimentalButton, ExperimentalCopyButton, @@ -20,24 +21,46 @@ import { useI18n } from '@/i18n' import { getNetworkSlug } from './slugs' import { type SubgraphsTier, type SubstreamsTier, type SupportedNetwork } from './utils' -// Chip labels and colors per support tier. STUDIO / NON-EVM use white (matching the mono -// network icons); the higher tiers use the brand blue and green. -const SUBGRAPHS_CHIPS: Record, { label: string; color: string }> = { - studio: { label: 'STUDIO', color: '#FFFFFF' }, - network: { label: 'COMMUNITY', color: '#4C9EFF' }, - rewards: { label: 'REWARDS', color: '#4BCA81' }, +// Tier chips use a neutral -> blue -> green progression in both product columns: the entry tier +// is neutral (GDS `space` lavender-gray), the middle tier blue (`astro`) and the top tier green +// (`starfield`). Opacities are balanced per hue, on both the page and hovered row surfaces. +const TIER_CHIP_STYLES = { + neutral: `[--tier-chip-accent:theme(colors.space-500)] + border-space-500/15 bg-space-500/[0.12] data-[treatment=borderless]:bg-space-500/[0.18]`, + blue: `[--tier-chip-accent:theme(colors.astro-400)] + border-astro-300/20 bg-astro-400/[0.19] data-[treatment=borderless]:bg-astro-400/[0.29]`, + green: `[--tier-chip-accent:theme(colors.starfield-400)] + border-starfield-300/10 bg-starfield-400/[0.12] data-[treatment=borderless]:bg-starfield-400/[0.18]`, } -const SUBSTREAMS_CHIPS: Record, { label: string; color: string }> = { - other: { label: 'NON-EVM', color: '#FFFFFF' }, - base: { label: 'BASE', color: '#4C9EFF' }, - extended: { label: 'EXTENDED', color: '#4BCA81' }, + +type TierChipProps = { label: string; tone: keyof typeof TIER_CHIP_STYLES } + +const SUBGRAPHS_CHIPS: Record, TierChipProps> = { + studio: { label: 'STUDIO', tone: 'neutral' }, + network: { label: 'COMMUNITY', tone: 'blue' }, + rewards: { label: 'REWARDS', tone: 'green' }, } +const SUBSTREAMS_CHIPS: Record, TierChipProps> = { + other: { label: 'NON-EVM', tone: 'neutral' }, + base: { label: 'BASE', tone: 'blue' }, + extended: { label: 'EXTENDED', tone: 'green' }, +} + +// Switch to 'borderless' to compare the stronger fill across the table and legend during development. +const TIER_CHIP_TREATMENT: 'subtle-border' | 'borderless' = 'subtle-border' -function TierChip({ label, color }: { label: string; color: string }) { +function TierChip({ label, tone }: TierChipProps) { return ( {label} From 4c9a301b528c076401ff5e802b432cac4d945a0f Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 18:57:35 +0000 Subject: [PATCH 14/22] style(supported-networks): recolor tier chips and reorder Substreams legend Subgraphs: STUDIO neutral, COMMUNITY purple, REWARDS pink. Firehose/Substreams: BASE blue, EXTENDED turquoise, NON-EVM green. List the Substreams legend as Base, Extended, Non-EVM. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- .../src/supportedNetworks/NetworksTable.tsx | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 224b8f353631..501ae15634d3 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -21,14 +21,20 @@ import { useI18n } from '@/i18n' import { getNetworkSlug } from './slugs' import { type SubgraphsTier, type SubstreamsTier, type SupportedNetwork } from './utils' -// Tier chips use a neutral -> blue -> green progression in both product columns: the entry tier -// is neutral (GDS `space` lavender-gray), the middle tier blue (`astro`) and the top tier green -// (`starfield`). Opacities are balanced per hue, on both the page and hovered row surfaces. +// Tier chip tones. GDS calls Galactic Aqua `turquoise` and Nebula Pink `pink`; `space` is its +// lavender-gray scale. Brighter hues use lower opacity so every chip reads with similar weight, +// on both the page and hovered row surfaces. const TIER_CHIP_STYLES = { neutral: `[--tier-chip-accent:theme(colors.space-500)] border-space-500/15 bg-space-500/[0.12] data-[treatment=borderless]:bg-space-500/[0.18]`, + purple: `[--tier-chip-accent:theme(colors.purple-400)] + border-purple-300/20 bg-purple-400/[0.19] data-[treatment=borderless]:bg-purple-400/[0.29]`, + pink: `[--tier-chip-accent:theme(colors.pink)] + border-pink/10 bg-pink/[0.12] data-[treatment=borderless]:bg-pink/[0.18]`, blue: `[--tier-chip-accent:theme(colors.astro-400)] border-astro-300/20 bg-astro-400/[0.19] data-[treatment=borderless]:bg-astro-400/[0.29]`, + turquoise: `[--tier-chip-accent:theme(colors.turquoise)] + border-turquoise/10 bg-turquoise/[0.095] data-[treatment=borderless]:bg-turquoise/[0.12]`, green: `[--tier-chip-accent:theme(colors.starfield-400)] border-starfield-300/10 bg-starfield-400/[0.12] data-[treatment=borderless]:bg-starfield-400/[0.18]`, } @@ -37,13 +43,13 @@ type TierChipProps = { label: string; tone: keyof typeof TIER_CHIP_STYLES } const SUBGRAPHS_CHIPS: Record, TierChipProps> = { studio: { label: 'STUDIO', tone: 'neutral' }, - network: { label: 'COMMUNITY', tone: 'blue' }, - rewards: { label: 'REWARDS', tone: 'green' }, + network: { label: 'COMMUNITY', tone: 'purple' }, + rewards: { label: 'REWARDS', tone: 'pink' }, } const SUBSTREAMS_CHIPS: Record, TierChipProps> = { - other: { label: 'NON-EVM', tone: 'neutral' }, base: { label: 'BASE', tone: 'blue' }, - extended: { label: 'EXTENDED', tone: 'green' }, + extended: { label: 'EXTENDED', tone: 'turquoise' }, + other: { label: 'NON-EVM', tone: 'green' }, } // Switch to 'borderless' to compare the stronger fill across the table and legend during development. @@ -133,10 +139,6 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) {
Firehose/Substreams
-
- - {t('index.supportedNetworks.tableLegend.substreams.other')} -
{t('index.supportedNetworks.tableLegend.substreams.base')} @@ -145,6 +147,10 @@ export function NetworksTable({ networks }: { networks: SupportedNetwork[] }) { {t('index.supportedNetworks.tableLegend.substreams.extended')}
+
+ + {t('index.supportedNetworks.tableLegend.substreams.other')} +
From 3386f59ed38d34c787ec845381c30519dc00cfbb Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 20:29:16 +0000 Subject: [PATCH 15/22] style(supported-networks): remap tier chip colors Subgraphs: STUDIO pink, COMMUNITY blue, REWARDS purple. Firehose/Substreams: BASE neutral, EXTENDED turquoise, NON-EVM green. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/NetworksTable.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 501ae15634d3..e82c36ba609e 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -42,12 +42,12 @@ const TIER_CHIP_STYLES = { type TierChipProps = { label: string; tone: keyof typeof TIER_CHIP_STYLES } const SUBGRAPHS_CHIPS: Record, TierChipProps> = { - studio: { label: 'STUDIO', tone: 'neutral' }, - network: { label: 'COMMUNITY', tone: 'purple' }, - rewards: { label: 'REWARDS', tone: 'pink' }, + studio: { label: 'STUDIO', tone: 'pink' }, + network: { label: 'COMMUNITY', tone: 'blue' }, + rewards: { label: 'REWARDS', tone: 'purple' }, } const SUBSTREAMS_CHIPS: Record, TierChipProps> = { - base: { label: 'BASE', tone: 'blue' }, + base: { label: 'BASE', tone: 'neutral' }, extended: { label: 'EXTENDED', tone: 'turquoise' }, other: { label: 'NON-EVM', tone: 'green' }, } From 49168091a097791d837c538ff2d7bbb23aa2c261 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 20:31:08 +0000 Subject: [PATCH 16/22] style(supported-networks): recolor Substreams tier chips BASE turquoise, EXTENDED green, NON-EVM neutral. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/NetworksTable.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index e82c36ba609e..090c2fd0ff61 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -47,9 +47,9 @@ const SUBGRAPHS_CHIPS: Record, TierChipProps> = { rewards: { label: 'REWARDS', tone: 'purple' }, } const SUBSTREAMS_CHIPS: Record, TierChipProps> = { - base: { label: 'BASE', tone: 'neutral' }, - extended: { label: 'EXTENDED', tone: 'turquoise' }, - other: { label: 'NON-EVM', tone: 'green' }, + base: { label: 'BASE', tone: 'turquoise' }, + extended: { label: 'EXTENDED', tone: 'green' }, + other: { label: 'NON-EVM', tone: 'neutral' }, } // Switch to 'borderless' to compare the stronger fill across the table and legend during development. From 35ba236756a291772000d5e79444742359810b03 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 20:41:01 +0000 Subject: [PATCH 17/22] fix(supported-networks): fall back to branded icon when no mono variant exists Zora's registry icon only lists branded/background variants, so render the branded icon for networks without a mono variant instead of a blank icon. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/utils.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 1a1a89ee879d..a6a73ae5068b 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -54,7 +54,7 @@ export async function getSupportedNetworks() { { ...network, evm: isEvm(network), - iconVariant: 'mono' as const, + iconVariant: getIconVariant(network), subgraphsTier, subgraphsStudio, subgraphsBackstop, @@ -67,6 +67,13 @@ export async function getSupportedNetworks() { .sort((a, b) => a.fullName.localeCompare(b.fullName)) } +// Networks render with mono icons, except those the registry lists without a mono variant +// (`icon.web3Icons.variants`, e.g. Zora), which fall back to their branded icon for now. +function getIconVariant(network: Network): 'mono' | 'branded' { + const variants = network.icon?.web3Icons?.variants + return variants && !variants.includes('mono') && variants.includes('branded') ? 'branded' : 'mono' +} + function isEvm(network: Network) { return network.caip2Id.startsWith('eip155:') } From 19dfd190c93ea317012c51ae09f7670bfa65b4e0 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 20:49:55 +0000 Subject: [PATCH 18/22] docs(supported-networks): drop substreams init step for chains without a template substreams init (streamingfast/substreams-codegen) only ships templates for EVM, Solana blocks, NEAR, Starknet, Stellar, TRON, Injective and Mantra. For Bitcoin, Litecoin, Antelope (Vaulta, Jungle4, WAX, WAX testnet), Beacon Chain (Ethereum, Sepolia, Hoodi, Gnosis) and Solana Accounts (explicitly excluded from the Solana templates), replace the init step with manual manifest setup naming each chain's block type and Buf schema. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/customContent/btc.mdx | 2 +- website/src/supportedNetworks/customContent/eos.mdx | 2 +- website/src/supportedNetworks/customContent/gnosis-cl.mdx | 2 +- website/src/supportedNetworks/customContent/hoodi-cl.mdx | 2 +- website/src/supportedNetworks/customContent/jungle4.mdx | 2 +- website/src/supportedNetworks/customContent/litecoin.mdx | 2 +- website/src/supportedNetworks/customContent/mainnet-cl.mdx | 2 +- website/src/supportedNetworks/customContent/sepolia-cl.mdx | 2 +- website/src/supportedNetworks/customContent/solana-accounts.mdx | 2 +- website/src/supportedNetworks/customContent/wax-testnet.mdx | 2 +- website/src/supportedNetworks/customContent/wax.mdx | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/website/src/supportedNetworks/customContent/btc.mdx b/website/src/supportedNetworks/customContent/btc.mdx index e27c2bef369f..1beed5e3d7f9 100644 --- a/website/src/supportedNetworks/customContent/btc.mdx +++ b/website/src/supportedNetworks/customContent/btc.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for Bitcoin. +2. `substreams init` does not have a template for Bitcoin yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: btc` and a Rust map module that takes `sf.bitcoin.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/streamingfast/firehose-bitcoin)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/eos.mdx b/website/src/supportedNetworks/customContent/eos.mdx index 38af109f4f7e..d0bba39a1f98 100644 --- a/website/src/supportedNetworks/customContent/eos.mdx +++ b/website/src/supportedNetworks/customContent/eos.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for Vaulta. +2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: eos` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/gnosis-cl.mdx b/website/src/supportedNetworks/customContent/gnosis-cl.mdx index 84bb2d050a35..7963630fb998 100644 --- a/website/src/supportedNetworks/customContent/gnosis-cl.mdx +++ b/website/src/supportedNetworks/customContent/gnosis-cl.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: gnosis-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/hoodi-cl.mdx b/website/src/supportedNetworks/customContent/hoodi-cl.mdx index af0e4a269397..b93150208636 100644 --- a/website/src/supportedNetworks/customContent/hoodi-cl.mdx +++ b/website/src/supportedNetworks/customContent/hoodi-cl.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: hoodi-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/jungle4.mdx b/website/src/supportedNetworks/customContent/jungle4.mdx index 21d53a8bd1a4..a3a7304d3a08 100644 --- a/website/src/supportedNetworks/customContent/jungle4.mdx +++ b/website/src/supportedNetworks/customContent/jungle4.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for Vaulta. +2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: jungle4` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/litecoin.mdx b/website/src/supportedNetworks/customContent/litecoin.mdx index fb468684242d..b198d598a0bd 100644 --- a/website/src/supportedNetworks/customContent/litecoin.mdx +++ b/website/src/supportedNetworks/customContent/litecoin.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for Litecoin. +2. `substreams init` does not have a template for Litecoin yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: litecoin` and a Rust map module that takes `sf.bitcoin.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/streamingfast/firehose-bitcoin)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/mainnet-cl.mdx b/website/src/supportedNetworks/customContent/mainnet-cl.mdx index 397c9b0042d0..ae9dc3979f36 100644 --- a/website/src/supportedNetworks/customContent/mainnet-cl.mdx +++ b/website/src/supportedNetworks/customContent/mainnet-cl.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: mainnet-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/sepolia-cl.mdx b/website/src/supportedNetworks/customContent/sepolia-cl.mdx index ef873e2af800..f15c41fd5a30 100644 --- a/website/src/supportedNetworks/customContent/sepolia-cl.mdx +++ b/website/src/supportedNetworks/customContent/sepolia-cl.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for the Beacon Chain. +2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: sepolia-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/solana-accounts.mdx b/website/src/supportedNetworks/customContent/solana-accounts.mdx index 92472223d78a..d16429b9b447 100644 --- a/website/src/supportedNetworks/customContent/solana-accounts.mdx +++ b/website/src/supportedNetworks/customContent/solana-accounts.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and choose the Solana path. +2. `substreams init`'s Solana templates stream Solana blocks, not account blocks, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: solana-accounts` and a Rust map module that takes `sf.solana.type.v1.AccountBlock` as its input (the protobuf definitions are published on [Buf](https://buf.build/streamingfast/firehose-solana)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/wax-testnet.mdx b/website/src/supportedNetworks/customContent/wax-testnet.mdx index d3c8afadd718..db37e0f512aa 100644 --- a/website/src/supportedNetworks/customContent/wax-testnet.mdx +++ b/website/src/supportedNetworks/customContent/wax-testnet.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for WAX. +2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: wax-testnet` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/wax.mdx b/website/src/supportedNetworks/customContent/wax.mdx index c3a584fea45f..05bb6cd8720e 100644 --- a/website/src/supportedNetworks/customContent/wax.mdx +++ b/website/src/supportedNetworks/customContent/wax.mdx @@ -17,6 +17,6 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: 1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). -2. Scaffold a project with `substreams init` and follow the prompts for WAX. +2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: wax` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. From 2bb9a0760e52a4d9a93833861b5dba830a93d4c4 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 21:07:57 +0000 Subject: [PATCH 19/22] docs(supported-networks): list only each network's actual Substreams providers Every network page said Substreams was available "via The Graph Market and Pinax Network". Derive the provider list from each network's services.substreams endpoints in the published registry (streamingfast.io -> The Graph Market, pinax.network -> Pinax Network, data.nexus -> Data Nexus): 27 networks are Pinax-only, 15 The Graph Market-only, 2 Pinax + Data Nexus and 4 have all three. Where The Graph Market is not a provider, point step 1 of the Substreams quick start to Pinax Network for an API key; the EVM Substreams partials take a new keyProvider="pinax" prop for this. Add Data Nexus to the Substreams providers shown in the network details table. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/NetworkDetailsPage.tsx | 3 ++- website/src/supportedNetworks/customContent/README.md | 3 +++ .../src/supportedNetworks/customContent/_substreams-base.mdx | 4 ++-- .../supportedNetworks/customContent/_substreams-extended.mdx | 4 ++-- .../src/supportedNetworks/customContent/arbitrum-sepolia.mdx | 4 ++-- website/src/supportedNetworks/customContent/arc.mdx | 4 ++-- website/src/supportedNetworks/customContent/base-sepolia.mdx | 4 ++-- website/src/supportedNetworks/customContent/blast-mainnet.mdx | 4 ++-- website/src/supportedNetworks/customContent/celo.mdx | 4 ++-- website/src/supportedNetworks/customContent/chapel.mdx | 4 ++-- website/src/supportedNetworks/customContent/eos.mdx | 4 ++-- website/src/supportedNetworks/customContent/gnosis-cl.mdx | 4 ++-- website/src/supportedNetworks/customContent/hoodi-cl.mdx | 4 ++-- website/src/supportedNetworks/customContent/hyper-evm.mdx | 4 ++-- .../supportedNetworks/customContent/injective-evm-testnet.mdx | 2 +- website/src/supportedNetworks/customContent/injective-evm.mdx | 2 +- .../src/supportedNetworks/customContent/injective-mainnet.mdx | 2 +- .../src/supportedNetworks/customContent/injective-testnet.mdx | 2 +- website/src/supportedNetworks/customContent/ink.mdx | 4 ++-- website/src/supportedNetworks/customContent/jungle4.mdx | 4 ++-- website/src/supportedNetworks/customContent/linea-sepolia.mdx | 4 ++-- website/src/supportedNetworks/customContent/linea.mdx | 4 ++-- website/src/supportedNetworks/customContent/litecoin.mdx | 4 ++-- website/src/supportedNetworks/customContent/mainnet-cl.mdx | 4 ++-- website/src/supportedNetworks/customContent/mainnet.mdx | 2 +- website/src/supportedNetworks/customContent/megaeth.mdx | 4 ++-- website/src/supportedNetworks/customContent/monad.mdx | 2 +- website/src/supportedNetworks/customContent/near-mainnet.mdx | 2 +- website/src/supportedNetworks/customContent/near-testnet.mdx | 2 +- .../src/supportedNetworks/customContent/optimism-sepolia.mdx | 4 ++-- website/src/supportedNetworks/customContent/optimism.mdx | 2 +- website/src/supportedNetworks/customContent/polygon-amoy.mdx | 4 ++-- .../src/supportedNetworks/customContent/robinhood-sepolia.mdx | 4 ++-- website/src/supportedNetworks/customContent/robinhood.mdx | 2 +- website/src/supportedNetworks/customContent/sepolia-cl.mdx | 4 ++-- .../src/supportedNetworks/customContent/solana-accounts.mdx | 2 +- .../src/supportedNetworks/customContent/soneium-testnet.mdx | 4 ++-- website/src/supportedNetworks/customContent/soneium.mdx | 4 ++-- .../src/supportedNetworks/customContent/starknet-mainnet.mdx | 2 +- .../src/supportedNetworks/customContent/starknet-testnet.mdx | 2 +- .../src/supportedNetworks/customContent/stellar-testnet.mdx | 2 +- website/src/supportedNetworks/customContent/stellar.mdx | 2 +- website/src/supportedNetworks/customContent/tempo.mdx | 4 ++-- website/src/supportedNetworks/customContent/tron-evm.mdx | 2 +- website/src/supportedNetworks/customContent/tron.mdx | 2 +- .../src/supportedNetworks/customContent/unichain-testnet.mdx | 4 ++-- website/src/supportedNetworks/customContent/unichain.mdx | 2 +- website/src/supportedNetworks/customContent/wax-testnet.mdx | 4 ++-- website/src/supportedNetworks/customContent/wax.mdx | 4 ++-- website/src/supportedNetworks/customContent/worldchain.mdx | 2 +- .../src/supportedNetworks/customContent/xlayer-mainnet.mdx | 4 ++-- website/src/supportedNetworks/customContent/zora.mdx | 4 ++-- 52 files changed, 86 insertions(+), 82 deletions(-) diff --git a/website/src/supportedNetworks/NetworkDetailsPage.tsx b/website/src/supportedNetworks/NetworkDetailsPage.tsx index 21f28bd14256..3d9477693e83 100644 --- a/website/src/supportedNetworks/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/NetworkDetailsPage.tsx @@ -36,13 +36,14 @@ const SUBSTREAMS_MODEL_LABEL: Record, string> = const SUBSTREAMS_PROVIDERS: { match: string; name: string; href: string }[] = [ { match: 'streamingfast.io', name: 'The Graph Market', href: 'https://thegraph.market/' }, { match: 'pinax.network', name: 'Pinax Network', href: 'https://pinax.network/' }, + { match: 'data.nexus', name: 'Data Nexus', href: 'https://data.nexus/' }, ] export default function NetworkDetailsPage({ network }: { network: SupportedNetwork }) { const { t } = useI18n() const CustomContent = customNetworkContent[network.id] // Providers listed under `services.substreams` in the networks registry, kept in a stable - // brand-preferred order (The Graph Market first, then Pinax Network). + // brand-preferred order (The Graph Market, then Pinax Network, then Data Nexus). const substreamsProviders = SUBSTREAMS_PROVIDERS.filter((provider) => (network.services.substreams ?? []).some((url) => url.includes(provider.match)), ) diff --git a/website/src/supportedNetworks/customContent/README.md b/website/src/supportedNetworks/customContent/README.md index d87ba550fb09..eef6e9a086f7 100644 --- a/website/src/supportedNetworks/customContent/README.md +++ b/website/src/supportedNetworks/customContent/README.md @@ -53,5 +53,8 @@ Props: - `chainName` (required) — short name used throughout the body copy (e.g. `BSC`). - `title` (optional) — heading display name; defaults to `chainName` (e.g. `BNB Smart Chain` when `chainName` is `BSC`). +- `keyProvider` (optional) — set to `"pinax"` when the network has no The Graph Market Substreams endpoint, so step 1 sends readers to [Pinax Network](https://app.pinax.network/) for an API key instead of thegraph.market. + +The provider sentence on each network page ("… via [The Graph Market] and [Pinax Network]") should list only the providers in that network's `services.substreams` entries in the registry: `streamingfast.io` → The Graph Market, `pinax.network` → Pinax Network, `data.nexus` → Data Nexus. Non-EVM networks (Solana, Bitcoin, Injective, Stellar, etc.) use bespoke Substreams wording and keep their section inline rather than using these blocks. diff --git a/website/src/supportedNetworks/customContent/_substreams-base.mdx b/website/src/supportedNetworks/customContent/_substreams-base.mdx index 7ff232aa34a9..93dfe6224e24 100644 --- a/website/src/supportedNetworks/customContent/_substreams-base.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-base.mdx @@ -1,6 +1,6 @@ {/* Reusable Substreams section for EVM networks served with the BASE EVM block model (block, transaction, and event/log data). -Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. */} +Props: - chainName (required): short name used in the body copy, e.g. "Blast", "MegaETH". - title (optional): heading display name; defaults to chainName. - keyProvider (optional): set to "pinax" when the network has no The Graph Market endpoint, so step 1 points to Pinax Network for the API key. */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] @@ -14,7 +14,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and {props?.keyProvider === 'pinax' ? <>get an API key from [Pinax Network](https://app.pinax.network/) : <>get a key at [thegraph.market](https://thegraph.market/) (no personal information required)}. 2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your {props?.chainName} contract. 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/_substreams-extended.mdx b/website/src/supportedNetworks/customContent/_substreams-extended.mdx index e65e5bf5cd38..2bbdfad14bc9 100644 --- a/website/src/supportedNetworks/customContent/_substreams-extended.mdx +++ b/website/src/supportedNetworks/customContent/_substreams-extended.mdx @@ -1,6 +1,6 @@ {/* Reusable Substreams section for EVM networks served with the EXTENDED EVM block model (full transaction, call, and event data). -Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). */} +Props: - chainName (required): short name used in the body copy, e.g. "BSC", "Polygon". - title (optional): heading display name; defaults to chainName (e.g. "BNB Smart Chain" when chainName is "BSC"). - keyProvider (optional): set to "pinax" when the network has no The Graph Market endpoint, so step 1 points to Pinax Network for the API key. */} ### Indexing {props?.title ?? props?.chainName} with Substreams [#indexing-with-substreams] @@ -14,7 +14,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and {props?.keyProvider === 'pinax' ? <>get an API key from [Pinax Network](https://app.pinax.network/) : <>get a key at [thegraph.market](https://thegraph.market/) (no personal information required)}. 2. Scaffold a project with `substreams init` and choose the EVM path, pointing it at your {props?.chainName} contract. 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx index 266947bf092f..227f30303807 100644 --- a/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/arbitrum-sepolia.mdx @@ -8,7 +8,7 @@ Arbitrum Sepolia Testnet is the primary public test network for Arbitrum One, th Arbitrum Sepolia Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/arc.mdx b/website/src/supportedNetworks/customContent/arc.mdx index 6853a9662fa5..d5869613955e 100644 --- a/website/src/supportedNetworks/customContent/arc.mdx +++ b/website/src/supportedNetworks/customContent/arc.mdx @@ -8,8 +8,8 @@ Arc is an EVM-compatible Layer 1 built by Circle for stablecoin finance, using U Arc is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/base-sepolia.mdx b/website/src/supportedNetworks/customContent/base-sepolia.mdx index 39c26e79b7d9..ba42c7d4e929 100644 --- a/website/src/supportedNetworks/customContent/base-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/base-sepolia.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Base Sepolia Testnet is the primary public test network for Base, Coinbase's OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Base Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Base Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/blast-mainnet.mdx b/website/src/supportedNetworks/customContent/blast-mainnet.mdx index 07b5d1618f1f..27d5f97836ed 100644 --- a/website/src/supportedNetworks/customContent/blast-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/blast-mainnet.mdx @@ -4,6 +4,6 @@ import SubstreamsBase from './_substreams-base.mdx' Blast is an Ethereum Layer 2 built on the OP Stack that offers native yield on ETH and stablecoins for its DeFi and dApp ecosystem. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Blast is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Blast is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/celo.mdx b/website/src/supportedNetworks/customContent/celo.mdx index bb95af292bb3..9a6544051ce4 100644 --- a/website/src/supportedNetworks/customContent/celo.mdx +++ b/website/src/supportedNetworks/customContent/celo.mdx @@ -8,7 +8,7 @@ Celo is an Ethereum Layer 2 (formerly a standalone Layer 1) focused on mobile-fi Celo is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/chapel.mdx b/website/src/supportedNetworks/customContent/chapel.mdx index 865fd788f118..1f88cd278b58 100644 --- a/website/src/supportedNetworks/customContent/chapel.mdx +++ b/website/src/supportedNetworks/customContent/chapel.mdx @@ -8,7 +8,7 @@ BNB Smart Chain Chapel Testnet is the public test network for BNB Smart Chain, t BNB Smart Chain Chapel Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/eos.mdx b/website/src/supportedNetworks/customContent/eos.mdx index d0bba39a1f98..a1aa661eb4d5 100644 --- a/website/src/supportedNetworks/customContent/eos.mdx +++ b/website/src/supportedNetworks/customContent/eos.mdx @@ -2,7 +2,7 @@ Vaulta (formerly EOS) is a high-performance Antelope-based Layer 1, repositioned around Web3 banking and financial applications. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. -Vaulta is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Vaulta is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Vaulta with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: eos` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/gnosis-cl.mdx b/website/src/supportedNetworks/customContent/gnosis-cl.mdx index 7963630fb998..89308847e52f 100644 --- a/website/src/supportedNetworks/customContent/gnosis-cl.mdx +++ b/website/src/supportedNetworks/customContent/gnosis-cl.mdx @@ -2,7 +2,7 @@ Gnosis Chain is an Ethereum-compatible network secured by its own proof-of-stake validator set, and the Gnosis Beacon Chain is its consensus layer. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. -Gnosis Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Gnosis Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Gnosis Beacon Chain with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: gnosis-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/hoodi-cl.mdx b/website/src/supportedNetworks/customContent/hoodi-cl.mdx index b93150208636..20f64c5730fd 100644 --- a/website/src/supportedNetworks/customContent/hoodi-cl.mdx +++ b/website/src/supportedNetworks/customContent/hoodi-cl.mdx @@ -2,7 +2,7 @@ Hoodi is an Ethereum proof-of-stake testnet, and its Beacon Chain is the consensus layer that coordinates validators on the test network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. -Hoodi Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Hoodi Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Hoodi Beacon Chain with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: hoodi-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/hyper-evm.mdx b/website/src/supportedNetworks/customContent/hyper-evm.mdx index e18df563266d..28e1f6c8a815 100644 --- a/website/src/supportedNetworks/customContent/hyper-evm.mdx +++ b/website/src/supportedNetworks/customContent/hyper-evm.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' HyperEVM is the general-purpose EVM layer of Hyperliquid, the high-performance L1 best known for its onchain perpetuals exchange. It brings EVM smart contracts to the Hyperliquid ecosystem, with native token HYPE and tight integration with HyperCore, Hyperliquid's order-book and perps layer. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -HyperEVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +HyperEVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx b/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx index 3c5dffb34d87..b7855998b520 100644 --- a/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx +++ b/website/src/supportedNetworks/customContent/injective-evm-testnet.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Injective EVM Testnet is the public test network for Injective's EVM environment, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Injective EVM Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Injective EVM Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). diff --git a/website/src/supportedNetworks/customContent/injective-evm.mdx b/website/src/supportedNetworks/customContent/injective-evm.mdx index e0802b83f101..3912e72a5927 100644 --- a/website/src/supportedNetworks/customContent/injective-evm.mdx +++ b/website/src/supportedNetworks/customContent/injective-evm.mdx @@ -8,7 +8,7 @@ Injective EVM is the EVM environment of Injective, a Layer 1 blockchain optimize Injective EVM is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/). + diff --git a/website/src/supportedNetworks/customContent/jungle4.mdx b/website/src/supportedNetworks/customContent/jungle4.mdx index a3a7304d3a08..aeef3cc78693 100644 --- a/website/src/supportedNetworks/customContent/jungle4.mdx +++ b/website/src/supportedNetworks/customContent/jungle4.mdx @@ -2,7 +2,7 @@ Vaulta Jungle4 Testnet is a public test network for Vaulta (formerly EOS), an Antelope-based Layer 1, where teams deploy and validate contracts and applications before mainnet. The Graph can stream that onchain activity — transactions and actions, token transfers and balances, and smart-contract activity — as real-time data with Substreams. -Vaulta Jungle4 Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Vaulta Jungle4 Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Vaulta Jungle4 Testnet with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for Antelope chains yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: jungle4` and a Rust map module that takes `sf.antelope.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-antelope)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/linea-sepolia.mdx b/website/src/supportedNetworks/customContent/linea-sepolia.mdx index 652fe24f7b2d..cebda3d60888 100644 --- a/website/src/supportedNetworks/customContent/linea-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/linea-sepolia.mdx @@ -8,7 +8,7 @@ Linea Sepolia Testnet is the public test network for Linea, the Consensys zkEVM Linea Sepolia Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/linea.mdx b/website/src/supportedNetworks/customContent/linea.mdx index f065856d8bf1..02947d756d13 100644 --- a/website/src/supportedNetworks/customContent/linea.mdx +++ b/website/src/supportedNetworks/customContent/linea.mdx @@ -8,7 +8,7 @@ Linea is an Ethereum Layer 2 zkEVM rollup developed by Consensys, combining full Linea is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/litecoin.mdx b/website/src/supportedNetworks/customContent/litecoin.mdx index b198d598a0bd..2ee04f1dd734 100644 --- a/website/src/supportedNetworks/customContent/litecoin.mdx +++ b/website/src/supportedNetworks/customContent/litecoin.mdx @@ -2,7 +2,7 @@ Litecoin is a long-running proof-of-work blockchain and one of the earliest peer-to-peer digital currencies, securing the LTC asset. The Graph can stream that onchain activity — blocks and transactions, inputs and outputs, and address activity — as real-time data with Substreams. -Litecoin is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Litecoin is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Litecoin with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for Litecoin yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: litecoin` and a Rust map module that takes `sf.bitcoin.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/streamingfast/firehose-bitcoin)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/mainnet-cl.mdx b/website/src/supportedNetworks/customContent/mainnet-cl.mdx index ae9dc3979f36..de0330debb4e 100644 --- a/website/src/supportedNetworks/customContent/mainnet-cl.mdx +++ b/website/src/supportedNetworks/customContent/mainnet-cl.mdx @@ -2,7 +2,7 @@ The Ethereum Beacon Chain is Ethereum's consensus layer, coordinating the proof-of-stake validators that secure the network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. -Ethereum Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Ethereum Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Ethereum Beacon Chain with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: mainnet-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/mainnet.mdx b/website/src/supportedNetworks/customContent/mainnet.mdx index 0c0a10ad7e05..e3571d1ffcbb 100644 --- a/website/src/supportedNetworks/customContent/mainnet.mdx +++ b/website/src/supportedNetworks/customContent/mainnet.mdx @@ -8,7 +8,7 @@ Ethereum is the original programmable, EVM Layer 1 and the largest smart-contrac Ethereum is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/), [Pinax Network](https://app.pinax.network/docs?from=nav), and [Data Nexus](https://data.nexus/). + diff --git a/website/src/supportedNetworks/customContent/monad.mdx b/website/src/supportedNetworks/customContent/monad.mdx index 017838b9db22..4ab01cef2227 100644 --- a/website/src/supportedNetworks/customContent/monad.mdx +++ b/website/src/supportedNetworks/customContent/monad.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Monad is a high-performance, EVM-compatible Layer 1 that uses parallel execution to reach high throughput while staying fully compatible with Ethereum tooling. Its native token is MON. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Monad is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Monad is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). diff --git a/website/src/supportedNetworks/customContent/near-mainnet.mdx b/website/src/supportedNetworks/customContent/near-mainnet.mdx index cec9e4e592bb..42588047148e 100644 --- a/website/src/supportedNetworks/customContent/near-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/near-mainnet.mdx @@ -2,7 +2,7 @@ NEAR is a high-performance, sharded Layer 1 blockchain with a human-readable account model and Nightshade consensus, designed for scalable consumer and AI applications, with NEAR as its native token. The Graph can stream that onchain activity — blocks, transactions, and receipts; token transfers and balances; and smart-contract activity — as real-time data with Substreams. -NEAR is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +NEAR is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing NEAR with Substreams diff --git a/website/src/supportedNetworks/customContent/near-testnet.mdx b/website/src/supportedNetworks/customContent/near-testnet.mdx index a91a6ee4c4e8..62e72870d3c2 100644 --- a/website/src/supportedNetworks/customContent/near-testnet.mdx +++ b/website/src/supportedNetworks/customContent/near-testnet.mdx @@ -2,7 +2,7 @@ NEAR Testnet is the public test network for NEAR, a sharded Layer 1 with a human-readable account model, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — blocks, transactions, and receipts; token transfers and balances; and smart-contract activity — as real-time data with Substreams. -NEAR Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +NEAR Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing NEAR Testnet with Substreams diff --git a/website/src/supportedNetworks/customContent/optimism-sepolia.mdx b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx index 82a7d273bb0c..9580087005a4 100644 --- a/website/src/supportedNetworks/customContent/optimism-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/optimism-sepolia.mdx @@ -8,7 +8,7 @@ OP Sepolia Testnet is the public test network for Optimism (OP Mainnet), the OP OP Sepolia Testnet is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/optimism.mdx b/website/src/supportedNetworks/customContent/optimism.mdx index 4adc33c1af99..c37fde0ef3ff 100644 --- a/website/src/supportedNetworks/customContent/optimism.mdx +++ b/website/src/supportedNetworks/customContent/optimism.mdx @@ -8,7 +8,7 @@ Optimism (OP Mainnet) is an Ethereum Layer 2 built on the OP Stack and the flags Optimism is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/), [Pinax Network](https://app.pinax.network/docs?from=nav), and [Data Nexus](https://data.nexus/). - + diff --git a/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx b/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx index 16cda7268921..724225d2182a 100644 --- a/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx +++ b/website/src/supportedNetworks/customContent/robinhood-sepolia.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Robinhood Chain Testnet is the public test network for Robinhood Chain, an Arbitrum-based Ethereum Layer 2 for tokenized real-world assets, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Robinhood Chain Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Robinhood Chain Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/robinhood.mdx b/website/src/supportedNetworks/customContent/robinhood.mdx index 859627b2e371..ecd1dd832c6d 100644 --- a/website/src/supportedNetworks/customContent/robinhood.mdx +++ b/website/src/supportedNetworks/customContent/robinhood.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Robinhood Chain is an Ethereum Layer 2 built on Arbitrum technology, created by Robinhood to bring tokenized real-world assets — including tokenized stocks — onchain. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Robinhood Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Robinhood Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/), [Pinax Network](https://app.pinax.network/docs?from=nav), and [Data Nexus](https://data.nexus/). diff --git a/website/src/supportedNetworks/customContent/sepolia-cl.mdx b/website/src/supportedNetworks/customContent/sepolia-cl.mdx index f15c41fd5a30..92e6be621d0e 100644 --- a/website/src/supportedNetworks/customContent/sepolia-cl.mdx +++ b/website/src/supportedNetworks/customContent/sepolia-cl.mdx @@ -2,7 +2,7 @@ Sepolia is a widely used Ethereum testnet, and its Beacon Chain is the consensus layer that coordinates validators on the test network. The Graph can stream that consensus-layer activity — blocks and epochs, validator activity, attestations, deposits, and slashings — as real-time data with Substreams. -Sepolia Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Sepolia Beacon Chain is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). ### Indexing Sepolia Beacon Chain with Substreams @@ -16,7 +16,7 @@ Before writing any code, check the [Substreams Registry](https://substreams.dev/ If no existing module fits, you can build one. The [Substreams Quick Start](/substreams/overview/) is the full walkthrough. In short: -1. Install the Substreams CLI and get a key at [thegraph.market](https://thegraph.market/) (no personal information required). +1. Install the Substreams CLI and get an API key from [Pinax Network](https://app.pinax.network/). 2. `substreams init` does not have a template for the Beacon Chain yet, so set up the project by hand: write a [`substreams.yaml` manifest](https://docs.substreams.dev/reference-material/manifest-and-components/manifests) with `network: sepolia-cl` and a Rust map module that takes `sf.beacon.type.v1.Block` as its input (the protobuf definitions are published on [Buf](https://buf.build/pinax/firehose-beacon)). 3. Write your extraction and transformation logic in Rust, then run `substreams build`. 4. Stream the output with `substreams gui` (or `substreams run`) to iterate, then publish your package to the [Substreams Registry](https://substreams.dev/) to reuse or share it. diff --git a/website/src/supportedNetworks/customContent/solana-accounts.mdx b/website/src/supportedNetworks/customContent/solana-accounts.mdx index d16429b9b447..b96192b4c07c 100644 --- a/website/src/supportedNetworks/customContent/solana-accounts.mdx +++ b/website/src/supportedNetworks/customContent/solana-accounts.mdx @@ -2,7 +2,7 @@ Solana Accounts is a Substreams data source for Solana that streams account state changes — how program, token, and other accounts are created and updated over time — rather than transactions or instructions. The Graph can stream that onchain activity — account creations and updates, token account and balance changes, and program-owned account state — as real-time data with Substreams. -Solana Accounts is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Solana Accounts is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing Solana Accounts with Substreams diff --git a/website/src/supportedNetworks/customContent/soneium-testnet.mdx b/website/src/supportedNetworks/customContent/soneium-testnet.mdx index 8eac0c3c294b..b317dc1b2f53 100644 --- a/website/src/supportedNetworks/customContent/soneium-testnet.mdx +++ b/website/src/supportedNetworks/customContent/soneium-testnet.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Soneium Minato Testnet is the public test network for Soneium, Sony's OP Stack Ethereum Layer 2, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Soneium Minato Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Soneium Minato Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/soneium.mdx b/website/src/supportedNetworks/customContent/soneium.mdx index daaba2360f1a..8e3c865382bb 100644 --- a/website/src/supportedNetworks/customContent/soneium.mdx +++ b/website/src/supportedNetworks/customContent/soneium.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Soneium is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, developed by Sony Block Solutions Labs to bring creators, entertainment, and consumer apps onchain. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Soneium is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Soneium is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav) and [Data Nexus](https://data.nexus/). - + diff --git a/website/src/supportedNetworks/customContent/starknet-mainnet.mdx b/website/src/supportedNetworks/customContent/starknet-mainnet.mdx index b3e02d4586ae..df2bf7cb986f 100644 --- a/website/src/supportedNetworks/customContent/starknet-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/starknet-mainnet.mdx @@ -2,7 +2,7 @@ Starknet is an Ethereum Layer 2 validity rollup powered by STARK proofs, using the Cairo programming model for scalable, low-cost execution. The Graph can stream that onchain activity — transactions, DEX swaps, token transfers and balances, and contract events — as real-time data with Substreams. -Starknet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Starknet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing Starknet with Substreams diff --git a/website/src/supportedNetworks/customContent/starknet-testnet.mdx b/website/src/supportedNetworks/customContent/starknet-testnet.mdx index 59f18fcd5a3b..4e70d0b26c4d 100644 --- a/website/src/supportedNetworks/customContent/starknet-testnet.mdx +++ b/website/src/supportedNetworks/customContent/starknet-testnet.mdx @@ -2,7 +2,7 @@ Starknet Sepolia Testnet is the public test network for Starknet, an Ethereum Layer 2 validity rollup powered by STARK proofs and the Cairo programming model, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — transactions, DEX swaps, token transfers and balances, and contract events — as real-time data with Substreams. -Starknet Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Starknet Sepolia Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing Starknet Sepolia Testnet with Substreams diff --git a/website/src/supportedNetworks/customContent/stellar-testnet.mdx b/website/src/supportedNetworks/customContent/stellar-testnet.mdx index b1d9d0eb9db3..efc9317e1981 100644 --- a/website/src/supportedNetworks/customContent/stellar-testnet.mdx +++ b/website/src/supportedNetworks/customContent/stellar-testnet.mdx @@ -2,7 +2,7 @@ Stellar Testnet is the public test network for Stellar, a Layer 1 built for payments and asset issuance, where teams deploy and validate contracts before mainnet. The Graph can stream that onchain activity — payments and transactions, asset transfers and balances, DEX trades, and ledger changes — as real-time data with Substreams. -Stellar Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Stellar Testnet is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing Stellar Testnet with Substreams diff --git a/website/src/supportedNetworks/customContent/stellar.mdx b/website/src/supportedNetworks/customContent/stellar.mdx index ec3ce6c906ce..7bd9a684e68a 100644 --- a/website/src/supportedNetworks/customContent/stellar.mdx +++ b/website/src/supportedNetworks/customContent/stellar.mdx @@ -2,7 +2,7 @@ Stellar is a Layer 1 blockchain built for payments and asset issuance, with fast settlement and low fees. The Graph can stream that onchain activity — payments and transactions, asset transfers and balances, DEX trades, and ledger changes — as real-time data with Substreams. -Stellar is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Stellar is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing Stellar with Substreams diff --git a/website/src/supportedNetworks/customContent/tempo.mdx b/website/src/supportedNetworks/customContent/tempo.mdx index c2fe33df5e7c..e23a860fa542 100644 --- a/website/src/supportedNetworks/customContent/tempo.mdx +++ b/website/src/supportedNetworks/customContent/tempo.mdx @@ -8,7 +8,7 @@ Tempo is an EVM-compatible Layer 1 built by Stripe and Paradigm for stablecoin p Tempo is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/tron-evm.mdx b/website/src/supportedNetworks/customContent/tron-evm.mdx index 2e137e633735..68b5c082187a 100644 --- a/website/src/supportedNetworks/customContent/tron-evm.mdx +++ b/website/src/supportedNetworks/customContent/tron-evm.mdx @@ -4,6 +4,6 @@ import SubstreamsBase from './_substreams-base.mdx' TRON EVM is the EVM-compatible environment on TRON, a high-throughput Layer 1 widely used for stablecoin transfers and payments. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -TRON EVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +TRON EVM is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). diff --git a/website/src/supportedNetworks/customContent/tron.mdx b/website/src/supportedNetworks/customContent/tron.mdx index 6634a22b6dc0..5f63def8d71b 100644 --- a/website/src/supportedNetworks/customContent/tron.mdx +++ b/website/src/supportedNetworks/customContent/tron.mdx @@ -2,7 +2,7 @@ TRON is a high-throughput Layer 1 widely used for stablecoin transfers and payments, with a large DeFi and token ecosystem. The Graph can stream that onchain activity — transactions, stablecoin and token transfers, DEX swaps, and contract events — as real-time data with Substreams. -TRON is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +TRON is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/). ### Indexing TRON with Substreams diff --git a/website/src/supportedNetworks/customContent/unichain-testnet.mdx b/website/src/supportedNetworks/customContent/unichain-testnet.mdx index 8ab4c1d5c5c8..b06eac5c090c 100644 --- a/website/src/supportedNetworks/customContent/unichain-testnet.mdx +++ b/website/src/supportedNetworks/customContent/unichain-testnet.mdx @@ -8,7 +8,7 @@ Unichain Sepolia Testnet is the public test network for Unichain, Uniswap's OP S Unichain Sepolia Testnet is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/unichain.mdx b/website/src/supportedNetworks/customContent/unichain.mdx index a3e7febfd897..910071f5d856 100644 --- a/website/src/supportedNetworks/customContent/unichain.mdx +++ b/website/src/supportedNetworks/customContent/unichain.mdx @@ -8,7 +8,7 @@ Unichain is an Ethereum Layer 2 built on the OP Stack by Uniswap Labs, optimized Unichain is supported by The Graph in two ways: - You can [publish Subgraphs](/subgraphs/developing/deploying-publishing/publishing-a-subgraph/) to The Graph Network — where Indexers sync and serve data while consumers manage their service in [Subgraph Studio](/subgraphs/providers/subgraph-studio/introduction/). -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/), [Pinax Network](https://app.pinax.network/docs?from=nav), and [Data Nexus](https://data.nexus/). diff --git a/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx index bff41cfbd0d3..2d7c861fb948 100644 --- a/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx +++ b/website/src/supportedNetworks/customContent/xlayer-mainnet.mdx @@ -8,7 +8,7 @@ X Layer is an Ethereum Layer 2 zkEVM built by OKX on the Polygon CDK, connecting X Layer is supported by The Graph in two ways: - You can [develop and publish Subgraphs](/subgraphs/developing/deploying-publishing/using-subgraph-studio/) in Subgraph Studio — publishing is enabled, though guaranteed indexing via The Graph Network is not yet available. -- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +- You can also [consume Substreams](/substreams/quick-start/) — a real-time streaming engine for high-throughput use cases via [Pinax Network](https://app.pinax.network/docs?from=nav). - + diff --git a/website/src/supportedNetworks/customContent/zora.mdx b/website/src/supportedNetworks/customContent/zora.mdx index 000301b7ba93..68e860654cfe 100644 --- a/website/src/supportedNetworks/customContent/zora.mdx +++ b/website/src/supportedNetworks/customContent/zora.mdx @@ -4,6 +4,6 @@ import SubstreamsExtended from './_substreams-extended.mdx' Zora is an Ethereum Layer 2 built on the OP Stack and part of the Optimism Superchain, focused on the onchain creator economy — NFTs, creator coins, and media. The Graph can stream that onchain activity — DEX swaps, pools, and liquidity; lending and borrowing positions; token transfers and holder balances; and contract events — as real-time data with Substreams. -Zora is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [The Graph Market](https://thegraph.market/) and [Pinax Network](https://app.pinax.network/docs?from=nav). +Zora is supported by The Graph with Substreams — a parallelized, real-time streaming engine for high-throughput use cases — via [Pinax Network](https://app.pinax.network/docs?from=nav) and [Data Nexus](https://data.nexus/). - + From 997801e7fa3005f9caeecd9820293e71a866802a Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 21:21:45 +0000 Subject: [PATCH 20/22] fix(supported-networks): drop unnecessary optional chains flagged by eslint Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/utils.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index a6a73ae5068b..4f2d2d0c24fd 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -18,15 +18,14 @@ function hasStudioSupport(network: Network): boolean { return getSubgraphsEntries(network).some((entry) => typeof entry === 'string' ? entry.includes('studio.thegraph.com') - : entry?.kind === 'studio' || Boolean(entry?.provider?.includes('studio.thegraph.com')), + : entry.kind === 'studio' || Boolean(entry.provider?.includes('studio.thegraph.com')), ) } // Community backstop indexing: a `kind: 'backstop'` entry (or the legacy `backstopSupport` field). function hasBackstopSupport(network: Network): boolean { return getSubgraphsEntries(network).some( - (entry) => - typeof entry === 'object' && entry !== null && (entry.kind === 'backstop' || Boolean(entry.backstopSupport)), + (entry) => typeof entry !== 'string' && (entry.kind === 'backstop' || Boolean(entry.backstopSupport)), ) } From a05a84c5372e0dbc51167c71fca2d77f8f5c619a Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 21:39:32 +0000 Subject: [PATCH 21/22] style(supported-networks): recolor Subgraphs tier chips STUDIO blue, COMMUNITY purple, REWARDS pink. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/NetworksTable.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/supportedNetworks/NetworksTable.tsx b/website/src/supportedNetworks/NetworksTable.tsx index 090c2fd0ff61..bbe87f59962c 100644 --- a/website/src/supportedNetworks/NetworksTable.tsx +++ b/website/src/supportedNetworks/NetworksTable.tsx @@ -42,9 +42,9 @@ const TIER_CHIP_STYLES = { type TierChipProps = { label: string; tone: keyof typeof TIER_CHIP_STYLES } const SUBGRAPHS_CHIPS: Record, TierChipProps> = { - studio: { label: 'STUDIO', tone: 'pink' }, - network: { label: 'COMMUNITY', tone: 'blue' }, - rewards: { label: 'REWARDS', tone: 'purple' }, + studio: { label: 'STUDIO', tone: 'blue' }, + network: { label: 'COMMUNITY', tone: 'purple' }, + rewards: { label: 'REWARDS', tone: 'pink' }, } const SUBSTREAMS_CHIPS: Record, TierChipProps> = { base: { label: 'BASE', tone: 'turquoise' }, From f36b010ad0ec158b61c27e40a1c1e6ad1cc08549 Mon Sep 17 00:00:00 2001 From: Brandon Kramer Date: Tue, 22 Sep 2026 22:38:20 +0000 Subject: [PATCH 22/22] feat(supported-networks): read networks registry v0.8.x directly @pinax/graph-networks-registry (latest 0.7.1) only fetches the registry's v0.7.x feed, which strips the structured services.subgraphs entries (gateway/studio/backstop) added in registry v0.8.0 - so backstop networks (Anubis, Boba, Fraxtal, Fuse, Injective EVM, Rootstock and testnets) lost their COMMUNITY chip and mostly dropped off the table. Fetch TheGraphNetworksRegistry_v0_8_x.json from networks-registry.thegraph.com (GitHub raw fallback, as the library does) and type services.subgraphs with the v0.8 entry shape. v0.8.2 is otherwise identical to v0.7.125. The library stays installed for its types (Network, NetworkType). Verified against the live feed: 99 networks shown; Subgraphs chips 40 STUDIO, 9 COMMUNITY, 20 REWARDS. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01MrpkZXxp795okFZcXgW1B4 --- website/src/supportedNetworks/utils.ts | 50 +++++++++++++++++++++----- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/website/src/supportedNetworks/utils.ts b/website/src/supportedNetworks/utils.ts index 4f2d2d0c24fd..39e4b0a5f2fc 100644 --- a/website/src/supportedNetworks/utils.ts +++ b/website/src/supportedNetworks/utils.ts @@ -1,16 +1,48 @@ -import { type Network, NetworksRegistry } from '@pinax/graph-networks-registry' +import { type Network as PinaxNetwork } from '@pinax/graph-networks-registry' -// The registry's `services.subgraphs` array may contain bare deployment URL strings and/or -// structured `{ kind, provider, description }` entries, where `kind` is 'gateway', 'studio' or -// 'backstop' (e.g. `{ kind: 'backstop', provider: 'infradao' }`). The legacy -// `{ backstopSupport }` shape is still accepted so older registry versions keep working. The -// published package may still type this as `string[]`, so entries are narrowed at runtime. +// The networks registry is read straight from its published v0.8.x JSON rather than through +// `@pinax/graph-networks-registry`. That library (latest 0.7.1) only fetches the v0.7.x feed, +// which strips the structured `services.subgraphs` entries (gateway/studio/backstop) that the +// Subgraphs tiers below depend on, and its parser types `subgraphs` as `string[]`. +// The v0.8.x file is otherwise identical to v0.7.x. When a registry v0.9 ships, update these +// URLs, or switch back to the library once a matching version is published. +const REGISTRY_URLS = [ + 'https://networks-registry.thegraph.com/TheGraphNetworksRegistry_v0_8_x.json', + // Same file on GitHub, used if the primary host is unreachable (mirrors the library's fallback). + 'https://raw.githubusercontent.com/graphprotocol/networks-registry/refs/heads/main/public/TheGraphNetworksRegistry_v0_8_x.json', +] + +// v0.8 `services.subgraphs` entries: bare deployment URL strings and/or structured +// `{ kind, provider, description }` entries, where `kind` is 'gateway', 'studio' or 'backstop' +// (e.g. `{ kind: 'backstop', provider: 'infradao' }`). The legacy `{ backstopSupport }` shape +// is still accepted. type SubgraphsServiceEntry = | string | { kind?: 'gateway' | 'studio' | 'backstop'; provider?: string; description?: string; backstopSupport?: string } +// The library's `Network` type, with `services.subgraphs` widened to the v0.8 entry shape. +type Network = Omit & { + services: Omit & { subgraphs?: SubgraphsServiceEntry[] } +} + +async function fetchRegistryNetworks(): Promise { + const errors: string[] = [] + for (const url of REGISTRY_URLS) { + try { + const response = await fetch(url) + if (!response.ok) throw new Error(`HTTP ${response.status}`) + const registry = (await response.json()) as { networks?: Network[] } + if (!Array.isArray(registry.networks)) throw new Error('missing `networks` array') + return registry.networks + } catch (error) { + errors.push(`${url}: ${error instanceof Error ? error.message : String(error)}`) + } + } + throw new Error(`Failed to fetch the networks registry:\n${errors.join('\n')}`) +} + function getSubgraphsEntries(network: Network): SubgraphsServiceEntry[] { - return (network.services.subgraphs ?? []) as SubgraphsServiceEntry[] + return network.services.subgraphs ?? [] } // Deployable via Subgraph Studio: a bare Studio deploy URL or a `kind: 'studio'` entry. @@ -33,8 +65,8 @@ export type SubgraphsTier = 'none' | 'studio' | 'network' | 'rewards' export type SubstreamsTier = 'none' | 'other' | 'base' | 'extended' export async function getSupportedNetworks() { - const registry = await NetworksRegistry.fromLatestVersion() - return registry.networks + const networks = await fetchRegistryNetworks() + return networks .flatMap((network) => { const subgraphsStudio = hasStudioSupport(network) const subgraphsBackstop = hasBackstopSupport(network)