Back to blog
AI Infrastructure #Web3#blockchain#infrastructure

Web3 Infrastructure Stack in 2026: The Complete Developer Guide

The Web3 stack has matured. A practical guide to blockchain infrastructure, node services, data indexing, and the tools powering modern dApps.

15 min · January 16, 2026 · Updated January 27, 2026
Topic relevant background image

TL;DR

  • The Web3 infrastructure stack has matured with 75+ major projects across key categories.
  • Core layers: Node services (Alchemy, Infura), Data indexing (The Graph), Storage (IPFS, Filecoin), Wallets (embedded + AA).
  • Alchemy powers 71% of top crypto apps across 80+ networks—it’s the dominant infrastructure provider.
  • Development frameworks: Hardhat for Ethereum/EVM, Foundry for advanced testing, Anchor for Solana.
  • Account Abstraction (ERC-4337) is transforming UX with gas sponsorship and embedded wallets.
  • Cross-chain interoperability (LayerZero, Wormhole) enables multi-chain product architectures.
  • Web3 developers are still <1% of global developers—massive opportunity as the stack becomes more accessible.

The Modern Web3 Stack

┌─────────────────────────────────────────────────────────────┐
│                  APPLICATION LAYER                          │
│  Your dApp: Frontend, business logic, user experience       │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────┼──────────────────────────────────┐
│                  WALLET & AUTH LAYER                        │
│  Embedded wallets, AA smart accounts, social login          │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────┼──────────────────────────────────┐
│                  DATA & INDEXING LAYER                      │
│  The Graph, event indexing, analytics                       │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────┼──────────────────────────────────┐
│                  NODE & API LAYER                           │
│  Alchemy, Infura, QuickNode, JSON-RPC                       │
└──────────────────────────┬──────────────────────────────────┘

┌──────────────────────────┼──────────────────────────────────┐
│                  BLOCKCHAIN LAYER                           │
│  Ethereum, Polygon, Arbitrum, Base, Solana, etc.            │
└─────────────────────────────────────────────────────────────┘

Layer 1: Node Services

What Node Services Do

Your dApp needs to interact with the blockchain. Options:

  • Run your own node (expensive, complex)
  • Use a node service (recommended for most)
ApproachProsCons
Self-hosted nodeFull control, no dependencies$500-2000+/month, maintenance burden
Node serviceInstant setup, managed, scalableVendor dependency, usage costs

Major Providers

ProviderNetworksStrengths
Alchemy80+Dominant market share (71%), enhanced APIs
Infura15+Ethereum pioneer, ConsenSys backing
QuickNode25+Fast, developer-friendly
Ankr50+Decentralized RPC

Alchemy Implementation

import { createAlchemyWeb3 } from "@alch/alchemy-web3";

const web3 = createAlchemyWeb3(
  `https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_API_KEY}`
);

// Enhanced APIs beyond standard JSON-RPC
const nfts = await web3.alchemy.getNftsForOwner(address);
const transfers = await web3.alchemy.getAssetTransfers({
  fromAddress: address,
  category: ["erc20", "erc721"],
});

Key Features

FeatureWhat It Does
Enhanced APIsNFT APIs, token APIs, trace APIs
WebhooksReal-time notifications for on-chain events
Mempool accessPending transaction data
Archive dataHistorical state access
Debug APIsTransaction tracing, simulation

Layer 2: Data Indexing

The Indexing Problem

Blockchains are append-only logs. Querying them directly is slow and expensive. Indexing solutions pre-process blockchain data for fast queries.

The Graph

The dominant decentralized indexing protocol:

# Define a subgraph schema
type Transfer @entity {
  id: ID!
  from: Bytes!
  to: Bytes!
  value: BigInt!
  timestamp: BigInt!
  blockNumber: BigInt!
}

# Query indexed data
{
  transfers(
    first: 10
    where: { from: "0x..." }
    orderBy: timestamp
    orderDirection: desc
  ) {
    id
    to
    value
    timestamp
  }
}

Other Indexing Solutions

SolutionApproachBest For
The GraphDecentralized subgraphsStandard indexing
GoldskyManaged + MirrorReal-time data
Dune AnalyticsSQL queriesAnalytics, dashboards
FootprintNo-code analyticsBusiness intelligence

Layer 3: Storage

On-Chain vs. Off-Chain

Storage TypeUse CaseCost
On-chainCritical state, small data$$$$
IPFSImmutable content, media$
FilecoinLong-term archival$$
ArweavePermanent storage$$$

IPFS for NFT Metadata

import { create } from 'ipfs-http-client';

const ipfs = create({ url: 'https://ipfs.infura.io:5001' });

async function uploadMetadata(metadata: NFTMetadata) {
  // Upload image first
  const imageResult = await ipfs.add(metadata.image);
  
  // Upload metadata with IPFS image URL
  const metadataWithImage = {
    ...metadata,
    image: `ipfs://${imageResult.path}`,
  };
  
  const metadataResult = await ipfs.add(
    JSON.stringify(metadataWithImage)
  );
  
  return `ipfs://${metadataResult.path}`;
}

Layer 4: Wallets & Authentication

Evolution of Wallet UX

GenerationTechnologyUX
Gen 1Browser extensionsInstall extension, backup seed phrase
Gen 2WalletConnectMobile wallet + QR code
Gen 3Embedded walletsSocial login, invisible wallet
Gen 4Smart accounts (AA)Gas sponsorship, batched txs

Embedded Wallet Implementation

import { ThirdwebProvider, ConnectButton } from "@thirdweb-dev/react";

function App() {
  return (
    <ThirdwebProvider
      clientId={clientId}
      supportedWallets={[
        // Social login creates embedded wallet
        inAppWallet({
          auth: { options: ["google", "apple", "email"] },
        }),
        // Smart account wrapper
        smartWallet(inAppWallet(), {
          factoryAddress: FACTORY,
          gasless: true,
        }),
      ]}
    >
      <ConnectButton />
    </ThirdwebProvider>
  );
}

Account Abstraction Benefits

FeatureEOASmart Account
Gas paymentUser pays ETHApp sponsors
Transaction batchingOne at a timeMultiple in one
RecoverySeed phraseSocial/guardian
Signature schemesECDSA onlyFlexible (passkeys)

Layer 5: Cross-Chain

The Multi-Chain Reality

Modern dApps often span multiple chains:

ChainStrengthUse Case
EthereumSecurity, liquidityHigh-value, DeFi
PolygonLow cost, speedGaming, social
ArbitrumEVM, scalingDeFi, general
BaseCoinbase ecosystemConsumer apps
SolanaSpeed, low costHigh-frequency, payments

Interoperability Solutions

SolutionApproachUse Case
LayerZeroOmnichain messagingCross-chain tokens, NFTs
WormholeBridge protocolAsset transfers
AxelarGeneral message passingCross-chain dApps
CCIPChainlink protocolEnterprise interop

Development Frameworks

Hardhat (EVM)

The standard for Ethereum development:

// hardhat.config.ts
import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";

const config: HardhatUserConfig = {
  solidity: "0.8.24",
  networks: {
    hardhat: {},
    sepolia: {
      url: process.env.SEPOLIA_URL,
      accounts: [process.env.PRIVATE_KEY],
    },
  },
  etherscan: {
    apiKey: process.env.ETHERSCAN_API_KEY,
  },
};

export default config;

Foundry

Advanced testing and fuzzing:

// test/Token.t.sol
pragma solidity ^0.8.24;

import "forge-std/Test.sol";
import "../src/Token.sol";

contract TokenTest is Test {
    Token token;
    
    function setUp() public {
        token = new Token();
    }
    
    function testTransfer(uint256 amount) public {
        // Fuzz testing with random amounts
        vm.assume(amount <= token.balanceOf(address(this)));
        token.transfer(address(1), amount);
        assertEq(token.balanceOf(address(1)), amount);
    }
}

Framework Comparison

FrameworkLanguageStrengthsBest For
HardhatJS/TSEcosystem, pluginsMost projects
FoundrySoliditySpeed, fuzzingAdvanced testing
AnchorRustSolana nativeSolana programs

Implementation Checklist

Initial Setup

  • Choose node provider (Alchemy recommended)
  • Set up development framework (Hardhat/Foundry)
  • Configure networks (mainnet, testnet)
  • Set up wallet connection

Data Layer

  • Determine indexing needs
  • Deploy subgraph (if using The Graph)
  • Set up webhooks for events
  • Configure storage (IPFS for media)

Wallet & UX

  • Implement embedded wallet
  • Add Account Abstraction
  • Configure gas sponsorship
  • Set up social login

Production

  • Monitor RPC usage
  • Set up alerting
  • Configure rate limiting
  • Plan for multi-chain if needed

FAQ

Should I run my own node?

For most projects, no. Node services are more cost-effective until you’re at massive scale or have specific requirements (like MEV extraction).

Which chain should I build on?

Depends on your use case. Ethereum for high-value DeFi, L2s (Arbitrum, Base) for general apps, Solana for high-frequency/payments.

Do I need Account Abstraction?

For consumer apps, strongly recommended. The UX improvement is dramatic. For DeFi power users, traditional EOAs may still be preferred.

How do I choose between indexing solutions?

The Graph for standard needs, Goldsky for real-time/streaming, Dune for analytics dashboards.

Is multi-chain necessary?

Not for MVP. Build on one chain first. Add multi-chain when you have clear user demand.

What about privacy?

Consider zk-rollups (zkSync, Scroll) or privacy-focused chains. Standard EVM chains are fully transparent.

Sources & Further Reading

Interested in our research?

We share our work openly. If you'd like to collaborate or discuss ideas — we'd love to hear from you.

Get in Touch

Let's build
something real.

No more slide decks. No more "maybe next quarter".
Let's ship your MVP in weeks.

Start Building Now