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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.sqd.dev/feedback

```json
{
  "path": "/en/data/substrate",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Substrate Networks

> Browse all Substrate-based networks supported by SQD — Polkadot, Kusama, parachains, and standalone Substrate chains with gateway and Portal endpoints.

export function NetworksTable({networks, columns = {}, hideTestnetToggle = false}) {
  const {useState} = React;
  const {showChainId = false, showTraces = false, showStateDiffs = false, showType = false, showCategory = false} = columns;
  const [filter, setFilter] = useState("");
  const [copiedId, setCopiedId] = useState(null);
  const [sortColumn, setSortColumn] = useState("name");
  const [sortDirection, setSortDirection] = useState("asc");
  const [showTestnets, setShowTestnets] = useState(true);
  const filteredNetworks = networks.filter(network => {
    const networkType = network.type || (network.name.toLowerCase().includes("testnet") || network.name.toLowerCase().includes("devnet") ? "testnet" : "mainnet");
    if (!showTestnets && (networkType === "testnet" || networkType === "devnet")) {
      return false;
    }
    const filterLower = filter.toLowerCase();
    const nameMatch = network.name.toLowerCase().includes(filterLower);
    if (showChainId) {
      const chainIdMatch = network.chainId ? network.chainId.toString().includes(filterLower) : false;
      return nameMatch || chainIdMatch;
    }
    return nameMatch;
  });
  const hasStrictChainIdMatch = showChainId && filter.trim() !== "" && (/^\d+$/).test(filter.trim()) && filteredNetworks.some(network => network.chainId && network.chainId.toString() === filter.trim());
  const finalFilteredNetworks = hasStrictChainIdMatch ? filteredNetworks.filter(network => network.chainId && network.chainId.toString() === filter.trim()) : filteredNetworks;
  const handleSort = column => {
    if (sortColumn === column) {
      setSortDirection(sortDirection === "asc" ? "desc" : "asc");
    } else {
      setSortColumn(column);
      setSortDirection("asc");
    }
  };
  const sortedNetworks = [...finalFilteredNetworks].sort((a, b) => {
    let aVal, bVal;
    switch (sortColumn) {
      case "name":
        aVal = a.name.toLowerCase();
        bVal = b.name.toLowerCase();
        break;
      case "chainId":
        aVal = a.chainId ? parseInt(a.chainId) : 0;
        bVal = b.chainId ? parseInt(b.chainId) : 0;
        break;
      case "slug":
        aVal = a.slug.toLowerCase();
        bVal = b.slug.toLowerCase();
        break;
      case "portal":
        aVal = a.portal ? 1 : 0;
        bVal = b.portal ? 1 : 0;
        break;
      case "realtime":
        aVal = a.realtime ? 1 : 0;
        bVal = b.realtime ? 1 : 0;
        break;
      case "traces":
        aVal = a.traces ? 1 : 0;
        bVal = b.traces ? 1 : 0;
        break;
      case "stateDiffs":
        aVal = a.stateDiffs ? 1 : 0;
        bVal = b.stateDiffs ? 1 : 0;
        break;
      case "type":
        aVal = a.type || "";
        bVal = b.type || "";
        break;
      case "category":
        aVal = a.category || "";
        bVal = b.category || "";
        break;
      default:
        return 0;
    }
    if (aVal < bVal) return sortDirection === "asc" ? -1 : 1;
    if (aVal > bVal) return sortDirection === "asc" ? 1 : -1;
    return 0;
  });
  const copyToClipboard = async (text, id) => {
    try {
      await navigator.clipboard.writeText(text);
      setCopiedId(id);
      setTimeout(() => setCopiedId(null), 2000);
    } catch (err) {
      console.error('Failed to copy:', err);
    }
  };
  const getPortalUrl = slug => `https://portal.sqd.dev/datasets/${slug}`;
  const getV2ArchiveUrl = slug => `https://v2.archive.subsquid.io/network/${slug}`;
  const colSpan = 3 + (showChainId ? 1 : 0) + (showTraces ? 1 : 0) + (showStateDiffs ? 1 : 0) + (showType ? 1 : 0) + (showCategory ? 1 : 0);
  return <div>
  <div className="overflow-hidden rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm">
    <div className="px-4 py-3 bg-gray-50 dark:bg-gray-800/50 flex items-center justify-between gap-3 border-b border-gray-200 dark:border-gray-700">
      <div className="flex items-center gap-2 flex-1 max-w-2xl">
        <input type="text" placeholder={showChainId ? "Filter by network name or chain ID..." : "Filter by network name..."} value={filter} onChange={e => setFilter(e.target.value)} className="flex-1 h-10 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-md bg-white dark:bg-gray-800 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 shadow-sm transition-all" />
        {!hideTestnetToggle && <button onClick={() => setShowTestnets(!showTestnets)} className={`inline-flex items-center h-10 gap-2 px-4 py-2 text-sm font-medium rounded-md border transition-all whitespace-nowrap ${showTestnets ? "bg-white dark:bg-gray-800 border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-700" : "bg-gray-50 dark:bg-gray-900 border-gray-200 dark:border-gray-700 text-gray-500 dark:text-gray-500 hover:bg-gray-100 dark:hover:bg-gray-800"}`} aria-label={showTestnets ? "Hide testnets" : "Show testnets"}>
            {showTestnets ? <svg className="w-4 h-4 text-green-600 dark:text-green-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
              </svg> : <svg className="w-4 h-4 text-gray-400 dark:text-gray-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
              </svg>}
            Show testnets
          </button>}
      </div>
      <a href="https://t.me/karelxfi" target="\_blank" rel="noopener noreferrer" className="inline-flex items-center gap-1.5 px-4 py-2 bg-blue-600 hover:bg-blue-700 text-white text-sm font-semibold rounded-md shadow-sm hover:shadow-md transition-all whitespace-nowrap" style={{
    backgroundColor: "#1e40af"
  }}>
        <svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
          <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 4v16m8-8H4" />
        </svg>
        Request Network
      </a>
    </div>
    <div className="px-4 overflow-x-auto pt-0">
      <table className="min-w-full table-fixed border-collapse text-sm bg-white dark:bg-gray-900 m-0 -mx-4 w-[calc(100%+2rem)]">
        <thead>
          <tr className="bg-gray-50 dark:bg-gray-800/50 border-b border-gray-200 dark:border-gray-700">
            <th className="text-left py-3 pl-4 pr-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" onClick={() => handleSort("name")}>
              <div className="flex items-center gap-1">
                Network
                {sortColumn === "name" && <span className="text-gray-500 dark:text-gray-400">
                    {sortDirection === "asc" ? "↑" : "↓"}
                  </span>}
              </div>
            </th>
            {showChainId && <th className="text-left py-3 px-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '100px',
    minWidth: '100px',
    maxWidth: '100px'
  }} onClick={() => handleSort("chainId")}>
                <div className="flex items-center gap-1">
                  Chain ID
                  {sortColumn === "chainId" && <span className="text-gray-500 dark:text-gray-400">
                      {sortDirection === "asc" ? "↑" : "↓"}
                    </span>}
                </div>
              </th>}
            {showType && <th className="text-left py-3 px-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '90px',
    minWidth: '90px',
    maxWidth: '90px'
  }} onClick={() => handleSort("type")}>
                <div className="flex items-center gap-1">
                  Network
                  {sortColumn === "type" && <span className="text-gray-500 dark:text-gray-400">
                      {sortDirection === "asc" ? "↑" : "↓"}
                    </span>}
                </div>
              </th>}
            {showCategory && <th className="text-left py-3 px-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '90px',
    minWidth: '90px',
    maxWidth: '90px'
  }} onClick={() => handleSort("category")}>
                <div className="flex items-center gap-1">
                  Type
                  {sortColumn === "category" && <span className="text-gray-500 dark:text-gray-400">
                      {sortDirection === "asc" ? "↑" : "↓"}
                    </span>}
                </div>
              </th>}
            <th className="text-center py-3 px-2 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '75px',
    minWidth: '75px',
    maxWidth: '75px'
  }} onClick={() => handleSort("portal")}>
              <div className="flex items-center justify-center gap-1">
                <Tooltip tip="Available on Portal infrastructure">
                  Portal
                </Tooltip>
                {sortColumn === "portal" && <span className="text-gray-500 dark:text-gray-400">
                    {sortDirection === "asc" ? "↑" : "↓"}
                  </span>}
              </div>
            </th>
            <th className="text-center py-3 px-2 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '75px',
    minWidth: '75px',
    maxWidth: '75px'
  }} onClick={() => handleSort("realtime")}>
              <div className="flex items-center justify-center gap-1 whitespace-nowrap">
                <Tooltip tip="Supports real-time streaming">Real-Time</Tooltip>
                {sortColumn === "realtime" && <span className="text-gray-500 dark:text-gray-400">
                    {sortDirection === "asc" ? "↑" : "↓"}
                  </span>}
              </div>
            </th>
            {showTraces && <th className="text-center py-3 px-2 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '75px',
    minWidth: '75px',
    maxWidth: '75px'
  }} onClick={() => handleSort("traces")}>
                <div className="flex items-center justify-center gap-1">
                  Traces
                  {sortColumn === "traces" && <span className="text-gray-500 dark:text-gray-400">
                      {sortDirection === "asc" ? "↑" : "↓"}
                    </span>}
                </div>
              </th>}
            {showStateDiffs && <th className="text-center py-3 px-2 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" style={{
    width: '75px',
    minWidth: '75px',
    maxWidth: '75px'
  }} onClick={() => handleSort("stateDiffs")}>
                <div className="flex items-center justify-center gap-1 whitespace-nowrap">
                  State Diffs
                  {sortColumn === "stateDiffs" && <span className="text-gray-500 dark:text-gray-400">
                      {sortDirection === "asc" ? "↑" : "↓"}
                    </span>}
                </div>
              </th>}
            <th className="text-left py-3 px-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 select-none" onClick={() => handleSort("slug")}>
              <div className="flex items-center gap-1">
                <Tooltip tip="Dataset identifier for use with Portal endpoints">
                  Slug
                </Tooltip>
                {sortColumn === "slug" && <span className="text-gray-500 dark:text-gray-400">
                    {sortDirection === "asc" ? "↑" : "↓"}
                  </span>}
              </div>
            </th>
            <th className="text-left py-3 px-3 font-semibold text-gray-700 dark:text-gray-300 text-xs tracking-wider">
              Details
            </th>
          </tr>
        </thead>
        <tbody className="divide-y divide-gray-100 dark:divide-gray-800">
          {sortedNetworks.length > 0 ? sortedNetworks.map((network, index) => {
    const portalId = `portal-${network.slug}`;
    const v2Id = `v2-${network.slug}`;
    return <tr key={index} className="hover:bg-gray-50 dark:hover:bg-gray-800/30 transition-colors duration-150">
                  <td className="py-3 pl-4 pr-3 text-left text-gray-900 dark:text-gray-100 font-medium">
                    {network.tooltip ? <span className="inline">
                        <Tooltip tip={network.tooltip}>{network.name}</Tooltip>
                      </span> : network.name}
                  </td>
                  {showChainId && <td className="py-3 px-3 text-left text-gray-700 dark:text-gray-300" style={{
      width: '90px',
      minWidth: '90px',
      maxWidth: '90px'
    }}>
                      {network.chainId || "-"}
                    </td>}
                  {showType && <td className="py-3 px-3 text-left text-gray-700 dark:text-gray-300" style={{
      width: '90px',
      minWidth: '90px',
      maxWidth: '90px'
    }}>
                      <span className="inline-flex items-center px-2 py-1 rounded-md text-xs font-medium capitalize bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-200 border border-gray-200 dark:border-gray-700">
                        {network.type || "mainnet"}
                      </span>
                    </td>}
                  {showCategory && <td className="py-3 px-3 text-left text-gray-700 dark:text-gray-300" style={{
      width: '90px',
      minWidth: '90px',
      maxWidth: '90px'
    }}>
                      <span className="inline-flex items-center px-2 py-1 rounded-md text-xs font-medium capitalize bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 border border-blue-200 dark:border-blue-700">
                        {network.category || "-"}
                      </span>
                    </td>}
                  <td className="py-3 px-2 text-center" style={{
      width: '75px',
      minWidth: '75px',
      maxWidth: '75px'
    }}>
                    <span className={network.portal ? "text-green-600 dark:text-green-400" : "text-gray-400 dark:text-gray-500"}>
                      {network.portal ? <Icon icon="circle-check" iconType="solid" /> : <Icon icon="circle-xmark" iconType="regular" />}
                    </span>
                  </td>
                  <td className="py-3 px-2 text-center" style={{
      width: '75px',
      minWidth: '75px',
      maxWidth: '75px'
    }}>
                    <span className={network.realtime ? "text-green-600 dark:text-green-400" : "text-red-500 dark:text-red-400"}>
                      {network.realtime ? <Icon icon="circle-check" iconType="solid" /> : <Icon icon="circle-xmark" iconType="regular" />}
                    </span>
                  </td>
                  {showTraces && <td className="py-3 px-2 text-center" style={{
      width: '75px',
      minWidth: '75px',
      maxWidth: '75px'
    }}>
                      <span className={network.traces ? "text-green-600 dark:text-green-400" : "text-gray-400 dark:text-gray-500"}>
                        {network.traces ? <Icon icon="circle-check" iconType="solid" /> : <Icon icon="circle-xmark" iconType="regular" />}
                      </span>
                    </td>}
                  {showStateDiffs && <td className="py-3 px-2 text-center" style={{
      width: '75px',
      minWidth: '75px',
      maxWidth: '75px'
    }}>
                      <span className={network.stateDiffs ? "text-green-600 dark:text-green-400" : "text-gray-400 dark:text-gray-500"}>
                        {network.stateDiffs ? <Icon icon="circle-check" iconType="solid" /> : <Icon icon="circle-xmark" iconType="regular" />}
                      </span>
                    </td>}
                  <td className="py-3 px-3 text-left">
                    <div className="flex items-center gap-2">
                      <code className="text-xs bg-gray-100 dark:bg-gray-800 px-2 py-1 rounded-md font-mono text-gray-800 dark:text-gray-200 border border-gray-200 dark:border-gray-700">
                        {network.slug}
                      </code>
                      {network.portal && <Tooltip tip={copiedId === portalId ? "Copied!" : "Copy Portal endpoint URL"}>
                          <button onClick={e => {
      e.stopPropagation();
      copyToClipboard(getPortalUrl(network.slug), portalId);
    }} className="p-1 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-all duration-150 hover:scale-110 flex items-center justify-center" aria-label="Copy Portal URL">
                            <span className={copiedId === portalId ? "text-green-600 dark:text-green-400" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300"}>
                              {copiedId === portalId ? <Icon icon="circle-check" iconType="solid" /> : <Icon icon="copy" iconType="regular" />}
                            </span>
                          </button>
                        </Tooltip>}
                    </div>
                  </td>
                  <td className="py-3 px-3 text-left">
                    <a href={network.details} className="text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 hover:underline font-medium transition-colors inline-flex items-center gap-1">
                      View
                      <span className="text-xs">→</span>
                    </a>
                  </td>
                </tr>;
  }) : <tr>
              <td colSpan={colSpan} className="py-6 px-4 text-center text-gray-500 dark:text-gray-400">
                <div className="flex flex-col items-center gap-1.5">
                  <span className="text-lg">🔍</span>
                  <span>No networks found matching "{filter}"</span>
                </div>
              </td>
            </tr>}
        </tbody>
      </table>
    </div>
  </div>
</div>;
}

export const substrateNetworks = [{
  "name": "Acala",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "acala",
  "details": "/en/data/substrate/acala",
  "legacyUrl": "https://v2.archive.subsquid.io/network/acala"
}, {
  "name": "Acurast Canary",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "acurast-canary",
  "details": "/en/data/substrate/acurast-canary",
  "legacyUrl": "https://v2.archive.subsquid.io/network/acurast-canary"
}, {
  "name": "Agung (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "agung",
  "details": "/en/data/substrate/agung",
  "legacyUrl": "https://v2.archive.subsquid.io/network/agung"
}, {
  "name": "Aleph Zero",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "aleph-zero",
  "details": "/en/data/substrate/aleph-zero",
  "legacyUrl": "https://v2.archive.subsquid.io/network/aleph-zero"
}, {
  "name": "Aleph Zero Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "aleph-zero-testnet",
  "details": "/en/data/substrate/aleph-zero-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/aleph-zero-testnet"
}, {
  "name": "Amplitude",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "amplitude",
  "details": "/en/data/substrate/amplitude",
  "legacyUrl": "https://v2.archive.subsquid.io/network/amplitude"
}, {
  "name": "Astar (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "astar-substrate",
  "details": "/en/data/substrate/astar-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/astar-substrate"
}, {
  "name": "Avail",
  "type": "mainnet",
  "tooltip": "The Avail Mainnet dataset starts at block 1.",
  "portal": true,
  "realtime": false,
  "slug": "avail",
  "details": "/en/data/substrate/avail",
  "legacyUrl": "https://v2.archive.subsquid.io/network/avail"
}, {
  "name": "Avail (Legacy)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "data-avail",
  "details": "/en/data/substrate/data-avail",
  "legacyUrl": "https://v2.archive.subsquid.io/network/data-avail"
}, {
  "name": "Basilisk",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "basilisk",
  "details": "/en/data/substrate/basilisk",
  "legacyUrl": "https://v2.archive.subsquid.io/network/basilisk"
}, {
  "name": "Bifrost Kusama",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bifrost-kusama",
  "details": "/en/data/substrate/bifrost-kusama",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bifrost-kusama"
}, {
  "name": "Bifrost Polkadot",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bifrost-polkadot",
  "details": "/en/data/substrate/bifrost-polkadot",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bifrost-polkadot"
}, {
  "name": "Bittensor (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bittensor",
  "details": "/en/data/substrate/bittensor",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bittensor"
}, {
  "name": "Bittensor Testnet (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bittensor-testnet",
  "details": "/en/data/substrate/bittensor-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bittensor-testnet"
}, {
  "name": "Centrifuge",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "centrifuge",
  "details": "/en/data/substrate/centrifuge",
  "legacyUrl": "https://v2.archive.subsquid.io/network/centrifuge"
}, {
  "name": "Cere",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "cere",
  "details": "/en/data/substrate/cere",
  "legacyUrl": "https://v2.archive.subsquid.io/network/cere"
}, {
  "name": "Chainflip",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "chainflip",
  "details": "/en/data/substrate/chainflip",
  "legacyUrl": "https://v2.archive.subsquid.io/network/chainflip"
}, {
  "name": "Clover",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "clover",
  "details": "/en/data/substrate/clover",
  "legacyUrl": "https://v2.archive.subsquid.io/network/clover"
}, {
  "name": "Crust",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "crust",
  "details": "/en/data/substrate/crust",
  "legacyUrl": "https://v2.archive.subsquid.io/network/crust"
}, {
  "name": "Dancebox",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "dancebox",
  "details": "/en/data/substrate/dancebox",
  "legacyUrl": "https://v2.archive.subsquid.io/network/dancebox"
}, {
  "name": "Darwinia",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "darwinia",
  "details": "/en/data/substrate/darwinia",
  "legacyUrl": "https://v2.archive.subsquid.io/network/darwinia"
}, {
  "name": "Darwinia Crab",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "darwinia-crab",
  "details": "/en/data/substrate/darwinia-crab",
  "legacyUrl": "https://v2.archive.subsquid.io/network/darwinia-crab"
}, {
  "name": "Eden",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "eden",
  "details": "/en/data/substrate/eden",
  "legacyUrl": "https://v2.archive.subsquid.io/network/eden"
}, {
  "name": "Enjin Canary Matrixchain",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "enjin-canary-matrix",
  "details": "/en/data/substrate/enjin-canary-matrix",
  "legacyUrl": "https://v2.archive.subsquid.io/network/enjin-canary-matrix"
}, {
  "name": "Enjin Matrixchain",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "enjin-matrix",
  "details": "/en/data/substrate/enjin-matrix",
  "legacyUrl": "https://v2.archive.subsquid.io/network/enjin-matrix"
}, {
  "name": "Enjin Relaychain",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "enjin-relay",
  "details": "/en/data/substrate/enjin-relay",
  "legacyUrl": "https://v2.archive.subsquid.io/network/enjin-relay"
}, {
  "name": "Equilibrium",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "equilibrium",
  "details": "/en/data/substrate/equilibrium",
  "legacyUrl": "https://v2.archive.subsquid.io/network/equilibrium"
}, {
  "name": "Foucoco",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "foucoco",
  "details": "/en/data/substrate/foucoco",
  "legacyUrl": "https://v2.archive.subsquid.io/network/foucoco"
}, {
  "name": "Frequency",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "frequency",
  "details": "/en/data/substrate/frequency",
  "legacyUrl": "https://v2.archive.subsquid.io/network/frequency"
}, {
  "name": "Heima",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "litentry",
  "details": "/en/data/substrate/litentry",
  "legacyUrl": "https://v2.archive.subsquid.io/network/litentry"
}, {
  "name": "Hydration",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "hydradx",
  "details": "/en/data/substrate/hydradx",
  "legacyUrl": "https://v2.archive.subsquid.io/network/hydradx"
}, {
  "name": "Integritee",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "integritee",
  "details": "/en/data/substrate/integritee",
  "legacyUrl": "https://v2.archive.subsquid.io/network/integritee"
}, {
  "name": "Interlay",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "interlay",
  "details": "/en/data/substrate/interlay",
  "legacyUrl": "https://v2.archive.subsquid.io/network/interlay"
}, {
  "name": "InvArch",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "invarch-parachain",
  "details": "/en/data/substrate/invarch-parachain",
  "legacyUrl": "https://v2.archive.subsquid.io/network/invarch-parachain"
}, {
  "name": "InvArch Tinkernet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "invarch-tinkernet",
  "details": "/en/data/substrate/invarch-tinkernet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/invarch-tinkernet"
}, {
  "name": "Joystream",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "joystream",
  "details": "/en/data/substrate/joystream",
  "legacyUrl": "https://v2.archive.subsquid.io/network/joystream"
}, {
  "name": "Karura",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "karura",
  "details": "/en/data/substrate/karura",
  "legacyUrl": "https://v2.archive.subsquid.io/network/karura"
}, {
  "name": "Khala",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "khala",
  "details": "/en/data/substrate/khala",
  "legacyUrl": "https://v2.archive.subsquid.io/network/khala"
}, {
  "name": "KILT",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "kilt",
  "details": "/en/data/substrate/kilt",
  "legacyUrl": "https://v2.archive.subsquid.io/network/kilt"
}, {
  "name": "Kintsugi",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "kintsugi",
  "details": "/en/data/substrate/kintsugi",
  "legacyUrl": "https://v2.archive.subsquid.io/network/kintsugi"
}, {
  "name": "Kusama",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "kusama",
  "details": "/en/data/substrate/kusama",
  "legacyUrl": "https://v2.archive.subsquid.io/network/kusama"
}, {
  "name": "Kusama Asset Hub",
  "type": "mainnet",
  "tooltip": "Asset Hub Kusama was formerly known as Statemine.",
  "portal": true,
  "realtime": false,
  "slug": "asset-hub-kusama",
  "details": "/en/data/substrate/asset-hub-kusama",
  "legacyUrl": "https://v2.archive.subsquid.io/network/asset-hub-kusama"
}, {
  "name": "Kusama Bridge Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bridge-hub-kusama",
  "details": "/en/data/substrate/bridge-hub-kusama",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bridge-hub-kusama"
}, {
  "name": "Moonbase Alpha (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "moonbase-substrate",
  "details": "/en/data/substrate/moonbase-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/moonbase-substrate"
}, {
  "name": "Moonbeam (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "moonbeam-substrate",
  "details": "/en/data/substrate/moonbeam-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/moonbeam-substrate"
}, {
  "name": "Moonriver (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "moonriver-substrate",
  "details": "/en/data/substrate/moonriver-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/moonriver-substrate"
}, {
  "name": "Paseo",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "paseo",
  "details": "/en/data/substrate/paseo",
  "legacyUrl": "https://v2.archive.subsquid.io/network/paseo"
}, {
  "name": "Paseo Asset Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "asset-hub-paseo",
  "details": "/en/data/substrate/asset-hub-paseo",
  "legacyUrl": "https://v2.archive.subsquid.io/network/asset-hub-paseo"
}, {
  "name": "Peaq (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "peaq-mainnet-substrate",
  "details": "/en/data/substrate/peaq-mainnet-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/peaq-mainnet-substrate"
}, {
  "name": "Pendulum",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "pendulum",
  "details": "/en/data/substrate/pendulum",
  "legacyUrl": "https://v2.archive.subsquid.io/network/pendulum"
}, {
  "name": "Phala",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "phala",
  "details": "/en/data/substrate/phala",
  "legacyUrl": "https://v2.archive.subsquid.io/network/phala"
}, {
  "name": "Phala Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "phala-testnet",
  "details": "/en/data/substrate/phala-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/phala-testnet"
}, {
  "name": "Picasso",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "picasso",
  "details": "/en/data/substrate/picasso",
  "legacyUrl": "https://v2.archive.subsquid.io/network/picasso"
}, {
  "name": "Polimec",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "polimec",
  "details": "/en/data/substrate/polimec",
  "legacyUrl": "https://v2.archive.subsquid.io/network/polimec"
}, {
  "name": "Polkadex",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "polkadex",
  "details": "/en/data/substrate/polkadex",
  "legacyUrl": "https://v2.archive.subsquid.io/network/polkadex"
}, {
  "name": "Polkadot",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "polkadot",
  "details": "/en/data/substrate/polkadot",
  "legacyUrl": "https://v2.archive.subsquid.io/network/polkadot"
}, {
  "name": "Polkadot Asset Hub",
  "type": "mainnet",
  "tooltip": "Asset Hub Polkadot was formerly known as Statemint.",
  "portal": true,
  "realtime": false,
  "slug": "asset-hub-polkadot",
  "details": "/en/data/substrate/asset-hub-polkadot",
  "legacyUrl": "https://v2.archive.subsquid.io/network/asset-hub-polkadot"
}, {
  "name": "Polkadot Bridge Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bridge-hub-polkadot",
  "details": "/en/data/substrate/bridge-hub-polkadot",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bridge-hub-polkadot"
}, {
  "name": "Polkadot Collectives",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "collectives-polkadot",
  "details": "/en/data/substrate/collectives-polkadot",
  "legacyUrl": "https://v2.archive.subsquid.io/network/collectives-polkadot"
}, {
  "name": "Polkadot People",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "people-chain",
  "details": "/en/data/substrate/people-chain",
  "legacyUrl": "https://v2.archive.subsquid.io/network/people-chain"
}, {
  "name": "Polymesh",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "polymesh",
  "details": "/en/data/substrate/polymesh",
  "legacyUrl": "https://v2.archive.subsquid.io/network/polymesh"
}, {
  "name": "Reef",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "reef",
  "details": "/en/data/substrate/reef",
  "legacyUrl": "https://v2.archive.subsquid.io/network/reef"
}, {
  "name": "Reef Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "reef-testnet",
  "details": "/en/data/substrate/reef-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/reef-testnet"
}, {
  "name": "Robonomics",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "robonomics",
  "details": "/en/data/substrate/robonomics",
  "legacyUrl": "https://v2.archive.subsquid.io/network/robonomics"
}, {
  "name": "Rococo",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "rococo",
  "details": "/en/data/substrate/rococo",
  "legacyUrl": "https://v2.archive.subsquid.io/network/rococo"
}, {
  "name": "Rococo Asset Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "asset-hub-rococo",
  "details": "/en/data/substrate/asset-hub-rococo",
  "legacyUrl": "https://v2.archive.subsquid.io/network/asset-hub-rococo"
}, {
  "name": "Rococo Bridge Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bridge-hub-rococo",
  "details": "/en/data/substrate/bridge-hub-rococo",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bridge-hub-rococo"
}, {
  "name": "Rolimec",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "rolimec",
  "details": "/en/data/substrate/rolimec",
  "legacyUrl": "https://v2.archive.subsquid.io/network/rolimec"
}, {
  "name": "Shibuya (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "shibuya-substrate",
  "details": "/en/data/substrate/shibuya-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/shibuya-substrate"
}, {
  "name": "Shiden (Substrate)",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "shiden-substrate",
  "details": "/en/data/substrate/shiden-substrate",
  "legacyUrl": "https://v2.archive.subsquid.io/network/shiden-substrate"
}, {
  "name": "SORA",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "sora-mainnet",
  "details": "/en/data/substrate/sora-mainnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/sora-mainnet"
}, {
  "name": "Subsocial",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "subsocial-parachain",
  "details": "/en/data/substrate/subsocial-parachain",
  "legacyUrl": "https://v2.archive.subsquid.io/network/subsocial-parachain"
}, {
  "name": "Subspace Gemini 3h",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "gemini-3h",
  "details": "/en/data/substrate/gemini-3h",
  "legacyUrl": "https://v2.archive.subsquid.io/network/gemini-3h"
}, {
  "name": "Ternoa",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "ternoa",
  "details": "/en/data/substrate/ternoa",
  "legacyUrl": "https://v2.archive.subsquid.io/network/ternoa"
}, {
  "name": "Turing",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "turing-mainnet",
  "details": "/en/data/substrate/turing-mainnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/turing-mainnet"
}, {
  "name": "Turing Avail",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "turing-avail",
  "details": "/en/data/substrate/turing-avail",
  "legacyUrl": "https://v2.archive.subsquid.io/network/turing-avail"
}, {
  "name": "Vara",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "vara",
  "details": "/en/data/substrate/vara",
  "legacyUrl": "https://v2.archive.subsquid.io/network/vara"
}, {
  "name": "Vara Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "vara-testnet",
  "details": "/en/data/substrate/vara-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/vara-testnet"
}, {
  "name": "Westend",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "westend",
  "details": "/en/data/substrate/westend",
  "legacyUrl": "https://v2.archive.subsquid.io/network/westend"
}, {
  "name": "Westend Asset Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "asset-hub-westend",
  "details": "/en/data/substrate/asset-hub-westend",
  "legacyUrl": "https://v2.archive.subsquid.io/network/asset-hub-westend"
}, {
  "name": "Westend Bridge Hub",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "bridge-hub-westend",
  "details": "/en/data/substrate/bridge-hub-westend",
  "legacyUrl": "https://v2.archive.subsquid.io/network/bridge-hub-westend"
}, {
  "name": "Westend Collectives",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "collectives-westend",
  "details": "/en/data/substrate/collectives-westend",
  "legacyUrl": "https://v2.archive.subsquid.io/network/collectives-westend"
}, {
  "name": "Zeitgeist",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "zeitgeist",
  "details": "/en/data/substrate/zeitgeist",
  "legacyUrl": "https://v2.archive.subsquid.io/network/zeitgeist"
}, {
  "name": "Zeitgeist Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "zeitgeist-testnet",
  "details": "/en/data/substrate/zeitgeist-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/zeitgeist-testnet"
}, {
  "name": "zkVerify Testnet",
  "type": "mainnet",
  "tooltip": null,
  "portal": true,
  "realtime": false,
  "slug": "zkverify-testnet",
  "details": "/en/data/substrate/zkverify-testnet",
  "legacyUrl": "https://v2.archive.subsquid.io/network/zkverify-testnet"
}];

<Warning>
  **Portal Migration**: We're migrating from v2 archives to Portal. V2 archives will be sunset soon. [Get Started with Portal →](/en/portal/migration)
</Warning>

{(() => {
const { useState } = React;
return (
<NetworksTable
  networks={substrateNetworks}
  columns={{ showType: true }}
/>
); })()}
