# Alchemy | Blockchain infrastructure for developers > Alchemy is a blockchain development platform providing RPC APIs, node infrastructure, and developer tools across Ethereum, Solana, Base, Polygon, and 50+ other networks, used by leading fintechs, enterprises, and web3 startups to build onchain applications. Build and scale apps onchain with Alchemy's RPC APIs, data APIs, and developer tools across 100+ blockchains. Get started for free. # Pages --- # Abstract Development Platform - RPC & APIs URL: https://www.alchemy.com/abstract Abstract is a Layer 2 ZK rollup built on top of Ethereum, dedicated to the wide adoption of culture, community and creativity in web3. --- # AgentPay - The Universal Payment Proxy for AI Agents | Alchemy URL: https://www.alchemy.com/agentpay AI agents are already buying. McKinsey estimates $3-5T in retail spend will flow through agents by 2030. AgentPay lets your business accept payments from every AI agent with a single integration. --- # Crypto APIs for Agents | Alchemy URL: https://www.alchemy.com/agents The fastest and most complete way to build onchain, for you and your agent. Skills, CLI, MCP, wallets, and payments. Every chain, every workflow. --- # Blockchain for AI Agents | Alchemy URL: https://www.alchemy.com/ai-agents Build AI agents that manage wallets, execute secure transactions, and move assets across every chain. --- # Alchemy Validators URL: https://www.alchemy.com/alchemy-validators High-uptime validators with compliance-ready architecture and multi-region deployment. --- # Arbitrum Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/arbitrum Scale your decentralized applications at low costs on Arbitrum using Alchemy's leading blockchain developer platform. --- # Alchemy + Arbitrum Grant URL: https://www.alchemy.com/arbitrum-grant We’re supporting builders on Arbitrum with up to $500,000 in credits per team. First come, first serve. --- # Contact Sales Arbitrum Grant - Alchemy URL: https://www.alchemy.com/arbitrum-grant-contact We're supporting builders on Arbitrum with up to $500,000 in credits per team. Contact us! --- # Build on Arc with Alchemy URL: https://www.alchemy.com/arc Arc: The Open Layer-1 for Stablecoin Finance --- # Astar Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/astar In partnership with Astar, Alchemy steps into the Polkadot ecosystem. --- # Avalanche C-Chain Development Platform - RPC & Subgraphs URL: https://www.alchemy.com/avalanche-c-chain Deploy powerful, scalable onchain apps on Avalanche's high-performance C-Chain. Access Supernode, Subgraphs, and more tools. --- # Bank-grade infrastructure for digital finance URL: https://www.alchemy.com/banking Build the future of digital asset strategy with Alchemy. --- # Base Development Platform - RPC Nodes and APIs URL: https://www.alchemy.com/base Base's cutting-edge Layer 2 solution will empower the next generation of decentralized applications. Available today on Alchemy. --- # Apply for Base Gas Manager Credits URL: https://www.alchemy.com/base-gas-manager-credits Apply to receive Gas Manager API credits on Base to sponsor gas on behalf of your users. --- # RPC provider benchmarks | Alchemy URL: https://www.alchemy.com/benchmarks Compare RPC provider latency, success rates, and failed requests across popular chains, regions, and common EVM RPC methods. --- # RPC provider benchmarks (Markdown data) URL: https://www.alchemy.com/benchmarks/data.md Machine-readable Markdown twin of the benchmarks page: provider latency, success rates, and failed requests for every chain and region, plus the live 24h data window. Built for agents and crawlers. --- # Berachain Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/berachain Build fast, user-friendly and secure onchain apps on Berachain mainnet and testnet. Get your API key today! --- # Blast Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/blast-chain Supercharge your apps with Blast's native yields, revenue sharing, and EVM compatibility. Start building on Blast today! --- # BNB Smart Chain Development Platform - RPC & APIs URL: https://www.alchemy.com/bnb-smart-chain Build fast, user-friendly and secure onchain apps on BNB Smart Chain. Access Supernode, Subgraphs, and more tools. --- # Botanix Development Platform - RPC & APIs URL: https://www.alchemy.com/botanix Build fast, secure, and Bitcoin-native onchain apps with Botanix's EVM-compatible Layer 2 protocol. --- # Download Alchemy Brand Assets and Press Kit URL: https://www.alchemy.com/brand Download Alchemy's logo, marks, banners, and photography in PNG and SVG formats for approved press and marketing use. --- # ERC-4337 Bundler API for Account Abstraction URL: https://www.alchemy.com/bundler Integrate our high-availability bundler with your smart contract wallet, application, or rollup to reliably bundle userOps onchain. --- # Careers at Alchemy - Web3 Development Platform URL: https://www.alchemy.com/careers Supercharge the web3 industry and your career. Join a company that is revolutionizing the next generation of the internet. View all open roles. --- # Build on Celo with Alchemy URL: https://www.alchemy.com/celo Celo is a payments-first Ethereum L2. --- # Alchemy CoBuild — Finance Rewritten | SoHo, NYC April 28, 2026 URL: https://www.alchemy.com/cobuild CoBuild brings 150 invite-only executives together in New York, with a global livestream open to everyone. --- # About Alchemy - The Web3 Development Platform URL: https://www.alchemy.com/company Alchemy is the platform layer needed to empower developers to build great applications that tap into the blockchain revolution. --- # Contact Sales - Alchemy URL: https://www.alchemy.com/contact-sales Contact the Alchemy sales team to learn more about use cases, solutions, pricing, chain support and building apps on Alchemy's web3 development platform. --- # Contact Sales - Dedicated Clusters - Alchemy URL: https://www.alchemy.com/contact-sales-dedicated-clusters Fully managed, single-tenant RPC and WebSocket infrastructure built on the same engines powering Alchemy's shared infrastructure. --- # Contact Sales - Rollups - Alchemy URL: https://www.alchemy.com/contact-sales-rollups Interested in deploying your own rollup? Get in touch with our team to get VIP access. --- # The world's first intelligent blockchain engine URL: https://www.alchemy.com/cortex Your apps are now 2.5x faster, 5x more reliable, with 500x more throughput. --- # CPE Program URL: https://www.alchemy.com/cpe-program Join a team that is core to Alchemy's DNA and one of our most valued functions. --- # CrossFi Development Platform - JSON RPC & APIs URL: https://www.alchemy.com/crossfi Build with unlimited scalability and EVM and Cosmos interoperability. Get your API key! --- # Alchemy Notify's Custom Webhooks URL: https://www.alchemy.com/custom-webhooks Track marketplace activity at a granularity that's most useful for your users. Easily ingest swaps or atomic trades that represent more than one transfer event. --- # Dedicated Clusters - Custom Blockchain Infrastructure | Alchemy URL: https://www.alchemy.com/dedicated-clusters Fully managed dedicated RPC and WebSocket infrastructure built to your specs, secured to your standards, and trusted by enterprises moving trillions annually. --- # DeFi on Alchemy URL: https://www.alchemy.com/defi Build the future of DeFi with Alchemy. --- # Enterprise Web3 Development Platform - Alchemy URL: https://www.alchemy.com/enterprise Enter web3 with enterprise-grade blockchain infrastructure. Build and grow at scale with Alchemy's suite of web3 development solutions. --- # Ethereum Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/ethereum Access Ethereum RPC nodes, Enhanced APIs, and developer tools with Alchemy. Deploy smart contracts, index transactions, and scale your dapp on the world's most popular blockchain. --- # Web3 Events We're Attending (2026) - Alchemy URL: https://www.alchemy.com/events Here's a list of all the web3 industry events we're attending this year. Want to meet up IRL? Schedule time with our product or sales teams! --- # Everyone Onchain Fund | $25K Credits for Onchain Apps URL: https://www.alchemy.com/everyone-onchain-fund Scale to millions with Alchemy's $5M Everyone Onchain Fund. Access up to $25,000 in credits to build gas-free apps on Alchemy Rollups with gasless transactions. --- # Fantom Opera Development Platform - RPC Nodes and Tools URL: https://www.alchemy.com/fantom-opera Build fast and ultra-low-cost apps with Fantom Opera's EVM-compatible network. Get started on Opera now, and stay tuned for Sonic when it's live! --- # Faucets - Get Testnet ETH and More URL: https://www.alchemy.com/faucets Get testnet tokens for over 15 chains, including Ethereum Sepolia, Arbitrum, Base, Optimism, Polygon, and more. --- # Fintech on Alchemy URL: https://www.alchemy.com/fintech Build the future of fintech with Alchemy. --- # Alchemy Firewall URL: https://www.alchemy.com/firewall Industry leading, battle-tested security trusted by blockchain enterprises worldwide. --- # Flow Development Platform - RPC, Development Tools URL: https://www.alchemy.com/flow Create seamless, user-centric apps that harness Ethereum's power with unparalleled ease. Get your API key today! --- # Web3 Game Development - Alchemy URL: https://www.alchemy.com/gaming Build games faster and onboard more players with Alchemy's web3 gaming toolbox. --- # Gasless Crypto for Fintechs, DeFi & Institutions URL: https://www.alchemy.com/gasless-transactions Build crypto payments and DeFi apps without gas fees. Multi-chain support, compliance controls, and fiat billing. Trusted by industry leaders. --- # Geist Development Platform - RPC & APIs URL: https://www.alchemy.com/geist The first members-only gaming chain is live --- # Gnosis Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/gnosis Build on a truly decentralized, community-driven blockchain. Gnosis chain offers unmatched affordability, robust security, and seamless development. --- # Calculate and Convert Wei, Gwei, and ETH URL: https://www.alchemy.com/gwei-calculator Use Alchemy's gwei calculator to convert wei, gwei, and ether. Plug in any amount of and automatically calculate the conversion! --- # Hackathon Handbook: A Guide for Web3 Developers URL: https://www.alchemy.com/hackathons Start developing your web3 hackathon project for free in 30 seconds. --- # Holešky Testnet RPC & APIs - Alchemy URL: https://www.alchemy.com/holesky Build fast, user-friendly and secure onchain apps with Ethereum's new Holešky testnet. --- # HyperEVM Development Platform - RPC & APIs URL: https://www.alchemy.com/hyperevm Build with HyperEVM, fully secured by HyperBFT and natively integrated with HyperCore's high-performance order books. --- # Alchemy homepage (Markdown) URL: https://www.alchemy.com/index.md Machine-readable Markdown twin of the homepage: what Alchemy is, the products and chains it supports, and who builds on it. --- # Ink Development Platform - RPC & APIs URL: https://www.alchemy.com/ink Ink, the chain built on the Superchain and unleashed by Kraken, connects you to innovative financial opportunities through seamless, interoperable access. --- # Integrations for Rollups URL: https://www.alchemy.com/integrations Customize your rollup. Work with the best teams in web3 for the services and tools you need onchain. --- # Lens RPC & APIs URL: https://www.alchemy.com/lens Scalable EVM-compatible chain on Ethereum, powered by zkSync --- # Linea Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/linea A lightning-fast, low-fee Layer 2 solution bootstrapped by Consensys. Enjoy seamless MetaMask integration, EVM equivalence, and a complete web3 toolkit. --- # Mantle Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/mantle Build fast, user-friendly and secure onchain apps on Mantle mainnet and testnet. Sign up for Alchemy and get your API key today! --- # Metis Development Platform - Node RPC & Web3 APIs URL: https://www.alchemy.com/metis Build permissionless, frictionless and boundless apps on Metis, the first EVM-equivalent L2 with a decentralized sequencer. --- # Monad - RPC and APIs URL: https://www.alchemy.com/monad Monad is the fastest EVM L1 with limitless potential. Builders can create any dapp they can imagine with the coding language and tools they're familiar with. --- # Alchemy + Monad Grant URL: https://www.alchemy.com/monad-grant We're supporting builders on Monad with up to $10,000 in credits per team. Come build with us! --- # Stablecoin Blockchain Infrastructure for Neobanks URL: https://www.alchemy.com/neobanks Launch stablecoin accounts, crypto trading, and instant global payments in weeks. Built for neobanks and fintechs. Trusted by World, Robinhood, and more. --- # Supercharged for web3 Builders – Alchemy Newsletter URL: https://www.alchemy.com/newsletter A newsletter for crypto builders: get weekly dev tools, feature updates, product drops, and web3 insights trusted by 385K+ founders and engineers. --- # Newsroom - Latest News, Podcasts, and Videos from Alchemy URL: https://www.alchemy.com/newsroom Newsroom --- # NFT API | Build on 30+ chains URL: https://www.alchemy.com/nft-api Alchemy's NFT API is the multi-chain API to launch, verify, analyze, trade and display NFTs. --- # NFTs and Digital Collectibles - Alchemy URL: https://www.alchemy.com/nfts Learn how brands use NFTs and Digital Collectibles to enhance loyalty programs, reward their top customers, and create unique experiences. --- # OP Mainnet Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/op-mainnet Build ultra fast, scalable, EVM-compatible products on OP Mainnet, using Alchemy's leading blockchain developer platform. --- # opBNB Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/opbnb BNB Chain's optimistic rollup. 100M+ gas/sec for scalability, $0.001 average per transactions. Build high-performance, low-cost apps on Alchemy today! --- # Guides - Blockchain Education and Research URL: https://www.alchemy.com/overviews Long-form guides covering the most important blockchain topics, including infrastructure, application development, and more. --- # Global Stablecoin Payment APIs on Alchemy URL: https://www.alchemy.com/payments Send stablecoin payments globally with 99.99% uptime. Lower fees, instant transfers, and yield on float. Trusted by Visa, Stripe & more. --- # Build on Plasma with Alchemy URL: https://www.alchemy.com/plasma Plasma is an L1 designed from the ground up for stablecoins. --- # Polygon PoS Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/polygon Build on Polygon PoS with Alchemy's RPC nodes, Enhanced APIs, and developer tools. Get reliable infrastructure for fast, low-cost transactions on Polygon's proof-of-stake network. --- # Alchemy Pricing: Free, Pay as You Go & Enterprise Plans URL: https://www.alchemy.com/pricing Start free with 30M compute units per month. Pay as You Go from $0.40/1M CU. Enterprise plans with custom SLAs and dedicated support across 100+ chains. --- # Private Chains - Alchemy URL: https://www.alchemy.com/private-chains Launch a permissioned chain with confidential data, custom permissioning, and built-in compliance controls on Alchemy's enterprise infrastructure. --- # Build vs. Buy: A Decision Framework for Blockchain Infrastructure | Alchemy URL: https://www.alchemy.com/resources/build-vs-buy Free guide: the true costs, technical challenges, and strategic considerations for blockchain infrastructure. Featuring case studies from Polymarket, World Chain, and more. --- # Alchemy Dashboard Demo: Complete Video Walkthrough | Alchemy URL: https://www.alchemy.com/resources/dashboard-demo Free 30-minute guided walkthrough of the Alchemy dashboard. See every tool live: Node APIs, data APIs, webhooks, gas management, request debugging, and more. --- # Digital Assets: A Complete Guide for Banks | Alchemy URL: https://www.alchemy.com/resources/digital-assets-for-banks Free guide: everything banks need to know about stablecoins, deposit tokens, and building a digital asset strategy. Download now. --- # RaaS Platform by Alchemy | Build ZK & Optimistic Rollups URL: https://www.alchemy.com/rollups Deploy a custom blockchain with the RaaS platform for ambitious teams. Choose from OP Stack, Arbitrum Orbit, ZK Sync Stack. Receive white glove engineering. --- # Rootstock Development Platform - RPC & APIs URL: https://www.alchemy.com/rootstock Rootstock is a Bitcoin sidechain. The Layer 2 solution combines the security of Bitcoin's proof of work with Ethereum's smart contract capabilities. --- # The industry-leading RPC API URL: https://www.alchemy.com/rpc-api Alchemy's RPC API is the most widely used Ethereum, EVM compatible, and Solana API with peak reliability, data correctness, and scalability. Get started today! --- # Alchemy Sandbox - Troubleshoot & Debug Blockchain Requests URL: https://www.alchemy.com/sandbox Create, analyze, and debug Ethereum requests with the Alchemy Sandbox, a free developer tool created by Alchemy. --- # Scroll Development Platform - RPC & APIs URL: https://www.alchemy.com/scroll Experience Ethereum-equivalent development, lightning-fast, and low-cost transactions on Scroll. --- # Security at Alchemy - Data, Operational, and Cloud Security URL: https://www.alchemy.com/security Explore Alchemy's security practices. If you identified a security issue with Alchemy, please report them through support or email security@alchemy.com. --- # Smart Websockets - Alchemy URL: https://www.alchemy.com/smart-websockets Alchemy Smart Websockets gives your users the Web3 visibility they deserve and love, with minimal code changes. Get started for free. --- # Node Snapshots | Alchemy URL: https://www.alchemy.com/snapshots Download pre-validated blockchain snapshots to accelerate node synchronization. Free, fast, and reliable snapshots for supported networks. --- # Solana Development Platform - RPC Nodes & APIs | Alchemy URL: https://www.alchemy.com/solana Build on Solana with Alchemy's RPC nodes, Enhanced APIs, and developer tools. Get reliable infrastructure for high-throughput, low-latency applications on the Solana network. --- # $20M Solana Fund — Up to $25K in Credits | Alchemy URL: https://www.alchemy.com/solana-20m-fund Apply for the Alchemy Solana Fund: up to $25,000 in credits per team. Fast, reliable Solana infrastructure — no lock-in. --- # Solana gRPC Streaming - Yellowstone-Compatible | Alchemy URL: https://www.alchemy.com/solana-grpc Yellowstone-compatible Solana gRPC streaming with multi-node reliability, usage-based pricing from $75/TB, four global regions, and automatic backfill on reconnect. --- # Soneium Development Platform - RPC & APIs URL: https://www.alchemy.com/soneium Scale your apps with Soneium, a EVM-compatible L2 by Sony Group & Startale Labs. Start building today! --- # Sonic Development Platform - RPC & APIs URL: https://www.alchemy.com/sonic Build fast, scalable apps on Sonic - the ecosystem where you can earn by building apps that boost on-chain traffic. --- # Build on Stable with Alchemy URL: https://www.alchemy.com/stable The USDT-native Layer-1 --- # Starknet Development Platform - RPC Nodes & APIs URL: https://www.alchemy.com/starknet Build on Starknet for low-cost scalability, Ethereum composability and native Account Abstraction. --- # Alchemy Startup Program — Credits, Support & Infrastructure URL: https://www.alchemy.com/startup-program Get Alchemy credits, $5,000 in AWS credits, and dedicated engineering support to build and scale your startup on the best blockchain infrastructure. --- # Alchemy Support Hub - FAQs and Knowledgebase URL: https://www.alchemy.com/support Explore our comprehensive knowledge base to find solutions to your issues by filtering through categories --- # Support Categories - Alchemy Knowledge Base URL: https://www.alchemy.com/support/categories Browse Alchemy support articles by category — account setup, billing, API usage, wallet services, and more. Find answers to common questions fast. --- # Switch to Alchemy - Get Up to 3 Months Free URL: https://www.alchemy.com/switch-to-alchemy Switch to Alchemy and we will buy out your current contract. Get up to 3 months of free credits. --- # Token API - Ethereum, Polygon, Optimism, Arbitrum - Alchemy URL: https://www.alchemy.com/token-api The token data your users expect, no token list required. Available on all EVM-supported chains. --- # Transfers API - Ethereum, Polygon, Optimism, Arbitrum URL: https://www.alchemy.com/transfers-api Get all historical transfers for an address or a contract, capturing internal transfers, external transfers and token transfers. --- # Unichain Development Platform - RPC & APIs URL: https://www.alchemy.com/unichain Experience lightning-fast, cost-effective transactions and seamless cross-chain liquidity with Unichain, the L2 solution designed for the future of DeFi. --- # Alchemy Ventures - Investing in the Best Web3 Startups URL: https://www.alchemy.com/ventures Alchemy Ventures invests in teams building revolutionary products for the web3 ecosystem. Are you fundraising? Reach out to us! --- # Contact Alchemy Ventures - For Startups URL: https://www.alchemy.com/ventures-contact-funding Contact the Alchemy Ventures team to learn more about funding opportunities for your web3 startup. --- # Contact Alchemy Ventures - For Investors URL: https://www.alchemy.com/ventures-contact-investors Contact the Alchemy Ventures team to learn more about ongoing web3 fundraising deals that we are actively evaluating. --- # Verify Socials | Alchemy URL: https://www.alchemy.com/verify Verify whether an email address or account from Telegram, Twitter, Discord or LinkedIn comes from a verified Alchemy employee. --- # Webhooks - Real time blockchain notifications URL: https://www.alchemy.com/webhooks Subscribe to your application's onchain event notifications with smart webhooks. --- # World Chain Development Platform - RPC & APIs URL: https://www.alchemy.com/world-chain Start building on World Chain, Worldcoin's own chain, built on Alchemy Rollups, and get access to proven reliability and a full platform of APIs. --- # Alchemy Wrapped 2025 | Year in Review URL: https://www.alchemy.com/wrapped Explore Alchemy's 2025 highlights: the developers, transactions, and innovations that shaped the year in web3. --- # ZetaChain Development Platform - Node RPC & APIs URL: https://www.alchemy.com/zetachain Build fast, user-friendly and secure onchain apps on ZetaChain mainnet with Alchemy's RPC APIs, Subgraphs, and more. Get your API key today! --- # ZKsync Development Platform - RPC & APIs URL: https://www.alchemy.com/zksync Build fast, user-friendly and secure onchain apps with ZKsync's EVM-compatible zero-knowledge rollup. Start building on ZKsync today! # Blog --- # 12 Things You Can Do Faster With the Alchemy CLI | Alchemy URL: https://www.alchemy.com/blog/12-things-faster-with-alchemy-cli.md Every onchain project used to start the same way: open a dashboard, copy an API key, paste a private key into `.env`, npm install three SDKs, then finally write the line you came for. Your coding agent burned half a session figuring out which RPC method to call. The [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) collapses that setup tax into commands you can pipe, script, or hand to a coding agent. Your terminal is the fastest path onchain. This post walks through twelve things the CLI does in one command: signing in, spinning up an agent wallet, reading any chain, simulating writes, sending tokens, swapping, bridging, and wiring the same tool into Cursor, Claude Code, or Codex. Every command shown ships today. ## What is the Alchemy CLI? The Alchemy CLI is a single [npm package](https://www.npmjs.com/package/@alchemy/cli), `@alchemy/cli`, that wraps every API surface we ship (Core RPC, the Data API, swap, bridge, simulate, webhook, admin, and wallet) behind a consistent set of subcommands. Install once with `npm i -g @alchemy/cli@latest`, run `alchemy auth`, and the same flag set works on every command. Pipe `--json` into `jq`, gate scripts with `--no-interactive`, and the same surface that runs at your terminal also runs inside an AI coding agent. The whole point: the workflow your team already runs through the dashboard or an SDK now collapses into one command line that a developer can script and an agent can call. ## Auth and identity in one terminal ### 1. Sign in once with `alchemy auth` `alchemy auth` opens a browser, signs you into your account, and stores the session on disk. No more pasting API keys into every `.env` across every project. Switch teams with `alchemy auth login --force`, check state with `alchemy auth status`, clear with `alchemy auth logout`. One command replaces the "copy key, paste key, gitignore key, rotate key" loop that every project repeats. ### 2. Spin up an agent wallet with `alchemy wallet connect` The CLI ships [agent wallets with Privy custody](https://www.alchemy.com/blog/agent-wallets-alchemy-cli). Privy is the embedded-wallet provider that holds the wallet's private key on its side. `alchemy wallet connect --mode session` generates a fresh P-256 keypair locally, registers a time-bound session with the Privy backend, and signs in two steps: the CLI signs the session-key payload, Privy signs the wallet. The private key never leaves Privy and the session key never leaves your device. Revoke from the dashboard or with `alchemy wallet disconnect`, and the session stops working immediately. For a local-key workflow: `alchemy wallet connect --mode local --chain evm --import ~/.wallet/key`. Either way, the private key is never sitting in `.env`. ### 3. Pay as you go with `--x402` Set `--x402` on any command and the CLI authenticates against our APIs with the connected wallet instead of an API key. When a request hits a paid endpoint, the endpoint returns HTTP 402, the CLI signs the [x402 payment payload](https://docs.x402.org/), and the request completes. x402 is an open spec from Coinbase for HTTP-native payments; settlements run in USDC on Base. Agents can start with [as little as $1](https://www.alchemy.com/blog/ai-agents-can-now-sign-up-for-alchemy) in compute credits, no dashboard signup required. An agent (or a human dev who has never signed up) can now hit the same APIs your production workloads run on. No API key, no dashboard, no contract. ## Read any chain without writing fetch boilerplate ### 4. Hit any JSON-RPC method on any chain `alchemy evm rpc` passes any JSON-RPC method through to the network you select with `-n`. No hand-writing fetch envelopes, no SDK install dance for a five-line script. For Solana, use `alchemy solana rpc` for JSON-RPC and `alchemy solana das` for Digital Asset Standard methods. The shape stays the same across every chain we support. ### 5. Pull a multi-chain portfolio in one call `alchemy evm data portfolio tokens` returns token balances across every chain a wallet has touched. No stitching seven RPC providers together, no chain-by-chain `eth_call` to each ERC-20 contract. Pair it with `portfolio nfts` for the same trick on NFT collections. The same endpoints power our [Data API](https://www.alchemy.com/docs/data) indexers in production. ### 6. Query balances, transfers, and NFTs as one-liners Balances, token metadata, transfer history, and NFTs each ship as a single subcommand on the Data API surface. Add `--metadata` and the call returns name, symbol, decimals, and logo URL inline. The reads that used to span four different SDK clients now ship as four flags on one CLI. ## Write transactions from your shell ### 7. Simulate before you send `alchemy evm simulate asset-changes` returns a human-readable diff of every token and ETH movement a transaction would cause. `simulate execution` returns the full trace. The reader sees exactly what the call does before it lands onchain. Run this before any `evm send` or `contract call` that touches mainnet funds. It saves the "I just bricked my hot wallet" rerun. ### 8. Send to an ENS name in one line `alchemy evm send` resolves ENS, handles gas, and signs with whatever wallet is currently active (session, local, or Privy-custodied). Combine with `--x402` and the same call routes through the wallet you connected at step 2. ### 9. Approve, swap, and bridge from the same shell `alchemy evm swap execute` takes a same-chain swap from quote to execute. `alchemy xchain bridge execute` does the cross-chain version. `alchemy evm approve` handles the ERC-20 allowance every DEX swap needs first. Same-chain swap is live across 11 EVM mainnets, including Ethereum, Base, Arbitrum, Optimism, Polygon, and BSC, per the [Alchemy CLI docs](https://www.alchemy.com/docs/alchemy-cli). Cross-chain bridge ships in the CLI today too. The dashboard wizard collapses to three lines of shell. ## Wire the CLI into your coding agent ### 10. Drop a full agent manifest with `alchemy agent-prompt` `alchemy agent-prompt` emits a JSON document describing every command, flag, error code, and example. Pipe it into your agent's system prompt and the agent stops guessing flag names. .alchemy-prompt.json`} /> The manifest includes an execution policy, preflight checks, the auth matrix, the command tree with options, an error catalog with retry semantics, and runnable examples. For Cursor, Claude Code, Codex, or any other coding agent, the file goes straight into the system prompt. Pattern in practice: [How to build onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents). ### 11. Install Alchemy Skills `alchemy install skills` installs the [Alchemy Skills bundle](https://github.com/alchemyplatform/skills) into your agent client. Skills are machine-readable workflows that teach a coding agent how to use the CLI without reading docs at runtime. The bundle covers four surfaces: the CLI itself, app integration via API keys, MCP, and the wallet-based payment flow. One command swaps "the agent has to scan docs every session" for "the agent already knows the workflow." ### 12. Hook up MCP `alchemy install mcp` wires the [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) into your agent client. MCP (Model Context Protocol) is an open spec that lets agents discover and call tools at runtime. The hosted server lives at `https://mcp.alchemy.com/mcp` and exposes more than 150 tools across 100+ chains: admin, every RPC method, and the Data API surface. For Claude Code specifically: Skills, the agent-prompt manifest, and MCP together make the CLI a first-class capability inside an agent's tool inventory, not a side dependency. ## The five-call agent demo: yield comparison, bridge, supply The canonical demo that ships with the [Alchemy Skills repo](https://github.com/alchemyplatform/skills) reads USDC supply APY on Polygon, Arbitrum, and Optimism, bridges 0.2 USDC from Base to the highest-yielding chain, and supplies to Aave V3. Five CLI calls, same surface that powers the rest of this post. In the demo above, the agent finds the best Aave market for USDC, bridges funds to the right chain, and deposits into the pool. Until today, that workflow required either custom agent code holding a private key or a hand-built integration between a wallet SDK and a coding assistant. Now it is a few commands and a dashboard click. ## Start your first command You just saw twelve commands. Here's the two-minute on-ramp: install, sign in, connect a wallet, send. No SDK sprawl, no private key in `.env`, no dashboard round-trip. Whatever your onchain workflow looks like, the CLI runs it from one prompt. Your terminal is the fastest path onchain. --- # Announcing the 2025 Alchemy Internship Program URL: https://www.alchemy.com/blog/2025-internship-program.md At Alchemy we’re tackling some of the fundamental and most difficult challenges in blockchain infrastructure as we work towards our mission of bringing one billion people onchain. We’re excited to announce our 2025 internship program so we can partner with the best engineers on college campuses to help accelerate our mission. The intern program offers student developers the opportunity to dive deep into blockchain infrastructure and work in cutting-edge domains like zero-knowledge proofs, MEV, client design, and smart contract engineering, all the while advancing the state of developer tooling. This is your chance to collaborate in person in either San Francisco, New York, or Bucharest, with industry leaders on projects that are pushing the boundaries of what's possible in decentralized technology. You'll gain hands-on experience with the latest advancements in cryptographic protocols, contribute to open-source initiatives, and help build the tools that empower the global Web3 developer community. If you're excited about exploring and solving complex technical challenges, and want to be part of a team that's shaping the future of web3, we encourage you to apply. Join us in our mission to make blockchain development more accessible and scalable. ## What are the requirements for the role? - Candidates must be currently enrolled in their school \(either graduate or undergraduate\). Unfortunately, we won’t be considering new grads for these positions. - Candidates must be available to work full-time onsite in any of our offices. We will be providing competitive hourly rate compensation; however, there won’t be relocation or housing assistance offered. - The window for these internships will be approximately 14 weeks from May 2025 - August 2025. We can be flexible on dates in the event candidates have slightly different school schedules. We will also consider candidates who are eligible for 6 month co-op programs. - Preference will be given to candidates in Computer Science, Software Engineering, or related majors with prior internship or co-op experiences. ## What is the timeline for filling these positions? We’ll be accepting applications until October 25, 2024 and then reviewing candidates the week of October 28, 2024. Screening and interviews will take place in November, with offers going out in early December. --- # Alchemy Launches $25M Developer Grants Initiative URL: https://www.alchemy.com/blog/25m-web3-developer-grant.md Update: Applications are now [open](https://www.alchemy.com/developer-grant-program)! Introducing the WAGBI Grant \(We're All Gonna Build It 👷🛠️\)! Given the drastic market conditions, we’ve decided to double down on our mission to make [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) accessible to everyone. Today we’re announcing the [Alchemy Grants Initiative](https://www.alchemy.com/developer-grant-program), which brings $25 million in grants to web3 developers and startups.  Though the macro and crypto markets have had a massive price crash, we’ve seen a 3x increase in the number of teams building web3 products since January. Web3 is just getting started and the acceleration in smart developers building useful products is a key indicator to us that we’re about to see an explosion in products with real utility. Starting on Monday 6/20, developers can apply to receive up to $50,000 in Alchemy credits to build DeFi protocols, NFT marketplaces, or any other projects that help encourage the adoption of Web3. We expect to begin issuing the grants on Wednesday 7/6. ## Why now Hundreds of thousands of developers are building in Web3 right now. They’re experimenting with new ideas. They’re building new companies. They’re turning business models upside down and taking power away from entrenched centralized groups and giving it back to people. In just the last 5 months, Alchemy has seen the number of teams building just on our platform grow by more than 3x. But there’s another reality. Winter is here. You see it in the headlines. Crypto prices are down. NFT volumes are down. Layoffs are up. But the headlines about the downturn are missing the same basic truth that they missed when everything in Web3 was a rocket ship – Web3 is a technological wave with a huge future. And the ideas that will define the next 20 years of Web3 will be built in the next two. We’re committed to supporting devs through this.  We’ve put resources into education with [Web3U](https://www.web3.university/) and [The Road to Web3](https://www.alchemy.com/docs/alchemy-quickstart-guide) – and early-stage funding with [Alchemy Ventures](https://www.alchemy.com/ventures). Now we’re putting our resources into helping developers through the most challenging market we’ve seen in years.  Because look, at the end of the day, we fundamentally believe \#[wagmi](https://www.alchemy.com/dapps/wagmi). ## FAQs ### Who is eligible for access to the Alchemy grants initiative? Developers who are new to web3. The Alchemy Grants Initiative is designed to encourage new builders to get into web3 and start building the next [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), DeFi protocol or anything else that will further the ecosystem.  We recognize that many of our existing devs are impacted by the current macro market conditions, and we want to help you too. If you’re already an Alchemy customer with a free or Growth tier account and are interested in applying to the Grants Initiative, submit an application next week. Once we begin accepting applications, we will share more details on developer eligibility criteria.   ### How does this compare to your existing free tier? We believe this is complementary to our existing free tier and will help devs who are using services that require more compute units, such as our NFT API, Transfers API, SDK and other proprietary tooling.  Our free tier is the most generous free tier available and is a great option for tons of devs - allowing up to 12M requests per month. If you think this option would work for you, [sign up today](https://dashboard.alchemy.com/signup/?a=Grants-Initiative).  ### When will I be able to apply? And when will I receive the grant? We will open up applications for Alchemy’s Grant Initiative next week. Applications that meet our criteria will be reviewed and considered, with the initial set of grants to begin rolling out Wednesday 7/6. ### What was the motivation behind the Alchemy grants initiative? Unstable markets are a reminder to stay focused and do what we do best: provide the tools and resources for relentless web3 product innovation. Based on the number of developer teams building on Alchemy, and the engagement we see daily across communities like Web3 university and the Road to Web3, the long-term health of crypto — which is powered by developers — is healthier than ever. So let’s keep going. --- # 5 NFT Tips for Launching Your Next Collection Successfully URL: https://www.alchemy.com/blog/5-tips-for-nft-success.md As NFTs \(Non-fungible Tokens\) continue to grow in popularity, many web3 developers, growth marketers, and entrepreneurs are eager to test the waters.  But what exactly does it take to create a successful NFT project long-term? This article will cover some of the tried and true tips to help set you up for success.  ## 1. Your NFT community comes first Your community is what will ultimately determine the success of your NFT project. Whether you're an indie artist trying to make money selling NFTs or a web2 brand looking to experience the NFT space first-hand, your collectors should be the top priority. Creating a strong community is easier said than done. Here are a few NFT tips to get started. ### Get started building a community now.  Whether that's growing your brand, setting up a Discord and Telegram, or engaging with your potential buyers regularly, start now. There will never be the perfect time to launch your community. The more effort you put into brand-building now, the better chances you have of [selling a successful NFT project](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project) and building a loyal following for the long term.  Invest time into where your audience spends time.  You don't have to be on every social media platform, have a perfect website, or create a viral YouTube channel to sell out NFT collections.  #### NFT community building tips - Find where quality investors spend their time, and make an investment in their channels. - Connect with NFT buyers and crypto enthusiasts - Buy and support original, 1/1 NFT art. - Join Twitter spaces to share your idea While Discord is one of the more popular platforms for those interested in crypto and NFTs, Twitter, TikTok, and Telegram can also be worth your while..  ### Partner with reputable influencers and companies. Many NFT projects fall into the trap of hiring 'big name' blockchain influencers, celebrities, or social media personalities to promote their story. Unfortunately, this doesn't always go according to plan. It's essential to partner with reputable crypto social media influencers and companies with a history of integrity and aren't known for supporting scams. Don't let a "big name" hurt your project's reputation. Choose partners that believe in your project and the NFT space as a whole. Do your research and only work with individuals you trust.  ### Use these NFT marketing tips before your collection drops. Don't wait until the week before launch to hype up your launch - it's critical to start sharing your NFT collection as soon as you can. - Create a social media campaign - Share the long-term vision - Publish teasers of the art - Run whitelist competitions - Create games that encourage participation Unless you're launching a stealth NFT collection where you intentionally aren't marketing it, dropping a new NFT collection should never be a surprise. ## 2. Price your NFT project fairly One of the most important parts of building a successful NFT project is [setting your initial NFT mint price](https://www.alchemy.com/docs/reference/nft-api-endpoints) correctly. If you charge too high of a mint price upfront, you risk losing your momentum, not selling out your collection, and losing the support of your collectors. In addition to setting a fair price, it’s also important to set a fair royalty on all secondary NFT sales. If you set a high royalty, holders will not be able to capture as much value from the community they helped build which may deter them from minting your NFT. ### NFT pricing tips Here are a few practical tips for setting an appropriate price on your NFT: - Spend time talking to your community about what is a fair price. - Take into account your vision and ability to deliver value long term. - Research the top NFT projects on sites like Nonfungible.com or [Dune Analytics](https://www.alchemy.com/dapps/dune-analytics).  - Generally, 0.05 - 0.1 ETH is where most successful NFT projects set their mint price - Set your price to invite many supporters to participate \(don’t make it too expensive\)  - Initial mint sales are not the only way to earn money from NFTs - secondary sales on NFT marketplaces like [OpenSea](https://www.alchemy.com/dapps/opensea) can drive long-term revenue through NFT royalties ### Successful NFT pricing example: smol brains Some projects like **Smol Brains** even went the "free mint" route, and having their collectors just cover [the cost to deploy an NFT.](https://www.alchemy.com/overviews/nft-deployment-cost) knowing that the value they create over time would allow them to build a sustainable venture and earn money off secondary sales.  Remember, it's not about how you start; it's about what value you can create over time. ## 3. Plan a quality NFT roadmap While a successful NFT launch is exciting, it's only the first step to creating a project that withstands the volatile nature of NFT markets and people simply flipping NFTs to make money.  When done right, most of your revenue will come from NFT royalty payments from secondary sales, making it crucial to continue adding value to your collection after mint. While there are [pros and cons of creating a DAO](https://www.web3.university/article/the-pros-and-cons-of-building-a-dao), NFT collections can consider creating a DAO where holders can participate, promote, and push the NFT project's direction forward. Additionally, thinking of ways to add more value to the people investing in your NFT can further increase enthusiasm.  ### Examples of NFTs that increase value with strong roadmaps One of the clearest examples of NFT projects that continue to expand their roadmap to drive value back to their holders is [Bored Ape Yacht Club](https://boredapeyachtclub.com/) \(BAYC\).  BAYC famously airdropped serums to create mutants, dramatically increasing interest in, and many BAYC holders were able to sell their mutant for much more than the cost of the initial mint.  Now, with the launch of $APE Coin, the purchase of CryptoPunks and Meebits, and a new roadmap, it’s clear the BAYC team is focused on creating long-term value for their holders. While you might not have everything figured out initially, listening to your community and continuing to test new ideas to drive value accrual will set your NFT up for long-term success.  ## 4. Communicate effectively and often Don't let the simplicity of this NFT tip fool you; regular communication from your core team of contributors can quite literally make or break your project. With so many "rug pulls," keeping your community up-to-date with popular crypto communication tools like **Discord** and **Telegram** is important.  The worst thing you can do to derail momentum is go radio silent after launch. ### NFT project communication tips Here are some quick tips to improve the communication for your NFT collectors: - Commit to a regular communication schedule and do your best to stick to it. - Invest in hiring someone on your team to support your community. - Create educational resources to help your holders know what is going on.  - Have moderators online to answer questions. - Regularly post in the \#announcements channel and tag @everyone. - Stay ahead of urgent communications \(e.g. roadmap setbacks, hacks, etc.\) Posting updates multiple times per week, troubleshooting holder support requests, and being online to engage your holders sends strong signals your project is not a scam and your team is focused on positive sum value accrual. ### Parallel: a successful NFT project that communicates with holders [The sci-fi card game Parallel](https://parallel.life/) does an excellent job setting a good example by holding weekly community calls where anyone can attend and ask questions. It's one of the many reasons they have been able to build such a loyal fan base quickly.  ## 5. Invest in your NFT code Because bad actors are rampant in crypto and NFTs in general, it's critical that when you’re [creating an NFT](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) to ensure your code is well-written to protect your users from potential exploits.   Whether you have an in-house dev or are outsourcing your NFT contract work, it's important to invest in the best web3 developer talent that you can afford or find through networking.  While common NFT smart contracts used by many teams in the industry like the ERC721 and ERC721A help mitigate risks, exploits are always a possibility. Because exploits can be disastrous for the overall success of NFT projects, if you have the capacity to hire a smart contract auditing firm, it may be good to have your contracts reviewed.,  Don't let your enthusiasm to launch cause you to skip the most basic of security precautions. It makes a difference.  ## Use these NFT tips to make your launch a success With some [$41 billion worth of crypto spent on NFT marketplaces in 2021](https://fortunly.com/statistics/nft-statistics/#gref), it's an incredibly exciting time in the world of Non-fungible tokens.  To make your NFT launch a success it's crucial to put in the work. Use this list of tips to ensure success for your mint and the long-term value creation for your holders. --- # Abstract is live! URL: https://www.alchemy.com/blog/abstract-is-live.md We're happy to announce our latest chain integration with Abstract, a [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) rollup designed for onchain culture and community. Get your API key for Abstract testnet [here](https://dashboard.alchemy.com/chains/abstract?utm_source=blog&utm_medium=medium&utm_campaign=abstract) & start building! **What is Abstract?** Abstract is a ZK rollup built on top of Ethereum, dedicated to the wide adoption of culture, community and creativity in web3. The [Pudgy Penguins](https://www.alchemy.com/dapps/pudgy-penguins) NFT collection has been the starting point for creating an L2 committed to building a web3 infrastructure to support onchain brand building and consumer engagement. Abstract is EVM-compatible and supports all existing Ethereum tooling. It is based on [ZKsync](https://www.alchemy.com/overviews/what-is-zksync-era)'s ZKstack VM which is EVM compatible \(but not EVM equivalent\). The rollup scales Ethereum by moving computation off-chain and verifying batches of transactions through ZK proofs, allowing Abstract to scale Ethereum while still inheriting its high security properties, including censorship resistance and liveness guarantees. If you're focused on SocialFi or NFTs, you can leverage Abstract's benefits to scale and build the next generation of consumer crypto apps: - **Security:** ZK proofs allow Abstract to scale Ethereum while inheriting the same security properties, including censorship resistance and liveness guarantees - **EVM-compatible:** Abstract is EVM-compatible, which means smart contracts are written in [Solidity](https://www.alchemy.com/overviews/solidity)/Vyper and can be called with the same clients as other EVM-compatible chains - **Low Costs:** Abstract uses ZK stack's cryptography technology and EigenDA to provide builders with a low-cost environment. Because Abstract is a rollup, transactions are cheaper and faster compared to Ethereum **Build on Abstract with Alchemy** Use our scalable and reliable web3 infrastructure to develop on Abstract: - **Supernode:** Node API that provide peak reliability, unlimited scalability and data accuracy - **Our suite of products:** Token API, Transfers API and Webhooks - **Developer Tools**: Access Alerts, Sandbox, Logs, and a user-friendly dashboard **Abstract testnet is live on Alchemy - start building!** [Get your API key](https://dashboard.alchemy.com/chains/abstract?utm_source=blog&utm_medium=medium&utm_campaign=abstract) today! --- # Announcing Alchemy's "Access For All Developers Program" URL: https://www.alchemy.com/blog/access-for-all-developers-program.md ## Alchemy increases its free tier capacity by 4x to empower developers after explosive growth in DeFi and NFTs - the next step to increasing developer access. Helping blockchain developers globally build great products has been Alchemy’s mission since Day 1. Since the public launch of our developer platform, Alchemy has transformed into the home for tens of thousands of developers around the world that powers $30\+ billion dollars worth of on-chain transactions and 70% of the top Ethereum applications. Today, we are accelerating the important work of all these developers by expanding our free and growth tiers to make Alchemy the most accessible developer platform in the blockchain space. ## The tl;dr We’re updating our pricing to give you 4x more power, completely for free. The Most Robust Free Tier EVER: 4x more monthly compute included \(~4,000,000 requests/monthly\) and free archive data! Enhancing and Expanding the Growth Tier: 3x more monthly compute included \(~6,000,000 requests/monthly\) and up to ~20% cheaper tiered pricing so you pay less as you automatically scale. ## The new standard: alchemy’s 4x free tier As ecosystem builders, Alchemy is committed to creating better, more affordable, and reliable products. We’ve had massive technological improvements and economies of scale so we want to pass these benefits onto you and together we can help more people get into blockchain. This ensures that we're continuously putting all of our customers in a position to be massively successful. It is the vision and hard work from the tens of thousands of developers building on Alchemy that will be the lever that accelerates mass adoption for all of crypto and blockchain. We took this ethos to heart when expanding our free tier by 4x from the previous capacity. Developers now have the power of 100mm compute units with access to complex, expensive features like full archive data, bespoke developer tooling, and analytics at no additional cost. As the space continues to mature, developers need access to essential tools that enable them to support and build applications that weren’t possible before. With our Free Tier expanding from 25mm CU to 100mm CU, developers now have the ability to ship their products without having to worry about infrastructure costs on every supported blockchain on Alchemy including Ethereum, [Crypto.com](https://www.alchemy.com/dapps/crypto-dot-com), Flow, Arbitrum, Optimism, and Polygon. Over the last few years, we’ve already seen former free tier users like OpenSea, CryptoPunks, and Axie Infinity turn into massive success stories for the ecosystem. With this new initiative “Access for All Developers Program” we’ll see these incredible stories unfold at a higher velocity throughout the space. ## The growth tier at scale As applications begin to gain traction and expand their functionality this is where Alchemy’s new Growth Tier becomes a perfect fit — with higher dedicated throughput and the ability to autoscale, this tier is already the infrastructure backbone of most quickly growing applications in the blockchain space. Moving forward to make this even more developer-friendly, we’re doing two core things to continue enabling developers to scale effortlessly: 1. Increasing the included Growth capacity by 300% 1. Adding up to 20% deeper tiered discounts, so you pay less as you scale With these improvements, every production application can now grow faster while paying ~20% less for its usage. Empowering teams to focus 100% of their time building their core application while we focus on running their infrastructure at scale will set them up to become the next application used by millions of users around the world. ## Looking ahead Alchemy believes that these capacity and pricing updates will accelerate [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) and provide even more value to our new and existing customers alike. This pricing expansion is already our 2nd of this year alone and we will continue to reinvest into creating even better products at a lower cost for all of our customers. We view this ongoing commitment as an investment in the blockchain community to help individuals and early-stage projects have more capacity to build and experiment with decentralized applications without being constrained by computing capacity or cost, while also providing Growth Tier customers with more support and flexibility to meet growing demand from users. Let us know what you think about the changes on Twitter [@Alchemy ](https://web.archive.org/web/20210829001409/https://twitter.com/AlchemyPlatform)and if you are a team scaling further beyond your current plan, feel free to reach out to us at** sales@alchemy.com**. Let’s keep building together! --- # Building a modular future for account abstraction: ERC-6900 URL: https://www.alchemy.com/blog/account-abstraction-erc-6900.md Account abstraction is core to Alchemy’s mission of bringing the next billion users onchain. Anyone who has used a traditional crypto wallet has experienced the frustrations and poor UX that have until now been a major obstacle for onboarding new users to the space. By making smart accounts programmable, [ERC-4337](https://www.erc4337.io/) is ushering in a new era of wallets with better UX for users and new features for developers like sponsored gas and social logins. Impressive as these advances are, they’re only the beginning of what’s possible with account abstraction. ERC-4337 opens up a much larger opportunity for innovative wallet functionality, and developers are only beginning to explore here. This functionality is increasingly being built in the form of modules or plugins that can automate in-wallet operations ranging from dollar cost averaging to session keys and beyond \([this list](https://www.notion.so/Module-ideas-for-developer-inspo-338100a2c99540f490472b8aa839da11?pvs=21) from Rhinestone gives a sense of the possibilities\). The future we’re building toward is one where developers and users can get the full benefit of this flexibility. Getting there will require going beyond building great developer tools and educational content — it also means building for and with a larger ecosystem of developers, and working toward consensus around the tools to get there. Our commitment to this modular future of account abstraction led us to initiate [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900), a set of universal standards for the design of plugins and their interactions with smart accounts. With the publication of the first [reference implementation](https://github.com/erc6900/reference-implementation) for the standard, we’re excited to bring 6900 to a larger audience of builders. The rest of this post describes the structure, current status and roadmap for ERC-6900. To get there, we start with a brief detour into modularity and its importance to account abstraction.‍ ## Building modularity Modularity at its most general is the concept of unbundling monolithic technologies into component pieces, or modules. In theory this is the best of all worlds - application builders aren’t locked into a single provider, and instead can choose the best providers for each component of their stack. But modularity requires more than some arbitrary set of components - application developers need to be able to use and integrate modules into a coherent whole, and the builders of modules need to know that what they’re building can be used as widely as possible. To see why, let’s consider two builders: Alice and Carol. 1. Alice is an application developer, and wants to build great applications that create value for her users 1. Carol builds modules, and wants to make sure that what she builds is both discoverable and usable by the largest number of application developers. How do Alice and Carol work together? First, effective modularity requires a rich **_ecosystem_** of plugins for application developers to choose from, expanding their toolkit and reducing potential lock-in to any single provider. Second, Alice needs to be able to integrate Carol’s work, and Carol needs to know her work is compatible with Alice’s in order for each to have an incentive to build. The way to achieve this is through **_neutral standards_** that remove friction and enable integration for developers in the ecosystem. Put another way, standards are how modular ecosystems strike a middle ground between monopolistic lockin and uncoordinated chaos. Translating this back to account abstraction, building a modular future will require a rich ecosystem of plugins, which will in turn require a neutral standard that developers can coordinate their efforts around. ## Building a neutral standard for modularity: ERC-6900 By standardizing basic functions and interfaces, ERC-6900 seeks to foster a growing ecosystem of both smart account and plugin developers. Plugin developers should be able to write one plugin that works with all smart accounts, rather than fragmenting their efforts across multiple different account implementations. And smart account builders should be able to access plugins with standardized interfaces that allow them to integrate with confidence. ### How does 6900 work? To realize these goals, ERC-6900 is designed to achieve two technical objectives: - Provide standards for designing plugins for smart contract accounts. - Provide standards for how compliant accounts should interact with plugins. Plugin designers following the standard can work with three standardized components: - **Validation functions** ensure the validity of external calls to the smart account. - **Execution functions** are smart contracts that specify the execution logic for functions within a plugin. - **Hooks** specify more fine-grained actions and validations that can be designed to occur pre- or post-validation, and pre- or post-execution. ERC-6900 seeks to balance the benefits of open composability across plugins with the need to maintain security and interoperability. At a high level, it does this by standardizing how accounts and plugins interact with each other, as well as the pre-installation requirements for plugins. The standard also builds on earlier [work](https://developer.android.com/guide/topics/permissions/overview) by the Android developer community to standardize the interface between smart accounts and plugins. Each compliant plugin will incorporate a manifest that establishes various functions and hooks that need to be added to the smart account on installation. It will also specify aspects of the plugin \(metadata, dependencies and permissions\) that are necessary to constrain the plugin’s ability to act on the smart account. For more detailed information, see the [spec](https://eips.ethereum.org/EIPS/eip-6900). ## What’s next for ERC-6900? ERC-6900 recently reached a significant milestone with the release of its reference implementation, accessible through a [public Github repo](https://github.com/erc6900/reference-implementation). This release represents a pivotal moment in the standard's intended evolution from an Alchemy-initiated project to a genuine community standard. While it’s not yet audited or production-ready, the code provides developers a sample codebase to experiment with as a complement to the formal spec. The spec itself has been improved across several revisions as a result of an active and ongoing dialogue with the community. It also has an expanded author set that includes Yoav Weiss from the Ethereum Foundation’s ERC-4337 team, and authors are already in active discussions with other potential stakeholders, including the developers of complementary standards such as Rhinestone's ERC-7484 and Safe’s [ERC-7512](https://safe.mirror.xyz/Li4Mb4teTEmosE6dAsnJ_iz3aMKOV_4lDU84W4TSfc0), as well as other leading teams developing account abstraction. The ERC-6900 team is also looking beyond these core stakeholders as part of this new phase of building in public. The authors are beginning a series of weekly community calls that are open to the public, beginning on November 7. Please [reach out](mailto:account-abstraction@alchemy.com) if you’d like to join these calls, connect with us on telegram, or keep an eye on the standard’s [Twitter/X account](https://twitter.com/erc6900) for weekly updates. As always - comments and feedback are welcome, whether in the form of a pull request to the Github [repo](https://github.com/erc6900/reference-implementation), a comment to [Ethereum Magicians](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885) or a question in the Modular Smart Contract Accounts telegram [channel](https://t.me/+KfB9WuhKDgk5YzIx). --- # Launching Support for Account Abstraction on Zora and Frax URL: https://www.alchemy.com/blog/account-abstraction-on-zora-and-frax.md We are excited to announce Account Abstraction support for Frax and Zora, two new layer 2 blockchains built on top of Optimism’s Superchain ecosystem! ## What’s included? All Account Abstraction features supported by Alchemy on existing chains are also supported on Zora and Frax. This includes: ### Embedded accounts [Embedded Accounts](/smart-wallets) vertically integrate the Bundler, Light and Modular Account contracts, Signers, and the Account Abstraction SDK into a simple plug and play solution to make launching non-custodial accounts with familiar authentication flows easier than ever. ### Enterprise-grade Modular Account contracts [Modular Account](/blog/hello-modular-account) is a twice-audited implementation of the ERC-6900 standard gives users the freedom to take custody of their own accounts, and extend smart wallet functionality with modular plugins \(e.g. account recovery, spending limits, or recurring payments\). ### Alchemy signer The [Alchemy Signer](https://www.alchemy.com/docs/wallets/signer/what-is-a-signer#alchemy-signer) service lets you create an Embedded Account for your users with login flows for email, passkeys \(i.e. biometrics\), and social auth \(soon\)! ### Account abstraction infrastructure Alchemy’s AA infrastructure includes everything you need to sponsor transactions on behalf of users and land user operations onchain. The [Gas Manager APIs](/gasless-transactions) let you develop custom gas sponsorship policies to alleviate your customer's burden of paying for gas while the [Bundler API](/bundler) offers the most scalable and reliable infrastructure for landing user operations onchain. ### AA-SDK The [Account Abstraction SDK](/blog/aa-sdk-v3) is the most feature-complete developer kit for builders creating apps and wallets compatible with ERC-4337 and ERC-6900 on Frax and Zora. ## How to start building with AA on frax and zora Follow these three steps to get started: 1. Create an app on Zora or Frax from the [Alchemy apps page](https://dashboard.alchemy.com/apps?showModal) 1. Create an account config from the Accounts Manager Dashboard for your Zora or Frax app 1. Integrate Embedded Accounts solution into your app however you see fit For instructions on how to get started, follow the [Embedded Accounts quickstart](https://www.alchemy.com/docs/wallets/react/quickstart). Want more? Explore the [Optimism Superchain Developer Console](https://console.optimism.io/) for developer tools and builder promotions from Alchemy and other infrastructure providers. ## What is fraxtal? [Fraxtal](https://www.frax.com/) is a layer 2 blockchain built on Optimism that uses zero-knowledge rollups for improved scalability and security. Frax’s ecosystem includes a chain with native DeFi infrastructure and [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) FRAX, FPI, and frxETH. ## What is zora network? Zora Network is a creator-focused L2 with exceptional gas efficiency and scalability for NFT minting, powered by the Optimism tech stack. Zora’s primary product integrates the Zora network to provide a seamless experience for creators bringing media on-chain. --- # Alchemy Powers ADI Chain: UAE Stablecoin & Layer 2 URL: https://www.alchemy.com/blog/adi-chain.md We're proud to announce that Alchemy is the core infrastructure provider for [ADI Chain](https://www.adi.foundation/), a new Layer 2 blockchain built on [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era)'s rollup stack. This integration represents continuing momentum in institutional blockchain adoption at multi-national scale. ## About ADI chain ADI Chain represents a significant milestone in institutional blockchain adoption. ADI Foundation is founded by Sirius International Holding, the private sector force behind Abu Dhabi’s Emerging Tech Economy. ADI Chain establishes regulated blockchain infrastructure designed for financial services at scale. The project aims to bring 1 billion people onchain by 2030 by serving global markets, including its core markets across the Middle East, Asia and Africa that have limited access to blockchain technology and the real-world benefits it can provide their societies and citizens. This initiative will be hosting a Dirham-backed stablecoin set to be regulated by the UAE Central Bank, marking a major deployment of blockchain technology for national financial infrastructure. Built on zkSync's [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups)-rollup framework, ADI Chain combines Ethereum's security with the performance and compliance capabilities needed for regulated financial applications. With the goal of reaching 1 billion people across over 20 countries, ADI Chain represents one of the most ambitious blockchain infrastructure projects targeting real-world adoption at national scale. ## Powering critical applications at scale ADI Chain will power critical financial and enterprise applications across five key verticals: - **Fintech Infrastructure:** ADI Chain provides a modular, EVM L2 with programmable compliance for next-gen fintech solutions, from sovereign-grade [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) to AI-driven trading platforms and mobile money rails. - **Cross-Border Payments & Digital Currency:** The Dirham-backed stablecoin enables instant 24/7 transactions worldwide — setting a new benchmark for regulated digital currencies. - **Government Transformation:** ADI Chain offers a digital operating system for upgrading identity systems, payments infrastructure, and registries with full regulatory oversight. Over 20 national partnerships are currently active. - **Supply Chain & Infrastructure:** ADI Chain brings visibility to fragmented systems through programmable compliance, real-time tracking, and verifiable credentials across energy, logistics, and trade. - **Healthcare & Digital Identity:** Secure, portable health records are live in MENA and Africa pilots, enabling real-time access and cross-border sharing while maintaining privacy and compliance. The chain operates with specialized infrastructure requirements to meet regulatory compliance, including on-premise sequencer deployment that ensures operational sovereignty while maintaining blockchain interoperability and the benefits of public infrastructure. ## Why ADI chain chose Alchemy ADI Chain chose us for the capabilities required for global blockchain infrastructure as the leading blockchain provider processing $1T\+ in onchain transactions with 99.995% uptime and SOC 2 Type II certification. As ADI Chain's core infrastructure provider, we deliver: - Ultra-Reliable [**RPC Infrastructure:**](/rpc-api) Enterprise-grade blockchain connectivity with global redundancy, ensuring 24/7 availability for financial applications serving millions of users across developing markets. - Real-Time [**Data Services:**](/smart-websockets) Block-perfect consistency with 2.5x faster query performance ensures financial applications never miss critical transactions, supporting cross-border payments and supply chain tracking. "ADI Chain represents the future of institutional blockchain infrastructure," said Andrey Lazorenko, CEO of ADI Foundation. "With Alchemy, we're not just building a blockchain; we're establishing the digital backbone for next-generation financial services that can serve millions while maintaining the trust and security standards that institutions and governments look for." ## Proven infrastructure for institutional scale ADI Chain's integration with Alchemy continues our track record of powering critical blockchain applications for major institutions with: - **Proven Reliability:** Infrastructure trusted by institutions like Visa, VanEck, and Stripe, delivering stability for national-scale financial applications. - **Global Performance:** Our platform processes billions of requests daily across 99% of countries worldwide, supporting the geographic reach ADI Chain requires. - **Regulatory Readiness:** Complete audit trails and compliance that enable institutional standards—critical for regulated stablecoin operations and government partnerships. - **Proven Scale:** Infrastructure supporting projects from prototype to billion-user scale, essential as ADI Chain works toward bringing 1 billion people onchain by 2030. ## Start building the future of finance ADI Chain represents a new chapter in blockchain adoption. With partnerships spanning government agencies, major financial institutions, and development organizations across multiple continents, ADI Chain demonstrates blockchain technology's potential to serve real-world needs at unprecedented scale. **Ready to build on ADI Chain?** - [Start building](https://www.alchemy.com/rpc/adi-testnet) on ADI Chain - [Explore](/fintech) how we help you deploy financial operations on crypto rails. [Contact us](/contact-sales) to discuss how we can support your blockchain initiatives on ADI Chain and help bring your applications to millions of users across the world's fastest-growing digital economies. ## Frequently asked questions ### What is ADI Chain? ADI Chain is a Layer 2 blockchain built on zkSync's rollup framework, designed for institutional adoption with programmable compliance for regulated financial applications. It aims to bring 1 billion people onchain by 2030 across the Middle East, Asia, and Africa. ### Why did ADI Chain choose us as its infrastructure provider? ADI Chain selected us for our proven reliability processing $1T+ in onchain transactions, 99.995% uptime, SOC 2 Type II certification, and infrastructure trusted by institutions like Visa and Stripe. ### What services do we provide to ADI Chain? We deliver ultra-reliable RPC infrastructure with enterprise-grade blockchain connectivity and real-time data services with block-perfect consistency and 2.5x faster query performance for financial applications. ### What is the Dirham-backed stablecoin on ADI Chain? ADI Chain will host a Dirham-backed stablecoin regulated by the UAE Central Bank, enabling instant 24/7 cross-border transactions worldwide and representing a major deployment of blockchain technology for national financial infrastructure. ### What types of applications does ADI Chain support? ADI Chain powers fintech infrastructure, cross-border payments and digital currency, government transformation, supply chain and infrastructure tracking, and healthcare and digital identity systems across over 20 countries. ### How can developers start building on ADI Chain? Developers can start building on ADI Chain through our platform, which provides EVM-compatible infrastructure with full API access for deploying financial operations on crypto rails. ### What makes ADI Chain suitable for institutional and government use? ADI Chain combines Ethereum security with programmable compliance, on-premise sequencer deployment for operational sovereignty, complete audit trails, and regulatory readiness required for regulated stablecoin operations and government partnerships. --- # Announcing Alchemy Validators URL: https://www.alchemy.com/blog/advancing-into-the-onchain-consensus-layer-with-alchemy-validators.md Today, we’re excited to announce the launch of [Alchemy Validators](https://www.alchemy.com/alchemy-validators), the newest addition to our comprehensive web3 infrastructure suite, which includes [Smart Wallets,](https://www.alchemy.com/smart-wallets) [Rollups-as-a-Service](https://www.alchemy.com/rollups), and [Node/RPC Services](https://www.alchemy.com/supernode). This expansion marks a pivotal milestone in Alchemy’s evolution - as we take the next step in the onchain infrastructure development - from powering how web3 apps are built and operated, to now helping secure and build the very networks they run on. With Alchemy Validators, we’re completing the **onchain infrastructure loop — enabling customers to build, scale, and secure** their networks, all within a single trusted platform. Alchemy Validators launches through the integration of Bware Labs’ proven validator infrastructure, bringing deep technical expertise and an established footprint in PoS & PoA networks to the Alchemy ecosystem. This move creates new opportunities for cross-chain development and ecosystem growth. And most importantly, it reinforces our vision of becoming the complete onchain developer platform, enabling our customers to access a full spectrum of infrastructure services through a single trusted provider. ## Why validators matter Validators and node operators form the backbone of every chain operating on the consensus mechanism. They stake tokens for extended periods, accept stakes from other participants, adapt to the intricacies of each network, and ultimately help secure and scale it. By becoming active participants in the rapidly growing consensus layer, we're taking our commitment to blockchain infrastructure to the next level. Our new specialized validators division allows us to: - Support decentralization and validator diversity with enterprise-grade infra - Play a crucial role in maintaining the integrity, security, and functionality of established and emerging chains - Strengthen protocol reliability, uptime and rewards - Offer a trusted entry point for institutional stakers and delegators to participate ## Creating value for the entire ecosystem The launch of Alchemy Validators addresses key challenges faced by both chains and users in the PoS ecosystem, and not only. #### For protocols & chain teams Finding reputable, high-performance validators is one of the biggest hurdles for new and growing networks. Alchemy Validators provides an instant trust signal, backed by a platform used by 70% of top blockchain applications. #### For institutional stakers & delegators Running secure validator infrastructure is resource-intensive. Delegating to Alchemy Validators removes the risk, thanks to real-time monitoring, slashing protection, and compliance-ready architecture, including options for white-labeled staking, [restaking](https://www.alchemy.com/dapps/best/liquid-restaking-protocols), and integrations with custody platforms. #### For developers & platforms Validator services now live inside the Alchemy stack - alongside RPCs, APIs, Rollups, Smart Wallets and data analytics - unlocking a single pane of glass for infrastructure, with support from the same trusted team. ## Beyond basic validation services As we expand into this space, we're not just offering basic validation. Our vision includes developing customized core contributions to the protocols we activate in, and creating new products and services for developers and onchain consensus participants. We'll offer a range of staking services, enabling users to delegate their tokens to a trusted and reliable party, participate in network governance, and earn rewards. #### We’re adding: - Customized core contributions to supported chains - Support for governance participation and protocol upgrades - Strategic guidance for validator bootstrapping and institutional onboarding - A roadmap of staking products, including restaking, white label validators, and institutional-grade delegation ## Our technical foundation Alchemy Validators runs on a battle-tested architecture that includes: - Dedicated bare metal and cloud servers distributed across geographies - Multi-layered security and redundancy systems designed to meet enterprise standards - 99.9%\+ uptime across networks It’s the same infrastructure that powers billions in monthly transaction volume, now securing the consensus layer for some of the most promising PoS and PoA networks. ### From build → operate → secure This launch completes a natural progression for the Alchemy platform. With Alchemy Validators, we now deliver a unified stack that enables onchain builders to: - Build: Access fast, reliable data & APIs across chains - Operate: Scale with infrastructure, monitoring, and dev tooling - Secure: Participate in consensus with enterprise-grade validator services This makes Alchemy the most complete infrastructure provider in Web3 — not just for developers, but for protocols, custodians, staking platforms, and institutions ready to scale. ## Looking ahead The integration of validator services into our infrastructure stack creates valuable opportunities for new chain partnerships and seamless integration of complementary Alchemy products, further strengthening our position as the one-stop infrastructure solution for the Web3 ecosystem. We're excited about this next chapter in Alchemy's journey and the value it will bring to developers, enterprises, and the broader blockchain community. Stay tuned for more updates as we continue to expand our capabilities in the onchain consensus layer. --- ## Ready to scale with Alchemy Validators? If you’re building a chain, managing delegations, or launching a staking service, Alchemy Validators offers the **infrastructure, trust, and tooling** to help you do it securely. 🔹 [Talk to our team ](https://www.alchemy.com/alchemy-validators)to get started. 🔹 Early access available for select networks and institutional staking providers. ## Frequently asked questions ### What are Alchemy Validators? Alchemy Validators is our validator service that provides enterprise-grade staking and validation for Proof-of-Stake and Proof-of-Authority networks, completing our onchain infrastructure suite through integration of Bware Labs' proven validator infrastructure. ### Why should protocols choose Alchemy Validators? Alchemy Validators provides an instant trust signal backed by a platform used by 70% of top blockchain applications, helping new and growing networks find reputable, high-performance validators to support decentralization and network security. ### What benefits do institutional stakers get from Alchemy Validators? Institutional stakers benefit from real-time monitoring, slashing protection, 99.9%+ uptime, and compliance-ready architecture without the resource-intensive requirements of running secure validator infrastructure themselves. ### How does Alchemy Validators integrate with our other services? Validator services are part of the unified stack alongside RPCs, APIs, Rollups, Smart Wallets, and data analytics, providing a single platform for building, operating, and securing onchain networks. ### What technical infrastructure powers Alchemy Validators? Alchemy Validators runs on dedicated bare metal and cloud servers distributed across geographies with multi-layered security, redundancy systems, and the same infrastructure that powers billions in monthly transaction volume. ### What additional services will Alchemy Validators offer beyond basic validation? Upcoming offerings include restaking, white-labeled validators, institutional-grade delegation, governance participation, protocol upgrades, and customized core contributions to supported chains. ### Who should use Alchemy Validators? Alchemy Validators is designed for protocols building chains, institutional stakers managing delegations, developers needing integrated infrastructure, and custodians or staking platforms ready to scale in the PoS ecosystem. ### What does the "Build, Operate, Secure" approach mean? This unified stack enables onchain builders to access fast data and APIs (Build), scale with infrastructure and monitoring tools (Operate), and participate in consensus with enterprise-grade validator services (Secure), all from a single trusted platform. --- # Agent wallets in the Alchemy CLI | Alchemy URL: https://www.alchemy.com/blog/agent-wallets-alchemy-cli.md [AI agents](https://www.alchemy.com/dapps/best/ai-agents) can now send, swap, bridge, and deposit onchain. From your terminal, without ever holding a private key. Today we're shipping agent wallets in the Alchemy CLI. Developers can create a wallet from the Alchemy dashboard, grant the CLI scoped, time-bound access to it, and let an agent execute real transactions from the command line. The dashboard is the only place a wallet is created or revoked. The wallet's private key never touches the CLI, never touches Alchemy, and never sits in a `.env` file. In the demo above, Claude finds the best [Aave](https://www.alchemy.com/dapps/aave) market for USDC, bridges funds to the right chain, and deposits into the pool. Until today, that workflow required either custom agent code holding a private key or a hand-built integration between a wallet SDK and a coding assistant. Now it is a few commands and a dashboard click. ## How agents have transacted onchain until now Until now, developers generally had two workable paths, and neither was a good default. Either a developer pastes a private key into `.env` and accepts that the agent now has full control of those funds, or they wire a wallet SDK into a custom backend and reproduce auth, signing, and revocation logic themselves. The first option is one stray prompt away from a drained wallet. The second is weeks of work that most teams should not be doing. Agent wallets in the CLI replace both. You keep custody of the wallet through the Alchemy dashboard. The agent gets a scoped session you approved from the terminal. You can revoke that session in one click. ## How it works The architecture splits responsibilities three ways. [Privy](https://www.privy.io/) is our embedded wallet partner and securely holds the wallet's private key. We hold the CLI session and the verification layer in between. You hold approval and revocation control through the dashboard. When you run `alchemy wallet connect`, the CLI generates a fresh P-256 keypair on your machine. The private key never leaves the device. Your browser opens to the Alchemy dashboard, where you create or pick the wallet you want the agent to use and approve the session. Approval attaches your CLI's public key as a signer on that wallet, scoped to specific capabilities and bounded by a session expiry you set in the dashboard. Every signing call is a two-step challenge: Alchemy's backend builds the canonical payload Privy expects, your CLI signs the exact bytes locally, and only then does the request reach Privy. If the session expires, gets revoked from the dashboard, or fails any binding check, the next signing attempt is rejected before it leaves our infrastructure. Revocation is one click and takes effect immediately. Once a session is live, the agent has access to the full transaction surface: send, swap, bridge, contract calls. Transactions go through our [Wallet APIs](https://www.alchemy.com/docs/wallets), so gas sponsorship, batching, automatic retries, ERC-20 gas payments, and cross-chain swaps come along for the ride. The same CLI that already wrapped our [Data APIs](https://www.alchemy.com/docs/data-api-quickstart) for queries now sends transactions through the wallet you authorized. ## Built for coding agents from the start The Alchemy CLI was designed from the ground up as a tool surface for AI agents. Two flags carry that intent: `--json` returns structured output for parsing, and `--no-interactive` disables prompts so commands never block on input. There is also an `alchemy agent-prompt` command that emits a JSON document describing every command, every flag, every error code, and runnable examples. Drop it into a system prompt and your agent learns the full surface in one shot. That means agents pick up the new wallet commands automatically. No SDK to integrate, no docs page to interpret, no prompt engineering to teach the model how the new commands work. The CLI tells the agent itself. ## What's available today Agent wallets in the CLI are live now, with no waitlist and no separate tier. You need Node 22 or higher and an Alchemy account. The session and wallet-management surface lives in the dashboard; the transaction surface lives in the terminal. Three commands and you have an agent-controllable wallet ready to use. The full reference, including every command, every flag, and every supported network, is in the [CLI docs](https://www.alchemy.com/docs/alchemy-cli). If you ship agents that need to act onchain, the CLI is the surface we want you on. [Install the CLI](https://www.alchemy.com/docs/alchemy-cli) and [sign in to the dashboard](https://dashboard.alchemy.com/). --- # Introducing AgentPay: one integration for every agentic payment protocol | Alchemy URL: https://www.alchemy.com/blog/agentpay-openbeta.md Open Beta Money is moving onto digital rails. [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) and tokenized assets let value move 24/7, borderlessly, instantly, at a fraction of traditional cost. [AI agents](https://www.alchemy.com/dapps/best/ai-agents) are already spending it. They book services, call third-party APIs, and pay for compute without a human in the loop. Morgan Stanley projects agentic commerce will reach $385 billion by 2030. The financial infrastructure is racing to keep up. [Coinbase](https://www.alchemy.com/dapps/coinbase) launched x402. Stripe launched ACP and MPP. Google shipped A2P. Visa, Mastercard, and Amex have each released dedicated agent commerce infrastructure in just the last few months. Multiple protocols. Multiple standards. And no merchant in the world can integrate all of them. If you want AI agents as a revenue channel today, your options are bad: pick one protocol and lock out every agent that doesn't use it, or build and maintain integrations for all of them yourself. Both paths get expensive fast. And without universal acceptance, there is no agent economy. Today we're launching AgentPay in open beta. AgentPay is a protocol-agnostic payment proxy that lets any business accept payments from AI agents, regardless of which protocol or funding source those agents use. One integration. Every protocol. ## What we've built AgentPay sits between AI agents and your existing API. Register your endpoint once, and accept payments from any agent regardless of protocol or funding source. x402, ACP, MPP, A2P, fiat, stablecoin. AgentPay handles the translation layer automatically. Your underlying API doesn't change. No new SDKs, no per-protocol integrations, no maintenance overhead as new standards emerge. ## How it works
Step 1 AI Agent Any protocol: x402, ACP, MPP, A2P
Step 2 AgentPay Detects protocol & translates
Step 3 Your API Unchanged — no new SDKs needed
1. **Register your endpoint.** Sign up, point AgentPay at your existing API, set your pricing rules, and get a proxied URL. 2. **Agents call AgentPay.** They use whichever payment protocol they support: x402, ACP, MPP, A2P, or whatever comes next. 3. **AgentPay translates.** Protocol detection and translation happen transparently. AgentPay never holds funds and does not handle settlement or payment validation. 4. **You get paid.** Full transaction logging and protocol breakdowns appear in your dashboard. ## Who it's for AgentPay is for any business or merchant that wants to accept agent payments, including: - **API providers** looking to monetize agent-initiated requests without rebuilding their payment stack for each new protocol. - **SaaS platforms** adding agent-accessible endpoints to their existing product. - **Financial services teams** building agentic infrastructure for payments, trading, or portfolio management. - **Commerce platforms** preparing for the shift from human-only to agent-driven purchasing. ## Built on Alchemy infrastructure AgentPay runs on the same platform that powers $1T+ in annual onchain transactions for teams like Robinhood, Stripe, Coinbase, Circle, and Chainlink. SOC 2 Type II compliant. 99.995% uptime. We've spent seven years building infrastructure that doesn't go down when it matters. AgentPay inherits all of it: sub-50ms response times, predictive scaling, and multi-region redundancy. No new tooling, no migration required. ## Get started - [Start accepting agent payments now](https://agentpay.alchemy.com) --- # AI Agents Can Now Signup for Alchemy URL: https://www.alchemy.com/blog/ai-agents-can-now-sign-up-for-alchemy.md Starting today, [AI agents](https://www.alchemy.com/dapps/best/ai-agents) can autonomously access Alchemy infrastructure via x402, purchase compute credits, and access real-time blockchain data across 100\+ networks with institutional grade reliability—no human in the loop. Agentic activity has exploded onchain in the past few months. Agents execute transactions, manage portfolios, and monitor markets across chains without human involvement. Now agents can access the underlying block-perfect data in the same way. ## How it works The new flow uses onchain wallets and programmatic payments: 1. An agent can use its wallet as both identity and payment source. 1. They can then interact with Alchemy’s APIs - RPC, NFT, Portfolio or Prices. 1. If payment is required, Alchemy returns an HTTP 402 response with the amount and payment instructions to top up the “agentic account.” 1. The agent pays in USDC on Base \(more chain support coming soon\) via [x402](https://x402.org/) — the open payment standard developed by [Coinbase](https://www.alchemy.com/dapps/coinbase) for native HTTP payments. Alchemy uses CDP facilitator to verify and settle the payment. 1. Alchemy processes the request and returns the blockchain data, drawing from the newly funded balance. Subsequent requests work without additional payment until the balance runs out. When it does, the gateway issues a new 402 and the agent tops up automatically. Agents can start with as little as $1 and add more as needed. No contracts, no approval process, no waiting. ## Why this matters The agentic economy is no longer theoretical. Autonomous agents are managing DeFi positions, monitoring prices across chains, and executing complex multi-step workflows. These agents never sleep, and they’re driving to a world of 100x onchain activity. The infrastructure extends beyond APIs: [AgentCard](https://agentcard.ai/) gives agents their own credit cards for purchasing anything online, from compute credits to physical goods, with real-time spend controls. Agents are first-class users of blockchain infrastructure, not second-class citizens of human workflows. We built this so agents have access to the most reliable blockchain data on the market. ## What’s available at launch This is an early release, focused on the APIs agents need most: - **Core RPC** across all supported chains - **NFT APIs** for ownership and metadata queries - **Portfolio APIs** for multi-chain wallet views - **Prices APIs** for spot and historical token pricing Agents can purchase compute for as little as $1 \(equivalent to $1 of CUs in Alchemy’s pay-as-you-go tier\). Payments are in USDC on Base at launch, and we will be adding more chains in the coming days. ## Alchemy skills: documentation for machines Alongside the gateway, we’re publishing [Alchemy Skills](https://github.com/alchemyplatform/skills): structured, machine-readable reference docs that tell agents what Alchemy can do and how to use our products. Developer documentation, redesigned from the ground up for an audience that isn’t human. Install Skills for a coding agent (Claude Code, Cursor, Codex): Connect the [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): See the [MCP server docs](https://www.alchemy.com/docs/alchemy-mcp-server) for Cursor, Claude Desktop, and VS Code Copilot. ## Get started Explore the gateway, set up payments, and start building at [alchemy.com/agents](https://www.alchemy.com/agents). Use the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) from the terminal: **Alchemy account auth:** `alchemy auth` links your developer account for API-key-backed commands. **x402 payments:** pay for compute through [x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) or [MPP](/overviews/x402-vs-mpp-comparing-agent-payment-protocols) with a local EVM wallet key—set `ALCHEMY_WALLET_KEY`, pass `--wallet-key-file`, or add `wallet_key_file` to your CLI config. Run `alchemy wallet generate` if you need a dedicated payment wallet. This is separate from agent wallet sessions below. **Agent wallet sessions:** to sign transactions without storing a private key in the CLI, run `alchemy wallet connect` to open the dashboard, create or select an [agent wallet](https://www.alchemy.com/blog/agent-wallets-alchemy-cli), and approve a scoped, revocable session. This is a first step — more APIs, more chains, and deeper capabilities are coming. We’re building for a future where agents interact with blockchain infrastructure as naturally as developers do today. ## Frequently asked questions ### What is Alchemy's new autonomous AI agent feature? Starting today, AI agents can autonomously sign up for and use Alchemy infrastructure without any human involvement, using their onchain wallets for identity and payments via x402. ### How do AI agents pay for Alchemy services? Agents pay in USDC on Base using the x402 open payment standard, starting with as little as $1 in compute credits, and automatically top up when their balance runs low. ### Which Alchemy APIs can AI agents access? Agents can access Core RPC across all supported chains, NFT APIs for ownership and metadata, Portfolio APIs for multi-chain wallet views, and Prices APIs for spot and historical token pricing. ### What happens when an AI agent's credits run out? Alchemy returns an HTTP 402 response with payment instructions, and the agent automatically tops up its balance and continues operating without interruption. ### Do AI agents need approval or contracts to use Alchemy? No, agents can start immediately with no contracts, no approval process, and no waiting, they use their wallet as both identity and payment source. ### What are Alchemy Skills? Alchemy Skills are structured, machine-readable reference documentation that tells agents what Alchemy can do and how to use our products, designed specifically for non-human audiences. ### How does the x402 payment standard work with Alchemy? When payment is required, Alchemy returns an HTTP 402 response with amount and payment instructions, the agent pays in USDC via CDP facilitator, and Alchemy immediately processes the request. ### Where can AI agents get started with Alchemy? Agents can explore the gateway, set up payments, and start building at [alchemy.com/agents](https://www.alchemy.com/agents). --- # Alchemy 2020 Year in Review URL: https://www.alchemy.com/blog/alchemy-2020-year-in-review.md 2020 was a wildly distinct year for everyone. From an outbreak of a worldwide pandemic, intense political division, and BTC and ETH hitting all time highs, it's clear that the world has dramatically changed. This evolution has set the stage for blockchain and cryptocurrencies to solve the intensified needs of platform decentralization and better monetary solutions for everyone around the world. Over this last year, [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:f68f348b-ef19-4a2f-a65d-530d6edada7e) has transformed into the world's most used blockchain developer platform largely from the tremendous work from all of our developers and supporters building applications on the Alchemy Platform. As a thank you for all your contributions we wanted to take a moment to highlight all the things we've accomplished together building out the blockchain ecosystem. To start, we wanted to highlight a few of the major numbers from Alchemy in 2020. On-chain transaction volume has skyrocketed from the DeFi boom, increased developer activity, and all-time high Ethereum prices. There's no question that 2020 has been the year of DeFi. We expect even greater transaction volume in the years to come, and can already see that DeFi projects make up a large part of the ecosystem. Money is interesting, but the 2020 number we're most proud of is the massive increase in active developers over the course of the year. The more developers we have building products, the more users will begin to use blockchain, which pushes the movement of decentralization and financial freedom forward. Alchemy is used practically everywhere around the globe, and we're incredibly proud to see activity on a worldwide scale! Over the course of a few months, we saw the industry shift drastically. These changes are a result of increasing interest in certain sectors like DeFi, Analytics, and Gaming \+ Media \(but mostly DeFi\). ##### October 1st ##### **January 7th**‍ By far the biggest thing that happened at Alchemy this year was our self-serve launch, opening our developer platform to any and all users around the world. Now, developers can build, ship, and scale their decentralized products using the \#1 blockchain developer platform with only a few clicks, rather than having to chat with our lovely sales team 😉 . This made it much easier for teams to sign up and start building. Self serve also catapulted our [new documentation](https://www.alchemy.com/docs) and [discord community](https://discord.com/invite/mMGsVgd) which are both rapidly growing. Alchemy launched a TON of products this year. In order to prevent this recap from becoming a book, we've put together a summary of the major product launches in 2020. ## 🚀 Alchemy Supernode This is the essential[ engine powering 70% of the top Ethereum applications](https://www.alchemy.com/supernode) in the world, over 4 million users in 99% of countries worldwide, and over $15 billion in on chain transactions. It is the most robust infrastructure for blockchain applications in existence. ## 🚀 Alchemy build [Alchemy Build](https://www.alchemy.com/build) consists of a suite of developer tools for prototyping, debugging, and shipping products faster. This includes unique features like our [Mempool Visualizer](https://dashboard.alchemy.com/mempool), where you can see all of your pending, mined, and dropped transactions in one place. ## 🚀 Alchemy monitor [Alchemy Monitor](https://www.alchemy.com/monitor) is a comprehensive suite of dashboards and alerts for app health, performance, and user behavior, giving you immediate insights with zero additional integrations. ## 🚀 Alchemy notify One of the only tools that exist for web3 developers to [provide real-time push notifications](https://www.alchemy.com/notify) for their blockchain applications, paving a path for decentralized application users to finally get notifications on their activity. This includes notifications for mined and dropped transactions, address activity alerts, and gas prices. ## 🚀 Alchemy amplify One of the things we are most proud of at Alchemy is the amazing work being done by the talented teams that are using the platform to shape the blockchain industry. [Alchemy Amplify](https://www.alchemy.com/amplify) aims to promote these products and launches whether they are just getting started or some of the most used products in the space. ## 🚀 Public composer The [Public Composer](https://www.alchemy.com/composer/) enables anyone to send requests to the Ethereum blockchain straight from the browser, no account, set up, or code necessary. ## 🚀 Launched Alchemy status page [Stay up to date on the health of our APIs](https://alchemyapi.statuspage.io/) \(we maintain over 99% uptime\). ## 🚀 Transfers API This [API](https://www.alchemy.com/docs) gives you access to transaction history for any Ethereum address with one request. And yes, this does include archive data for FREE. Lots of efforts were also made on the community side, binging together new developers and sharing Alchemy updates with the wider community. ## 🚀 Alchemy Discord A [community of developers](https://discord.com/invite/mMGsVgd) from beginners to experts where we discuss blockchain topics and help each other debug issues. ## 🚀 Alchemy blog [Stay up to date](https://www.alchemy.com/blog/) with our latest product releases and partnerships by checking our blog! ## 🚀 Alchemy newsletter The best way to [stay in the loop about all things Alchemy related](https://www.alchemy.com/newsletter), in addition to new developer tools, announcements and events, project spotlights, Alchemy by the numbers, and of course, crypto memes. ## 🚀 Alchemy YouTube channel We'll periodically release product demo videos as well as event recordings on our [YouTube channel](https://www.youtube.com/channel/UCtvTdPZWUwW4whk9CLlCBug), if you have a specific video request, reach out to us at hello@alchemy.com! ## 🚀 Referral program Built so users can earn [rewards for sharing Alchemy](https://www.alchemy.com/docs) with other developers or teams, gaining $50 for every referral that starts or upgrades to a paid tier. ## 🚀 Badge program Our [badge program](https://www.alchemy.com/docs) is for Alchemy users with public-facing products or websites, and not only looks super cool but can earn you $600/year just for having it up! Reach out to us at hello@alchemy.com if you're interested! ## Growing the Alchemy fam We expanded our team with seven new hires this past year, and are continuing to grow. If you're interested in making history at the top blockchain developer platform in the world [join the Alchemy Fam](https://jobs.lever.co/alchemy)! **CB Insights:**[ Blockchain 50: The Innovators Using Blockchain & Crypto To Transform Industries](https://www.cbinsights.com/research/report/blockchain-technology-companies/) Forkast: [How DeFi’s massive 8-fold growth brings scaling, gas fees challenges](https://forkast.news/defi-8-billion-growth-scaling-transaction-fee-challenges-alchemy/) **The Block:** [Blockchain development platform Alchemy exits closed beta with official public launch](https://www.theblockcrypto.com/linked/74541/alchemy-blockchain-official-platform-launch) **Yahoo:** [Blockchain development platform Alchemy exits closed beta with official public launch](https://www.yahoo.com/news/blockchain-development-platform-alchemy-exits-142136549.html) **Nasdaq:** [Alchemy Goes Public With Developer Platform in Bid to Grow DeFi Ecosystem](https://www.nasdaq.com/articles/alchemy-goes-public-with-developer-platform-in-bid-to-grow-defi-ecosystem-2020-08-11) Bloomberg: [Jay-Z, Charles Schwab-Backed Ethereum App Opens Doors to Public](https://www.bloomberg.com/news/articles/2020-08-11/jay-z-charles-schwab-backed-ethereum-app-opens-doors-to-public) Coindesk: [Alchemy Goes Public With Developer Platform in Bid to Grow DeFi Ecosystem](https://www.coindesk.com/alchemy-goes-public-with-developer-platform-in-bid-to-grow-defi-ecosystem) **Coindesk:** [Alchemy Launches Product to Help Developers Monitor Blockchain Apps](https://www.coindesk.com/alchemy-launches-product-to-help-developers-monitor-blockchain-apps) [Bitcoin Exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) Guide: [Blockchain Developer Platform Releases Alchemy Build, A Tool Suite for Faster Production](https://bitcoinexchangeguide.com/blockchain-developer-platform-releases-alchemy-build-a-tool-suite-for-faster-production/) Decrypt: [This Jay Z-backed startup is helping Ethereum developers build more](https://decrypt.co/35135/alchemy-jay-z-startup-ethereum-developers-build) **Cointelegraph:** [Alchemy Aims to Transform Blockchain Development with New Build Tools](https://cointelegraph.com/news/alchemy-aims-to-transform-blockchain-development-with-new-build-tools) Coindesk: [Alchemy Notify Wants to Simplify Blockchain UX With a Single Push](https://www.coindesk.com/alchemy-notify-wants-to-simplify-blockchain-ux-with-a-single-push) **Cointelegraph:** [Alchemy Pushes Real-Time Crypto Notifications to Your Device](https://cointelegraph.com/news/alchemy-pushes-real-time-crypto-notifications-to-your-device) **Pod of Jake:** [Featuring Nikil is the co-founder and CEO of Alchemy](https://podofjake.com/2020/11/24/25-nikil-viswanathan/) **Epicenter Podcast:** [Alchemy – A Powerful Developer Platform and API for Ethereum Apps](https://epicenter.tv/episodes/364/) **Bitcoin.com:** [Joe Lao, co-founder and CTO of Alchemy discusses how Blockchain Technology will Benefit the World](https://podcast.bitcoin.com/e928-Joe-Lau-Co-Founder-of-Alchemy) [Coindesk: Michael Garland featured at Coindesk's Eth Invest conference](https://www.coindesk.com/events/invest-ethereum-economy). We constantly post new guides, tutorials, and spotlights to our [docs](https://www.alchemy.com/docs) and [Medium](https://medium.com/alchemy-api), here are a few highlights from 2020: - ‍[Getting Started with Alchemy](https://www.alchemy.com/docs)[‍](https://medium.com/alchemy-api/blockchain-development-is-hard-heres-how-to-make-it-easy-2e6031eefd53?source=collection_home---4------0-----------------------) - [Blockchain Development is Hard, Here’s How to Make it Easy](https://medium.com/alchemy-api/blockchain-development-is-hard-heres-how-to-make-it-easy-2e6031eefd53?source=collection_home---4------0-----------------------)[‍](https://medium.com/alchemy-api/running-an-eth2-node-with-alchemy-9b3e7d3b60e4?source=collection_home---4------1-----------------------) - [Running an Eth2 Node with Alchemy](https://medium.com/alchemy-api/running-an-eth2-node-with-alchemy-9b3e7d3b60e4?source=collection_home---4------1-----------------------)[‍](https://medium.com/alchemy-api/introducing-the-public-ethereum-composer-4e79ee39d30a?source=collection_home---4------2-----------------------) - [Introducing the Public Ethereum Composer](https://medium.com/alchemy-api/introducing-the-public-ethereum-composer-4e79ee39d30a?source=collection_home---4------2-----------------------)[‍](https://medium.com/alchemy-api/the-alchemist-playbook-a-guide-to-upgrading-ethereum-nodes-123e0a47e5c3?source=collection_home---4------3-----------------------) - [The Alchemist Playbook: A Guide to Upgrading Ethereum Nodes](https://medium.com/alchemy-api/the-alchemist-playbook-a-guide-to-upgrading-ethereum-nodes-123e0a47e5c3?source=collection_home---4------3-----------------------)[‍](https://medium.com/alchemy-api/sending-transactions-using-web3-and-alchemy-4405a7e71118?source=collection_home---4------4-----------------------) - [Sending Transactions Using Web3 and Alchemy](https://medium.com/alchemy-api/sending-transactions-using-web3-and-alchemy-4405a7e71118?source=collection_home---4------4-----------------------)[‍](https://medium.com/alchemy-api/getting-started-with-ethereum-development-using-alchemy-c3d6a45c567f?source=collection_home---4------5-----------------------) - [Getting Started with Ethereum Development Using Alchemy](https://medium.com/alchemy-api/getting-started-with-ethereum-development-using-alchemy-c3d6a45c567f?source=collection_home---4------5-----------------------)[‍](https://medium.com/alchemy-api/deep-dive-into-eth-getlogs-5faf6a66fd81) - [Deep Dive into eth_getLogs](https://medium.com/alchemy-api/deep-dive-into-eth-getlogs-5faf6a66fd81)[‍](https://medium.com/alchemy-api/introducing-gas-price-notifications-by-alchemy-c599b2f62dca?source=collection_home---4------8-----------------------) - [Introducing Gas Price Notifications by Alchemy](https://medium.com/alchemy-api/introducing-gas-price-notifications-by-alchemy-c599b2f62dca?source=collection_home---4------8-----------------------)[‍](https://medium.com/alchemy-api/dydx-is-closing-the-gap-between-cefi-and-defi-f58ebf8e2ea8?source=collection_home---4------6-----------------------) - [dYdX is Closing the Gap Between CeFi and DeFi](https://medium.com/alchemy-api/dydx-is-closing-the-gap-between-cefi-and-defi-f58ebf8e2ea8?source=collection_home---4------6-----------------------)[‍](https://medium.com/alchemy-api/balancer-is-a-new-type-of-amm-adb42d0f8228?source=collection_home---4------7-----------------------) - [Balancer Is A New Type Of AMM](https://medium.com/alchemy-api/balancer-is-a-new-type-of-amm-adb42d0f8228?source=collection_home---4------7-----------------------)[‍](https://medium.com/alchemy-api/myetherwallet-is-a-gateway-to-the-ethereum-ecosystem-ea7c85907403?source=collection_home---4------9-----------------------) - [MyEtherWallet is a gateway to the Ethereum ecosystem](https://medium.com/alchemy-api/myetherwallet-is-a-gateway-to-the-ethereum-ecosystem-ea7c85907403?source=collection_home---4------9-----------------------)[‍](https://www.alchemy.com/docs) - [Choosing a Network](https://www.alchemy.com/docs)[‍](https://www.alchemy.com/docs) - [Using Websockets](https://www.alchemy.com/docs)[‍](https://www.alchemy.com/docs) - [Using Alchemy Notify/Webhooks](https://www.alchemy.com/docs)[‍](https://www.alchemy.com/docs) - [Connecting Metamask to Alchemy](https://www.alchemy.com/docs) [‍](https://www.alchemy.com/docs) - [Simple Web3 Script](https://www.alchemy.com/docs) [‍](https://www.alchemy.com/docs) - [Hello World Smart Contract](https://www.alchemy.com/docs) -- All efforts at Alchemy over the past year were made to push forward our company mission: empowering the next generation of builders by making it easy for developers to build blockchain applications. We are super grateful for all of our users and the incredible projects they work on every day using Alchemy's developer platform. You guys are the driving force behind our accomplishments, initiatives, and launches, and we are ecstatic to see the Alchemy community continue to grow. Huge milestones were crossed in 2020 and we have even bigger things in store for 2021. It's only been a few weeks into the year and we've already announced our [partnership with crypto.com](https://blog.crypto.com/crypto-com-partners-with-alchemy-for-the-crypto-com-chain/), building out a state-of-the-art developer platform for their new chain.   To stay in the loop about all things Alchemy related, be sure to follow us on [Twitter](https://x.com/Alchemy) and [subscribe to our Newsletter](https://www.alchemy.com/newsletter). And of course, if you're looking to build the next generation of applications using the blockchain industry's \#1 developer platform, sign up for a [free account here](https://dashboard.alchemy.com/signup?referral=affiliate:f68f348b-ef19-4a2f-a65d-530d6edada7e). - The Alchemy Fam -- *[Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:f68f348b-ef19-4a2f-a65d-530d6edada7e) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology, and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $15 billion in on-chain transactions, and have been featured on[ TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup) and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT.* --- # Alchemy Acquires Bware Labs URL: https://www.alchemy.com/blog/alchemy-acquires-bware-labs.md We’re thrilled to announce that we’ve acquired Bware Labs! [Bware](https://bwarelabs.com/) is one of the fastest growing and highest quality providers of blockchain infrastructure and API services. They’re a natural complement to our existing products and services, and the perfect team to help us execute on our product roadmap. We’re always trying to serve our customers better. Joining forces marks a significant leap forward in expanding support for developers around the world building the future of web3. We couldn’t be more excited. So, why Bware? ## World-class team and leadership Since day one, our goal at Alchemy has been to provide the world’s best infrastructure, tooling, and support to help developers build scalable and reliable applications onchain. Bware shares this vision, and they have the team to help us achieve it. Comprised of over 40 extremely talented developers and engineers, the Bware team will seamlessly integrate across Alchemy’s product teams, helping us build faster and meet developer needs in more places. ## Expanding into europe Based in Romania, Bware gives us a turnkey presence in Europe and other markets abroad. This allows us to work closer with even projects and developers, and bolster our legendary 24/7 customer support in time zones around the world. Expanding into Europe also gives us access to an even broader \(and rapidly growing\) web3 talent pool. ## Best-in-class products and DevOps Bware has demonstrated their ability to deliver exceptionally reliable products through their DevOps experience and deep understanding of web3. For example, Bware’s Blast API provides scalable and resilient infrastructure services faster than almost any other RPC node provider, logging more than 3 billion API calls per day on average. ## What’s next? - We will continue to invest in Bware’s Romanian presence and team. - Alchemy and Bware customers will not be impacted. - Bware’s Blast API and Blockchain Validator businesses will continue to operate as they were, and will be integrated into Alchemy’s product suite over the coming months. - Alchemy will not be taking over the $INFRA protocol or associated $INFRA token.  Acquiring Bware is truly the beginning of an exciting new chapter at Alchemy. We’ll be sharing updates on how we plan to further integrate over the coming weeks and months. Sign up for our[ newsletter](https://www.alchemy.com/newsletter) to follow along! Ready to get started? [Find time with our team](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_id=Bware+launch) or [start building today](https://auth.alchemy.com/?redirectUrl=https%3A%2F%2Fdashboard.alchemy.com%2Fsignup%2Fteam%3Fa%3D). --- # Alchemy Acquires ChainShot for Web3 Developer Education URL: https://www.alchemy.com/blog/alchemy-acquires-chainshot.md At Alchemy, we wake up with one goal every day: Bring web3 to a billion people. One of the greatest barriers to entry for web3 is education, and this presents a fundamental problem: The web3 space moves at a speed most educational institutions simply can’t match. The curriculum evolves almost daily as builders continue to redefine what’s possible using blockchain technology. This is just one reason why we’re thrilled to announce we’ve acquired [ChainShot](https://www.chainshot.com/) — our first acquisition, and a major step towards free access to high-quality web3 education. ChainShot helps developers onboard into web3 with their live and instructor-led Ethereum Developer bootcamp. Starting with blockchain fundamentals such as [learning solidity](https://www.chainshot.com/bootcamp), cryptographic hashes and digital signatures, ChainShot is committed to helping devs find their footing before moving on to more advanced concepts like MEV, delegate call and contract upgradability. ChainShot began as a hackathon project at ETH Denver in 2018 and has built an impressive and loyal user base who consistently make waves in the web3 ecosystem upon graduation. A few of you might have even attended their online classes or live workshops at web3 conferences around the world. They’ve seen explosive growth over the last 4 years and that growth has only accelerated over the last 12 months. Since January 2022, enrollment has almost tripled. More than 86% of students that enroll see the program through to graduation, and more than 50% of those secure a job within 6 months of graduating. Graduates have placed at some of the top blockchain companies and projects such as OpenSea, [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) and Flashbots. Some have even gone on to build their own companies like Arbitrary Execution and Stader Labs. ChainShot’s platform and educational content are a perfect complement to our fast-growing [Web3U](https://www.web3.university/) and [Road To Web3](https://www.alchemy.com/road-to-web3) platforms, which have seen unprecedented growth this year. All this points to the unwavering developer interest in and enthusiasm for learning how to build in web3. As for next steps, our goal is to make the integration of ChainShot’s programs and ours as smooth and seamless for students as possible. We’re still ironing out how the pieces will come together, but one thing is certain: all of ChainShot’s course content that previously cost upwards of $3,000 will be 100% free. We’re delighted to welcome ChainShot into the Alchemy family, and look forward to helping hone the developer skillsets that will define the future of web3. Sign up at [ChainShot](https://www.chainshot.com/start) for product news and status updates on the integration of our two platforms. More exciting announcements to come soon! --- # Alchemy Acquires Satsuma to Power Alchemy Subgraphs URL: https://www.alchemy.com/blog/alchemy-acquires-satsuma.md _Note: Alchemy Subgraphs was sunset on December 8, 2025. For continued subgraph support, see the [migration guide to Goldsky](https://www.alchemy.com/docs/alchemy-subgraphs/deprecation-notice)._ Building a successful blockchain app is hard. One reason: you have to build complex pipelines for extracting and transforming blockchain data. Solution, incoming. We’re thrilled to announce that we have acquired Satsuma, the best-in-class subgraph platform, to power Alchemy's Subgraphs. By using Subgraphs, developers can build custom [GraphQL](https://www.alchemy.com/dapps/graphql) APIs in a fraction of the time it takes to spin up in-house data pipelines. Interested? [Subgraphs](https://www.alchemy.com/docs/alchemy-subgraphs/deprecation-notice) are fully self-serve and included with your Alchemy account. ## Subgraphs: solving the challenges of accessing blockchain data As blockchain user activity expands and higher-throughput [L2s grow in popularity](https://www.alchemy.com/blog/web3-developer-report-q2-2023), there’s an ever-increasing amount of data stored onchain. To power data-intensive applications, blockchain developers have two main options: do it yourself, or use Subgraphs. ### 1. Do it yourself Since blockchain storage is expensive, developers try to minimize the amount of data stored on-chain. If you want to compute a complicated metric like TVL, you’ll need to ingest and transform raw transactions yourself. You’ll have to handle data invalidation when [reorgs](https://www.alchemy.com/overviews/what-is-a-reorg) happen and deal with the maintenance cost of operating data pipelines. ### 2. Use Subgraphs Subgraphs provide an open-source abstraction for indexing a custom GraphQL API based on blockchain data. Define your API schema and how you want to process data - and that’s it! After you deploy your subgraph code to a platform like Subgraphs, you’ll get a fully managed GraphQL API for powering your application! Subgraph's infrastructure has improved the quality of GMX's user facing stat pages and internal chain related tracking requirements. High speed initial syncs and reindexing, are especially helpful for high volume chains like Arbitrum and Avalanche, allowing updates to be pushed out quicker and keep data fresh. **@coinflipcanada**, Key Contributor at GMX ## Introducing Alchemy Subgraphs ### Cut indexing time by up to 80% Using Subgraphs means spending less time waiting for data to process. #### Faster historical indexing As a subgraph developer, you have to wait for data to sync every time you change your subgraph code. Alchemy Subgraph customers see up to 5x faster historical indexing, allowing you to ship features faster. #### Faster ongoing indexing After your subgraph has caught up to chain tip, it still needs to process new blocks. With Subgraphs, incoming data arrives up to 2x faster for your end users. With Subgraph’s turbocharged indexing, our subgraphs sync up to 7x faster and we never have to worry about them drifting from the last block. **Philip Andersson**, Head of Engineering at Superfluid ### Save engineering time Time to index

", tooltip: "", icon: "" }, "2": { title: "

2 days

", tooltip: "", icon: "" }, "3": { title: "

4-7 days

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Data lag

", tooltip: "", icon: "" }, "2": { title: "

0-10 blocks

", tooltip: "", icon: "" }, "3": { title: "

100-150 blocks

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Engineering cost

", tooltip: "", icon: "" }, "2": { title: "

0 hrs / week

", tooltip: "", icon: "" }, "3": { title: "

2.5-10 hrs/week

", tooltip: "", icon: "" }, id: 2, }, ], }} /> Subgraphs help developers iterate and debug faster with features like: #### 1. Drop-in compatibility Switch over to Subgraph’s fully managed service in \< 5 minutes. #### 2. Advanced metrics View real-time analytics on your subgraph’s performance and learn how to optimize indexing with Performance Insights. #### 3. Direct DB access Unlock more efficient aggregations or solve analytics' use cases with direct access to your subgraph’s PostgreSQL database. #### 4. Flexible versioning Deploy and query multiple versions of your subgraph with a seamless versioning system. Flexible versioning lets your team test features in advance and instantly rollback if you encounter issues. Our partnership with Subgraphs has significantly improved our indexing process, saving a remarkable 85% of time while eliminating data loss concerns. **Yenwen Feng**, Co-Founder at Perpetual Protocol ### Get 99.9% uptime Subgraphs offer enterprise-grade reliability with a 99.9% API SLA, so you never worry about downtime again. ## Supercharge your app with alchemy’s tech stack Leveraging Subgraphs, coupled with the existing suite of APIs, SDKs, and developer tools unlocks an enterprise-ready solution for projects of any type: - **DeFi** developers who need to manage complex data abstractions with fast indexing times. - **Gaming** developers who require low data lag for users and fast indexing times. - **NFT** developers who need to reliably track NFT data with low data lag. - **Metaverse** developers who need improved load times and scalability. ### How to access Subgraphs Subgraphs will change the way you process blockchain data. Ready to see for yourself? Access Subgraphs now [through your dashboard](https://www.alchemy.com/docs/alchemy-subgraphs/deprecation-notice) to deploy your first subgraph, migrate your existing subgraph to your dashboard in less than 5 minutes with the drop-in one-click importer, or [talk to our team](https://www.alchemy.com/contact-sales) about using Subgraphs for your project. --- # Alchemy and Privy partner to simplify onchain finance URL: https://www.alchemy.com/blog/alchemy-and-privy-partner-onchain-finance.md We're excited to announce a partnership between Alchemy and [Privy](https://www.privy.io/) to give developers an end-to-end stack for building seamless applications onchain. By combining Privy's embedded wallets with Alchemy's [gasless transaction infrastructure](https://www.alchemy.com/gasless-transactions), the two platforms together make it easier than ever for developers to build onchain products that feel as simple as the best online experiences. ## Meeting the UX bar for onchain finance Onchain finance is no longer a niche. Stablecoin transaction volume hit $33 trillion in 2025, tokenized U.S. Treasuries surpassed $7 billion in AUM, led by BlackRock's [BUIDL](https://www.alchemy.com/dapps/blackrock-buidl) and Franklin Templeton's BENJI, and consumer fintechs are moving payments, payroll, and remittances onchain. What each of these use cases has in common is users who expect the experience to just work. When users are moving money, every point of friction, from signup to signing a transaction, can drive drop-off and erode trust. They don't want to think about seed phrases, gas tokens, or chain IDs. They want to click a button and be done. Delivering that experience requires solving two distinct problems: getting users onboarded quickly, and making transactions feel effortless once they're in the app. Privy and Alchemy are purpose-built to solve each side of this equation. - [**Privy**](https://www.privy.io/) powers onboarding and account creation through embedded wallets, abstracting away key management and wallet setup so every user gets a secure wallet provisioned in the background. - **Alchemy** powers the world’s most reliable and performant transaction infrastructure, abstracting away gas fees, signatures, and chain routing so users can complete transactions with a single click. Together, the integrated stack takes a user from first-time signup to completing a transaction without the friction points that typically deter mainstream adoption. Users sign up with an email or social account and transact without ever managing keys, approving signature requests, creating a wallet themselves, or holding the native cryptocurrency of the chain they're transacting on. ## The engineering behind making it look easy Making onchain finance feel simple is deceptively hard. Both Privy and Alchemy have invested years of engineering into the problems that sit underneath a single button tap. On the onboarding side, Privy's embedded wallets run on a secure key management architecture that combines hardware-isolated environments with distributed key shares, so applications can provision wallets without ever handling raw private keys. Supporting email, social, passkey, and external wallet login—then reconciling them into a single user identity with flexible custody and secure account management—requires a system that handles authentication, cryptography, and cross-device state without compromising on security or UX. > "Onchain products only feel simple when the full stack is handled end to end. Privy is excited to partner with Alchemy to bring together the account and transaction layers, so onchain products can feel as simple as the best online experiences." > > — Henri Stern, CEO of Privy On the transactions side, Alchemy has spent years building the infrastructure that powers $1B+ in gasless transactions at scale with 99.99% uptime and sub-50 ms responses. Every API call flows through real-time policy checks that enforce permissions and spend limits, cryptographic signing backed by the same hardware-level security banks rely on, and submission across every supported network—handling the very different fee mechanics of EVM and Solana along the way. Alchemy fronts the native tokens itself and bills developers in USD, so teams never have to touch a native token to ship. Having built through every major change in how protocols on different chains handle transactions, we power ~85% of gasless transactions across EVM and Solana. The point of the partnership is that developers don't have to build any of this themselves, or stitch two stacks together by hand. The integration is designed to be a few lines of code. ## Trusted by the teams building onchain finance Alchemy powers $1T+ annually for companies like Visa, Stripe, Robinhood, and more. Privy powers onboarding for leading consumer and financial apps, including Ramp, Gusto, Hyperliquid, and more. Privy currently powers over 120M accounts for more than 2,000 teams. Teams building the next generation of products are already using Privy and Alchemy together in production: - [**Slash**](https://www.slash.com/) is building financial infrastructure for modern businesses, using Privy for user onboarding and Alchemy for gasless transaction flows that let their customers move money onchain without managing gas or signing complexity. - [**Gensyn**](https://www.gensyn.ai/), the Network for Machine Intelligence, is an open infrastructure layer for AI. It provides the foundational infrastructure AI needs to operate at scale, including compute, data, and information exchange, by enabling both humans and machines to participate in open digital markets. Built with native support for AI communication, identification, and verification, Gensyn serves as the economic backbone for continual learning over new decentralised AI models and applications, without centralised control. > "Slash exists to make financial operations seamless for modern businesses. Our customers expect money to move instantly and invisibly across borders. Privy and Alchemy gave us the infrastructure to make that happen. Regardless of having a US LLC, every user goes from signup to completed transaction reliably without a moment of complexity, and that's exactly the bar we hold ourselves to." > > — Andy Jiang, Lead Product Manager of Slash > "One of the hardest problems in decentralised AI infrastructure is coordination. Getting end-users, developers, and models into open digital markets requires onboarding and transaction infrastructure that works reliably at scale. Privy and Alchemy handle that layer so our engineering focus stays on the frontier of decentralised AI, market mechanism design, and off-chain coordination at scale." > > — Ben Fielding, Co-Founder & CEO of Gensyn ## Get started If you're building an application onchain, Privy and Alchemy together offer the fastest path to a product your users can actually use. - [Sign up for Alchemy](https://dashboard.alchemy.com/?utm_source=blog&utm_medium=blog&utm_campaign=privy-partnership) and use [this guide](https://www.alchemy.com/docs/wallets/third-party/signers/privy) to connect Privy with Alchemy and develop seamless onchain UX end-to-end. - [Explore more](https://www.alchemy.com/gasless-transactions) about gasless transactions on Alchemy. - [Contact us](https://www.alchemy.com/contact-sales) to talk to our team about what you're building, and custom solutions and pricing for enterprises. --- # Alchemy Brings Institutional-Grade Infrastructure to the Canton Network URL: https://www.alchemy.com/blog/alchemy-brings-institutional-grade-infrastructure-to-the-canton-network.md Institutional finance is moving onchain. Over the past 18 months, the [Canton Network](https://www.canton.network/) has emerged as the public blockchain infrastructure where that shift is actually happening, not in theory, but in production. Goldman Sachs, Broadridge, BNP Paribas, DTCC, and hundreds of other institutions are already using Canton to tokenize, settle, and move real assets at scale, processing trillions of dollars in tokenized securities, repos, and funds. Today, we're bringing Alchemy's full infrastructure platform to the [Canton Network](https://www.canton.network/). ## Why Canton, and Why Now [Canton](https://www.canton.network/) is where real-world finance and institutional-grade crypto operate together to mobilize onchain assets 24/7, in a safe, regulatory-compliant manner. Canton is neither TradFi or DeFi - it's 'AllFi'. Canton was designed with privacy as a first principle, allowing participants to configure exactly who sees what, by design. Participants only see the data they're party to. Applications interoperate atomically through Canton's Global Synchronizer without exposing sensitive positions or counterparty information. That architecture has attracted a who's who of global finance. DTCC is building its tokenized U.S. Treasury infrastructure on Canton. Broadridge processes over $50 billion in daily repo volume through its Distributed Ledger Repo platform on the network. Goldman Sachs' GS DAP, BNP Paribas' Neobonds, and dozens of other institutional applications are live and in production. The network has grown from 24 validators at launch to 800+ today, with nearly 400 ecosystem participants and over $8 trillion in tokenized assets issued or processed across the platform. This is the environment where institutional finance is choosing to build. And as that adoption accelerates, the infrastructure demands are intensifying. ## What Alchemy Brings to Canton We've spent more than eight years building the infrastructure that powers the most demanding onchain applications in the world. Our platform processes billions of requests daily, maintains 99.99% uptime, and has been battle-tested through every major market event, from [the largest crypto liquidation in history](https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto) ($19B in 24 hours) to the launch of [J.P. Morgan's first public blockchain deposit token](https://www.alchemy.com/blog/alchemy-smart-wallets-jp-morgan-token). ### Alchemy-managed Canton Infrastructure Canton doesn't work like other chains. There's no single global state replicated across every node. Each institution runs its own **Participant Node**, storing private contract data and executing Daml logic, wrapped by a **Validator Node** that connects it to the decentralized Global Synchronizer for cross-application settlement and Canton Coin operations. Only your parties see your data. We operate both layers end-to-end. Each deployment includes redundant **Participant Nodes** and **Validator Nodes** across three availability zones, with provisioning through DevNet, TestNet, and MainNet, Super Validator sponsorship, DAR (Daml Archive) management, and synchronizer upgrades handled for you. All you need is to onboard your external parties and transact across the Canton Network, from day one. ### Institutional Ledger and Utilities APIs With no universal RPC endpoint on Canton, data access is scoped to your node. We expose two purpose-built API layers: - **Ledger API:** served by the Participant Node, this is the primary interface for reading and writing to the ledger. Applications connect as Daml parties to submit commands, query active contract sets, and stream transaction updates via gRPC or JSON, with party-scoped access control. - **Utilities API:** built on [Digital Asset](https://digitalasset.com/)'s Canton Network Utilities and the [CIP-56 token standard](https://www.canton.network/blog/what-is-cip-56-a-guide-to-cantons-token-standard), this provides the higher-level tokenization and asset management layer: asset issuance and registry, verifiable credentials, token lifecycle management, and composable workflows across participants and applications, without building from scratch. Both integrate into the same developer experience used across Ethereum, Solana, Base, and 30+ other networks on our platform. ### Gas Management Canton uses Canton Coin for network fees, converted into bandwidth "Bytes" through a gas station mechanism. For institutions that need to transact on Canton without managing native token positions, our [gas abstraction infrastructure](https://www.alchemy.com/gasless-transactions) handles this seamlessly, the same capability that enabled J.P. Morgan to deploy onchain deposits without holding crypto on its balance sheet. ### Built for How Canton Actually Works Canton's privacy model means validators process transactions in isolation. Its Daml-based smart contract layer requires different tooling than [Solidity](https://www.alchemy.com/overviews/solidity). Its synchronizer architecture, where applications run in private sync domains and bridge to the Global Synchronizer for cross-app composability, demands infrastructure that understands the nuances of how data flows through the network. We've invested in building Canton-native infrastructure from the ground up, the same approach we took when we rearchitected our Solana platform rather than just translating EVM tooling. The result is infrastructure that works the way Canton was designed to work, not a generic blockchain node strapped onto a financial network. ## One Platform Across Every Chain For institutions already building on public blockchains, Alchemy on Canton means one platform, one dashboard, one set of APIs, and one support team across their entire on-chain footprint. A bank using Alchemy for Ethereum or Base today can extend that same infrastructure to Canton without onboarding a new vendor, negotiating a new contract, or training a new team. This matters. Institutional adoption doesn't happen one chain at a time. It happens when the operational complexity of going multi-chain collapses into something manageable. That's what we provide. ## Getting Started We're working with [Digital Asset](https://digitalasset.com/) and the [Canton Foundation](https://canton.foundation/) to onboard institutions onto Alchemy-managed Canton infrastructure. Whether you're an existing Canton participant looking for managed node services, a financial institution evaluating Canton for the first time, or a builder exploring Canton's application layer, our team is ready to help. [Contact us](https://www.alchemy.com/contact-sales) to learn more about Alchemy's Canton infrastructure offering, or reach out to your existing Alchemy account team to add Canton to your platform. --- # Alchemy Build: The Most Powerful Tools for Blockchain Devs URL: https://www.alchemy.com/blog/alchemy-build-the-most-powerful-tools-for-blockchain-developers.md Today we are excited to introduce [Alchemy Build](https://alchemy.com/build), our powerful suite of blockchain developer tools that helps you prototype, debug, and ship products faster. Building great blockchain apps today is difficult due to a lack of fundamental developer tools. This can lead to longer debugging sessions, delayed release cycles, and customer outages. Based on hundreds of customer interviews, we estimate that blockchain developers currently spend 12 engineering hours per week on non-product related issues. If blockchain is truly meant to change the world, the industry simply can’t afford this. Alchemy Build helps developers save countless engineering hours with tools for searching, filtering, and browsing all product activity in milliseconds. It also includes powerful prototyping tools with real-time feedback so you can quickly ship fixes to your customers. Like the rest of the Alchemy developer platform, it’s fast and simple to set up. No code, no configuration -- it works out of the box. Alchemy Build consists of four tools: **Explorer:** Instantly search through millions of historical requests to find specific bugs, performance bottlenecks, or patterns of errors. **Mempool Visualizer:** View the real-time state of transactions in the mempool in order to identify delayed, stuck, or dropped transactions. "Alchemy Build has become an indispensable tool for our development workflow. Both the sheer simplicity of being able to spin up new Apps in minutes, as well as being able to deep dive into requests to diagnose issues has saved us countless hours of time." Josh Richardson, Founder **Bamboo** **Composer:** Make JSON-RPC calls directly from the dashboard in order to prototype and fix failing requests or explore the behavior of new methods. **Debug Toolkit:** Quickly scan recent requests and errors, along with a real-time query visualizer to help you debug faster than ever. "As we roll out Microtick, a new product on our own blockchain, it's crucial that our attention is focused on the right areas. Alchemy Build helps us maintain that focus, thanks to extensive tooling that takes the hassle and guesswork out of crafting web3 infrastructure." ‍ Kent Barton, Head of Research and Development, **ShapeShift** At Alchemy, we believe blockchain can power the next tectonic shift in technology, but not until developers have the right tools for the job. We want to give blockchain builders the high-performance tools they need to scale systems and delight customers. This commitment is why Alchemy is relied upon by millions of users and 70% of the top blockchain apps.  [Get started now with Alchemy Build](http://alchemy.com/build). --- _Alchemy is the world’s most powerful blockchain developer platform, relied upon by millions of users and 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Dharma, and Kyber. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Chairman of Google, Charles Schwab, and globally recognized founders and executives, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in _[_TechCrunch_](https://techcrunch.com/2019/12/17/alchemy-blockchain/)_, _[_Wired_](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/)_, _[_Bloomberg_](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup)_ and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, distributed systems, and artificial intelligence with leadership roles at Google, Microsoft, Facebook, Stanford, and MIT. Our mission is to supercharge the next tectonic shift in technology with the world’s most powerful blockchain developer platform._ --- # Celo: The faster, more secure, and more composable Layer 2 URL: https://www.alchemy.com/blog/alchemy-celo-l2-integrate.md We’re thrilled to announce our integration with [Celo](https://celo.org/), bringing our infrastructure and powerful developer tools to the ecosystem as Celo transitions to an Ethereum Layer 2 on March 26, 2025, at 3:00 AM UTC \(block height: 31056500\). Our integration ensures developers immediately benefit from our scalable, reliable infrastructure, ready to start building a faster, more secure, and more composable Celo. ## Why developers will choose Celo Celo’s upcoming Ethereum L2 launch delivers: - **Fast, Low-Cost Transactions** — 1-second block times and consistently low gas fees provide an impressive user experience. - **Ethereum Compatibility** — Built on the [OP Stack](https://www.alchemy.com/dapps/op-stack), Celo achieves full EVM equivalence, contributing to Ethereum’s rollup scaling roadmap. - **Seamless Interoperability** — CELO becomes native to both Ethereum and Celo, enhancing composability and ecosystem connectivity. ## Why Celo integrated with Alchemy Backed by our trusted infrastructure, developers can now confidently build and scale applications on Celo, building with the complete developer platform that powers web3. At mainnet launch, we’ll enter the [Celo ecosystem](https://www.alchemy.com/dapps/ecosystem/celo) as a RPC provider. This partnership gives developers immediate access to [**Supernode**](/rpc-api), our scalable, always-on node API infrastructure. After mainnet launch, we’ll quickly add support for additional key products, including: - [**Token API**](/token-api): Easily fetch token balances and metadata. - [**Transfers API**](/transfers-api): Track asset movements with simplicity. - [**Webhooks**](/webhooks): Keep your [apps](https://www.alchemy.com/dapps/top/defi-dapps) responsive and event-driven. - [**Embedded Wallets**](/smart-wallets): Smooth onboarding experiences with ready-built components, social logins, and customizable branding. Our goal is to help developers build with the best infrastructure in web3, encouraging projects to adopt the Celo ecosystem. Ready to start building for a composable and secure future? ## Frequently asked questions ### What is our integration with Celo L2? We provide infrastructure and developer tools for Celo as it transitions to an Ethereum Layer 2 on March 26, 2025, at 3:00 AM UTC (block height: 31056500). ### What services do we offer for Celo at mainnet launch? At mainnet launch, we enter the Celo ecosystem as an RPC provider through Supernode, our scalable, always-on node API infrastructure. ### What additional tools will be available for Celo after mainnet launch? After mainnet launch, we will add support for Token API, Transfers API, Webhooks, and Embedded Wallets to help developers build on Celo. ### What are the key benefits of building on Celo L2? Celo L2 offers 1-second block times, consistently low gas fees, full EVM equivalence through the OP Stack, and seamless interoperability with CELO native to both Ethereum and Celo. ### How do I start building on Celo? You can get started by visiting the Alchemy dashboard and accessing Celo infrastructure and tools at dashboard.alchemy.com/chains/celo. ### Is Celo L2 compatible with Ethereum? Yes, Celo is built on the OP Stack and achieves full EVM equivalence, contributing to Ethereum's rollup scaling roadmap. --- # Alchemy Plugin for Claude Code Now Live | Alchemy URL: https://www.alchemy.com/blog/alchemy-claude-plugin-now-live.md Traditional developer flows are evolving. They used to look like this: you’re coding and you need something - a wallet balance, the current price of ETH, finding whether a transaction actually landed. So you stop. You open the dashboard, dig through docs, paste together an SDK call, switch chains, and eventually get your answer. We built the Alchemy plugin for Claude Code to delete that round trip. Install it once, and your coding agent can query blockchain data across 100+ chains and manage your Alchemy apps without ever leaving the conversation. Ask "what's the current price of ETH?" or "show me the NFTs owned by vitalik.eth" and you get a real answer, from live data, right where you are already working. The plugin is open source and available now at [alchemyplatform/alchemy-claude-plugin](https://github.com/alchemyplatform/alchemy-claude-plugin). ## **What you get in one install** One install gives Claude Code three things at once. It connects the hosted Alchemy MCP Server, so Claude can call live blockchain data as tools. It adds slash commands for the queries you run most, so common work is one command away. And it ships Agent Skills that teach Claude how to use Alchemy correctly, both for answering questions in the conversation and for writing application code against our APIs. You do not configure any of that. You install, sign in, and start asking. ## **Getting started** Inside Claude Code, add the marketplace and install the plugin: The first time Claude calls an Alchemy tool, a browser window opens and you sign in with your Alchemy account over OAuth. No API key to copy, no local server to run. If you do not have an account yet, you can create one for free at the [Alchemy Dashboard](https://dashboard.alchemy.com/). Then run setup once to pick which app you are working with: `/alchemy:setup` That caches the app's API key for the rest of your session, which is what most of the data tools need. After that you are free to ask in plain English or reach for a command. ## **The commands you will actually use** The slash commands cover the lookups that interrupt you most. Each one takes an optional network and defaults to Ethereum mainnet when you leave it off. Read across chains with `portfolio`. Check a balance in USD without wiring up a price feed. Look up a transaction and its receipt to confirm it settled. Drop into Solana for SOL and SPL token accounts in the same flow you use for EVM. And when you are ready to ship, `create-app` provisions a new Alchemy app without leaving the terminal. Behind each command sits 160+ tools from the hosted Alchemy MCP Server: EVM JSON-RPC, our Token, NFT, Prices, and Portfolio APIs, transaction simulation and tracing, gasless transactions, and Solana over both RPC and the Digital Asset Standard. And, no need to memorize commands. Ask Claude directly and it will reach for the right tool. ## **Why this matters** The point is not that you can look up a balance. You always could. The point is that the lookup now happens inside the work instead of beside it. When your agent can read the chain in context, the questions change. You stop asking "what is this address holding" as a separate errand and start asking it as part of debugging a failing flow. You can have Claude check a transaction receipt, reason about why it reverted, and propose a fix without you ever leaving the file. Simulation and tracing are right there, so you can understand what a transaction will do before you send it. The agent is not just writing code about the chain. It can see the chain. That is also why we ship the Agent Skills alongside the tools. Live data answers questions in the moment. The skills teach Claude the patterns behind our APIs, so when it writes code against Alchemy, it writes the kind of code we would. You get correct help in the conversation and correct code in your repo. ## **If you do not use Claude Code** The plugin is the easiest path for Claude Code users, but it is one of three ways to work with Alchemy from an agent. Pick the one that matches where you build. Alchemy CLI', tooltip: "", icon: "", }, bestFor: { title: "The terminal directly, for live queries, transactions, and admin tasks in shell scripts, cron jobs, and CI pipelines", tooltip: "", icon: "", }, id: 1, }, { option: { title: 'MCP server', tooltip: "", icon: "", }, bestFor: { title: "Any MCP-compatible client such as Cursor, Codex, Claude Desktop, or VS Code Copilot, for live blockchain data as tool calls", tooltip: "", icon: "", }, id: 2, }, { option: { title: 'Agent Skills', tooltip: "", icon: "", }, bestFor: { title: "Any agent that writes code against Alchemy APIs, for endpoint knowledge without tool calls", tooltip: "", icon: "", }, id: 3, }, ], }} /> If you are in Claude Code, install the plugin and the MCP server, slash commands, and skills all come together. ## **Try it** Add the marketplace, install, run `/alchemy:setup`, and ask Claude something onchain. The whole thing takes about a minute, the account is free, and the plugin is open source if you want to see how it works or contribute. Get it at [alchemyplatform/alchemy-claude-plugin](https://github.com/alchemyplatform/alchemy-claude-plugin), or read the [docs](https://www.alchemy.com/docs/alchemy-claude-plugin). --- # Introducing the Alchemy Dapp Store URL: https://www.alchemy.com/blog/alchemy-dapp-store.md Web3’s rapid innovation cycles can make your head spin, but it also attracts users and developers from around the world who want to experience and define the future generation of the internet.  One surprising challenge of working in such a rapidly evolving ecosystem is keeping up with the powerful tools and apps being built and deployed on a near-daily cadence. To help all web3 users navigate this ever-shifting landscape, we built the [Alchemy Dapp Store](https://www.alchemy.com/dapps). The Alchemy Dapp Store is a free, community-supported directory where builders, traders, and the web3 curious can find decentralized applications and developer tools to participate in and contribute to expanding blockchain ecosystems. Discovering apps that solve real-world problems across decentralized finance, identity, infrastructure, ownership, and social can be frustrating. Today, users consult friends, the Crypto Twitter community, blog posts, and analytics sites to find new web3 applications. There’s currently no comprehensive source for web3 users to find the tools and applications they’re interested in — until now. Developers have a slightly different, but no less exhausting path to discover best-in-class web3 tooling.  Today, developers must hunt for solutions through GitHub profiles, sift through Discord channels, poll pseudonymous devs, and use Twitter search to track down that one 20-tweet thread of the best web3 tools. Alchemy’s Dapp Store solves these problems with a community-driven directory showcasing 1000s of apps and tools across every niche in web3. From DeFi applications to [DAOs](https://www.alchemy.com/dapps/top/daos) and open-source smart contract analysis tools, the Alchemy Dapp Store is a comprehensive, up-to-date place to find solutions. ## How to use the Alchemy Dapp Store From the Dapp Store home page users can filter the web3 directory by blockchain, category \(e.g. NFT Tools\), subcategories \(e.g. NFT APIs\), explore projects at a glance, and click through to project profile pages. Users can also search by product name to find a specific web3 project. ### Browse Web3 company profile pages Every dapp displayed in the dapp store has a dedicated profile that includes important information including website and Twitter links, product descriptions, supported blockchains, pricing details and company branding. ### Find alternative products and Web3 education resources Additionally, every page includes ways to learn more: 1. **Complimentary Products** - discover tools and products meant to be used together 1. **Educational Resources** - learn about product categories and how to use them 1. **Product Alternatives** - explore products from the same category ### Explore Web3 product categories and ecosystems Besides filtering products on the Dapp Store home page and reviewing individual product pages, users can also explore focus areas, blockchain ecosystem pages, niche category pages, and specific chain vertical pages. For example: - **Focus Areas** - [List of DeFi Apps](https://www.alchemy.com/dapps/top/defi-dapps) - **Ecosystem Pages** - [Ethereum Apps and Tools](https://www.alchemy.com/ecosystem/ethereum) - **Niche Category Pages** - [List of Decentralized Exchanges](https://www.alchemy.com/dapps/best/decentralized-exchanges-dexs) - **Chain Vertical Pages** - [List of Decentralized Exchanges on Ethereum](https://www.alchemy.com/list-of/decentralized-exchanges-dexs-on-ethereum) ## How to submit your project to the dapp store If you’d like to list a publicly available project on the Alchemy Dapp Store,, simply complete our [Dapp Store intake form](https://airtable.com/shrRvQ3yb8CY2AxtL?prefill_Form%20Submission%20Status=true&hide_Form%20Submission%20Status=true) and answer a few questions about your project. These questions are meant to help categorize your product in the directory, explain your use cases to potential users, and provide a helpful overview of your product.  While we’re launching the Dapp Store with over 1,000  projects, we hope that everyone building a project in web3 will claim their profile to help build a better future. --- # Alchemy Edge Proxy: How we made blockchain RPC up to 7.5x faster | Alchemy URL: https://www.alchemy.com/blog/alchemy-edge-proxy.md Trillions of dollars in value now move through blockchain infrastructure every year. A DeFi swap on Solana, a stablecoin transfer on Ethereum, a prediction market settlement on Polygon: each of these transactions depends on RPC calls that travel through layers of networking before reaching a node. When financial activity runs onchain, every millisecond in that path is money at risk. For an infrastructure provider serving trillions of requests across [100+ blockchain networks](https://www.alchemy.com/rpc), the layer between the user and the data center is where performance is won or lost. That layer is the edge. And in late 2025, Alchemy rebuilt it from scratch. ## Why does RPC latency matter for onchain finance? Blockchain users and applications are distributed globally. A trading bot in Singapore, a wallet app in Frankfurt, a DeFi protocol's backend in Virginia: they all make [RPC calls](https://www.alchemy.com/overviews/rpc-node) to read blockchain state and submit transactions. The faster those calls resolve, the better the experience. In DeFi, latency translates directly to execution quality. A slower `eth_call` means stale price data. A delayed transaction submission means worse fills or failed trades. For wallet applications, every extra 100ms of load time degrades the user experience that keeps people onchain. But latency is only half the equation. Reliability matters just as much. If your RPC provider routes all traffic through a single third-party CDN, that CDN becomes a single point of failure. When it goes down, every network, every customer, and every request goes down with it. ## What is the Alchemy Edge Proxy? Think of the Edge Proxy as the front door to [Alchemy's RPC infrastructure](https://www.alchemy.com/rpc-api). Every API request, whether it is reading Ethereum state, querying Solana accounts, or submitting a transaction on Base, passes through this ingress layer before reaching the serving infrastructure behind it. For years at Alchemy we used a major CDN as that front door. CDNs are a popular industry choice for good reason: they ship out of the box with DDoS protection, geographic routing, WAF rules, and SSL termination. For most web applications, that bundle is good enough. CDNs have spent two decades being the default ingress layer for everything from e-commerce to streaming, and they earn that position. Onchain finance has different demands. RPC traffic is bursty, latency-sensitive, geographically global, and security-critical in ways that ordinary web traffic is not. A trading bot reading state across three chains in parallel does not care that a CDN can cache a marketing page in 50 cities. It cares about the time between issuing `eth_call` and getting a response. A wallet syncing balances does not need a WAF rule for SQL injection. It needs the closest possible edge node and a TLS handshake that completes in single-digit milliseconds. A protocol settling positions on a derivatives exchange cannot tolerate a third-party CDN's incident timeline as a ceiling on its own uptime. To meet those demands, we built a custom edge proxy on bare metal: a purpose-built ingress layer designed from the ground up for high-throughput, low-latency blockchain RPC traffic. It runs on Alchemy-controlled infrastructure across multiple global regions, replaces every CDN-layer protection with an equivalent or stronger layer that we can tune per network, and removes a third-party dependency from the critical serving path entirely. The result is the fastest blockchain RPC ingress layer in production today. ## How does the Alchemy Edge Proxy work? The Edge Proxy architecture consists of two core components running on dedicated bare-metal servers across multiple global regions (US East, US West, EU Central, Southeast Asia, and others). ### Istio Ingress Gateway The first component is an [Istio](https://istio.io/) Ingress Gateway running Envoy as the data plane. This handles TLS termination, connection management, and request proxying. Envoy is the same proxy that powers Lyft, Google Cloud, and AWS App Mesh under load. Its async non-blocking C++ core, HTTP/2 multiplexing, and pre-warmed upstream connection pools make it well-suited to high-throughput, low-latency ingress. ### Edge Proxy Control Plane (EPCP) The second component is a custom control plane that runs alongside Envoy as an [ext_authz filter](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter). For every incoming request, the EPCP evaluates: - Where to route the request based on URL, headers, and the target blockchain network - Which backend clusters are available for that request (e.g., archive node clusters, AWS-hosted services, region-specific endpoints) - Whether the request should be blocked for security or compliance reasons - Which networks are healthy in the local region (via health checks) The EPCP then injects routing headers that tell Envoy where to forward the request. This design keeps the hot path fast (Envoy handles the proxying) while keeping routing logic flexible and dynamically configurable. ### Request lifecycle Here is how a typical successful request flows through the system: 1. The client sends an RPC request to `*.g.alchemy.com`. 2. Geo-based DNS resolves the request to the nearest Edge Proxy region. 3. The Istio Ingress Gateway receives the request and passes it to the EPCP via ext_authz. 4. The EPCP validates the request (OFAC checks, security rules), determines the destination cluster, and returns routing headers. 5. Istio forwards the request to the appropriate backend. 6. The response returns directly to the client. ### Geo-based DNS routing The Edge Proxy uses geoproximity-based DNS resolution. This means the DNS layer is chain-agnostic and network-agnostic: a request for Ethereum mainnet and a request for Solana mainnet both resolve to the same regional Edge Proxy. The Edge Proxy itself handles network-aware routing internally. This design has several advantages: - DNS resolution and TLS handshakes happen at the closest edge location regardless of which blockchain network is ultimately needed. - Adding new blockchain networks requires zero DNS changes. - Regional health checks run at the Edge Proxy level. If an Edge Proxy region goes unhealthy, DNS automatically fails over to the next-closest region. ### Dynamic configuration The Edge Proxy pulls its routing configuration from our internal configuration platform. This enables runtime changes without redeployments: If a region needs to be drained, a network needs rerouting, or a new security rule needs enforcement, the configuration updates propagate without touching the running proxy. ## How does the security model work without a CDN? Removing the CDN dependency meant rebuilding every security protection from scratch. The Edge Proxy replaces the CDN's protections with a layered approach: The key insight: these protections are not weaker than the CDN's. They are more targeted. Alchemy controls every layer, can tune thresholds per network, and is not dependent on a third party's incident response timeline when something goes wrong. ## What results has the Alchemy Edge Proxy delivered? The Edge Proxy rolled out across 100+ blockchain networks over three weeks in October 2025, with zero customer migration required. The results were immediate. ### Latency Customer-side telemetry showed similar magnitude improvements across diverse workloads, with the most latency-sensitive seeing the largest gains. For current public provider data, compare [RPC latency benchmarks](https://www.alchemy.com/benchmarks) across chains, regions, and common methods. ### Reliability Across the same window where the previous CDN-fronted setup would have been exposed to upstream incidents, Alchemy's infrastructure ran unaffected. ## How does this compare to other infrastructure approaches? There are three common approaches to handling ingress for blockchain API infrastructure: The custom edge proxy combines the latency advantages of a direct connection with the protection and traffic flexibility of a CDN, without the vendor dependency or cost scaling of either. Some RPC providers have shipped CDN-less edge solutions, but those rollouts have typically required customers to migrate to new endpoints behind deprecation deadlines. The Alchemy Edge Proxy delivered equivalent or greater performance gains with zero customer action required. ## Build on the fastest blockchain infrastructure Alchemy's Edge Proxy is one piece of a platform built for the demands of global financial activity. Up to 7.5x faster RPC at the tail, 100+ supported networks, multi-region presence across multiple continents, and zero-action performance upgrades: it all comes out of the box with [Alchemy's RPC endpoints](https://www.alchemy.com/rpc-api). Whether you are building a DeFi protocol, a wallet, a payment application, or onchain infrastructure for financial institutions, performance and reliability are table stakes. Explore the [full list of supported chains](https://www.alchemy.com/rpc), dive into the [Alchemy developer documentation](https://www.alchemy.com/docs), or [create a free account](https://dashboard.alchemy.com/signup) to start building. --- # Alchemy Announces New $200M Investment at $10.2B Valuation URL: https://www.alchemy.com/blog/alchemy-equity-investment.md Alchemy, the Web3 developer platform, is incredibly proud to announce that we’ve closed a new equity investment of $200M, valuing our company at $10.2B. This new investment was led by our existing investor, Lightspeed, and Silver Lake, joining as a new investor. All previous major investors, including a16z, Coatue, Addition, Pantera, and DFJ also participated. The new investment, following the announcement of our Series C in October at a $3.5B valuation, reflects the incredible growth in Web3 businesses being built on the Alchemy platform, as well as our company’s continued business strength and growth, with: - Over** 3X growth** in the number of teams building on Alchemy since our October fund raise - **$105B in annualized on-chain transaction value** powered by Alchemy, up from $45B in October “You need three core elements to build a successful business. — a high-performance team, a quality product, and a laser focus on customer needs,” said Ravi Mhatre, Partner at Lightspeed. “Alchemy is at the top of all three categories, and that’s why they’re one of the fastest growing companies in history.” The most exciting part about these growth figures is that they represent a massive acceleration of growth in the Web3 ecosystem as a whole. Thousands of new Web3 organizations are being launched and scaling quickly, and hundreds of established Web2 companies are pivoting their strategies to include Web3 on Alchemy. Behind these numbers are tens of thousands of developers building exciting new tools and services with blockchain, and millions of people having their first Web3 experiences. “**Alchemy is a special company playing a foundational role in creating an entire industry**”, said Egon Durban, co-CEO of Silver Lake. “**Nikil and Joe have built a team and platform relentlessly focused on the Web3 developer to drive unprecedented growth.**” We’re humbled that so many developers choose to work with Alchemy to bring their ideas to life on Web3. Since the start, we’ve been laser-focused on helping developers build for Web3 by providing tools and services that support both new builders and experienced developers alike. Our success can be measured by the success of the partners we have worked with, incredible organizations like OpenSea, Adobe, Dapper Labs, Crypto Punks, and more. As one example of the accelerating impact these amazing Web3 companies are having, in just the last 12 months, NFT marketplaces built on Alchemy have delivered more than $1.5B in royalties to artists, with almost $1B of that coming in just the last three months. The growth in this market is simply astounding. “**We believe Web3 should be accessible to everyone, and the best way to make that happen is by supporting incredibly creative developers who are bringing their ideas to life through blockchain technology. We’re extremely fortunate to have partners like Lightspeed and Silver Lake who share that belief,**” said Joe Lau, CTO and co-founder of Alchemy. In addition to continuing to grow our team globally — from 13 to 39 last year, to just under 50 now — we remain committed to supercharging Web3 ecosystem growth. We’ll continue to use our funding to expand access to Web3 globally. Just since our October funding announcement, Alchemy has re-invested back into the ecosystem in the following ways: - Led the launch of [Web3 University](https://www.web3.university), an open educational resource for anyone looking to build their [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) skills - Created [Alchemy Ventures](https://www.alchemy.com/ventures) to help nascent Web3 business accelerate their growth - Introduced the industry’s [largest free tier](https://www.alchemy.com/blog/more-capacity-lower-prices) to make Web3 development accessible to millions of developers around the world - Launched our new [NFT API](https://www.alchemy.com/nft-api), enabling any developer to integrate one of Web3’s most powerful innovations into their website “**2021 was the year developers took Web3 mainstream and created businesses that are transforming the lives of millions. In 2022, we’ll be doubling down on our commitment to supporting developers globally, making it easier than ever to unlock the potential of Web3**,” said Nikil Viswanathan, co-founder and CEO of Alchemy. --- # Alchemy Expands Stellar Support with Data APIs and a Path to Tier-1 Validation | Alchemy URL: https://www.alchemy.com/blog/alchemy-expands-stellar-data-apis-tier-1-validation.md Since [Alchemy launched Stellar support](https://www.alchemy.com/docs/reference/stellar-api-quickstart), with RPC, websocket support, and the same 99.99% uptime and SOC 2 Type II reliability we run across every supported network. Today that footprint goes deeper in two ways: Alchemy is working toward becoming a tier-1 validator on Stellar, and we've added three indexed Data APIs for reading Stellar at scale. We're standing up tier-1 validation on Stellar: a trio of geographically dispersed full validators that participate in consensus, publish public history archives, and meet the network's highest bar for uptime and quorum quality. [Tier-1 validators](https://developers.stellar.org/docs/validators/tier-1-orgs) are included in many quorum sets and help support network resiliency, and it's the standard we're building toward. Alongside RPC and websockets, we now offer three indexed, address-centric Data APIs on mainnet and testnet: transfer history, token balances, and NFT holdings. You send an address and a network, and you get indexed history or state back, with no indexer of your own to run. This is what operating an integrated infrastructure full stack lets us hand a developer, and how that data gets from the chain to a single query. ## Why operating the chain matters for reading it Reading Stellar at production scale is an indexing problem. [Soroban RPC](https://developers.stellar.org/docs/build/smart-contracts/overview) serves only a short window of recent ledgers. [Horizon](https://developers.stellar.org/docs/data/apis/horizon) gives you history, but answering a question as simple as "every asset this account has ever received" still means paging through a lot of primitives and keeping your own copy in sync. Most teams end up running an indexer just to back a portfolio screen. Building toward tier-1 validation changes what our answer to that problem sits on. Tier-1 orgs run full validators and publish public history archives, which is the same durable, complete ledger record any serious indexer needs, and it's the infrastructure we're building on Stellar. So our Data APIs are not a third party scraping the chain from outside. They run on infrastructure we operate end to end, on the same kind of history record that keeps the rest of the network in sync. Validation, RPC, websockets, and the Data APIs are one stack behind one API key, held to one standard of reliability. ## What the Stellar Data APIs do The surface is deliberately small. Each method takes an account address and a network and returns indexed data that would otherwise require your own backfill: - **Transfer history:** the record of asset movements for an address, in paginated format - **Token balances:** current asset balances held by an address, in one call - **NFT holdings:** NFTs held by an address, covering both classic Stellar assets and Stellar smart contract (Soroban) tokens. You ask what an address holds or what it has done, and the answer is assembled from indexed history. Exact request and response fields are in the [Stellar API quickstart](https://www.alchemy.com/docs/reference/stellar-api-quickstart). The shape to keep in mind is address in, indexed history out. ## Why Stellar needs a custom pipeline A generic EVM indexer does not fit Stellar. The ledger has its own structure of operations, payments, trustlines, and classic assets. On top of that, Soroban adds smart-contract tokens with a different model again. An NFT on Stellar can be a classic asset or a Soroban contract token, and a correct holdings answer has to account for both. So the Data APIs sit on a pipeline purpose-built for that model, in four stages. ## How the pipeline works It starts with [Galexie](https://developers.stellar.org/docs/data/indexers/build-your-own/galexie), the Stellar network's official ledger-export tool. Galexie writes ledger metadata to object storage as ordered partitions, which gives us a durable, replayable source of truth for the chain without hammering a node. The chain is exported once, and everything downstream reads from those partitions. A Stellar-specific ingestor then walks those partitions and writes normalized rows. Two things make it Stellar-aware. It runs one unified model instead of separate backfill and frontfill paths, so historical catch-up and staying at the tip are the same code, checkpointed per partition by highest ingested ledger. And it runs as distinct workloads: one classifies transfers and balances, while a separate NFT classifier walks the same partitions to resolve holdings across classic and Soroban assets. Workers run in parallel and scale per network, so mainnet and testnet are sized independently. That normalized data lands in a dedicated Stellar [ClickHouse](https://clickhouse.com/) cluster. ClickHouse is a columnar database built for analytical reads, which is exactly what these queries are: filter by address, scan, aggregate. Giving Stellar its own cluster isolates its query load, and thereby reducing cross-network latency. The Data API service reads from ClickHouse and is exposed through the same gateway, authentication, rate limiting, and compute-unit accounting as every other Alchemy chain. Stellar is not a side system with its own login and its own quirks. It is one more network behind the same API key. ## What a request looks like All three methods share one shape. The input is an address plus a network. The output is indexed, paginated history or state, already resolved into the asset model a developer expects, classic and Soroban together. There is no separate "is this recent or historical" decision for the caller, because the unified ingestion model means the index is generally both current and complete. That uniformity is the point. A team integrating transfers can add balances and NFT holdings without learning a new request pattern, and the same address that works for one method works for all three. ## What Alchemy offers for Stellar today Stellar runs as a first-class network on Alchemy, behind the same API key and tooling as every other chain: - Validator infrastructure on the path to tier-1, with geographically dispersed full validators and public history archives - RPC and websocket support with 99.99% uptime and global redundancy - Three indexed Data APIs for transfer history, token balances, and NFT holdings on mainnet and testnet - SOC 2 Type II certified infrastructure that processes over $1T in onchain transactions ## Get started - Create a key and call Stellar mainnet or testnet from the [dashboard](https://dashboard.alchemy.com/) - Find the transfers, balances, and NFT method references in the [Stellar API quickstart](https://www.alchemy.com/docs/reference/stellar-api-quickstart) - For volume or enterprise needs, [get in touch with us](https://www.alchemy.com/contact-sales) ## Frequently asked questions ### Does Alchemy run its own Stellar infrastructure? Yes. Alchemy is standing up tier-1 validation on Stellar, running geographically dispersed full validators that participate in consensus and publish public history archives. RPC, websockets, and the Data APIs run on top of that same infrastructure, so you are reading Stellar from a provider that helps operate the network, not a third-party indexer. ### Which networks are supported? Both Stellar mainnet and testnet. Workers scale per network, so the two are sized independently and a load spike on one does not affect the other. ### Do I still need to run my own indexer? No. The APIs return fully indexed transfer history, balances, and holdings, so you do not need to run Galexie, maintain a backfill, or keep your own copy of the ledger in sync to back a portfolio or history view. ### How are Soroban tokens handled? A dedicated classifier resolves holdings across both classic Stellar assets and Soroban smart-contract tokens, so a single holdings query reflects both models without you reconciling them yourself. ### How is this different from Soroban RPC or Horizon? Soroban RPC exposes only a short window of recent ledgers, and Horizon returns history as raw primitives you have to assemble. The Data APIs return indexed, address-centric answers across the history in one call. --- # Alchemy Is Going All-In on Hyperliquid | Alchemy URL: https://www.alchemy.com/blog/alchemy-going-all-in-on-hyperliquid.md We're planting a flag: Alchemy is building the most complete developer platform for [Hyperliquid](https://hyperliquid.gitbook.io/hyperliquid-docs) in the industry. [HyperEVM RPC](https://www.alchemy.com/rpc/hyperliquid) is the starting line, not the finish. Over the coming months we're shipping a full HyperCore data layer, real-time streaming, and validator-grade infrastructure. The same platform already powers more than $1T in annual transactions for Phantom, Robinhood, Stripe, Coinbase, Circle, Kinexys by J.P. Morgan, Polymarket, and many others. Now we're pointing it at the fastest growing venue onchain: perpetual futures and prediction markets. Integrating Hyperliquid today means stitching together public endpoints, running your own indexers, and praying your data stream doesn't drop mid-liquidation. That's exactly the kind of problem Alchemy was built to solve, so the teams building the next generation of onchain trading apps—and the agents that will trade on them—can ship on infrastructure that doesn't blink. [Get your HyperEVM API key](https://dashboard.alchemy.com/signup?utm_source=blog&utm_medium=blog&utm_campaign=hyperliquid_platform) or [talk to our team](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_campaign=hyperliquid_platform) to help shape the HyperCore data layer. ## What is Hyperliquid? Hyperliquid is a high-performance L1 purpose-built for finance. Unlike general-purpose chains that bolt trading on top of a generic VM, Hyperliquid runs a fully onchain central limit order book (CLOB) as a first-class primitive. It's the same price-time priority matching you'd expect from a centralized exchange, but settled transparently onchain. It's built on three tightly integrated layers: - **[HyperBFT](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperliquid-l1/l1-architecture)** — a custom HotStuff-derived consensus protocol delivering sub-second finality and throughput measured in the hundreds of thousands of orders per second. This is what lets an onchain order book feel like a CEX. - **[HyperCore](https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/overview)** — the native trading engine. Every perp and spot order, fill, funding payment, and liquidation lives directly in HyperCore state. This is the heart of the network and where the most valuable data lives. - **[HyperEVM](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm)** — a fully EVM-compatible execution environment that shares data with HyperCore through precompiles, so smart contracts can read live order book and account data without external oracles. That last point is the magic. On Hyperliquid, a DeFi protocol can read a real, onchain mark price directly from the matching engine, with no oracle latency and no trust assumptions layered on top. The trade-off for builders is that the most interesting data lives in HyperCore, which doesn't behave like a standard EVM chain. Serving it well takes purpose-built infrastructure. That's the gap we're closing. ## HyperEVM: the on-ramp builders already know If you can deploy a Solidity contract, you can build on HyperEVM. It follows the Cancun spec (minus blobs), so the tooling you already use—Foundry, Hardhat, viem, ethers—works without modification. Under the hood, HyperEVM uses a dual-block design: fast, small blocks for EVM transactions and larger blocks that settle alongside HyperCore's order-book actions, all under one consensus. For HyperEVM, Alchemy gives you what you'd expect from us on any EVM chain: reliable, low-latency JSON-RPC, the same dashboard and API keys you use for Ethereum and 100+ other networks, and our enhanced APIs for tokens, transfers, and transaction history. With hundreds of projects already building on HyperEVM, the demand for production-grade RPC is here today—and that's [live now](https://www.alchemy.com/hyperevm). Follow the [HyperEVM API quickstart](https://www.alchemy.com/docs/reference/hyperevm-api-quickstart) to connect from your existing stack, or browse [HyperEVM RPC endpoints and network details](https://www.alchemy.com/rpc/hyperliquid) in the dashboard. But EVM access alone doesn't open up Hyperliquid. The real opportunity is HyperCore. ## HyperCore: the data layer we're building HyperCore holds the data traders actually care about: every order, fill, funding payment, and liquidation. It's also where the tooling is weakest today. The network's read layer is a single [Info endpoint](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api) plus a WebSocket feed: powerful, but raw. Teams that want order books, fills, funding rates, positions, and the liquidation feed at production scale end up running their own indexing, reconnection, and gap-detection logic. When markets move—which is exactly when the data matters most—that homegrown infrastructure is what breaks. Great infrastructure takes a bit more time, but that's what we're committing to for builders. We're building HyperCore data APIs to make it our problem, not yours. Specifically, we're working toward: - **Indexed REST APIs** for the queries the raw endpoint can't answer cheaply: historical fills, funding history, account positions over time, and enriched market metadata—answered in milliseconds, paginated, and backfillable. - **Real-time streaming** for order book updates, trades, funding, and the liquidation feed—with multi-node redundancy and replay on reconnect, so a client restart never becomes a missed liquidation. - **One platform, one set of keys.** Query HyperCore, HyperEVM, Ethereum, Solana, and Bitcoin through the same dashboard, the same metering, and the same SLAs. This is the same playbook we ran for [Solana streaming](https://www.alchemy.com/blog/introducing-alchemy-solana-grpc): instead of a single node that spikes or drops under load, we aggregate across multiple upstreams, deduplicate, and deliver the fastest healthy result. The stream stays steady even when individual nodes don't. We think the trading, MEV, and analytics teams on Hyperliquid deserve exactly that. ## Validators: infrastructure at the base layer Great data starts at the source. Hyperliquid secures itself through HyperBFT, where a set of validators—expanding over time as the network decentralizes—must reach a two-thirds-stake quorum to finalize blocks. Running infrastructure close to the validator set is what lets us deliver the lowest-latency, most reliable view of HyperCore state. Alchemy intends to participate at the validator and node-operator level on Hyperliquid, the same way we operate deep infrastructure across the networks we support. Being close to consensus isn't just about decentralization. It's how we guarantee the freshness and integrity of the data we serve back to developers, and how we contribute to the long-term health of a network we're betting on. ## The long game: building for traders Hyperliquid is, at its core, where people trade. So the developers we most want to serve are the ones building for traders: market makers competing on execution latency, arbitrage and liquidation bots where milliseconds decide profitability, analytics and risk platforms that can't tolerate gaps, and the wallets and front-ends rendering real-time positions and PnL for end users. Our long-term commitment is to be the infrastructure backbone underneath all of them. That means data that's fast enough for execution-sensitive workloads, reliable enough to trust during the most volatile windows, and complete enough that you never have to leave the platform to assemble a full picture of the market. As Hyperliquid's product surface grows—with new markets, new HyperEVM primitives, and deeper composability between the two layers—we'll grow our coverage alongside it. ## This is just the start HyperEVM RPC is live on Alchemy today. HyperCore data APIs, streaming, and validator infrastructure are what we're building next—and we want to build them with the teams who'll use them. **If you're building on Hyperliquid, or want to, tell us what you need.** - [Start building on HyperEVM](https://dashboard.alchemy.com/signup?utm_source=blog&utm_medium=blog&utm_campaign=hyperliquid_platform) from your Alchemy dashboard. - [Read the HyperEVM quickstart](https://www.alchemy.com/docs/reference/hyperevm-api-quickstart) and explore the [HyperEVM development platform](https://www.alchemy.com/hyperevm). - [Contact our team](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_campaign=hyperliquid_platform) to help shape the HyperCore data layer. For a deeper look at how HyperEVM RPC fits into the broader provider landscape, see our [guide to Hyperliquid RPC providers](https://www.alchemy.com/overviews/complete-guide-to-hyperliquid-rpc-providers-top-8-solutions-for-2026). We're listening. --- # Alchemy Joins the Solana Research Institute as a Founding Member URL: https://www.alchemy.com/blog/alchemy-joins-solana-research-institute.md Today we're announcing that Alchemy is a founding member of the [Solana Research Institute](https://solresearch.institute/) (SRI), an applied research forum focused on how financial institutions participate in blockchain-based capital markets. We're joining alongside organizations like the Solana Foundation, Jito, R3, and Figment to help build the technical and strategic groundwork that institutions need before they move serious capital onchain. ## What the Solana Research Institute is SRI exists to answer a specific question: what does it actually take for banks, asset managers, and other regulated institutions to operate on a public blockchain? Its work spans the full lifecycle of financial activity, from origination and execution through governance and risk management. Rather than promote a single product or protocol, SRI produces systematic analysis of onchain infrastructure and evaluates the path from legacy financial systems to high-performance onchain markets. ## Why this is a natural fit for Alchemy We've spent 8+ years as an infrastructure provider for teams that cannot afford to be wrong about reliability or performance. That includes a growing set of institutions and enterprises who treat blockchain access the way they treat any other critical system: it has to be fast, it has to be available, and it has to hold up under scrutiny. That standard is why companies like Visa, Stripe, Robinhood, Coinbase, and Circle build on Alchemy, and why our platform now powers more than $1 trillion in transactions annually. The same infrastructure that carries their volume is what institutions evaluate when they decide where to put real money onchain. Supporting that audience means supporting many chains at once, because no single network covers every use case. A payments team, a trading app, and a consumer wallet often live on different chains with different performance needs. Our job is to make each of those chains feel dependable through one consistent interface, so an institution can build across networks without rebuilding its infrastructure each time. ## Why chains need bespoke infrastructure Treating every blockchain the same way is the fastest path to poor performance. Each network has its own execution model, data layout, and failure modes, and the differences get sharper as throughput climbs. Solana is the clearest example. Its high throughput and low fees come from a design that is genuinely different from EVM chains, which means generic node setups leave performance on the table and struggle under load. Getting it right takes infrastructure tuned to how Solana actually works, not a copy of what works elsewhere. ## Our Solana infrastructure We built our [Solana](https://www.alchemy.com/solana) stack specifically for the demands of high-volume applications, with a dedicated in-house team of experts. The result is a setup tuned for the network rather than adapted from EVM defaults. In practice that means roughly 2x the throughput of standard setups, about 10x better handling of heavy calls like getProgramAccounts, and up to 20x faster archival lookups for historical data. We offer low-latency gRPC streaming in the 5 to 15 millisecond range for teams that need real-time data, backed by 99.99% uptime. For builders, we also run a [$20M Solana ecosystem fund](https://www.alchemy.com/solana-20m-fund) and offer up to $25k in credits to help teams scale. This is the kind of infrastructure institutional work depends on, and it's what we bring to SRI's research on what production-grade onchain markets require. ## Why Solana, and why now Solana has crossed from a network institutions watch to one they build on. The clearest signal is tokenized real-world assets on the network hitting a record $2.8 billion, with Solana now carrying the vast majority of onchain tokenized-equities trading volume. The names moving onchain make it concrete. Western Union and SoFi both launched stablecoins on Solana this year. State Street and Galaxy stood up a tokenized liquidity fund on it. And JPMorgan began settling through it. These are institutions that don't move until the operational and risk questions have credible answers. What makes that possible is a network built for serious volume: sustained throughput above a thousand transactions per second, block times around 400 milliseconds, fees that stay below a cent even under load, and a multi-year record of staying up. The questions SRI is taking on, around execution, governance, and risk, are the same ones our largest customers ask before they commit. Helping answer them with rigorous, public research is good for the ecosystem and good for the institutions deciding where to build next. ## Get started [Start building](http://alchemy.com/solana) on Solana. If you're an institution evaluating onchain infrastructure and want to talk through your requirements, [reach out to our team](https://www.alchemy.com/contact-sales). And, to learn more about the Solana Research Institute, visit [solresearch.institute](https://solresearch.institute/)
Solana Research Institute Founding Member badge

Alchemy is a founding member of the Solana Research Institute, an applied research forum focused on how financial institutions participate in blockchain-based capital markets.

--- # Alchemy Launches Filtered Pending Transaction Notifications URL: https://www.alchemy.com/blog/alchemy-launches-filtered-pending-transaction-notifications.md For the first time, developers can see real-time engagements with their smart contracts and end-users can get real time updates over their transaction lifecycle. Let’s say you are a smart contract owner and you want to see all pending transactions for your contract. Maybe you’re building out health monitoring for your contract. Maybe you’re trying to route pending notifications to your users. Regardless, it’s a big hassle to do this in the ecosystem today. ## Streaming your contract transactions without Alchemy Let’s first take a look at how you would do this without Alchemy. Ethereum exposes the eth_newPendingTransactions API, which will give you a stream of pending transaction hashes. Then for each of these transaction hashes you can fetch the full transaction payload, extract the contract address, and then run your business logic if the address matches your contract. This process gets expensive very quickly as you will be checking dozens of transactions per second, most of which are irrelevant to you, and making a network call for each one of them. ## Introducing Alchemy's filtered transactions API Rather than accepting a full stream of pending transaction hashes and then checking each one, Alchemy will run the check for you before streaming. You provide an address to our [alchemy_pendingTransactions](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-subscribe) endpoint and we will stream you pending transactions that are going to or from the address. Let’s see this in action. We’ll observe pending transactions for SushiSwap's router address. As you can see SushiSwap is pretty active. ## What can we build with this? We're excited to see what you come up with! To get your creative juices flowing, here are some applications that are now massively easier to build: Create an activity monitor on your smart contract. You can set up a subscription to stream pending transactions to your smart contract. If you don't receive a transaction within a given time frame, fire off an alert! Find out when a particular address becomes "active". Maybe you want to know when someone sends ETH to a verified scam address. Or when a black hat hacker finally removes funds from a particular address. Notify your end users when their transaction is pending. Set up a subscription from the client side when your end-user submits a transaction, and notify your user when the transaction is submitted to the mempool. Perhaps soon we won't have to keep reloading block explorers? For other subscription capabilities as well as webhooks, check out [Alchemy’s Notify](https://www.alchemy.com/docs/reference/notify-api-quickstart) offering. --- # Alchemy Powers Lens Chain: Building the SocialFi Future URL: https://www.alchemy.com/blog/alchemy-lens-powering-the-future-of-socialfi.md Today, we're thrilled to announce that Alchemy infrastructure is fully supporting Lens Chain, a revolutionary onchain stack purpose-built for SocialFi applications. This collaboration brings together Alchemy's enterprise-grade infrastructure with Lens Chain's innovative Social Primitives to create the foundation for the next generation of onchain social experiences. ## Why lens matters Social media transformed how we connect, but it came with significant drawbacks: centralized control, data exploitation, disbalanced incentives, and limited monetization. Lens reimagines what's possible by combining high-performance infrastructure with flexible social primitives, allowing builders to create applications where users truly own their content, data, and relationships. With Lens Chain, SocialFi becomes accessible to everyone. The platform simplifies blockchain complexity while delivering Web2-level performance with onchain benefits: - **Lightning-fast performance** with Avail DA and [ZKsync](https://www.alchemy.com/overviews/what-is-zksync-era) Validiums. - **Seamless user experience** with stable gas fees through GHO stablecoin - **Full user data sovereignty** through Grove, a user-controlled storage solution - **Developer Dashboard** deploy apps and integrate Social Primitives, manage sponsorships, monitor performance, all in one place. - **Frictionless onboarding** via [Family](https://www.alchemy.com/dapps/family) wallet with email/SMS verification ## Alchemy's full-stack support for lens To help builders create exceptional SocialFi experiences on Lens Chain, Alchemy is providing comprehensive infrastructure support: ### Reliable RPCs Our enterprise-grade nodes ensure consistent, high-performance connectivity for developers building on Lens, with 99.99% uptime and optimized for SocialFi applications. ### Enhanced APIs We're bringing our complete suite of enhanced APIs to Lens Chain, enabling developers to build feature-rich applications with simplified data access and management. ## Why leading chains choose Alchemy Lens Chain's selection of Alchemy as an infrastructure partner continues our track record of powering the most innovative blockchain ecosystems. Performance-focused chains consistently select Alchemy for: **Unmatched Reliability**: With enterprise-grade infrastructure trusted by thousands of developers, Alchemy delivers the stability needed for mission-critical applications. **Developer Experience Obsession**: Our comprehensive tooling eliminates infrastructure headaches, allowing builders to focus on what matters—creating groundbreaking applications. **Ecosystem Acceleration**: Chains partnering with Alchemy benefit from our extensive developer reach and proven ability to catalyze ecosystem growth. **Performance at Scale**: Our infrastructure is built to handle explosive growth, supporting projects from prototype to global adoption without missing a beat. ## The SocialFi opportunity Lens Chain launches with impressive momentum: 650,000 migrated user accounts, 30 million\+ follower connections, 16 million\+ posts, and 45,000\+ weekly active users. The ecosystem includes both established applications like Hey, Orb, Soclly, 0xppl and [Firefly](https://www.alchemy.com/dapps/firefly), as well as new projects like Fountain, Bonsai and Rekt. For developers, this presents a unique opportunity to build SocialFi applications with: - **Modular, composable building blocks** through Lens V3's Social Primitives - **Seamless monetization** via integrated DeFi protocols - **User-controlled data** that respects privacy and ownership - **Enterprise-grade performance** through Alchemy's infrastructure ## Get started today Ready to build the future of SocialFi? Here's how to start creating on Lens Chain with Alchemy: 1. [Create an Alchemy account](https://www.alchemy.com/signup?a=lens-launch) 1. Select Lens Chain as your network 1. Access our comprehensive Lens Chain documentation 1. Start building with our APIs and RPCs ## Alchemy startup program supporting SocialFi innovation The Alchemy Startup Program is now supporting SocialFi apps built on Lens Chain. If you're creating innovative social experiences, you can apply for infrastructure credits, technical support, and go-to-market assistance to accelerate your project's growth. It's never been easier to build and innovate in the SocialFi space — we're excited to see what you create. Join our[ Discord](https://discord.gg/AJbg2kpJ) to connect with our team and other builders creating innovative SocialFi applications. ## Building the future together The combination of Lens Chain's purpose-built SocialFi infrastructure and Alchemy's developer tooling creates an unparalleled foundation for builders to reimagine social experiences. From decentralized content platforms to tokenized communities and creator economies, the possibilities for innovation are endless. We're excited to support the next wave of SocialFi builders as they create applications that put users first, respect data ownership, and enable new forms of social connection and monetization. Together with Lens Chain, we're making it possible to build your biggest ideas in the SocialFi space. ## Frequently asked questions ### What is Lens Chain? Lens Chain is a Layer 2 blockchain purpose-built for SocialFi applications, featuring high-performance infrastructure with Avail DA and ZKsync Validiums, stable gas fees through GHO stablecoin, and user-controlled data storage through Grove. ### How do we support Lens Chain? We provide enterprise-grade RPC nodes with 99.99% uptime and a complete suite of enhanced APIs to help developers build feature-rich SocialFi applications on Lens Chain. ### What gas token does Lens Chain use? Lens Chain uses GHO, [Aave](https://www.alchemy.com/dapps/aave)'s stablecoin, as its native gas token to provide predictable and stable transaction fees. ### What is our Startup Program for Lens Chain builders? Our Startup Program supports SocialFi apps built on Lens Chain by offering infrastructure credits, technical support, and go-to-market assistance to accelerate project growth. ### How do I start building on Lens Chain? Create an Alchemy account, select Lens Chain as your network, access the comprehensive documentation, and start building with our APIs and RPCs. ### What makes Lens Chain suitable for SocialFi applications? Lens Chain combines lightning-fast performance, seamless user experience with stable gas fees, full user data sovereignty through Grove storage, a developer dashboard, and frictionless onboarding via Family wallet with email/SMS verification. ### What is the current size of the Lens Chain ecosystem? Lens Chain launched with 650,000 migrated user accounts, 30 million+ follower connections, 16 million+ posts, and 45,000+ weekly active users across applications like Hey, Orb, Soclly, 0xppl, Firefly, Fountain, Bonsai, and Rekt. --- # MCP for Blockchain Data: Every Alchemy API in Your AI Assistant | Alchemy URL: https://www.alchemy.com/blog/alchemy-mcp-server.md Open Claude and ask a question you would normally write a script for: "What are the top USDC lending markets right now, and which one has the highest supply APY?" A few seconds later it answers. Live rates across Aave, Compound, and Morpho, sorted, with the chain each one is on. No script. No copying an endpoint out of the docs. No hunting for the right contract address. You asked, and your assistant read the chain and told you. That works because your assistant is connected to the [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): a hosted service that exposes every Alchemy blockchain API as a tool your AI assistant can call in plain conversation. Onchain questions get answered the same way your assistant already answers questions about your codebase. ## What just happened Coding assistants are good at reasoning and bad at guessing. Ask one for live blockchain data without giving it a real way to fetch that data, and it will often invent an endpoint that does not exist or hand you stale numbers from training data. The intelligence is there. The connection to reality is not. [MCP](https://modelcontextprotocol.io/) closes that gap. When your assistant is connected to Alchemy over MCP, "what are the top USDC lending markets" stops being a question it pattern-matches and becomes a question it answers by actually reading the chain: calling the contracts, pulling current rates, and returning real numbers from this minute. ## What is MCP for blockchain data? MCP, the Model Context Protocol, is an open standard for connecting AI assistants to outside tools and data. Think of it as a common plug. A tool provider exposes a set of capabilities, the assistant discovers them, and from then on the assistant can call those capabilities in plain conversation. The [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) is that plug for blockchain data. It exposes Alchemy's API surface as tools your assistant can pick up and use: 168 of them, across [100+ chains](https://www.alchemy.com/rpc-api). Token balances, NFT ownership, transaction history, portfolio data, prices, gas estimates, transaction simulation, traces, raw RPC calls. If you can do it with an Alchemy API, your assistant can do it through MCP. Because MCP is a standard and not a plugin for one specific app, you connect once and the assistant handles the rest. There is nothing to install into your project and no SDK to wire up. The server runs at `https://mcp.alchemy.com/mcp`, your assistant connects to it, and the tools show up. ## Every Alchemy API, now something your assistant can call The useful part is not any single tool. It is that the whole surface is available at once, so your assistant can chain steps together the way you would. Ask "which wallets supplied more than $1M of USDC to Aave on Base in the last 24 hours," and it can pull the transfers, filter them, and total them up. Ask "what's in this wallet," and it can read balances, token metadata, and NFT holdings and give you one clean summary. Ask "simulate this swap before I send it," and it can run the simulation and tell you what would happen, before any gas is spent. These are the questions you already ask during a build. Normally each one is a detour: find the endpoint, write the call, parse the response, read it. With every Alchemy API in the assistant, the detour collapses into a sentence. The server groups tools into three categories. **Admin** tools manage your Alchemy account and apps. **RPC** tools cover standard EVM JSON-RPC, Solana RPC, token APIs, transfers, simulation, tracing, debug, and account abstraction. **Data** tools call Alchemy's REST APIs for NFTs, prices, and multi-chain portfolio data. After you run `select_app`, the data and RPC tools use that app's credentials for the session. See the full tool list in the [MCP server docs](https://www.alchemy.com/docs/alchemy-mcp-server). ## It works with the assistant you already use The Alchemy MCP server is not tied to one model or one app. It works with Claude, Cursor, Codex, ChatGPT, and other MCP-compatible clients. You bring the assistant you already build with, and Alchemy connects to it. There is no proprietary model to adopt and nothing to rip out later. That matters because the right tool is the one already open next to your editor. MCP fits into that, instead of asking you to change how you work. ## How do I set it up? You add the server to your assistant's MCP config once, sign in with your Alchemy account when prompted, and start asking questions. Authentication is OAuth over the hosted server at `https://mcp.alchemy.com/mcp`. No API key to copy and no local process to run. For **Cursor**, add this to `~/.cursor/mcp.json` (global) or `.cursor/mcp.json` (project-level), then restart the editor: For **Claude Code**, run: For **Codex**: The first time your assistant calls an Alchemy tool, a browser window opens for OAuth sign-in. After that, tell it to select an app (for example, "select my Alchemy app for Base mainnet") so RPC and Data tools know which credentials to use. Client-specific steps for Claude Desktop, VS Code Copilot, and other MCP clients are in the [Alchemy MCP server documentation](https://www.alchemy.com/docs/alchemy-mcp-server). You can also wire the server in one command with `alchemy install mcp` from the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli). Once connected, the tools are just there. Open a chat, ask an onchain question in plain language, and your assistant reaches for the right Alchemy API on its own. ## When to reach for MCP, the CLI, or Skills MCP is the fastest path when you want answers in conversation: exploring data, checking state, sanity-testing an idea before you write code. Nothing to install into your repo. Ask and read. When you want your assistant to take action from the terminal, set up a repo, fund a test wallet, or run a command, the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) is the better fit. And when you want it to write correct Alchemy integration code into an app that ships, [Agent Skills](https://www.alchemy.com/docs/alchemy-agent-skills) load the full API spec so the generated code uses the right endpoints, auth, and pagination the first time. Most builds end up using all three. MCP is usually where it starts, because asking a question is the lowest-effort way in. MCP server', tooltip: "", icon: "", }, bestFor: { title: "Live onchain answers inside Cursor, Claude, Codex, or any MCP client, without writing fetch code", tooltip: "", icon: "", }, id: 0, }, { option: { title: 'Alchemy CLI', tooltip: "", icon: "", }, bestFor: { title: "Terminal workflows: sends, swaps, bridges, admin, and scripting the same surface your agent can call", tooltip: "", icon: "", }, id: 1, }, { option: { title: 'Agent Skills', tooltip: "", icon: "", }, bestFor: { title: "Shipping application code that calls Alchemy APIs with correct patterns baked in", tooltip: "", icon: "", }, id: 2, }, ], }} /> See how the pieces fit together on [Alchemy for agents](https://www.alchemy.com/agents). ## Start asking your assistant onchain questions The same infrastructure that serves 100M+ users across 100+ chains at 99.99% uptime is now something you can talk to. Connect the [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server), ask your assistant what is happening onchain, and watch it answer with real data. --- # Monad - Powered by Alchemy's Node API and More URL: https://www.alchemy.com/blog/alchemy-monad-integrate.md **Introducing Monad: Build on the Fastest EVM L1 with Zero Compromises** We're excited to announce our integration with [Monad](https://www.monad.xyz/), a high-performance Ethereum-compatible L1 with limitless potential, allowing builders to create whatever apps they can imagine using the coding languages and tools they already know. Collaborating with Alchemy and our highly scalable, reliable infrastructure that powers web3, Monad has created a platform for innovative developers ready to reset onchain performance. ## Why developers will choose Monad ###### Full EVM compatibility Monad’s architecture has been built from the ground up to deliver peak performance while preserving complete EVM compatibility. Deploy your smart contracts with EVM compatibility and tap into Ethereum’s trusted RPC API. ###### Low gas fees Experience near-zero gas fees thanks to Monad’s optimized design. This breakthrough efficiency opens the door for consumer apps that previously seemed unbuildable, even during periods of network congestion. ###### High throughput Use Monad’s high-speed engine to build the fastest apps, with 10,000 TPS \(or 300 Mgas/s\), 1-second block times, and single-slot finality—all while maintaining backward compatibility. It’s a performance leap that redefines what’s possible in blockchain scalability. ## Why Monad integrated with Alchemy By selecting Alchemy, Monad combines industry-leading expertise with resilient infrastructure, creating a solution that’s trusted by the largest enterprises in web3. This integration reflects our commitment to providing developers with the most advanced and reliable tools to build next-gen apps. Chain partners choose to work with Alchemy because they need the complete developer platform that engineers love. With 24/7 support from real engineers and access to the largest on-chain developer base, we provide Monad and our other partners with everything they need to build a thriving ecosystem of apps, developers, and users. ## Get started today Ready to build the apps with unprecedented performance and speed? ## Frequently asked questions ### What is Monad? Monad is a high-performance Ethereum-compatible Layer 1 blockchain that delivers 10,000 TPS, 1-second block times, near-zero gas fees, and single-slot finality while maintaining full EVM compatibility. ### Why did Monad integrate with us? Monad integrated with us to combine industry-leading expertise with resilient infrastructure, providing developers with the most advanced and reliable tools, 24/7 support from real engineers, and access to the largest on-chain developer base. ### Does Monad support existing Ethereum development tools? Yes, Monad offers full EVM compatibility, allowing developers to deploy smart contracts and use Ethereum's trusted RPC API with the coding languages and tools they already know. ### What are the main performance benefits of building on Monad? Monad provides 10,000 TPS (300 Mgas/s), 1-second block times, single-slot finality, and near-zero gas fees, all while maintaining complete backward compatibility with the EVM. ### How do I start building on Monad? Get started by signing up for a free API key and accessing our Monad integration through the dashboard to begin building with unprecedented performance and speed. ### What makes Monad different from other blockchains? Monad's architecture has been built from the ground up to deliver peak performance while preserving complete EVM compatibility, enabling consumer apps that previously seemed unbuildable due to gas fees or speed limitations. ### What kind of support do we provide for Monad developers? We provide 24/7 support from real engineers, highly scalable and reliable infrastructure, and a complete developer platform trusted by the largest enterprises in web3. --- # Alchemy Monitor - All-In-One Dashboard For Blockchain Devs URL: https://www.alchemy.com/blog/alchemy-monitor-the-all-in-one-dashboard-for-blockchain-developers.md Today we are excited to introduce [Alchemy Monitor](https://alchemy.com/monitor), our comprehensive suite of dashboards and alerts for blockchain app health, performance, and user behavior. All the data you need, right at your fingertips. Traditional monitoring tools don’t capture the data that blockchain developers need to understand how to improve performance. This lack of transparency makes it impossible to know where to start, and too often developers learn about errors at the same time as their users. Rather than uncovering and addressing issues in advance, blockchain developers are forced to interrupt their workflow and fight fires under pressure, sacrificing nights of sleep in the process. Alchemy Monitor helps developers proactively prevent issues through real-time dashboards and automated alerts containing critical information about their app’s overall health. Developers can also rely on Alchemy Monitor for driving growth and scaling efficiently as the tool provides  deep insights into user behavior and real-time methods for optimizing performance. Like the rest of the Alchemy developer platform, it’s fast and simple to set up. No code, no configuration -- it works out of the box. Here’s how developers get the most out of Alchemy Monitor: **Command Center:** Instantly check on the high-level health of all your apps in one place, including requests per second, response time, and error rates. **Usage Analytics:** Review specific app usage over time, compare and contrast production and staging or two different apps completely, and even deep dive into app usage by method. User Insights: Draw invaluable insights on user behavior with geographic, traffic, and activity data. **Alerts & Digests:** Receive automated alerts whenever apps hit rate limits or make invalid requests. In addition to a daily report of key health metrics so you are always up to date. "Alchemy Monitor allows us to analyze our API calls using a multitude of filters. This gives us better insight into how to optimize our requests, as well as a much faster way of debugging any problems in our own systems." - **Brendan Chou**, Engineer at dYdX At Alchemy, our mission is to provide blockchain developers with everything they need to build the next generation of internet companies. But you can’t build what you can’t see. That’s why top Ethereum teams like Maker, Kyber, and 0x use Alchemy to stay healthy, drive growth and delight users.  [Get started now with Alchemy Monitor](https://alchemy.com/monitor). --- _Alchemy is the world’s most powerful blockchain developer platform, relied upon by millions of users and 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Dharma, and Kyber. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Chairman of Google, Charles Schwab, and globally recognized founders and executives, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in _[_TechCrunch_](https://techcrunch.com/2019/12/17/alchemy-blockchain/)_, _[_Wired_](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/)_, _[_Bloomberg_](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup)_ and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, distributed systems, and artificial intelligence with leadership roles at Google, Microsoft, Facebook, Stanford, and MIT. Our mission is to supercharge the next tectonic shift in technology with the world’s most powerful blockchain developer platform._ --- # Bitcoin is now live on Alchemy | Litecoin, Dogecoin & BCH APIs URL: https://www.alchemy.com/blog/alchemy-now-supports-bitcoin.md Bitcoin is live on Alchemy. Starting today, you can build on [Bitcoin](https://www.alchemy.com/docs/reference/bitcoin-api-quickstart), [Litecoin](https://www.alchemy.com/docs/reference/litecoin-api-quickstart), [Dogecoin](https://www.alchemy.com/docs/reference/dogecoin-api-quickstart), and [Bitcoin Cash](https://www.alchemy.com/docs/reference/bitcoincash-api-quickstart) using the same platform, dashboard, and API keys you already use for Ethereum, Solana, and 100+ other chains. [Get started](https://dashboard.alchemy.com/) or [talk to our team](https://www.alchemy.com/contact-sales) for custom pricing and solutions for enterprises. ## What's included We're launching the full stack across all four chains: - **Raw JSON-RPC** — every standard Bitcoin-family RPC method, passthrough to full nodes with `txindex`. Standard Bitcoin Core RPC is served over JSON-RPC, exactly as you'd expect. - **Indexed data APIs (REST)** — address balances, UTXO lookups, paginated transaction history, enriched transaction details, and spending status, served over REST. The queries Bitcoin Core can't answer natively (like "what is this address's balance?"), answered in milliseconds. - **xpub and descriptor tracking** — ability to monitor all addresses derived from a single wallet key. This is how most wallets and custodians actually manage funds, and it works out of the box. - **WebSocket subscriptions** — subscribe to confirmed transactions, address activity, new blocks, and reorg notifications, with configurable confirmation thresholds. Real-time updates streamed over a persistent connection, no polling required. - **Transaction operations** — fee estimation (fast/medium/slow, mempool-aware), unsigned transaction construction, compilation, verification, and broadcast. - **Compatibility wrappers** — migrating from QuickNode or Blockdaemon? We support the same method signatures as `bb_*` (QuickNode Blockbook) and `bd_*` (Blockdaemon) method signatures so you can switch easily. All of this is available on every Alchemy tier. Enterprise customers get UTXO chains under their existing compute unit allocation. PAYG developers can add chains from the dashboard. ## Why this matters If you're building on Bitcoin today, you're probably stitching together multiple providers — one for RPC, another for indexed data, maybe a third for websockets. Or you're running custom infrastructure to fill the gaps that Bitcoin Core's node-centric API leaves open. Alchemy eliminates that. One platform, one set of API keys, one dashboard for usage, metering, and analytics — whether you're querying Ethereum, Solana, or Bitcoin. If you're already on Alchemy for EVM or Solana, adding Bitcoin doesn't mean adding a vendor. It means adding a chain. ## Benchmarks and migration We benchmarked our Bitcoin stack against other providers on **UTXO query latency**—the path that dominates when apps load balances, history, and spend status. - **~3x faster compared to alternatives**. - **Up to ~5x faster** on UTXO-specific methods, where those workloads are most sensitive. [View the full benchmarks](https://alchemyinsights.grafana.net/public-dashboards/255a89badeb94c12853ff5493c8af667). When you move over, **HTTP shape** depends on who you use today: - **QuickNode and Blockdaemon** — JSON-RPC over `POST`. - **BlockCypher and Alchemy** — REST over `GET`. You update how you call the API; the **underlying data models stay the same**. Our [UTXO migration guide](https://www.alchemy.com/docs/bitcoin/utxo-migration-guide) maps your existing methods to Alchemy equivalents so you can migrate without rearchitecting your integration. ## Start building Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash are live now. - Create an endpoint from your [Alchemy dashboard](https://dashboard.alchemy.com/) and start building. - [Get in touch with our team](https://www.alchemy.com/contact-sales) for integration support or custom solutions and pricing for enterprises. --- # Alchemy Partners with Optimism to Power Developer Ecosystem URL: https://www.alchemy.com/blog/alchemy-optimism.md Optimistic Ethereum, one of the most highly anticipated layer 2 solutions for Ethereum, [will officially be supported on the Alchemy developer platform](https://www.coindesk.com/alchemy-supports-another-ethereum-scaling-solution-this-time-its-optimism), enabling developers around the world to reliably tap into Optimism’s scaling capabilities. ### Why optimistic Ethereum? The Optimism team is at the forefront of building innovative technology to solve some of the greatest challenges facing blockchain developers. Today, those challenges are often the constraints and costs around gas and the speed of transactions. As pioneers of Optimistic Rollups, the team has designed a system that enables instant transactions on Ethereum. With greater throughput, lower latency, and lower costs, their network will help Ethereum teams reach brand new scales. Even at the time of writing this post, Optimism gas costs are [up to 35X cheaper](https://optimism.io/gas-comparison) than Ethereum gas costs. The Optimistic Virtual Machine \(OVM\) is compatible with the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\), allowing Ethereum developers to migrate existing smart contracts without breaking them. “Optimistic Ethereum is poised to have a massive impact on the blockchain world with transformational tech, and has a talented team making it a reality. We’re excited to help power the ecosystem’s growth” -Nikil Viswanathan, CEO, Alchemy For these reasons, we are excited to provide access to Optimistic Ethereum for current developers in the Alchemy ecosystem and new teams that are looking for scaling solutions. “Alchemy is a world class engineering team providing critical infra support to the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). We’re so stoked to have their support on this insane journey to the wild west of technology.” -Jinglan Wang, CEO, Optimism ### What’s next? Once live, users will be able to create Optimism applications on Alchemy with just a few clicks, instantly unlocking Alchemy’s Supernode and the developer tools that already power the most successful projects on Ethereum today. While the Optimism team continues to roll out their product on testnet and mainnet, users can sign up for the waitlist today for early access opportunities and updates. -- Ready to start building? [Sign up on our waitlist](https://www.alchemy.com/layer2/l2-optimism) and you’ll one of the first to get access! ‍ --- # Alchemy Partners With Mad Banana Union URL: https://www.alchemy.com/blog/alchemy-partners-with-mad-banana-union-in-industrys-first-payments-of-nfts-to-node-provider.md *[Mad Banana Union](https://madbananaunion.com/) becomes [Alchemy’s](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) first partner to provide payment in NFTs, revealing a growing commitment to the NFT space across the infrastructure industry.* On January 25th, 2021, [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) became the first Web3 infrastructure provider to accept crypto payments — a move that served to legitimize the cryptocurrency industry even further. Today, on August 16th, 2021, Alchemy is again redefining what’s possible in the industry by becoming the first provider to accept NFTs from [Mad Banana Union](https://madbananaunion.com/) & other customers as sufficient payments for infrastructure. By doing so, Alchemy is committing to NFTs as legitimate transfers of value, a belief that the company has held since its very inception. Alchemy is proud to power a majority of the largest NFT innovators from their very inception, with the company powering OpenSea, CryptoKitties, CryptoPunks, NBA Topshot, Dapper Lab’s, Axie Infinity, and now, Mad Banana Union. “It was an easy decision to accept NFTs as payments on Alchemy’s side. We have a strong belief that NFTs are a true store of value and that the market will continue to grow at a rapid pace. Together with Mad Banana Union, we are innovating — and look to set a new standard of what’s possible for infrastructure providers in Web3” — Paul Payam Amasi, Co-Creator of Alchemy Amplify Traditionally, NFT customers for Alchemy have struggled with their unit economics as the NFT model of a “drop” is where the majority of compute unit traffic comes from. With accepting NFTs as payments, Alchemy is here to provide a sustainable business model for its NFT customers. Alchemy looks to continue to help grow the NFT space by accepting NFTs as payment from promising projects and is excited to open up this payment option to many of its existing & new customers in the future. ## More on mad Banana Union & their commitment to Alchemy Mad Banana Union NFTs are a unique digital collection of diverse and “mad” NFTs that have been individually designed, each with their own unique features. Holders of a Mad Banana NFT also get access to unique merch, private competitions, and inclusion in a token-holder exclusive club. The Mad Bananas are planned to drop on August 17th, 2021. Mad Banana Union chose Alchemy as their Ethereum node provider due to Alchemy’s Ethereum Supernode API, which grants the Mad Banana Union team access to industry-leading reliability and scalability, a must for a project that expects rapid adoption of their product. “Alchemy is essentially the key piece that holds the entire project together, allowing us to provide for our community a convenient way to mint their Mad Bananas” — Ahmed Ben Neji, Co-Founder of Mad Banana Union As the leader in node infrastructure for Ethereum, Alchemy is excited to add Mad Banana Union as a partner, with hopes to develop the partnership even further after the initial release of the Mad Bananas. By working closely with the Mad Banana team, Alchemy is able to help them build a pleasant user experience on launch, with certified up-time and reliability, ensuring their launch goes smoothly. On top of that, the Mad Banana team gets access to Alchemy’s world-class support, who helped orchestrate the payments of NFTs between the two companies. Alchemy is glad to support Mad Banana Union as they aim to create a new community that will help legitimize NFTs even further. ## About mad bananas union Mad Banana Union is a community-driven NFT project with a collection of 6969 uniquely generated NFTs. Each one is thoughtfully designed, specifically picked, and impeccably shaped. The project is set to launch on August 17th, 2021. You can find more information on the Mad Bananas & mint your own on launch date at: [https://madbananaunion.com](https://madbananaunion.com/). ## About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. Sign up for a [free account](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Alchemy Partners With Zerion URL: https://www.alchemy.com/blog/alchemy-partners-with-zerion.md *DeFi portfolio management company [Zerion](https://zerion.io/) joins [Alchemy’s](https://alchemy.com/?r=affiliate:d4c49969-ac5b-4051-9d44-f67dc27504a1) Certified Infrastructure Alliance to reinforce their smooth, scalable user experience after their recent Series A funding announcement.* After successfully raising $8.2M in Series A Funding led by [Mosaic Ventures](https://www.mosaicventures.com/), with participation from [Placeholder](https://www.placeholder.vc/), [DCG](https://dcg.co/), [Lightspeed](http://lsvp.com/), [Blockchain.com Ventures](https://www.blockchain.com/ventures/), and more, [Zerion](https://www.alchemy.com/dapps/zerion) aims to become the de-facto place to build and manage DeFi portfolios. Zerion makes it easy to buy and sell various DeFi assets and helps users discover trending tokens as well. They have already done $600M\+ in transaction volume YTD and are poised to make a push towards one million active users after their most recent raise. As the leading DeFi infrastructure platform — [Alchemy](https://alchemy.com/?r=affiliate:d4c49969-ac5b-4051-9d44-f67dc27504a1) is proud to be able to power a majority of the DeFi ecosystem. Through working with leading companies like Zerion, Alchemy is able to help bridge the gap between product and infrastructure by providing a robust, scalable node solution. “Zerion is solving one of the hardest problems in DeFi: making applications more accessible and usable to traditional web2 users by allowing them to build and manage their entire portfolio in one place. Alchemy is extremely excited to help power their mission and guarantee a smooth user experience.” - [Elan Halpern](https://www.linkedin.com/in/elan-halpern-99a018193/), co-creator of Alchemy Amplify Zerion leverages [Alchemy](https://alchemy.com/)’s best-in-class platform to access the industry’s leading Ethereum API, which helps Zerion effectively scale to meet their growing user demands. As the newest member of Alchemy’s **_Certified Infrastructure Alliance_**, Zerion joins other leading companies that utilize Alchemy to ensure a stable and smooth user experience from end-to-end. “Zerion has quickly become a go-to app for many DeFi investors. Our success lies in our community and the strong network of technical partners who’ve supported us from the beginning. We’re very excited to continue working with Alchemy as we scale.” — [Evgeny Yurtaev](https://www.linkedin.com/in/yurtaev), CEO of Zerion As [Zerion](https://zerion.io/) continues to bring on thousands of users, tokens, and layer-2 blockchains Alchemy is proud to support them with a developer platform designed to meet their every need. ### About Zerion [Zerion](http://app.zerion.io/) is an investing app that enables any smartphone holder, anywhere in the world, to build and manage their decentralized finance \(DeFi\) portfolio. With a relentless focus on user-centred design and a technology stack that aggregates across every major decentralized exchange, users are offered a single point of entry for managing their digital assets with ease. Zerion is non-custodial, which means users never delegate their funds to the platform. This agile approach mitigates centralization risk and has allowed Zerion to operate globally since its inception. The company was founded in 2016 by Evgeny Yurtaev \(CEO\), Alexey Bashlykov \(CTO\) and Vadim Koleoshkin \(COO\) with the mission to empower more people around the world with efficient, [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) and transparent financial services. Zerion raised its seed round in 2019 and since then has built an award-winning interface that serves more than 200K monthly active users from over 150 countries. Between Q1 and Q2 2021, Zerion processed over $600M in transaction volume, seeing $5M traded per day on average with a median trade size of $1,000. ### About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- *Sign up for a [free account](https://alchemy.com/?r=affiliate:d4c49969-ac5b-4051-9d44-f67dc27504a1). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # Alchemy To Power Socket - A Web3 Bridging Aggregator URL: https://www.alchemy.com/blog/alchemy-powering-socket-the-bridging-aggregator.md Socket’s mission is to power truly multichain, interoperable apps. We’re thrilled to announce that to reach their ambitious goals, they’re partnering with Alchemy.  “It was a breeze integrating and using [Alchemy's Supernode](https://www.alchemy.com/supernode). We believe Supernode will supercharge Socket, and provide a delightful experience to the multi chain teams building on Socket!"                       - Arth Patel, Head of Engineering, Socket ### Unifying the multi chain ecosystem Socket unifies the multi chain ecosystem by connecting chains and making it easy to transfer value between them. How do they do this? By aggregating liquidity across bridges including [Multichain](https://www.alchemy.com/dapps/multichain), Hop & Celr, and [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base) like Paraswap and 1 inch, so exchanging any token can happen with just one integration.  ### Bridging 101  Bridging is the process of transferring tokens from one network to another. By linking two blockchain networks, blockchain bridges allow [apps](https://www.alchemy.com/dapps/top/defi-dapps) to get the benefits of both networks, e.g.,the scalability of [Polygon](https://polygon.technology/developers/) with the transaction speed of Solana.  But there are many bridging solutions to choose from, and it’s hard to understand the nuanced distinctions between each one. And further, bridging can be expensive - with gas prices that can sometimes outweigh the value of the overall transaction.  ### After surveying the ecosystem, the socket team decided Alchemy was the only complete developer platform that would allow them to seamlessly scale. [Socket](https://www.socket.tech/) aims to solve the challenge of “how to choose a bridging solution”, by aggregating liquidity and data across bridges and DEXs - so developers no longer have to choose just one. This value prop makes Socket the easy choice for the multichain efforts of some major names in Web3, including [Zapper](https://www.alchemy.com/dapps/zapper), [Zerion](https://www.alchemy.com/dapps/zerion) and Brahma.  Socket realizes that with a product as in-demand as theirs, they need backend infrastructure that allows them to scale to meet the demand. That’s where Alchemy comes in.  “We chose to work with Alchemy because we wanted a reliable infrastructure that could scale even during high traffic requests. The responsive & world-class support is the cherry on top.”                        - Arth Patel, Head of Engineering, Socket Socket uses [Alchemy’s Supernode](https://www.alchemy.com/supernode) as the backbone for their entire bridging infrastructure, including fetching token balances, quotes and setting up watchers across chains that work blazingly fast. And they’re excited about the full suite of solutions Alchemy provides.  “The concept of compute units and not absolute request limits is a game changer. The dashboards have all the info that’s needed and can debug quite easily. IT NEVER FAILS!”                                                        - Vamsi, Senior Blockchain Developer We’re thrilled about all there is to come for Socket and we’re excited to help them grow. Socket's one of many amazing projects building on Alchemy. [Get started](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT&ref=affiliate:Polygon) for free today. --- # Alchemy Powers Solana Developer Platform URL: https://www.alchemy.com/blog/alchemy-powers-solana-developer-platform.md Alchemy is a founding node infrastructure partner for Solana Developer Platform (SDP), the Solana Foundation's new API-driven platform for enterprises and financial institutions building onchain. SDP's early users include Mastercard, Worldpay, and Western Union — three of the most recognized names in global payments — signaling a clear inflection point for institutional adoption of onchain infrastructure. ## What is SDP? SDP aggregates best-in-class infrastructure across the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) into a single interface, organized around three core API modules: issuance (tokenized deposits, [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), RWAs), payments (fiat and stablecoin orchestration across B2B, B2C, and P2P), and trading (atomic swaps, vaults, onchain FX). The issuance and payments modules are live today. For enterprises that have been exploring blockchain but haven't found a clean [on-ramp](https://www.alchemy.com/dapps/best/fiat-onramps), SDP removes the guesswork. It handles the complexity — node infrastructure, wallet provisioning, compliance, fiat ramps — so teams can focus on building products, not plumbing. ## Why this matters As the world's leading blockchain infrastructure provider, Alchemy's role within SDP is to abstract away blockchain complexity, giving enterprise developers reliable blockchain infrastructure so they can build with no-code or low-code tooling from day one. Alchemy has a long track record of powering institutional and enterprise blockchain applications since 2017. Today, the platform processes $1T+ in annual onchain transactions and serves customers across more than 160 countries. Alchemy supports institutional innovation in blockchain, like the launch of [J.P. Morgan's deposit token](https://www.alchemy.com/blog/alchemy-smart-wallets-jp-morgan-token), and companies including Robinhood, Coinbase, Visa, Stripe, Circle, and more. Alchemy has also made years of dedicated investment in Solana. Alchemy's Solana infrastructure was purpose-built from the ground up in collaboration with the teams from [DexterLab](https://www.alchemy.com/dapps/dexterlab) and Bware Labs, both acquired by Alchemy to deepen its Solana-native capabilities. DexterLab previously powered Solana infrastructure for organizations including Google, Chainstack, and the Solana Foundation. The combined engineering effort produced a custom architecture — replacing conventional Bigtable-based systems with a multi-region HBase infrastructure designed specifically for Solana's data throughput — delivering 99.99% uptime, multi-region failover, and high-performance archival and streaming APIs. This infrastructure already supports Solana applications for companies including Robinhood, Circle, [Solflare](https://www.alchemy.com/dapps/solflare), and [OpenSea](https://www.alchemy.com/dapps/opensea). Mike Garland, Head of Product, Solana at Alchemy, said: "Institutions building payment and settlement products need low latency infrastructure with no gaps in data, no downtime, no compromises. That's what we've spent years building for Solana, and SDP gives institutions a clear path to put it to work. We're excited to help companies like Mastercard, Worldpay, and Western Union bring these products onchain." Institutions building through SDP have access to Alchemy's full Solana product suite, including: **Cortex-powered RPC and Streaming APIs.** Every request through Alchemy is powered by Cortex, our intelligent infrastructure engine trained on trillions of queries. On Solana, Cortex delivers up to 20x faster query latencies, 2x higher throughput than other providers, and 99.99% uptime — with 3 to 5 layers of autonomous failover and real-time config propagation to ensure reliability during critical moments. **gRPC Streaming.** Ultra resilient gRPC streaming with built in redundancy and slot replay. Built for real-time data use cases like payment monitoring and settlement tracking that need the fastest access to new data, but can't afford to miss a bit. **Archival Data Access.** Alchemy's custom HBase infrastructure serves historical blocks, transactions, and signatures up to 20x faster than conventional solutions, and with 100% complete data coverage unlike most solutions — critical for enterprises that need complete, reliable datasets for compliance, auditing, and analytics. **Gasless Transactions.** Enterprises can remove fees from end-user experiences, reducing friction for consumer-facing payment flows, while avoiding holding crypto on their balance sheet — particularly relevant for SDP's payments module. **Enhanced Data APIs.** Token APIs, Transfers APIs, and Webhook notifications give enterprise developers richer data access and real-time event monitoring without writing complex indexing logic. **Ultra-reliable Writes.** Every write sent through Alchemy's Solana infra is broadcast on a staked connection, ensuring the fastest and most consistent landing, even in times of high congestion. Catherine Gu, Head of Product, Digital Assets, Solana Foundation, said: "SDP was designed to remove the barriers that have kept enterprises from building onchain. Having infrastructure partners like Alchemy — with deep Solana-native infrastructure and a proven track record powering high-scale applications — is critical to delivering on that promise for institutions and enterprises." ## Get started The SDP sandbox is live today on [Solana devnet](https://www.alchemy.com/overviews/solana-devnet). For institutional teams exploring onchain products, Alchemy's infrastructure is available to support your build from day one. - [Join the SDP waitlist](https://platform.solana.com/) - [Learn more](https://alchemy.com/solana) about Alchemy's Solana infrastructure - [Get in touch](https://alchemy.com/contact-sales) with our team for specialized pricing, custom benchmarking, and more. --- # Sei Network: A High-Performance Blockchain for Builders URL: https://www.alchemy.com/blog/alchemy-sei-network.md Today, we're excited to announce that Alchemy infrastructure is now available on Sei Network, bringing together two builder-obsessed teams to deliver parallel transaction processing so you can build your biggest ideas. ## Why this partnership matters For developers who've been held back by blockchain's technical limitations, this partnership delivers a powerful combination: Sei's high-performance parallel execution model paired with Alchemy's reliable infrastructure. Sei stands out with its ability to process multiple transactions simultaneously, enabling unprecedented throughput without sacrificing decentralization. With the upcoming Giga upgrade, Sei will deliver an impressive 5 gigagas per second—50x more computational power than existing EVM chains. ## Why leading chains choose Alchemy Sei Network's collaboration with Alchemy builds on our proven track record of empowering the most innovative blockchain ecosystems. Here's why performance-focused chains like Sei consistently select Alchemy as their infrastructure partner: - **Unmatched Reliability:** With enterprise-grade infrastructure trusted by thousands of developers, Alchemy delivers the stability needed for mission-critical applications. - **Developer Experience Obsession:** Our comprehensive tooling eliminates infrastructure headaches, allowing builders to focus on what matters—creating groundbreaking applications. - Ecosystem Acceleration: Chains partnering with Alchemy benefit from our extensive developer reach and proven ability to catalyze ecosystem growth. - Performance at Scale: Our infrastructure is built to handle explosive growth, supporting projects from prototype to global adoption without missing a beat. ## What builders get Starting today, you can build on Sei with Alchemy's [Node API](https://www.alchemy.com/supernode?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch). Our integration brings you: - **Reliable Node Infrastructure:** Build with enterprise-grade stability - **Reduced Development Time:** Focus on creating rather than maintaining infrastructure - **Seamless EVM Compatibility:** Deploy existing Ethereum smart contracts without modifications This is just the beginning. We're working to bring our full suite of developer tools to Sei, including [Token API](https://www.alchemy.com/token-api?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch), [Transfers API](https://www.alchemy.com/transfers-api?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch), and [Webhooks](https://www.alchemy.com/webhooks?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch) in the coming months. ## Why build on Sei? Sei Network offers unique advantages for developers: 1. Unmatched Performance & Scalability: With the upcoming Giga upgrade delivering 5 gigagas per second, Sei provides 50x more computational power than existing EVM chains. 2. **Seamless EVM Compatibility:** Deploy existing Ethereum smart contracts without modifications, leveraging familiar tools while unlocking higher performance and lower fees. 3. **Developer-First Infrastructure:** Comprehensive documentation, technical resources, and milestone-based funding opportunities support builders at every stage. The combination of Sei's performance capabilities with Alchemy's reliable infrastructure creates an environment where developers can finally build without compromise. ## What this means for builders This partnership removes technical limitations that have historically held back blockchain applications. Developers can now build applications that weren't previously possible onchain—high-frequency trading platforms, AI-driven protocols, and real-time games. Whether you're building in DeFi, gaming, AI, or other verticals, the Alchemy \+ Sei combination provides the foundation you need to bring your most ambitious ideas to life. ## The giga upgrade: scaling the future The upcoming Giga upgrade represents a major leap forward for Sei, designed to unlock its full performance potential. With 5 gigagas per second and an optimized EVM client, Giga will scale Sei's throughput by 50x, enabling more complex, data-intensive applications to thrive. Key highlights include: - Rebuilt EVM Client with ahead-of-time compilation for ultra-fast transactions - Revolutionary consensus with asynchronous execution to maximize throughput - Next-gen storage eliminating traditional state update bottlenecks ## Get started today Ready to build on Sei with Alchemy? Here's how to get started: 1. [Sign up](https://dashboard.alchemy.com/?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch) for an Alchemy account 1. Create a new app and select "Sei" as your network 1. Get your API key and [start building](https://www.alchemy.com/docs/reference/sei-api-quickstart?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch) [Join our Discord ](https://discord.gg/alchemy-builders)to connect with our team and other builders in the community. ## Launching your own chain? If you're developing a new chain or L1/L2 solution, partnering with Alchemy can significantly accelerate your ecosystem growth. Our proven infrastructure, developer reach, and comprehensive tooling have helped the most innovative chains scale from launch to mass adoption. [Contact our team today](https://www.alchemy.com/contact-sales?utm_source=announcement&utm_medium=blog&utm_campaign=sei_launch) to discuss how Alchemy can power your chain's success and connect you with thousands of builders worldwide. ## What's next We're committed to supporting Sei's ecosystem growth with our full suite of developer tools. Stay tuned for announcements about additional APIs and features coming to Sei through Alchemy. Together, we're creating an environment where developers can build without technical limitations, bringing the next generation of onchain apps to life. ## Frequently asked questions ### What is Sei Network and why should I build on it? Sei Network is a high-performance Layer 1 blockchain that processes transactions in parallel, offering seamless EVM compatibility so you can deploy existing Ethereum smart contracts without modifications. With the upcoming Giga upgrade delivering 5 gigagas per second, 50x more computational power than existing EVM chains, Sei provides unmatched performance, scalability, and lower fees. ### How do I get started building on Sei? Sign up for an Alchemy account, create a new app and select "Sei" as your network, then get your API key and start building using the Node API. ### What infrastructure do we provide for Sei? We offer reliable enterprise-grade node infrastructure through the Node API for blockchain interactions. Additional developer tools including Token API, Transfers API, and Webhooks are coming in the following months. ### Can I use my existing Ethereum tools and contracts on Sei? Yes, Sei is fully EVM-compatible, allowing you to deploy existing Ethereum smart contracts without modifications and use familiar tools seamlessly. ### What is the Giga upgrade? The Giga upgrade is a major performance enhancement for Sei that will deliver 5 gigagas per second, 50x more computational power than existing EVM chains. It features a rebuilt EVM client with ahead-of-time compilation, asynchronous execution for maximum throughput, and next-gen storage that eliminates traditional state update bottlenecks. ### What types of applications can I build on Sei? The combination of Sei's performance capabilities and our infrastructure enables applications that weren't previously possible onchain, including high-frequency trading platforms, AI-driven protocols, real-time games, and complex applications across DeFi, gaming, and AI verticals. ### Why do leading chains choose us as their infrastructure partner? Chains like Sei choose us for enterprise-grade reliability trusted by thousands of developers, comprehensive tooling that eliminates infrastructure headaches, extensive developer reach for ecosystem acceleration, and infrastructure built to handle explosive growth from prototype to global adoption. --- # Alchemy Series C URL: https://www.alchemy.com/blog/alchemy-series-c.md Dear developers, Today, we are excited to share that we raised a $250M Series C financing led by Andreessen Horowitz. You can read more about the details in our release [here](https://www.alchemy.com/blog/alchemy-series-c-release), and more about why a16z believes in Alchemy at their blog [here](https://a16z.com/2021/10/28/investing-in-alchemy/). In this blog post, we’re excited to share what we’re doing with this new investment. Alchemy began 4 years ago with a simple mission - to make blockchain development accessible. The promise of blockchain is more open and transparent systems, and we believe that developers should have the tools they need to easily build blockchain and Web3 applications.  In the last couple years, we’ve been blown away by what you’ve built. We’ve seen an explosion of revolutionary ideas. You created NFTs, which make true online, digital ownership possible for the very first time. You created decentralized finance to replace archaic and exclusionary financial infrastructure with global financial inclusion. You created a newly emerging metaverse that reinvents how we think about community, identity, and economy. But the most exciting part is that we’re all just getting started. You, the developer, are the heart of this ecosystem, and we’ve raised this round of funding to support you. We’re going to be doubling down on vastly expanding access to our current tools, helping developers by pouring resources into educational materials and launching entirely new developer products. Our hope is that these initiatives will both make it easier for those who are new to get started, and continue to support those who are already part of the community in doing even more. Our focus has been, and always will be, making building on the blockchain incredibly easy. Ultimately, our highest goal is to serve the needs of this community, so if you have ideas, product feedback, or questions, reach out to us on [Discord](https://alchemy.com/discord) or [Twitter](https://x.com/Alchemy)! Keep an eye out for some news from us soon, and if you want to join the AlchemyFam on our mission to bring the magic of blockchain to the world, we’re [hiring](https://www.alchemy.com/careers)! You are changing the world, and we’re incredibly excited, humbled, and honored to support you on this journey!  Let's make this happen,  The Alchemy Team --- # Alchemy Raises $250M at $3.5B Valuation in Series C URL: https://www.alchemy.com/blog/alchemy-series-c-release.md October 28, 2021, SAN FRANCISCO -- Alchemy, the world’s leading developer platform for blockchain and Web3, today announced a $250M Series C round of funding, led by Andreessen Horowitz \(a16z\), valuing the company at $3.5B. Lightspeed and Redpoint are joining a16z as new investors, with additional participation from existing investors Coatue, Addition, DFJ, and Pantera. As the leading platform for blockchain and Web3 developers, Alchemy has accelerated its growth as the industry has expanded, with revenues growing 15X in the last six months.  Alchemy is doing for blockchain and Web3 what AWS did for the internet. It provides developers with the tools they need to easily and efficiently create mainstream blockchain applications, helping them turn their ideas into wildly successful businesses. As ecosystem growth accelerates, the industry’s leading companies are building their success on Alchemy’s reliability and scalability. This latest round of funding will help Alchemy continue its focus on building a platform that brings the benefits of blockchain, decentralization, and Web3 to developers globally. "Alchemy is growing at a staggering pace because it offers developers a platform for building web3 applications that is reliable, scalable, and easy to use. Under Nikil and Joe's leadership, Alchemy has stayed ahead of the curve and is doing as much as any company to drive mainstream adoption of web3." - Ali Yahya, General Partner at Andreessen Horowitz. Publicly launched a little more than a year ago, Alchemy’s growth has been the result of answering a core need in the blockchain space — an easy-to-use, powerful platform for building blockchain applications for mainstream use. Alchemy serves developers across every vertical, including financial institutions, exchanges, gaming, NFT platforms, decentralized applications and protocols, and multinational organizations such as Adobe. Alchemy’s reliability and scalability make it the solution of choice for companies leading the Web3 revolution, including Dapper Labs, OpenSea, CryptoPunks, and Axie Infinity.  “Blockchain is still at the very beginning, and we’re thrilled to have partners like a16z who share our commitment to unlocking the potential of blockchain for developers and users everywhere,” - Joe Lau, co-founder and CTO of Alchemy. Alchemy will primarily use this funding to reinvest in growth of the ecosystem to further the mission of making blockchain development accessible globally. This includes expanding access to its tools for all developers, especially those just starting out, building out its educational resources to help onboard new developers to Web3, and continued strengthening of its infrastructure to support the industry’s rapid growth. It will also continue its global expansion, including the opening of new offices in and outside of the US, and support for developers across new, emerging chains.  “We’re excited to continue investing in making blockchain accessible to developers globally. Empowering developers is the key to bringing the magic of blockchain to the world.” - Nikil Viswanathan, co-founder and CEO of Alchemy. -- #### About Alchemy Alchemy is the world's leading blockchain developer platform powering more than $45B in transactions for tens of millions of users globally. The company is backed by a16z, Coatue, Addition, DFJ Growth, Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), [Pantera Capital](https://www.alchemy.com/dapps/pantera-capital), the Google Chairman, Charles Schwab, and founders and execs from Linkedin, Citi, Yahoo, NYSE, and many more. --- # J.P. Morgan USD Token Launch on the Blockchain with Alchemy URL: https://www.alchemy.com/blog/alchemy-smart-wallets-jp-morgan-token.md We're proud to announce a defining moment for institutional blockchain adoption: [J.P. Morgan's launch](https://www.jpmorgan.com/payments/newsroom/kinexys-usd-digital-deposit-tokens) of its first USD deposit token proof of concept on a public blockchain, supported by Alchemy. This launch is a first-of-its-kind permissioned deposit token on public infrastructure, bringing potentially yield-bearing commercial bank deposits onchain. Alchemy's [smart wallets](/smart-wallets)—a new generation of [web3 wallets](/overviews/web3-wallets)—and [enterprise-grade infrastructure](/rpc-api) will be used to help J.P. Morgan to deploy onchain deposits without dealing with gas fees or crypto on the bank's balance sheet. ## Accelerating global capital flow onchain Traditional [institutional financial operations](/fintech) face significant limitations: lengthy settlement times, high intermediary costs, limited operating hours, and complex cross-border workflows. J.P. Morgan's milestone demonstrates how Alchemy’s infrastructure can be used to help transform money movement for the world's leading banks, enabling instant global settlement at institutional scale. For a decade, [Kinexys by J.P. Morgan](https://www.jpmorgan.com/kinexys/index) has been at the forefront of innovation in financial services and launched the world’s first bank-led blockchain platform. The launch of its USD deposit token proof of concept on [Base](/base)—the Ethereum Layer 2 blockchain built within [Coinbase](https://www.alchemy.com/dapps/coinbase)—marks the first time USD-denominated J.P. Morgan deposit tokens for payments have been issued on public blockchain infrastructure, representing a massive shift in how traditional banking approaches onchain finance. Unlike [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), J.P. Morgan's deposit token is backed by the bank's balance sheet and will be exclusively available to institutional clients. The token will enable 24/7 settlement, near real-time liquidity, and the unique ability, potentially in future phases, to pay interest to holders—advantages that traditional banking systems cannot match. "We’re excited to see Kinexys by J.P. Morgan be trailblazers in bringing a massive increase in capital availability and efficiency to their institutional clients with its first public blockchain deposit token initiative and we know this will pave the way for the rest of the financial ecosystem to bring the benefits of crypto to their customers," said Nikil Viswanathan, CEO of Alchemy. This collaboration represents more than a technical milestone—it's a tangible signal that blockchain infrastructure is ready for institutional finance at scale. ## Enterprise infrastructure that institutions trust Kinexys’ decision to launch a deposit token proof of concept on public blockchain infrastructure required institutional-grade capabilities. Alchemy powers $1T\+ in onchain transactions with 99.99% uptime—the same reliability that [financial institutions](/fintech) like Visa, VanEck, Stripe, and [Robinhood](https://www.alchemy.com/dapps/robinhood) have depended on for over 7 years. Alchemy's SOC 2 Type II certified platform provides transaction limits, contract restrictions, complete audit trails, and privacy compliance that enable institutional banking standards on public rails. [Alchemy Smart Wallets](/smart-wallets) abstract blockchain complexities away, such as gas fees, enabling J.P. Morgan to deploy onchain deposits while maintaining secure, efficient access to onchain liquidity, all without the bank holding crypto on its balance sheet. ## Accelerating the future of finance onchain J.P. Morgan's deposit token proof of concept launch is a milestone moment representing a shift in [global financial operations](/fintech). Major institutions are recognizing that blockchain infrastructure can deliver the operational efficiency, cost savings, and global reach that traditional systems cannot match. Alex Prager, Head of Kinexys Labs at Kinexys by J.P. Morgan, said, “We have been at the forefront of the industry, pioneering digital payments within our private blockchain environment, and with JPMD, are now bringing commercial bank money onto a leading public blockchain. This historic launch is yet another example of the remarkable outcomes that can be realized through collaboration among the diverse players in the Web3 ecosystem. We are pleased to have had Alchemy’s support in accomplishing this significant milestone for Kinexys.” Alchemy's comprehensive platform—from [smart wallets](/smart-wallets) and [reliable nodes](/rpc-api) to [rollups](/rollups) and [data APIs](https://www.alchemy.com/docs/reference/data-overview) —provides the complete foundation that enables institutions to build and scale onchain financial services. Our infrastructure processes billions of requests daily across 99% of countries worldwide, supporting both [traditional finance](/fintech) and [native crypto applications](/defi). As more financial institutions recognize blockchain's key role in maximizing capital flow, Alchemy is positioned to power this transformation at global scale.  - [Explore more](/fintech) on how Alchemy brings financial services onchain with institutional-grade infrastructure. - [Contact us](/contact-sales) to chat with us on how Alchemy can accelerate your blockchain initiatives. ## Frequently asked questions ### What is J.P. Morgan's USD deposit token? J.P. Morgan's USD deposit token is a first-of-its-kind permissioned deposit token issued on public blockchain infrastructure (Base), bringing potentially yield-bearing commercial bank deposits onchain and backed by the bank's balance sheet. ### How does J.P. Morgan's deposit token differ from stablecoins? Unlike stablecoins, J.P. Morgan's deposit token is backed by the bank's balance sheet, exclusively available to institutional clients, and can potentially pay interest to holders in future phases. ### What blockchain is J.P. Morgan's deposit token launched on? The token is launched on Base, the Ethereum Layer 2 blockchain built within Coinbase, marking the first time J.P. Morgan deposit tokens for payments have been issued on public blockchain infrastructure. ### Who can use J.P. Morgan's USD deposit token? The token is exclusively available to J.P. Morgan's institutional clients and is not accessible to retail users. ### What role do we play in this launch? We provide smart wallets and enterprise-grade infrastructure that enable J.P. Morgan to deploy onchain deposits without dealing with gas fees or holding crypto on the bank's balance sheet. ### What are the benefits of J.P. Morgan's deposit token for institutions? The token enables 24/7 settlement, near real-time liquidity, reduced intermediary costs, and potentially the ability to pay interest to holders, advantages traditional banking systems cannot match. ### What is the current status of J.P. Morgan's deposit token? It has launched as a proof of concept on the Base blockchain, supported by our infrastructure and smart wallet technology. --- # Partnering with Syndicate to Scale Community-Owned Rollups URL: https://www.alchemy.com/blog/alchemy-syndicate-partnership.md Today we’re excited to announce that Alchemy and [**Syndicate**](https://syndicate.io/) are joining forces to scale Ethereum through community-owned rollups. By combining Alchemy’s complete rollup developer platform with [Syndicate](https://www.alchemy.com/dapps/syndicate)’s onchain sequencing network, developers can seamlessly build highly scalable, atomically composable, and community-owned rollups—easily and affordably. As part of this partnership, Alchemy and Syndicate are launching a joint accelerator program that offers strategic advisory, technical resources, and free credits to teams building rollups. [**Apply today**](https://rollups.alchemy.syndicate.io/?utm_source=blog&utm_medium=website&utm_campaign=alchemy_syndicate&utm_content=1) to start building your rollup with us. ## The future of Ethereum is community-owned The path to a user-owned internet is through scaling Ethereum and community-owned rollups. As more application-centric and purpose-built rollups launch in the coming months and years, it will be critical that they can not only scale and interoperate, but also progressively decentralize ownership and control to their communities without compromise. Rollup and sequencer infrastructure will be needed to reliably scale and decentralize, which is why Alchemy and Syndicate are joining forces in this mission. Alchemy—the rollup infrastructure partner to [World Chain](https://world.org/world-chain), [Degen Chain](https://x.com/Alchemy/status/1866619493373579271), and many more—has provided the developer infrastructure that powers Ethereum and important projects in the space since 2017. Syndicate, which started in 2021 as a developer of infrastructure for onchain communities, in recent years expanded to rollups and their sequencers as onchain communities began launching their own networks for greater control and economic agency. "With rollup adoption accelerating, scaling infrastructure is one of the biggest challenges organizations face," said Nikil Viswanathan, co-founder and CEO of Alchemy. "We're thrilled to expand our offerings through this partnership with Syndicate, making it easier for developers to launch their own rollup that can scale and progressively decentralize to their communities. This partnership will give onchain builders the infrastructure and performance they need to confidently build mainstream apps and networks that users want and need." "By joining forces with Alchemy, we're making it significantly easier for developers to build and scale rollups that require high throughput, reliability, and customization," said Ian Lee, co-founder of Syndicate. "By integrating Alchemy's rollup platform with our onchain sequencing infrastructure, we're providing the robust, scalable infrastructure that teams need to confidently build and deploy the most successful rollups and applications that all want to be community-owned." ## Accelerating teams ready to build Alchemy and Syndicate are launching a joint accelerator program to help teams build rollups. Both companies' technical teams will work directly with selected participants to ideate and launch their rollups, with an emphasis on technical mentoring, chain and sequencer customization, and credits to minimize the initial startup costs. If you’re a team that needs rollup infrastructure that can reliably scale and next generation capabilities powered by onchain sequencing, please apply to the program. ## Let’s scale Ethereum together Soon, rollups will be powered with Alchemy’s rollup infrastructure and Syndicate’s onchain sequencing network that enables them to seamlessly shard, compose, and progressively decentralize control and ownership to their communities. Reach out to us today, whether you already have a rollup or are planning one. Let’s scale Ethereum and build a community-owned internet together. --- # Alchemy Usage: Increasing Transparency and Simplicity URL: https://www.alchemy.com/blog/alchemy-usage.md #### Background Our pricing is based on the concept of “compute units” - a measure of the total computational resources your apps are using on Alchemy. You can think of this as how you would pay Amazon for usage of AWS. Some queries are lightweight and fast to run \(e.g. eth_blockNumber\) and others can be more intense \(e.g. large eth_getLogs queries\). We want to give you the lowest cost possible so instead of charging by number of queries, we only charge for the amount of compute used. #### Challenges When compute is measured with every request, compute units \(and as a result monthly usage\) can be difficult to predict. Some methods have highly variable intensity \(e.g. eth_call\), so the number of compute units they consume can vary by as much as 100x.  This makes things like optimizing usage or predicting monthly cost more confusing than they should be.  We want to make measuring and predicting usage on Alchemy simple and easy to understand for all of our customers. For this reason, and to create the most developer friendly platform possible, we have decided to update the way we measure compute units.  #### An update to compute units With our new compute unit model, each method is assigned a fixed number of compute units, derived from its average intensity. This means you will know exactly how many compute units a particular call will consume before you make it, increasing predictability and transparency massively.  As an example of how this update improves developer experience, consider a user making 10,000 trace requests: With the old compute units, the user would make 10,000 trace_call requests, not knowing until after they complete how many compute units were used. Depending on the blocks, contracts, and timing of the calls, the user may end up using 750,000 or 1,000,000 compute units in total. Even still, the next time they go to make 10,000 trace_call requests, the outcome may be different. Using the new model of compute units, if someone made 10,000 trace_call requests, at 75 CU per call, this would consume a total of 10,00075 = 750,000 CUs, each and every time. No guessing and variability - just a fair and deterministic measure of usage! For a full list of CU assignments by method, determined from years of benchmarked usage, [see our docs](https://www.alchemy.com/docs). #### Better rate limits Currently, we use the concept of queries per second or QPS as a primary rate limit. While this is a pretty typical way for APIs to rate limit, it’s a relatively blunt tool. This means we are often forced to air on the side of caution and be stricter than necessary regarding rate limits.  With the updated definition of compute units, we are able to replace QPS with a more favorable measure: compute units per second, or CUPS.  CUPS rate limits are effectively a weighted version of QPS, where the weight for each method is its compute intensity. This limit ends up being more accurate by accounting for variability in requests and the types of methods that are being called. This allows us to provide an even more reliable overall service with as generous \(or more so in many cases!\) limits for all of our customers. #### Summary Overall, we think this change will be a huge improvement for our customers. We always take your feedback seriously, and strive to make the developer experience the best it can be so that we can all focus on creating the best possible products. Please don’t hesitate to reach out with any questions or clarifications as we are happy to help. --- # Alchemy Expands Solana Staking Rewards with Pye Labs URL: https://www.alchemy.com/blog/alchemy-validators-expands-solana-staking-rewards-with-pye-labs.md Alchemy is collaborating with [Pye Labs](https://pye.fi/), a Solana Foundation-incubated protocol, to combine institutional-grade validator operations with improvements to [Solana staking](https://www.alchemy.com/dapps/list-of/liquid-staking-platforms-on-solana) accounts. ## Turning staking infrastructure into revenue growth Validator staking is fundamental infrastructure for blockchain networks—but it's also a proven revenue stream for institutions and businesses holding digital assets. By delegating tokens to validators that secure the network, organizations generate consistent yields on otherwise idle treasury assets while contributing to network security. Until now, that's meant choosing between standard staking returns \(around 7% on Solana\) with no flexibility, or building custom arrangements through opaque off-chain deals. This partnership changes that equation. Through Pye Labs' platform, institutions can stake to [Alchemy's Solana validator](/alchemy-validators) with programmable terms—structured lockups for enhanced yields, transparent on-chain enforcement, and eventually tradeable positions—all while maintaining the same institutional-grade security that protects over $500M in assets across our validator operations. ## Why programmable staking infrastructure Pye Labs provides upgraded stake accounts that have built-in tools for data transparency, customized commission structures, and automated accounting and distribution — all on-chain. For institutional stakers, this creates new opportunities to: - **Structure staking positions** with defined lockup periods that align with treasury management requirements and risk parameters - **Access differentiated yield profiles** beyond standard staking returns \(13-25% vs. standard ~7%\), with transparent on-chain enforcement of terms - **Maintain institutional security standards** while participating in more flexible staking arrangements—all operations flow through Alchemy's SOC 2 Type II certified infrastructure - **Trade staking positions** as markets develop, providing liquidity options without sacrificing validator relationship quality Through Pye Labs' platform, institutions can stake to Alchemy's Solana validator with programmable terms that match their specific requirements—whether that's extended lockup periods for higher yields, structured reward distribution schedules, or positions that can eventually be traded as these markets mature. Importantly, these mechanisms operate within Solana's existing validator ecosystem—not as a parallel system, but as an infrastructure layer that makes existing staking relationships more flexible and transparent. All this is done through Programmable Stake Accounts \(PSAs\), a new staking primitive that extends Solana’s native stake accounts with additional data structures. ## What Alchemy brings to the collaboration Our participation centers on applying institutional-grade operational standards to this emerging infrastructure: - **Security-First Operations**: All staking operations through Pye Labs maintain Alchemy's core security architecture—air-gapped signing, geo-redundant systems, and 24/7 monitoring with a zero-slashing track record for over four years - **Institutional Reliability**: Whether staking through standard delegation or structured arrangements via Pye Labs, institutions receive the same 99.9%\+ uptime guarantee and automated failover protection that secures over $500M in assets across our validator operations. - **Strategic Network Development**: As an early validator partner for ecosystems like Aptos and Sui, we understand how to participate constructively in new infrastructure development while maintaining operational discipline. ## Technical framework Pye Labs' programmable staking model introduces an upgrade to native Solana stake accounts that can separate principal and reward components, enabling more granular management of staking positions. This is achieved through what Pye Labs calls "[Liquid Staking](https://www.alchemy.com/dapps/best/liquid-staking-platforms) Bonds"—smart contract-enforced arrangements that combine inflation, MEV, and block rewards into structured products. For institutional stakers, this means the ability to: - Lock stake for defined periods with programmatically enforced terms - Access enhanced yields through structured products - Separate principal from future rewards for different treasury management strategies - Eventually trade positions as secondary markets develop For validators like Alchemy, this means the ability to offer differentiated staking products while maintaining the underlying validator relationship and security standards institutions require. Pye is currently in controlled beta, with Alchemy participating in early testing and market formation before broader trading functionality is introduced. ## Looking ahead Staking infrastructure is evolving beyond simple delegation toward more structured, market-driven arrangements. We see Pye Labs' approach—building deliberately with strong technical foundations and institutional backing \(including recent funding from [Coinbase Ventures](https://www.alchemy.com/dapps/coinbase-ventures), Variant, and Nascent\)—as aligned with how institutional-grade infrastructure should develop. Our role is straightforward: provide the validator operations and security standards that make staking a revenue growth vector viable for institutional participants, while contributing operational insight as these markets take shape. This partnership is our contribution to building that foundation. [Get in touch with us](/contact-sales) to learn how validators can help your business grow revenue. ## Frequently asked questions ### What is the partnership between Alchemy Validators and Pye Labs? Alchemy Validators is collaborating with Pye Labs, a Solana Foundation-incubated protocol, to combine institutional-grade validator operations with programmable staking infrastructure for enhanced Solana staking rewards. ### How do Pye Labs' programmable stake accounts differ from standard Solana staking? Pye Labs provides upgraded stake accounts with built-in tools for data transparency, customized commission structures, and automated accounting, enabling structured lockup periods, differentiated yield profiles (13-25% vs. standard ~7%), and eventually tradeable staking positions. ### What are Programmable Stake Accounts (PSAs)? PSAs are a new staking primitive that extends Solana's native stake accounts with additional data structures, allowing institutions to separate principal and reward components for more granular management of staking positions. ### What security standards does Alchemy maintain for Solana staking through Pye Labs? All staking operations maintain Alchemy's institutional-grade security architecture including air-gapped signing, geo-redundant systems, 24/7 monitoring, SOC 2 Type II certification, a zero-slashing track record for over four years, and 99.9%+ uptime guarantee. ### What benefits does this partnership offer institutional stakers? Institutions can structure staking positions with defined lockup periods, access enhanced yields (13-25% vs. ~7% standard), maintain institutional security standards, and eventually trade staking positions as markets develop, all with transparent on-chain enforcement. ### Is Pye Labs' platform available to all stakers now? Pye is currently in controlled beta, with Alchemy participating in early testing and market formation before broader trading functionality is introduced. ### How much does Alchemy Validators currently secure across its operations? Alchemy's validator operations protect over $500M in assets with a zero-slashing track record maintained for over four years. ### What are Liquid Staking Bonds? Liquid Staking Bonds are smart contract-enforced arrangements developed by Pye Labs that combine inflation, MEV, and block rewards into structured products, enabling locked stake for defined periods with programmatically enforced terms. --- # Aave secures a $1.26 billion in total value locked. URL: https://www.alchemy.com/blog/alchemy-x-aave-customer-story.md Alchemy is thrilled to congratulate [Aave](https://www.alchemy.com/dapps/aave) on becoming the second DeFi protocol to reach $1 billion in total value locked. Aave grew from $529 million to $1.26 billion in one week, an insane increase supported by the Alchemy developer platform. In fact, since switching to Alchemy, Aave has gracefully scaled 3000x.  - Aave are the mad geniuses behind Flash Loans. - They recently published [Aavenomics](https://docs.aave.com/aavenomics/), their long-term vision for growth. - Their favorite product is [Alchemy Monitor](https://alchemy.com/monitor) for the crucial insights and instant feedback. Aave is a decentralized lending and borrowing marketplace, a money market created because access to capital is something everybody needs. Aave’s founders saw an opportunity to provide this access in a way that hadn’t been done before by building on Ethereum using smart contracts. Now, with nothing more than an Ethereum wallet, people can use Aave to connect, deposit, and borrow -- a major step forward for the decentralized economy. Aave’s founders are longtime Ethereum supporters, and they launched their platform in 2017. In its early days Aave focused on peer-to-peer lending, but ran up against limitations related to scaling, user comfort, and yield. “The overall experience was limited and not as efficient with the peer-to-peer platform,” says Aave CEO Stani Kulechov. The founders were not discouraged. They discovered that by aggregating funds and securities across many users through lending pools, they could establish stability and liquidity that would enable Aave to scale to meet the needs of millions of people.  **Aave is driving the future of DeFi** Now, with DeFi exploding in popularity, these years of continuous work and market feedback has put Aave at the front of the DeFi pack. Aave has already made a name for itself by bringing [Flash Loans ](https://docs.aave.com/developers/tutorials/performing-a-flash-loan)to market, which allow people to borrow with no collateral as long as the borrowed amount is returned before the end of the transaction. There is no custodial equivalent to Flash Loans. The Aave team created this novel innovation by applying the Ethereum toolkit in a unique way. Most recently, Aave [laid out its vision for Aavenomics](https://medium.com/aave/aavenomics-eeab650cccc2), its framework for the platform’s economic incentives, governance, and total token supply. Aavenomics is designed to be dynamic and improvable, with a goal of maintaining and strengthening the platform’s safety and sustainability over time. The model represents an important milestone and reflects the platform’s maturity and expanding ambitions. The Aave team has a big vision and already has huge traction, but they know that certain core functionality will be essential to the project’s long-term success. A top-performing protocol, UI, and UX are all essential to capturing growth in the DeFi space, and this is where Alchemy makes an impact.  **Alchemy is supercharging the growth of DeFi** [Alchemy Supernode](https://alchemy.com/supernode), our supercharged Ethereum API, provides the reliable and scalable infrastructure that allows Aave’s developers to meet their users’ needs while focusing solely on  core products. Aave managed to sensibly reduce their downtime with Supernode despite [growing total dollars locked by over 3,000x](https://defipulse.com/aave) since the beginning of the year. Adaptability will also be crucial to success. With Ethereum and DeFi growing and changing so rapidly, Aave must be nimble enough to respond instantly to changes in the market. Through its partnership with Alchemy, the team is well positioned on this front. “Alchemy’s UI offers crucial insights,” says Kulechov. “If we make a change, we can easily track whether it’s good or bad and adjust dynamically based on this feedback.” Aave uses the [Alchemy Monitor](https://alchemy.com/monitor) suite of dashboards and alerts to check app health, performance and user behavior. Soon, Aave can leverage features such as history of balances and other data aggregations to help developers build on the protocol as seamlessly as possible.  **Alchemy is helping Aave bring finance to everyone** DeFi’s current growth reflects investors’ demand for financial instruments that offer fairer and more robust ways to build wealth. Now, Alchemy is helping Aave and other projects built on Ethereum supercharge this growth by performing key functions reliably, at scale, in a way that’s easy to use. “The underlying idea is so powerful,” says Kulechov.  DeFi is taking the world by storm, and Aave is one of the top projects pushing the space forward. Their explosive growth over the past year reflects the quality of the platform and the team’s expertise and adaptability in a crowded, rapidly evolving marketplace. Alchemy is proud to provide key infrastructure -- around scalability, analytics, UI, and UX -- that allows the Aave team to focus its efforts on the financial innovation that has made it so successful to date. **Calling all devs** Crazy for lending protocols? [Aave is hiring](https://aave.com/careers). Want to chat with Alchemy and Aave devs? [Join our discord](https://discord.com/invite/u72VCg3). Ready to build the next killer app? [Get started free with Alchemy](https://alchemy.com/). --- # Connext Teams Up With Alchemy URL: https://www.alchemy.com/blog/alchemy-x-connext.md #### _Crosschain liquidity network Connext chooses Alchemy to empower their infrastructure as Connext aims to scale their user base and grow their network ecosystem after a recent funding round._ After a recent funding round of $12m co-led by [ConsenSys Mesh](https://mesh.xyz/) and [1kx](https://twitter.com/1kxNetwork), with participation from [Coinbase Ventures](https://www.alchemy.com/dapps/coinbase-ventures), OkEx Ventures, [eGirl Capital](https://www.egirlcapital.com/), [Hashed](https://www.hashed.com/), Polygon’s [Sandeep Nailwal](https://twitter.com/sandeepnailwal?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor), Optimism’s [Jinglan Wan](https://twitter.com/jinglanw?lang=en), and others, [Connext](https://connext.network) is primed to be the leading protocol for fast transfers and contract calls between EVM-compatible systems. Connext enables cross chain swapping in as little as five minutes. Their recent round will be used to continue building up their rockstar team and scaling up their liquidity network, including their node infrastructure, ensuring a smooth and stable user experience as user-demand increases.  As the leader for node infrastructure for both the Ethereum and L2 ecosystem, [Alchemy](https://alchemy.com) is proud to be able to support companies like [Connext](https://www.alchemy.com/dapps/connext). By working closely with their team, Alchemy is able to help Connext focus on building a pleasant user-experience through a robust, fast, and scalable node solution. “Connext’s dedication to making a multichain ethereum landscape a reality is a mission that we share and are thrilled to support. Their team is top notch, both in terms of talent and drive, and Alchemy is excited to grow with them as more people start to adopt their protocols” - Elan Halpern, Co-Creator of Alchemy Amplify. Connext utilizes Alchemy’s best-in-class platform to access the industry-leading Ethereum API and subsequent L2 blockchains, helping Connext effectively enable cross-chain swaps between EVM-compatible systems. By creating a singular point of entrance to the Ethereum and L2 ecosystems, Alchemy makes it easy for Connext to orchestrate token swaps fast and efficiently. "Connext prides itself on working with the best companies in the industry in order to help it grow at a rapid pace. Alchemy has gone above and beyond, both in terms of product, customer service, and excellent monitoring and analytics tooling, to help Connext achieve its goals. We’re glad to be a partner of theirs and look forward to continue working with Alchemy as we scale.” - Rahul Sethuram, Tech Lead As Connext aims to define the future of the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), Alchemy is here to support them with a platform that aims to make Ethereum and L2 development as easy and simple as possible. ### About Connext [Connext](https://connext.network) is the leading protocol for fast, fully noncustodial transfers and contract calls between EVM-compatible systems. By focusing on speed and ease-of-use, developers are able to easily process crosschain token swaps through Connext. Their innovative approach of providing liquidity pools to help process token swaps has fundamentally changed the DeFi industry. The company was founded in 2017 by [Arjun Bhuptani](https://www.linkedin.com/in/arjunbhuptani/), [Layne Haber](https://www.linkedin.com/in/layne-haber-41572889), and [Rahul Sethuram](https://nl.linkedin.com/in/rksethuram) with the mission to power decentralized networks to transform finance and put value back into the hands of individuals. Connext has recently raised $12m in funding from investors such as 1kx, Consensys Mesh, Coinbase Ventures, and many more. ### About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- *Sign up for a [free account](https://alchemy.com/?r=affiliate:13611c66-66d2-4fc0-84c2-fc7e0aed7244). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # Alchemy Partners With Fei Labs for Top Stablecoin Adoption URL: https://www.alchemy.com/blog/alchemy-x-fei.md *Blockchain developer platform, [Alchemy](https://www.alchemy.com/), has integrated its supercharged Ethereum API and essential developer tools into Fei Labs, as they aim to be the stablecoin for DeFi users around the world.* With the kick-off of Fei Protocol’s genesis this week, the core development team is well on its way to having solved the single most important aspect of DeFi - access to a “decentralized, fair, liquid, and scalable stablecoin.” The Protocol’s new elegant mechanism of “direct incentives” may finally be the stability mechanism that offers a high fidelity peg. A solution of this magnitude would propel the entire ecosystem forward, something that Fei Labs’s recent backers like a16z \(Andreessen Horowitz\) and [Coinbase Ventures](https://www.alchemy.com/dapps/coinbase-ventures) also recognize.   As ecosystem builders powering the majority of DeFi applications, the Alchemy Platform is continuously looking to partner with teams that are solving some of the biggest challenges in the ecosystem. That’s why Alchemy is super excited to announce our partnership with Fei Labs! “Fei Labs’s unique solution to the notorious stablecoin problem could be one of the most important innovations for DeFi applications. The core Fei team, Joey, Seb, and Brianna, are a talented team, eager to see the vision come to life. I’m super excited to see all the awesome products their team ships for the ecosystem,” - Paul Almasi, Co-Creator of [Alchemy Amplify](https://www.alchemy.com/amplify) \(an E&P Production\). With Fei Labs leveraging Alchemy’s best-in-class platform, they will have access to one of the most scalable Ethereum API, empowering Fei Labs to bring the ultimate DeFi user experience to everyone around the world. “Building in Web 3.0 is generally difficult, especially in terms of tight timelines and the size of the launch of Fei Labs. Alchemy has not only the best in-class solution, but they are also there to support Fei Protocol as if they were an extension of core dev team, which is invaluable to us as we look to be the stablecoin of DeFi and beyond.” - Sebastian Delgado, Co-founder of Fei Protocol While the Fei Team is pushing the boundaries of what is possible with [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), Alchemy is here to support them with a platform meant to help DeFi developers reshape how humanity interacts with money.   ### About fei labs Fei Labs is the team that created FEI, a highly scalable, decentralized, and reserve-backed stablecoin that can meet DeFi’s needs without relying on centralized assets for collateral, that unlocks next-generation integration potential. Our mission is to be the stable coin of DeFi backed by some of the top minds in the space, including a16z, Nascent, Variant, Coinbase, ### About Alchemy [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:b6347e30-4a26-426f-bf59-2370d38fcb47) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $22 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. *Sign up for a [free account](https://dashboard.alchemy.com/signup/). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # Alchemy x MoneyHacks2020 URL: https://www.alchemy.com/blog/alchemy-x-moneyhacks2020.md **Hack Money with Alchemy** Alchemy is proud to sponsor the [MoneyHacks2020 virtual hackathon](https://alchemy.com/money-hacks) by [Circle](https://www.alchemy.com/dapps/circle), also sponsored by [Compound](https://www.alchemy.com/dapps/compound). More than 100 developers will compete as teams to build the most compelling payments, commerce and finance products using Circle APIs, USDC [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), and the Alchemy blockchain developer platform. Judges from [Pantera Capital](https://www.alchemy.com/dapps/pantera-capital), Castle Island Ventures and [Aragon](https://www.alchemy.com/dapps/aragon) will award cash prizes and Circle API credits to the winning projects. Alchemy will share a live demo of its blockchain developer platform as well as provide support for teams throughout the weekend on Alchemy's community [discord](https://discord.com/invite/gWuC7zB). Join the conversation for MoneyHack ideas, troubleshooting support on technical questions, and engaging with other developers in the blockchain space. Follow us on [Twitter](https://x.com/Alchemy?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) for updates throughout the hackathon. --- # Alchemy Partners with Prophecy Project URL: https://www.alchemy.com/blog/alchemy-x-prophecy-project.md *[Prophecy Project](https://prophecyproject.io/)integrates [Alchemy’s](https://www.alchemy.com/) Ethereum API and blockchain developer tools to provide a gamified DeFi experience. _* With the upcoming launch of Prophecy’s central feature, Prophet Pools, their team hopes to improve the win rate of all participants within each of its lottery-like pools. Instead of the industry standard wherein a small minority win in lottery pools, Prophecy believes the majority should win. By default, around 60–90% of entrants into a Prophet Pool will win back more than they input, and even facilitate participants to create and customize those odds for more bespoke experiences for their end users.  As a developer platform, Alchemy excels by supporting the ambitions of teams like Prophecy Project while enabling them to solve new use cases. That’s why Alchemy is super excited to announce our partnership with Prophecy Project! “It’s never easy trying to change an industry standard, but Prophecy Project seems to have found a way to make DeFi even more inclusive. Their core team has a bunch of folks who have a ton of experience in the ecosystem, so I’m excited for this launch. I think a lot of cool products are going to come from Prophecy,” - Paul Almasi, Co-Creator of [Alchemy Amplify](https://www.alchemy.com/amplify). By leveraging Alchemy’s best-in-class platform, the Prophecy team will have access to the industry’s most scalable Ethereum API, allowing them to bring their game-changing application to users all around the world. “Being able to access the industry’s most scalable Ethereum API for our upcoming Prophet Pools is a prospect the entire team is excited for. We’ve designed Prophet Pools to be the best of the best, truly industry leading in terms of what a DeFi product can deliver, and for this we wanted to reach out to the best of the best for API access. This partnership with Alchemy Amplify delivers on that and opens up so many new exciting pathways for both our projects,” - Apollo, Chief Marketing Officer of Prophecy. While the Prophecy Project works on gamifying the DeFi experience, Alchemy’s developer platform will give them the reliability and performance they need to execute on their goals. ### About prophecy project The Prophecy team brings together years of collective experience in core blockchain development, software development, UX design, marketing, and the crypto industry as a whole. Prophecy is a DeFi ecosystem that launched at the end of 2020, and has an ever-growing community. Their sister suite of products - Retina - is set to launch in 2021. Soon to utilize a DAO structure labelled ‘Athens’, they focus on gamifying decentralized finance through their ecosystem of products. While Prophet Pools are the flagship product of Prophecy, their roadmap includes plans to deliver a swap, lending, privacy protocol, DAO governance, staking, and farming within the ecosystem. They are blockchain-agnostic and currently run on Polygon and Ethereum networks with more plans to offer more blockchains through 2021 and beyond. ### About Alchemy [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:b6347e30-4a26-426f-bf59-2370d38fcb47) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. *Sign up for a [free account](https://dashboard.alchemy.com/signup/). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # New dashboard for faster debugging, monitoring & building URL: https://www.alchemy.com/blog/alchemys-new-dashboard-2023.md ## Introduction The [Alchemy dashboard](https://dashboard.alchemy.com/) contains tools and resources to help you onboard easier, monitor your apps health, debug in real time, and enable entirely new features to improve your development processes. The Alchemy product suite, the overall industry landscape, and most importantly, your needs as builders have changed drastically, so we felt like it was time for our dashboard interface to evolve with it.  We spoke to dozens of developers and learned that they need easy ways to understand the status of their applications and to take action on potential issues they might be having. The new dashboard provides cleaner pathways for getting the context and data necessary to solve the important issues.  Check out the changes for yourself by visiting: [https://dashboard.alchemy.com/](https://dashboard.alchemy.com/) ## New features 1. **More intuitive navigation**: the new navigation has an entirely new hierarchy to help you easily access the information that matters 2‍ .**Search functionality**: The top navigation has transformed into an all new search experience that indexes across all pages in the Alchemy dashboard and docs 3**. Quick access to your top apps**: get quick access to your top 3 most used applications directly in the homepage  4**. New analytics charts**: the new dashboard homepage features entirely new charts for monitoring your API request health \(successful and failed requests\) and API request growth \(week over week\) 5**. New product discovery**: stay up to date with the latest Alchemy products and tooling with the new “just shipped 🚀” feature  6**. New App overview table**: see all of your apps in one place with the ability to filter by network and search by app name. Also get a quick look into request health for each app. 7**. Access other products**: Easily access other Alchemy products and resources like Spearmint, [Documentation](https://www.alchemy.com/docs), and [Alchemy University](https://university.alchemy.com/) directly from the dashboard.  8‍ .**Same face, different name**: A few of our familiar products have switched to more intuitive names: 1. Explorer → Logs 1. Composer → Sandbox 1. Notify → Webhooks   9**. Bye bye royal blue** 💙: we had a good run, but it’s time for a change  ## What’s next? These changes are just the beginning. We’re laying down the foundation for an entirely new redesign of every tool. You can expect a ton of new features coming out on the [dashboard](https://dashboard.alchemy.com/) in the future, including: 1. Better analytics for your apps  1. Visibility into streaming data like Webhooks and Websockets  1. Better debugging capabilities like request decoders  1. Optimization suggestions to save you money  1. Better discovery of products and tools  1. Much much more! ## We want to hear from you Everything we do at Alchemy is in service of making your experience as builders as easy as possible. If there’s something you want to see in the dashboard moving forward or if you have feedback on the new experience, [please reach out to us](https://support@alchemy.com/)! --- # Announcing Web3 University: Lifting Up Blockchain Developers URL: https://www.alchemy.com/blog/announcing-web3-university.md ### Growing the Web3 community through education "How the !?\#@ do I do this?!" It's the first question \(scream\) out of the mouth of pretty much every aspiring Web3 developer. We've all been there. It's pretty quickly followed by "what the !?\#@ is all this?" as we try and find the materials we need to start. There hasn't been a single, easy-to-use resource for the education materials devs need to start out in Web3 and continue to develop their skills. Today, we're excited to announce that we're working with the best brains in Web3 to launch a platform to lift current and future blockchain developers up - Web3 University! ### What is Web3 university? Web3 University is an online educational platform bringing you the best resources and tutorials across the blockchain development ecosystem. A one-stop, chain-agnostic shop for developers looking to learn about writing smart contracts, minting NFTs, and building fully-functional end-to-end [apps](https://www.alchemy.com/dapps/top/defi-dapps) that can scale to millions worldwide. We're partnering with some of the heavyweights in the blockchain space - [a16z](https://a16z.com/), [Pantera Capital](https://panteracapital.com/), [Arbitrum \(Offchain Labs\)](https://offchainlabs.com/), [Polygon](https://polygon.technology/), [Flow](https://www.onflow.org/), [OpenSea](https://opensea.io/), [buildspace](https://buildspace.so/), [Chainshot](https://www.chainshot.com/) and leading developer advocates like [Nader Dabit](https://www.youtube.com/channel/UC7mca3O0DmdSG2Cr80sOD7g), [Patrick Collins](https://twitter.com/PatrickAlphaC), [Albert Hu](https://twitter.com/thatguyintech?s=20), and [Austin Griffith](https://austingriffith.com/). Basically, we're bringing the best-of-the-best together to ensure you're getting the most valuable resources across all of Web3. ### Why now? Even the biggest companies in Web3 are incredibly young, and almost all of them were started by a couple of developers with an idea who decided to experiment on blockchain. Nearly all of us in this space today started learning [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) in the past five years - and we know that 90% of future blockchain developers still have yet to join. More than that, Web3 is seeing an explosion of amateurs, people with literally no coding background who are excited about the possibilities and want to start building. There could not be a better time to launch this resource. Say you're an existing developer at an established company looking to get into blockchain development. When you're learning in your free time, there's hundreds of articles, tutorials, and guides out there, all of varying quality or consistency. Today, it's extremely difficult to piece together the tutorials you need to give you a full picture of the space, and most of the content is brand new and untested. By creating a highly-curated, authoritative destination supported by the best educators in Web3, you can learn everything you need about blockchain development in one place. We'd like to fast-forward developers through that early grind and get them building quickly on the projects that they're excited to work on, not spend hours searching for the information they need. ### What's the vision? Web3 University needs to be organized by the people who have the most stake in its future: blockchain developers interesting in educating the rest of the world about Web3. So that's what we're aiming to do. Alchemy, and our partners, are kicking this off, but we want to it to ultimately be community-led. We've already gotten started here! We're working on designing incentive structures to lift up educators who have invested their time and effort into creating great resources on web3 development. Finally, we're actively exploring what it would look like to decentralize the management of Web3 University in the long run and give ownership to the community - the web3 educators who are actively working to grow blockchain one student at a time. If this sounds exciting, we'd love to collaborate with you on the direction of this project! Join the [Web3 University Discord](https://web3.university/discord), follow [@web3university on Twitter](https://twitter.com/web3university), and tell us what you're interested in working on! --- # API3 Partners with Alchemy to Enable the Web3 API3 Economy URL: https://www.alchemy.com/blog/api3-x-alchemy.md #### _API3_ empowers the world’s premier application programming interface \(API\) providers to offer their services directly to Web3 applications with the integration of Alchemy’s blockchain developer platform and tools.  The current evolution of the web has led to the burgeoning development of Web3, the self-governing, next-generation internet built on the blockchain. As more users migrate to Web3, the way the world exchanges value will be revolutionized.  But how will developers respond to this growing demand and create new solutions and services in this decentralized, trustless framework? There is also an “oracle problem,” where existing infrastructure is not compatible with these new, emerging technologies.Traditional blockchain oracles are a third-party service that provides smart contracts with external, or "outside world," information that blockchains and smart contracts are otherwise unable to access.  APIs, which use a well-documented open-source protocol that enables the transfer of data and services, help overcome existing barriers and bridge the connection between blockchain and real-world use cases. [API3](https://api3.org/) connects trustless applications seamlessly with Web APIs. One example is API3's Open Bank Project which offers API solutions for banks, assisting them in the deployment of open banking platforms with data points such as onboarding and Know Your Customer \(KYC\) checks, accounts, transactions, branches, and ATMs.  API3's Airnode, initially developed on the Ethereum network but blockchain agnostic, is a Web3 solution that connects any web API directly to any blockchain application. Essentially, Airnode is an effortless, open-source, first-party oracle that provides value-added services such as decentralized APIs \(dAPIs\).  These interoperable dAPIs are on-chain compositions of first-party, API-provider-operated oracles that are governed by the recently launched API3 Decentralized Autonomous Organization \(DAO\). As API3 works to build the Web3 API economy, it strives to embody “maximum transparency and minimum trust.” "Traditional businesses that create real-world value provide services over their Web APIs. Meaningful smart contract use-cases need to access these services, and receiving this oracle service from the first party is the most trust-minimized configuration. However, this creates unique challenges, including the need for non-blockchain companies to provide highly reliable services over a number of blockchains. Our serverless oracle node, Airnode, is designed in a way to use multiple blockchain providers in parallel to maximize the availability of the provided oracle service, and Alchemy is the first blockchain provider that we are using at an organizational level.” - Burak Benliqiray, API3 Founder In developing the Airnode, first, the API3 team created a wish list of features necessary for first-party oracles to come to fruition. This led to the conceptualization of a serverless oracle node specifically designed for first-party usage. The Airnode eventually became this solution. API3 makes it possible for older API data providers to connect their data sources to smart contracts without the need for a third-party intermediary.  The key challenges that lie ahead for API3 include facilitating tight-knit communication between the organization’s core technical team and all of its stakeholders. This is to ensure that all of the builds cater to demand. Another important challenge is the scope of the project and the pressure of designing and implementing protocols, supporting backend and [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps), and developing infrastructure code for the public to use. These are all mission-critical components of the core solution, which requires and demands focus and drive. Via its partnership with Alchemy, API3 can now hone in on building to address the immediate business concerns of a whole blockchain ecosystem. By creating the de facto standard Web3 API marketplace, API3 can address the issue of scaling. This will help grow API3 exponentially. API3 designed Airnode to support multiple blockchain providers simultaneously for optimal availability. To leverage this feature, the team is working with [Alchemy](https://alchemy.com/?r=affiliate:6b3dd29a-4354-483a-bb4d-3904d1f47018) in a variety of ways, including powering [WalletConnect](https://www.alchemy.com/dapps/walletconnect) integration on their DAO dashboard. Alchemy also enables blockchain provider redundancy to the API3 Airnodes to eliminate a potential central point of failure. In the event a main provider is unable to respond, a backup or failover provider can take over. "Alchemy, as a developer platform, excels by supporting the ambitions of teams like API3 while also enabling them to provide more Web3 solutions. The Alchemy team is thrilled to announce our partnership with API3 and looks forward to seeing what can be achieved." - Paul Almasi, Co-creator of Alchemy Amplify. ### About API3 [API3](https://api3.org/) is leading the movement from legacy third-party oracle networks to first-party oracle solutions that deliver more security, efficiency, regulatory compliance, and simplicity. ### About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:6b3dd29a-4354-483a-bb4d-3904d1f47018) provides the leading blockchain development platform that powers millions of users for 99% of countries worldwide. Our mission is to equip developers with the fundamental building blocks they need to create the future of technology and lower the barriers to entry to allow them to build blockchain applications more easily. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions.  We have been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, artificial intelligence, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. _Interested in building your own blockchain app?_[_ Sign up with Alchemy for free_](https://alchemy.com/?r=affiliate:6b3dd29a-4354-483a-bb4d-3904d1f47018)_, check out our_[_ documentation_](https://www.alchemy.com/docs)_, and for the latest news, follow us on _[_Twitter_](https://x.com/Alchemy)_._ --- # How to Use Alchemy’s Application Monitoring Tools URL: https://www.alchemy.com/blog/application-monitoring-tools.md So you’ve read our article about using nodes to communicate with the blockchain and [why you might need a node provider](https://medium.com/alchemy-api/what-is-a-node-provider-and-why-do-i-need-alchemy-16e89b43bfda) such as Alchemy as opposed to running your own nodes!  What we haven’t fully discussed though, are the additional benefits you get when using us as compared to your average node provider.  In particular, one of the main reasons we have 70% of the top apps in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) is because we provide a whole suite of developer-friendly tools that make life waaaay easier as a developer.  These tools cover a ton of bases, from helping you build your app faster, to analyzing requests and responses that are sent through our node endpoints, to monitoring the health of your traffic and users in real-time! If you’d like to try them out instead of reading this article, [you can play with them here. ](https://dashboard.alchemy.com/) ‍Even if you don’t need this dashboard early on in the development process, trust us - once you push your dApp out publicly and other people start sending requests through your infra, these tools will be a lifesaver when it comes to debugging. ## The Alchemy explorer: viewing your historical requests When you send a single request to the blockchain, you’ll typically get a response back immediately from your node with the answer to your query. But what do you do in the following cases? - Some of your requests are malformed, and you’d like to see all failing requests in the past day to determine a pattern \(e.g. finding all responses with a -32000 node error code\). - You’ve pushed your dApp to production, and users are sending requests that trigger blockchain requests in your infrastructure. They start reporting that certain transactions are failing to make it through to the blockchain, and you’d like to debug their transaction send requests. Without a tool to help you manage this process, you’d be trawling through pages of logs stored in zipped text files, sorting these files by time, and using grep statements to try to isolate the information you need. Archaic, we know - that’s where the Request Explorer comes in! Our Explorer allows you to search through historical requests and responses sent through our infrastructure anywhere from 1 second to 10 days ago! No more log-hunting - you’ve got modern technology at your fingertips.  On these requests, you can filter the queries by all sorts of parameters, such as the type of method, HTTP responses, or node-specific errors! You can see requests based on their timestamps, the duration of the request, and many more options. Once you’ve found a request that catches your eye, there’s a few things you might typically want to do:  1. Search for similar requests in the logs to determine the prevalence of a particular issue. 1. Attempt to make that identical request again, to verify if it’s still failing.  For the first, we’ve got a handy  little button “Explore Similar” next to each request that allows you to perform a new search with matching parameters! For the second, this is a great lead into:  ## The Alchemy composer: testing requests from the browser Do you ever feel like it takes way longer to manually make one-off API requests than it needs to? Believe me, we feel the same way. Whether you’re meticulously writing curl requests in the terminal or looking up a Postman library that you misnamed two months ago - it’s always just a little annoying.  The Alchemy Composer essentially allows you to make one-off blockchain requests via a browser-based GUI, and get the response back immediately on the same webpage.  Instead of  - writing curl requests and selecting an endpoint, you simply pick the blockchain, network, and method you’d like to test. - guessing parameters for each method, you simply select them from the dropdowns!. - parsing JSON objects, they’re pre-parsed in the browser! One additional feature that’s particularly useful: if you want to share a request you’re looking at with your pair programmer, just click “Copy config URL” in the top right corner and you can share that URL directly with them while retaining all the request information! A fast and easy way to validate requests between friends. ## The Alchemy mempool watcher: view your transaction status First off, it’s important to understand what the Mempool does. Essentially, the mempool is a waiting room inside each node for pending transactions. These are transactions that have been sent by a user that have yet to be “mined”, or written onto the blockchain. Here’s a summary of the typical flow of a transaction before it gets confirmed on the blockchain:  1. User generates and signs a transaction, creates a sendTransaction request, and sends the request to a node. 1. That node places the pending transaction in its mempool. The mempool does a bunch of validation on the transaction and rejects it otherwise. 1. That node shares the pending transaction with as many of its peers as possible and so on, so that nodes across the network will have this specific pending transaction in their mempools. 1. Once a block is mined, the miner selects the pending transactions from its mempool that have the highest gas price and includes them in the block. These pending transactions are now mined.  1. Over time, a pending transaction that never gets mined may eventually be dropped by nodes. If you still have questions, [this article on pending transactions might help you out! ](https://www.alchemy.com/blog/how-to-debug-pending-ethereum-transactions)‍ One major issue is that the mempool is basically opaque to the user - the only way to access information about its contents is through API requests to check on the status that return endless log streams.  ‍Seeing how painful this was, we decided to build a GUI to allow you to access your mempool state in the dashboard instead of the CLI!  Here’s what it looks like to browse the mempool with our Mempool Watcher:  ‍Have you ever wondered [why your pending transactions aren’t going through](https://www.alchemy.com/blog/how-to-debug-pending-ethereum-transactions)? The vast majority of the time, it’s because the gas price for your transactions is less than the current going rate. With a tool like this, you should be able to quickly identify transactions that are getting stuck in the mempool, see the gas prices associated with them, and compare with the market rate to determine if it’s time to resubmit a transaction with a higher gas price.  ## What’s with all these charts?  There’s a lot of useful information that we’re able to collect for you as your node provider - and we’re doing the best job we can to share it with you! Things we’re able to graph for you that you wouldn’t otherwise see:  - Your request counts over time, broken down by app. - The IP addresses of your requests mapped on a U.S.A. and world map \(very useful if you have client apps send traffic directly to Alchemy!\) - A visualization of recent requests sent through your app. - Your usage history, sortable by app and month, helping you identify trends in your traffic! ## What other benefits does Alchemy provide? Alchemy provides node infrastructure for the blockchain, which means we manage all the infrastructure associated with sending and receiving requests to the Ethereum blockchain \(among a few others!\). Here’s some information on [why you need a node provider. ](https://www.alchemy.com/overviews/blockchain-node-providers) Once you’re sending your requests through our system, you get all the benefits we’ve discussed above: visualizations and web-based browser tools making it easier to build and monitor your [apps](https://www.alchemy.com/dapps/top/defi-dapps). On top of that, we’ll give you:  - Access to Supernode, our proprietary node infrastructure that solves scalability and consistency issues that plague the blockchain. - Access to Alchemy Notify, a tool providing push notifications \(webhooks\) for events such as transactions happening on the blockchain. - Access to our Enhanced APIs, which allow you to make requests from the blockchain that are otherwise computationally expensive or impossible.  - And plenty more, including access to these features across a variety of chains such as Flow, Crypto.org, and L2s such as Polygon and Arbitrum! ## Getting started with Alchemy Setting up Alchemy as a node provider is insanely simple - in fact, it should only be a single line of code! If you've been using [web3.js](https://www.alchemy.com/dapps/web3-js) or [ethers.js](https://www.alchemy.com/dapps/ethers-js), it's as simple as[ creating an Alchemy account via our dashboard](https://dashboard.alchemy.com/), generating an API key, and replacing the instantiation with something like this: If you'd like a full tutorial, check out our[ Getting Started With Alchemy documentation here!](https://www.alchemy.com/docs/alchemy-quickstart-guide) And finally, we're always available to help 24/7 on our [Alchemy Discord](https://discord.gg/AwtatAHG). Stop by and say hi - we'd love to help you on your journey in blockchain development! --- # Aptos Support is Live on Alchemy URL: https://www.alchemy.com/blog/aptos-support-is-live-on-alchemy.md We're excited to announce that Aptos support is now live on Alchemy. [Aptos](https://aptosnetwork.com/) is a Layer 1 blockchain built to become the global trading engine for the onchain economy. It combines parallel execution technology with strong uptime and predictable transaction costs—exactly what you need to build applications that can scale to millions of users. ## Why Aptos stands out - Parallel Execution at 20,000\+ TPS - Most blockchains process transactions one at a time. Aptos runs many transactions simultaneously through parallel execution, delivering over 20,000 transactions per second. Applications can handle real user volume without slowing down. - 99.9% Uptime - Aptos has maintained 99.9% uptime, which matters when you're building payments infrastructure, financial products, or consumer apps that people actually rely on. - Sub-Cent Transaction Costs - Fees on Aptos are typically a fraction of a cent, and they've stayed that way. Builders can design around microtransactions and high-frequency activity without worrying that gas costs will spike and break the user experience. ## What people are building - **DeFi and Trading:** Low latency and parallel execution make it possible to run real-time markets and capital-efficient protocols that can actually compete with centralized exchanges. - **Payments and [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins):** High throughput plus cheap transactions equals good infrastructure for payment rails, remittances, and merchant apps. - **Real-World Assets:** Institutions are using Aptos to bring traditional financial instruments onchain. The Aptos Move programming language provides strong safety guarantees around asset ownership and transactions. - **Consumer Apps:** Games, social platforms, and creator tools that need fast finality and the ability to handle lots of users. ## What's coming in 2026 Two big launches are happening on mainnet this year: - **Shelby:** Decentralized data infrastructure built by Aptos Labs and Jump Crypto. Think cloud-grade performance, but you control your data. - **Decibel:** A fully onchain decentralized trading engine with CEX-grade execution and unified margin. It's a core piece of the vision for Aptos to power real-time, transparent markets onchain. ## Start building "We're excited to work with Alchemy because of their strong developer brand and widely trusted product suite," said Ash Pampati, SVP, head of ecosystem at Aptos Foundation. "There's clear alignment around reducing friction for developers who want to build safe, scalable, and high-performance applications on Aptos." As Aptos' infrastructure partner, Alchemy provides: - **99.99% uptime** with global redundancy - **Full API suite** including WebSockets, RPC API, and Debug API - **Battle-tested infrastructure** that processes $1T+ in onchain transactions, with SOC 2 Type II certification Aptos is now available on Alchemy with the same reliability and developer experience across all our supported networks. Whether building DeFi, payments, tokenizing assets, or creating consumer apps, developers have the infrastructure they need. **Ready to build on Aptos?** [Start here](https://www.alchemy.com/docs/reference/aptos-api-quickstart) or [contact us](/contact-sales) to discuss how we can support your project. ## Frequently asked questions ### Does Alchemy support Aptos? Yes, Aptos support is now live on Alchemy with a full API suite including WebSockets, RPC API, and Debug API. ### When did Alchemy launch Aptos support? Aptos support went live on Alchemy on January 29, 2026. ### What infrastructure does Alchemy provide for Aptos developers? We provide 99.99% uptime with global redundancy, a full API suite, and battle-tested infrastructure that processes $1T+ in onchain transactions with SOC 2 Type II certification. ### What makes Aptos suitable for building scalable applications? Aptos offers parallel execution at over 20,000 TPS, 99.9% uptime, and sub-cent transaction costs that remain stable and predictable. ### What types of applications are developers building on Aptos? Developers are building DeFi and trading platforms, payments and [stablecoin infrastructure](https://www.alchemy.com/dapps/best/stablecoin-infrastructure), real-world asset tokenization, and consumer apps like games and social platforms. ### What is the Aptos Move programming language used for? The Move programming language provides strong safety guarantees around asset ownership and transactions, making it suitable for institutional use cases and real-world assets. ### What major launches are coming to Aptos in 2026? Shelby, a decentralized data infrastructure, and Decibel, a fully onchain decentralized trading engine with CEX-grade execution, are both launching on mainnet in 2026. ### How do I start building on Aptos with Alchemy? You can start building by visiting Alchemy's Aptos API quickstart documentation or contacting their team to discuss your project needs. --- # Arbitrum Account Abstraction Workshop Series URL: https://www.alchemy.com/blog/arbitrum-account-abstraction-workshop-series.md Offchain Labs and Alchemy are partnering together to bring you an exciting new educational series covering Account Abstraction on [Arbitrum](https://www.alchemy.com/arbitrum)! ## Why account abstraction? [Account Abstraction](/overviews/what-is-account-abstraction) provides some much needed flexibility to the core building block of web3 applications: the user accounts themselves. With this new flexibility we can unlock new user experiences that will onboard the next billion users to web3. ## The episodes This series will be a collection of live events on Twitter and YouTube running every other Thursday, kicking off on **February 1st, 2024** at 1:00 pm EST \(18:00 UTC\). Here’s all the episodes you can expect: ### 1. Building for the Web3 of tomorrow We’ll discuss why we’re all so excited about Account Abstraction and what kind of features it unlocks for application developers and their users. **Date:** Thursday, February 1st **Time:** 1:00 pm EST / 10:00 am PST ### 2. Account abstraction \(how it all works\) We’ll dive into ERC-4337 and do an in-depth discussion of the components of the system, [how they all work together](/overviews/how-do-smart-contract-wallets-work) to create the features of AA. **Date:** Thursday, February 15th **Time:** 1:00 pm EST / 10:00 am PST ### 3. Account abstraction use cases We’ll learn about live projects building with AA and hear from teams that are shipping today! **Date:** Thursday, February 29th **Time:** TBD ### 4. Technical workshop We’ll get our hands in the code, and learn how to start building AA-enabled applications that can be deployed on Arbitrum. **Date:** Thursday, March 14th **Time:** TBD ### 5. How to build an ERC-6900 plugin We’ll need to put on our [Solidity](https://www.alchemy.com/overviews/solidity) hats for this one as we learn how to build a Modular Accounts Plugin, which can be installed by any user with an [ERC-6900](/overviews/what-is-account-abstraction-erc-6900) account. **Date:** Thursday, March 28th **Time:** TBD ## Ready to start building today? Check out [Embedded Accounts](/smart-wallets) to use the ultimate stack for building with account abstraction: smart accounts, Signer integrations, sponsoring gas, bundlers, and an SDK. If you’re new to account abstraction and would like to learn what its about, check out [this YouTube series](https://www.youtube.com/playlist?list=PLMj8NvODurfFGxpJURg_qkodGggJx9TpA) which will start conceptual and then take you through a technical deep dive of the standard that drives it all: ERC 4337. Follow [@Alchemy](https://x.com/Alchemy) and [@Arbitrum](https://twitter.com/arbitrum) on Twitter to get links to each events as they become available! --- # Arbitrum Goerli Support Ending Mar 18 - Migrate to Sepolia URL: https://www.alchemy.com/blog/arbitrum-goerli-testnet-deprecation.md **Arbitrum has informed us that they will deprecate Arbitrum Goerli on March 18.** On the same day, we will turn off our Goerli nodes for [Arbitrum](https://www.alchemy.com/arbitrum). This means if you try to send requests to these nodes, your requests will fail with a DNS resolution error. ## Required actions for developers **To ensure you’re able to continue testing seamlessly, you will need to migrate to Arbitrum Sepolia before March 18.** Arbitrum Sepolia is the sustainable path forward for web3 developers and we encourage devs to use it for any testing and development needs. [Arbitrum Sepolia offers many benefits](https://alchemy.com/overviews/goerli-vs-sepolia) over Goerli, such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. ## How to migrate to Arbitrum Sepolia Follow these 5 steps to migrate from Goerli to the Sepolia testnet on Arbitrum: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Arbitrum Sepolia network. 1. Get free Arbitrum Sepolia tokens from Alchemy's public [Arbitrum Sepolia Faucet](https://www.alchemy.com/faucets/arbitrum-sepolia) which drips up to 0.5 SepoliaETH per day. 1. Change your `API\_URL` to your Arbitrum Sepolia RPC URL: `https://arb-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Arbitrum Sepolia. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ### A note on other chains Goerli deprecation dates for other chains are up to date on [this blog post](https://www.alchemy.com/blog/goerli-faucet-deprecation). --- # Arbitrum Is Live on Alchemy (In Beta) URL: https://www.alchemy.com/blog/arbitrum-is-live.md #### We’re proud to announce that Alchemy support for Arbitrum Mainnet is live! #### ‍ [Arbitrum](https://www.alchemy.com/arbitrum)’s layer 2 technology gives developers access to up to 270x lower gas fees, and starting today is available as part of the Alchemy developer platform. This means developers can tap into  Alchemy Supernode and the developer tools that already power the most successful projects on Ethereum to access the scaling capabilities of Arbitrum. Getting started with Arbitrum through Alchemy is super easy. Access to Arbitrum is included for all Alchemy users and uses the same [API methods](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart) as Ethereum. Plus, Arbitrum is compatible with almost all existing Ethereum smart contracts, so there won’t be any [solidity](https://www.alchemy.com/overviews/solidity) code changes in your future.  This is the first step in a roadmap committed to helping our users solve their greatest scaling and UX challenges, and over the next several months we will be deepening our support for Arbitrum and other Layer 2s to do so. ### Why layer 2? At Alchemy we’re constantly listening to the needs of the Ethereum developer ecosystem and extending our platform to solve them. For more than a year we’ve heard loud and clear that the biggest need for nearly every developer is a way around the high gas fees and slow mining times on Ethereum. While we’ve released several features, like our [Gas Price Webhooks](https://www.alchemy.com/blog/introducing-gas-price-notifications-by-alchemy), to help improve the gas issues, we’ve also known that the long term solution would take the form of a layer 2 for Ethereum focused on scalability.  By using a layer 2 like Arbitrum, developers can not only pay lower gas fees themselves, but massively improve the UX of their products by unlocking those lower gas fees and quicker mining times for their end users. ### Why Arbitrum? Beyond the fact that Arbitrum was created by the super talented and community driven team at Offchain labs, the network is exciting primarily because of the technology that powers it.  At the core of Arbitrum is scaling tech called the Arbitrum Rollup, a particular implementation of optimistic rollups. “Rollup” refers to the fact that transactions from Arbitrum are included on layer 1 ethereum in batches. “Optimistic” refers to the fact that transactions are included by default, and computationally expensive proofs are only done if fraud is suspected. While there are many awesome resources that explain this in greater detail, at their core optimistic rollups empower a layer 2 to have extremely high transaction throughput and low overall fees, while tapping into the full security of a layer 1 like Ethereum. All of this means that, through core technology, Arbitrum will help deliver on the scaling, developer experience, and UX promises of layer 2s for the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). ### What’s next? Today’s release includes support for Arbitrum in many of the core Alchemy products that Ethereum developers know and love, like Alchemy Supernode. Over the coming weeks that support will extend to include access to the full Alchemy stack. This means the most powerful developer tooling in blockchain, including Alchemy Build, Monitor, and Notify, will be fully supported for the Arbitrum network. In addition, we’ll be working closely with the team at Offchain Labs and the many developers building applications on top of Arbitrum to deliver new products and features specifically for layer 2 users.   Get started with Arbitrum today by [creating a new app](https://dashboard.alchemy.com/apps) and selecting Arbitrum Mainnet as your network. Check out the [Arbitrum API documentation](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart) to see what methods are currently supported! ‍ If you don’t already have an Alchemy account, you can [sign up for free today](https://dashboard.alchemy.com/signup?referral=affiliate:504d6b58-2093-46bd-b1f0-530e4ac18620). We can’t wait to see what you build! --- # Alchemy Expands to the Polkadot Ecosystem URL: https://www.alchemy.com/blog/astar-on-alchemy.md Today, Alchemy is proud to announce a partnership with [Polkadot parachain Astar Network](https://astar.network/), giving developers the necessary tools, products and services to build the future of web3. Building season doesn’t slow down in a bear market, and together, Astar and Alchemy are committed to making it as easy as possible for developers to get started.  There is a fundamental mission alignment between Astar and Alchemy: both teams are unwaveringly focused on building for builders and are so excited to see what gets built with the compounded benefits of Astar and Alchemy.  [Sign up today](https://www.alchemy.com/astar) and start building on Astar Network with Alchemy.  “Supporting the developer ecosystem is Astar’s driving motivation. By partnering with Alchemy and making their blockchain engine available to Astar developers, we will bring even more innovation and growth to the builder community.” - Sota Watanabe, Founder & CEO, Astar Network ### Building for builders  [\#Build2Earn, Astar’s dApp staking initiative](https://docs.astar.network/docs/dapp-staking/), enables developers to get paid for the code they write. Astar token holders can stake their tokens to nominate [apps](https://www.alchemy.com/dapps/top/defi-dapps), and as long as a developer’s dApp has been nominated, the developer can earn a basic income, deepening the incentives for developers to keep building.  Alchemy has maintained a similar focus, investing in education with [Web3U](https://www.web3.university/) and [The Road to Web3](https://www.alchemy.com/docs/alchemy-quickstart-guide) – and early-stage funding with [Alchemy Ventures](https://www.alchemy.com/ventures). Most recently, Alchemy launched the [WAGBI Grants](https://www.alchemy.com/developer-grant-program), a $25M commitment to help developers get started in web3.  ### EVM-compatibility and WASM functionality enable future-proofed interoperability [Astar Network](https://astar.network/) is built on [Parity Substrate](https://substrate.io/), a framework that enables fast and easy custom blockchain development. This foundation provides Astar with built-in security benefits, while enabling some important and game-changing innovations, e.g., becoming the network connecting the [Polkadot ecosystem](https://www.alchemy.com/dapps/ecosystem/polkadot) to all major Layer 1 blockchains, including Ethereum, Acala and eventually Cosmos. By bridging the Polkadot and EVM universes, Astar enables shared security, interoperability and cross-consensus messaging \(XCM\), expanding the benefits well beyond just cross-chain asset transfers. These benefits position Astar to become the hub of innovative dApp projects, written in various languages, and thereby creating unique experiences for interoperable apps.  Beyond EVM-compatibility, Astar is looking ahead to the future with WASM, sometimes dubbed Ethereum 2.0. WASM, \(short for WebAssembly\), a binary instruction format for a stack-based virtual machine, is said to maintain the benefits of EVM, while providing enhanced speed and interoperability. Astar’s compatibility with both EVM and WASM also means developers can build on either [Solidity](https://www.alchemy.com/overviews/solidity) and Rust.  ### Together, Astar and Alchemy are accelerating the developer mission  Equipping developers with the right tools and support to easily start building is Astar’s highest priority, and partnering with Alchemy will allow them to achieve that mission.  Alchemy’s existing support of [Ethereum](https://www.alchemy.com/ethereum) and L2 chains including [Polygon](https://www.alchemy.com/layer2/polygon), [Arbitrum](https://www.alchemy.com/layer2/arbitrum) and [Optimism](https://www.alchemy.com/layer2/optimism), means there is an existing legion of developers, habituated to EVM, who can immediately start integrating Astar into their apps. What’s more, Alchemy’s proven track record pioneering support of non-EVM chains like [Solana](https://www.alchemy.com/solana) gives the Alchemy team a trusted playbook, as they take their first step into the Polkadot ecosystem. The Astar team is thrilled for their developers to get access to the robust set of Alchemy products, which will include:  - [Alchemy’s Supernode](https://www.alchemy.com/supernode), the revolutionary blockchain engine that ensures infinite scalability, the strongest web3 reliability and 100% data accuracy. Alchemy Supernode means developers never have to spend time managing their blockchain connection. - [Alchemy SDK](https://www.alchemy.com/sdk), offering the easiest way to connect a dApp to the blockchain, with just two lines of code.   - [Alchemy Notify](https://www.alchemy.com/notify), providing webhook access to alert users about every type of event, including address activity, mined transactions and dropped transactions.  - Developer tools, including [Websockets](https://www.alchemy.com/docs/reference/subscription-api), [Usage Analytics](https://www.alchemy.com/docs/dashboard-alerts), [Composer](https://www.alchemy.com/docs/dashboard-tools-quickstart), [Explorer](https://www.alchemy.com/docs/dashboard-tools-quickstart) and the [Mempool Visualizer](https://www.alchemy.com/docs/dashboard-tools-quickstart), making it incredibly easy to subscribe to events, monitor app health, explore new methods, optimize performance and view the real-time state of transactions.  The Astar and Alchemy teams are so excited for this partnership to help more developers start and keep building. [Sign up today](https://www.alchemy.com/astar)to start building on Astar Network with Alchemy. --- # Augur Scales with Alchemy's User-First Approach URL: https://www.alchemy.com/blog/augur-blockchain-wanted-great-user-experiences-that-scaled-alchemy-made-it-possible.md “Alchemy resolved the consistency issues that had previously reared their head, removing 98% of user complaints and significantly improving [Augur](https://www.alchemy.com/dapps/augur)’s user experience and adoption.” ‍**- Augur CTO Alex Chapman** ## Summary _Augur spent years developing their protocol, only to find post-launch that their early users were unable to use Augur due to poor infrastructure. After switching to Alchemy for infrastructure, Augur now delivers great user experiences at scale._ ## At first, augur was unusable due to poor infrastructure Leading up to launch day, Augur had spent years on active development, protocol design, and testing smart contracts. Hours after launch, they were surprised to receive complaints that Augur wasn’t working. The problems arose because Augur had launched with a free third-party node service that was slow, unreliable, and frequently provided incorrect blockchain data. Even though the Augur application was working, the infrastructure powering the application wasn’t. In fact, this happens to many developers in the blockchain ecosystem; they deploy a well-designed protocol only to find out it doesn’t behave as expected in production. _Augur’s engineering team wasted almost 3 months patching up the worst of the issues caused by unreliable infrastructure._ Augur ultimately switched to Alchemy for quality blockchain infrastructure. Quality infrastructure is one of the most important factors for great user experiences, real-world adoption, and developer productivity. Here’s how Alchemy enabled Augur to work for their users and continue to work at scale: - Supplied correct, consistent blockchain data - Improved reliability and performance - Accelerated core product development - Served helpful customer support‍ ## Alchemy’s consistency removed 98% of user complaints Alchemy resolved consistency issues and delivered the best user experience, reducing user complaints by 98% and supercharging Augur’s adoption. Alchemy utilizes a sophisticated and distributed architecture to guarantee consistency at scale. ## Augur syncs over 3x faster Infrastructure should be reliable, fast, and scalable. Augur took over eight hours to sync on their first third-party infrastructure service. On Alchemy, a user’s application syncs over 3x faster. Furthermore, uptime is crucial; users won’t use an application that might occasionally break. ## Alchemy accelerates augur’s core product development Successful teams focus on their core competencies. Augur’s engineering team wasted almost 3 months patching up the worst of the issues caused by unreliable infrastructure. Now, Augur dedicates all development efforts towards building their core products.‍ ## Alchemy provides 24/7 customer support Ethereum infrastructure requires continuous investment because of network forks, maintenance upgrades, and unpredictable live network conditions. Alchemy has experience handling these issues and helps Augur deal with them, saving significant amounts of time. ‍ _Sign up for Alchemy for free _[_here_](https://dashboard.alchemy.com/signup?referral=affiliate:962a97db-6092-4268-9c28-67e670428fc1)_._ ‍ --- # Balancer Is A New Type Of AMM URL: https://www.alchemy.com/blog/balancer-is-a-new-type-of-amm.md At its core, [Balancer](https://www.alchemy.com/dapps/balancer) is an Automated Market Maker \(AMM\) that allows users to create programmable liquidity. AMMs are a type of decentralized exchange where instead of using a traditional order book that pairs buy and sell orders, a smart contract acts as a partner in every trade. Each smart contract contains a cluster of tokens, called a liquidity pool, that is used to make sure both sides of a trade involving those tokens can be matched.  This results in constant liquidity for both buyers and sellers, so users aren’t stuck with unfilled orders for long periods of time. Not only is this a convenience factor, without predictable liquidity, asset prices are more susceptible to shocks in one direction or another, as large holders have much more influence over price direction. The more liquidity an asset has, the more difficult it is for individual actors to affect price, causing asset prices to trend towards a stable equilibrium. ## The balancer difference In the traditional finance world, investors who are looking for a diverse portfolio pay fund managers a fee to rebalance their asset mix whenever they become too heavily skewed away from optimal. Balancer turns traditional finance on its head, and instead users participating in smart pools collect fees from traders every time they rebalance the user’s portfolio. While Balancer was not the first AMM in DeFi, the Balancer team has created a new approach. All AMMs use an algorithm to manage liquidity, but traditionally AMMs use a constant product formula which limits liquidity pools to two assets at a fifty-fifty ratio. For example, take a liquidity pool of Dai and ETH. As trades occur that disturb Dai-to-ETH equilibrium, the smart pool’s contract will facilitate counter-balancing trades, bringing the ratio back to fifty-fifty. What makes Balancer different is its smart pools use a [constant mean formula](https://docs.balancer.finance/protocol/index), which allows for more than two assets and weights outside of fifty-fifty. Balancer pools are able to include up to eight tokens at any number of weights. The constant mean formula also permits adaptive fee structures that can react to market forces like volatility or demand. Because of this flexibility, it allows for all sorts of experimentation for projects looking to create liquidity.  ## Balancer smart pools There are approximately 1500 shared liquidity pools on Balancer users may choose to join. These are public pools created to feature all different types of tokens that range from simple fifty-fifty asset weight splits, to more complicated, multi-token, varied weight splits. They range in size; the largest with over a $37 million market cap, the smallest in the tens of thousands. Once created, shared pools are not changeable, which prevents pool creators from manipulating it to steal funds. However, users are not locked into choosing one of the shared pools to participate in. If none of the pools have the right asset mix or fee structure, a user may create their own, and it’s very simple to do. On the Balancer “Pool Management” page, a user creates their own pool with a few selections; their preferred token distribution and weights, and swap fee. Then the user funds each token in their pool using a browser-enabled wallet like Metamask, and selects create.  Users may choose to create public pools in which anyone can participate, or private pools with public swap disabled. A private pool is editable by its creator, who may change asset mix and fees. Balancer also allows a type of private pool called a “smart pool” in which pool attributes are controlled by a smart contract. Beyond individual users, Balancer is useful for projects looking to take advantage of programmable liquidity. “We see it as a low level protocol other projects can build on top of. Teams have tokens that are interacting with a number of other projects, so programmable liquidity is a very necessary thing. They can plug their protocol into Balancer, build some smart contracts that sit on top, and have access to all the integrations Balancer has with DEX aggregators, arbitragers, things like that.” - Mike McDonald, Co-founder & CTO of Balancer. ## Alchemy and balancer At Alchemy, we value DeFi innovators like Balancer, which is why we are proud to support their infrastructure needs with our suite of products. Alchemy’s supercharged platform keeps latency to a minimum, giving Balancer users a snappy experience with no delay in wallet balance updates. Also, Balancer’s protocol generates a lot of API calls in order to keep wallet balances and asset prices updated, but these are lightweight calls that don’t require a lot of processing. Because Alchemy’s pricing structure is based on computational units not number of calls, this keeps costs down for Balancer. We’re excited to partner with Balancer as they continue to develop new products and features in DeFi that further blockchain adoption. [🔁 Check out Balancer's AMMs and super simple exchange](https://balancer.finance/). [💰 Create your own liquidity pool](https://pools.balancer.exchange/#/pool/new). _--_ *Sign up for a [free account](https://dashboard.alchemy.com/signup/). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # Bancor V2 To Spur AMM Adoption URL: https://www.alchemy.com/blog/bancor-v2-to-spur-amm-adoption.md [Bancor](https://www.bancor.network/), a longtime leader in automated market making \(AMM\), has released [Bancor](https://www.alchemy.com/dapps/bancor) V2, a super-powered platform loaded with features to spur widespread adoption. Bancor V2 keeps the on-chain liquidity protocol firmly in the vanguard, as automated market making sees a meteoric rise in the DeFi space.  Bancor, which enables automated, decentralized token exchange, just last month deployed its V2 smart contracts to the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). Bancor V2 provides 100% exposure to a single asset, as much as 20x liquidity amplification, and protection against “[impermanent loss](https://blog.bancor.network/beginners-guide-to-getting-rekt-by-impermanent-loss-7c9510cb2f22)” -- all new benefits for DeFi users who have been clamoring for more efficient AMMs. “Bancor V2 is here to help users trade tokens at any time. This is something the market has been desperate for and we are excited to be the ones to deliver this innovation.” - Asaf Shachaf, Bancor’s head of product. It should be no surprise, then, that we at Alchemy are incredibly proud to support Bancor, which relies on the Alchemy Developer Platform for all of its node needs. Bancor can now leave its infrastructure worries behind and focus on what it does best -- provide on-chain liquidity.  ### AMM game-changer AMMs fundamentally changed how users trade cryptocurrencies. Typically markets use a buy/sell order book, but with AMMs such as Bancor, Kyber, and [Uniswap](https://www.alchemy.com/dapps/uniswap), both sides of the trades are pre-funded by on-chain liquidity pools. Thanks to these liquidity pools, users can switch effortlessly between tokens, and the process is both decentralized and non-custodial. Not only that, the liquidity providers earn passive income via trading fees based on the percentage of their contribution to the pool. This is how Bancor, as an AMM, differs from decentralized exchanges. While [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base) work by matching buy and sell orders in a bid/ask system using order books or a matching engine to fulfill trades, Bancor allows users to buy and sell tokens without giving up custody of their tokens or private keys. Instead of using an order book to process conversions, Bancor uses a network of on-chain liquidity pools. With years of experience providing on-chain liquidity, Bancor foresaw the evolution of crypto markets and identified the biggest obstacles to the widespread adoption of AMMs as: - Exposure to impermanent loss \(where liquidity providers can see their staked tokens lose value compared to simply holding the token\). - Lack of exposure to multiple assets. - Capital inefficiency \(i.e., high slippage\). - Opportunity cost of providing liquidity. Bancor V2 is designed to directly address these issues with its main new features: - A new AMM liquidity pool integrated with [Chainlink](https://www.alchemy.com/dapps/chainlink) price oracles that mitigates the risk of impermanent loss for both stable and volatile tokens. - Provision of liquidity with [100% exposure to a single token](https://blog.bancor.network/unlocking-single-token-exposure-in-automated-market-maker-liquidity-pools-40750968b2ee). - **20x** [**liquidity amplification**](https://blog.bancor.network/amplified-liquidity-designing-capital-efficient-automated-market-makers-in-bancor-v2-3cec8891c3a1). ### Bancor’s core focus “Early on, we found ourselves having to be experts in everything. Back in 2017 as we solved for our needs, it was like the Internet in the 1990s when the infrastructure had not caught up. But really what was most important for us was to focus on our expertise -- on-chain liquidity. Thankfully, everything changed when we started using Alchemy. Basically, we stopped having to worry about anything to do with infrastructure, so we could just focus on our core competencies.” - Asaf Shachaf, Bancor’s head of product. Asaf is of course referring to the Alchemy Developer Platform, our supercharged Ethereum suite of tools which provides reliable and scalable infrastructure to leading blockchain applications worldwide. Developers know that using Alchemy is the best way to ensure their application runs smoothly. It is inspiring for us to hear how we help companies like Bancor sleep easy at night knowing Alchemy has them covered, even as they scale at the dizzying speeds we are seeing in DeFi.  “Put simply, we no longer have to worry. Since relying on Alchemy, we have never had a node fail. The Alchemy team actually solves problems before we have even noticed them. The keys to success have been security, reliability, and ensuring Bancor can focus on its core." - Asaf Shachaf, Bancor’s head of product. ### DeFi and devs Bancor is a [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) protocol, so anyone can create a liquidity pool on Bancor without having to interact directly with their core development team. A liquidity provider might be the founder of a token project or a user who simply wants to add liquidity to a token and generate fees from its transaction volume. Whatever the case may be, Bancor V2 gives users a more robust and efficient AMM liquidity pool. DeFi is experiencing explosive growth, and Bancor is a well-established AMM leader in the space. That is why we are so excited to be able to support Bancor and do our part to help AMMs achieve widespread adoption. Interested in learning more about Bancor? [Go here](https://www.bancor.network/). Do you like solving dev puzzles? Check out [Bancor Bug Bounties](https://blog.bancor.network/bancor-v2-bug-bounty-5bbb970d0097) Want to chat with Alchemy Devs? [Join our Discord](https://discord.com/invite/u72VCg3) Ready to build the next killer app? [Get started free with Alchemy.](https://alchemy.com/) ************************************** - [**Bancor Github**](https://github.com/bancorprotocol/contracts-solidity) - [**Bancor Docs**](https://docs.bancor.network/getting-started/the-v2-difference) - [**V2 Audits**](https://docs.bancor.network/ethereum-contracts/security) - [**Bug Bounty**](https://blog.bancor.network/bancor-v2-bug-bounty-5bbb970d0097) --- # Base Goerli Support Ending 2/9 - Migrate to Sepolia URL: https://www.alchemy.com/blog/base-goerli-testnet-deprecation.md On Monday 1/29, Base [announced on Discord](https://discord.com/channels/1067165013397213286/1072954040771694634/1201693174654062673) that their Goerli Testnet is scheduled to be spun down on February 9th. After that time, no new transactions will be able to be posted on the network. We will keep our nodes running for an extra week after this date. **On 2/16 we will turn off our Goerli nodes** for [Base](https://www.alchemy.com/base). This means if you try to send requests to these nodes, your requests will fail with a DNS resolution error. ## Required actions for developers **To ensure you’re able to continue testing seamlessly, you will need to migrate to Base Sepolia before 2/9.** Base Sepolia is the sustainable path forward for web3 developers and we encourage devs to use it for any testing and development needs. [Base Sepolia offers many benefits](/overviews/goerli-vs-sepolia) over Goerli, such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. ## How to migrate to Base Sepolia Follow these 5 steps to migrate from Goerli to the Sepolia testnet on Base: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Base Sepolia network. 1. Get free Base Sepolia tokens from Alchemy's public [Base Sepolia Faucet](https://basefaucet.com/) which drips up to 0.5 SepoliaETH per day. 1. Change your `API\_URL` to your Base Sepolia RPC URL: `https://base-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Base Sepolia. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ### A note on other chains: We do _not yet_ have a date where we will end support for Ethereum, Optimism, Arbitrum, zkEvm and [Starknet](https://www.alchemy.com/starknet) Goerli nodes. We will keep you informed as we establish timelines for these chains. --- # Base is now live on Alchemy URL: https://www.alchemy.com/blog/base-on-alchemy.md ## Start building on Base We’re proud to announce we have added support for [Base](https://base.org/), an L2 incubated by Coinbase, built on Optimism’s [OP Stack](https://www.alchemy.com/dapps/op-stack). Base and Alchemy will give developers the necessary tools, products, and services to build the onchain future. There is a fundamental mission alignment between Base and Alchemy: an unwavering focus on bringing the next billion users onchain. Starting today, Alchemy developers can start building their applications on Base Mainnet and the Base-Goerli testnet. [Explore the Base API documentation and head to your Alchemy dashboard](https://www.alchemy.com/docs/wallets/) to get started! ## Why build on Base with Alchemy? Choosing a blockchain and infrastructure provider are two of the most important considerations onchain developers need to make. Alchemy aims to make it seamless for developers to [build on Base](https://www.alchemy.com/base) with features such as Account Abstraction support and enterprise-grade security, and for developers to experience the benefits of building on this growing ecosystem.  ### Account abstraction Alchemy’s [Gas Manager APIs, Bundler API services](https://www.alchemy.com/base), and aa-sdk, available today on Base, make it easy for developers to leverage the power of Account Abstraction to enable seamless transactions and simple, secure accounts. ### Enterprise-grade security Alchemy aims to provide enterprise-grade security with service offerings like Single Sign On \(SSO\) to let developers build with peace of mind. ### Scalability with low fees Base’s rollup architecture reduces costs by 10x for users vs. Ethereum. Combined with Alchemy's infrastructure, built for seamless scalability, you can sustainably grow usage while enabling cost-effective transactions for your users. ### EVM equivalence As an EVM-compatible chain, any Ethereum L1 or L2 developer can copy and paste their [Solidity](https://www.alchemy.com/overviews/solidity) code and deploy on Base, scaling their multichain applications. With Alchemy, access the APIs and tools that make multichain expansion on Base easier than ever. ### Growing builder ecosystem Alchemy offers a developer platform powering $100\+B in onchain transaction volume. Experience the benefits that come from building on Base with reliable infrastructure while accessing a growing ecosystem. ## What is being built on Base? With a strong technical foundation and millions of users familiar with the Coinbase brand, the excitement is high for products being built on Base. Here are a few popular use cases in the[ Base Ecosystem](https://www.alchemy.com/supernode): - **Payments** - whether Coinbase Pay or Beam, Base makes it cheap to send crypto - **Lending** - apps such as Aave and [Compound](https://www.alchemy.com/dapps/compound) make borrowing and lending accessible - **DEXs** - apps including [Uniswap](https://www.alchemy.com/dapps/uniswap) and 0x, increasing access to new tokens - **Minting** - apps like [Crossmint](https://www.alchemy.com/dapps/crossmint) make it easy for brands to mint NFTs without code - **Creators** - apps including Bonfire and Showtime offer creators tools to reach users on Base ## Alchemy & Base: growing the onchain ecosystem With Alchemy infrastructure, Base developers and users can expect reliability, data accuracy, and seamlessly scalable infrastructure to support any product as it launches and grows, with a suite of solutions including: - [Alchemy’s Supernode](https://www.alchemy.com/supernode), the revolutionary blockchain engine that ensures infinite scalability, the strongest web3 reliability, and 100% data accuracy. - [Alchemy SDK](https://www.alchemy.com/bundler), offering the easiest way to connect an app to the blockchain, with just two lines of code. - [Bundler APIs](https://www.alchemy.com/bundler), letting you submit censorship-resistant transactions to smart contract accounts. - [Gas Manager APIs](https://www.alchemy.com/gasless-transactions), which allows you to cover gas costs for your users, and programmatically control gas policies using the Gas Manager Admin APIs. - [Account Abstraction SDK](https://www.alchemy.com/docs/wallets), massively simplifying Account Abstraction development. - [Smart Websockets](https://www.alchemy.com/websockets), enabling you to subscribe to events and get notifications for web3 actions you care about. - Developer tools, including [Sandbox](https://www.alchemy.com/docs/alchemy-sandbox) and Logs, make it incredibly easy to explore new methods and optimize performance. Base is a massive step forward in bringing decentralized applications to a broader audience of users. [Get started building](https://dashboard.alchemy.com/signup/?a=build-on-base&redirectURL=https%3A%2F%2Fdashboard.alchemy.com%2Fapps) on Base today! --- # Build on Berachain with Alchemy's Day-One Mainnet Support URL: https://www.alchemy.com/blog/berachain-mainnet.md Access reliable infrastructure for your [Berachain](https://www.alchemy.com/berachain) projects from launch. We're providing full support for Berachain Mainnet, enabling you to focus on what matters most - building innovative [apps](https://www.alchemy.com/dapps/top/defi-dapps). ## Why Berachain matters for builders What started as an NFT project called Bit Bears has evolved into a unique ecosystem. Built on top of the Cosmos SDK, Berachain is an EVM-identical layer-1 blockchain. It uses a novel “proof-of-liquidity” consensus mechanism, which aims to address the limitations of the proof-of-stake model. Now you can transform your apps with built-in liquidity and enhanced security. Berachain's Proof of Liquidity consensus aligns incentives between validators and applications, directing block rewards to boost your protocol's capital efficiency. The numbers speak for themselves - builders are already creating impact on Berachain: - Over 300 projects currently in development - $50M\+ raised by ecosystem teams - 15.7B compute units used daily by apps on Alchemy during the bArtio testnet phase ## A foundation for original innovation Instead of copies of existing protocols, teams are launching fresh concepts on Berachain. Projects like [PuffPaw](https://www.puffpaw.xyz/), [Over/Under](https://overunder.xyz/), and [Exponents](https://x.com/Exponents_Fi) showcase the ecosystem's emphasis on novel solutions. ## Technical architecture that works for you Deploy your smart contracts without friction using Berachain's EVM-identical environment. The new [BeaconKit](https://docs.berachain.com/learn/what-is-beaconkit) framework lets you: - Use your preferred execution client - Leverage familiar EVM development patterns - Scale with modular consensus and execution layers ## Community-driven growth Join a vibrant ecosystem built over three years of rapid development. [Framework Ventures](https://www.alchemy.com/dapps/framework-ventures) co-founder Vance Spencer describes it as "one of the most energized communities in all of crypto." The numbers speak for themselves: 957K\+ Twitter followers and 455K\+ Discord members strong up to Mainnet launch date. ## Supporting your development journey Community programs such as The Request for Broposal awarded 132 projects with BERA token allocations to help them scale. While this initial round has concluded, new funding opportunities are on the horizon. Priority will be given to teams demonstrating: - Functional frontends - Integration with Proof of Liquidity features - Collaborative development approaches ## Build and scale on Berachain with Alchemy Join thousands of developers who save up to 50% on development costs while leveraging the most reliable and feature-rich platform onchain. Supported services: - **Node API -** The scalable multi-chain API to read and write data to the blockchain. - [**Embedded Wallets**](https://www.alchemy.com/account-kit?utm_source=blog&utm_medium=website&utm_campaign=berachain) - Onboard everyone with web2-style email and social logins embedded right into your app UX. Ditch the 3rd party pop-ups. - [**Account Abstraction**](https://www.alchemy.com/account-kit?utm_source=blog&utm_medium=website&utm_campaign=berachain) - Drive up to 4x transaction growth by reducing swaps, transfers, and purchases to one click with batched, gasless transactions. - [**Websockets** ](https://www.alchemy.com/smart-websockets?utm_source=blog&utm_medium=website&utm_campaign=berachain)- Scalable, customizable, easy to set up websocket notifications - **Fun workshops to support your development journey.** 📚 Check out Alchemy 🛠 Build-a-Berachain: Zero-friction onboarding with Account Kit 📚 Ready to build the next wave of onchain innovation? [Try the API in 30 Seconds!](https://dashboard.alchemy.com/chains/berachain?utm_source=blog&utm_medium=website&utm_campaign=berachain) --- # Best Blockchain Infrastructure for AI Agents (2026) | Alchemy URL: https://www.alchemy.com/blog/best-blockchain-infrastructure-for-ai-agents.md An AI agent can now sign up for blockchain infrastructure with its own wallet, pay for it in USDC, and start reading and writing onchain state without a human in the loop. What it cannot do is rescue itself from a bad stack choice. Two layers decide the outcome. The framework gives the agent its onchain actions. The infrastructure determines whether those actions work at production scale. The framework field runs from general orchestration (LangChain) and full runtimes (ElizaOS) to onchain toolkits (Coinbase AgentKit, GOAT, Solana Agent Kit). The infrastructure field is the RPC and data providers that rebuilt for machine customers in the last year, with Alchemy, QuickNode, dRPC, Coinbase's developer platform, and Helius furthest along. Choosing badly costs real time on both layers: an abandoned framework leaves you maintaining its code yourself, and a provider without machine payments leaves your agent waiting for someone to enter a credit card. Three providers currently let an agent handle the whole loop on its own, from signup to payment to tool discovery: Alchemy, QuickNode, and dRPC. Coinbase's developer platform covers the payment rail, Helius covers Solana, and the rest still need a person to set up the account. ## What does an AI agent need to run onchain? An onchain agent combines an LLM's reasoning with a wallet it can sign with. It reads chain state, decides, and submits transactions. [The full build has four parts](https://www.alchemy.com/blog/how-to-build-onchain-agents): a wallet, a payment rail, data, and execution. The framework layer and the infrastructure layer split that work between them. - **The framework is the action surface.** It defines what the agent can attempt: which protocols it can call, how tools are exposed to the model, and where the agent loop runs. - **The infrastructure is the production layer.** It decides whether attempts succeed: whether reads are fresh, transactions land, data arrives decoded, and the endpoint is up at 3 a.m. when nobody is watching the agent. Every framework on this list calls an RPC or data provider underneath. That is why the two decisions are worth making together. ## Which agent frameworks matter in 2026? On paper the feature lists blur together. The real difference is maintenance. Some of these projects ship every week, others have been quiet for close to a year, and an abandoned toolkit becomes your problem to patch when a protocol changes under it. ### LangChain [LangChain](https://github.com/langchain-ai/langchain) is the general-purpose orchestration layer many agent stacks start with, and it is not a crypto framework at all. It owns the reasoning loop, tool calling, and memory, and stays chain-agnostic. Onchain actions arrive through adapters that plug toolkits like GOAT or Solana Agent Kit into its tool interface. The repo is among the most active in the ecosystem, with commits landing daily as of July 2026. ### ElizaOS [ElizaOS](https://github.com/elizaOS/eliza) is a full agent runtime rather than an SDK. It owns the message loop, memory, model routing, and social client integrations, so it suits agents that live on X or Discord and act onchain on the side. Development is fast, but check what you are installing. The stable npm release is still the v1 line, and the v2 rewrite has been in beta for months. ### Coinbase AgentKit [Coinbase AgentKit](https://github.com/coinbase/agentkit) is a wallet-first SDK in TypeScript and Python that works across frameworks, with adapters for LangChain and the Vercel AI SDK. Its draw is custody. Agents get wallets backed by Coinbase's developer platform rather than a private key in an environment variable. ### GOAT SDK [GOAT, Crossmint's onchain agent toolkit](https://github.com/goat-sdk/goat), has the cleanest architecture of the group (a wallet-times-adapter-times-plugin matrix across 10+ ecosystems) and almost nobody maintaining it. There has been no code activity since mid-2025, no npm release in over a year, and the only movement since is a README edit. If the architecture wins you over anyway, plan to maintain a fork. Pick it when: the adapter matrix saves you real work and you can carry the maintenance yourself. ### Solana Agent Kit [Solana Agent Kit by SendAI](https://github.com/sendaifun/solana-agent-kit) remains the deepest Solana-native toolkit, driving the protocols production Solana agents actually touch, from Jupiter swaps to Drift perps. Tagged releases have slowed, but the active branch keeps merging substantive work, including first-class Helius and Alchemy provider plugins added in May 2026. The [step-by-step Solana agent build guide](https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026) covers the full setup around it. Pick it when: you are Solana-only and want protocol depth over multi-chain reach. Whichever you pick, the framework is only half the decision. The other half is the infrastructure it runs on. ## What separates agent-ready infrastructure from a fast RPC? A fast, reliable RPC endpoint is table stakes. Where providers really differ is in how they treat a customer that is not a person: whether an agent can open an account, pay for what it uses, and find the right API without anyone driving a dashboard. - **Autonomous signup.** The agent opens its own account with a wallet signature (SIWE on Ethereum, SIWS on Solana) instead of a human filling out a form. - **Machine payments.** The agent pays per call or per plan in stablecoins over [the x402 protocol](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web), which revives HTTP status 402 into an automated pay-and-retry loop. - **MCP server.** The Model Context Protocol (MCP) is the open standard that exposes APIs as tools an LLM can discover and call. No MCP server means custom glue code. - **Machine-readable docs.** Skill files that teach coding agents the provider's real API surface, so Claude Code or Cursor integrates it correctly on the first try. - **Indexed data.** Decoded balances, transfers, and prices in one call, replacing the dozens of raw RPC calls an agent would otherwise burn tokens reasoning about. - **Streaming.** WebSockets or gRPC so the agent reacts to onchain events instead of polling for them. All cells verified against each provider's live docs in July 2026. ### Alchemy We built the agent path end to end. An agent [signs up with its wallet](https://www.alchemy.com/blog/ai-agents-can-now-sign-up-for-alchemy) via SIWE or SIWS and pays in USDC on Base or Solana, starting from $1, with no API key, dashboard, or human in the flow. The [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) exposes 168 tools spanning EVM RPC, simulation, tracing, Solana RPC, DAS (Solana's Digital Asset Standard for token and NFT data), prices, and portfolio data, and [Alchemy Skills](https://github.com/alchemyplatform/skills) teach coding agents the same surface with one command (`npx skills add alchemyplatform/skills --yes`). If you work in Claude Code, the [Alchemy plugin for Claude Code](https://www.alchemy.com/blog/alchemy-claude-plugin-now-live) bundles the MCP server and skills in a single install. The [Alchemy CLI](https://www.alchemy.com/agents) gives agents [scoped agent wallets](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) with Privy custody and time-bound sessions, so the private key never sits in the agent's environment. [Gas sponsorship](https://www.alchemy.com/gasless-transactions) covers fees with allowlists, spend limits, and restricted actions, and users can pay gas in stablecoins instead of native tokens. Underneath it all sits the [Data API](https://www.alchemy.com/docs/data) and [RPC across 100+ blockchains](https://www.alchemy.com/rpc-api) at [99.99% uptime](https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto), with [Solana gRPC streaming](https://www.alchemy.com/solana-grpc) at $75 per TB for agents that trade on fresh data. ### QuickNode [QuickNode's build-with-AI stack](https://www.quicknode.com/docs/build-with-ai) is a genuine match on the machine-customer basics. Its Agent Subscription API lets an agent create an account and activate a paid plan in a single wallet-paid HTTP request, and it accepts both x402 and MPP, the two competing agent-payment standards (our [x402 vs MPP comparison](https://www.alchemy.com/blog/x402-vs-mpp-comparing-agent-payment-protocols) covers the difference). An official MCP server, Blockchain Skills, and the Streams pipeline round out the offer across 80+ chains. The tradeoff is that much of the enhanced data lives in paid Marketplace add-ons rather than one built-in API. ### dRPC [dRPC's agent skills](https://github.com/drpcorg/drpc-agent-skills) take the most radical pricing posture. A new wallet passes a SIWE check, pays 5 USDC via a signed USDC transfer authorization (EIP-3009) settled on Base, and receives an API key with no account or dashboard involved. Sixteen MCP tools ship in the same repo, and the network spans 200+ networks across its decentralized operator set. It is the cost-driven pick, with thinner data APIs than the providers above. ### Coinbase CDP [Coinbase's developer platform](https://docs.cdp.coinbase.com/x402/welcome) approaches the stack from the payments and custody side. It runs the hosted x402 facilitator that verifies and settles agent payments on Base, Polygon, Arbitrum, World, and Solana (1,000 free settlements a month, then $0.001 each), and its wallet products hold agent keys in a trusted execution environment (TEE) with sub-500ms signing. It is the strongest choice for the payment rail itself and a partial one for data and RPC, which is why it pairs with a data provider in most stacks. Our [agentic payments infrastructure comparison](https://www.alchemy.com/blog/best-infrastructure-for-agentic-payments) covers that side of the decision in depth. ### Helius [Helius agent tooling](https://www.helius.dev/docs/agents) is the Solana specialist entry. An agent can sign up through its MCP server funded with 1 USDC, stream with LaserStream gRPC, and read compressed NFTs and Token-2022 assets through the DAS API. The constraint is scope. It is Solana-only, and per-call x402 payments are not documented, only automatic USDC billing. ## Which standards should you build against? Four standards keep coming up in agent architecture reviews, and they are not equally settled. x402 graduated from a Coinbase project to a Linux Foundation-backed foundation in 2026, with [the x402 Foundation site](https://www.x402.org/) listing Cloudflare, AWS, Stripe, and Vercel among adopters. It is the safest bet for machine payments. [MCP](https://modelcontextprotocol.io/) has become the default way providers expose tools to agents; every provider in the table above ships one in some form. On the execution side, [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) and [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) are both final, which is what makes sponsored gas and scoped smart-account permissions dependable foundations for agent custody. The one to watch rather than build on is [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004), the proposed identity and reputation registry for agents. It is still a draft. Design for it, but do not ship a dependency on it. ## How do you choose? ## Frequently asked questions ### What is the best blockchain infrastructure for AI agents? Alchemy, QuickNode, and dRPC ship the most complete agent stacks: wallet-based signup, x402 payments, and MCP servers. Alchemy covers the widest surface, with data APIs, gas sponsorship, and streaming behind one account across 100+ chains. ### Do AI agents need API keys to use blockchain infrastructure? Not on every provider. On Alchemy, an agent signs in with its wallet (SIWE on Ethereum, SIWS on Solana), pays in USDC, and starts calling APIs with no key, dashboard, or human involved. Providers without wallet-based signup still need a person to create the account and provision keys. ### Can AI agents pay for their own infrastructure? Yes, on providers that support machine payments. The x402 protocol turns an HTTP 402 response into an automated pay-and-retry loop, so an agent pays in USDC per call or per plan. Alchemy, QuickNode, and dRPC all accept x402 today, and Alchemy takes payment on Base or Solana starting at $1. ### Which agent framework should I use for a crypto AI agent? Match the framework to the build. LangChain suits teams that want mature orchestration and add onchain actions through adapters. ElizaOS ships a full runtime for social-native agents. Solana Agent Kit has the deepest Solana protocol coverage. Whatever you pick, check maintenance first, because an abandoned toolkit becomes yours to patch. ### What is the difference between an agent framework and agent infrastructure? The framework defines what an agent can attempt: its tools, protocols, and reasoning loop. The infrastructure is the RPC, data, and payment layer those attempts run through, and it decides whether they succeed in production. Every framework calls a provider underneath, so the two choices work together. ### What chains do crypto AI agents operate on? Most production agents run on Ethereum, Base, Solana, and the other major EVM chains, because that is where the liquidity, stablecoins, and tooling live. One provider covering many chains beats per-chain setups. On Alchemy, a single account gives an agent the same APIs across 100+ blockchains. ## Where to start The fastest way to see the whole stack working is the [Alchemy CLI](https://www.alchemy.com/agents): `npm install -g @alchemy/cli`, then `alchemy auth`, and your coding agent can query chains, manage a scoped wallet, and sponsor gas from the terminal. Or skip the human entirely and point your agent at our APIs, where it can sign up with its own wallet and pay per call in USDC starting at $1. No API key, no dashboard, no credit card. Choose the infrastructure with the same care as the framework. Everything the agent does runs through it. --- # How Alchemy Handled the Biggest Crypto Liquidation URL: https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto.md On October 10, 2025, crypto markets experienced [the largest liquidation event in histor](https://finance.yahoo.com/news/morning-minute-19b-wiped-cryptos-121151305.html?)y: over $19 billion in leveraged positions unwound across major exchanges over the course of 24 hours. **Despite record trading volume and network congestion, we delivered 99.99% uptime when it mattered most.** ## Why infrastructure reliability matters When building financial applications, prediction markets, DeFi protocols, or any mission-critical app, your infrastructure isn't just a backend detail; it's your foundation for success. During high-stakes moments like the October 10, infrastructure reliability becomes your competitive advantage. Apps built on rock-solid infrastructure stay online, process transactions, and serve users, building the trust that drives long-term growth. **While many apps struggled with infrastructure challenges, those built on Alchemy stayed online and served users seamlessly through the October 10 volatility.** Reliability isn’t given, it’s something our team fights for 24/7/365. [The AWS outage on October 20](https://www.cnn.com/business/live-news/amazon-tech-outage-10-20-25-intl) was another reminder of why reliable infrastructure is mission-critical for every builder. This is what we strive to deliver every day, not just during stress tests, but as the foundation that powers your app's growth. ## What happened on october 10, 2025? The crypto market experienced unprecedented volatility when President Trump announced a proposed 100% tariff on Chinese imports. Within hours, over $19 billion in leveraged positions were liquidated, marking the largest single-day event in crypto history. For blockchain infrastructure, this created the unexpected storm: massive traffic spikes, extreme price movements, and millions of users simultaneously hitting apps. **This was the ultimate stress test of what infrastructure can really handle.** ## How our infrastructure performed While crypto faced widespread infrastructure challenges, Alchemy maintained its industry-leading reliability: - Highest uptime across the industry, while others experienced hour-long outages  - Latency remained fast and consistent all weekend  - Seamless scaling to handle traffic surges without manual intervention For current provider comparisons, see Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks) for latency, success rates, and failed requests. ## The architecture behind our reliability Our performance is the result of architectural decisions we've been making for over 8 years. Every layer of our stack is built to deliver unwavering reliability when apps need it most. ### 1. Intelligent blockchain engine [Cortex](https://www.alchemy.com/blog/cortex) intelligently adapts to diverse traffic patterns and seamlessly scales to meet demand. Combined with optimized bare-metal servers, this enables consistently high throughput, low latency, and resilient availability without the limitations of traditional cloud providers. ### 2. Global modular infrastructure Our infrastructure spans US East/West, EU, and APAC, giving builders lower latency and built-in redundancy around the world. When one region experiences stress, traffic automatically reroutes to maintain performance. ### 3. AI-driven operations Our system autonomously maintains and updates over 3,000 nodes. Machine learning models continuously optimize every request path for speed and efficiency. This automation means we can respond to issues at machine speed, not human speed. ### 4. Purpose-built for scale Our system is architected with more than enough capacity to handle peak traffic, and it automatically scales based on demand. During sudden market volatility, extra capacity kicks in immediately—processing every request quickly and without issue. **The result: 99.99% uptime across 80\+ supported networks, proven under the most extreme conditions.** ## Real-world performance: Polymarket at scale We have a consistent track record of delivering reliable infrastructure. During the 2024 U.S. Presidential election, Polymarket processed **$3.3 billion in bets** with **125,000 concurrent users**, at one point handling** 20% of all transactions on the Polygon network**. Not a single transaction failed due to infrastructure. We scaled seamlessly with their traffic through intelligent infrastructure optimization: - Tuned transaction broadcasters to increase propagation and reduce time-to-mine - Deployed fast network routes optimized for their specific workload - Dynamically rerouted requests based on p99 latency to boost performance - Maintained dedicated monitoring with customized alerts for critical events - Spun up additional dedicated node fleets to ensure top-tier performance for both reads and writes When [Cortex](https://www.alchemy.com/cortex) rolled out across our platform, Polymarket saw immediate improvements: - Latency for critical workflows sped up 2.5x from ~250ms to ~100ms - Snappier UX for users across the globe - 99.99% reliability across all regions "Working with Alchemy has been nothing short of essential," said Rodrigo, Polymarket's Head of Platform. "The personal support, the quick turnaround on our feature asks, and the attention to our scale—Alchemy consistently goes above and beyond. They're not just an infra provider. They're part of our team." ## Built for your biggest moments **70% of top onchain apps** are powered by Alchemy, from Visa and Robinhood to Polymarket and World. We help every app succeed onchain with a suite of developer tools that allows you to ship production-ready apps in minutes. - **Connect reliably** with our enterprise-grade [Node RPC](https://www.alchemy.com/rpc-api) and [Websockets](https://www.alchemy.com/smart-websockets) infrastructure - **Simplify authentication and transacting** with [Smart Wallets](https://www.alchemy.com/smart-wallets) that eliminate seed phrases and gas fees for your users - Engage users with rich historical and real-time data delivered through our [Webhooks](https://www.alchemy.com/webhooks) and [Token APIs](https://www.alchemy.com/token-api) - **Grow revenue at scale** by launching your own chain and capturing more revenue with dedicated [Rollups](https://www.alchemy.com/rollups) Powered by [Cortex](https://www.alchemy.com/cortex), we take care of the hard infrastructure challenges so you can focus on building and shipping experiences that make you shine. When it’s your reputation on the line, we make sure your app always delivers—helping you earn trust, delight users, and grow with confidence. --- **Ready to build on infrastructure you can trust?**[ Get your API key](https://dashboard.alchemy.com/signup) and start shipping today. For enterprise-grade support and custom scaling solutions,[ talk to our team](https://www.alchemy.com/contact-sales). ## Frequently asked questions ### What happened on October 10, 2025, in crypto? On October 10, 2025, crypto markets experienced the largest liquidation event in history, with over $19 billion in leveraged positions unwound across major exchanges over 24 hours following President Trump's announcement of a proposed 100% tariff on Chinese imports. ### Did Alchemy experience any downtime during the October 10 liquidation event? No, we delivered 99.99% uptime across over 80 supported networks while maintaining fast and consistent latency despite record trading volumes and infrastructure challenges across the industry. ### How did we handle the massive traffic surge on October 10? Our infrastructure scaled seamlessly and automatically without manual intervention through our purpose-built system with excess capacity that activates based on demand, intelligently adapting through Cortex and global modular infrastructure. ### What makes our blockchain infrastructure reliable during market volatility? Our reliability comes from our Intelligent Blockchain Engine (Cortex), global modular infrastructure spanning multiple regions, AI-driven operations managing over 3,000 nodes, and purpose-built architecture designed to handle peak traffic automatically. ### How did we perform compared to other providers during the October 10 event? We maintained the highest uptime across the industry with 99.99% reliability, while many other infrastructure providers experienced hour-long outages during the same period. ### What is an example of Alchemy handling extreme traffic at scale? During the 2024 U.S. Presidential election, Polymarket processed $3.3 billion in bets with 125,000 concurrent users and handled 20% of all Polygon network transactions without a single transaction failure due to infrastructure. ### Why does infrastructure reliability matter for crypto applications? During high-stakes moments like the October 10 liquidation event, reliable infrastructure becomes a competitive advantage, allowing apps to stay online, process transactions, and serve users seamlessly while building the trust that drives long-term growth. --- # Alchemy Brings Validator-as-a-Service to the Canton Network | Alchemy URL: https://www.alchemy.com/blog/canton-validator-as-a-service-is-now-live-on-alchemy.md Institutional finance has stopped experimenting with Canton and started settling on it. Tokenized Treasuries, deposit tokens, and repo are live in production, moving real value between real institutions every day. For most firms, the question is no longer whether to join the network. It is how to run on it without building a blockchain operations team to do it. **Alchemy Validator-as-a-Service (VaaS) for Canton is live.** VaaS is a fully managed Canton node service: we provision and operate your participant and validator nodes across DevNet, TestNet, and MainNet, keep them upgraded in lockstep with the network, and pay Canton network fees on your behalf. Your team can build and transact from day one without staffing a node operations practice or holding a native token. New to Canton? Start with our primer on how the network works and why institutional finance is moving onto it: [Alchemy brings institutional-grade infrastructure to the Canton Network](https://www.alchemy.com/blog/alchemy-brings-institutional-grade-infrastructure-to-the-canton-network). This post is about what you can put into production with us today. ## The operational tax of running Canton yourself Joining Canton means standing up two distinct node roles, keeping them in lockstep with mandatory network upgrades, and holding a volatile native token to pay network fees. Each of those is a specialized, full-time job. Together they are the single biggest thing standing between an institution and the network. Alchemy's VaaS makes that work disappear. ## What you get Validator-as-a-Service is a fully managed Canton deployment across DevNet, TestNet, and MainNet. **You own your keys. We own the infrastructure.** That includes both node roles every Canton participant needs: a **participant node** that holds your contracts and runs your application logic, and a **validator node** that connects you to the shared network so you can transact with other institutions. Around those nodes, we handle the operational work that normally consumes a specialized team: - **Provisioning and onboarding** onto the live network. - **Software upgrades in lockstep with the network**, so you never fall out of compatibility. - **Package deployment** for your application logic. - **Monitoring and support against a 99.9% uptime SLA**, with your node mirrored across three availability zones so a single data-center failure never takes you offline. You keep custody of your keys throughout. We never hold them. ## What makes it different Operating nodes is table stakes, plenty of providers will do it. Three things set Alchemy VaaS apart, and each one removes a barrier that usually stalls institutional projects for months. **You pay in dollars, not crypto.** Canton charges network fees in Canton Coin, its native token. We buy and manage that token on your behalf using the same gas abstraction infrastructure that lets institutions transact without holding crypto, so you settle a normal invoice and never carry a native token on your balance sheet. For a regulated institution, that clears one of the hardest internal approvals in the entire project. **Tokenization tools come built in.** Our Utilities API gives you managed access to Canton's asset standard for issuing and managing tokenized assets, registries, and verifiable credentials, plus atomic delivery-versus-payment. You spend your time building financial products, not rebuilding tokenization plumbing. **Canton lives where you manage everything else.** It runs inside the same Alchemy platform and dashboard your team may already use for Ethereum, Solana, Base, and 100+ other chains. Most Canton providers are single-chain shops. We are not. One vendor, one dashboard, one relationship across your entire onchain footprint. ## Reading and writing to the ledger Your applications connect through our managed **Ledger API**. They join as Daml parties, submit commands, query the current set of active contracts, and stream ledger updates over gRPC or JSON. Access is scoped by party, so you only ever see the data you are entitled to see. That privacy-by-party model is core to how Canton keeps institutional data confidential on a shared network, and we cover the mechanics in the primer. ## Why it matters The institutions moving onto Canton are not running pilots. They are settling billions in real assets. The teams that win the next phase will be the ones that spend their engineering time on products, not on node operations and token management. Collapsing that operational complexity into a single managed relationship is the entire point of VaaS. ## Frequently asked questions ### What is Alchemy Validator-as-a-Service for Canton? Validator-as-a-Service (VaaS) is a fully managed Canton node offering. Alchemy provisions and operates the participant and validator nodes an institution needs to join the Canton Network, handles upgrades and monitoring, and pays network fees, so teams can build and transact without running node infrastructure themselves. ### Do I keep custody of my own keys? Yes. VaaS is bring-your-own-key: you own and control your keys at all times, and Alchemy never holds them. Alchemy operates the infrastructure; you retain custody. ### Can I pay Canton network fees in fiat instead of Canton Coin? Yes. Canton charges fees in Canton Coin, its native token. Alchemy buys and manages that token on your behalf, so you settle a standard invoice in dollars and never hold crypto on your balance sheet. ### What uptime does Alchemy guarantee for Canton nodes? VaaS carries a 99.9% uptime SLA, with each node mirrored across three availability zones so a single data-center failure does not take you offline. ### Which networks can I manage alongside Canton? Canton runs inside the same Alchemy platform and dashboard used for Ethereum, Solana, Base, and 100+ other chains, one vendor and one dashboard across your entire onchain footprint. ### Who is VaaS for? Existing Canton participants that want managed node services, financial institutions evaluating Canton for the first time, and builders exploring Canton's application layer. ## Get started Whether you are an existing Canton participant looking for managed node services, a financial institution evaluating Canton for the first time, or a builder exploring its application layer, we are ready to help. [Contact our team](https://www.alchemy.com/contact-sales) to get provisioned and added to the Canton ecosystem. --- # AlchemyAI’s ChatWeb3 is Now in Public Beta URL: https://www.alchemy.com/blog/chatweb3-public-beta.md ## AlchemyAI is now available for all teams in the Alchemy dashboard In June, [we announced the launch of ChatWeb3](https://www.alchemy.com/blog/introducing-alchemyai), an in-app AI chat tool designed to revolutionize the way blockchain developers accelerate their web3 projects. Trained on thousands of pages of trusted and battle-tested web3 documentation, ChatWeb3 is the ultimate assistant that provides specific and relevant answers to all your [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) queries, right at your fingertips. We are excited to announce that ChatWeb3 is now available for all Alchemy teams! Log into your Alchemy account and start [pair programming with ChatWeb3](https://dashboard.alchemy.com/signup/?a=ChatWeb3&redirectURL=https%3A%2F%2Fdashboard.alchemy.com%2Fchat-web-3) today! ## What have we changed for the public beta? Our team has been hard at work to make web3 development easier by improving our model, and upgrading our LLM to ChatGPT4 to provide more accurate answers. One thing to note, is that free tier users will be using a model based on ChatGPT3.5; growth and enterprise tier teams will have access to [AlchemyAI](https://www.alchemy.com/alchemy-ai) using ChatGPT4. ## How have developers been using ChatWeb3? The main developer use cases for ChatWeb3 are prototyping code, smart contracts, generating [ERC20](https://www.alchemy.com/overviews/erc20-solidity) contracts in [Solidity](https://www.alchemy.com/overviews/solidity), and more. Similar to Github CoPilot, devs have mentioned ChatWeb3 is like pair programming with the 10x engineer. Because we are still in public beta there is still risk of hallucinations and inaccurate answers like most LLMs on the market today. Our team is looking to make our model as accurate as possible through rigorous testing, human feedback, prompt engineering, and training. ## Have you heard about our Alchemy AI plugin? We also have a ChatGPT plugin that allows developers and non-developers alike to get real-time blockchain information through natural language using Alchemy API endpoints. You can learn more about The [Alchemy ChatGPT Plugin](https://www.alchemy.com/docs) in our docs! ## Whats coming up next? We’ve listened to your feedback and have begun building out your suggestions! Our vision for ChatWeb3 is to become the trusted hub for all web3 development queries, and your feedback is key to unlocking ChatWeb3’s full potential. In the future, we plan to expand our training to other web resources like Foundry, expanding the amount of chain documentation we support like Solana, and improving the UX/UI to accommodate every developer — from beginners to gigabrains and everyone in between. [Access ChatWeb3](https://tinyurl.com/alchemy-ai) and start building 10x products! ‍ --- # Up to 40% Cheaper Data APIs URL: https://www.alchemy.com/blog/cheaper-data-apis.md As part of our mission to bring 1 billion users onchain, we're reducing [Compute Unit costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) for our NFT API, Token API and Transfers API starting today.  You, our builder community, have given us useful feedback on pricing over the years. We've been listening closely and constantly working to make our services better and more affordable. We are on a mission to streamline [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) and drive user adoption to the massive scale we know is possible. After months of intensive backend re-engineering, we're excited to deliver significant cost savings directly to you. ### Accelerate development onchain, affordably. 📢 Announcing lower Compute Unit \(CU\) Costs for 23 Data API methods → [view complete list](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build). We’ve fundamentally re-architected our real-time ingestion pipelines and data lake \(which was no small feat\), and we’re passing these hard-earned cost savings directly to you—our builder community. When it comes to building in web3, we believe you should have access to powerful API tools at a fraction of the cost of any other method of getting data.  ### Build faster and cheaper with data APIs Whether you’re building a wallet, game, or DeFi platform — getting aggregated blockchain data is a pain. You might need: - All NFTs from a collection - Historical transactions for a user - A wallet's full list of tokens To get this data, you’ll need to scan all historical blocks, leaving you with 2 tedious and expensive options: 1. Direct RPC calls — make millions of individual requests and decode data yourself 1. Build your own indexer — spend $10K\+ in monthly infra costs and pipeline maintenance That’s where Data APIs come in. We turn the most common request patterns into simple APIs that are faster and cheaper than doing it yourself. Whatever data you need, we’ve already indexed it, so you can query for exactly what you need in a single request. getNftsForContract

", tooltip: "", icon: "" }, "2": { title: "

600 480

", tooltip: "", icon: "" }, "3": { title: "

3,000+

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

alchemy_getTokenBalances

", tooltip: "", icon: "" }, "2": { title: "

26 20

", tooltip: "", icon: "" }, "3": { title: "

250+

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

alchemy_getAssetTransfers

", tooltip: "", icon: "" }, "2": { title: "

150 120

", tooltip: "", icon: "" }, "3": { title: "

150+

", tooltip: "", icon: "" }, id: 2, }, ], }} /> These methods are just a selection — view [new](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) Compute Unit \(CU\) Costs for 23 Data API methods to get started! ### What you can build Our Data API methods simplify the workflow for every development need.  ### The power of a complete developer platform Our Data APIs work seamlessly with other Alchemy products, from RPC to embedded wallets, allowing you to build a complete web3 solution under one roof. Whether you're launching a new chain or building a dapp, you can leverage our complete developer platform to accelerate your development. ### Ready to build and save? View our [new Compute Unit costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) and start building with Data APIs. Or learn what you can build with [NFT API](https://www.alchemy.com/nft-api?utm_source=blog&utm_medium=blog&utm_campaign=build), [Token API](https://www.alchemy.com/token-api?utm_source=blog&utm_medium=blog&utm_campaign=build) and [Transfers API](https://www.alchemy.com/transfers-api?utm_source=blog&utm_medium=blog&utm_campaign=build). ## Frequently asked questions ### What is changing with our Data API pricing? We're reducing Compute Unit costs for 23 Data API methods across the NFT API, Token API, and Transfers API, offering up to 40% cheaper pricing. ### What are Data APIs? Data APIs are pre-indexed blockchain data endpoints that let you query aggregated information (like all NFTs from a collection or a wallet's token list) in a single request, instead of making millions of individual RPC calls or building your own indexer. ### Why are Data APIs cheaper than other methods of getting blockchain data? Data APIs eliminate the need to make millions of individual RPC requests or spend $10K+ monthly on building and maintaining your own indexing infrastructure, while providing faster access to already-indexed data. ### Which APIs have reduced pricing? The pricing reduction applies to 23 methods across the NFT API, Token API, and Transfers API, with the complete list available in our Compute Unit costs documentation. ### What can I build with Data APIs? You can build wallets, games, DeFi platforms, and other [apps](https://www.alchemy.com/dapps/top/defi-dapps) that require aggregated blockchain data like NFT collections, historical transactions, token balances, and transfer histories. ### Do Data APIs work with other products on our platform? Yes, Data APIs integrate seamlessly with other products including RPC and embedded wallets, allowing you to build complete web3 solutions on one platform. --- # New Developer Friendly Node API Pricing URL: https://www.alchemy.com/blog/cheaper-node-apis.md Our mission to bring 1 billion users onchain starts with you—the builders making web3 accessible to everyone. You've been clear about what you need: a development platform that's both powerful and affordable. We've listened. That’s why we've optimized our infrastructure and [Compute Unit \(CU\) costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) to better support your journey. Our newly standardized CU costs bring more predictability, helping you better forecast expenses as your projects grow. Combined with our enhanced infrastructure, you get the most reliable and scalable infrastructure at the most affordable price point. Last week, we announced price reductions on our [Data API up to 40%](https://www.alchemy.com/blog/cheaper-data-apis?utm_source=blog&utm_medium=blog&utm_campaign=build); this week we’re passing on cost savings of 50% for Node API \(with some customers seeing savings as high as 98%\). ### Accelerate development onchain, affordably. 📢 Announcing lower costs across 60\+ Node API methods. Some builders may even see savings up to 98% → [view complete list](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build). ### More calls, lower costs Five of your most-used methods are now significantly cheaper: ### Compute unit \(CU\) costs made simple For you sharp-eyed readers, yes we are now standardizing our [Compute Unit \(CU\) costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) across all our Node API methods. Now all Node API methods on all chains will either be 0, **10**,** 20**,** 40**, or** 80** CU, with very few exceptions. We hope this will make your billing easier to understand and help with forecasting your usage!   → View [new Compute Unit \(CU\) costs for 60\+ Node API methods](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) to get started. ### Most reliable Web3 infrastructure, now more affordable We’ve improved our infrastructure’s reliability, scalability and chain support while reducing [Compute Unit \(CU\) costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build). Our robust infrastructure remains the key differentiator that powers the biggest names in Web3. - **Battle-tested reliability:**  Our reliability and support team keeps your [apps](https://www.alchemy.com/dapps/top/defi-dapps) running   - **Unlimited scalability**: Our architecture is built to handle massive scale, from hobby projects to top teams throughout different cycles \(Worldchain, Polymarket, EigenLayer\) - **30\+ chains:** We integrated new chains at lightning speed to meet your needs ### The power of a complete developer platform The Node API is the foundation of our comprehensive [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) platform. Combined with our [Data API costs](https://www.alchemy.com/blog/cheaper-data-apis?utm_source=blog&utm_medium=blog&utm_campaign=build), you now have access to the most robust and affordable solution for building web3 applications and [launching your own chain](https://www.alchemy.com/rollups?utm_source=blog&utm_medium=blog&utm_campaign=build). ### Calling all builders of the next big app  [Uniswap](https://www.alchemy.com/dapps/uniswap), Polymarket, OpenSea, **\[your app name here\]**. We want to help you build the next big thing. With our reduced [Compute Unit \(CU\) costs](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) and battle-tested infrastructure, we’re making it easier and more affordable than ever to build in web3 - from the moment you get started to full scale. ⭐ Explore [**our documentation**](https://www.alchemy.com/docs/reference/compute-unit-costs?utm_source=blog&utm_medium=blog&utm_campaign=build) to get started. We can't wait to see what you'll build. ## Frequently asked questions ### How much cheaper is our Node API now? Our Node API is now 50% cheaper on average, with some customers seeing savings as high as 98% across 60+ Node API methods. ### What are the new standardized Compute Unit (CU) costs? All Node API methods across all chains are now standardized to either 0, 10, 20, 40, or 80 CU with very few exceptions, making billing easier to understand and forecast. ### Which Node API methods had the biggest price reductions? Five of the most-used methods received significant price reductions, including eth_getLogs (90% cheaper), eth_getTransactionReceipt (50% cheaper), and eth_getBlockByNumber (50% cheaper). ### What is a Compute Unit (CU) in our pricing? Compute Units measure API usage based on computational complexity, allowing fair pricing where simple requests cost less than complex ones. ### How many blockchain networks do we support? We support over 30 chains and continue to integrate new chains at lightning speed to meet developer needs. ### Do we offer a free tier for Node API? Yes, we provide a free tier that includes access to Node API, NFT API, Token API, and other features on all mainnets and testnets. ### What makes our infrastructure reliable for building web3 applications? We provide battle-tested reliability, unlimited scalability capable of handling projects from hobby apps to top teams like Worldchain and Polymarket, and comprehensive support across 30+ chains. --- # Dream3 & Alchemy Partner to Accelerate NFT Innovation URL: https://www.alchemy.com/blog/chibi-club-and-alchemy-partner-to-further-accelerate-nft-innovation.md ### _With NFTs exploding in creativity, dream3 is taking it one step further with its NFT drop paired with life action short films._ With the growth of NFT based PFPs and the creation of new metaverses, these new pieces of innovation have given everyday consumers a new way of owning pieces of culture and status. One specific project, [Dream3](https://dream3.io/), is leveraging Alchemy's infrastructure to revolutionize the way that content is consumed and distributed. Using web3 to create the first transparent film studio, Dream3 will give fans the power to not only interact with their favorite pieces of media but also take active ownership in the evolution of its I.P.  Dream3 aims to bring cinematic live action films to the metaverse. Their avatars are inspired by anime traits that give holders a wide range of creative self expression. Dream3 is a storyline driven project that starts each season with a comic paired with a short film. With two seasons already FULLY done filming, the Dream3 team has been working hard to show consumers proof of value before the project has even launched.  Internet culture is largely defined by the circulation of universal sentiments derived from iconic movie and television stills—but what if a fan could own the rights to an exclusive version of these moments? This is the value Dream3 hopes to provide collectors within the NFT ecosystem. They’ve crafted their project to meet these unserved needs by not only producing live action films but also giving the community ownership of its success. Long-term holders receive exclusive airdrops of Dream3 film stills/GIFS and will even receive a buyback option from the Dream3 team. These unique holders will own 100% of the GIF/Film still rights. They will have the power to monetize them by licensing them through Emoji and GIF companies. Their tokens also allows holders to impact creative directions of future seasons. Dream3’s production quality is guaranteed to be some of the best in the industry as their visual effects producers are the same folks responsible for creating the biggest blockbusters over the last decade \(_The Avengers_, _Stranger Things_, Black Panther, _X-Men, & more\)_. “The reliability of Alchemy's APIs allows creators like us to focus on building the community and bringing forth the best content possible by making the smart contract building process a breeze.” - Dream3 Founders Alchemy’s high level APIs have enabled Dream3 to strip away the intricacies of the blockchain, giving them more time to focus on developing their immersive metaverse. The holistic developer platform has equipped Dream3 with the ability to test their project’s scaling thresholds and provide a sturdy foundation for their mainnet launch. Additionally, Alchemy’s documentation and platform analytics make it easy to mitigate errors during the building process. Alchemy looks forward to supporting the Dream3 team well into the future.‍ “We’re here to push the boundaries in web3 and transcend the media space. With Alchemy’s support, our is vision possible. Their team is truly special and we cannot wait to see how we will revolutionize this metaverse as partners.” - Dream3 Founders ### About dream3 A storyline-driven NFT project that uses Web3 to decentralize the evolution of I.P and the way that content is consumed and distributed. Using a DAO, Chibi Club gives power to the people and gives them the opportunity to dictate the future of the cinematic metaverse. ### About Alchemy [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:b6347e30-4a26-426f-bf59-2370d38fcb47) is *the *developer platform for web3. By taking care of the hard parts of building on blockchain, developers can focus on creating great products. Off-the-shelf web development tools simply don't work on blockchain, so developers used to spend huge amounts of time building their own solutions. Alchemy gives developers an easy-to-use platform that takes care of the most time consuming tasks in [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development). Alchemy currently powers more than 10M end users, and over $100 billion in on-chain transactions. -- Ready to start building your own decentralized apps? [Sign up](https://alchemy.com/?a=d1a389a641) for a free Alchemy account and get started building. For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Inside Alchemy CoBuild 2026 | Alchemy URL: https://www.alchemy.com/blog/cobuild-2026-recap.md On April 28, we gathered 150 of the people building the future of money in NYC for a half-day program called CoBuild. JPMorgan's CEO of Wealth Management opened the morning. Polymarket's founder closed the afternoon. The conversation in between spanned what happens when [AI agents](https://www.alchemy.com/dapps/best/ai-agents) become the new users of the financial system, and what the firms running today's system are doing about it. ## Highlights from the panels ### What JPMorgan is hearing from clients Kristin Lemkau, who runs JPMorgan's $1.3 trillion wealth-management business and oversees roughly 6,000 advisors, opened the morning in conversation with our CEO Nikil Viswanathan. The conversation was off the record, so we can't share specifics, but the signal was unmistakable: the world's largest bank is no longer asking whether crypto is real. It's asking how to deliver it to clients. AI is reshaping the financial advisor's role from the inside, not from the edges. The questions senior leadership is hearing from clients have moved past curiosity. ### Agents are the next employees Bill Borden of Microsoft and Chainalysis CEO Jonathan Levin talked about what changes when AI agents start moving real money at scale. - Borden's framing for the agentic economy: "What's an agent going to be? It's going to be somebody you bring into your organization. You're going to assign them an ID. You're going to give them permissions and control capabilities." Microsoft's Agent 365 is built around exactly that: a governance plane that registers, permissions, and audits agents the way it manages employees. - Levin's read on the institutional side: appetite for onchain settlement is no longer experimental, and auditability is what unblocks the next leg. - Asked where institutional payment volume settles in ten years, both gave the same answer: most of it lands on public infrastructure. ### Stablecoins are the agentic rail Erik Reppel built x402 at Coinbase. Edward Woodford runs Zerohash, which now powers Stripe, Interactive Brokers, BlackRock, Morgan Stanley, and most recently Charles Schwab. They sat with our CTO Guillaume to talk about what is moving through their systems today. - x402, the stablecoin payment protocol Coinbase open-sourced in May 2025, has cleared more than 100 million transactions since launch. - Zerohash's stablecoin volume grew over 600% last year. [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) overall processed $33 trillion in 2025, more than Visa and Mastercard combined. - Reppel had the cleanest line on why agents settle naturally on stablecoins: "Stablecoins support refunds, not chargebacks." ### What stablecoins did for the dollar, applied to stocks [Ondo Finance](https://www.alchemy.com/dapps/ondo-finance)'s Ian De Bode and Paxos's Peter Jonas joined our co-founder and President Joe Lau on tokenized equities. - De Bode's pitch was the sharpest framing of the morning: "We do for stocks and ETFs what stablecoins did for the US dollar." Ondo has tokenized more than 200 US stocks and ETFs and is seeing 5–6% week-over-week growth, with most of the new demand coming from Asia. - Paxos powers stablecoin issuance for PayPal, Mastercard, Interactive Brokers, Mercado Libre, and now Schwab. - Asked who the Charles Schwab of crypto would be, Jonas's answer was simple: "The answer is Charles Schwab." ### Inside real-time settlement Eric Saraniecki of Digital Asset and Christian Rau of Mastercard had the most contrarian session of the day. - The Canton Network, which Saraniecki's team built, runs hundreds of billions of dollars of repo daily through Broadridge's distributed ledger repo platform. Goldman Sachs runs its tokenization platform on Canton; DTCC and BNP Paribas are among its institutional partners. Roughly half of all tokenized bonds ever put onchain have moved through Canton. His read on cross-chain interoperability: get rid of most of the chains. - Mastercard runs 3.8 billion cards across 100 million-plus acceptance locations and is increasingly putting stablecoins in the background of that network. - Rau's framing for what new payment rails actually need: "It needs to be safe, simple, secure. And there needs to be optionality in choice." ### The AI and crypto trade is one trade Dan Morehead founded Pantera Capital in 2003 and pivoted entirely to crypto in 2013; Pantera invested in Alchemy in 2019. He sat with Joe to make the case that has been the through-line of his fund for over a decade: AI and crypto are not two trades. Pantera's data shows AI roughly 33% above its log trend over the past four years and Bitcoin roughly 43% below trend. "The biggest divergence we have seen in history," Morehead said. His one-line case for the convergence: "Robots don't use paper money. AI agents aren't going to walk down the street to an Ionic Column bank and get a bank account. They have to use digital money." ### The next NYSE will be built in a bedroom Polymarket founder Shayne Coplan closed the panels. He started Polymarket in 2020 from his apartment during COVID. The platform processed $22 billion in volume in 2025, and last October ICE, the parent of the New York Stock Exchange, invested $2 billion at a $9 billion valuation. Coplan's thesis from day one has been that markets produce truth more reliably than polls do, and that crypto was the only infrastructure that made the product viable for a solo founder. His closer: "The next New York Stock Exchange will be built by a kid in his bedroom." ## What we shipped at CoBuild Nikil and Joe closed the day out with a keynote covering what we had built CoBuild around. Every panel before it had been about institutional finance moving onchain. The shift underneath that: AI agents are becoming the new users of finance, and the infrastructure for them has to be built for them. Nikil's framing for why build on crypto rather than traditional rails: "Crypto might be made for AI even more than it was made for humans." The announcements: - **Cortex**, our platform layer, powers the Alchemy stack and powers the trillion dollars of annual onchain volume our customers run through us. - **AgentCard**, a credit card built natively for agents, is in public beta at [agentcard.ai](https://agentcard.ai). 75,000 sign-ups in the private alpha. - **AgentPay**, the merchant integration for accepting agent payments across x402 and emerging agent payment protocols, is in private beta. [More here](/agentpay). - A new partnership with **Privy**, a Stripe company, for end-to-end onchain transaction management. [More here](/blog/agent-wallets-alchemy-cli). To make it concrete, Joe revealed that the agent in our demo video had bought a small batch of Broadway tickets earlier that day and taped them under random chairs in the room. People started checking under their seats. To every speaker, to the 150 people who attended, and to the thousands who tuned into the livestream, thank you. Watch recordings of all CoBuild sessions [on our YouTube channel](https://www.youtube.com/watch?v=yJTFYu3H5Gw&list=PLMj8NvODurfFumlo9T93qTfSjPpwwwGFG). See you at CoBuild II very soon. --- # Your Guide to ERC-1155: Comparing ERC-721 to ERC-1155 URL: https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155.md The arrival of new applications on Ethereum has led to development teams designing new kinds of token standards. In its early years, the [ERC-20 token standard](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/), which defines how a traditional token such as DAI or UNI functions, dominated the market. This approach to crypto treats all assets as completely interchangeable \(known as fungibility\), functioning conceptually like a currency such as USD. However, in the past 18 months NFTs have captured the market’s attention, which rely on a newer standard termed ERC-721. This standard allows for the creation of one-off, custom tokens: for instance, a collectible trading card, or [personal avatar that is totally unique](https://www.larvalabs.com/cryptopunks) and can’t be replicated. Lately, attention in the crypto market has been moving towards another standard, which has a newly revised set of properties — the ERC-1155 token standard. This debate of ERC-721 vs. ERC-1155 can perplex teams, and it’s worth knowing when to employ each. Though ERC-1155 is a newer standard and has some technical benefits that may give it an edge in the future, it’s not a strict upgrade and differs in certain ways. ## A brief history of NFTs Why has this choice between the two token standards become such a pain point? After all, many NFT projects today continue to use the ERC-721 standard. Ethereum’s ecosystem initially had little need for a new token standard. After all, most were eager to use the highly praised smart contract feature, which set Ethereum apart in the early days. Creating a blockchain network with an accompanying ERC-20 token was comparatively easy and resulted in the birth of numerous new projects, such as [Crypto.com](https://crypto.com/) and [Circle’s USDC](https://www.circle.com/en/usdc). But the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) experienced a seismic shift when developers saw the potential for other use cases with its smart contract feature. Unlike fungible tokens which are fully interchangeable and function similar to a dollar bill, non-fungible tokens that uniquely identified each token allowed for a swathe of new applications.  Both token standards have their applications, and it’s worth knowing their unique properties to help decide which to implement in your project. ## What is the ERC-721 token standard? The ERC-721 token standard kicked off the NFT craze. It was the first of its kind, and consequently, the most popular standard for creating these unique tokens. NFTs have a long history, but along with the ERC-721 token standard, they only truly came to the forefront with [the CryptoKitties project](https://www.alchemy.com/case-studies/dapper).  [Dapper Labs](https://www.alchemy.com/dapps/dapper-labs), the company behind CryptoKitties, introduced ERC-721 [via an Ethereum Improvement Proposal](https://eips.ethereum.org/EIPS/eip-721) \(EIP\) in 2017. CryptoKitties are a set of collectible, randomly generated kittens that can be individually traded, similar to Tamagotchis or Pokemon. Each CryptoKitty is 100% unique - they can’t be replicated, and they have a transaction history letting the public know exactly who has owned the kitty over its entire lifespan. In addition to being completely, unique, here are some of the additional feature specifications of ERC-721:  - It allows you to transfer NFTs between accounts, allowing NFTs to be traded for other currencies. - It allows you to identify the total supply of a set of NFTs on the network. - It allows you to query for the owners of a specific asset. Just four years later, NFTs based on ERC-721 have taken over the crypto ecosystem. Projects range from blockchain ownership of [original copies of digital art](https://www.dexerto.com/tech/top-10-most-expensive-nfts-ever-sold-1670505/) sellings in the tens of millions, to [unique avatars that have become a public membership into an exclusive club](https://www.rollingstone.com/culture/culture-news/bayc-bored-ape-yacht-club-nft-interview-1250461/), to [fractional ownership of private land](https://www.entrepreneur.com/article/382816#:~:text=NFTs%20for%20fractional%20property%20ownership&text=NFTs%20can%20be%20used%20to,issuing%20tokens%20on%20the%20blockchain.).  ## What is the ERC-1155 token standard? The [ERC-1155 token standard](https://github.com/ethereum/eips/issues/1155) was developed by the team behind the [Enjin project](https://enjin.io/), which focuses on blockchain-based solutions for games. Enjin introduced the token standard in 2019, and it is a middle ground between the ERC-20 standard and the ERC-721 standard. Enjin identified a number of challenges associated with the comparatively limited ERC-721 standard — in particular, the inability to conduct batch transfers.  With ERC-721 standard, if one were to transfer multiple NFTs, each NFT would require a single transaction — because each NFT is represented by a single smart contract. This results in exorbitantly high transaction costs when minting or trading individual NFTs. The ERC-1155 allows batch transfers — multiple assets on a single smart contract — that result in all tokens being transferred at once with, leading to a less congested network and consequently lower gas costs. For example, when a user wants to sell a thousand items in a game to another user, he or she can use the batch token transfer of ERC-1155 to send them all in one go 💸.  Another major feature of this multi-token standard is it supports both fungible and non-fungible tokens — because of its ability to support multiple states — on the same address and contract. In practical terms, this means you can make in-game payments using a fungible token on that address and simultaneously transfer unique NFT assets as well. An additional feature of ERC-1155 is that it supports the creation of semi-fungible tokens. SFTs trade as fungible tokens, but once redeemed, they convert into NFTs. For example, a ticket to a concert prior to the event may be considered a fungible asset - any ticket will give you identical GA entry into the concert. However, after the concert, the ticket loses its tradeable value and becomes a unique item of memorabilia. SFTs enable that type of functionality directly into the code of the ticket itself.  Lastly, token transfers on this standard can be reverted in the event of a mistake. On the ERC-721 standard, you can’t reclaim assets if they are sent to the wrong address. However, ERC-1155 contains a function that addresses this. The [safe transfer function](https://eips.ethereum.org/EIPS/eip-1155#safe-transfer-rules) and a number of other rules are in place to prevent exploitation. ## ERC-721 vs. ERC-1155 The ERC-1155 token standard could see much more prominent use than the ERC-721 token standard in the near future, thanks to its additional features. Both allow you to be able to mint new NFTs, but there are some key differences:  - ERC-1155 permits the creation of both **semi-fungible tokens and non-fungible tokens**, whereas ERC-721 permits only the latter. - In ERC-1155, smart contracts are linked to multiple URIs and **do not store additional metadata** \(such as file names\). In comparison, ERC-721 only supports static metadata stored directly on the smart contract for each token ID, increasing deployment costs and limiting flexibility. - ERC-1155’s smart contracts support **an infinite number of tokens**, whereas ERC-721 needs a new smart contract for each type of token. - ERC-1155 also allows **batch transfers of tokens**, which can reduce transaction costs and times. With ERC-721, if you want to send multiple tokens, they happen individually. ## Building towards the future of NFTs If you’re looking for additional resources towards learning about NFTs or building your own, we’ve got you covered! At Alchemy, one of our primary goals is to help educate blockchain developers on the tooling available in the space, and to provide resources to help you become a better developer. Here’s a few tutorials that might help you get started minting your own NFTs:  [How to Build an NFT](https://www.alchemy.com/blog/how-to-create-an-nft) [NFT Minter: How to Create a Full Stack dApp ](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) [How to View Your NFT in Your Mobile Wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) Additionally, we’ve just released an NFT API that will help you fetch this metadata without relying on the limited toolset available to you via [web3.js](https://www.alchemy.com/dapps/web3-js) or [ethers.js](https://www.alchemy.com/dapps/ethers-js)! Sign up for the waitlist below. [Alchemy’s NFT API](https://www.alchemy.com/nft-api) And finally, we're always available to help 24/7 on our [Alchemy Discord](http://www.alchemy.com/discord). Stop by and say hi - we'd love to help you on your journey to becoming a full-fledged blockchain developer! --- # Cortex: The New Engine Powering the Entire Alchemy Platform URL: https://www.alchemy.com/blog/cortex.md When you’re scaling production apps onchain and performance, reliability, and speed make or break your product, you need high performance infrastructure to support you. We built something new: introducing [Cortex](https://www.alchemy.com/cortex), the first intelligent blockchain engine. Cortex is a new kind of blockchain engine, designed to deliver what other providers can’t. Trained on trillions of requests and over seven years of data from powering top onchain apps, it provides unmatched performance as you scale. ## Powering the new Alchemy developer platform Cortex runs under the hood across every layer of the our platform. This means every product you use—[**RPC APIs**](https://www.alchemy.com/docs/reference/node-api-overview), [**Data APIs**](https://www.alchemy.com/docs/reference/data-overview), [**Smart Wallets**](https://www.alchemy.com/docs/wallets), [**Rollups**](https://www.alchemy.com/docs/reference/rollups-quickstart)—is now powered by Cortex. No setup, no migration, no new tooling required. Just [grab an API key](https://dashboard.alchemy.com/?a=) and try the brand new developer capabilities powered by Cortex. ## Intelligent infrastructure, unmatched performance Cortex is the result of a complete rethink from first engineering principles. Every layer, from routing and scaling to data consistency and observability, has been redesigned with one goal: to deliver the world’s most intelligent blockchain infrastructure engine. Let’s break down what Cortex unlocks for you. ### Ultra-low latency Polymarket, the world’s largest prediction market, cut latency from 250ms to 100ms by using our [RPC API](https://www.alchemy.com/docs/reference/node-api-overview) — powered by Cortex, the intelligent engine behind our developer platform. That drop helped them deliver real-time market data at scale. [Here’s how they did it.](https://www.alchemy.com/case-studies/polymarket) This kind of performance isn’t a one-off. It’s the result of deep systems-level engineering in Cortex: - **Pod colocation with Kubernetes affinity** ensures latency-sensitive workloads run on the same machine - **Istio locality-aware routing** prefers intra-node traffic, cutting out unnecessary network hops - **Microkernel proxy architecture** enables modular development without microservice bloat - **Data center-level routing** ensures the fastest possible paths for enterprise-grade performance. That same performance is now available to every developer building on our platform. Our RPC API, powered by Cortex, now delivers **sub-50ms average response times**, even during peak load or across far-edge regions. You can [compare RPC providers](https://www.alchemy.com/benchmarks) across current latency, success-rate, and failed-request benchmarks. ### Unlimited elastic throughput **World, powered by Cortex, scales to 30.1M\+ users and 598K new accounts per week—while maintaining peak performance. Apps don’t scale linearly, and you shouldn't have to rethink your infrastructure just to handle more users. That’s why Cortex powers our[ RPC API](https://www.alchemy.com/docs/reference/node-api-overview) to support millions of concurrent** requests, ensuring your biggest launch days run without throughput bottlenecks. Here’s how it works under the hood: - **Thousands of globally deployed bare-metal servers** purpose-built for high-throughput workloads - **Java Virtual Threads** allow each machine to handle thousands of concurrent tasks with low CPU/memory overhead - **AI-powered scaling logic** automatically responds to spikes in traffic, memory, or disk usage - **End-to-end observability and tracing** enables proactive capacity management and fast troubleshooting ### Reliability you don’t have to think about Uptime isn’t just an infra metric, it protects your users, your brand, and your revenue. Cortex is the reliability engine behind our [RPC API](https://www.alchemy.com/docs/reference/node-api-overview), enabling 99.995% uptime with multi-layered failovers, smart recovery logic, and real-time config propagation. - **Regional failovers** that reroute traffic instantly when a region degrades - **An isolated emergency backup stack** for the rarest edge-case outages - **GitOps-style routing config** for safe, controlled rollouts that propagate globally in minutes - **Strict versioning and replication logic** to prevent stale reads and maintain data consistency **Robinhood, JPMorgan, Stripe, Coinbase, and Chainlink** trust us to power their most critical systems. You won’t need to think about uptime because we already have. ## What you can build on top of Cortex Cortex doesn’t just improve infrastructure—it unlocks entirely new capabilities: - **Unlimited getLogs ranges** scans the whole chain for your events 265x faster in a single request - **Block-perfect consistency** eliminates jarring errors caused by inconsistent data. - **Smart WebSockets** with zero dropped connections, even under heavy load. That means you can ship simpler code and deliver more powerful features faster. ## Ready to build? Cortex is now powering every part of the our full developer platform. - [Get your API key](https://dashboard.alchemy.com/?a=) - [View documentation](https://www.alchemy.com/docs/) The future of onchain development is already here. Let’s build it together. ## Frequently asked questions ### What is Cortex? Cortex is our intelligent blockchain engine powering the entire developer platform, including RPC APIs, Data APIs, Smart Wallets, and Rollups. Trained on trillions of requests and over seven years of data, it provides unmatched performance as you scale. ### What performance improvements does Cortex deliver? Cortex delivers sub-50ms average response times, 99.995% uptime, and supports millions of concurrent requests without throughput bottlenecks. It powers apps like World, which scaled to 30.1M+ users and 598K new accounts per week. ### How does Cortex achieve ultra-low latency? Cortex uses pod colocation with Kubernetes affinity, Istio locality-aware routing, microkernel proxy architecture, and data center-level routing to minimize network hops. This enabled Polymarket to cut latency from 250ms to 100ms. ### What new capabilities does Cortex unlock for developers? Cortex enables unlimited getLogs ranges 265x faster in a single request, block-perfect consistency to eliminate data errors, and smart WebSockets with zero dropped connections. This lets you ship simpler code and deliver more powerful features faster. ### How does Cortex ensure reliability? Cortex maintains 99.995% uptime through regional failovers, an isolated emergency backup stack, GitOps-style routing config propagation, and strict versioning logic to prevent stale reads. Companies like Robinhood, JPMorgan, Stripe, Coinbase, and Chainlink trust it for their critical systems. ### How does Cortex handle scaling for high-traffic apps? Cortex uses thousands of globally deployed bare-metal servers, Java Virtual Threads for concurrent tasks, AI-powered scaling logic that automatically responds to traffic spikes, and end-to-end observability for proactive capacity management. ### Do I need to migrate or set up anything to use Cortex? No setup, migration, or new tooling is required. Cortex runs under the hood across every layer of our platform, so just grab an API key to access all the new developer capabilities. ### Which products are powered by Cortex? Every product on our platform is powered by Cortex, including RPC APIs, Data APIs, Smart Wallets, and Rollups. --- # The Cortex Router: Picking the Fastest Node | Alchemy URL: https://www.alchemy.com/blog/cortex-router-fastest-healthy-node.md Every RPC call your app makes has to reach a node and come back before your user sees anything. Getting that call to a nearby region is something every serious provider does automatically, us included, and we keep opening regions to shorten that first hop further. The more interesting question is what happens after it lands: which specific node in that region answers, and whether anything checked that the node was healthy and caught up to the chain before the request went there. That second decision is the one we make fresh on every request, and it is a large part of why our [average response time across EVM chains is under 15ms](https://www.alchemy.com/benchmarks). That figure is warm request-and-response time, measured over a connection that is already open, which is what repeat traffic from a running app looks like. It leaves out DNS, connection setup, and the TLS handshake, so the edge work below sits outside that number rather than inside it. ## What does the Cortex router actually decide? [Cortex](https://www.alchemy.com/blog/cortex) is the engine powering the whole Alchemy platform, from the node fleet up through the routing layer to the RPC and Data APIs on top. The earlier setup put a third-party CDN in front of the traffic, which made that CDN a single point of failure for every network and every customer at once. Replacing it with [bare metal we run ourselves](https://www.alchemy.com/blog/the-tech-behind-cortex) removed that dependency and put the whole path under our own operation. Every request you send passes through Cortex now, and the router is the part that decides where a given request goes. For each request, the router picks the path: which region accepts it, which node serves it, and what happens if that node degrades mid-flight. "Best route to your chain" really means the lowest-latency healthy node that can answer this particular call correctly, right now. That answer changes by the second as load and health shift, which is why we recompute it per request rather than resolving it once and reusing the result. The regional half of that is now standard across the industry. A request from Singapore and one from Frankfurt will enter at different places on any major provider, and none of them make you configure it. What we add is the second decision, made per request rather than per connection: of the nodes available in the region a request landed in, which one is healthy, current, and suited to this particular call. ## How does a request reach the right region? Geo-based DNS resolves the endpoint to the nearest edge region, so a request enters the system close to where it originates instead of all traffic landing in one place. This happens before the router looks at a single node, because distance to the front door is pure round-trip time you can never win back. Connection setup and TLS negotiation happen there too, at the closest point rather than deep in the stack. That front door is our own [Alchemy Edge Proxy](https://www.alchemy.com/blog/alchemy-edge-proxy), a bare-metal ingress layer we run instead of a third-party CDN. Rolling it out was one of the largest latency wins of the rebuild. P99 in Asia-Pacific went from 150ms to 20ms, and P95 across all networks roughly halved, from about 200ms to about 100ms. Those are the before-and-after of that migration rather than where the numbers sit today, and P95 and P99 are the slowest 5% and 1% of requests, which is the part users actually feel. The edge is one layer of a broader push on latency that runs from [predictive scaling through to fleet automation](https://www.alchemy.com/blog/how-we-built-low-latency-rpc-infrastructure). ## How do we pick the node inside a region? Two layers do different jobs here. At the edge, the control plane looks at which serving stacks support the network you asked for and which of those are healthy, then sends the request to the closest one. But choosing a node happens a layer deeper, in the gateway in front of the fleet. That gateway is the first thing in the path that knows anything about individual machines. Picking a node well takes more than picking a close one, so several things narrow the candidate list before anything is forwarded. - **Health, from live tracking.** A node-tracking system runs continuous health checks, and a node that fails them is not a candidate. This is what keeps a degraded backend from being chosen in the first place, rather than being discovered by your users. - **Agreement on current state.** Nodes do not all sit at the same block, so handing a read to whichever one is quickest can return state the chain has already moved past. A consistency layer keeps requests on [the same canonical view of the chain regardless of which node serves them](https://www.alchemy.com/blog/from-one-node-to-cortex), and versioned updates mean you do not hit a stale read even while a failover is in progress. - **Observed latency, not just geography.** Candidates are scored on an exponentially weighted moving average of their recent measured latency, the same approach load balancers have used for years. Because older samples decay out of the average, a node that started slowing down minutes ago falls down the ranking on its own, without anyone raising an alert. - **Workload shape.** Node clients differ in sync behavior and in which methods they serve well, and archival and full nodes hold different data, so the method and params on the request narrow the pool further. A heavy historical query and a simple balance read do not belong on the same node. So "lowest latency" is never a setting we switch on somewhere. It gets recomputed for every call, out of where that call came in, what it is asking for, and which machines happen to be fast and healthy right then. ## What happens when the chosen node is not healthy? Failover is part of the routing decision rather than an alarm bolted on beside it. When a node goes down, [Cortex reroutes traffic to healthy ones automatically](https://www.alchemy.com/blog/from-one-node-to-cortex). The more interesting case is the node that has not failed outright but is congested, lagging, or running a client version with a known bug, and the same context-aware routing steers around those too. Your application does not see an error, and there is no retry logic here for you to write. The same holds a level up. If a whole region is degraded, requests route to a secondary one, and there is a further fallback behind that. Real-time global replication keeps every region consistent through those transitions, so ending up on a farther region does not mean reading older data. Shuffle sharding and redundant node pools sit underneath all of this, keeping failures isolated and contained rather than letting one problem spread across the fleet. The routing layer treats a degraded node as a path to avoid, which is the same fault tolerance behind our [zero-downtime Solana gRPC streaming](https://www.alchemy.com/blog/zero-downtime-zero-gaps-solana-grpc-streaming) and the fleet that stayed up through the [biggest liquidation event in crypto](https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto). ## Why does owning the edge make routing smarter? RPC traffic is mostly dynamic. An `eth_call` or a transaction submission can't be cached the way a static image can, so a generic CDN's main trick, serving cached content near the user, mostly doesn't apply, and the request still has to reach a live node. Owning the edge instead of renting a CDN lets us tune it for this specific traffic shape, and lets routing use signals a third-party layer never sees, like which node is synced, healthy, and fastest for this method and chain right now. It also means we are not sharing that layer with unrelated traffic. On a shared CDN, an incident that has nothing to do with your app can still surface as your latency spike, and the fix is on someone else's schedule. Where providers actually diverge is everything below the region, because that is where a routing layer either knows what each machine is doing or it is guessing. Brokered across third-party operators

", tooltip: "", icon: "", }, "2": { title: "

A balancer scores independent operators and forwards each request to one of them

", tooltip: "", icon: "", }, "3": { title: "

Health and latency as the operators expose it, at endpoint level rather than node level

", tooltip: "", icon: "", }, id: 0, }, { "1": { title: "

Own fleet, geo-routed and then selected per request (Cortex)

", tooltip: "", icon: "", }, "2": { title: "

A single endpoint resolves to the nearest healthy serving stack for that network, and the gateway in front of the fleet picks the node

", tooltip: "", icon: "", }, "3": { title: "

Every node's health, whether it agrees with the current state of the chain, recent measured latency, and which client it runs

", tooltip: "", icon: "", }, id: 1, }, ], }} /> We run it ourselves because it is the only way no segment of the route belongs to someone else. We pay real engineering cost for that, and in exchange we can tune the whole path rather than filing a ticket with whoever owns the slow part. ## What does this mean for a chain like Base? Base is a good stress test, because the chain itself is fast. It ships [200ms incremental block updates through Flashblocks](https://docs.base.org/base-chain/flashblocks), so an RPC path that takes longer than that to answer becomes the bottleneck rather than the chain. A Base call from any region enters at the nearest edge, gets matched to a healthy Base node that is current with the chain, and reroutes within the region if that node degrades. Removing a hundred milliseconds of network overhead matters more, not less, when the chain previews new state every 200ms. Consistency is the harder guarantee, and it is the one worth judging us on. [Polymarket](https://www.alchemy.com/case-studies/polymarket) is the stress case. Through the 2024 US elections they ran over 125,000 concurrent users and $3.3 billion in bets, with requests dynamically rerouted on p99 latency to hold performance up. Their critical ingestion workflows separately sped up 2.5x, from roughly 250ms to roughly 100ms. A median measured in one region on a quiet afternoon tells you almost nothing about what your users get during a mint or a liquidation cascade. If you'd rather check than take our word for it, our [benchmark methodology](https://www.alchemy.com/blog/how-we-benchmark-rpc-performance) measures latency alongside success rate and failed requests, and the [provider benchmarks](https://www.alchemy.com/benchmarks) are public. ## Build on the same routing path Every app on Alchemy already routes through this engine, with nothing to configure. Spin up a [free RPC endpoint](https://www.alchemy.com/rpc-api) and your reads and writes take the same per-request path described here. No contract, no waitlist, no endpoint change. Your [Data API](https://www.alchemy.com/docs/data) calls run on it too. If you need a node pinned to one region, single-tenant isolation, or a custom binary on the path, [Alchemy Dedicated Clusters](https://www.alchemy.com/dedicated-clusters) run the same routing on single-tenant hardware, and you can opt in to automatic failover to the shared fleet if traffic outgrows the cluster's capacity. Either way, the request behind your app is the part you stop thinking about. ## Frequently asked questions ### Which RPC provider delivers the lowest latency across global regions? Alchemy's average response time across EVM chains is under 15ms on our [continuously updated benchmarks](https://www.alchemy.com/benchmarks), measured as warm request-and-response time on an already-open connection. That page recomputes every few minutes, so read the current provider ranking off it. Uptime is [99.995%](https://www.alchemy.com/blog/the-tech-behind-cortex). Every serious provider routes you to a nearby region. Cortex goes further inside that region, matching each request to a node checked for health and for agreement on the current state of the chain. ### Which RPC provider supports Base RPC with the lowest latency? Base RPC on Alchemy enters at the nearest edge region, then gets matched to a healthy Base node that is current with the chain. That matters more on Base than on slower chains, because Flashblocks push block updates every 200ms, so a node even slightly behind can return state that has already changed. ### How does Cortex choose which node serves an RPC request? Two layers share the work. The edge control plane picks the closest healthy serving stack that supports the network requested, and the gateway in front of the fleet then picks the node, narrowing candidates by health, agreement on the current state of the chain, recently observed latency, and the method being called. ### Does per-request routing add latency? Routing is a small slice of the response budget rather than the headline figure. The sub-15ms figure is warm request-and-response time across EVM chains, not the cost of the routing decision itself, and not the same measurement as the platform-wide sub-50ms average across all chains and products. Region selection happens at the edge, close to the user, and node selection happens deeper in, at the gateway that fronts the fleet. ### What happens when an RPC node fails? Failover is part of the routing decision rather than a retry you build yourself. Cortex reroutes traffic to healthy nodes automatically when one goes down, and its context-aware routing also steers around nodes that are congested, lagging, or running a buggy client. If a whole region degrades, requests move to a secondary region, with real-time replication keeping the data consistent. --- # Cronos Is Now Live on Alchemy | Partnership Announcement URL: https://www.alchemy.com/blog/cronos-is-now-live-on-alchemy.md Alchemy has launched support for [Cronos](https://cronos.com/), a purpose-built settlement layer for stablecoins and tokenized assets. Developers can now connect to the network through Alchemy's [RPC](/rpc-api) and build with Alchemy's [gasless transaction infrastructure](/gasless-transactions), the same infrastructure already behind the Cronos app. ## Why Cronos stands out ### A purpose-built settlement layer Cronos is built specifically to settle stablecoins and tokenized assets on one ledger, with sub-second finality and around-the-clock settlement. For a trading or payments app, that means funds can move the moment they clear and compose across shared liquidity, instead of fragmenting across venues. That kind of settlement certainty is what financial products depend on. ### EVM-compatible, sub-cent, sub-second Cronos is designed to be fully EVM-compatible, with a median fee under a cent and roughly half-second block times. Developers deploy with the exact tools they already use, Solidity, Foundry, and Hardhat, and ship without rewriting for a new virtual machine. Low, predictable fees make consumer-scale apps economical to run. ### Institution-grade custody and compliance, built in Cronos integrates the custody and compliance infrastructure institutions typically expect, with partners including Fireblocks for MPC custody and Chainalysis and TRM Labs for compliance and risk monitoring. Combined with the support from [Crypto.com](https://crypto.com/), it is designed to give teams institutional-grade rails and a real path to mainstream users from day one. ## What developers can build Cronos is built for onchain finance, and that is where the early energy sits. Teams can build markets that stay open 24/7 and settle without traditional intermediaries: tokenized stocks, crypto trading, prediction markets, payments, and DeFi, subject to jurisdictional restrictions and availabilities. The clearest example is the Cronos app, the flagship consumer app on the network, launching this summer with a public waitlist live now at [cronos.com](https://cronos.com/). It is designed to put tokenized stocks, crypto, and prediction markets in one account, with up to 10x buying power and 24/7 markets, available in 183+ countries* (both figures per Cronos). It is non-custodial, so users own their assets, and it is designed to feel like a mainstream consumer app rather than a crypto product. The ecosystem around it is already forming. VVS Finance covers swaps, yield, and staking, WolfSwap aggregates DEX liquidity, and Circle is bringing native USDC and EURC to the network, with CCTP moving dollar and euro liquidity in from 20+ chains without wrapped assets or bridges. \* These features are subject to user eligibility, applicable risk disclosures, and regulatory restrictions, and will not be available to all users or in all markets. ## Where Alchemy fits with Cronos Alchemy supports Cronos on the two fronts the partnership is built on: RPC and gasless transaction infrastructure. - [Node/RPC APIs](/rpc-api) give builders a reliable, scalable connection to Cronos without running their own nodes. - [Gasless transaction infrastructure](/gasless-transactions) deliver Web2-grade experiences, with sponsored gas through the Gas Manager, and one-tap batched transactions. Together, that helps address two of the most common blockers to onchain adoption: reliability for developers and friction for users. The Cronos app uses this exact implementation. Someone can sign in with an email and begin trading in seconds, with no seed phrase to write down, no gas token to acquire, and no multi-step signing. Much of the underlying complexity is handled for the user, so the app is designed to feel like any consumer product. > "Alchemy is the same infrastructure that powers a broad range of applications across the industry, and now it's available on Cronos. For builders that means less infrastructure to manage and more time to build. For users it means many of the complicated parts of crypto are simplified." > > – Smit Vachhani, SVP Growth, Cronos Cronos is now available on Alchemy. [Start building today](https://www.alchemy.com/docs/reference/cronos-api-quickstart) with our Cronos documentation, or [reach out to talk](https://www.alchemy.com/contact-sales) through what you want to ship. ## Frequently asked questions ### Does Alchemy support Cronos? Yes. Cronos support is live on Alchemy. Developers can connect to the network through Alchemy's [RPC](/rpc-api) and build with Alchemy's [gasless transaction infrastructure](/gasless-transactions), including [bundler](/bundler) support, gas sponsorship through the Gas Manager, and ERC-20 gas payments. ### What is Cronos? [Cronos](https://cronos.com/) is an EVM-compatible network built as a purpose-built settlement layer for stablecoins and tokenized assets. It offers sub-second finality, 24/7 settlement, a median fee under a cent, and built-in custody and compliance integrations for institutions. ### What does Alchemy provide for Cronos developers? Two things: [Node/RPC APIs](/rpc-api) for a reliable, scalable connection to Cronos without running your own nodes, and [gasless transaction infrastructure](/gasless-transactions) for Web2-grade experiences that reduce friction for users. ### What makes Cronos different from other networks? Cronos pairs institution-grade settlement and compliance rails with support from [Crypto.com](https://crypto.com/) and its 150M+ registered users (per [Crypto.com](https://crypto.com/)), and it is the network powering the consumer-facing [Cronos app](https://cronos.com/). ### What can developers build on Cronos? Onchain finance products: tokenized stocks, crypto trading, prediction markets, payments, and [DeFi](/defi), subject to jurisdictional restrictions and availabilities. Because the network is designed to be fully EVM-compatible, teams can bring existing Ethereum contracts and tooling over with little friction. ### How do I start building on Cronos with Alchemy? [Sign up for a free Alchemy account](https://dashboard.alchemy.com/signup), create an app to get your API key, and visit the [Cronos documentation](https://www.alchemy.com/docs/reference/cronos-api-quickstart), or [reach out](https://www.alchemy.com/contact-sales) to discuss your project. --- # CrossFi and Alchemy: bringing web3 to a billion users URL: https://www.alchemy.com/blog/crossfi-and-alchemy.md In the ever-evolving world of web3, finding the right blend of scalability and efficiency is crucial. Enter [CrossFi Chain](https://crossfi.org/), bringing modular architecture that combines Cosmos’ high-speed transactions with EVM smart contracts. Starting today, builders can deploy on the CrossFi Testnet using Alchemy infrastructure. Ready to get started? [Get your API key](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=summer) and build! ## Considering CrossFi? Here's what you need to know ### The combined strengths of Cosmos and EVM CrossFi’s modular architecture leverages the best features of Cosmos and EVM, offering fast, scalable transactions, alongside robust smart contract functionality, all in a single, unified ecosystem. This synchronization enhances productivity and simplifies development. ### Scalable, efficient transactions Thanks to Tendermint Core and the Cosmos SDK, CrossFi handles up to 10,000 transactions per second, with fast block times and low transaction fees. High throughput, low latency and minimized operational costs create an environment for applications that demand speed and efficiency. ### Comprehensive tools for streamlined development CrossFi provides an extensive suite of APIs, SDKs, and third-party integrations, covering everything from data feeds and blockchain APIs to on-chain data indexing and game development platforms. These tools both strengthen and simplify the development process, enabling developers to build and deploy applications with ease. ## What CrossFi means you can build The CrossFi ecosystem supports a wide range of applications across various sectors. Don’t see your use case below? Not to worry. CrossFi apps span every vertical you can think of, from gaming and NFTs to real-world assets and exchanges. Builders are proving that anything can be launched on CrossFi. ### Payments CrossFi’s payment solutions offer smooth, global transactions with broad accessibility. The flagship non-custodial payment product, available in over 120 countries, bridges the gap between crypto and fiat money, making financial services more inclusive worldwide. ### Real world asset \(RWA\) platforms CrossFi enables the tokenization of real-world assets such as real estate and commodities, bridging traditional finance \(TradFi\) and decentralized finance \(DeFi\) and simplifying trading and investment through digital tokens. ### Infrastructure projects Support for infrastructure projects focused on scalability, security, and performance contributes to a more robust and efficient CrossFi network. ### APIs CrossFi’s APIs integrate its functionalities into various applications, making it easier for developers to innovate within the ecosystem. ### Cross-chain bridges These bridges facilitate seamless asset transfers between different blockchain networks, enhancing CrossFi’s interoperability and connectivity. ## What makes the CrossFi x Alchemy partnership powerful for builders CrossFi and Alchemy share a singular mission: bring web3 to a billion users. By joining forces, this partnership will drive innovative, scalable development of real use cases for real people. ### Supercharged development The combination of CrossFi’s modular architecture with Alchemy’s infrastructure and developer tools empowers builders to create, test, and deploy innovative, scalable apps. ### Reliability at scale Alchemy’s infrastructure will support CrossFi’s transition from testnet to mainnet, ensuring that the ecosystem remains accessible and operational around the clock. ### Enabling globally accessible financial inclusion CrossFi’s payment systems, reaching users in over 120 countries, offer unprecedented access to both crypto and fiat money. Alchemy’s infrastructure will help maintain global service availability 24/7. ### Advancing interoperability and innovation Alchemy’s infrastructure will enhance CrossFi’s interoperability, facilitating seamless integrations with other blockchain networks and improving interactions across various platforms and services. > “A strategic partnership with Alchemy plays a crucial role in CrossFi’s growth and is a major step towards ensuring seamless RPC and API services, enabling more builders to develop their [dApps](https://www.alchemy.com/dapps/top/defi-dapps) on the CrossFi Chain. In addition to technical support, Alchemy also aids in launching both the Mainnet and Testnet, providing the necessary infrastructure for smooth development. We believe this partnership will be a key factor in driving the expansion of the entire CrossFi ecosystem and beyond.” > > — Alexander Mamasidikov, Founder and CEO, CrossFi ### Ready to start building? Together, we’re paving the way for a more scalable, efficient, and inclusive web3 future. Ready to get started? [Get your API key](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=crossfi). Want to learn more? [Schedule time with our team](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_campaign=crossfi_testnet_announcement+&utm_id=crossfi)! --- # Custom Webhooks Upgrade-Variables, Filters & Block Freshness URL: https://www.alchemy.com/blog/custom-webhooks-variables-filters-block-freshness.md Your real-time blockchain data streams just got upgraded. Three brand-new enhancements to [Custom Webhooks](https://www.alchemy.com/custom-webhooks) are now available: - **Block Freshness Improvements** - Instantly make your app’s UX dramatically faster - **Variables** - Easily update your webhook queries with any amount of new values at any time - **Transaction-Level Filters** - Narrow data streams so you only get the exact data you need [Get started for free](https://www.alchemy.com/custom-webhooks) to access the newly upgraded Custom Webhooks today! ## Block freshness improvements for significantly faster data streams What if your app could immediately feel ‘snappier’ with faster blockchain data streams? Bolstering your app’s snappiness with the freshest real-time blockchain data ensures your app stands out from the pack and keeps users coming back. When it comes to blockchain data, even milliseconds can make a significant difference in your user’s experience. With a massive 2.5x reduction in latency, Custom Webhook’s recent block freshness improvements can cause your UX to be faster by over a second, which will instantly make your app feel much snappier and your users much happier: ## Variables for maximum control of dynamic GraphQL queries Want to update a webhook without deleting or recreating your GraphQL query? By using variables for Custom Webhooks, you can now dynamically insert values into GraphQL webhook queries. This allows you to update queries with a single string vs. needing to change entire GraphQL statements every time you want to add or remove an address, enabling substantial efficiency gains when monitoring address lists that need to be updated often. Variables also massively increase the scope of your blockchain data streams, letting you track on-chain activity for millions of addresses instead of only thousands: Before

", tooltip: "", icon: "" }, "2": { title: "

2k

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

After

", tooltip: "", icon: "" }, "2": { title: "

5m+

", tooltip: "", icon: "" }, id: 1, }, ], }} /> ## Transaction-level filters for accessing precise data with ultimate flexibility Transaction-level filters for Custom Webhooks remove unnecessary ingestion costs and infrastructure overhead by giving you ultimate flexibility to precisely filter your real-time blockchain streams, ensuring you get exactly the external or internal transaction data you need: Transaction-level filters also unlock a whole new set of data you can get updated on, such as instantly receiving notifications whenever a specific address or contract makes a trade or swap: ## How to get started with the upgraded custom webhooks Read the [quickstart guide](https://www.alchemy.com/custom-webhooks), [get started for free](https://www.alchemy.com/custom-webhooks), and [contact our team](https://www.alchemy.com/contact-sales) to explore how Custom Webhooks can transform your blockchain applications. --- # Data Accuracy: The Little Known, Endemic Problem in Web3 URL: https://www.alchemy.com/blog/data-accuracy.md A well known NFT team lost tens of thousands of users because they were showing their users conflicting information \(_example above_\). One of the largest DeFi protocols lost $2M from troubleshooting bugs that were creating frontend errors for users. Because the protocol couldn’t pinpoint the root cause, the issue wasn’t resolved for weeks. #### These two scenarios stem from the same problem: a lack of accuracy in node infrastructure, which is a prolific problem in Web3. As an engineer, founder, product manager or even user, if node accuracy isn’t on your radar already, you need to make it a top priority in order for your app to succeed. ## A bit of background Blockchains are run by nodes that communicate in a peer-to-peer network. It’s this structural element that enables [decentralization](https://sgrlaw.com/blockchain-decentralized-ledgers/), one of the fundamental value propositions of web3: instead of relying on a central intermediary, [thousands of nodes](https://etherscan.io/nodetracker) record transactions by trustlessly propagating information to each other. To serve users correct and consistent results, the network of nodes has to agree about the most recent state of the blockchain. This is extremely challenging in a [peer-to-peer network](https://medium.com/coinmonks/what-is-a-peer-to-peer-p2p-network-in-blockchain-3fe4417dfba2), because information doesn’t reach each node at the same time. This means that when a person interacts with a dApp reliant on nodes to serve them data: - The nodes don’t always serve the same data ➡️ - The user won’t always get back what they expect More often than not, when users receive unexpected or conflicting information that they can’t rationalize, it’s because there is a lack of **accuracy** among the nodes they’re using. At Alchemy, we define **accuracy** **as the state when a person interacts with a dApp and receives correct and consistent data in return**. In this article, we’ll explain: - Why accuracy is a web3-specific problem - The limitations of solving accuracy with a single node - The limitations of solving accuracy with a load balancer - How a lack of accuracy can create widespread problems for an app - The secret sauce to how Alchemy’s Supernode solves blockchain accuracy ## Accuracy exists when a person interacts with a dapp and receives correct and consistent data in return In web2, [centralized systems make accuracy an easy problem to solve](https://ethereum.org/en/developers/docs/web2-vs-web3/#:~:text=Web2 refers to the version,that run on the blockchain), because information can only come from one source. But the web3 distributed system causes a myriad of new and complicated issues, including: - Complex implementation - Challenges ensuring that information gets to the furthest participants in the network \(it literally takes longer for information to reach nodes further away in a network\) - Challenges with network coordination #### All of these challenges, which can create a lack of accuracy among a group of nodes, can lead to: - Serving broken experiences - Losing customers - Losing time and money by retroactively fixing the problem "[Every state issue you could think of on CryptoKitties](https://www.alchemy.com/case-studies/dapper) happened. If nodes were out of sync, the user experience and entire dApp would be messed up."** - Eric Lin, Dapper** ## The problems with running a single node If the problem of data accuracy stems from communication among several nodes, you may decide to run a single node yourself. Let’s say you are running your own single node, and a user makes a call to your dApp: - They ask for the latest block - Your node tells them the latest block is 4 ✅ This works! But there’s a catch. It will only work up to a certain point. #### Running traffic through a single node will drastically inhibit your app’s scalability and reliability: - **Scalability**: If your dApp has 100 users today, but usage demands it scales 10x, one node will not effectively manage the increased request load - **Reliability**: If you are dependent on one node, then when that node goes down, your dApp will go down, too. And because nodes are notoriously unreliable, with just one, you will have much less uptime than you need \(we’ve measured uptime from a single node to be as low as 72% in some cases\). The time it would take for your team to spend on node maintenance [is time they can’t spend on building products and experiences](https://www.alchemy.com/case-study/zerion) for your customers. "Working with Alchemy has helped us save the equivalent of three full-time engineers, who otherwise would have to be heads down on infra maintenance, at all times." - **Evgeny Yurtaev, CEO & Co-Founder at [Zerion](https://www.alchemy.com/dapps/zerion)** Ok, so you’ve realized one node is insufficient for your business needs. So what may you do next?‍ ## The problems with using a load balancer You may want to try an infrastructure provider that uses a load balancer to manage traffic across multiple nodes; this is a super common infrastructure design in web3. Load balancing is a horizontal scaling mechanism, originally utilized in web2. Think of load balancing like choosing the shortest line at the grocery store - the load balancer will direct your dApp’s traffic to the node with the shortest line.‍ Take a look at the example below. A user makes a call to your dApp: - They ask for the latest block - Via Node A, your dApp tells them the latest block is 2 Then, the user asks again to confirm: - This time the query is routed to Node B - Via Node B, your dApp tells them that the latest block is 4 Because the system is still routing each request through a single node, and at any given point, that node may not have the latest information, the results are often incorrect. Your users will be served conflicting results that are impossible to reason about. **Load balancing creates more scale and reliability than a single node can maintain, but it comes at the expense of accuracy.** #### When traffic is routed through a load balancer, nodes may have different information about: - Latest blocks - Most recent transactions - Pending transactions These problems can mean that: - [Developers experience inconsistent data](https://community.infura.io/t/how-does-the-load-balancer-work/1090) - Requests fail - Applications fail - A single user will see conflicting results for the same request - Multiple users will see conflicting results for the same request Still not convinced this is a big problem? Read on. ## How a lack of accuracy causes major problems Let’s say Isaac wants to join a DAO, and to do so, he needs to purchase their token. - Isaac asks a Decentralized Exchange \(DEX\): “DAO token still available?” - The DEX’s infrastructure provider routes Isaac’s request to Node A. - Via Node A, the DEX tells him: “Yes, tokens are still available.” ✅ Tokens are available! Isaac goes to make his purchase. - The DEX’s infrastructure provider routes Isaac’s request to Node B. - Via Node B, the DEX tells him: “Transaction failed.” Because the DEX was using an infrastructure provider that was load balancing across nodes \(a super common web3 scaling mechanism\), when Isaac confirmed that the token was still available, Node A returned information that in this case was stale. **This underscores the key point: at a given moment in time, the information from an individual node, which is where information always comes from when using a load balancer, cannot be depended on.** That node may not have the most recent information, and if that is the node that responds to your request, your transaction \(or subsequent transactions\) will likely fail or exhibit unexpected behavior. #### Accuracy issues cause a wide range of failure states What happened to Isaac is one of many failure states caused by a lack of node accuracy. Let’s take a look at a couple more potential failure states: 1. Smart contract executions return conflicting answers when there should be only one factual result. For example: - User asks: “Who owns this Bored Ape?” - API returns: “Alice” - Then user asks: “Tell me the apes Alice owns?” - API returns: “Alice doesn’t own any”‍ Why’d this happen? With infrastructure reliant on a load balancer, the state of smart contracts, and thus what happens when you execute them, will be different depending on which node handles the request. 2. A dApp returns an incorrect “nonce” \(a unique identifier for each individual transaction from any given wallet address\), causing subsequent transactions to fail. For example: - User completes transaction 1 with nonce 100 - User asks: “What’s the next nonce?” - API returns: 100 \(this should be impossible, since nonce 100 was already completed\) - The next transaction will be automatically rejected _Why’d this happen? With inaccurate infrastructure, _[_pending transactions_](https://www.alchemy.com/docs/ethereum-transactions-pending-mined-dropped-replaced)_ can end up on only a single node, so when you try to get information about the state of those pending transactions or the wallets that sent them, there is very often missing or misleading data returned._ #### These failure states are insidious, impossible to reason about, and will severely impact the health of your app Some things that may happen: You may ingest inaccurate data which will corrupt your databases, requiring time and effort to fix. [Take Origin](https://www.alchemy.com/case-study/origin), for example. RPC errors and debugging were ubiquitous with their first infrastructure provider, and [debugging the errors](https://www.alchemy.com/build) was time consuming for their team. They found that one node would answer a request, but that node was a few blocks behind a different node that answered another request. These state issues were virtually impossible to troubleshoot, and once they did identify the root cause, they found the issue had corrupted their entire system. **Because there are no error messages or failure codes for these issues, you a\) can’t proactively account for them in your code and b\) will spend hours debugging them when they happen; this will be just as confusing for your users:** **Users may send transactions based on stale data and that are therefore guaranteed to fail; they will lose gas fees as a result:**‍ **Users may see conflicting UIs on your dApp, consecutively reflecting that a transaction was or wasn’t successful. They will attribute this failure to your dApp’s frontend experience:** **Users may overpay because they think that a transaction wasn’t successfully mined, and they try again; in reality, the original did go through but wasn’t accurately reflected:** ## Building for accuracy If it’s not clear yet, in blockchain networks, a lack of accurate infrastructure can have a very negative impact on your dApp and users. You need to work with an infrastructure provider that is: - Thinking about accuracy as a fundamental priority - Who has a sustainable system, distinct from load balancing, to maintain accuracy when your dApp scales #### Benchmarking node providers We have compiled data that benchmarks accuracy across a few well-known node infrastructure providers. Use this tool to benchmark accuracy yourselves, too. Accuracy is one part of provider evaluation. You can also compare current latency, success rates, and failed requests in Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). In our tests, we query the JSON RPC method _eth_blockNumber_ a total of ~1,072,000 times to get the latest block number from each provider over a period of 24 hours. This is one simple example for benchmarking data inaccuracy. There are many others which tend to fail more often, and more catastrophically. _Note_ In our sample dashboard snapshot, we query and log data accuracy for a single day. \*Full methodology details in appendix. #### What can you do to get accurate data? "Alchemy resolved the consistency issues that had previously reared their head, removing 98% of user complaints and significantly improving [Augur](https://www.alchemy.com/dapps/augur)’s user experience and adoption." - [**Augur CTO Alex Chapman**](https://www.alchemy.com/case-studies/augur) In service of ensuring accuracy for your [apps](https://www.alchemy.com/dapps/top/defi-dapps) and your customers, Alchemy has invested hundreds of thousands of engineering hours and developed hundreds of unique innovations to create [Alchemy Supernode](https://www.alchemy.com/supernode), the fundamental product that ensures consistent data accuracy, with the scalability and reliability benefits of multi-node infrastructure. Supernode is much more than just a bunch of connected nodes - in fact, that’s just a fraction of what the Supernode system is. Supernode is a combination of custom, scalable and distributed systems that essentially allow our API to act as a single node, which solves all of the accuracy issues we’ve discussed. How does this work? We’ve built out an explicit consistency layer called Vox Nodi \(the voice of the nodes\). Vox Nodi’s responsibility is to guarantee that any blockchain request that we’re helping to serve will return a consistent result. This works by essentially running a consensus algorithm across our infrastructure, where each piece of the infrastructure can vote on the correct state of the blockchain. By correctly routing and tweaking queries, this system ensures that despite various nodes having different views of transaction data at any given time, the results are always consistently accurate. Simply put, Vox Nodi guarantees that any request to our API is returned quickly, reliably, and with 100% accurate data. And Supernode still enables developers to scale infinitely and reliably, because rather than an individual node, there is a full, distributed blockchain engine responding to each request. In short, it is **not a load balancer.** ## Implications & conclusion There are many different dimensions to consider when choosing how to connect your dApp to the blockchain: **A provider’s ability to deliver accuracy should be the number one on your list.** At Alchemy, accuracy is a top priority. [Get started](https://dashboard.alchemy.com/signup/?a=f79ab530c4) on Alchemy for free today. - ## Appendix #### Benchmarking methodology In thinking about benchmarking accuracy, we started from first principles and tested one of the most basic Ethereum RPC calls: eth_blockNumber. As a refresher, eth_blockNumber returns the Ethereum network’s latest block number, and in a decentralized network, the block with the highest block number contains the most recent transactions. Because of this, in normal network conditions, calling eth_blockNumber from a single node/node provider should only return block numbers that **ascend** in value. Any inconsistency in ascending data is indicative of a reversion or, when it happens more frequently, of potential provider data inaccuracy. Note that this is different from a ‘[reorg](https://www.alchemy.com/overviews/what-is-a-reorg)’, where a new longest chain replaces existing data on a node. ‘Reorgs’ will always have _at least as many_ blocks as the data already on a node, so if we see block number go backward we can know definitively say that it’s caused by broken infrastructure. To understand how we measure misaligned data, let’s assume that we have the following sequence of block numbers after pollingeth_blockNumber a total of 13 times. 1

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

2

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

3

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

2

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, id: 10, }, { "1": { title: "

1

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, id: 11, }, { "1": { title: "

3

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, id: 12, }, ], }} /> Given this sequence, we find a total of 5 errors at block indices 6, 7, 9, 10, & 11. What this means is that at blocks 6, 7, 9, 10 &11, the returned blocks did not follow the expected sequence of ascending values, evidencing some underlying data accuracy issue. NOTE: Once we record that the node provider is on block number 2, we assume that any subsequent values of 1 are incorrect and equivalent to the provider time-traveling and providing _current_ block value that is 1 block late. Similarly, once we record that the node provider is on block number 3, any instances of blocks 1 or 2 showing up are now _misaligned_. To simplify this benchmarking test, we explicitly measure data accuracy from individual providers themselves and do not cross-compare block data between different providers. --- # debug_trace now 3x cheaper URL: https://www.alchemy.com/blog/debug-trace-now-3x-cheaper.md ### Build what you want, how you want, accessing the most value at fair, transparent prices.  That’s why, after listening to your feedback, we’ve reduced the Compute Unit \(CU\) cost of four critical `debug\_trace` methods, giving you a more cost-effective solution for gathering comprehensive transaction execution details.  `debug\_trace` methods are important for debugging, troubleshooting, and understanding why a contract behaved in a certain way.  By re-architecting back end infrastructure, Alchemy has been able to pass up to 3x efficiency savings to you for four key `debug\_trace` methods: - `debug_traceBlockByHash` - `debug_traceBlockByNumber` - `debug_traceTransaction` - `debug_traceCall` debug_traceBlockByHash

", tooltip: "", icon: "" }, "2": { title: "

497

", tooltip: "", icon: "" }, "3": { title: "

170

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

debug_traceBlockByNumber

", tooltip: "", icon: "" }, "2": { title: "

497

", tooltip: "", icon: "" }, "3": { title: "

170

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

debug_traceTransaction

", tooltip: "", icon: "" }, "2": { title: "

309

", tooltip: "", icon: "" }, "3": { title: "

170

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

debug_traceCall

", tooltip: "", icon: "" }, "2": { title: "

497

", tooltip: "", icon: "" }, "3": { title: "

170

", tooltip: "", icon: "" }, id: 3, }, ], }} /> In practice, the reduction in CUs means you can access massive value and important insights at significantly reduced cost.  Ready? [Get started](https://www.alchemy.com/docs/reference/debug-api-quickstart?utm_source=blog&utm_medium=get_started&utm_campaign=debug_trace&utm_id=debug_trace) with `debug\_trace` methods today. ### Remind me, what’s a compute unit \(cu\)? Compute Units \(CUs\) measure total computational resources apps use when making requests on Alchemy, taking into account the fact that some queries are lightweight and fast to run \(e.g., `eth\_blockNumber`\) while others are more intense \(e.g., `eth\_getLogs`\).  To that end, each method is assigned a quantity of CUs. You are charged based on the resources your application actually uses, rather than a flat fee per request. In this sense, CUs work like gas on mainnet, where the fee is correlated with a transaction’s execution.  More to come on how to think about CUs within the broader marketplace.  ### Digging into `debug_trace` The substantial decrease in CUs for `debug\_trace` makes all of these calls considerably more affordable to use, enabling you to explore transaction execution at a granular level.  Why does this level of detail matter? It’s simple: The downside of contract execution is that it is very hard to tell what a transaction actually did.   Existing methods to get transaction receipts, like `eth\_getTransactionReceipt`, while useful, lack granularity at the transaction execution level.  When you’re trying to iron out a bug, this means that while some information can be gleaned, much more data is missing. By contrast, `debug\_trace` methods capture a breakdown of what happens during a transaction's execution, a critical unlock for builders. These methods capture the intricate details of smart contract interactions, such as: - The sequence of calls made between contracts - The data passed and modified during those calls - The gas usage at each step - The success or failure status of individual actions At this level of granularity, you can troubleshoot, look for efficiencies, and better understand your app.  ### Who will benefit from this cost reduction? You! 😁 More affordable `debug_trace` methods are super important across all Web3 verticals: - **Wallet builders**: Get deeper insights into transaction processing and user interactions within your wallet. - **Analytics platforms**: Detailed transaction data for more accurate and valuable insights into users. - **Marketplaces**: Get a better sense of transaction flow to enhance security, help you track activity, and lead to optimized platform operations. - **Any app developer**: Whatever you’re building, `debug\_trace` methods provide the best insights to build a killer, unbuggy app. So what are you waiting for?  Thousands of developers and teams are already building with Alchemy. In fact, if you’ve used any web3 app, **you’ve probably used Alchemy**.  What to learn more? [Dive into the docs today](https://www.alchemy.com/docs/reference/debug-api-quickstart?utm_source=blog&utm_medium=get_started&utm_campaign=debug_trace&utm_id=debug_trace). ## Frequently asked questions ### What are debug_trace methods used for? debug_trace methods provide detailed breakdowns of transaction execution, including the sequence of calls between contracts, data modifications, gas usage at each step, and success or failure status of individual actions. This granularity helps developers debug issues, optimize efficiency, and understand smart contract behavior beyond basic transaction receipts. ### Which debug_trace methods are now 3x cheaper? We reduced Compute Unit costs by up to 3x for four key methods: debug_traceBlockByHash, debug_traceBlockByNumber, debug_traceTransaction, and debug_traceCall. ### What is a Compute Unit (CU)? Compute Units measure the total computational resources apps use when making requests on our platform. You are charged based on the resources your application uses rather than a flat fee per request, similar to how gas works on mainnet. ### Why use debug_trace instead of eth_getTransactionReceipt? While eth_getTransactionReceipt is useful, it lacks granularity at the transaction execution level. debug_trace methods capture intricate details of smart contract interactions that are critical for troubleshooting and understanding what a transaction did. ### Who benefits from cheaper debug_trace methods? Wallet builders gain deeper insights into user interactions, analytics platforms access detailed transaction data, marketplaces can enhance security and track activity, and any app developer can troubleshoot and optimize more effectively. ### How did we reduce debug_trace costs? We re-architected backend infrastructure to achieve up to 3x efficiency savings, which are passed directly to developers through reduced Compute Unit costs. ### Where can I learn more about using debug_trace methods? You can dive into our documentation to get started with debug_trace methods, including implementation guides and usage examples. --- # Getting Token Balances Just Got A Lot Easier URL: https://www.alchemy.com/blog/default-token-list.md The Enhanced API method alchemy_getTokenBalanceshas long been the best way for developers to get access to the balances of a list of tokens in a given wallet. However, until now, this method required users to provide us with an explicit list of all token addresses they were interested in querying. Some developers found this laborious, so we’ve introduced a new option: developers can now simply call ‘alchemy_getTokenBalances’ with the value ‘DEFAULT_TOKENS’ to see the balances of the top 100 tokens by 24 hour volume. So this: Just became this: Try it out [in the composer!](https://www.alchemy.com/composer?composer_state=%7B%22chain%22%3A0%2C%22network%22%3A0%2C%22methodName%22%3A%22alchemy_getTokenBalances%22%2C%22paramValues%22%3A%5B%220x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be%22%2C%22DEFAULT_TOKENS%22%5D%7D) And the best part, you can get started right away by [making an Alchemy account free](https://alchemy.com/?r=affiliate:f6591075-a51d-4784-8068-7942e46d8da2). --- # Deploying Scalable Custom Rollups with RaaS in 2025 URL: https://www.alchemy.com/blog/deploying-custom-rollup-raas-2025.md Deploying a blockchain has never been easier.  Rollups are a [Layer 2 \(L2\) scaling solution](https://ethereum.org/en/developers/docs/scaling/#offchain-scaling) that address [Ethereum’s scaling challenges](https://ethereum.org/en/roadmap/vision/) by enabling higher transaction speeds and lower costs without sacrificing security or decentralization. By creating an environment for transactions to execute offchain and some proof system for making that verifiable, rollups inherit **Ethereum’s hardened security, credible decentralization, and robust ecosystem of avid users and developers**.  By building with the breakthroughs, insights, and research of fifteen years, new entrants have plenty of choices when it comes to designing their own blockchain and launching it within an interoperable ecosystem. The ease with which rollups in particular can be deployed—and the number of developers building within the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum)—have yielded explosive growth, with new projects coming online everyday.  Hundreds of rollups are securing more than [$31B in total value](https://l2beat.com/scaling/tvs) locked across the Ethereum landscape, a steep increase year-over-year in quantity and TVL.  In addition to the throughput and cost advantages, rollups can be custom-fit to meet any number of requirements. In creating this first rollups report, we came away with one impression: **specialization is the future**.  Specialization means more than one thing in this context: a rollup’s purpose and its configuration. A rollup’s purpose is its use-case: payments, real world assets, DeFi, etc., along with the project’s particular goals, like time-to-market, investment horizon, and revenue targets.  A rollup’s configuration is how the chain becomes optimized to fulfill its purpose. This report provides you a surveyor’s view of the rollups landscape. We tackle how rollups work, adoption over the last year and what that adoption tells us, the differences among underlying rollup frameworks, operating costs, and the end-to-end services rollups can provide to your project.  Want to talk to the Alchemy Rollups team? [Get in touch here](/contact-sales-rollups) ## What is a rollup in 2025? L2s scale blockchains by fundamentally transforming transaction processing capabilities without sacrificing the critical security foundation of the underlying Layer 1 \(L1\).  In this case, the L1 is Ethereum. While the concept has been adopted by other L1 blockchains, the majority of rollup activity is happening on Ethereum, where the total value locked across L2s is $31B. There are over 100 Ethereum-deployed mainnets in 2025, according to L2Beat. Each rollup functions as an independent blockchain built atop Ethereum. The reason this is important is horizontal scalability and chain composability. While Ethereum itself may be limited to throughput of ~[14 transactions-per-second \(TPS\)](https://chainspect.app/chain/ethereum), the accumulative activity of L2s—and the ability to launch new L2s to quickly meet any increase in demand—greatly improve what the Ethereum network can bear, where high network load causes spikes in transaction fees that make mass adoption impractical.  Rollups, on the other hand, are less sensitive to network congestion and can process transactions in batches, making them capital and resource efficient: they [are orders of magnitude](https://ethereum.org/en/roadmap/scaling/) cheaper than Ethereum L1. Transaction batches are then posted to Ethereum for final verification.  Teams are deploying their own rollups to create customized and cheaper, affordable blockspace for their projects. When performance or cost is affected by settling to Ethereum, the affordability of deploying and owning a rollup that is tailored to a team’s needs is strongly appealing.  ### Security and adoption with Ethereum The true power of rollups emerges from their seamless integration with [Ethereum’s broader vision](https://ethereum.org/en/roadmap/) and ecosystem. Not only does Ethereum boast a battle-tested consensus mechanism with proven security, but it continues to have the most robust and active developer set—with nodes in nearly every country in the world. Other significant upsides for rollups include: - **EVM Compatibility**: Ethereum Virtual Machine \(EVM\) compatibility enables rollups to support existing Ethereum developer tools, languages, and infrastructure without code changes. This allows integration with the Ethereum ecosystem while maintaining security and decentralization, giving developers familiar workflows on a scalable layer. - **Offchain execution with onchain verification**: Transactions execute with high throughput outside the congested mainnet environment, but critical cryptographic proofs are anchored back to Ethereum—ensuring every transaction remains verifiable and immutable. But more than anything else, the widespread embrace of L2s demonstrates a clear market fit. ## Rollup adoption: more users are using more rollups At the end of 2024, there were [more than a hundred Layer 2s \(L2s\)](https://l2beat.com/scaling/summary) deployed on [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) and, in November, the cumulative total value locked \(TVL\)  across these rollups hit an all time [high of $51.5B](https://finance.yahoo.com/news/ethereum-layer-2-networks-surpass-082653687.html). This is [a 205% increase from November 2023](https://cointelegraph.com/news/ethereum-l2s-record-51-b-tvl-205-yearly-growth), when the cumulative TVL across rollups was $16.6B. It’s clear that the trend of creating customized blockspace isn’t going anywhere, even as more economic activity than ever is happening onchain. Plus, recent upgrades to Ethereum have driven significantly cheaper transaction costs, starting with EIP 4844 in 2024 and scaling with the recent Pectra upgrade.  In 2024, Ethereum’s Dencun Upgrade introduced a new, low-cost resource for L2s to post transaction data: blobs. Blobs reduced the cost of transaction fees exclusively on L2s by allowing them to post large amounts of calldata more cheaply and efficiently. Lower fees drove more users and more activity to rollups.  Immediately after the Dencun Upgrade, transaction fees on Optimism were one tenth of a cent—[a 1000x improvement](https://a16zcrypto.com/posts/article/understanding-dencun-upgrade-protodanksharding-surge-merge/) compared to fees on Optimism before the upgrade. This increased activity clustered around certain verticals, primarily DeFi, NFTs, and gaming. The DeFi and gaming verticals, in particular, are fee-sensitive, but for different reasons. In May 2025, the [Pectra upgrade](https://www.alchemy.com/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips) scaled blob efficiency by [doubling blob capacity-per-block](https://www.alchemy.com/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips#eip-7691-doubling-blob-capacity-per-block). EIPs 7691, 7623, 7840 created better blob performance, de-incentivized costly calldata usage, and helped future-proof blob parameters for efficient updates.  With L2s growing in popularity due to affordability and customization, the introduction of Dencun and Pectra has made data availability significantly more affordable, creating a flywheel for upcoming L2 growth.  ### Dominant infrastructure Optimistic rollup frameworks from [Arbitrum](https://www.alchemy.com/arbitrum) and OP led in TVL growth, with [Arbitrum One chains accounting for 32% of all TVL](https://cointelegraph.com/news/ethereum-l2s-record-51-b-tvl-205-yearly-growth). Base, the L2 from Coinbase built with OP, [surpassed 2M daily transactions](https://cointelegraph.com/news/base-daily-transactions-skyrocket-after-ethereum-dencun-upgrade).  World Chain, a blockchain for real humans built and deployed on Alchemy-managed infrastructure, recently passed 25M users, with over 250M opens of mini apps built on the chain in 2025 and [near-record daily transactions](https://x.com/tokenterminal/status/1916969633233379648). ## Customizing rollups: an overview License

", tooltip: "", icon: "" }, "2": { title: "

MIT License

", tooltip: "", icon: "" }, "3": { title: "

Business Source License
(Arbitrum Expansion Program)

", tooltip: "", icon: "" }, "4": { title: "

MIT / Apache 2.0 License

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Ordering

", tooltip: "", icon: "" }, "2": { title: "

Priority Ordering

", tooltip: "", icon: "" }, "3": { title: "

FCFS (First Come First Serve)

", tooltip: "", icon: "" }, "4": { title: "

FCFS / Flexible Intent-based
(via custom sequencing logic)

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Default Block Time

", tooltip: "", icon: "" }, "2": { title: "

2s default (200–250ms with flashblocks)

", tooltip: "", icon: "" }, "3": { title: "

250ms default (can do 100ms)

", tooltip: "", icon: "" }, "4": { title: "

Configurable; supports low-latency
block times

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Interoperability

", tooltip: "", icon: "" }, "2": { title: "

Superchain (15% of sequencer fees
or 2.5% of L2 revenue); 3rd-party protocols

", tooltip: "", icon: "" }, "3": { title: "

Universal Intent Engine
(10% of sequencer fees); 3rd-party protocols

", tooltip: "", icon: "" }, "4": { title: "

Elastic Chain architecture with native
interoperability via ZK Gateway and
ZK Router

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Custom Gas Token

", tooltip: "", icon: "" }, "2": { title: "

Supported through Account Abstraction

", tooltip: "", icon: "" }, "3": { title: "

Supported

", tooltip: "", icon: "" }, "4": { title: "

Supported

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Forced L1 Inclusion

", tooltip: "", icon: "" }, "2": { title: "

Supported

", tooltip: "", icon: "" }, "3": { title: "

Supported

", tooltip: "", icon: "" }, "4": { title: "

Supported
(via L1 fallback settlement and reorg resilience)

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Execution Environment

", tooltip: "", icon: "" }, "2": { title: "

EVM (Solidity, Vyper)

", tooltip: "", icon: "" }, "3": { title: "

EVM + WASM (Stylus: Solidity, Vyper,
Rust, C, C++)

", tooltip: "", icon: "" }, "4": { title: "

zkEVM (Solidity, Vyper; bytecode-level
EVM compatibility)

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Proof System

", tooltip: "", icon: "" }, "2": { title: "

N/A

", tooltip: "", icon: "" }, "3": { title: "

N/A

", tooltip: "", icon: "" }, "4": { title: "

zkSync Era's ZK circuit (recursive SNARKs
via Boojum prover)

", tooltip: "", icon: "" }, id: 7, }, ], }} /> Unlike deploying a decentralized application \(dApp\) on a shared L1 or L2 network, rollups empower projects to control the chain’s entire feature set, meet any number of regulatory considerations, and build more user-friendly platforms that can resemble the UX of using the internet. **To build a rollup, teams are increasingly leveraging Rollup-as-a-Service \(RaaS\) platforms to design, deploy, and manage rollups** **tailored to their specific needs**.  This approach enables developers to focus on innovation and user experience rather than the complexity of building, deploying, and maintaining the underlying infrastructure. But a living blockchain doesn’t instantly translate to scale. Ambitious teams need to take into account all the additional infrastructure required to ensure a rollup’s success in market.  When deploying with [our rollups platform](https://www.alchemy.com/rollups), developers have the added advantage of access to the entire suite of Alchemy’s solutions, which includes [Supernode](/rpc-api), [Smart Wallets](/smart-wallets), and more. Alchemy Rollups offers 100\+ APIs, [out-of-the-box account abstraction](/smart-wallets-infrastructure) \(more on what this means below\), and a [path to scaling to millions of transactions and users](/case-studies/scaling-world-chain). These tools allow Alchemy-deployed chains to be refined even further, with the safety guarantee of full-time customer support from real engineers. Broadly, there are two types of L2s, defined by the underlying security assumptions of the network: [optimistic](https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/) and [zero-knowledge \(ZK\)](https://ethereum.org/en/developers/docs/scaling/zk-rollups/). At a very high level, optimistic rollups have wider adoption and lower overhead costs, while ZK rollups offer greater security guarantees and are slightly pricier on a per-transaction basis.  With Alchemy Rollups, projects have the option to choose the framework that best fits their goals, offering: - [**Optimism’s OP Stack**](https://docs.optimism.io/) - [**Arbitrum’s Orbit**](https://arbitrum.io/orbit) - [**ZKsync’s ZK Stack**](https://zkstack.io/)  These frameworks aren’t natively compatible with one another at the code level, preventing cross-chain interoperability between rollup clusters. So the framework a project chooses will, to some extent, tie them to that ecosystem. With multiple rollup frameworks and many more options for building out a chain’s supporting infrastructure, one tradeoff emerges: specialization comes with increased complexity. - **Protocol complexity:** Rollups involve intricate designs and architectural nuances, which define the underlying security framework and interoperability options.  - **Maintenance complexity:** Maintaining a rollup requires ongoing management and expertise. This includes infrastructure maintenance, monitoring, and upgrades to ensure smooth and reliable operations. - **Partners:** Providing end-users with a stable environment, especially during periods of high load, requires the integration of external services for data streaming, API management, and real-time monitoring. What a rollup looks like now is radically different than even a couple years ago. Both generalization and use-case focused rollups are increasingly entering the market, with more customization that tweaks their performance to deliver an optimal user experience. ## What's in a rollup? The components and considerations for deploying a rollup with the minimum set of features: ### Types of rollups The underlying proving system defines the method by which fraudulent or invalid transactions are identified before being committed to Ethereum. The two predominant proving systems for rollups are optimistic and ZK. **Optimistic rollups** assume transactions are valid by default and use fraud proofs to challenge any discrepancies. If fraud is detected, optimistic rollups use a dispute resolution game to revert the invalid transaction. Optimistic rollups post all transaction data to the L1. Because fraud proofs are only generated when a fraudulent transaction is identified, optimistic rollups require a waiting period between when a transaction is finalized on the rollup and when that transaction data is committed to Ethereum. [This waiting period is typically ~7 days](/overviews/optimistic-rollups).  The two dominant optimistic frameworks are: - [OP Stack](https://www.alchemy.com/dapps/op-stack) - [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit) **ZK rollups** use cryptography to prove the validity of rollup transactions. Each time a ZK rollup submits a batch of transaction data to the L1, it also submits [a ZK proof](https://ethereum.org/en/zero-knowledge-proofs/), proving the validity of the transactions. Because ZK rollups don’t require a dispute resolution mechanism, there is no waiting period. Most ZK rollups can be settled on Ethereum in hours, not days. The dominant ZK rollup framework [ZKsync](https://www.alchemy.com/overviews/what-is-zksync-era)’s [ZK Stack](https://www.alchemy.com/dapps/zksync) ### Rollup stack The stack is the set of tools, protocols, and infrastructure designed to simplify the creation and deployment of rollups. It provides projects with the building blocks to construct a rollup, while still allowing for significant customization through modularity. Rollup frameworks enable smart contract and application developers to use familiar tooling. Three of the most widely used rollup frameworks are OP Stack, Arbitrum Orbit, and ZK Stack. We’ll describe these in greater detail below. Broadly:  **Orbit chains** are deployed using the rollup framework designed and maintained by Arbitrum. Arbitrum One leads all rollups in TVL with [$13B in user deposits](https://l2beat.com/scaling/projects/arbitrum#tvs).  OP Stack is the rollup framework designed and maintained by the Optimism Collective. The most widely used chain built with OP Stack is Base, with [$15B in user deposit](https://l2beat.com/scaling/projects/base). The ZK Stack is the ZK rollup framework designed by ZKsync. ZK Stack verifies transactions using a specialized virtual machine called a zkEVM \(zero-knowledge Ethereum Virtual Machine\). The most widely used ZK Stack chain is ZKsync Era, [with $551M in TVL](https://l2beat.com/scaling/projects/zksync-era). #### Partner highlight: syndicate Deploying an application-specific rollup? [Talk to the Alchemy Rollups team](/contact-sales-rollups) and mention Syndicate. ### Data availability \(DA\) Data availability refers to rollups’ need to ensure that the transaction data they process off of Ethereum, as well as the proofs of that data’s correctness, are available for any network participant to view. This is necessary to maintain trustlessness—if the data isn’t available, then the rollup can theoretically steal funds or publish false data. Under the optimistic rollup model, data availability is also key to ensuring participants can challenge invalid transactions.  In addition to trustlessness, data availability also guarantees liveness—meaning, if a rollup network were to go down, the transaction data can be used to reconstruct the correct balances of every user’s wallet.  Picking a DA layer is one of the most important decisions projects make in building a rollup. Broadly, there are three categories of options: - **Third-party DA**: Third-party DA solutions serve as intermediate networks that are decentralized and store data offchain for low-cost. - **L1**: Rollups can post transaction data to Ethereum using the special resource created by EIP-4844 or as calldata. - **Offchain DACs**: Rollups can also build their own DA solution via an offchain DA committees, an allowlisted set of participants who attest that transaction data is available and provide access to that data, when requested. ### Gas token Every transaction on a rollup incurs a fee relative to the computational resources required to execute that transaction, along with other inputs. This transaction fee is also called gas, and, on Ethereum, gas is always paid in ETH. But rollups can be configured to use any token, even their own, for paying transaction fees. These transaction fees accrue to the rollup’s sequencer and create buy-side demand from a rollup’s users. Using a custom gas token can enhance tokenomics, but with one caveat: price volatility can result in lost value, as the rollup will always have to swap the token into ETH to pay onchain costs.  ### Bridge Bridges allow users to move funds between blockchains. For rollups, bridges are crucial first and foremost to onboarding. OP Stack and Arbitrum Orbit come equipped with their own native bridges that connect the rollup to Ethereum. Third-party bridges, including Alchemy’s bridge solution, are a neutral and more flexible access point for connecting your rollup to other L2s and even blockchains outside of Ethereum. For optimistic rollups, third-party bridges provide the added benefit of offering a solution to the seven-day waiting period.  ### RPC nodes RPC \(Remote Procedure Call\) nodes are servers that enable intra-network communication via RPC calls. Nodes provide the core onchain operations for transactions, smart contract calls, and querying data like wallet balances. The most advanced RPC node providers, like Alchemy’s  Node API, use autoscaling frameworks to automatically scale available RPC nodes up and down depending on onchain traffic.  Having a reliable RPC node that offers near-100% uptime and stays up-to-date is crucial for a rollup; if not, transactions on the network may fail or get stuck, resulting in a poor user experience and directly impacting user trust. ## Configuring scalable custom rollups **Customizability is one of the core advantages of launching a rollup**. Here are some of the non-essential, but important-to-have features that can be integrated into a rollup, depending on its purpose.  ### Account abstraction  If you’re deploying a rollup to capture transaction revenue, enabling account abstraction features is a priority. Account abstraction makes it possible to build a seamless onchain experience by removing the most common points of friction for new users.  What is account abstraction for a new rollup? Smart wallets are wallets powered by smart contracts, an implementation enabled through ERC-4337. - Provide secure onboarding with email, social login, or any web3 wallet - Enable account recovery and secure authentication through MFA - Sponsored gas lets users transact without signing transactions or paying for gas fees - Enable policies on accounts for multi-sig, permissions, automations or more. With the right account abstraction features, a rollup can provide its users with an **Internet-like UX** to optimize for easy onboarding and to reduce the number of clicks required for the most common interactions.  - **Conditional transaction execution.** Account abstraction allows users to program their wallets to automatically carry out transactions under specific circumstances - **Gas sponsorship.** Your rollup can pay for gas on users’ behalf or support gas payment in tokens other than ETH  - **Session keys.** Users may continuously transact on your rollup for a given period of time without needing to sign each transaction Features like sponsored gas, for example, enable a chain operator to pay users’ transaction fees. Using Alchemy Smart Wallets’s Account Abstraction, the project onboarded 3.3M fans. Gas sponsored transactions for these users resulted in 4X growth of total transaction volume.  Read more about how Alchemy supports easy account abstraction features, [here](https://www.alchemy.com/overviews/eip-7702-ethereum-pectra-hardfork). Services for third-party dApp developers More specialized services like **oracles, indexers, and block explorers** services are available à la carte, and are must-have configurations for any rollup that wants smart contract developers to deploy on their chain: - **Oracles** provide accurate data sharing between your rollup and anything you target offchain. For Decentralized Exchanges \(DEXs\), oracles provide the latest pricing to ensure all assets are priced accurately at all times - **Subgraphs** allow developers to access onchain data related to their rollup. Subgraphs provide APIs for onchain apps to query a rollup’s data without needing to run a node on the network, making them important for third-party developers rollups want to attract - **Indexers** extract data from the chain, put it into a readable or query-able format, and surface it in a more convenient UI - Block explorers, such as [Etherscan](https://www.alchemy.com/dapps/etherscan), allow users to browse information about blocks, transactions, and addresses on your rollup ## The bull and bear case for rollups ### Bull case In one word: specialization.  Ethereum’s approach to scaling, leaning hard on L2s, has led to a modular blockchain revolution. **This is the industry’s recognition that no single blockchain can be all things to all people**. Much better is to custom-spec chains that serve unique, pre-determined purposes.  Developers can tailor execution environments to specific application requirements—whether optimizing for capital efficiency in a DeFi application, latency for gaming responsiveness, or enterprise compliance needs. This flexibility enables user experiences that feel more like familiar internet applications than traditional blockchain interactions. Economically, rollups allow builders to capture value directly rather than seeing a base layer extract the value from their project. This creates sustainable incentive alignment between development teams and protocols. Finally, there are [shared interests between rollups and Ethereum](https://ethereum.org/en/roadmap/scaling/). Rather than competing with it, rollups drive demand for Ethereum block space, handling computational complexity elsewhere. It’s a relationship designed to enhance rollup efficiency even while creating the conditions for security at the L2 level—with a number of emerging interop solutions being worked on that will likely [ease the pain of walled L2 gardens in the coming years, even as Ethereum aims for 100k ](https://www.coindesk.com/tech/2024/10/17/vitalik-buterin-wants-ethereum-to-hit-100k-transaction-per-second-with-rollups)TPS. ### Bear case Despite our bullishness, developers thinking about launching a rollup should understand some of the significant challenges they face.  Without a RaaS, the technical complexity required to successfully build, launch, and maintain a rollup that can truly scale to millions of transactions means [the barrier to entry is extremely high](https://messari.io/report/the-rollups-as-a-service-ecosystem). And even with third-party help, many developers find they have deployed chains that can’t handle true scale.  On the other end of the spectrum is the cold start problem, where it’s not scale that plagues a rollup so much as getting started with liquidity, infra, developer tooling, and users. Building out a compelling case to attract users and liquidity to a custom chain is not a simple task—which makes the notion of launching on an existing L1 appealing to many projects.  Existing L1s also don’t suffer from a massive problem in the rollup world: liquidity and user fragmentation. The network effects that make Ethereum powerful are also extremely fragmented.  Infrastructure costs and sequencer centralization present additional concerns, as operational expenses are frequently underestimated and many implementations rely on centralized components that compromise blockchain's core value proposition of trustlessness. The future of scaling likely involves navigating these competing realities rather than a simple victory of one approach over others. Understanding and controlling for these tradeoffs _before_ launching a rollup is critical. ## Deciding on a stack How might you go about deciding on which stack to use? Based on our years of experience, here are some things to consider: ### Optimistic vs. ZK The underlying proving system defines how fraudulent or invalid transactions are identified and resolved. **Optimistic rollups** operate on the assumption that all transactions are innocent until proven guilty. They [post transaction data to Ethereum](https://docs.optimism.io/stack/rollup/overview) and employ fraud proofs to challenge any discrepancies. If a transaction is flagged as fraudulent, the rollup can rewind the chain, removing the invalid data.  Instead of assuming innocence, **ZK rollups** provide a [mathematical guarantee of correctness](https://docs.zksync.io/zksync-protocol/rollup/finality). This eliminates the need for a dispute resolution period, allowing ZK rollups to finalize transactions in hours rather than days.  Choosing from the different stack frameworks is a multi-dimensional question beyond the scope of this report. But each has certain unique properties that can help determine which framework is the best fit.   - Rollups built with **OP Stack** have the option to [join the Superchain](https://www.superchain.eco/), a network of OP Stack chains with shared native interoperability. Chains that are part of the Superchain contribute a share of revenue to the [Optimism Collective](https://www.optimism.io/) and are subject to a community [governance mechanism called the Law of Chains](https://gov.optimism.io/t/final-law-of-chains-v0-1/6514). - Orbit Chains have [the fastest block times](https://research.arbitrum.io/t/the-power-of-faster-blocks/9609), which can make it better for use cases like onchain gaming that demand real-time transaction finality. Orbit Chains also have exclusive access to AnyTrust, a Data Availability \(DA\) layer built by Arbitrum. - **ZK Stack**: Chains built with ZK Stack feature guaranteed security \(through ZK proofs\), capability for privacy, and built-in permissioning.   ### Other considerations **Interoperability**: Consider how your rollup will connect and interact with other chains and applications. Right now, interoperability isn't seamless, as liquidity is fragmented across various rollups. Users often need to bridge funds between chains, which can be time-consuming and expensive. While Alchemy Rollups can implement various bridging options to connect your chain based on user needs, native interoperability likely drives greater network effects. **Governance or progressive decentralization**: As your rollup evolves, how will decisions be made? What role will the community play? Governance tooling allows token holders to vote on key parameters, upgrades, and initiatives. **Appchain vs. ecosystem**: Are you building a specialized appchain tailored to a specific use case, or a general-purpose ecosystem designed to be a launchpad for a variety of applications? **Appchains** are like anything handmade: optimized for a specific effect. By tailoring the blockspace to a particular use case, appchains can achieve greater efficiency, making it easier to drive adoption by a segment of users. The tradeoff here is that an appchain’s total addressable market will always be defined by the total addressable market of its particular vertical.  ​Appchains are tailored to the needs of specific ecosystems, and designed for deep alignment over broad generality. By moving sequencing and economic logic onchain, they give communities full control over execution, fees, and governance—enabling custom gas tokens, stake-based inclusion, and sustainable value capture. They offer lower costs, higher performance, and greater resilience than general-purpose rollups. But they’re not one-size-fits-all. Appchains start without shared network effects, and require thoughtful governance to avoid early concentration of power. Still, their strength lies in focus—scaling ecosystems through depth, not breadth. Ecosystem chains are designed to be bustling metropolises, attracting a diverse range of developers and applications. These rollups prioritize developer experience, offering a rich set of tools and infrastructure to support a thriving ecosystem. Rollups designed as ecosystems have greater absolute potential for revenue from applications deployed on the rollup. Here the tradeoff is total absolute potential for performance. Generalizability makes it harder for ecosystem chains to stand out in performance, while tools like Stylus, for example, greatly expand the potential pool of developers by providing support for more widely known programming languages.  This is the very top of the decision tree for any project interested in launching a rollup. For the full end-to-end, reach out to the [Alchemy Rollups](https://www.alchemy.com/contact-sales-rollups) team. ## What does it cost to run a rollup? Operational costs for running a rollup can vary drastically depending on the scale of the chain. While some RaaS providers charge a monthly or flat fee to deploy a testnet, **testnets are included for free for all Alchemy Rollups customers.** ## Why Alchemy rollups? When building in an evolving rollup ecosystem, the choice of infrastructure partner becomes increasingly critical. [Alchemy Rollups](https://www.alchemy.com/rollups) enables enterprises and projects to deploy specialized, scalable rollups while abstracting away the technical and operational overhead. Teams are looking for more than just infrastructure when selecting a RaaS provider. In most cases, they need a white-glove partner to help them figure out how to use their rollup infrastructure best to solve their specific problems. Alchemy works with some of the most ambitious companies in web3, fintech and beyond who need white-glove design, engineering and support for their chains.  Customers who deploy a rollup with Alchemy get: **Enterprise-grade infrastructure:** Alchemy Rollups are powered by the same battle-tested, high-performance infrastructure used across web3 and on many of the largest L2s, including Base, Monad, Unichain, World Chain and more.  Comprehensive developer experience: Every developer tool—including 100\+ APIs, AA, smart wallets, and more—are instantly available on an Alchemy-powered mainnet. Post-launch vision: While many RaaS providers emphasize initial deployment, Alchemy Rollups knows that scaling starts after launch, providing access to millions of developers and the hands-on support needed to grow, optimize, and scale your ecosystem. **More control without more complexity:** By managing the complexity of running rollup infrastructure at scale, teams can focus on refining and optimizing their core app, community and roadmap.   For more on how Alchemy Rollups can support the chain you’re building, reach out to the team [here](https://www.alchemy.com/contact-sales-rollups). ## Frequently asked questions ### What is a rollup in 2025? Rollups are Layer 2 scaling solutions that process transactions offchain and post batches to Ethereum for verification, enabling higher transaction speeds and lower costs while inheriting Ethereum's security and decentralization. They function as independent blockchains built atop Ethereum with over 100 mainnets securing $31B in total value locked. ### How do Rollups-as-a-Service (RaaS) platforms simplify deploying a custom rollup? RaaS platforms like Alchemy Rollups automate infrastructure setup, contract deployment, and node management, allowing developers to focus on innovation rather than complex infrastructure maintenance. We provide 100+ APIs, account abstraction, and full customer support from engineers. ### What are the main differences between optimistic and ZK rollups? Optimistic rollups assume transactions are valid by default and use fraud proofs with a ~7-day dispute period, offering lower overhead costs and wider adoption. ZK rollups use cryptographic proofs to guarantee transaction validity immediately, enabling settlement in hours with greater security guarantees but slightly higher per-transaction costs. ### Which rollup frameworks does Alchemy Rollups support? We offer three framework options: Optimism's OP Stack, Arbitrum's Orbit, and ZKsync's ZK Stack. Each framework has unique properties tailored to different use cases, from Superchain interoperability with OP Stack to fastest block times with Orbit. ### Why did rollup adoption surge after the Dencun Upgrade? The Dencun Upgrade introduced blobs, a low-cost resource for posting transaction data that reduced L2 fees by up to 1000x, making Optimism transaction fees one-tenth of a cent. This drove significant user and activity growth, with cumulative TVL across rollups reaching an all-time high of $51.5B in November 2024. ### What is account abstraction and why is it important for rollups? Account abstraction enables smart wallets through ERC-4337, allowing features like social login, account recovery, sponsored gas, and gasless transactions. These capabilities create an Internet-like user experience that optimizes onboarding and reduces friction for new users. ### What infrastructure components are essential for a successful rollup? Essential components include RPC nodes for network communication, bridges for moving funds between chains, data availability solutions, and optional services like oracles, indexers, and block explorers for third-party developers. We provide autoscaling RPC infrastructure with near-100% uptime. ### Can I use a custom token for gas fees on my rollup? Yes, rollups can be configured to use any token, including their own native token, for transaction fees instead of ETH. Custom gas tokens can enhance tokenomics and create buy-side demand, though price volatility may result in lost value when swapping to ETH for onchain costs. --- # Deposit Tokens for Banks: A Practical Playbook URL: https://www.alchemy.com/blog/deposit-tokens-for-banks-a-practical-playbook.md Banks face an inflection point: digital money is becoming programmable, and customers expect instant, auditable settlement across new rails. Deposit tokens—bank-issued, onchain representations of fiat deposits—offer a pragmatic path to deliver 24/7 settlement, programmable treasury, and new merchant and liquidity products while preserving banks' control over reserves, compliance and custody. **The regulatory landscape just shifted decisively in banks' favor.** The [GENIUS Act](https://www.congress.gov/bill/119th-congress/senate-bill/394/text) \(July 2025\) explicitly distinguishes tokenized deposits from payment [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), preserving banks' ability to issue deposit tokens that pay interest, maintain deposit insurance, and operate under existing banking authority. Combined with major bank implementations already processing billions daily, deposit tokens are positioned to capture [$100-140 trillion in annual institutional flows by 2030](https://www.citigroup.com/global/insights/beyond-stablecoins-why-bank-tokens-could-boom). This piece explains why deposit tokens matter, the concrete technical and operational requirements for a bank-grade program, and how Alchemy's enterprise solutions accelerate secure, auditable deployments for companies like Kinexys by J.P. Morgan, Stripe, VISA, and more. ## Why deposit tokens now? Deposit tokens put cash where modern apps live: on programmable infrastructure. For banks, this unlocks immediate business value: - **Real-time settlement and liquidity:** move funds instantly across partners and markets without legacy batch cycles, 24/7/365 - **Programmability:** enable automated sweeps, payroll, merchant payouts and treasury rules that run on deterministic contracts - **New rails and products:** tokenized money-market instruments, merchant acceptance, intra-bank liquidity and on-chain liquidity services - **Competitive advantage over stablecoins:** deposit tokens can pay interest, carry deposit insurance, and integrate seamlessly with existing banking infrastructure These benefits come with strict requirements: determinism in settlement and reconciliation, controlled issuance and custody, robust KYC/AML, and operational SLAs that match existing payment rails. ## Regulatory clarity: the GENIUS act advantage The [GENIUS Act](https://www.congress.gov/bill/119th-congress/senate-bill/394/text) \(July 2025\)—the first federal US legislation on stablecoins—creates a critical distinction for banks: **tokenized deposits are explicitly excluded from stablecoin regulation**. Interest payments

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, "3": { title: false, tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Deposit insurance

", tooltip: "", icon: "" }, "2": { title: "

FDIC insured

", tooltip: "", icon: "" }, "3": { title: "

Not insured

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Regulatory framework

", tooltip: "", icon: "" }, "2": { title: "

Existing banking law

", tooltip: "", icon: "" }, "3": { title: "

New GENIUS Act requirements

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Integration

", tooltip: "", icon: "" }, "2": { title: "

Direct bank infrastructure

", tooltip: "", icon: "" }, "3": { title: "

May require separate systems

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Banks can issue tokenized deposits under existing authority—no new licensing, no interest prohibition, no loss of deposit insurance. The [FDIC is developing specific guidance](https://www.fdic.gov/news/press-releases/2025/fdic-approves-proposal-establish-genius-act-application-procedures-fdic) for tokenized deposits through 2026, and [state supervisors have called for clear federal-state coordination](https://www.csbs.org/csbs-tokenized-deposits-comment-letter) to support bank innovation. **This regulatory clarity is decisive.** State banking supervisors report that banks consistently state clear guidance is "critical before they move forward with significant investments" in deposit tokenization. That clarity has arrived. ## Deposit tokens vs. stablecoins: why institutions are choosing banks While stablecoins reached $300B\+ in circulation, **tokenized deposits are capturing institutional and wholesale flows** that require safety, integration, and yield: **Why deposit tokens win for institutions:** 1. **Interest and yield** - Can pay interest to holders \(stablecoins cannot under GENIUS Act\) 1. **Deposit insurance** - FDIC protected \(stablecoins are not\) 1. **Seamless integration** - Works within existing banking relationships, no siloed liquidity 1. **Lower counterparty risk** - Regulated bank liability vs. private issuer **Market momentum is accelerating:** - **JPMorgan:** [$10B\+ daily in JPMD flows](https://www.jpmorgan.com/kinexys/digital-payments/jpm-coin), [now on Base public blockchain](https://www.jpmorgan.com/payments/newsroom/kinexys-usd-digital-deposit-tokens) \(December 2025\) - **Citi:** [Token Services integrated with 24/7 USD Clearing](https://www.citigroup.com/global/news/press-release/2025/citi-integrates-citi-token-services-with-24-7-usd-clearing-real-time-cross-border-payments-liquidity-management) across 250\+ banks in 40\+ markets - **HSBC:** [Tokenized Deposit Service live](https://www.about.hsbc.com.hk/news-and-media/hsbc-launches-tokenised-deposit-service-for-corporate-cash-management-in-hong-kong) for corporate liquidity management - **Hong Kong:** [Project Ensemble pilot](https://www.elliptic.co/blog/crypto-regulatory-affairs-hkma-tokenization-pilot-program-begins) with Standard Chartered, HSBC, Bank of China, BlackRock, Franklin Templeton ## What banks must build A production deposit-token program is an integration of three capability layers plus enterprise governance: 1. **Settlement Infrastructure \(Core RPC & Sequencing\)** — deterministic transaction submission, predictable confirmation/finality, and infrastructure isolation for high-value flows. Banks typically require dedicated endpoints or private sequencers and clear SLOs to meet payment-grade expectations. Alchemy's enterprise RPC and dedicated sequencing options are designed to deliver this isolation and SLA discipline for production settlement. 1. **Transaction & Custody Layer** — permissioned mint/burn, on-chain policy enforcement \(whitelists, freezes, transfer hooks\), and institutional custody \(HSM/MPC/TEE, multi-signatures and governance\). For the best client UX, banks also need account-abstraction and gas sponsorship so customers and merchants are free of native gas management. Alchemy's industry-leading gasless transaction infrastructure enables sponsored, gasless flows and integrate with standard custody models. 1. **Data, Reconciliation & Compliance Layer** — real-time streaming of mint/transfer/burn events, a deterministic reconciliation engine that maps on-chain events to the bank ledger, AML/KYC pipelines, auditor exports and proof-of-reserves. Alchemy's indexing and packaged data products accelerate reconciliation, compliance workflows and auditor-ready reporting. Each layer maps to bank teams and controls: settlement to infra/SRE, transaction to custody/payments, and data to treasury/compliance. ## A practical, bank-grade token lifecycle A reliable mint → transfer → redeem flow must make every action auditable and idempotent: - **Mint \(issue\)** Off-chain: customer deposits fiat; bank credits ledger. On-chain: bank creates a signed mint order \(governed by multisig/time-lock\); a custody system signs the transaction and a dedicated RPC/sequencer submits it; the data layer consumes the mint event and reconciles it to the ledger. - **Transfer \(payments / sweeps\)** Transfers execute under contract-level policy \(whitelists, spend limits\) and should stream to AML/KYC tooling in real time. For customer convenience, banks can use account abstraction to sponsor gas so users don't manage native tokens. - **Redeem \(burn\)** Customer requests redemption; bank checks off-chain reserves and governance approvals; custody signs the burn; the burn is confirmed on-chain and reconciliation debits the customer's fiat position. **Operational principle:** every on-chain event must produce a single, auditable, idempotent entry in the bank ledger to avoid double-credits or double-burns. ## Operational and risk controls Banks must treat mint/burn as high-value payments and adopt full payment-grade controls: - **Governance & approvals:** multisig/time-locks for mint/burn and upgrade governance. - **Custody:** HSM/MPC/TEE with role separation and key rotation policies. - **Compliance & monitoring:** embed KYC/AML checks into onboarding and transfer hooks; stream events to AML engines; implement sanctions screening and velocity checks. Leverage reliable indexing and webhooks to feed compliance systems. - **24/7 liquidity management:** Unlike traditional banking with business hours, deposit tokens enable instant redemptions 24/7/365. Banks need real-time monitoring dashboards, stress testing for continuous redemption scenarios \(e.g., 20-30% redemption in 4 hours outside business hours\), intraday liquidity tools, and contingency funding plans. [State banking supervisors have explicitly called for](https://www.csbs.org/csbs-tokenized-deposits-comment-letter) "updated liquidity risk monitoring and management expectations that account for the risks of always-on, 24/7 redemption." - **SLAs & ops:** define confirmation latency, throughput and reconciliation SLOs; run chaos tests; set P0/P1/P2 incident playbooks with 24/7 coverage. Alchemy's enterprise support is built around SLA-oriented production usage. - **Economics & liquidity:** determine gas sponsorship models, reserve and idle-cash strategies, and capital buffers/insurance for redemption stress. ## Architecture choices and trade-offs - **Fully on-chain \(1:1 redeemable\):** greatest transparency; requires continuous reserve backing and frequent audits. - **Hybrid model \(off-chain ledger anchored on-chain\):** preserves regulatory control while leveraging immutability for proofs; reduces on-chain liquidity exposure. Alchemy's indexing products simplify creating auditor-ready anchor proofs. - **Chain selection: Early implementations used private permissioned chains, but the trend is shifting toward permissioned tokens on public blockchains** \(e.g., [JPMorgan's JPMD on Base](/blog/alchemy-smart-wallets-jp-morgan-token)\). Token contracts enforce KYC and whitelisting while leveraging public infrastructure for interoperability and reduced overhead. Alchemy supports enterprise sequencing and dedicated RPC patterns across both public and permissioned network choices. ## Proof point: enterprise readiness Large banks are already processing billions daily in tokenized deposits, demonstrating that the technical and operational requirements for production deployment are achievable: - **JPMorgan:** [$10B\+ daily in JPMD transactions](https://www.jpmorgan.com/kinexys/digital-payments/jpm-coin) \(December 2025\), [first major bank on public blockchain \(Base\)](https://www.jpmorgan.com/payments/newsroom/kinexys-usd-digital-deposit-tokens) - **Citi:** [Token Services integrated with 24/7 USD Clearing](https://www.citigroup.com/global/news/press-release/2025/citi-integrates-citi-token-services-with-24-7-usd-clearing-real-time-cross-border-payments-liquidity-management), serving 250\+ banks across 40\+ markets - **HSBC:** [Tokenized Deposit Service live](https://www.about.hsbc.com.hk/news-and-media/hsbc-launches-tokenised-deposit-service-for-corporate-cash-management-in-hong-kong) for corporate treasury operations - **Hong Kong Project Ensemble:** [Pilot with Standard Chartered, HSBC, Bank of China, BlackRock, Franklin Templeton](https://www.elliptic.co/blog/crypto-regulatory-affairs-hkma-tokenization-pilot-program-begins) for money market funds and liquidity management ## Getting started: a recommended pilot 1. **Define token spec & controls:** permissioned mint/burn, whitelist/transfer hooks, pause and upgrade rules. 1. **Stand up settlement endpoints:** provision dedicated RPC/sequencer with defined SLAs and run chaos tests. Alchemy provides enterprise endpoints designed for this purpose. 1. **Implement custody & governance:** HSM/MPC/TEE \+ multisig approvals integrated with signing workflows. 1. **Deploy token contract & bundler:** enable sponsored transaction flows for gasless UX. Alchemy's gasless transaction infrastructure accelerates this step and help model sponsorship economics. 1. **Build 24/7 liquidity framework:** real-time monitoring, stress testing, contingency funding, and round-the-clock operational coverage. 1. **Hook up data & compliance:** connect indexing/webhooks to AML engines and build reconciliation pipelines. Alchemy's indexing and packaged data products shorten time to audit readiness. 1. **Establish interoperability:** define multi-bank settlement protocols and ensure connectivity with other institutions. 1. **Pilot and iterate:** run a closed pilot with a small set of counterparties or merchants, tune governance, SLAs and reconciliation until production standards are met. **Inside the pilot:** expect the tightest workstreams to be custody integration, 24/7 liquidity management, reconciliation APIs and SLO validation for the settlement layer. [Alchemy's Gasless Transactions](/gasless-transactions) and support team can help align those pieces with operational runbooks. ## Closing perspective Deposit tokens are not a speculative experiment for banks. They are a practical evolution of how value can move with the speed, programmability and auditability required by modern finance. The [GENIUS Act's](https://www.congress.gov/bill/119th-congress/senate-bill/394/text) regulatory clarity has removed significant barriers and created clear competitive advantages for banks over [stablecoin issuers](https://www.alchemy.com/dapps/best/stablecoin-issuers). With major institutions processing billions daily and projections of [$100-140 trillion in annual volumes by 2030](https://www.citigroup.com/global/insights/beyond-stablecoins-why-bank-tokens-could-boom), the market trajectory is clear. But success requires more than a token contract: it requires production-grade settlement, institutional custody, deterministic reconciliation, 24/7 liquidity management and enterprise SLAs. Alchemy's proven industry-leading infrastructure is designed to meet the production requirements institutions demand: 99.99% uptime securing $1T\+ in annual transactions, SOC 2 Type II certification, dedicated RPC endpoints with SLA guarantees, and easy-to-use APIs for gasless user experiences and real-time indexing for reconciliation and compliance. Alchemy helps teams industry leaders like Kinexys by J.P. Morgan, Robinhood, Stripe, Visa, VanEck, and Franklin Templeton deploy their digital asset strategies in months. ### Want to explore a pilot? If your bank is evaluating deposit tokens, we can help you design and run a pilot that aligns with your custody, compliance and SLA requirements. [**Contact us**](/contact-sales) to get started. ## Frequently asked questions ### What are deposit tokens? Deposit tokens are bank-issued, onchain representations of fiat deposits that enable instant, programmable settlement while preserving banks' control over reserves, compliance, and custody. ### How do deposit tokens differ from stablecoins? Deposit tokens are issued by regulated banks under existing banking authority, can pay interest, carry FDIC deposit insurance, and integrate seamlessly with existing banking infrastructure, while stablecoins typically cannot pay interest under the GENIUS Act and lack deposit insurance. ### What is the GENIUS Act and how does it affect banks issuing deposit tokens? The GENIUS Act (July 2025) is the first federal US stablecoin legislation that explicitly excludes tokenized deposits from stablecoin regulation, allowing banks to issue deposit tokens under existing authority without new licensing, interest prohibitions, or loss of deposit insurance. ### What are the main business benefits of deposit tokens for banks? Banks gain real-time 24/7/365 settlement and liquidity, programmability for automated treasury operations, new rails for tokenized instruments and merchant acceptance, and competitive advantages over stablecoins through interest payments and deposit insurance. ### What technical infrastructure do banks need to issue deposit tokens? Banks require settlement infrastructure with dedicated RPC and sequencing, transaction and custody layers with HSM/MPC/TEE and multisig governance, and data/compliance layers for real-time event streaming, reconciliation, and AML/KYC integration. ### How does the mint and redemption process work for deposit tokens? Minting involves the customer depositing fiat, the bank crediting its ledger, creating a signed mint order governed by multisig controls, and submitting it on-chain through custody systems. Redemption requires customer requests, bank verification of reserves and approvals, custody-signed burns, and on-chain confirmation with ledger reconciliation. ### What special liquidity management is required for deposit tokens? Unlike traditional banking, deposit tokens enable instant 24/7/365 redemptions, requiring banks to implement real-time monitoring dashboards, stress testing for continuous redemption scenarios, intraday liquidity tools, and contingency funding plans with round-the-clock operational coverage. ### Which major banks are already using deposit tokens in production? JPMorgan processes $10B+ daily in JPMD flows and deployed on Base public blockchain, Citi integrated Token Services with 24/7 USD Clearing across 250+ banks in 40+ markets, and HSBC launched Tokenized Deposit Service for corporate liquidity management. --- # Starknet is now publicly available on Alchemy URL: https://www.alchemy.com/blog/develop-on-starknet-with-alchemy.md Following the launch of our closed beta last year, we’re excited to announce that [Starknet is now publicly available](https://www.alchemy.com/starknet) on Alchemy! Starknet’s pioneering approach to zero-knowledge \(ZK\) rollups provides users with scalability, lower costs, and the composability and security benefits of Ethereum. ## A trailblazing network meets web3’s most trusted developer platform By moving to public availability, Alchemy is supporting Starknet’s fast-growing developer community with the infrastructure and tools builders need to create feature-rich, breakthrough [apps](https://www.alchemy.com/dapps/top/defi-dapps). This includes: - ‍**Core JSON RPC Endpoints** - scale every piece of Starknet node functionality with dedicated distributed systems, including a growing set of trace APIs**‍** - **Composer** - make JSON-RPC calls directly from the developer dashboard to debug and fix failing requests or explore the behavior of new methods**‍** - **Explorer** - instantly search through millions of historical requests to find specific bugs, performance optimizations, and error patterns**‍** - **Goerli Testnet** - the official sandbox environment for Starknet’s developer community _“Alchemy and Starknet are a great match. Alchemy makes it easy to build dapps, and Starknet provides the scale and features developers need to achieve widespread adoption. Together, we’ve created the most solid foundation to support a thriving builder ecosystem and valuable end-user experiences.”_ _‍_- **Gal Ron**, product manager and blockchain researcher at StarkWare ## ZK scalability with native account abstraction Starknet leverages [ZK-Rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) to unlock scalability by bundling transactions on their Layer 2 network and committing them to Ethereum with [a STARK proof](https://www.alchemy.com/overviews/snarks-vs-starks) - decreasing costs to a fraction of transacting on Layer 1 Ethereum. Starknet is also a leader in deploying UX-revolutionizing Account Abstraction, and integrating it at the protocol level. Externally owned accounts \(EOAs\), the default type of account used on Ethereum which has limited capabilities, don’t exist on Starknet’s network. **The result?** Starknet users can natively use smart contract accounts without having to reprogram their wallets into smart contracts. This empowers developers to build for a world where end-users and businesses are always represented by a smart contract wallet. _“Zero-knowledge rollups are supercharging dapp development with scalability and cost-efficiency. Starknet is a pioneer of this exciting technology, and a trailblazer in providing native Account Abstraction. We’re excited to support and grow their community by making our leading web3 infrastructure and tools available to global builders on their network.”_ _‍_- **Rob Boyle**, Product Manager at Alchemy ## The Alchemy edge Building with Alchemy gives Starknet developers unique access to: - The industry’s most value-packed free tier - Extensive [Starknet documentation](https://www.alchemy.com/docs/reference/starknet-api-quickstart), resources and education - Legendary, 24/7 customer support We look forward to welcoming every builder to Starknet’s innovative network and community. [Get started for free today!](https://www.alchemy.com/starknet) --- # DraftKings teams up with Alchemy to enhance its NFT presence URL: https://www.alchemy.com/blog/draftkings-teams-up-with-alchemy-to-bolster-its-growing-presence-in-nfts.md DraftKings teams up with Alchemy to bolster its growing presence in NFTs  ### DraftKings marketplace is uniquely positioned at the intersection of Web3 sports and culture DraftKings, a preeminent digital sports entertainment and gaming leader, has been making big moves into web3 with [DraftKings Marketplace](https://marketplace.draftkings.com/), their mainstream-accessible NFT ecosystem. There is an exciting and ambitious roadmap ahead for DraftKings Marketplace, and today, we’re thrilled to announce that the DraftKings team will be partnering with Alchemy as their comprehensive developer infrastructure platform.  By choosing Alchemy, DraftKings makes its latest signal to the industry that the business is serious about accelerating its growth in web3. #### With a decidedly dynamic and multi-pronged approach, in less than a year DraftKings has already solidified itself as a big dog in blockchain.  A quick recap on the sports tech company’s web3 journey so far: - August 2021: DraftKings launches its [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) on [**Polygon**](https://polygon.technology/developers/), and is the exclusive marketplace for [Autograph](https://autograph.io/), Tom Brady’s NFT company. Since launch, tens of thousands of DraftKings users have purchased and resold some of Autograph’s most sought after NFTs, with drops featuring many of the world’s most iconic athletes including Tiger Woods, Simone Biles and Derek Jeter. - December 2021: The** NFL Players Association and DraftKings join forces **to launch NFT-based fantasy games for the upcoming football season. Gamification is poised to be a pillar of DraftKings’ web3 initiatives by layering NFTs into the expertise of game design and mechanics. - **March 2022:** **DraftKings partners with [Zero Hash](https://www.alchemy.com/dapps/zero-hash) to become a Polygon validator**, making DraftKings one of the largest governors of the booming Layer 2 chain. The DraftKings team attributes this investment to wanting to “future proof aspects of our business in the web3 era.”  - **March 2022**:** DraftKings releases its first in-house digital collectibles**, the “Primetime NFT Series” to celebrate the biggest moments in sports, which have so far included March Madness and the Masters, while bridging to other DraftKings offerings like daily fantasy and betting.  - **April 2022**:** DraftKings and Alchemy announce a strategic relationship**; DraftKings will leverage Alchemy’s infrastructure to bolster its minting pipeline, manage transactions and stay on top of on-chain events. #### Why Alchemy? DraftKings believes it’s just getting started in web3 - in the first inning, so to speak \(pun, intended\). To scale and dominate the complexity of the ecosystem, the DraftKings team understands the need to be laser focused on customers, in an “all hands on deck” mode, preserving bandwidth to invest in creating new and immersive user experiences. This is why DraftKings chose to work with Alchemy, a comprehensive developer platform that completely abstracts away the complexity of connecting to the blockchain. DraftKings is confident that Alchemy is the only team that can do just that, with reliable, scalable, and accurate blockchain data.  Users can expect many more features and products from DraftKings Marketplace in the coming months \(and years!\), as the company foresees sports becoming a key catalyst for mainstream blockchain adoption.    DraftKings has a thrilling web3 roadmap coming in 2022, and Alchemy will help power it all. Let’s go! --- # ERC-4337 Dummy Signatures and Gas Token Transfers URL: https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers.md In [ERC-4337 Gas Estimation](https://www.alchemy.com/blog/erc-4337-gas-estimation) we discussed how gas works in ERC-4337 and our method for gas estimation. With this method, we should be able to provide users with accurate values for submitting their user operations. Alas, its not always that simple. Let’s dive into a few other problems that complicate ERC-4337 gas estimation. ## What are dummy `signature` values? In most smart contract account implementations the signature field is computed off-chain by hashing a user operation and signing that hash using some signature scheme \(ECDSA being the most popular\). This signature is verified onchain by the account contract during the verification phase. For example, `SimpleAccount` [uses](https://github.com/eth-infinitism/account-abstraction/blob/d1333cf58c17d5cc84e830f3fc3a69081c777979/contracts/samples/SimpleAccount.sol#L93) an [EIP-191](https://eips.ethereum.org/EIPS/eip-191) signature scheme on the hash that is validated onchain during its `validateUserOp` function using [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin)’s [ECDSA library](https://docs.openzeppelin.com/contracts/2.x/api/cryptography#ECDSA-toEthSignedMessageHash-bytes32-). This signature must be computed after gas is estimated, as those fields are included in the hash. However, there are portions of the gas estimation step that require the signature field to be populated: `preVerificationGas` and `verificationGasLimit `. ### preVerificationGas In the section on `preVerificationGas` estimation in part one of this series, we discussed three calculations that the bundler uses to account for unmetered gas. Notice that steps 2 and 3 \(calculating the user ops's share of the calldata gas cost and the user op's share of any execution gas overhead\) both directly depend on the length and content of a user operation, including the `signature` field. ### verificationGasLimit Almost all useful smart contract account implementations will require some signature verification. This gas needs to be estimated! This estimation process cannot revert or else verification gas cannot be implemented. How do we choose what signature to use? ## How to calculate dummy signature values To solve these problems, many [ERC-4337 bundlers](https://www.alchemy.com/overviews/what-is-a-bundler) use a “Dummy Signature” that must be provided by the caller of `eth\_estimateUserOperationGas` based on the specific account type. ### Constraints This dummy signature has a few constraints: 1. The dummy value’s length should be the equal to the maximum signature length and must contain the maximum number of non-zero bytes valid for the account. a. This ensures that the `preVerificationGas` calculations can account for the worst-case signature’s contribution to calldata and entry point overhead costs. 1. The dummy value must, when supplied to the account’s validation function, cause the worst-case gas usage and must not cause a revert. 1. The dummy value shouldn’t be a valid signature for any valid user operation. A dummy `signature` value for `SimpleAccount` can be found in our documentation for the [eth_estimateUserOperationGas](https://www.alchemy.com/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-estimate-user-operation-gas) method. **This dummy signature has the following properties:** 1. It’s the exact length of an ECDSA signature 1. It has the maximum number of non-zero bytes allowed in an ECDSA signature 1. It’s a valid ECDSA signature \(so that the `.recover\(\)` call does not revert 1. It’s not a signature for any known user operation, so `SimpleAccount` will always return `SIG\_VALIDATION\_FAILED` Account implementors need to ensure they write their validation functions such that supplying a dummy signature is possible. **This means:** 1. Only using `REVERT` on signatures that cannot be the dummy signature. Return `SIG\_VALIDATION\_FAILED` when the dummy signature is supplied. 1. Taking care to not “short-circuit” failure for the dummy signature. That is, the dummy value should run through the entire validation function and use the maximum amount of gas. 1. In practice, this means removing any early returns. An account validation function may determine that the signature is invalid early, but it should continue to run the function logic and return the failure at the very end. ## How to calculate dummy `paymasterAndData` values The same requirements above apply to the `paymasterAndData` field during gas estimation: for any paymaster implementation that relies on the gas fields’ values \(i.e. for computing a signature\), we must solve the same problem of supplying a dummy value. ### Constraints This dummy `paymasterAndData` has a few constraints: 1. The dummy value’s length should be the equal to the maximum `paymasterAndData` length and must contain the maximum number of non-zero bytes valid for the account. a. This ensures that the `preVerificationGas` calculations can account for the worst-case `paymasterAndData` contribution to calldata and entry point overhead costs. 1. The dummy value must, when supplied to the paymaster’s validation function, cause the worst-case gas usage and must not cause a revert. 1. The dummy value shouldn’t be a valid `paymasterAndData` for any valid user operation. For example, a [sponsoring paymaster](https://www.alchemy.com/overviews/what-is-account-abstraction-paymasters) that relies on the verification of a sponsorship signature over the user operation hash will need to supply a dummy `paymasterAndData` value during estimation with similar properties as outlined above: 1. The dummy value must contain a valid paymaster contract address 1. Maximum length and byte values for `preVerificationGas` calculations 1. When supplied to the paymaster’s validation function it must consume maximum gas and result in a  `SIG\_VALIDATION\_FAILED` return value Paymaster implementors need to insure they write their validation functions such that supplying a dummy `paymasterAndData` is possible. **This means:** 1. Only using `revert` on data that cannot be part of the dummy. Return ` SIG\_VALIDATION\_FAILED` instead. 1. Taking care to not “short-circuit” failure for the dummy. That is, the dummy should run through the entire validation function and use the maximum amount of gas. a. In practice, this means removing any early returns. A paymaster validation function may determine that the signature is invalid early, but it should continue to run the function logic and return the failure at the very end. ## Gas token transfers The estimation for `verificationGasLimit` must take into account the gas cost of any token transfers during the validation phase.  Many [user ops](https://www.alchemy.com/overviews/user-operations) involve a transfer of tokens during the validation to pay up front for gas, with a refund at the end of the operation for any gas that wasn’t consumed. There are two cases: 1. No Paymaster - this is a transfer of ETH from the sender to the entry point contract. 1. With a Paymaster - this can be anything \(within the allowed rules of the specification\) but often takes the form of an ERC-20 token transfer from the sender to the paymaster. #### What happens if the account doesn’t have enough funds? If `maxFeePerGas` is set to a non-zero value, the transfer during validation will revert if the account doesn’t hold enough tokens to pay the fee. This means that users must fund their accounts prior to attempting to estimate gas. **A desired workflow that isn’t possible now:** 1. Estimate gas 1. Fund account for gas 1. Send operation A possible solution here is to tell the user to leave `maxFeePerGas` unset, or set to zero, when calling `eth\_estimateUserOperationGas`. However, this will set the gas cost to zero and thus a zero value for whatever token transfer needs to occur. In [many account/paymaster types](https://github.com/eth-infinitism/account-abstraction/blob/d1333cf58c17d5cc84e830f3fc3a69081c777979/contracts/core/BaseAccount.sol#L101) a zero gas cost will skip the call to `transfer`.  This leads to a gas underestimation when a zero `maxFeePerGas` is used. Another problem has to do with using a non-zero `maxFeePerGas` and attempting the binary search estimation approach defined in "[Attempt 3: Binary Search](https://www.alchemy.com/blog/erc-4337-gas-estimation)," from part 1 of this series. The first step in that approach is to ensure that the operation is possible by using a maximum gas value. The sender may not have enough assets to pay for gas at that maximum value and the bundler doesn’t always have enough information to determine the balance of the fee token \(i.e. the ERC-20 paymaster case\) to determine the correct upper bound. ### How does alchemy’s bundler solve gas estimation with the transfer of tokens? The approach taken by Rundler for `eth\_estimateUserOperationGas` is as follows: #### No paymaster case - Rundler will always ignore `maxFeePerGas` and `maxPriorityFeePerGas` and set to 0. - Rundler will always add a static 10K gas to `verificationGasLimit` to account for the ETH deposit transfer from sender to entry point. - No client-side changes are required. 💡 Bullet \#1 is a deviation from the ERC-4337 spec which states “gas limits \(and prices\) parameters are optional, but are used if specified” #### Paymaster case - Rundler will always ignore `maxFeePerGas` and `maxPriorityFeePerGas` and set to 0. - Rundler’s `verificationGasLimit` will always be underestimated if any paymaster logic is conditional on the fee value \(like an ERC-20 transfer would be\) - Users of these paymasters are required to account for any extra gas that would be incurred by a non-zero fee client side. For example, if using an ERC-20 paymaster that does a transfer during the validation phase always add a static 75K gas to the `verificationGasLimit` return value from `eth\_estimateUserOperationGas`. This requires clients to be aware of the paymaster contract they’re calling into and have prior knowledge of underestimated gas costs due to transfers. 💡 The Alchemy [aa-sdk](https://github.com/alchemyplatform/aa-sdk) allows paymaster middleware to [modify this gas limit accordingly](https://github.com/alchemyplatform/aa-sdk/blob/56bc34be3a50a2709ca546ed90a980f3c489cbbe/packages/core/src/provider/types.ts#L43). ## What does this mean for developers? Dummy values and the token transfer problem impacts developers building smart contract accounts, paymasters, and account clients. ### Smart contract account developers Smart contract account developers need to ensure that a dummy signature value is always able to be determined client-side based on how the account validation function is going to run. This signature must not cause a revert and must result in a maximum gas estimate. ### Paymaster developers Paymaster developers must ensure that a dummy `paymasterAndData` value is always able to be determined based on how the paymaster validation function is going to run. This value must not cause a revert and must result in a maximum gas estimate. 💡 Alchemy simplifies this for users in its sponsoring paymaster by combining the gas estimation process and the simulation process via [alchemy_requestGasAndPaymasterAndData](https://www.alchemy.com/docs/wallets/api-reference/gas-manager-admin-api/gas-abstraction-api-endpoints/alchemy-request-gas-and-paymaster-and-data) ### Account client developers Account client developers who are integrating with a paymaster that performs transfers during the validation phase \(or any other logic based on the fee value\), and are using Alchemy’s endpoints for estimation, need to add any potential gas associated with the transfer to the `verificationGasLimit` returned by estimation. Stay tuned for a later post outlining more ERC-4337 gas estimation complications! 🦀 ## Continue reading The next articles in this 4-part series explore the challenges estimating gas on layer 2 blockchains like Optimism and Arbitrum and signature aggregators. The series concludes with a walkthrough of the user operation fee estimation process. If you missed part one, learn how ERC-4337 gas estimation works! - [How ERC-4337 Gas Estimation Works](https://www.alchemy.com/blog/erc-4337-gas-estimation) - [L2 Gas and Signature Aggregators](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators) - [User Operation Fee Estimation](https://www.alchemy.com/blog/user-operation-fee-estimation) --- # dYdX is Closing the Gap Between CeFi and DeFi URL: https://www.alchemy.com/blog/dydx-is-closing-the-gap-between-cefi-and-defi.md [dYdX](https://dydx.exchange/) is one of the world's leading decentralized exchanges offering powerful financial products for traders around the globe. By utilizing audited smart contracts, dYdX allows you to maintain full custody of your assets without intermediaries while trading, borrowing, and lending. [David Gogel](https://twitter.com/dgogel), the growth lead at dYdX, explains that they began with the goal of "providing trustless access to more complex financial instruments than those offered by existing decentralized exchanges," and have continued to offer unique tools in the DeFi space. ## A unique kind of DEX dYdX is known for [margin trading](https://blockchain.news/opinion/what-is-crypto-margin-trading-how-does-it-work), which is a form of trading assets that are borrowed from a 3rd party \(lenders\), allowing the trader to greatly increase their volume to gain \(or lose\) higher margins. The amount of additional funds given to a trader is specified by leverage, which is the ratio between the initial investment from the trader and the value given by the lenders. dYdX currently offers up to 5x \(5:1\) leverage, meaning if a trader wanted to trade $5,000 of funds, they would only have to put in $1,000. Margin trading opens the opportunity for those with few assets to gain immense profit from trading, however, there is risk involved. Trade

", tooltip: "", icon: "" }, "2": { title: "

Open short or leveraged positions with leverage up to 10x. Trade on Margin and Perpetuals.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Borrow

", tooltip: "", icon: "" }, "2": { title: "

Borrow any supported asset directly to your wallet. Use existing crypto holdings as collateral.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Lend

", tooltip: "", icon: "" }, "2": { title: "

Deposit funds to continuously earn interest over time. Variable interest ensures you always get market rate.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Manage

", tooltip: "", icon: "" }, "2": { title: "

View, manage, and close margin positions. Track portfolio performance over time.

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Like most decentralized exchanges, dYdX requires traders to have collateral, which is a minimum deposit needed participate in margin trading. In a process called liquidation, when the value of your collateral falls beyond a specific threshold it will automatically be sold to repay your loan. The platform can also be extremely profitable for lenders, who get to constantly earn interest at a much lower risk by simply depositing funds, which are protected by collateral from the borrowers. ## Alchemy supercharged With the recent boom in DeFi, dYdX has grown tremendously without having to worry about infrastructure downtime or hiccups with the support of Alchemy. This past August, dYdX saw a peak of over $48 Million in 24 hour trading volume. Since, then the DeFi boom has cooled down a bit, but dYdX continues to capture a growing portion of the decentralized exchange market share, moving [millions of dollars daily](https://www.coingecko.com/en/dex). Gogel notes what attracted dYdx to Alchemy was the "stellar reputation in terms of engineering talent and customer service," in addition to the stability of Alchemy's product that allows them to “set and forget” complicated and crucial aspects of their infrastructure. While reliability and uptime are paramount to dYdX's needs, Alchemy also offers a number of valuable debugging tools for internal issues and monitoring, which dYdX engineers use to deep dive into their transactions. ## What's next for dYdX The platform currently supports three assets, ETH, DAI and USDC with up to 5x leverage, and 10x leverage for their Perpetual Contract Markets \(synthetic trading markets\), which offer synthetic trading of of BTC-USD, ETH-USD, and LINK-USD. All you need to get started is a crypto wallet and some ETH. dYdX is constantly working on closing the gap between decentralized and centralized finance. With their [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) Rollup Layer 2 solution, dYdX aims to drastically reduce gas costs by 100x and include other major improvements like allowing users to trade from a "single collateral pool that supports cross-margining" this will open up the doors for a plethora of new markets and volume. Alchemy is excited to power dYdX as they continue to expand and grow their user base. [Start trading with dYdX today](https://dydx.exchange/). -- *Interested in building your own blockchain app? [Sign up with Alchemy for free](https://dashboard.alchemy.com/signup/), check out our [documentation](https://www.alchemy.com/docs), and for the latest news, follow us on [Twitter](https://x.com/Alchemy).* *Alchemy is the leading blockchain developer platform with over $7.5 billion in transactions and millions of users from 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Dharma, Kyber. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Chairman of Google, Charles Schwab, and founders and executives of globally leading organizations, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup) and numerous other media outlets.* --- # ERC-1271 Signature Replay Vulnerability URL: https://www.alchemy.com/blog/erc-1271-signature-replay-vulnerability.md On October 27th 2023, Alchemy discovered a ERC1271 contract signature replay vulnerability that affected a large number of smart contract accounts \(SCA\), and led to risks when interacting with several applications. The SCAs affected included our LightAccount and OKX’s SmartAccount, and applications interactions that we identified to be at risk included Permit2 and [Cowswap](https://www.alchemy.com/dapps/cowswap). We promptly raised this issue to the various affected SCAs and applications and discovered that [curiousapple](https://twitter.com/0xcuriousapple), an independent security researcher, had found the same vulnerability a month prior. We collaborated with curiousapple, [Frangio](https://twitter.com/frangio_) \(ERC1271 author\), the ERC4337 team, and other SCA technical experts on a fix. At this point, no funds are at risk and the impact to applications is fairly limited. All involved SCAs have either acknowledged the risk or shipped a fix. ## Technical details ### ERC-1271 contract signatures On Ethereum and all Ethereum Virtual Machine \(EVM\) based chains, there are two different types of accounts - Externally Owned Accounts \(EOA\) and Smart Contracts. EOAs are able to authenticate messages by signing with the private key from it’s associated ECDSA key pair. However, since smart contracts are given a predetermined address during contract creation, it does not have easy access to a private key to sign messages with. To solve this problem, the [ERC-1271](https://eips.ethereum.org/EIPS/eip-1271) contract signatures standard was proposed in 2018. With this standard, smart contracts can implement restrictions/checks for what constitutes a valid signature, and apps can call `contract.isValidSignature` to verify if some action was authorized by the smart contract. In the context of smart contract accounts \(SCAs\), ERC-1271 is very handy as it enables users of SCAs to use signature based applications exactly how EOAs do. These applications include [OpenSea](https://www.alchemy.com/dapps/opensea), and most of DeFi \(which rely on the token approval → call UX\). ### ERC1271 signature replay vulnerability Most SCAs implement ERC-1271 by using its reference implementation shown above. Engineering wise, it’s a lightweight implementation, and it makes client integrations much easier since we could reuse methods such as `signTypedData`, `signMessage` , `eth\_signTypedData\_v` and `personal\_sign` the same way it’s used for EOAs. However, in the case that the same address owns multiple SCAs, and the application doesn’t include the origin address of the interaction, the same signature would be valid across both accounts for that application. Because this vulnerability is only possible with a combination of SCA and application, how bad this vulnerability would be depends on what applications this interaction would work with. The first application we looked into was [Permit2](https://github.com/dragonfly-xyz/useful-solidity-patterns/tree/main/patterns/permit2), which is public infrastructure built by Uniswap that improves the security and UX of [ERC20](https://www.alchemy.com/overviews/erc20-solidity) token approvals flows across the entire industry, and thus is widely used today. The code block below shows the structs that the Permit2 signature covers. Notably, `address owner`, the address that tokens are pulled from, is not covered by the signature and is passed as an argument in calls to Permit2 instead. How an attacker would take advantage of this signature replay vulnerability looks something like: 1. Bob requests a payment of `X` tokens from Alice, who owns `n` SCAs, and requests for it to be done via Permit2 1. After Alice signs the first permit, Bob can replay this permit across all of Alice’s SCAs to receive `n X` tokens total. During this process, we made a proof-of-concept to confirm this vulnerability. That can be found here: [**replay-sig-poc**](https://github.com/omgwiNNING/replay-sig-poc)​ ## Impact As part of our investigation, we discovered that: 1. Multiple SCAs were at risk. 1. Besides our LightAccount, other SCAs included Zerodev’s [Kernel](https://github.com/zerodevapp/kernel/blob/main/src/Kernel.sol), [Biconomy](https://github.com/bcnmy/scw-contracts), [Soul Wallet](https://github.com/SoulWallet/soul-wallet-contract), eth-infinitism’s [EIP4337Fallback](https://github.com/eth-infinitism/account-abstraction/blob/8215b88768d993fb6459c2723d173791a537a2e7/contracts/samples/gnosis/EIP4337Fallback.sol) for Gnosis Safes, [AmbireAccount](https://github.com/AmbireTech/wallet/blob/main/contracts/AmbireAccount.sol), OKX’s [SmartAccount](https://github.com/okx/AccountAbstraction/tree/main/contracts/wallet), Argent’s [BaseWallet](https://github.com/argentlabs/argent-contracts/blob/develop/contracts/wallet/BaseWallet.sol), and [Fuse Wallet](https://github.com/fuseio/fuse-wallet-contracts). 1. Multiple applications were at risk: 1. Permit2 - Signature based transfers are replayable. However, most Permit2 usage is to Universal Router, and any way to take advantage of this would require a standalone critical vulnerability in Universal Router. 1. Cowswap - Trades using the ERC-1271 path are replayable. The signature covers `address recipient`, so the risk here would at most be stale prices and/or some losses to MEV. 1. [Gnosis Safe](https://www.alchemy.com/dapps/gnosis-safe) was not vulnerable to this attack vector. At this point, we disclosed this to the SCAs and applications via a telegram group and discovered that curiousapple had also discovered the same issue a month prior and was collaborating with Frangio and other SCA technical experts on a fix. All in all, the full list of affected combinations of SCAs and applications thus far are shown below: Note: For Argent, as they are a mobile app and generate the signer per device, it is impossible for 2 SCAs to be owned by the same EOA, thus the signature replay attack does not work against Argent. However, projects that fork Argent’s contracts without forking their entire architecture could be at risk and should either adopt Argent’s wallet architecture, or ship a fix. ## Fix There were two SCAs fixes that were proposed. SCA builders should note that they should implement one of these two solutions to prevent the replay attack above: Both solutions would prevent the ERC-1271 signature replay attack. The latter solution is more lightweight, but would mean that wallet clients would have to display an opaque hash for users to sign. The former fix is an easier path to ensuring that signatures would not be opaque to the user which is why we opted for the former fix for LightAccount. Most other SCAs have also opted for the same fix. ## Acknowledgements Big thanks to OKX for paying out a bug bounty to Howy for this issue! Congratulations to [curiousapple](https://twitter.com/0xcuriousapple) for receiving bug bounties from Ambire, Instadapp, Biconomy and Cowswap! Additionally, huge shoutout to: 1. [Dror Tirosh](https://twitter.com/drortirosh) for brainstorming the EIP-712 struct approach fix that most SCAs adopted 1. [Frangio](https://twitter.com/frangio_) for sharing more background on ERC-1271 and the huge push to update ERC-1271’s reference implementation via the EIP committee 1. [Ivo \(Ambire\)](https://twitter.com/ivshti) for his deep dive into technical implementation differences between the two proposed solutions 1. [Vectorized](https://twitter.com/optimizoor) for putting up and funding a 0.5 ETH bounty for a client implementation of the nested EIP-712 solution 1. [Juno \(ChainLight\)](https://twitter.com/junorouse) for rising to the above challenge, shipping a [client implementation of the nested EIP712 solution](https://github.com/junomonster/nested-eip-712) and claiming Vectorized’s bounty 1. [David Eiber](https://twitter.com/eiber_david) for his help with brainstorming related vulnerabilities, indexing affected SCAs and protocols, and creating PoCs 1. [Yoav Weiss](https://twitter.com/yoavw) for his help during the whole process including connecting us with security researchers and other affected SCAs and applications --- # How ERC-4337 Gas Estimation Works URL: https://www.alchemy.com/blog/erc-4337-gas-estimation.md As Alchemy built its ERC-4337 Bundler, called “Rundler”, the most challenging component to get correct has been user operation gas estimation. This post will explain the obstacles we encountered attempting to provide users with accurate gas estimates, and the solutions we currently employ. This is a technical overview meant for ERC-4337 builders. If you’re new to [ERC-4337 style account abstraction](https://www.alchemy.com/overviews/what-is-account-abstraction) we suggest you start by reading our [intro to Account Abstraction series](https://www.alchemy.com/overviews/what-is-account-abstraction). ## Why is gas estimation important for ERC-4337 user operations? Providing accurate user operation gas estimations is important to the user experience of ERC-4337. If a gas estimate is too low, a user operation may revert during simulation, or worse, revert onchain during the execution phase, leaving the user to pay for gas of a reverted operation. If gas estimation is too high, a user may be dissuaded from, or unable to, send their operation due to costs. While it’s important to be accurate, gas estimation does not need to be 100% correct, as long as the errors are always overestimating \(but not by too much\). In ERC-4337 gas fields are represented as limits, and the user is refunded for any gas they don’t consume onchain. Thus, gas estimation doesn’t impact the actual operation cost. 💡 \*Except for `preVerificationGas`, more on this later. ### Definitions of ERC-4337 gas fields The gas fields in a user operation, and their definitions from the [ERC-4337 spec](https://eips.ethereum.org/EIPS/eip-4337#definitions), are: - `preVerificationGas`: The amount of gas to pay to compensate the bundler for pre-verification execution and calldata. - `verificationGasLimit`: The amount of gas to allocate for the verification step. - `callGasLimit`: The amount of gas to allocate for the main execution call. - `maxFeePerGas` : Maximum fee per gas \(similar to [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) `max\_fee\_per\_gas`\). - `maxPriorityFeePerGas`: Maximum priority fee per gas \(similar to EIP-1559 `max\_priority\_fee\_per\_gas`\). ## ERC-4337 gas metering An [ERC-4337 bundler](https://www.alchemy.com/overviews/what-is-a-bundler) pays the cost upfront to send a bundle transaction to the entry point contract. The entry point will meter the gas used by each user operation, multiply that by the calculated fee, and compensate the bundler for this value after the user operation completes. The effective calculation looks like this:\* 💡 \*For simplicity this is only for networks that support EIP-1559. `preVerificationGas` is added as is, while verification and call gas are “metered”. That is, their gas usage is measured by the entry point on chain and they are charged for the exact amount they use, up to their limit. If the limit is hit in either the verification or call phases, the operation will revert. The entry point has no way to process [gas refunds](https://www.evm.codes/about#gasrefunds), as it meters gas as part of a transaction, while gas refunds are issued after a transaction completes and thus are returned directly to the Bundler. This is an extra source of cost for users, and a potential source of revenue for bundlers. ## User operation flow The typical flow for [sending a user operation](http://www.alchemy.com/overviews/user-operations) consists of the following: 1. Construct a partial user operation with `sender`, `nonce`, `initCode`, and `callData` populated. a. Also, populate `signature` and `paymasterAndData` with [“dummy” values](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers). 1. Estimate gas for this partial user operation via a bundler RPC with [`eth\_estimateUserOperationGas`](https://www.alchemy.com/docs/wallets/api-reference/bundler-api/bundler-api-endpoints/eth-estimate-user-operation-gas). a. Populate `preVerificationGas`, `verificationGasLimit`, `callGasLimit` from the return value. 1. [Estimate the required gas fees](https://www.alchemy.com/blog/user-operation-fee-estimation) for the operation and populate `maxFeePerGas` and `maxPriorityFeePerGas`. a. This step isn’t dependent on steps 1 or 2, can be run at any time, or in parallel. 1. \(Optional\) Send their user operation to a sponsoring paymaster for signing a. Populate `paymasterAndData` from the return value. 1. Sign the above user op, populate `signature`, and send to a bundler via [`eth\_sendUserOperation`](https://www.alchemy.com/blog/erc-4337-gas-estimation#). This post will focus on step 2 and the bundler RPC method `eth\_estimateUserOperationGas`. ### User operation gas estimation `eth\_estimateUserOperationGas` is an RPC method that bundlers must support as per the [ERC-4337 specification](https://eips.ethereum.org/EIPS/eip-4337#-eth_estimateuseroperationgas). **Its definition:** _Estimate the gas values for a UserOperation. Given UserOperation optionally without gas limits and gas prices, return the needed gas limits. The signature field is ignored by the wallet, so that the operation will not require user’s approval. Still, it might require putting a “semi-valid” signature \(e.g. a signature in the right length\)._ **\*Parameters****: same as *`eth_sendUserOperation`* gas limits \(and prices\) parameters are optional, but are used if specified. *`maxFeePerGas`* and *`maxPriorityFeePerGas`* default to zero, so no payment is required by neither account nor paymaster.\* **_Return Values:_** - **\*preVerificationGas**** gas overhead of this UserOperation\* - **\*verificationGasLimit**** actual gas used by the validation of this UserOperation\* - **\*callGasLimit**** value used by inner account execution\* ### PreVerificationGas calculation `PreVerificationGas` is used to capture any gas usage that the entry point doesn’t meter, compensating the bundler for this gas. **In the simple case this can be broken down into 3 separate calculations:** 1. The operation’s share of the [intrinsic gas](https://ethereum.org/en/developers/docs/gas/#what-is-gas-limit) for the bundle transaction. a. Note that the bundler must assume a bundle size to determine this up front. 1. The operation’s share of the calldata gas cost. a. This is directly attributable to the size and byte composition of the operation. 1. The operation’s share of any execution gas overhead that the entry point incurs outside of what is metered. a. This is determined off-chain by doing a gas usage analysis of the entry point contract and attributing it on a per user operation basis. Note that `preVerificationGas` is not a limit. That is, the value set in this field is always paid to the bundler in full. Be careful with this field, as an incorrect value could mean sending the bundler more in fees than is needed! Check out this[ in-depth analysis](https://www.stackup.sh/blog/an-analysis-of-preverificationgas) of `preVerificationGas` written by the StackUp team for more detail. Bundlers will typically run their `preVerificationGas` calculation during the “pre-check” phase \(e.g. checks run before the full trace-based simulation\). If an operation’s `preVerificationGas` is lower than the value calculated by the bundler, it will reject it. This may become a source of incompatibility between bundler implementations. If a particular bundler implementation, L, is estimating a lower value for `preVerificationGas` , and a different implementation, H, is estimating \(and requiring\) a higher value, H will reject operations that used L for estimation. Its yet to be seen how this incompatibility will impact the P2P mempool, but its likely that users will be incentivized to estimate a lightly higher `preVerificationGas` in order to maximize their changes of being bundled. ## How Alchemy's ERC-4337 bundler estimates gas limits Providing accurate estimates for the gas limit fields, `verificationGasLimit` and `callGasLimit` is important. The goal can be stated as: provide a function that estimates the gas used during these phases while being sure to only overestimate, but not by so much that it deters the user from sending their operation. Lets discuss the various attempts we’ve made to provide this function in [Rundler](https://www.alchemy.com/account-abstraction). ### Attempt 1: `eth\_estimateGas` Standard Ethereum JSON-RPC provides a nice method for estimating gas of transactions, let’s just use [`eth\_estimateGas`](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-estimate-gas)! **The method goes like this:** - `verificationGasLimit `: call the `simulateValidation` function on the entry point and pass to `eth\_estimateGas` - `callGasLimit`: call the `innerHandleOp` function on the entry point and pass to `eth\_estimateGas` This seems to work nicely. While both `simulateValidation` and `innerHandleOp` don’t exactly capture the metered portions of each phase, they are strictly supersets and will overestimate slightly. Note that these calls are completely independent, but onchain execute in a single transaction. In this method the outcome of `simulateValidation` is not persisted to impact `innerHandleOp`. #### What if `innerHandleOp` relies on something done during `simulateValidation`? This is the case for the initial deployment of an account, and possibly for some advanced validation schemes. The factory method is called during the validation phase to deploy the account contract. The execution phase requires this contract to be deployed and `innerHandleOp` will revert if not, failing any estimation attempts. We need some way to estimate both of the gas limit fields while ensuring that the estimation for the execution phase is run in the same call as the validation phase. Onto the next attempt… ### Attempt 2: simulate and measure The ERC-4337 v0.6 implementation provides a [`simulateHandleOp` ](https://github.com/eth-infinitism/account-abstraction/blob/033b4be2a606defd5cd5226bdde3afcea21db5fa/contracts/core/EntryPoint.sol#L184)method that combines both the validation and execution phases into a single function call. Its return value contains [`preOpGas`](https://www.alchemy.com/blog/erc-4337-gas-estimation#) which is the sum of the gas used during validation and the `preVerificationGas`. It also contains the total amount paid by the user op, `paid`. To determine the `callGasLimit`, `paid` can be converted into gas used by dividing by the gas fee. The bundler can determine the gas fee by pinning simulation to a \(recent\) block height with a known base fee and setting the priority fee to 0. Through some simple conversations, all of the gas fields can be calculated. This method may also overestimate gas used as some of the unmetered entry point logic is attributed to the gas used. Another reasonable method is to measure the gas used during the call phase is to measure the gas used during the entire `simulateHandleOp` call and then subtract the gas used by the validation phase. We can deploy a helper contract that meters the gas used by `simulateHandleOp` and appends that to the return value. This method has the same issue with overestimation as the previous one. For those who are picky about overestimates, we can refine this even further. #### Can we trace the entry point's `simulateHandleOp` method to calculate gas? Bundlers must have the ability to run a trace call in order to perform the simulation checks needed to protect itself from onchain invalidation. Can we use this functionality to estimate gas? **The method goes like this:** 1. Trace the entry point’s `simulateHandleOp` method, which conveniently uses a “number marker” scheme so that the tracer can know exactly which phase of execution they’re in. 1. In the tracer, take note of the amount of gas left at the beginning of each phase, and at the very end. 1. From these values, calculate the amount of gas used by each phase. Great! We’ve used slightly more expensive tracing to calculate exactly the amount of gas used. Not so fast, using any of the methods above can cause operations to run out of gas for certain contract calls. Why? To answer that we can take hints from [how Reth estimates gas](https://github.com/paradigmxyz/reth/blob/547911ac19c68b750f7920a6cd613fa691328ce7/crates/rpc/rpc/src/eth/api/call.rs#L72). Notice the binary search? Whats going on there? Why doesn’t Reth just use a similar tracing method as above, as it has access to all of the same information? Well, it turns out that in an EVM function call: **gas used ≠ gas required**. An overview of why this is the case can be found in Sergio Lerner’s “[The Dark Side of Ethereum 1/64th CALL Gas Reduction](https://medium.com/iovlabs-innovation-stories/the-dark-side-of-ethereum-1-64th-call-gas-reduction-ba661778568c)” article. The most important of these reasons is called the [“63/64th Rule”](https://eips.ethereum.org/EIPS/eip-150) \(or the “1/64th Rule” depending on who you’re talking to\). This rule states that the EVM will only forward 63/64ths of the remaining gas to each function call. The result of this is that you need slightly more gas upfront than what is eventually consumed. This happens for each call, so a validation/execution phase with a deep call stack might need to set aside a large amount of gas upfront to handle the set-aside gas. We want a solution that works for ALL potential user operations, so this invalidates any attempts that use gas used measurements for gas limit estimation. For our next attempt, lets take inspiration from the EVM clients. 💡 It may be possible to perform a detailed analysis of a tracing function and backtrack the gas used into gas limit by taking into account the 63/64ths rule \(and any other EVM intricacies\). We have yet to explore this angle. ### Attempt 3: binary search Lets not reinvent the wheel here. To handle the complexity described above, node clients use binary searches during gas estimation, finding the lowest gas value that leads to a successful transaction. We can do something similar for user operations! The approach goes like this: First, note that since binary searching requires many calls to the same function, we want to ensure that the function has high performance. This eliminates using tracing as a reasonable approach here, and we will need to rely on `eth\_call`. **To estimate** `verificationGasLimit`**:** 1. Run an attempt of `simulateHandleOp` at `MAX\_VERIFICATION\_GAS` \([a bundler setting](https://eips.ethereum.org/EIPS/eip-4337#client-behavior-upon-receiving-a-useroperation) defining the maximum gas that can be used in the validation phase\) to ensure that success is even possible in the first place. a. During this run, set `callGasLimit` to 0 to save computation. 1. Run the binary search on `simulateHandleOp` to hone in on the lowest `verificationGasLimit` value that does not run out of gas. a. If the validation phase runs out of gas the call will revert. Since we’ve already verified that the call can succeed with a higher gas limit, any reverts can result in moving the bottom edge of the binary search up. One nice optimization here is to note that we don’t need a 100% accurate estimation. The bundler can choose how close to exact it wants to be, and terminate the binary search once its within this range, always erring on the high side. This can save many rounds of calls. For example, Rundler sets this error range to 1K gas, saving 10 iterations. The second optimization to save a few iterations is to determine a better starting point for the search. Multiply the gas used in \(1\) by a scalar \(e.g. Reth uses 3x\), and set that to the initial guess for the binary search algorithm. **To estimate** `callGasLimit`**:** 1. Set `verificationGasLimit` to `MAX\_VERIFICATION\_GAS` 1. Run an attempt at `MAX\_EXECUTION\_GAS` \(not part of the spec, but required for a bundler to protect itself against DOS\) and check if execution success is possible. This is where this estimation method breaks down. Reverts are [caught by the entry point and emitted as logs](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/core/EntryPoint.sol#L250) and `eth\_call` does not provide a way to inspect any logs emitted.  It also wastes computation by running validation fully during each attempt. Can we provide a way to run this `callGasLimit` binary search? 💡 It is possible to detect this revert if using a trace, but we would like to avoid that for cost reasons. It may be worth revisiting this decision if a bundler is in full control over the node client and can use a native tracer. #### Solution: binary search in Solidity Building on the procedure for `verificationGasLimit` estimation, the core idea behind this method is to run the binary search for `callGasLimit` in [Solidity](https://www.alchemy.com/overviews/solidity)**,** encoding logic that can capture if the execution portion fails. **Let’s define the constraints:** 1. The binary search must occur after validation is run to ensure that any account contracts are deployed a. A desirable, but not required, constraint would be to only run validation once \(or to limit the amount of times\) in order to reduce wasted computation. 1. The execute calls must initiate from the entry point. Many account implementations only allow their execute functions to be called when `msg.sender` equals a hardcoded entry point address. 1. The binary search must return its final result. 1. All entry point functions must behave exactly as they would normally. The solution we came up with is to use a proxy contract that uses `DELEGATECALL` to forward to the entry point contract, but adds additional logic. During estimation we use `eth\_call` overrides to move the original entry point contract to a random address, and replace it with the proxy contract. This satisfies constraints \(2\) and \(4\). As noted above, the entry point hides the result of the execution phase. We instead skip the standard execution call \(by setting `callGasLimit` to 0\), and utilize the `target/targetCallData` arguments to `simulateHandleOp`. This runs after validation and can return information, satisfying constraints \(1\) and \(3\). See the entry point code below \(comments are added\): For our custom target call we call a method, `estimateCallGas`, on the proxy contract with call data that encodes: 1. The account and its call data \(from the original user operation\) 1. The binary search parameters Since the proxy is located at the original entry point’s address, `estimateCallGas` is able to call the account’s execute function, determine if the call succeeded or ran out of gas, and run the binary search algorithm until success. Voila! The binary search can now occur in an  `eth\_call` to get an accurate estimate for `callGasLimit`! In practice, Rundler breaks this single `eth\_call` into multiple calls, each with a maximum global gas limit, in order to work around node’s maximum call gas limits. Each call will run binary search iterations until the next iteration would cause the call to run out of gas. 💡 This method misses a slight amount of overhead imposed by the entry point during `innerHandleOp`. This overhead is static and added to the result of the estimation. ## Potential entry point change We’ve been thinking about potential changes to the entry point that could make the gas estimation process described above easier to implement and more performant for users. This isn’t an easy problem to solve so we would love to hear from other bundlers or members of the ERC-4337 community if you have ideas! We want to ensure that the validation phase runs before the execution phase during gas estimation. The execution phase may rely on state set during the validation phase \(i.e. a USDC paymaster transfer and and an execution phase that uses USDC\) and thus it’s most accurate to estimate directly after. One potential improvement would be to have the entry point return a boolean representing if the execution portion reverted or not during `simulateHandleOp`. The bundler could then run the binary search off-chain without the proxy contract and state overrides. However, this binary search will be inefficient as it will be running the validation phase during each iteration. This leads us to taking the binary search done by the proxy contract in attempt 3 above and adding its functionality directly to the entry point contract \(pseudocode\): Our implementation of the above \(as a proxy contract\) will be open source soon. We think it may be beneficial to ERC-4337 users to have estimation via binary search be part of the entry point contract itself. Keep an eye out for our open source bundler implementation coming soon! 🦀 ## Continue reading The next articles in this 4-part series explore gas estimation challenges we encountered and the solutions our engineering team implemented. - [Dummy Signatures and Gas Token Transfers](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers) - [Solving The L2 and Aggregator Problem](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators) - [User Operation Fee Estimation](https://www.alchemy.com/blog/user-operation-fee-estimation) --- # Smart Accounts Take Off in Q3 (ERC-4337 Statistics) URL: https://www.alchemy.com/blog/erc-4337-statistics-q3-2023.md Over 730,000 ERC-4337 smart accounts have been deployed on Ethereum, Arbitrum, Optimism and Polygon. 53% of those accounts were created in the past month, marking the beginning of a major transition from EOA wallets to smart accounts in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum).  **In this article, we will:** - Analyze ERC-4337 user behavior on Ethereum, Arbitrum, Optimism and Polygon - Review [Bundler and Paymaster API](https://www.alchemy.com/overviews/what-is-account-abstraction) performance - Discuss the future of ERC-4337  ## ERC-4337 smart accounts simplify Web3 UX [ERC-4337](https://www.alchemy.com/overviews/what-is-account-abstraction) is a standard for [smart contract wallets](https://www.alchemy.com/overviews/how-do-smart-contract-wallets-work), also known as smart accounts, authored by Vitalik Buterin and members of the Ethereum Foundation.  Smart accounts were designed to radically simplify the user experience in web3. With a smart account, you don’t need a seed phrase, you don’t need to download a browser extension, and in many cases you don’t need to pay gas. ERC-4337 makes this experience possible with a few key features: - Users make pseudo-transactions called [UserOperations](https://www.alchemy.com/overviews/user-operations) \(**UserOps**\). - [Bundlers](https://www.alchemy.com/overviews/what-is-a-bundler) group batches of UserOps into single on-chain transactions. - Apps can use [Paymaster](https://www.alchemy.com/overviews/what-is-a-paymaster) contracts to pay for gas on behalf of users. ## Polygon, Optimism, Arbitrum are leading the way Following the official launch of ERC-4337 in March, Polygon was the first ecosystem to embrace smart accounts. Polygon’s share of monthly active smart accounts stood at 95%\+ from April through to July. This changed in August when CyberConnect launched an airdrop on Optimism, pushing Optimism to 37% market share, and ZTX did an NFT drop that propelled Arbitrum to 51% market share. Base is next in line as Alchemy launched [ERC-4337 infrastructure support for Base](https://www.alchemy.com/base) last month. ## Over 1.6m UserOps have been executed! When using a smart account you submit User Operations instead of transactions – these are [meta-transactions](https://www.alchemy.com/overviews/4337-vs-2771) with extra capabilities like the ability to [sponsor gas payments](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm). In Q3, the number of all-time UserOps skyrocketed \+2,000% from 77,000 to 1.6M! The top three use cases behind this growth surge are: ### 1. CyberConnect [CyberConnect](https://www.alchemy.com/dapps/cyber-connect) is a web3 social network where every user account is an ERC-4337 smart account, has been the most active app in the ecosystem. In July, 95% of UserOps were driven by Cyberconnect and its associated NFTs. ### 2. ZTX [ZTX](https://twitter.com/ZTXofficial), a NFT project where users can customise 3D avatars, generated more than 200,000 UserOps on Arbitrum in August. ### 3. Payments Smart accounts have submitted more than 30,000 UserOps to transfer value using ETH, MATIC and [stablecoins](https://www.alchemy.com/dapps/top/stablecoins). Apart from CyberConnect, other interesting use cases we've seen smart accounts adopt include: - Seamless web3 payments with [Beam](https://beam.eco/t/eco) - Web3 gamers playing Fantazy on Polygon - [Liquid Staking](https://www.alchemy.com/dapps/best/liquid-staking-platforms) users minting and transferring LSDs \(e.g. stETH, rETH\) on Ethereum ## Bundles contain 1 user op on average \(for now\) One of the open secrets of the ERC-4337 ecosystem is that most bundlers currently don't bundle UserOps, instead the majority of operators relay a single UserOp in each transaction. 97% of successful bundle transactions have contained only one UserOp. This is largely due to there being only 1 UO in the mempool at time of bundling. [Alchemy’s bundler](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart) can, and does, bundle more than 1 UO during high usage. Relaying single UserOps has worked so far because demand for bundling has been low, but as ERC-4337 adoption grows bundlers will need to start bundling a higher quantity of UserOps in each bundle to meet higher levels of throughput and reduce costs for users. As ERC-4337 adoption grows, bundlers will receive more transactions. It's important that bundler devs continue to evaluate how these bundlers perform economically and operationally so that best practices can spread and common issues can be resolved early. ## 99.2% of UserOps had their gas fees paid by a paymaster Paymasters provide a standardized interface for applications and wallets to create flexible gas policies such as subsidizing gas fees for their users or allowing users to pay for gas in stablecoins or any other ERC-20 token. As of this article, 99.2% of UserOps have had their gas fees paid using a paymaster.  ## Apps have spent over $430,000 to sponsor gas With a smart account, users can often transact without any gas in their wallet because apps will sponsor gas on their behalf. This gas sponsorship feature of ERC-4337 empowers apps to simplify the user experience – especially for new users who don’t have any tokens yet.  Paymaster sponsorships have quickly surpassed $430,000. This is a testament to the enormous value that ERC-4337 smart accounts provide to application developers. In the coming months, we expect many more apps to adopt smart accounts in order to abstract gas away from the user experience.  ## 90% of smart accounts have made less than 5 UserOps Today, most smart accounts have submitted fewer than five UserOps, but the trend is up and to the right. Expect engagement on smart accounts to increase significantly in the coming months as more users, apps, and wallets adopt ERC-4337. ## What comes next? The ERC-4337 ecosystem is in the early stages of its development and there is a lot of work to be done. Specific areas where progress is needed include: ### 1. Try a smart account application To learn how pioneering web3 application developers are leveraging ERC-4337, try one of the popular apps for yourself! Sign up for and [send money using Beam](https://beam.eco/) or create an account on [CyberConnect](https://link3.to/cybertrek), a gasless web3 social media network! ### 2. Start adopting smart accounts Account Abstraction is a paradigm shift that opens up the web3 design space, and can improve the user experience. To start building, explore some of these guides: - [Make Your App Compatible with Smart Contract Wallets](https://www.alchemy.com/docs/how-to-make-your-dapp-compatible-with-smart-contract-wallets) - [Get Up to 300,000 UserOps for Free with Alchemy](https://dashboard.alchemy.com/signup?a=erc-4337-statistics&redirectUrl=https%3A%2F%2Fdashboard.alchemy.com%2Fgas-manager) ### 3. Learn about ERC-6900 Learn about the current standard interfaces for applications, wallets, and plugins by reading the [ERC-6900 specification](https://eips.ethereum.org/EIPS/eip-6900) and [forum posts from the ERC-6900 community](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885). If you're a builder or researcher, you can even engage in the conversation to help refine the standards. If you’re bullish on [modular smart accounts](https://www.alchemy.com/overviews/modular-account-abstraction) like us, start building modules that can be adopted by smart contract wallets. Plugins created using ERC-6900 will enable smart accounts to add extended functionality to SCWs, such as setting spending limits, automating transactions, and defining role-based account controls ### 4. Increase number of UOs per bundle Because users benefit from lower fees due to amortized costs when more UOs are bundled into a single bundled transaction, it is important that bundlers increase the number of UOs/bundle. Bundlers also benefit because they spend less on transactions while charging the same gas premium on every UserOp. Research should continue on optimal bundling strategies so that best practices can spread across all bundler operators. **Note:** During periods of high volume Alchemy's Bundler lands bundles that near the total gas available per block. ### 5. Launch the ERC-4337 mempool Work is currently underway to create a public ERC-4337 mempool where UserOps will exist before being bundled. This alternative mempool is a big shift from the current market where bundlers form exclusive relationships with each application and wallet.  Before the mempool becomes active, open issues to solve include designing mechanisms to determine which bundler gets to make the next bundle and democratizing access to ERC-4337 mempool data. --- # ERC-4337 UserOperation Packing Vulnerability URL: https://www.alchemy.com/blog/erc-4337-useroperation-packing-vulnerability.md **Additional Contributors**: [fangting@alchemy.com](mailto:fangting@alchemy.com), @drortirosh, @Gooong, @taylorjdawson, @leekt, @livingrockrises ## Overview On March 7th, 2023, Alchemy and other members of the open source developer community, including [@Gooong](https://github.com/Gooong), [@taylorjdawson](https://github.com/taylorjdawson), [@leekt](https://github.com/leekt), and [@livingrockrises](https://github.com/livingrockrises), identified calldata decoding issues with the ERC-4337 EntryPoint contract and the example VerifyingPaymaster contract. These contracts are currently deployed to several chains and generate hashes over user operations. The implementation resulted in inconsistent hashes depending on the signing method, which can lead to several second order effects like divergent hashes for the same UserOperations and colliding hashes for differing UserOperations. Discussion was facilitated by [@drortirosh ](https://github.com/drortirosh)and is documented in [this Github issue](https://github.com/eth-infinitism/account-abstraction/issues/237#issuecomment-1466686252). ## Detailed breakdown Below is a breakdown of the affected code, explanations of the EntryPoint Packing Vulnerability, the VerifyingPaymaster Packing Vulnerability, and their respective impact. ### Affected code The code segment in question is the following: #### ‍[UserOperation.sol:61-75](https://github.com/eth-infinitism/account-abstraction/blob/556f03fadcaba0d7d04cd901e6eb9601db50a998/contracts/interfaces/UserOperation.sol#L61-l75) #### [VerifyingPaymaster.sol:35-49](https://github.com/eth-infinitism/account-abstraction/blob/556f03fadcaba0d7d04cd901e6eb9601db50a998/contracts/samples/VerifyingPaymaster.sol#L35-l49) For context, the `UserOperation` struct is defined as: Both of these code segments use assembly to copy a large portion of the calldata into memory, intending to capture part of a user operation to hash. The `pack` method in `UserOperationLib` intends to capture all fields of the user operation from `sender` to `maxPriorityFeePerGas`, including the variable-size fields \(called dynamic fields in ABI encoding\) `initCode`, `callData`, and `paymasterAndData`. The `pack` method in `VerifyingPaymaster` includes all of those fields except the `paymasterAndData` field, since that is not yet defined. To implement this, both methods use a convenience field in [Yul](https://docs.soliditylang.org/en/v0.8.17/yul.html) provided to dynamic types in calldata, named `.offset`. This refers to the value provided in the ABI-encoding of a struct, which is defined [here in the Solidity spec](https://docs.soliditylang.org/en/v0.8.18/abi-spec.html#formal-specification-of-the-encoding). **\(It actually refers to the memory word after the offset, but that’s just for convenience when loading\).** A standard ABI-encoder will encode the values for dynamic fields \(called their tail in the ABI coder\) in the order which they appear. Consider the following encoding of a user operation in calldata that might be generated: 💡 **Note:** This example shows a user operation where all dynamic fields are less than one word in length for brevity. 💡‍ **\*‍**\***Note:** The memory address space here is within the user operation struct itself. In actual calldata, it will be placed elsewhere due to space occupied by method selecter and the arguments tuple. In this example, following `pnd.offset` to generate a packing of the user operation will result in this “slice” of calldata: This contains exactly what we want! However, contracts that use ABI-encoded arguments do not validate what order fields are defined in, or even that the offsets are valid. Using `signature.offset` or `pnd.offset` will read the corresponding “offset” value directly from calldata. By using that as a boundary, it is possible to construct valid representations of user operations in calldata that have unusual hash properties. Let’s explore how this affects the EntryPoint and VerifyingPaymaster independently. ### EntryPoint packing vulnerability To demonstrate this vulnerability, we must consider a wallet contract that is different from the provided `SimpleAccount.sol`, because that sample re-uses the vulnerable code from `EntryPoint`. The hash divergence becomes material when a different hashing scheme is used between the EntryPoint and the wallet contract, or if the wallet signs a non-standard user operation encoding. This risk introduced to `EntryPoint` are that a single user operation can be represented by multiple “user op hashes” and that the same “user op hash” can represent multiple user operations. Consider this account, called `ExampleAccount`, that has it’s own `ExampleAccountFactory`. The example account uses a single signer to validate user operations. To grant permission to run a user operation, a hash over all fields in the user operation, except the signature itself, is generated and signed. The `validateUserOp` method is defined as follows: This is a relatively simple implementation of signature validation, as it checks all fields of `userOp`, along with the entrypoint address and the chain id. As one of the goals of account abstraction, the `validateUserOp` method can contain arbitrary logic \(though bounded by limitations to storage access\), since this method represents the conditions under which a user operation can originate. For this example account, user operations start from a signature by the owner. More generally, however, user operations can originate from arbitrary conditions: on-chain state, multiple signatures, or app-specific signatures – it’s a feature of account abstraction. To demonstrate this vulnerability, let’s construct malicious calldata to `EntryPoint.handleOps` such that the `UserOperationEvent` emitted by `EntryPoint` will have an unexpected value. After defining a sample `UserOperation memory uo` struct, here is how we can construct the calldata: `rightPadBytes` is a helper function written to align `bytes` types to the nearest full word length. It is defined as follows: Now, when calling `handleOps`, the emitted event and the result of `EntryPoint.getUserOpHash\(\)` will be different. #### Impact Malicious bundlers, or non-bundler EOAs calling `EntryPoint.handleOps`, can modify their representation of a `UserOp` in calldata to change the UO hash in emitted events. This can break off-chain systems integrating with the emitted events, since the events are now revealed to be non-deterministic for a given UO. Additionally, the bundler will have to deal with non-determinism when reading emitted userOpHashes from the `EntryPoint` contract. To see if an emitted `UserOperationEvent` from the `EntryPoint` corresponds to a user operation in the bundler’s local mempool, a comparison of the hash value is no longer enough, as the calldata to `handleOps` can be modified to change hash values. Instead, bundlers will have to look up transaction receipts, fetch the calldata sent to `handleOps`, decode the calldata, then get the “canonical” hashes by re-encoding via a the standard ABI coder and calling `EntryPoint.getUserOpHash\(...\)`. This is needed to determine whether or not user operations in the local mempool have been mined. Additionally, since calls to `EntryPoint.handleOps` can happen from within other contract calls, the decoding can be deep in the call stack. This divergence will also affect the implementation of bundler RPC methods, as a user op hash is used for identification in `eth\_getUserOperationByHash` and `eth\_getUserOperationReceipt`. Bundlers will need to perform expensive searches, parsing, and decoding of calldata to `EntryPoint.handleOps\(...\)` to translate the emitted hashes from events into “canonical” hashes from `EntryPoint.getUserOpHash\(...\)`. 💡 **Note:** This vulnerability is distinct from the fact that rogue SCWs can reuse user operations. Reused user operations, and more generally, all user operations, should have a deterministic hash. Other applications and services that build on top of ERC-4337 will have to implement their own mitigation unless this is resolved. Since ERC-4337 is at the early stages of adoption overall, it is hard to describe the potential impact of this vulnerability on the broader ecosystem. The scope of impact depends on the implementations of bundlers, user operation explorers, indexers, and other offchain services. At a **minimum**, it would cause a confusing user experience, as the user operation hash \(similar to the transaction hash\) can change between submission and inclusion time, so some wallets might not account for that difference and fail to display updates to their users. In a **medium risk case**, wallets can be designed such that they intentionally avoid indexing by setting all of their user op hashes to be the same \(see the [example of this provided by @leekt](https://github.com/leekt/foundry-4337/compare/PoC/sameUserOpHash)\). In a **high risk case**, an offchain service monitoring user op inclusion could miss the inclusion of a given user operation, and attempt to resend or otherwise mishandle data and keys. #### Proof of concept See the full proof of concept in [this repo](https://github.com/alchemyplatform/entrypoint-hash-poc). ### VerifyingPaymaster packing vulnerability The risks introduced to `VerifyingPaymaster` are that a user operation may contain different contents between signing time and inclusion on-chain. This can happen when two different user operations return the same hash from `VerifyingPaymaster.getHash\(UserOperation userOp, uint48 validUntil, uint48 validAfter\)`. Let’s construct calldata for this function to show how this can be the case: #### Calldata 1 Note how this encoding changes the order of the dynamic fields, but is otherwise still valid - offsets point to the correct locations and lengths are all valid. But, because the offset of `paymasterAndData` is an unexpected value, the slice we get from `pack\(\)` will be the following: See how `initCode` and `callData` are excluded from the slice! Let’s construct a second input calldata, this time maliciously modifying both fields: - `initCode` will go from `1517c0de` to `1517c0de02` - `callData` will go from `ca11dada1` to `ca11data02` This gives us the following: #### Calldata 2 If we perform the same `pack` operation on this different calldata, it will result in the same slice as before! And we can verify that the hashes are the same with the following: Running this in a test environment in foundry reveals that both user ops have the same hash: `0x736f86d224bab46a95ae119947e172efa694379d9ac682d4ca780b7640a89b06` See [this test file](https://github.com/alchemyplatform/entrypoint-hash-poc/blob/main/test/VerifyingPaymasterHashPOC.t.sol) for the full POC. #### Impact In this vulnerability, the hash can be modified to cover fewer elements than expected, allowing for initCode, callData, and possibly other static fields to be excluded from the hash, and thus vary between signing and usage. This can result in paymaster sponsorship signatures being used for different purposes than intended. For instance, the wallet contract’s deployer factory and the call to a wallet’s `execute` function can be substituted. If a paymaster previously wanted to only sponsor users of their wallet, and only sponsor when they mint a specific NFT, those rules could be bypassed. To bypass the rules, the sender would change `userOp.initCode` and `userOp.callData` after getting a signature. Then, the paymaster’s native token \(ETH or otherwise\) will be used for some other purpose than their intention of a gasless NFT mint. Offchain signers which receive user operations to sign in an ABI-encoded format, or signers that have contract integrations to prepare data for signature, are vulnerable. This is a limited scope, as they are essentially “exploiting themselves”, but it presents a risk to operating a paymaster service. Defensive measures against this include deploying an updated version of `VerifyingPaymaster`, or handling the process of ABI encoding themselves from user input. ## Conclusion After several excellent conversations with ecosystem members, **@drortirosh** merged an optimized, readable [patch to the Entrypoint contract](https://github.com/eth-infinitism/account-abstraction/commit/6a7cbe7c6c786d6302d52b94405b88c6596f95cb) to address this vulnerability. Once redeployed, the Entrypoint contracts will no longer be exhibiting the behavior documented above. Additionally, there is a [proposal](https://docs.google.com/document/d/1MywdH_TCkyEjD3QusLZ_kUZg4ZEI00qp97mBze9JI4k/edit#heading=h.gyhqxhuyd59n) to abstract nonce support in the Entrypoint that hardens this system as well. Given the risk to paymasters is limited, no official upstream patch has been made and paymaster operators can decide how to handle this as needed for their implementations. We want to thank the 4337 community here, including **@drortirosh**,** @Gooong**,** @taylorjdawson**,** @leekt**, and** @livingrockrises** for working through this vulnerability with us. Have any questions or topics you want to discuss? Reach us at account-abstraction@alchemy.com. --- # Alchemy goes alpine at ETHDenver 2023 URL: https://www.alchemy.com/blog/ethdenver-2023.md ## Come jam with us at \#buidlweek and beyond! ETHDenver is a major moment to celebrate web3’s thriving developer ecosystem. This year, we’ll be on-the-ground supporting builders with all the cutting-edge infra and tooling they need to power the next generation of web3 applications. So what’s going down in Denver? ### Product alpha 👀 We’ll be there to show you web3’s most scalable and reliable [connection to the blockchain](https://www.alchemy.com/supernode), and to help you find an edge for your dapp with [the best APIs](https://www.alchemy.com/enhanced-apis), as well as cutting-edge security tools like [Transaction Simulation](https://www.alchemy.com/transaction-simulation). There may also be a \#BUIDLWeek alpha leak coming your way very soon... stay tuned! When: All week **How:** [Follow Alchemy on Twitter](https://x.com/Alchemy) ### Camp \#BUIDL ⛺️ Kick off ETHDenver as a happy camper by joining our developer advocates at Camp \#BUIDL, hosted by our friends at Chainlink. Gain the skills you need to build breakthrough [apps](https://www.alchemy.com/dapps/top/defi-dapps) with Alchemy’s suite of tools and APIs. When: Sunday, February 26th **How:** [Apply to attend](https://www.ethdenver.com/campbuidl)‍ ### Interop summit 🎧 Ever taken part in a silent disco developer workshop? Neither have we. LFG! Join our very own Vitto Rivabella and team of dev advocates for workshops, debugging and dancing \(jk… maybe\)! Explore the [full agenda](https://interopsummit.com/agenda), and get your tickets today! When: Monday, February 27th **How:** [Get tickets on Interop Summit's website](https://interopsummit.com/#registration) ### Alchemy x Phantom developer meetup 👻 Join Alchemy and Phantom for \#BUIDLWeek’s most hyped meetup. Gigabrain web3 devs will give you the inside scoop on shipping epic user experiences during a fun panel… including some special guests \(and tacos, lots of tacos\)! **When:** Tuesday, February 28th **How:** [RSVP on Partiful](https://partiful.com/e/qRSmQq3egtytfXG5RAD0) ### Alchemy @ circle’s booth 🤩 Discover how to simplify and scale your web3 stack with Alchemy tools at Circle’s ETHDenver booth! Swing by to see live product demos and learn new hacks. When: Friday, March 3rd **How:** [Apply to attend](https://www.ethdenver.com/)‍ ## Connect with us on Twitter Hit us up on [Twitter](https://x.com/Alchemy) if you’ll be in Denver - we’d love to jam and hear what you’re working on! --- # Ethereum Goerli Support Ending April 1 - Migrate to Sepolia URL: https://www.alchemy.com/blog/ethereum-goerli-testnet-deprecation.md We will turn off our Goerli nodes for [**Ethereum**](https://www.alchemy.com/ethereum) on April 1, 2024. \(Note: this is an updated date from Alchemy's original deprecation date of April 3, 2024.\) This means if you try to send requests to these nodes, your requests will fail with a DNS resolution error. Per Ethereum’s [original plans](https://blog.ethereum.org/2023/11/30/goerli-lts-update), the Goerli testnet was due to be sunset on April 13th. However, [nearly all Goerli validators](https://grafana.observability.ethpandaops.io/dashboard/snapshot/fwALK9PEe7CLEOO81lma5bT6k7jq7Gcs?orgId=0&from=1707927490905&to=1710519490905) are currently shut down. This means the Ethereum Goerli network will not function reliably until April 13th. We are already seeing extreme instability in the network, and **we urge you to migrate to Sepolia immediately.** ## Required actions for developers **To ensure you’re able to continue testing seamlessly, you will need to migrate to Ethereum Sepolia before April 1st.** Ethereum Sepolia is the sustainable path forward for web3 developers and we encourage devs to use it for any testing and development needs. [Ethereum Sepolia offers many benefits](https://alchemy.com/overviews/goerli-vs-sepolia) over Goerli, such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. ## How to migrate to Ethereum Sepolia Follow these 5 steps to migrate from Goerli to the Sepolia testnet on Ethereum: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Etherum Sepolia network. 1. Get free Optimism Sepolia tokens from Alchemy's public [Ethereum Sepolia Faucet](/faucets/ethereum-sepolia) which drips up to 0.5 SepoliaETH per day. 1. Change your `API\_URL` to your Optimism Sepolia RPC URL: `https://eth-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Ethereum Sepolia. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ### A note on other chains Goerli deprecation dates for other chains are up to date on [this blog post](https://www.alchemy.com/blog/goerli-faucet-deprecation). --- # $5M Fund for Smart Wallets and Rollups URL: https://www.alchemy.com/blog/everyone-onchain-fund.md **The evidence is clear:** rollups and smart wallets are the key to mainstream adoption. Leading teams across all verticals — Azuki, [Polymarket](https://www.alchemy.com/dapps/polymarket), Worldcoin, and more, have all moved to seamless onchain UX with smart wallets, enabling users to sign up without a seed phrase, and transact without gas fees. At scale, teams are [deploying their own rollups](https://www.alchemy.com/case-studies/scaling-world-chain) to capture transaction revenue, customize their infrastructure, and achieve the throughput needed to support hundreds of apps on their ecosystem and billions of users. ## Introducing the everyone onchain fund The impact of this ecosystem-wide shift is truly incredible — rollup activity has surged 5.8x, and apps using smart wallets are onboarding and _retaining_ global web2/web3 users, with [4x increases in transaction volume](https://x.com/Alchemy/status/1787589335510028417). That's why we're launching a $5M fund to help you create experiences that truly bring everyone onchain with smart wallets and rollups. Let's dive into how you can tap into the fund and start building with the tools for onchain success. ### For app developers Ship [**smart wallets**](https://www.alchemy.com/account-kit?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) with Account Kit, and you're eligible for credits at every stage. **Gas credits** help you cover user transactions and onboarding costs, while **compute credits** give you access to our full platform — from reliable RPCs to advanced APIs. Combined, these credits let you focus on building great products instead of worrying about costs. Tier 1: Ready to launch
You're ready to ship v1 of your app in the next 3 months

", tooltip: "", icon: "" }, "2": { title: "

Up to $500

", tooltip: "", icon: "" }, "3": { title: "

Up to $1,000

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Tier 2: Ready to grow
You have an established audience and want to grow even more

", tooltip: "", icon: "" }, "2": { title: "

Up to $3,000

", tooltip: "", icon: "" }, "3": { title: "

Up to $5,000

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Tier 3: Ready to scale
You have millions of users or are building an ecosystem of apps

", tooltip: "", icon: "" }, "2": { title: "

Up to $10,000

", tooltip: "", icon: "" }, "3": { title: "

Up to $15,000

", tooltip: "", icon: "" }, id: 2, }, ], }} /> **Want to unlock additional credits?** [Talk to our team](https://www.alchemy.com/contact-sales?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) about other opportunities through community engagement, ecosystem building, and more. ### For rollup developers Deploy with [**Alchemy Rollups**](https://www.alchemy.com/rollups?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) on [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit) or [OP Stack](https://www.alchemy.com/dapps/op-stack) and get: - Our full suite of developer tools enabled on your rollup on day 1 - [Smart wallet](https://www.alchemy.com/smart-wallets) integration free for 2 years \(a ~$80k value\) - Automatic eligibility for gas and compute credits for apps on your rollup By deploying your own rollup, you're positioning yourself to capture transaction revenue and scale to billions of users. We're including full [Account Kit](https://www.alchemy.com/docs/wallets/) support — free, for two years, empowering apps on your rollup to build seamless experiences that drive user acquisition and transaction volume from day one. **Ready to deploy your rollup?** [Talk to our team.](https://www.alchemy.com/contact-sales?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) ## The tools are here, get ready to build ### Smart wallets bring everyone onchain [Smart wallets](https://www.alchemy.com/account-kit?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) help you remove the biggest barriers to being onchain, and instead, deliver the mainstream-ready experiences your users expect with — - Instant onboarding with email or social login, zero seed phrases, fully native in-app experience with custom branding - One-click, gasless transactions powered by account abstraction, running on infrastructure that powers \>80% of smart accounts This is how we bring everyone onchain— with smart wallets that make blockchain as simple and intuitive as the apps users already love. [Start building](https://www.alchemy.com/docs/wallets/react/quickstart) with Account Kit! ### Rollups help you scale on your terms [Alchemy Rollups](https://www.alchemy.com/rollups?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) is our Rollups-as-a-Service \(RaaS\) solution. It lets you launch your own rollup powered by the full Alchemy platform and our infrastructure expertise. We're the only RaaS provider that offers: - Ultra-reliable, scalable infrastructure - The developer platform that web3 trusts, on your rollup - Distribution to the largest developer base in web3 - 24/7 global support from skilled engineers As the L2 ecosystem grows, successful rollups must deliver top-tier developer tools to attract serious builders while ensuring a reliable, uninterrupted user experience. [Talk to our team](https://www.alchemy.com/contact-sales?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund), we’re here to help you. ## It’s time to bring _everyone onchain_ The onchain ecosystem is evolving. What seemed complex yesterday is becoming intuitive today. Smart wallets and rollups aren't just technical upgrades—they're the bridge between where we are and where we could be. Our $5M fund is a simple bet: give you the right tools, and remarkable things happen. **Get Started:** - Deploying a rollup? [Talk to our team.](https://www.alchemy.com/contact-sales?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) - Shipping your app with smart wallets? [Apply for the fund.](https://alchemyapi.typeform.com/to/p2stJlLz) - Learn more about [Smart Wallets](https://www.alchemy.com/account-kit?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund) and [Rollups](https://www.alchemy.com/rollups?utm_source=announcement&utm_medium=blog&utm_campaign=everyone_onchain_fund). ## Frequently asked questions ### What is the Everyone Onchain Fund? The Everyone Onchain Fund is our $5 million grant program designed to support developers building apps with smart wallets and rollups on Arbitrum Orbit or OP Stack, enabling seamless onchain experiences without seed phrases or gas fees. ### Who is eligible to apply for the fund? App developers shipping seamless onchain experiences with Account Kit smart wallets are eligible for up to $25,000 in gas and compute credits. Rollup developers deploying on Arbitrum Orbit or OP Stack can access free smart wallet integration for 2 years and the full suite of developer tools. ### What are smart wallets and how do they work? Smart wallets, powered by Account Kit, enable instant onboarding via email or social login with zero seed phrases, and allow one-click gasless transactions through account abstraction. They deliver a fully native in-app experience with custom branding. ### What benefits do rollup developers receive from this fund? Rollup developers get our full suite of developer tools enabled on day one, free smart wallet integration for 2 years (approximately an $80,000 value), and automatic eligibility for gas and compute credits for apps built on their rollup. ### What is Alchemy Rollups? Alchemy Rollups is our Rollups-as-a-Service (RaaS) solution that provides ultra-reliable infrastructure, the full developer platform, distribution to the largest developer base in web3, and 24/7 global support for custom rollups on Arbitrum Orbit or OP Stack. ### How do I apply for the Everyone Onchain Fund as an app developer? App developers can apply directly through the Everyone Onchain Fund page to receive up to $25,000 in gas credits for user transactions and compute credits for platform access. ### What do gas credits and compute credits cover? Gas credits help cover user transactions and onboarding costs, while compute credits provide access to the full platform including reliable RPCs and advanced APIs. ### How can I unlock additional credits beyond the base amount? Talk to our team about unlocking additional credits through opportunities like community engagement and ecosystem building. --- # Alchemy Partners with Fantom Foundation and Sonic Labs URL: https://www.alchemy.com/blog/fantom-foundation-and-sonic-labs-partnership.md We're thrilled to announce our partnership with the Fantom Foundation and Sonic Labs. This collaboration brings Alchemy's industry-leading tools and products to developers on Fantom's Opera chain and the upcoming Sonic network. ## Why use Alchemy for opera and sonic? 1. Immediate RPC Support: Mainnet and testnet [RPC](/rpc-api) support for Fantom Opera is live on Alchemy, with plans to extend this to the Sonic network upon its launch 1. **Improved Developer Performance:** Expect increased reliability, faster transaction speeds, and a more stable platform for your decentralized applications 1. **Seamless Transition to Sonic:** As Sonic prepares for launch later this year, we're committed to providing the same level of robust support to ensure a smooth transition for developers ## Bonus for sonic builders As a part of Sonic Labs’ wider Innovators Fund, Alchemy will be allocating up to $5,000 USD in Alchemy credits for select [Enterprise](/pricing) customers for use on the Sonic Network. Alchemy and Sonic Labs are also discussing setting up further credit programs within the broader Sonic incentive program! ## What this means for sonic developers Fantom Foundation, Sonic Labs and Alchemy share the same mission of providing the best possible tools and infrastructure for blockchain development. As we continue to support both the Opera chain and the upcoming Sonic network, we invite developers to leverage our tools and infrastructure to build the next generation of groundbreaking onchain apps. Stay tuned for more info on Sonic when it’s live! --- # Fostering an Open Ecosystem URL: https://www.alchemy.com/blog/fostering-an-open-ecosystem.md Alchemy’s mission is to bring the next billion users onchain. Getting there will require a fast-growing ecosystem of projects working to build the future of web3. That ecosystem, in turn, will need neutral and open infrastructure to support [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) development. That’s why we’re building — and are committed to supporting — a growing range of open offerings to support developers. ## Open source code and docs Open tools are an increasingly important part of Alchemy’s DNA. By open sourcing our infrastructural code - and continuing to build in public - we’ve delivered and continue to refine code, tools, and documentation used by tens of thousands of developers working across web3. These include: - **Rundler**, the most advanced, performant, and feature complete [ERC-4337 Bundler](/blog/open-sourcing-rundler), written in Rust. - **aa-sdk**, a lightweight library built on top of viem for sending user operations, sponsoring gas, and deploying smart accounts that is now the most popular [ERC-4337 developer SDK](/blog/aa-sdk-v3) per NPM downloads. - **Modular Account**, a fully modular, ERC-6900 compliant [smart account implementation](/blog/hello-modular-account) that is secure, audited and optimized for DA costs to deliver the cheapest L2 transactions. This includes sets of MIT libraries designed to streamline smart account and plugin development. - **aa-benchmarks**, a [tool for benchmarking UserOp and Runtime transaction costs](https://eips.ethereum.org/EIPS/eip-4337) for various transaction types and smart account implementations We’ve licensed each of these to support builders, and will continue to update the docs and repos in the table below. Rundler

", tooltip: "", icon: "" }, "3": { title: '

Github

', tooltip: "", icon: "", }, id: 0, "1709664416413": { title: '

Docs

', tooltip: "", icon: "", }, "1709664467471": { title: "

GPL & LGPL

", tooltip: "", icon: "", }, }, { "2": { title: "

aa-sdk

", tooltip: "", icon: "" }, "3": { title: '

Github

', tooltip: "", icon: "", }, id: 1, "1709664416413": { title: '

Docs

', tooltip: "", icon: "", }, "1709664467471": { title: "

MIT

", tooltip: "", icon: "" }, }, { "2": { title: "

Modular Account

", tooltip: "", icon: "" }, "3": { title: '

Github

', tooltip: "", icon: "", }, id: 2, "1709664416413": { title: '

Docs

', tooltip: "", icon: "", }, "1709664467471": { title: "

MIT & GPL

", tooltip: "", icon: "", }, }, { "2": { title: "

Light Account

", tooltip: "", icon: "" }, "3": { title: '

Github

', tooltip: "", icon: "", }, id: 3, "1709664416413": { title: '

Docs

', tooltip: "", icon: "", }, "1709664467471": { title: "

GPL

", tooltip: "", icon: "" }, }, { "2": { title: "

aa-benchmark

", tooltip: "", icon: "" }, "3": { title: '

Github

', tooltip: "", icon: "", }, id: 4, "1709664416413": { title: '

Docs

', tooltip: "", icon: "", }, "1709664467471": { title: "

MIT

", tooltip: "", icon: "" }, }, ], }} /> ## Open standards Open code, tools and documentation are necessary but not sufficient to our mission - we are also working to help advance the ecosystem by contributing to open standards and protocol development. - [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) laid the foundation for today’s growth in account abstraction on the EVM. Alchemy engineers have contributed [research](https://hackmd.io/@dancoombs/BJYRz3h8n) and [code](https://github.com/eth-infinitism/bundler-spec/blob/main/p2p-specs/p2p-interface.md) to the development of various iterations of the 4337 mempool, and continue to collaborate with the Ethereum Foundation on account abstraction. - That collaboration has extended to newer iterations of 4337 oriented to EVM rollups: [RIP-7560](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7560.md) and [ERC-7562](https://eips.ethereum.org/EIPS/eip-7562) both reflect suggestions and comments from Alchemy’s engineering team. - Alchemy has extended ERC-4337 by incubating [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900), an open Ethereum standard for modular smart accounts. ERC-6900 has since transitioned to become an open standard with an expanding set of contributors and coauthors, as well as an open sourced [reference implementation](https://github.com/erc6900/reference-implementation) \(see [this](https://alchemy.com/overviews/what-is-account-abstraction-erc-6900) blog post for more background\). - We developed and stewarded [AIP-2](https://forum.arbitrum.foundation/t/aip-2-activate-support-for-account-abstraction-endpoint-on-one-and-nova/14790), the first external technical proposal to pass through Arbitrum DAO’s protocol governance. AIP-2 proposed to activate an endpoint specified in ERC-4337. ## Open education We continue to leverage our deep experience in developer education to produce value-added content to help developers get up to speed on complex technological issues. Alchemy’s contributions here include: - A commitment to a free and open [Alchemy University](https://www.alchemy.com/university) to enable developers of all levels to onboard to web3. - A multi-part introduction to account abstraction, including foundational definitions as well as deep dives into wallet creation, paymasters and aggregate signatures \([1](/overviews/what-is-account-abstraction), [2](/overviews/what-is-account-abstraction-paymasters), [3](/overviews/what-is-account-abstraction-wallet-creation), [4](/overviews/account-abstraction-aggregate-signatures)\) - A multi-part investigation of gas estimation based on our team’s experience building Rundler \([1](/blog/erc-4337-gas-estimation), [2](/blog/dummy-signatures-and-gas-token-transfers), [3](https://www.alchemy.com/blog/user-operation-fee-estimation), [4](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators)\) - A multi-part educational [workshop](https://www.alchemy.com/blog/arbitrum-account-abstraction-workshop-series) on account abstraction developed in partnership with Offchain Labs \([videos](https://www.youtube.com/@AlchemyPlatform)\) - The [results](/blog/erc-4337-useroperation-packing-vulnerability) of a joint exploration with the Ethereum Foundation and others of a vulnerability in 4337, as well as its resolution \(with [Github documentation](https://github.com/eth-infinitism/account-abstraction/issues/237#issuecomment-1466686252)\) - An analysis of a vulnerability identified by the ecosystem and independently, Alchemy’s engineers, in the widely used [ERC-1271](https://eips.ethereum.org/EIPS/eip-1271) standard for validation ## What’s next? Alchemy’s commitments to open infrastructure are ongoing, and will continue to grow along with the ecosystem. Some of this work will be highly visible, and will involve expanding on the implementations and standards described above. We’re also closely following new developments and standards such as [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md), and the technological advances needed to support the [three transitions](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html) to onboard mainstream users We’re excited to continue building with and for the ecosystem, and will have more to say about these tools and standards in the coming months. --- # Cortex: The Intelligent Blockchain Engine Powering 100K+ TPS URL: https://www.alchemy.com/blog/from-one-node-to-cortex.md > What does it take to serve blockchain data at the lowest possible latency at 100K\+ TPS—reliably, globally, and with perfect consistency? That was the challenge we faced in early 2023 as we mapped out how to support the next wave of scaled blockchain apps, especially the ones onboarding millions of new users, like World App and [Robinhood](https://www.alchemy.com/dapps/robinhood). Our journey started in 2017 with a single Ethereum node. Since then, we’ve powered countless applications through bull markets, bear markets, and everything in between. All of that operational experience led to [**Cortex**](https://www.alchemy.com/cortex), the world’s first intelligent blockchain engine. Today, Cortex powers our entire developer platform: [RPC APIs](https://www.alchemy.com/rpc), [Data APIs](https://www.alchemy.com/docs/data), [Gasless Transactions](https://www.alchemy.com/gasless-transactions) and [Rollups](https://www.alchemy.com/rollups). It’s a major leap forward for every Alchemy product. No migrations, no new tools to learn. Just smarter, faster infrastructure built on years of real-world lessons. ## The road to Cortex In the early days, our founders Nikil and Joe were building a blockchain research tool for hedge funds when they ran into the pain of running Ethereum nodes themselves. A single node worked until demand exploded during the 2017 ICO boom. Scaling horizontally helped with throughput, but it introduced a huge challenge: **data** **consistency** — ensuring every user saw the same canonical blockchain state, regardless of which node served their request. To fix this, we built [**Vox Nodi**](https://www.alchemy.com/blog/data-accuracy) in 2018, a consistency layer that guarantees identical blockchain state across nodes. By 2021, our Node APIs powered by Vox Nodi were serving teams like OpenSea, 0x, and Polymarket through massive traffic spikes. Then came the multichain era. Starting in 2022, we expanded from a handful of EVM chains to more than 100 and launched support for [Solana](https://www.alchemy.com/solana). At the same time, our newer products, such as NFT API, Token API, Transfers API, Smart Wallets, and Rollups as a Service became our most effective internal stress test. They are built on the same foundation and generate workloads larger than any of our customers, which has helped us anticipate scaling issues and harden our systems ahead of customers running into them. But even with all these advancements, much of our infrastructure still lived in the US. Teams in Europe and Asia saw higher latency. To support a truly global, multichain ecosystem, we needed a full re-architecture: a completely new engine. ## Cortex: speed \+ reliability, at global scale By 2023, developers demanded two non-negotiables: - **Sub-50 ms global latency** - **Unshakeable reliability**, regardless of traffic spikes or underlying blockchain issues Delivering both — with zero tradeoffs — required rethinking our entire stack from first principles. That became [**Cortex**](https://www.alchemy.com/cortex). Since launch, we’ve continued optimizing the request path. Recently, we shipped one of our largest upgrades yet: **Alchemy Edge Proxy**, our in-house DDoS protection and routing layer. It replaces our last third-party dependency on the critical serving path, pushing latency even lower while improving reliability. ## Speed: making every request faster Every step of a request through Cortex is tuned for speed. **Global node placement** ensures requests always land in the closest region, while real-time replication keeps every region up to date. With Vox Nodi as our consistency layer, expanding to multi-region required some clever adjustments, which ultimately allowed us to deliver a fast and consistent experience across the globe. Replacing our third-party edge with **Alchemy Edge Proxy** had a huge impact. By bringing the edge in-house, routing happens closer to users with less overhead. **The impact was immediate: P95 latency across RPC calls dropped 7.5×, from 150 ms to 20 ms.** For current public performance data, see Alchemy's [RPC latency benchmarks](https://www.alchemy.com/benchmarks) across providers, chains, and regions. Inside each data center, our core compute and networking layers take over, colocating dependent services and enforcing locality-aware routing. This means that requests don’t bounce unnecessarily between machines, cutting out wasted hops. Istio also strengthens our internal posture with mTLS by default and provides advanced traffic management features such as retries, circuit breakers, and gradual rollouts, all of which contribute to both speed and resilience. Once a request reaches a node, single-machine performance becomes the bottleneck. By running on bare-metal servers, Cortex avoids the overhead of virtualization and gains tighter control over cost and latency. Our close collaboration with the team behind the Reth node client gave us upstream fixes and client-level optimizations that dramatically improved throughput. Cortex also accelerates the very first moment data becomes available. At the network layer, we use predictive peer selection and quorum building to detect new blocks as early as possible. In practice, this means our users see fresh blocks and state updates sooner, which compounds downstream for latency-sensitive workloads like indexing, trading, and real-time applications. Finally, Cortex routes requests intelligently based on network type, client type, latency profiles, SLAs, and historical patterns. Routing is managed through a GitOps-style workflow and propagates globally within seconds. Our proxies consume those same dynamic configs to adapt on the fly. For example, when migrating traffic to Reth-based clients, discrepancies in JSON RPC error codes were smoothed over by proxy modules that rewrote responses on the fly — while we simultaneously contributed permanent fixes upstream. At every level, region, data center, node, Cortex is engineered to cut latency. That’s how it delivers sub-50 ms responses worldwide. ## Reliability: defenses at every layer But speed alone isn’t enough. Reliability is equally critical, and Cortex thoughtfully builds defenses into every layer of the stack. At the edge, **Alchemy Edge Proxy** removed our third-party dependency from the critical serving path. By bringing this layer in-house, we have gained tighter reliability guarantees and eliminated an entire category of vendor-level outages. In fact, during the global Cloudflare outage on November 18, Alchemy’s services were largely unaffected — exactly the kind of reliability scenario Cortex is designed to withstand. At the node service level, our proxies use a microkernel architecture. Each feature is a pluggable module that can be enabled, disabled, or reconfigured at runtime without redeploying the entire proxy. This design gives us the flexibility to patch bugs, normalize client behavior \(for example, Reth vs [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) differences\), and roll out new functionality without downtime. We pair this with shuffle sharding and redundant node pools, so failures are isolated and contained. Within each region, Cortex automatically reroutes traffic to healthy nodes when one goes down. Versioned updates ensure developers never encounter stale reads, even under heavy failover conditions. Globally, Cortex employs a multi-layered failover system. If the primary region is degraded, requests are routed to a secondary. If that fails, we fall back to a legacy stack. And in the rarest case, we maintain an isolated emergency backup stack. On top of this, real-time global replication ensures every region remains consistent during these transitions. Every request has multiple fallback paths before a developer ever sees an error. Finally, Cortex introduces smarter systems to predict and prevent outages. Our AI-driven fleet management system monitors for node updates, analyzes their significance, and automates testing and upgrading nodes as required. And context-aware routing adapts dynamically to network congestion, degraded nodes, or buggy client versions, ensuring requests continue to succeed under shifting conditions. This is why our reliability is industry-leading and enterprise-grade. ## Cortex in the real world Cortex powers **71% of the top crypto applications** and is the foundation of Alchemy’s developer platform. It processes **$1T+ in onchain transactions annually** and supports global leaders like JPMorgan, Visa, Robinhood, Polymarket, and Circle. A few examples: - **Polymarket** used Cortex during the 2024 U.S. elections, achieving ~100 ms global latency and zero downtime with direct-to-region routing. - **World Chain** scaled to 30M\+ users and ~598K new accounts per week while maintaining sub-50 ms latency. - **Usual** reported dramatically faster performance and instant load times after migrating to Cortex, thanks to 2× faster infrastructure. - **JPMorgan’s JPM Coin** uses Cortex-powered Alchemy Wallet Infrastructure. - **Robinhood, Stripe, Coinbase, and Visa** all rely on Cortex for mission-critical performance. ## Closing So what does it take to serve blockchain data at 100K\+ TPS, globally, with perfect consistency? It takes [**Cortex**](https://www.alchemy.com/cortex) — the first system to combine speed and reliability at scale, without tradeoffs. Built from seven years of iteration, lessons, and scale, Cortex now powers every part of the Alchemy platform. ## Ready to experience Cortex? - [Sign up for Alchemy](https://dashboard.alchemy.com/?a=) - [Talk to our team](https://www.alchemy.com/contact-sales) > **You build the future, and we’ll handle the infrastructure.** --- # Introducing Geist: the Members-Only Blockchain URL: https://www.alchemy.com/blog/geist-mainnet.md Geist Mainnet, the first members-only blockchain built for gaming, is finally here! Geist, an L3, powered by [Arbitrum](https://www.alchemy.com/arbitrum) Orbit and built on [Alchemy Rollups](https://www.alchemy.com/rollups?utm_source=blog&utm_medium=blog&utm_campaign=geist_mainnet&utm_id=geist_mainnet) will offer the best building experience for gamers: sub-second latency with minimal fees.  On Day 1, Geist’s partnership with Alchemy will provide reliable building infrastructure, as well as instant access to the all-in-one platform with 100\+ unique API endpoints, extensive read and write APIs and the developer tools to reduce complexity as you build.  So, are you ready to go?  [Start deploying on Geist](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=geist_mainnet&utm_id=geist_mainnet), the chain built to enable seamless onchain experiences for gamers and builders.  ### A new onchain space for Web3 gaming Web3 gaming has recently experienced explosive growth, delivering playable games and innovative new economic models for user acquisition. But growth has meant some growing pains, too, including things like rampant botting, sybil attacks, inefficient reward campaigns and high player churn. The work to police bad actors and bots is a huge waste of development resources and often ends up penalizing real gamers. This is why the definition and identification of “users” becomes crucial.  Geist answers this challenge through three defining parameters: - **Exclusive**. While anyone can transact on the Geist chain, reward programs are reserved for invited members. Invites are limited by design, and will encourage Inviters to choose their Invitees wisely. - **Curated**. Only games and [apps](https://www.alchemy.com/dapps/top/defi-dapps) approved by Pixelcraft Studios or AavegotchiDAO can deploy on Geist. Quality over quantity. - **Rewarding**. Members have exclusive access to reward programs such as airdrops, giveaways, and other content.  Geist chain is a place where Aavegotchis \(and their friends!\) can play, explore, and earn, and the novel chain-based Invite system is a powerful engine for growth. ### It’s migration season  Throughout the month of November, [Aavegotchi](https://www.alchemy.com/dapps/aavegotchi)’s tokens and NFTs will be migrating from Polygon to Geist, their own chain, built to be the onchain home of Aavegotchis. Geist is powered by [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit), the leading rollup chain stack for web3 gaming. Renowned benefits of the Arbitrum stack such as \<250ms block time, custom gas token \(GHST\), and [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) transacting all apply.  Geist chose to build on Alchemy Rollups because of the battle-tested, world-class infrastructure and extensive developer community. As part of this partnership, we will integrate the comprehensive Alchemy platform into Geist, including core Node APIs, Data Indexing and APIs, and key Developer Experience Tools. ### Ready to get started? Head to the [Documentation](https://www.alchemy.com/docs/reference/geist-deprecation-notice) to start building on Geist today. --- # Getting Ready for Ethereum’s Berlin Hard Fork URL: https://www.alchemy.com/blog/getting-ready-for-ethereums-berlin-hard-fork.md This Wednesday, April 14, 2021, the Ethereum Foundation’s [Berlin hard fork](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/) upgrade is scheduled to go live on Mainnet at block 12,244,000. The system-wide upgrade will introduce four Ethereum Improvement Proposals \(EIPs\), namely [2565](https://eips.ethereum.org/EIPS/eip-2565), [2718](https://eips.ethereum.org/EIPS/eip-2718), [2929](https://eips.ethereum.org/EIPS/eip-2929), and [2930](https://eips.ethereum.org/EIPS/eip-2930), which are part of a larger roadmap towards Ethereum 2.0. ### So what does that mean for me? If you’re using [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31) as your Ethereum node provider, then you don’t need to do anything! As the leading blockchain developer platform, our job is to handle all the complicated Ethereum infrastructure, so you can focus on building your application instead of running, maintaining, and upgrading nodes. Our team has been preparing for this upgrade for months — with release notes audits, regression testing, blue green deploys, [and more](https://medium.com/alchemy-api/dont-get-forked-best-practices-for-handling-constantinople-and-ethereum-client-upgrades-e0d6b5dd8e9c) — so you have a seamless transition when this upgrade occurs. If you’re _not_ using Alchemy, then it’s SUPER important that you update your node to a Berlin compatible version, otherwise it’ll be incompatible with the rest of the network past block 12,244,000. On the Ethereum’s Foundation’s [announcement of the upgrade](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/), they’ve listed the client versions compatible with the Berlin update. We’ve added them below for your convenience. go-ethereum (geth)

", tooltip: "", icon: "" }, "2": { title: "

1.10.1

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

OpenEthereum (f.k.a. Parity)

", tooltip: "", icon: "" }, "2": { title: "

3.2.0

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Nethermind

", tooltip: "", icon: "" }, "2": { title: "

1.10.31

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Besu

", tooltip: "", icon: "" }, "2": { title: "

21.1.1 21.1.2

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

EthereumJS VM

", tooltip: "", icon: "" }, "2": { title: "

v5.2.0

", tooltip: "", icon: "" }, id: 4, }, ], }} /> ‍ ### Are there any best practices I should consider? Glad you asked. Highly recommend you check out [this blog post](https://medium.com/alchemy-api/dont-get-forked-best-practices-for-handling-constantinople-and-ethereum-client-upgrades-e0d6b5dd8e9c) on best practices we wrote during the Constantinople hard fork. For the Berlin hard fork specifically, it’s important to ensure that your transactions are [EIP-155](https://eips.ethereum.org/EIPS/eip-155) compatible to protect against replay attacks. Following the Berlin upgrade, [geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) clients will default to enforcing EIP-155 compatibility, meaning your transitions will fail if they do not comply with the EIP. At the time of writing, Alchemy still supports pre-EIP-155 unprotected transactions \(we’ll give our users plenty of warning before it becomes a requirement\), but it’s great practice to get into the habit of formatting EIP-155 compatible requests. ### What happens if I don’t participate in the upgrade? This is a bad idea. Your client will remain synced to the pre-forked blockchain after the update happens. So, you’ll be stuck on a deprecated chain and unable to transfer ether or interact with the post-upgrade Ethereum network. ### What are the new EIPs in this upgrade? Below is a quick description of each of these EIPS from the the Ethereum Foundation: - [EIP-2565: ModExp Gas Cost](https://eips.ethereum.org/EIPS/eip-2565) lowers the cost of [modular exponentiation](https://eips.ethereum.org/EIPS/eip-198) \(ModExp 0x00..05\) precompile, making it a similar cost to other operations. - [EIP-2718: Typed Transaction Envelope](https://eips.ethereum.org/EIPS/eip-2718) introduces a new transaction type that is an envelope to enable easier support for multiple transaction types. - [EIP-2929: Gas cost increases for state access opcodes](https://eips.ethereum.org/EIPS/eip-2929) increases gas cost for SLOAD, CALL, BALANCE, EXT and SELFEDESTRUCT when used for the first time in a transaction, after the first call the gas costs are fixed. - [EIP-2930: Optional access lists](https://eips.ethereum.org/EIPS/eip-2930) adds a transaction type which contains an access list, a list of addresses and storage keys that the transaction plans to access. This mitigates some of the gas cost increases introduced by EIP-2929. ### Never worry about hard forks again… If you’re working on an Ethereum project and don’t want to deal with the overhead of maintaining nodes, [sign up for Alchemy for free](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31)! Alchemy provides the fastest, most scalable, and most reliable Ethereum infrastructure as a service so that you can focus on building your product. Under the hood, we’ve built revolutionary new infrastructure that’s powering all the leading NFT developer platforms, the majority of DeFi, and more! Learn more at [alchemy.com](https://dashboard.alchemy.com/signup?referral=affiliate:aed2ba93-969a-4812-ab81-27928b15db31). --- # Say Goodbye to Goerli and Hello to Sepolia! URL: https://www.alchemy.com/blog/goerli-faucet-deprecation.md ## Introducing Sepolia Testnet We are excited to help lead the transition for the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) and the world's best developer tooling from Goerli to the[ Sepolia testnet, ](/overviews/sepolia-testnet)and we remain committed to providing public goods that benefit the community. ### Goerli deprecation dates Goerli support on all networks is ending soon: - **February 16th** - [Base Goerli](/blog/base-goerli-testnet-deprecation) - **March 7th** - [Optimism Goerli](/blog/optimism-goerli-testnet-deprecation) - **March 18th** - [Arbitrum Goerli](/blog/arbitrum-goerli-testnet-deprecation) - **April 1st** - [Ethereum Goerli](/blog/ethereum-goerli-testnet-deprecation) - **April 6th** - Polygon zkEVM Goerli - **April 11th** - [Starknet Goerli](/blog/starknet-sepolia-is-live) - **April 13th** - [Polygon Mumbai](/blog/polygon-mumbai-testnet-deprecation) We understand that this may cause some inconvenience for those who have been using Goerli testnet and our Goerli faucet, but we want to assure you that we are providing resources to make the transition as smooth as possible. ### Currently supported Sepolia testnets: Today, we currently support the following Sepolia testnets:  - [Ethereum Sepolia](/faucets/ethereum-sepolia) - Arbitrum Sepolia - Optimism Sepolia - Base Sepolia - Starknet Sepolia - Polygon Amoy To start building, get testnet tokens from our [supported Sepolia faucets](/faucets). ## Recommended action for developers Sepolia is the sustainable path forward for web3 developers, and we encourage devs to use Sepolia for any testing and development needs. In our previous announcement on Sepolia, we highlighted [Sepolia's benefits](/overviews/goerli-vs-sepolia), such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. Our [Ethereum Sepolia faucet](/faucets/ethereum-sepolia) drips up to 1 SepoliaETH per day and is available to developers as they deploy smart contracts to the Ethereum Sepolia testnet. ### Ethereum Sepolia chain information If you are [adding the Sepolia blockchain to your wallet](/overviews/how-to-add-sepolia-to-metamask), this is the network information to include: - **Network Name** - Sepolia Test Network - **RPC URL** - `https://eth-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` - **Chain ID** - 11155111 - **Currency Symbol** - SepoliaETH - **Block Explorer URL** - https://sepolia.etherscan.io/ To start building on Sepolia, [sign up](https://dashboard.alchemy.com/signup/?a=sepolia-vs-goerli) for a free Alchemy account, and [get free SepoliaETH tokens](/overviews/sepolia-eth) from Alchemy's public faucet. ## Why Sepolia? The decision to deprecate the Goerli Faucet and move towards Sepolia is to ensure that the Ethereum ecosystem has a viable, stable, and safe path forward to grow. We are committed to providing the best possible service to the Ethereum developer community and are confident this transition to the Sepolia testnet will help us achieve that goal. We want to thank the community for their support, and we are excited to continue providing public goods that benefit the community. If you have any questions or concerns about this transition, please don't hesitate to reach out to us on Discord. We look forward to building the future of web3 with you 🚀 --- # Grow your apps with 14 fast-growing chains URL: https://www.alchemy.com/blog/grow-your-dapps-with-17-fast-growing-chains.md The multichain future is here, and there's never been a more exciting time to build. Whether you're a seasoned builder or just starting out, we're here to ensure you're equipped to thrive in this increasingly multichain ecosystem. Let's dive in! ## Newly supported chains We've added 14 fast-growing chains for you to build on. - Arbitrum Nova - [Avalanche C-chain](https://www.alchemy.com/avalanche-c-chain?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Berachain](https://www.alchemy.com/berachain?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Blast](https://www.alchemy.com/blast?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [BNB Smart Chain](https://www.alchemy.com/bnb-smart-chain?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Fantom](https://www.alchemy.com/fantom-opera?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Flow](https://www.alchemy.com/flow?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Gnosis](https://www.alchemy.com/gnosis?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Holešky](https://www.alchemy.com/holesky?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Linea](https://www.alchemy.com/linea?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Mantle](https://www.alchemy.com/mantle?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Metis](https://www.alchemy.com/metis?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [opBNB](https://www.alchemy.com/opbnb?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [ZetaChain](https://www.alchemy.com/zetachain?utm_source=blog&utm_medium=blog&utm_campaign=summer) These new chains are now available alongside favorites like Ethereum, Solana, Polygon and more. ## Fueling the ecosystem Whether you’re prioritizing performance, interoperability or specific features, each of these chains is uniquely pushing [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) forward. 🚀 ### Arbitrum nova - Powered by AnyTrust technology, Arbitrum Nova supports 130\+ [apps](https://www.alchemy.com/dapps/top/defi-dapps), with Infinigods being the most popular game at the moment. - Arbitrum Nova achieved $75 million in transactions in a 30-day period, the highest volume among Arbitrum chains. - [Stylus](https://blog.arbitrum.io/arbitrum-stylus-mainnet/) is now activated on Arbitrum Nova, enabling smart contracts in languages like Rust and C\+\+. ### Berachain: impressive growth - [Berachain](https://www.alchemy.com/berachain?utm_source=blog&utm_medium=blog&utm_campaign=summer)'s Bartio Testnet has shown impressive growth since June 9th, with 26M transactions, 4.1M blocks, 3.5M active addresses, and 240k contracts deployed. - The ecosystem is rapidly expanding with diverse DeFi protocols like Gummi \(a money market for leverage\), [Infrared Finance](https://www.alchemy.com/dapps/infrared-finance) \(liquid staking\), and [Kodiak](https://www.alchemy.com/dapps/kodiak) \(liquidity hub\), showcasing [Berachain](https://www.alchemy.com/dapps/berachain)'s robust DeFi capabilities. ### Flow: embracing EVM - Crescendo, the biggest upgrade to [Flow](https://www.alchemy.com/flow?utm_source=blog&utm_medium=blog&utm_campaign=summer) since the launch of the network, makes all Flow apps EVM equivalent, catalyzing a new wave of users, liquidity, and apps. - The Flow World Tour brings the best developers from around the world together to create the next killer app on Flow. From now until the end of the year, there will be hackathons in Singapore, San Francisco, and Thailand, and Flow events in Korea and New York City. ### Linea: impressive first-year growth - [Linea](https://www.alchemy.com/linea?utm_source=blog&utm_medium=blog&utm_campaign=summer) grew from 0 to 400 apps and [ecosystem partners](https://linea.build/apps) in less than 1 year of Mainnet going live. - 1.3M Linea users have received attestations on [Verax](https://linea.mirror.xyz/LlLx7IytwRYWQbLlxHr6zoUZjqNQdQ5P95zo3Dcilb0), an on-chain attestation registry, provingtheir proof-of-humanity \(PoH\). - Linea is now the most cost-efficient zkRollup, with transaction costs of $0.00025. ### Mantle: pioneering modular solutions - Launched as the first modular Ethereum Layer 2 and first adopter of EigenLayer and EigenDA layer, [Mantle](https://www.alchemy.com/mantle?utm_source=blog&utm_medium=blog&utm_campaign=summer) has [200\+ protocols](https://www.mantle.xyz/ecosystem) deployed in just over a year. - Actively funding and developing the ecosystem through [mETH Protocol](https://x.com/mETHProtocol), [Ignition](https://x.com/FBTC_official), and [Mantle Rewards Station](https://rewards.mantle.xyz/). - [2nd largest](https://defillama.com/treasuries) community-owned treasury, supporting developers and boosting asset partner growth. ### Sonic chain going live in Q4 - We've partnered with Fantom & Sonic Labs to bring you immediate RPC support for [Fantom Opera](https://www.alchemy.com/fantom-opera?utm_source=blog&utm_medium=blog&utm_campaign=summer) and will be providing RPC support for Sonic when it's live. - Sonic Labs is [planning for the Sonic chain launch](https://x.com/0xsoniclabs/status/1819057799722414538?s=46) in November/December 2024, featuring [the Sonic Gateway](https://x.com/0xSonicLabs/status/1829940987533078882) - a secure, native bridge operated by Sonic's validators with a fail-safe mechanism. - Introducing the [Sonic Boom program](https://x.com/0xSonicLabs/status/1825925910194958702), a bounty program offering points as part of Sonic's 190.5M $S airdrop to developers who build innovative apps for the chain. ### ZetaChain: advancing universal blockchain - Surpassed 10,000 dApp contracts on its universal blockchain, [ZetaChain](https://www.alchemy.com/zetachain?utm_source=blog&utm_medium=blog&utm_campaign=summer) offers a one-deployment solution for developers to get native access to users across Bitcoin and all other chains. - [Trust Wallet](https://trustwallet.com/) launched a loyalty program for 130M users, offering $100,000 in ZETA rewards, while ZetaChain Universal DEX partner [Eddy Finance](https://www.eddy.finance/) reached 1,000,000 unique wallets. - Preparing support for Solana, soon to enable one-click native asset trading between Solana, Ethereum and Bitcoin. ## Leveraging multichain infrastructure Here's how builders are scaling their multichain apps: 1. **Web3 Security**: [Hypernative](https://www.alchemy.com/dapps/hypernative?utm_source=blog&utm_medium=blog&utm_campaign=summer), a team dedicated to enhancing web3 safety, leverages multichain infrastructure to monitor multiple chains in real-time. Their advanced analytics detect and prevent hacks and exploits across numerous chains, including Linea and Berachain. Hypernative [notes that](https://x.com/Alchemy/status/1828764735275200540) our platform enables them to rapidly integrate new chains and scale their security solutions, contributing to a safer future for onchain apps. 1. **Governance**: [Tally](https://www.alchemy.com/dapps/tally?utm_source=blog&utm_medium=blog&utm_campaign=summer), a leading governance platform, utilizes our reliable RPC endpoints to provide on-chain governance solutions across multiple networks such as Linea, Gnosis and Blast. This enables Tally to quickly support new chains as protocols launch governance features, making it easier for [DAOs](https://www.alchemy.com/dapps/top/daos) and protocols to implement decision-making processes. 1. **DeFi**: [Ether.fi](http://ether.fi/), a dApp focused on optimizing Ethereum yields, leverages our multichain infrastructure to rapidly integrate new chains like Linea and Blast, allowing them to focus on innovating within DeFi. Their team emphasizes the significance of Alchemy infrastructure in their ability to expand across chains and deliver better yield opportunities for Ethereum users. ## Looking ahead We've been launching chains at record speed. 14 chains in 12 weeks! And we're just getting started. We're working tirelessly to ensure day-one support as new chains prepare to launch. Coming soon: - Monad - CrossFi - Sei - Scroll - [Sonic](https://www.alchemy.com/blog/fantom-foundation-and-sonic-labs-partnership?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Soneium](https://www.alchemy.com/blog/soneium-partnership?utm_source=blog&utm_medium=blog&utm_campaign=summer)… and more! Want to see what's supported today? [Explore the Chain Directory](https://www.alchemy.com/rpc?utm_source=blog&utm_medium=blog&utm_campaign=summer). ## Happy building Ready to start building? - Check out [our documentation](https://www.alchemy.com/docs/get-started?utm_source=blog&utm_medium=blog&utm_campaign=summer) - [Get your API key](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=summer) - Or, [find time with our team](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_campaign=summer)! --- # Growing Our Support of the Blockchain Community URL: https://www.alchemy.com/blog/growing-our-support-of-the-blockchain-community.md ##### Alchemy Ventures launches with strategic partners to accelerate the next wave of Web3 Invest in the blockchain community -- that’s what we said we were going to do when we [announced our Series C](https://www.alchemy.com/blog/alchemy-series-c) on October 28, and now, we’re happy to share a significant new investment in this community’s growth. Today we publicly launch Alchemy Ventures to invest in the future of decentralized finance, computing, and ownership. Through Alchemy Ventures, we will help the most promising developers and creators realize their visions as we continue to advance the global growth of Web3 together.  Our focus will be simple, to help ensure our customers and users become massively successful. This means capital investments are just the start of the support we bring to the teams we invest in. We’ve been there from day one, helping companies like OpenSea, Dapper Labs, and 0x turn into some of the most used applications in the space. As a result, we have unique insight into the things that are most helpful for early-stage companies building on blockchain. Here are just a few of the things teams aligned with Alchemy Ventures have access to: - Direct access to Alchemy and our strategic partners \(listed below\) - Exclusive founder dinners and events to build connections and knowledge - Access to the Alchemy Talent Network to help finding the best recruits in the industry - Strategic mentoring to help with fundraising - Immediate access to Alchemy’s products and support teams, including: - Discounted access to Alchemy’s full developer platform - Dedicated 24/7 enterprise-grade support and direct personal access to our team - Priority access to Alchemy Amplify to maximize product launch distribution  We’re also proud to share that we will be joined in Alchemy Ventures by a number of our company’s investors, some of the most successful and experienced Web3 investors in the industry. So, in addition to access to the teams at Alchemy, teams supported by Ventures will have access to: - Andreessen Horowitz - [Pantera Capital](https://www.alchemy.com/dapps/pantera-capital)  - Coatue - Addition - Lightspeed - DFJ - The Chainsmokers  - Guillaume Pousaz, founder of Checkout.com - 3LAU, DJ, producer and founder of Royal  - Tom Glocer, former CEO of Reuters  - Dreamers VC, Will Smith’s investment fund While we’re just announcing this news today, we’ve been quietly building relationships and already helping these existing portfolio companies succeed: - [FTX](https://ftx.com/en): Cryptocurrency Exchange - [Genies:](https://genies.com/) Leading avatar technology company - [Arbitrum](https://offchainlabs.com/): Scaling solution for any Ethereum applications - [XMTP](https://xmtp.com/): Communication protocol for Web3 - [Royal.io](https://royal.io/): Platform to purchase ownership in songs - [Matter Labs](https://matter-labs.io/): Scaling solution for Ethereum through zero-knowledge proofs We hope that with additional levers like Alchemy Ventures in place, our mission to provide Web3 developers around the world with the fundamental building blocks they need to create the future of technology will only continue to accelerate and ultimately benefit each individual around the world!  We’re excited to launch this, and can’t wait to work with you!  [Read up on all the details on our website.](https://www.alchemy.com/ventures) --- # Why I Joined Alchemy URL: https://www.alchemy.com/blog/guillaume-poncin.md I am bullish on crypto and web3 for countless reasons, but essentially it comes down to the following: Blockchains represent a fundamental shift in how to facilitate the exchange of value between people. During my time building crypto payment products at Stripe I discovered that blockchains promise the same kind of global transformation that open Internet protocols enabled for the exchange of information, and the ensuing revolution in every segment of the economy that unfolded over the past couple of decades. Back in 2017, none of this potential was clear to me. When [CryptoKitties](https://www.alchemy.com/dapps/cryptokitties) came out, I did what every curious, cat-loving geek would have done, and bought an NFT just to see how it all worked. But the complexity of the user experience quickly dissuaded me from diving further. It was difficult to grasp the possibilities of web3 back then. Fast-forward to 2020, I took another look and truly fell down the rabbit hole. The engineer in me fell in love with the distributed system technology, which is pretty fascinating in itself \(distributed consensus at high throughput in a trustless environment 😍 But, how??\) It was then that I realized the impact blockchain could have on the world: instant \+ global \+ inexpensive transfers of value, the ownership of digital goods, the ability to quickly bootstrap a community around a project, and so much more. Now in 2023, we’re [seeing huge advancements](https://www.alchemy.com/blog/web3-developer-report-q2-2023) in, and the adoption of, account abstraction and layer 2 EVM chains like Arbitrum, Optimism, and Polygon. Perhaps most importantly, despite continued macro-market headwinds, developers are building at record pace, offering hope for long-term web3 growth. So why Alchemy? Again, many reasons, but here are the two worth mentioning now: impact and culture. **1/ This is where I believe I can have the most impact in amplifying the adoption of crypto.** If you’re reading this, you know we are still early in web3. Right now, most things are difficult. Things break. There’s friction across most of the tech stack, both for developers and for users. But it’s getting better daily, and Alchemy is playing a vital role in making blockchain development easier across the web3 ecosystem. **2/ I’ve been nothing but impressed by the incredibly talented team Joe and Nikil assembled.** The culture and energy of the team resonates strongly with me - and matches the type of startup environments where I was able to uplevel myself as both an engineer and leader. It’s never wise to make bold predictions in web3, but I’m willing to bet that the future of this space will be defined in large ways by my new colleagues here at Alchemy, and I’m delighted to take part in this journey. Let’s BUIDL! --- # Introducing Historical Solana Token Balances URL: https://www.alchemy.com/blog/historical-solana-token-balances.md Ask a Solana wallet what it holds today and any node can answer in one call. Ask what it held last spring, or at the exact moment right before it got drained, and the easy path disappears. Nodes serve current balances. They do not keep a running record of who held what, when. So the honest answer to "what did this wallet hold back then" has been: rebuild it yourself. Today we are changing that. [`getTokenAccountsByOwnerAtSlot`](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-token-accounts-by-owner-at-slot) returns everything a wallet held at any past point in time, with exact balances, in a single call. ## The problem with reconstructing history Standard [`getTokenAccountsByOwner`](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-token-accounts-by-owner) only answers one question: what does this wallet hold right now. That covers most live app flows, but it leaves a whole class of questions unanswered. To reconstruct a past balance yourself, you replay the account's life. You pull the wallet's full signature history with [`getSignaturesForAddress`](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-signatures-for-address), fetch every transaction with [`getTransaction`](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-transaction), then re-derive balances slot by slot up to your target. For an active wallet that is thousands of calls, a lot of parsing, and plenty of room to get the math wrong. Archival nodes help you read old state, but they still do not answer "list this owner's token accounts at slot X" directly. ## How it works The method keeps the syntax you already know from `getTokenAccountsByOwner` and adds one thing: a `slot`. A slot is Solana's clock, roughly one block, so passing a slot means "give me this wallet as it stood at that exact point in history." When you call it, you get back the wallet's **token accounts**, the individual records that hold each token a wallet owns. On Solana a wallet does not hold balances directly, so listing these accounts is how you read holdings. Each one comes with its balance and its **lamports**, the small amount of SOL (fractions of a coin, 1 SOL is 1 billion lamports) every account carries to exist on-chain. The method covers both of Solana's token standards: **SPL Token**, the original one behind effectively every well-known token like USDC, and **Token-2022**, the newer version with extras like transfer fees and confidential balances. Those standards live under different program IDs, so a single `programId` filter only returns accounts for that program. Behind the call sits a continuously built historical index, a versioned record of every token account over time: who held which account, how much, and between which slots, kept current as new blocks land. You can scope a query two ways. By mint, to read a single token's balance at a past slot. Or by program, to list every token account owned under that program at the slot. For a full portfolio across both standards, call once with the SPL Token program ID and once with the Token-2022 program ID, then combine the results. The example below scopes to SPL Token only. Paging stays consistent because the `pageKey` pins the slot you asked for. The tip of the chain can advance while you page, and your results still describe the same point in time, up to 10,000 accounts per page. ## Why it matters Point-in-time holdings become a first-class query. The indexing pipeline you would otherwise build and maintain collapses into one RPC call, which frees your team to work on the product instead of the plumbing. That opens up work that used to be painful: - Portfolio and PnL snapshots at any historical moment - Cost basis and tax reporting tied to specific slots or dates - Dispute, forensics, and incident work, like showing what a wallet held the block before it was drained - Analytics and indexing pipelines that need accurate historical state without replay We verified results against on-chain ground truth during testing. Sampled historical queries matched chain balances and lamports exactly, including deep history such as a KIN balance at slot 80,000,000. ## Getting started The method is available on the standard Solana mainnet endpoint, so if you already send Solana RPC through Alchemy you can call it with your existing API key. Point at `https://solana-mainnet.g.alchemy.com/v2/{ALCHEMY_API_KEY}`, add a `slot`, and read the holdings back. See the [Solana API quickstart](https://www.alchemy.com/docs/reference/solana-api-quickstart) to set up a key and send your first request. ## FAQ ### What does getTokenAccountsByOwnerAtSlot do? It returns a Solana wallet's token accounts, with balances and lamports, as of a past slot you specify. It has the same shape as `getTokenAccountsByOwner`, plus a `slot` parameter. ### What are SPL Token and Token-2022? They are Solana's two token standards. SPL Token is the original one that covers effectively every well-known token on the network. Token-2022 is the newer version that adds optional features like transfer fees and confidential balances. The method covers both. ### How is this different from getTokenAccountsByOwner? `getTokenAccountsByOwner` returns current holdings only. `getTokenAccountsByOwnerAtSlot` answers the same question at any past slot, reading from a historical index rather than live node state. ### Do I need an archival node or a custom indexer? No. The method reads a prebuilt historical index, so you do not run archival infrastructure or replay transaction history yourself. ### Can I query a wallet's full portfolio, not just one token? Yes, but not in one `programId` call if the wallet holds both standards. Scope by `mint` for a single token, or by `programId` for every account under that program at a slot. SPL Token and Token-2022 use different program IDs, so for a complete portfolio query both and merge the responses. ### How does pagination stay accurate as the chain moves? The `pageKey` pins your query slot, so results stay consistent across pages even as new blocks arrive, up to 10,000 accounts per page. --- # How Alchemy Built the Fastest Archival Methods on Solana URL: https://www.alchemy.com/blog/how-alchemy-built-the-fastest-archival-methods-on-solana.md Towards the end of last year, we [announced our brand new product offering](https://www.alchemy.com/blog/solana-infrastructure) for Solana, and one of the key features of that product is the performance of our archival methods: which are up to 20x faster than any other solution on the market. With our Solana offering, developers can query historical transactions, blocks, and signatures at unprecedented speed via a standard JSON RPC interface. That wasn’t easy to build, and in this post we’ll break down how did it. ## What are archival methods on Solana? In Solana, archival methods refer to RPC calls that retrieve historical blockchain data, like `getTransaction`, `getBlock`, and `getSignaturesForAddress`. These archival endpoints are the foundation of onchain apps. Wallets, indexers, analytics providers, explorers, and much more rely on this historical data to provide richer data to users and build coherent experiences. However, archival access is notoriously difficult to fetch on Solana. The dataset is massive, deeply interconnected, and computationally heavy to query. For most developers, these endpoints are where latency and inconsistency issues appear first and appear most acutely. ## The performance problem with solana’s archival methods Most Solana infrastructure today runs on Google Bigtable coupled with validator-based RPC nodes. This stack is easy to deploy \(which is why many teams choose it\), but it’s not built for scale. It’s CPU-intensive, memory-hungry, and struggles with large batch requests. When querying at scale, these methods can throttle throughput and slow your app to a crawl, or worse even drop data altogether in the response. This is why even reputable providers often return incomplete or lagging responses when you query historical data. For devs, those missing blocks and slow calls quickly cascade into broken in-app experiences. We wanted to fix that. Not simply with more hardware \(though we added more of that too\), but with a better architecture for our infra altogether. ## Our optimization struggles with Google bigtable Like many Solana infra providers, we started with Google Bigtable, and over time we discovered the performance issues above. Those issues were compounded by two factors. First and foremost, the large size of Solana blocks. Bigtable performs best when rows are ~1KB. Solana transaction data or account states are often much larger. Fetching a large binary object requires more I/O from Google’s underlying storage \(Colossus\). Second, there was a question around price. Cloud databases are expensive. A lot of data on Solana \(like voting transactions\) is not particularly valuable, and it’s economically not feasible to maintain that data in the cloud. Also Google Bigtable is priced by usage, which adds even more pressure and less flexibility to offer higher RPS. Despite those limitations, we still tried to push some optimizations to this setup. For example, we optimized transaction fetching. In Google Bigtable’s default setup, when you request one transaction with `getTransaction`, it fires one query to a `tx` table to block ID by signature. Then it fetches all blocks to return a single transaction. That's a lot of work to return a tiny amount of data from a remote cloud database. To make that common request more efficient, we introduced an additional table called `tx-full` where we store not just a reference to blocks, but the whole transaction. That made a big difference on response times, but we were still suffering from increased latency due to the remote geographic location of the data center. Even though we tried hard to accommodate the default stack, development was very slow. Just a simple write done from a full RPC node/validator was a big pain: every change required full restarts of nodes. That process could take anywhere from 30 minutes to a few hours. Not having the database closer geographically or having the ability to control some parameters of it also made everything much harder and more expensive. After some effort, we decided it would be better to rewrite the entire stack, from data ingestion to the RPC server itself. ## Our solution? A rewritten stack Our main goal when taking on this work was to increase development time. This meant no heavy RPC nodes that write and serve data. Instead, we separated writing and serving data into small separate services and switched to a self-hosted, open source database. That new system offers: - **Hardware and software co-optimization:** Every layer of the stack, from disk layout to memory access, is tuned to maximize throughput and minimize compute overhead. - **Multi-region data distribution:** Archive data is globally distributed, ensuring low-latency access no matter where requests originate. - **Triple-verified ingestion:** Each record is written twice, validated programmatically for accuracy, and continuously scanned for completeness. - **Self-healing pipelines:** If discrepancies are detected, we automatically re-ingest missing entries, cross-checking up to 30–50 related addresses per block to guarantee data integrity. Let’s go through each part of the solution, which we also [made open source](https://github.com/dexterlaboss/archival-rpc) \(this code exists in the [DexterLab](https://www.alchemy.com/dapps/dexterlab)’s repo, which was [acquired by Alchemy last year](https://www.theblock.co/post/354709/alchemy-acquires-solana-infrastructure-provider-dexterlab-as-it-continues-expansion-beyond-ethereum)\). ## ArchivalRPC We rebuilt our archival service from scratch into a much more performant service that can be started or restarted in few seconds. A dramatic improvement from the 30 minutes to several hour spin up time we dealt with when working with a full RPC node. We still use the same official Solana libraries to serialize and deserialize data, so this service will always be compatible with ongoing changes. This means that even with our new custom stack, we are not changing data at all, ensuring that the data we serve is not malformed during processing. And being a light service that is dependent on a database, it’s very easy to scale on demand \(in only a few seconds\) and accommodate massive amount of traffic. This is particularly useful for spiky applications, and with a single DB instance, this service can reach numbers up to 100-200k RPS depending on the database setup. ## ArchivalRPC ingestor This part of the stack is responsible for pulling Solana data from multiple sources and writing it into our database layer. It handles both bulk imports \(such as raw gzip block archives used when bootstrapping new instances\) and real-time streams from systems like Kafka. We also built granular controls directly into the ingestor, which allow us to choose exactly which data types an instance should store \(e.g. blocks only, signatures only, transactions only, or any combination\). This selective-ingestion model reduces single points of failure, improves reliability, and gives us meaningful levers to optimize storage costs depending on the use case. ## Hbase Once we improved read and write performance, we turned our attention to the next challenge: cloud database latency. ArchivalRPC was designed from day one to support multiple storage backends, which made it straightforward to explore alternatives. We ultimately chose HBase, an open-source, self-hosted replacement for BigTable, because it let us co-locate the database alongside our RPC servers and drive storage latency effectively to zero. This implementation also enabled us to use our existing data models and implementation principles, giving us the performance benefits without introducing architectural risks. But even with the strengths of HBase, we still ran into some issues. For example, to handle the large size of Solana blocks, we originally tried to use `BucketCache` in Hbase, which can be configured to use off-heap memory or fast SSDs as a secondary cache layer and keep more data in a “warm” state. However, we ultimately found that `BucketCache` was unreliable. Because of the randomness of data and how quickly it changed, it slowed down our system. Instead, we ultimately turned to a different solution for handling large data: we actually changed how blocks are stored. Instead of storing full blobs in our database \(which isn’t designed to handle these large data structures\), we only store the metadata in the database, which points to CAR files which can then reside on any storage and are very scalable. ### Service optimizations and multi-region distribution Building a solution that can scale to millions, and even billions of requests, required optimizations across the entire stack: swapping out one database architecture for another alone wasn’t enough to get the performance we were looking for. It required us to try many different deployments on different hardware and try different architectures. Over time, we improved our ingestion and serving services and got the desired results. Optimizing our hardware and software to handle high volumes of requests was one challenge we had to solve. Another was fighting latency. For heavy archival calls, we found getting latency under control required expanding our hardware into multiple regions to ensure consistent fast responses around the globe. This multi-region setup also improves our availability and helps us maintain higher reliability standards. Outages are inevitable, and having fallback options span geographic regions ensures that even if one region goes down, we can continue to serve our customers. This same multi-region configuration also helps us scale and distribute traffic: if one region is reaching capacity, we can route traffic to another region as we scale the deployment. ### Triple-verified ingestion A lot of the work for this product was improving performance, but that’s only half the battle. One ongoing issue with Solana archival methods is that data often gets dropped altogether. We had to improve the reliability of the system. Many Bigtable-based providers silently miss blocks, signatures, or transactions as their ingestion pipelines scale. Those misses happen due to how default data ingestion works from a validator: every restart can cause gaps in data writes. And if you are locked into maintaining multiple validators writing the same data, that still does not guarantee data consistency because there are no secondary checks that the data is being written correctly. And as a builder using that infra, you have no idea that data is missing until something breaks downstream. Our infrastructure prevents that problem by design. After writing data, we run secondary pipelines to read every record and continuously validate that data and automatically repair it if inconsistencies appear. We also do full checks of our databases after initial bootstrap, and we continue to do checks on live writes in close to real time. We didn’t just build faster data. We built trusted data. ### Self-healing pipelines For some complex data, like `signatures`, fallback methods can’t be trusted. This means the above triple-verification process is sometimes still not enough. To combat this, we use programmatic validation to cross-check transactions across up to 30-50 addresses per block. If our system detects a discrepancy, our backup and recovery process automatically repairs the missing entries. That process involves fetching a block that serves as the source of truth and extracting all address-signature relationships from it. To optimize the cost of scanning HBase here, we accumulate these mappings per address over a large range of consecutive slots and perform a scan query instead of individual key-based queries. The results are then compared, which enables us to identify gaps in the SIGS cluster. Once we identify those gaps, we repost that block to the indexing pipeline \(to a suitable kafka topic for this data type\) and reindex it. We also added a consistency checker process that will repeat this operation if the gap isn’t filled, and eventually alert our team if the failure state continues. This redundancy and self-healing ensures that you can rely on our methods as the most complete and consistent source of historical data on Solana. ## Translating the work to throughput All of that work has translated to meaningful capacity: - 100,000 RPS per region for `getTransaction` - 50,000 RPS per region for `getSignaturesForAddress` - 2,000 RPS per region for `getBlock` We are continuing to invest in our Solana offering and will be expanding to more regions soon for even better reliability and latency. This is just the beginning. ## Try it yourself If you want to try our archival methods on Solana, you can get started for free by [creating a dashboard account](https://dashboard.alchemy.com/) to generate your API key. Then you can explore our Solana endpoints [in our documentation](https://www.alchemy.com/docs/reference/solana-api-quickstart). ## Frequently asked questions ### What are archival methods on Solana? Archival methods are RPC calls that retrieve historical blockchain data, such as `getTransaction`, `getBlock`, and `getSignaturesForAddress`. These endpoints allow developers to access past transactions, blocks, and signatures through a standard JSON RPC interface. ### Why are Solana archival methods typically slow? Most Solana infrastructure runs on Google Bigtable, which is CPU-intensive, memory-hungry, and struggles with large batch requests. This stack wasn't built for scale and can throttle throughput, slow performance, or even drop data in responses. ### How fast are Alchemy's archival methods on Solana? Alchemy's archival methods are up to 20x faster than other solutions, with capacity for 100,000 RPS per region for `getTransaction`, 50,000 RPS for `getSignaturesForAddress`, and 2,000 RPS for `getBlock`. ### How does Alchemy ensure data completeness and reliability? We use triple-verified ingestion where each record is written twice, validated programmatically for accuracy, and continuously scanned for completeness. Self-healing pipelines automatically re-ingest missing entries by cross-checking up to 30-50 related addresses per block. ### What database does Alchemy use for Solana archival data? We use HBase, an open-source, self-hosted database that allows data to be co-located alongside RPC servers to drive storage latency effectively to zero. This replaced Google Bigtable to improve performance and reduce costs. ### How does Alchemy handle large Solana block sizes? Instead of storing full blocks in the database, Alchemy stores only metadata that points to CAR files, which can reside on any storage and are highly scalable. This approach better handles the large size of Solana blocks. ### Why did Alchemy rebuild the entire archival stack from scratch? The default stack using full RPC nodes required 30 minutes to several hours for restarts, making development slow and expensive. Alchemy separated data writing and serving into small services that can restart in seconds and scale on demand. ### How does Alchemy maintain low latency globally? Archive data is distributed across multiple regions globally, ensuring low-latency access regardless of request origin. This multi-region setup also improves availability and helps distribute traffic during high-demand periods. --- # How Alchemy Keeps DeFi Fast at Scale | Alchemy URL: https://www.alchemy.com/blog/how-alchemys-node-infrastructure-keeps-defi-fast-at-scale.md Every time someone makes a trade on a DeFi app, swapping one token for another, the app fires a burst of requests to the blockchain in the background: price quotes, pool balances, gas estimates, wallet balances. Dozens of them, across several chains, before the trade goes through. The user never sees any of it. They just see a good price and a confirmed transaction, or they don't. In Decentralized Finance (DeFi), the infrastructure is the product. When the data your app reads is slow, the user may trade at a different price than the one they saw. When a connection drops during a market swing, a transaction fails. When a record goes missing, someone's balance or history shows up wrong. The blockchain itself does not fix any of this for you. Your RPC layer does, or it doesn't. We've spent years investing in the node and RPC infrastructure that closes the gap between what the blockchain knows and what your app can act on. That work matters for any onchain product, and DeFi is where it gets tested hardest, because in DeFi that gap is measured in money. Here's what it looks like in production, told through the teams running on it. ## Speed, because every millisecond is priced in In trading, the price moves while you wait. A few hundred milliseconds of lag can be the difference between the price a user saw and the price they actually get. 0x powers swaps for dozens of wallets and aggregators trading one token for another, routing billions of dollars in trades. 0x's goal is to find the best available price across many pools of liquidity at once. To do that, it fires dozens of RPC queries in the moment before each trade. If that data comes back slow, the price the user is quoted drifts, and they get a different deal than the one they intended to make. 0x tested every option and settled on one requirement: fast, consistent, accurate data every time. On our infrastructure they generate quotes in under a second and hold 99.9% uptime with one of the lowest failed trade revert rates in DeFi. For 0x, that reliability is what lets them promise their partners a dependable service. For the trader on the other end, it is the difference between a trade that clears at the price they expected and one that silently fails. > "Alchemy allows all of our integrators to have more responsive experiences and it allows us to offer a more reliable service — we're able to generate quotes in less than a second." > > — Charles Reese, Engineering Manager, 0x Labs · [Read the 0x case study](https://www.alchemy.com/case-studies/0x) *0x on Alchemy: $170B+ traded, 3.5M+ traders, 99.9% uptime, 2% revert rate, sub-second quotes.* The same pattern holds on Solana, where blocks come even faster. Solflare, one of the largest wallets in the Solana ecosystem, gives its 4M+ users a deep view of their own activity: balances over time, past trades, and profit and loss. All of that runs on historical blockchain data, which is one of the hardest things to serve quickly on Solana. On our Solana archive infrastructure, Solflare gets that data up to 20 times faster than other options, with responses under 200 milliseconds and no errors even while handling several thousand requests every second. For Solflare, that means shipping richer analytics without fighting its data layer. For its users, it means opening the app and seeing a full, accurate history load almost instantly instead of waiting or hitting gaps. > "Alchemy's Archival RPC has kept up with Solflare's throughput while keeping a consistent sub-200ms response time." > > — Dušan K., Backend Engineer at Solflare · [Read the Solflare case study](https://www.alchemy.com/case-studies/solflare) *Solflare on Alchemy: 4M+ users, up to 20× faster archive queries, responses under 200ms, several thousand requests per second with zero errors.* ## Reliability, because a failed transaction is real money lost Speed only counts if the system stays up when it matters most. For DeFi, the worst moment to fail is the busiest one: a big launch, a token distribution, or a wave of liquidations when the market moves fast. Usual, a stablecoin protocol, found this out ten hours before a major token distribution, when the team recalculated demand and realized their existing setup would not hold. We scaled their capacity, tuned their infrastructure, and stayed in the room with live engineering coverage through the event. At the peak they handled 30,000 requests per second and served 38 million requests in the first hour, while more than 200,000 people tried to claim their tokens at the same moment, with effectively zero downtime and no failed claims. For Usual, that meant a signature launch went off without an outage becoming the story. For each of those 200,000 people, it meant they actually got what they came for instead of a spinning screen or a failed transaction. Our part was making sure the infrastructure underneath never became the thing that broke. > "Alchemy was able to give us a near perfect availability, serving massive amounts of requests per second (30k requests per second was our peak, and we still had buffer), without any hiccups or downtime. And all on short notice!" > > — Adli Takkal-Bataille, cofounder at Usual · [Read the Usual case study](https://www.alchemy.com/case-studies/scaling-to-30000-requests-per-second) *Usual on Alchemy: 30,000 requests per second at peak, 38M requests in the first hour, 200,000+ simultaneous claims, zero downtime and no failed claims.* ## Ease of access, so your engineers can build what sets you apart The best reason to run on us is what it frees your team to do. Every hour your engineers spend babysitting nodes, widening block history, or waking up to a pager during a traffic spike is an hour they are not spending on the product that sets you apart. That is the trade each of these teams made with us. Usual scaled on ten hours' notice without adding infrastructure staff. 0x brought its data onto one provider instead of stitching several together. Solflare prototyped its own Solana archive system, saw that running it well would be a full-time job, and handed that job to us so its engineers could keep shipping features. In each case the differentiating work stayed with them, and the infrastructure heavy lifting came to us. ## Who is this for? DeFi isn't one workload. Whatever you're building, the failure you can't afford is the one that only shows up under load. Here is where the pressure lands hardest: - **Swap routers and aggregators.** You fire dozens of RPC calls to price a single trade, so a slow read moves the price your user gets. - **Wallets and analytics apps.** You show users their balances, history, and performance, so you live on fast reads of historical data. - **Stablecoins, RWAs, and token launches.** Your riskiest day is your own launch or redemption window, so you need capacity that scales in hours, not quarters. - **Lending, perps, and liquidation engines.** One dropped update during a market swing can mean a missed liquidation, so real-time reliability is the whole game. ## Why we keep investing here None of this is an accident, and none of it is a side project. Powering this kind of infrastructure is what Alchemy is; it is the core of who we are and what we have built the company around. All of it runs on [Cortex](https://www.alchemy.com/cortex), the engine underneath our RPC, trained on trillions of requests and years of running this exact workload. It routes each request along the fastest path, scales automatically when traffic surges, and reroutes around failures on its own. Simpler setups tend to slow down or turn requests away at the exact moment volume spikes; Cortex is built to do the opposite, absorbing the spike and keeping data accurate when it matters most. That is what lets us hold low response times and high uptime, measured continuously in our [public RPC benchmarks](https://www.alchemy.com/benchmarks), while powering $1T+ in annual transactions across the platform. DeFi is the segment that stress-tests all of it at once: latency-sensitive, spiky, and unforgiving when money is on the line. The teams building the fastest onchain markets don't want to think about their infrastructure at all. Our job is to make sure they never have to. If you're building in DeFi and your infrastructure is the thing slowing you down [talk to our team](https://www.alchemy.com/contact-sales) and we'll stand up capacity with you. ## Frequently asked questions ### What is the best RPC provider for DeFi? The right RPC layer for DeFi has to combine consistent low latency, block-perfect data accuracy, and reliability that holds during volatility spikes. Teams like 0x, Usual, and Solflare run latency-sensitive and high-traffic DeFi workloads on Alchemy for exactly these reasons. ### How does Alchemy keep DeFi apps fast during traffic spikes? Alchemy's RPC runs on Cortex, which handles smart routing, elastic scaling during volatility, and autonomous failover. Usual peaked at 30,000 requests per second during a token distribution with effectively zero downtime and no failed claims. ### Does Alchemy support Solana archival data for DeFi? Yes. Alchemy serves heavy Solana methods like `getTransaction` and `getProgramAccounts` on its Solana Archive Method, where Solflare sees up to 20x faster archive queries and sub-200ms response times. See [how Alchemy built the fastest archival methods on Solana](https://www.alchemy.com/blog/how-alchemy-built-the-fastest-archival-methods-on-solana). ### How many chains does Alchemy support? Alchemy supports 100+ chains behind one interface, so adding a new network is a configuration change rather than a rebuild. --- # How to Build a Stablecoin in 2026 URL: https://www.alchemy.com/blog/how-to-build-a-stablecoin.md The stablecoin landscape has transformed dramatically in recent years. What was once a regulatory gray zone has crystallized into a structured market with clear rules, defined pathways, and unprecedented opportunity. With over [$300 billion in circulation](https://www.nytimes.com/interactive/2025/12/07/business/what-are-stablecoins.html) and projections reaching $1.9 trillion by 2030, [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) are evolving from crypto trading pairs into core financial infrastructure. This guide provides everything you need to understand the technical, regulatory, and strategic dimensions of building a stablecoin in 2026. ## The new regulatory reality For years, [stablecoin issuers](https://www.alchemy.com/dapps/best/stablecoin-issuers) operated in legal ambiguity: state money transmission licenses here, offshore structures there, a patchwork of interpretations that varied by jurisdiction and enforcement mood. That era finally ended in 2025. Three major regulatory frameworks now define the global stablecoin landscape: the [GENIUS Act in the United States](https://en.wikipedia.org/wiki/GENIUS_Act), [MiCA in the European Union](https://www.esma.europa.eu/esmas-activities/digital-finance-and-innovation/markets-crypto-assets-regulation-mica), and a wave of coordinated frameworks across Asia-Pacific. Together, they've transformed stablecoin issuance from a regulatory gray zone into a licensed financial activity with clear rules, defined capital requirements, and explicit technical mandates. ### What this means for builders These frameworks dictate your smart contract architecture before you write a single line of code. In particular, there are 3 types of restrictions for issuers that global jurisdictions are converging on. - **Regulatory controls**: Your stablecoin contract can’t be fully immutable and admin-less. You will need the ability to freeze, seize, and clawback transactions. - **Reserve requirements**: If a user deposits $1 with you to mint a stablecoin, you can’t do whatever you like with it. Deposits are increasingly required to be held in reserve, in a pre-approved list of assets, at all times. - **Disclosures/licensing**: The size of reserves has meaningful implications for accounting and auditing requirements. More than $50B in reserves? The GENIUS Act stipulates that you now require annual audits and monthly attestations from accounting firms. These aren't optional features you might add later: they're legal prerequisites for issuance. Reference the legal documents linked above or consult with an attorney that specializes in digital assets to learn more about what regulatory requirements looks like for your specific use case. ## Choosing your stablecoin model Considering regulatory requirements is one decision. You’ll also need to consider what stablecoin model you want to build. The stabilization mechanism you choose determines everything from capital requirements to technical architecture to how regulators classify your product. Not all models are created equal in the eyes of regulators, and some approaches that thrived in crypto's early days are now effectively excluded from regulated markets entirely. Each model carries distinct trade-offs that must align with both your strategic objectives and the jurisdictions you're targeting. ### Fiat-backed stablecoins Fiat-backed stablecoins maintain their peg through direct collateralization with traditional currency. For every token in circulation, an equivalent amount of USD sits in reserve accounts. This model represents over 90% of the $300\+ billion stablecoin market. #### How it works Users deposit $1,000, the issuer mints 1,000 tokens. Those dollars flow into segregated reserves—bank deposits, short-dated Treasury bills, and money market funds. When users redeem tokens for cash, the process reverses: tokens burn, then dollars return to user accounts. The peg holds through arbitrage. If tokens trade at $0.99 on secondary markets, arbitrageurs buy cheaply, redeem at $1.00 from the issuer, and pocket the spread. This mechanism forces prices back to peg. #### Economics A $10 billion stablecoin generates approximately $400-500 million annually in reserve interest at current Treasury rates—all retained by the issuer since regulations prohibit passing yield to holders. This creates powerful unit economics but requires significant upfront capital. You need substantial reserves before the yield becomes meaningful, creating a chicken-and-egg problem for new entrants. #### Operational requirements Running fiat-backed stablecoins requires banking relationships \(often difficult for crypto businesses\), custody infrastructure, real-time treasury management, compliance teams for AML/KYC and regulatory reporting, and attestation relationships with qualified accounting firms. #### Examples USDT \([Tether](https://www.alchemy.com/dapps/tether)\) leads at $140\+ billion. USDC \([Circle](https://www.alchemy.com/dapps/circle)\) follows with $45 billion as the regulated alternative. [PYUSD](https://www.alchemy.com/dapps/paypal-usd) \(PayPal\) has reached $3.8 billion. #### Choose this model when... Regulatory compliance is paramount, you have access to banking infrastructure, you're targeting institutional or payment use cases, and you have sufficient capital to fund reserves. ### Crypto-collateralized stablecoins Crypto-collateralized stablecoins maintain their peg through overcollateralization with other digital assets, managed entirely through smart contracts. No fiat reserves exist, stability comes from the mathematical relationship between collateral value and outstanding tokens. #### How it works Users deposit cryptocurrency \(typically ETH, BTC, or other major assets\) into a smart contract as collateral. The contract allows them to mint stablecoins up to a specified collateral ratio. If you deposit $150 worth of ETH at a 150% collateral ratio, you can mint up to 100 stablecoins. The critical mechanism is liquidation. When collateral value drops below the minimum threshold \(e.g., collateral falls to 120% of debt\), anyone can trigger a liquidation, repaying the stablecoin debt in exchange for the collateral at a discount. This incentivizes liquidators to maintain system solvency while protecting stablecoin holders from under-collateralization. #### Governance Unlike fiat-backed stablecoins with centralized issuers, crypto-collateralized systems typically operate through decentralized governance. Token holders vote on critical parameters: collateral types, stability fees \(interest rates\), debt ceilings per collateral type, and liquidation penalties. This introduces flexibility but also risk—poor governance decisions can threaten stability. #### Peg stability Modern systems often include a Peg Stability Module \(PSM\) allowing direct 1:1 swaps with approved stablecoins like USDC. This creates hard price floors and ceilings but introduces dependency on centralized collateral. #### Examples DAI \(MakerDAO\) has approximately $5 billion in circulation. [Liquity](https://www.alchemy.com/dapps/liquity)'s LUSD offers a more decentralized alternative with ETH-only collateral. #### Choose this model when... You want to avoid fiat banking entirely, your users value decentralization, and you're comfortable with liquidation mechanics and governance complexity. ### Algorithmic stablecoins Algorithmic stablecoins attempt to maintain their peg through automated supply adjustments without external collateral. The protocol algorithmically mints or burns tokens based on price deviations from the target peg \(e.g. if the token trades above $1, the protocol will mint new tokens to increase supply\). The algorithmic stablecoin market has contracted to under $500 million in total, down from over $20 billion at its peak. No algorithmic stablecoin has achieved meaningful adoption for payments or institutional use cases. #### How it \(theoretically\) works Pure algorithmic stablecoins use a dual-token or seigniorage model. When the stablecoin trades above $1, the protocol mints new tokens and distributes them \(often to holders of a secondary "share" token\), increasing supply until price returns to peg. When trading below $1, the protocol offers bonds or burns mechanisms to reduce supply. The fundamental challenge is reflexivity. In downturns, the mechanism requires market participants to buy bonds or share tokens with the expectation of future profits. But when confidence erodes, demand for these secondary tokens evaporates precisely when it's needed most, creating a death spiral. #### The terra/luna collapse [Terra's UST](https://corporatefinanceinstitute.com/resources/cryptocurrency/what-happened-to-terra/) reached $18 billion in circulation before collapsing in May 2022. The collapse erased approximately $60 billion in value. It fundamentally discredited purely algorithmic approaches in the eyes of regulators and most market participants. #### Regulatory treatment The GENIUS Act explicitly excludes algorithmic stablecoins from the payment stablecoin framework. MiCA's frameworks require reserve assets. This means algorithmic stablecoins cannot access regulated payment rails, banking relationships, or institutional adoption pathways. #### Choose this model when... Don't \(sorry\). The regulatory exclusion, reputational damage, and mechanism fragility make algorithmic stablecoins impractical for any serious application. ## Technical architecture deep dive With that context out of the way, let’s get into building. How do you actually build a stablecoin? Building a production stablecoin requires sophisticated smart contract engineering, security infrastructure, and operational tooling. The code you deploy isn't just a token, it's a financial instrument that must satisfy regulators, survive adversarial conditions, and handle potentially billions of dollars in value. The GENIUS Act's technical mandates \(freeze, seize, blacklist capabilities\) aren't suggestions; they must be baked into your contract architecture from day one. This section provides the technical foundation for implementation, starting with smart contract patterns that satisfy both regulatory requirements and security best practices. ### Core smart contract A compliant stablecoin smart contract must implement several interlocking components: the token standard itself, access control mechanisms, supply management functions, and compliance controls. The good news is that battle-tested building blocks exist, [OpenZeppelin's](https://www.openzeppelin.com/) audited contracts provide a foundation that's been stress-tested across billions of dollars in deployed value. The key is extending these primitives with the specific capabilities your regulatory and operational context demands. #### Base token implementation Let's start with the contract skeleton. We're inheriting from multiple OpenZeppelin base contracts, each providing a specific capability: `ERC20Upgradeable` gives us the standard token interface, `ERC20PausableUpgradeable` adds emergency stop functionality, `AccessControlUpgradeable` enables granular permissions, and `UUPSUpgradeable` allows the contract to be upgraded without migrating token balances. The role definitions at the top establish the permission structure. Rather than a single "owner" who can do everything, we separate concerns: minters handle supply expansion, burners process redemptions, pausers manage emergencies, and blacklisters handle compliance actions. This separation matters both for security \(compromising one key doesn't compromise everything\) and for operational clarity \(your compliance team doesn't need access to minting functions\). bool) private _blacklisted; event Blacklisted(address indexed account); event UnBlacklisted(address indexed account); event Mint(address indexed minter, address indexed to, uint256 amount); event Burn(address indexed burner, uint256 amount); /// @custom:oz-upgrades-unsafe-allow constructor constructor() { _disableInitializers(); } function initialize( string memory name, string memory symbol, address defaultAdmin ) public initializer { __ERC20_init(name, symbol); __ERC20Pausable_init(); __AccessControl_init(); __UUPSUpgradeable_init(); _grantRole(DEFAULT_ADMIN_ROLE, defaultAdmin); _grantRole(MINTER_ROLE, defaultAdmin); _grantRole(BURNER_ROLE, defaultAdmin); _grantRole(PAUSER_ROLE, defaultAdmin); _grantRole(BLACKLISTER_ROLE, defaultAdmin); _grantRole(UPGRADER_ROLE, defaultAdmin); } function decimals() public pure override returns (uint8) { return 6; // USDC convention for USD stablecoins } }`} /> Notice that we're using 6 decimals rather than the typical 18. This follows the USDC convention for dollar-denominated stablecoins. It maps cleanly to cents and avoids the awkward precision of 18 decimal places for a currency that only needs two. This is a design decision you'll make early and live with forever, so consider your use case carefully. **Supply Management: Minting and Burning** The mint and burn functions are where tokens enter and exit circulation. In a fiat-backed model, minting happens when users deposit dollars and burning happens when they redeem. These operations must be tightly controlled. Only authorized treasury operations should create new tokens, and every mint should correspond to actual dollars entering your reserve accounts. The `onlyRole\(MINTER\_ROLE\)` modifier ensures that only addresses granted minting permission can call this function. The `whenNotPaused` modifier prevents minting during emergencies. And critically, we check that the recipient isn't blacklisted before minting—you don't want to create tokens for a sanctioned address. The `burnFrom` function handles the common redemption flow where a user approves your redemption contract to burn tokens on their behalf. The `\_spendAllowance` call verifies and decrements the approval, preventing unauthorized burns. #### Blacklist implementation Here's where we implement the GENIUS Act's freeze requirements. The blacklist is conceptually simple, a mapping from addresses to booleans, but its integration into the transfer flow is what makes it effective. By overriding the `\_update` function \(which OpenZeppelin's ERC-20 calls on every transfer, mint, and burn\), we ensure that blacklisted addresses cannot send or receive tokens under any circumstances. The `isBlacklisted` view function lets anyone check an address's status, important for integrating protocols that need to verify compliance before interacting with your token. The events \(`Blacklisted`, `UnBlacklisted`\) create an auditable on-chain record of every compliance action. #### Pause functionality Sometimes you need to stop everything. A critical vulnerability discovered in your contract, a coordinated attack, or a regulatory order might require halting all transfers immediately. The pause functions provide this emergency brake. Because `\_update`inherits from`ERC20PausableUpgradeable`, calling `\_pause\(\)`will cause all transfers to revert until`\_unpause\(\)`is called. Consider carefully who holds the`PAUSER_ROLE,`it needs to be accessible quickly in emergencies but not so broadly distributed that it becomes a griefing vector. **Upgradeability** Smart contracts are immutable by default, but regulated financial infrastructure needs to evolve. Bug fixes, new compliance requirements, and feature additions all require the ability to upgrade. The [UUPS](https://rareskills.io/post/uups-proxy) pattern puts the upgrade logic in the implementation contract itself, and the `\_authorizeUpgrade` function ensures only authorized parties can trigger upgrades. The version function is simple but valuable. It lets anyone verify which implementation version is currently active, crucial for debugging and audit trails. In production, consider adding more detailed upgrade tracking: timestamps, previous implementation addresses, and upgrade rationale stored on-chain or referenced via content hashes. ### Advanced compliance features The base implementation covers the GENIUS Act's core requirements, but sophisticated stablecoin operations often need additional capabilities. These advanced features address specific regulatory scenarios and institutional requirements. #### Whitelist mode for closed-loop systems While blacklisting blocks specific bad actors, some use cases require the opposite approach: only allowing pre-approved addresses to hold or transfer tokens. This "closed-loop" model suits institutional environments where every participant must complete KYC before touching the stablecoin. The implementation adds a toggle \(`whitelistEnabled`\) and a separate mapping for approved addresses. When enabled, the `\_update` override checks whitelist status in addition to blacklist status. Note that we explicitly allow minting to non-whitelisted addresses when `from` is the zero address \(minting\) and burning from non-whitelisted addresses when `to` is the zero address \(burning\)—this lets the issuer onboard new users by minting to them before they're formally whitelisted. bool) private _whitelisted; bytes32 public constant WHITELISTER_ROLE = keccak256("WHITELISTER_ROLE"); event WhitelistEnabled(); event WhitelistDisabled(); event Whitelisted(address indexed account); event RemovedFromWhitelist(address indexed account); function enableWhitelist() external onlyRole(DEFAULT_ADMIN_ROLE) { whitelistEnabled = true; emit WhitelistEnabled(); } function disableWhitelist() external onlyRole(DEFAULT_ADMIN_ROLE) { whitelistEnabled = false; emit WhitelistDisabled(); } function addToWhitelist(address account) external onlyRole(WHITELISTER_ROLE) { \_whitelisted[account] = true; emit Whitelisted(account); } function removeFromWhitelist(address account) external onlyRole(WHITELISTER_ROLE) { \_whitelisted[account] = false; emit RemovedFromWhitelist(account); } // Modify \_update to check whitelist when enabled function \_update( address from, address to, uint256 amount ) internal virtual override { require(!\_blacklisted[from], "Sender is blacklisted"); require(!\_blacklisted[to], "Recipient is blacklisted"); if (whitelistEnabled) { // Allow minting (from = 0) and burning (to = 0) if (from != address(0)) { require(_whitelisted[from], "Sender not whitelisted"); } if (to != address(0)) { require(_whitelisted[to], "Recipient not whitelisted"); } } super._update(from, to, amount); }`} /> #### Clawback capability Some jurisdictions, notably Hong Kong under the Stablecoins Ordinance, require the ability to forcibly transfer tokens from one address to another upon court order. This is the most invasive compliance capability: it allows the issuer to move tokens without the holder's consent. The implementation is straightforward but the implications are significant. The `reason` parameter creates an on-chain record of why the clawback occurred, and the event provides full transparency. Consider requiring multi-sig approval for clawback operations and maintaining detailed off-chain records linking each clawback to specific legal orders. 0, "Reason required"); \_transfer(from, to, amount); emit Clawback(from, to, amount, reason); }`} /> ### Oracle integration for crypto-collateralized systems If you're building a crypto-collateralized stablecoin rather than a fiat-backed one, reliable price feeds become critical infrastructure. The collateralization ratio that determines whether a position is healthy or liquidatable depends entirely on accurate, timely price data. Chainlink has become the industry standard for on-chain price oracles. The integration pattern below shows how to fetch prices with appropriate safety checks. The staleness check \(requiring price data less than one hour old\) prevents the system from operating on outdated information—crucial during periods of high volatility when prices can move significantly within minutes. The `getCollateralRatio` function calculates the current health of a user's position by comparing their collateral value \(collateral amount times current price\) to their outstanding debt. The `liquidate` function allows anyone to close out an undercollateralized position, repaying the debt and claiming the collateral plus a bonus. This bonus incentivizes liquidators to monitor positions and act quickly, maintaining system solvency. Vault) public vaults; constructor(address _priceFeed) { priceFeed = AggregatorV3Interface(_priceFeed); } function getLatestPrice() public view returns (uint256) { ( , int256 price, , uint256 timeStamp, ) = priceFeed.latestRoundData(); // Staleness check - revert if price is older than 1 hour require(block.timestamp - timeStamp < 3600, "Stale price data"); require(price > 0, "Invalid price"); return uint256(price); } function getCollateralRatio(address user) public view returns (uint256) { Vault memory vault = vaults[user]; if (vault.debtAmount == 0) return type(uint256).max; uint256 collateralValue = (vault.collateralAmount * getLatestPrice()) / 1e8; return (collateralValue * 100) / vault.debtAmount; } function liquidate(address user) external { require( getCollateralRatio(user) < LIQUIDATION_THRESHOLD, "Position is healthy" ); Vault storage vault = vaults[user]; uint256 debtToCover = vault.debtAmount; uint256 collateralToSeize = (debtToCover * (100 + LIQUIDATION_BONUS)) / (getLatestPrice() / 1e8); // Transfer stablecoins from liquidator to protocol // Transfer collateral to liquidator with bonus // Clear vault vault.collateralAmount = 0; vault.debtAmount = 0; } }`} /> ### Multi-signature and timelocks Production deployments shouldn't trust any single key with critical operations. Multi-signature wallets require multiple parties to approve transactions, and timelocks add mandatory waiting periods that give the community time to react to proposed changes. The pattern below illustrates timelock-protected minting. Rather than executing immediately, a mint operation is first proposed, recording its parameters and unlock time. Only after the delay expires can the operation be executed. For routine operations like minting \(where reserves have already been verified\), a 24-hour delay balances security with operational efficiency. For upgrades that could fundamentally change the contract's behavior, longer delays \(7 days or more\) give users time to exit if they disagree with the change. Note that blacklisting is intentionally excluded from timelock requirements, when you receive a court order to freeze assets, you need to act immediately, not wait 24 hours. uint256) public pendingOperations; function proposeMint(address to, uint256 amount) external { bytes32 operationId = keccak256(abi.encode("mint", to, amount)); pendingOperations[operationId] = block.timestamp + MINT_DELAY; } function executeMint(address to, uint256 amount) external { bytes32 operationId = keccak256(abi.encode("mint", to, amount)); require( block.timestamp >= pendingOperations[operationId], "Timelock not expired" ); require(pendingOperations[operationId] != 0, "Operation not proposed"); delete pendingOperations[operationId]; // Execute mint } }`} /> ### Security considerations Beyond the contract logic itself, production stablecoins require comprehensive security practices. #### Access control checklist Before deployment, verify that all privileged functions have appropriate role checks, role assignment follows least-privilege principles \(nobody has more access than they need\), critical roles \(admin, upgrader\) require multi-sig approval, emergency procedures are documented and tested, and key rotation procedures are established for when team members leave or keys are potentially compromised. #### Audit requirements Production stablecoins require multiple independent security audits. The standard practice includes at least two audits from reputable firms \(Trail of Bits, OpenZeppelin, Consensys Diligence, Halborn, etc.\), formal verification of critical invariants \(total supply equals sum of balances, blacklisted addresses cannot transfer\), economic audits for collateralized systems \(stress testing liquidation mechanisms under extreme market conditions\), and ongoing monitoring with automated invariant checking in production. Don't treat audits as a checkbox exercise. Engage auditors early, give them time to understand your system deeply, and address all findings—not just the critical ones. The cost of a thorough audit is trivial compared to the cost of a production exploit. #### Ongoing monitoring Deploy automated invariant checking in production. Monitor that total supply equals sum of balances, blacklisted addresses cannot transfer, and role assignments match expected configurations. Set up alerts for unusual activity patterns. #### Multi-signature requirements Production deployments shouldn't trust any single key with critical operations. Use multi-sig wallets \([Gnosis Safe](https://www.alchemy.com/dapps/gnosis-safe) or similar\) for all admin functions. Consider timelocks for non-emergency operations—a 24-hour delay on minting gives time to catch errors, while a 7-day delay on upgrades lets users exit if they disagree with changes. Note that blacklisting should be excluded from timelocks, when you receive a court order to freeze assets, you need to act immediately. #### Reentrancy protection While standard ERC-20 transfers don't create reentrancy vulnerabilities \(they don't call external contracts\), any integration with DeFi protocols, callback patterns, or external systems should use OpenZeppelin's `ReentrancyGuard`. Apply the `nonReentrant` modifier to any function that interacts with untrusted external contracts. ## Blockchain platform selection With your regulatory strategy defined, stablecoin model chosen, and smart contracts architected, there's one more foundational decision: where does this actually run? The choice of blockchain infrastructure fundamentally shapes your stablecoin's capabilities, costs, and market reach. A year ago, this decision meant choosing between a handful of general-purpose chains. Today, the landscape has fragmented into specialized options, including purpose-built stablecoin L1s from major players like Stripe, Circle, and Tether. Each platform carries distinct trade-offs in transaction costs, throughput, ecosystem access, and regulatory positioning, and you’ll want to do your due diligence to figure out where you want to launch first. While you may choose to launch on a single chain, the reality for many successful stablecoins is multi-chain deployment. For example, USDC operates on 30\+ chains, and Paypal’s PYUSD spans Ethereum, Solana, and soon Stellar and Stable. For new stablecoin builders, the approach you should take likely looks like this: 1. Launch on one primary chain aligned with your core use case. 1. Establish operational procedures and security practices on that chain. 1. Expand to secondary chains based on user demand and strategic value. 1. Use bridging protocols \(CCTP, Wormhole NTT, [LayerZero](https://www.alchemy.com/dapps/layerzero)\) for cross-chain transfers. ## Build vs. buy: the white-label decision The stablecoin infrastructure market has matured dramatically. Regulated providers now offer turnkey issuance that can get you to market in months rather than years, with compliance frameworks already in place. The question isn't whether white-label solutions are capable—it's whether your specific requirements justify custom development. For builders looking for less technical complexity and a faster time to market, there are a number of solutions availalbe to you, including: ### Paxos [Paxos](https://www.paxos.com/) is the infrastructure behind some of the largest stablecoins in market: PYUSD \(PayPal\), BUSD \(before their Binance partnership ended\), and Paxos’ own USDP. They hold licenses from NYDFS, MAS \(Singapore\), and FIN-FSA \(Abu Dhabi\), providing global regulatory coverage that took years to obtain. Their November 2025 acquisition of Fordefi added institutional wallet infrastructure to their offering, creating a more complete stack. Paxos has also launched a Global Dollar Network initiative to enable easy integration for partners, while letting Paxos handle reserve management, compliance, and regulatory requirements. ### Coinbase custom stablecoins [Coinbase](https://www.coinbase.com/) launched its white-label stablecoin solution, [Coinbase Custom Stablecoins](https://www.coinbase.com/developer-platform/products/stablecoin-as-a-service), in December 2025, allowing partners to issue branded stablecoins using USDC as underlying collateral. The model is clever: rather than creating new reserve management infrastructure, Coinbase essentially wraps USDC with custom branding. Partners get the liquidity and compliance benefits of USDC while maintaining their own brand identity. Coinbase has applied for an OCC charter, potentially providing direct federal regulation for stablecoin activities. Their existing exchange infrastructure provides immediate liquidity solutions, your branded stablecoin can tap into USDC/USD trading pairs from day one. The custody infrastructure \(through Coinbase Prime and Coinbase Custody\) is already institutional-grade. ### Brale [Brale](https://brale.xyz/) focuses on faster time-to-market with multi-chain deployment capabilities. While Paxos and Coinbase emphasize regulatory pedigree and institutional relationships, Brale emphasizes customization and flexibility. Their platform supports deployment across multiple chains simultaneously, with more configurability around token features and compliance rules. ### When to build custom White-label solutions sacrifice control for convenience. The trade-off makes sense for most builders, but there are scenarios where custom development is worth the additional cost, time, and complexity. Consider custom development when you require unique stabilization mechanisms not supported by providers \(algorithmic components, novel collateral types, yield-bearing structures\), when strategic differentiation requires proprietary technology that would be diluted by shared infrastructure, when geographic or regulatory requirements exceed provider capabilities \(certain jurisdictions may require local infrastructure\), when long-term cost economics favor owned infrastructure at scale \(at $10B\+ circulation, the math changes\), or when you need custom compliance or governance features that providers can't or won't support. The hybrid approach, using white-label for core issuance while building custom distribution and application layers, often provides the best balance. Let Paxos or Coinbase handle reserve management and regulatory compliance while you focus on the user experience, integrations, and features that differentiate your product. ## Conclusion Building a stablecoin in 2026 means navigating a fundamentally different landscape than even two years ago. Regulatory clarity has arrived through the GENIUS Act and MiCA, creating defined pathways but also clear requirements. Technical patterns are well-established, with battle-tested architectures and audited libraries. The strategic question isn't whether stablecoins achieve mainstream adoption—it's positioning for a market scaling toward trillions. The builders who succeed will combine technical excellence with regulatory sophistication. They'll choose infrastructure thoughtfully and build compliance into architecture from day one, recognizing that regulatory adherence is competitive advantage, not burden. Looking for an infrastructure partner? [Alchemy](https://alchemy.com/) powers the top stablecoins, issuers, and chains in the industry—from USDC and PYUSD to the leading L1/L2 networks. Whether you need node infrastructure, token APIs, or multi-chain deployment, you can interact with every level of the stack to bring your stablecoin to market. [Reach out to our sales team](https://www.alchemy.com/contact-sales) to start the conversation. ## Frequently asked questions ### What are the main types of stablecoins? Stablecoins fall into three categories: fiat-backed (collateralized with traditional currency like USD), crypto-collateralized (backed by digital assets with overcollateralization), and algorithmic (which use automated supply adjustments but are now largely excluded from regulated markets). ### What blockchain should I choose for building a stablecoin? Select a blockchain based on security, decentralization, performance, and your target use case. Most successful stablecoins deploy on multiple chains, starting with one primary chain and expanding based on user demand and strategic value. ### How do fiat-backed stablecoins maintain their peg? The peg holds through arbitrage: when tokens trade below $1, arbitrageurs buy cheaply and redeem at $1 from the issuer, forcing prices back to peg. Every token is backed by equivalent dollars in reserve accounts. ### What compliance features must be built into a stablecoin smart contract? Global regulatory frameworks like the GENIUS Act and MiCA require freeze, seize, and clawback capabilities built into your contract from day one. These aren't optional features, they're legal prerequisites for issuance. ### How does proof of reserves work for stablecoins? Proof of reserves uses cryptographic verification and oracle data to demonstrate real-time 1:1 backing of tokens by off-chain assets, moving beyond periodic audits to continuous solvency verification. ### Can I create my own stablecoin? Yes, but it requires navigating regulatory licensing, smart contract development, banking relationships, compliance infrastructure, and significant capital for reserves. White-label solutions from providers like Paxos or Coinbase offer faster paths to market. ### What are the security requirements for stablecoin smart contracts? Production stablecoins require multiple independent security audits, formal verification of critical invariants, multi-signature controls for privileged operations, and ongoing automated monitoring of contract behavior. ### Should I use a white-label solution or build custom? White-label solutions from providers like Paxos and Coinbase offer faster time-to-market with built-in compliance but sacrifice control. Build custom only if you require unique mechanisms, proprietary technology, or capabilities that providers don't support. ### Why are algorithmic stablecoins not recommended? The GENIUS Act explicitly excludes algorithmic stablecoins, MiCA requires reserve assets, and the Terra/Luna collapse fundamentally discredited the model. They cannot access regulated payment rails or institutional adoption pathways. ### How do crypto-collateralized stablecoins work? Users deposit cryptocurrency as collateral at rates exceeding 100% (typically 150%), allowing them to mint stablecoins up to their collateral ratio. When collateral value drops below minimum thresholds, liquidators repay the debt in exchange for discounted collateral. --- # How to Build an AI Trading Bot: A Complete Developer's Guide URL: https://www.alchemy.com/blog/how-to-build-an-ai-trading-bot.md In the past few years, we've witnessed a huge proliferation of AI trading tools. Around [58%](https://www.etoro.com/en-us/news-and-analysis/latest-news/press-release/us-retail-investors-flock-to-ai-tools-with-usage-surging-75-in-one-year/) of retail investors now use some form of AI to assist them in building their portfolios, venture capital has poured [$213 million](https://www.panewslab.com/en/articles/uzo43465) into Web3 AI trading tech, and some autonomous [AI agents](https://www.alchemy.com/dapps/best/ai-agents) are already processing over [$400 million i](https://www.forbes.com/sites/digital-assets/2025/11/11/crypto-traders-trust-these-ai-agents-the-most/)n trading volume in just one month, getting increasingly sophisticated with market analysis, execution speed, and coordination with other agents. But beneath the hype lies a more nuanced reality, one where success depends not just on sophisticated algorithms, but on reliable infrastructure, sound risk management, and realistic expectations about what AI can and cannot do. This comprehensive guide will walk you through everything you need to know to build your own AI trading bot. We'll explore the current landscape of AI trading, including emerging autonomous agent economies, survey the tools and platforms available, break down different bot strategies, and provide you with a tutorial to get started on building your own trading bot using Alchemy's blockchain infrastructure. ## What is an AI trading bot? An AI trading bot is software that uses machine learning algorithms to analyze market data, identify trading opportunities, and execute buy or sell orders automatically. Unlike traditional rule-based bots that follow static "if-then" logic, AI-powered bots can adapt to changing market conditions, learn from historical patterns, and make probabilistic decisions based on vast datasets. They operate 24/7, removing emotional bias from trading decisions and reacting to market movements faster than any human could. The AI trading bot landscape in 2025 is a study in contrasts. Adoption of AI-assisted trading tools has grown significantly, with more retail investors incorporating automation into their strategies than ever before. However, the actual success rate tells a more sobering story: [only 10-30% of bot users achieve consistent profitability.](https://intellectia.ai/blog/ai-stock-trading-bot-free) This gap between adoption and success isn't surprising as crypto markets are notoriously volatile, predictive models require constant refinement, and many newcomers underestimate the importance of risk management. The bots that succeed aren't necessarily the ones with the most sophisticated AI, they're the ones built on solid fundamentals: reliable data, clear strategies, and disciplined execution. The lesson? AI trading bots are powerful tools, but they're not magic & success depends on understanding both their capabilities and their limitations. ### The role of blockchain infrastructure AI trading bots are powerful tools, but success depends on understanding both their capabilities and their limitations. What often gets overlooked, though, is that model sophistication is only part of the equation. Most bots don't fail because their AI made bad predictions, they fail because the infrastructure underneath couldn't keep up. The data was stale. The API went down during a volatile moment. A competitor with faster pipes got to the trade first. These aren't edge cases; they're the everyday realities of algorithmic trading. There are three key infrastructure requirements that separate bots that consistently profit from those that blow up: - **Data accuracy**: AI models are only as good as the data they're trained on and react to. Stale token prices, outdated liquidity pool states, or missed whale movements translate directly into poor trading decisions. When your bot acts on bad data, it loses money—there's no algorithmic cleverness that compensates for fundamentally flawed inputs. - **Latency**: In algorithmic trading, speed determines who profits. When your bot identifies an arbitrage opportunity, dozens of others likely see the same signal. The bot with the fastest data pipeline executes first and captures the spread; everyone else gets worse fills or misses the trade entirely. Low-latency infrastructure is a competitive requirement, not a performance optimization. - **Reliability**: Infrastructure downtime during volatile markets can be catastrophic. A few minutes offline might mean missed stop-losses during a crash, liquidated positions you couldn't defend, or opportunities that passed before your bot reconnected. For trading systems managing real capital, uptime isn't a service-level metric—it's a survival requirement. This is where a data provider like Alchemy becomes essential. Alchemy provides reliable, real-time data access that AI trading bots require to function effectively—token prices, transaction volumes, whale movements, liquidity pool states, and more across multiple chains. Alchemy's enhanced APIs and infrastructure handle these requirements at scale, supporting over 100 blockchains with the low-latency performance that competitive trading demands. ### Building safe and observable trading bots Even with solid infrastructure, AI trading bots can behave unpredictably. Markets move in ways models don't anticipate, edge cases trigger unexpected behavior, and compounding errors can turn small mistakes into catastrophic losses. Building safety mechanisms into your bot's architecture isn't optional: it's how you survive long enough to iterate and improve. - **Build observable systems**: Every trade should be traceable. What data informed the decision? Why did the bot choose that particular action? When something goes wrong \(and it will\), you need to diagnose whether the issue was bad data, flawed logic, or an edge case your model didn't anticipate. - **Add circuit breakers**: Set maximum loss thresholds that automatically pause trading. Implement rate limiters to prevent runaway execution. Build in cooldown periods after significant losses. These mechanisms prevent a malfunctioning bot from draining your account before you notice something is wrong. - Keep [**humans in the loop**](https://cloud.google.com/discover/human-in-the-loop): Fully autonomous sounds impressive, but the most resilient systems keep humans involved for high-stakes decisions. Consider requiring manual approval for trades above certain thresholds, or building alert systems that notify you when the bot's behavior deviates from expected patterns. The bots that succeed long-term aren't just the ones with the best models, they're the ones built with enough observability and safety rails to catch problems early and recover gracefully. ## Tools and technologies: your AI trading bot stack With the infrastructure layer of AI trading bots covered, data accuracy, latency, and reliability, the next step is assembling the actual toolkit. Here's what goes into a production-ready AI trading bot stack: ### Core programming stack Python remains the dominant language for AI trading bots thanks to its extensive machine learning ecosystem and simplicity. Your core Python libraries should include: - [**Pandas**](https://pandas.pydata.org/): For data manipulation and time series analysis - [**NumPy**](https://numpy.org/): For numerical computations on price and volume data - [**scikit-learn**](https://scikit-learn.org/): For traditional machine learning models \(regression, classification, clustering\) - [**PyTorch**](https://pytorch.org/) or [**TensorFlow**](https://www.tensorflow.org/): For deep learning models like LSTMs or transformers for sequence prediction Together, these libraries give you the full spectrum: from a [simple moving average crossover](https://www.schwab.com/learn/story/understanding-simple-moving-average-crossovers) bot you can build in an afternoon to a sophisticated multi-model bot that fuses technical analysis, sentiment scoring, and on-chain metrics. This is the beauty of Python's ecosystem: you can start simple and add complexity as you need it, no need to architect for deep learning on day one if a linear regression gets the job done. _A note: If you're building high-frequency trading bots where microseconds matter, C\+\+ offers raw speed and low-level control. Rust has also gained traction in crypto for its performance and memory safety, particularly if you're building on-chain components or custom DEX integrations where security is paramount. Go is another solid choice for concurrent systems that need to monitor multiple markets simultaneously._ _With that said, for most crypto trading strategies, even sophisticated ones, Python's performance is more than adequate, and the development velocity you gain far outweighs marginal speed improvements for most retail traders. Start with Python; then feel free to migrate critical components to faster languages if profiling shows you actually need it._ ### Blockchain infra: the Alchemy layer This is where Alchemy becomes essential. Alchemy provides the infrastructure layer that powers reliable AI trading bots at scale. Key tools include: 1. [**Real-time blockchain data**](https://www.alchemy.com/rpc-api): Query token prices, balances, transaction histories, and NFT metadata across 50\+ chains. Try it for yourself [with our sandbox](https://sandbox.alchemy.com/?network=ETH_MAINNET&method=eth_getBlockByNumber&body.id=1&body.jsonrpc=2.0&body.method=eth_getBlockByNumber&body.params%5B0%5D=0x68b3&body.params%5B1%5D=false). 1. [**WebSocket connections**](https://www.alchemy.com/smart-websockets): Subscribe to real-time events like pending transactions, new blocks, or smart contract state changes. 1. [**Enhanced APIs**](https://www.alchemy.com/token-api): Access gas price predictions, token balances with metadata, and historical transaction data. 1. [**Smart Wallets**:](https://www.alchemy.com/smart-wallets) Execute trades programmatically with built-in security features like spending limits. For crypto trading bots, you'll also want: - [**Web3.py**](https://web3py.readthedocs.io/en/stable/): Your interface for Ethereum interactions: sending transactions, calling smart contracts, encoding data. Essential if you're trading on [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base) or interacting with DeFi protocols directly. - [**CCXT**](https://github.com/ccxt/ccxt): A unified API wrapper that lets you trade on 100\+ centralized exchanges \([Binance](https://www.alchemy.com/dapps/binance), [Coinbase](https://www.alchemy.com/dapps/coinbase), Kraken, etc.\) using consistent syntax. Instead of learning each exchange's API quirks, CCXT normalizes everything. - [**Alchemy's MCP \(Model Context Protocol\) server**:](https://www.alchemy.com/docs/alchemy-mcp-server) This is where blockchain meets AI: our MCP server enables AI agents to query on-chain data using natural language. Instead of writing complex queries, your AI can ask "what's the current price of ETH?" and get structured data back. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills), connect the [MCP server](https://www.alchemy.com/docs/alchemy-mcp-server), and use the [CLI](https://www.alchemy.com/docs/alchemy-cli): For autonomous trade execution, see [agent wallets in the CLI](https://www.alchemy.com/blog/agent-wallets-alchemy-cli). ### AI enhancement tools We have seen the next evolution of trading bots not just analyzing data, but using AI to make increasingly sophisticated decisions. Two major methods emerged in the past year that different developers have been using to refine their processes: Large Language Model APIs \(Claude, GPT-4, etc.\) unlock capabilities beyond traditional ML: - **Sentiment analysis**: Process thousands of tweets, Reddit posts, or news articles to gauge market mood - **Strategy generation**: Describe a trading idea in plain English and have the AI help formalize it into code - **Anomaly detection**: Use LLMs to spot unusual patterns in market data that might signal opportunities In 2025, we were introduced to new Agent frameworks that take this further by building autonomous systems: - [**ElizaOS \(from ai16z\)**](https://elizaos.ai/): The framework behind decentralized AI funds, allowing you to build agents that don't just suggest trades: they execute them. They canmanage portfolios, and even coordinate with other agents. - [**Virtuals GAME SDK**](https://docs.game.virtuals.io/): Create agents that participate in larger agent economies: earning fees, providing services to other agents, or collaborating on complex strategies. You can think of it as building a bot that can "play well with others." - [**LangChain**](https://www.langchain.com/): The Swiss Army knife for orchestrating complex AI workflows, allowing you to mold together multiple AI calls, combine data from different sources, and build decision trees that would be tedious to hardcode. Particularly useful when your strategy requires multiple steps of reasoning. These tools shift you from a "bot that follows rules" to an "agent that adapts and learns." The learning curve for development is steeper, but the potential payout is significantly higher. ### Essential supporting tools - **APIs for market data**: Services like CoinGecko, CoinMarketCap, or exchange-specific APIs \(Binance, Coinbase, Kraken\) provide pricing data, trading volumes, market cap rankings, and historical OHLCV \(open, high, low, close, volume\) data. While Alchemy handles onchain data, these APIs fill the gap for centralized exchange prices and broader market context that your models need for informed decision-making. - **Backtesting frameworks**: Before risking real capital, you need to validate your strategy against historical data. There are frameworks like Backtrader and Zipline that let you simulate how your bot would have performed during past market conditions, during times of bull runs, crashes, and sideways chop. Good backtesting infrastructure helps you identify strategy weaknesses, optimize parameters, and build confidence before going live. - **Version control**: Git isn't optional for serious trading systems. As your strategies evolve. tweaking parameters, adding new signals, fixing bugs, you need to track every change, roll back failed experiments, and maintain clear history of what code was running when specific trades executed. This becomes critical for debugging and auditing your bot's behavior over time. ## Types of AI trading bots AI trading bots span a wide range of strategies and complexity levels, from straightforward automation to experimental multi-agent systems. Here are the most common categories you'll encounter: 1. **Technical and Sentiment Analysis Bots**: Technical bots analyze price charts, moving averages, and indicators to identify trading opportunities—AI enhancements let them dynamically weight signals and recognize complex patterns that static rules would miss. Sentiment bots parse Twitter/X posts, Reddit discussions, news articles, and onchain signals \(whale movements, exchange inflows, gas spikes\) to predict short-term price movements based on market mood. Particularly popular for altcoins and meme tokens where hype cycles drive volatility. 1. **Arbitrage and Market-Making Bots**: Arbitrage bots exploit price differences across exchanges or liquidity pools—buying ETH at $2,000 on one venue and selling at $2,010 on another. AI helps by predicting discrepancies before they occur and optimizing multi-hop routes across DEXs. Market-making bots provide liquidity by simultaneously offering to buy and sell, profiting from the spread. In DeFi, this means depositing into [Uniswap](https://www.alchemy.com/dapps/uniswap) or Curve pools and using AI to manage impermanent loss and adjust spreads based on volatility. 1. **Trend-Following and Portfolio Management Bots**: Momentum bots identify assets gaining strength and ride trends until signals reverse, models like LSTMs \(Long Short-Term Memory networks\) help predict whether a trend will continue or break down. Portfolio bots automatically rebalance holdings based on AI predictions, shifting allocations toward assets with stronger expected returns while managing overall risk exposure. 1. **Autonomous AI Agent Funds**: At the experimental edge, projects like [ElizaOS](https://elizaos.ai/) manage DAO-governed funds where AI agents coordinate trading strategies, share signals, and optimize collective performance, similar to [aixbt](https://x.com/aixbt_agent). These multi-agent systems blur the line between trading bots and autonomous financial entities, still early, but a glimpse of where AI-driven finance is heading. ## Building your first AI trading bot: a step-by-step tutorial In this section, we'll try and create our own sentiment-enhanced trend prediction bot for Ethereum that combines on chain data with machine learning to make trading decisions. What we're building: - A bot that fetches real-time ETH price and blockchain data via Alchemy - Feature engineering that combines price indicators with on-chain sentiment signals - A machine learning model that predicts short-term price movements - Trading logic with confidence thresholds and risk management - Backtesting capabilities to validate the strategy before going live _This is a primitive example: think of it as a foundation you can build on, not a production-ready system. The goal is to understand the core concepts and workflow, then extend it based on your specific strategy._ ### Prerequisites Before we start coding, make sure you have: - Python 3.8 or higher installed on your machine - An Alchemy account with an API key \([sign up free here](https://www.alchemy.com/)\) - Basic Python knowledge: You should be comfortable with functions, loops, and data structures - Basic ML understanding: Familiarity with concepts like training/testing splits and model evaluation First, we need to install the required packages: What each of these packages does: - `alchemy-sdk`: Connects to Alchemy's blockchain APIs - `pandas`: Handles data manipulation and time series - `numpy`: Powers numerical computations - `scikit-learn`: Provides machine learning algorithms - `requests`: Makes HTTP requests to APIs - `web3`: Interacts with Ethereum blockchain - `python-dotenv`: Manages environment variables securely ## Step 1: set up Alchemy and fetch historical blockchain data First, let's establish our connection to the blockchain and gather historical data that we'll use to train our model. Create a `.env` file in your project directory to store your API key securely: Now let's create a file called `blockchain\_data\_fetcher.py` and write the code to fetch blockchain data: This script initializes the Alchemy with your API key and connects to [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). It then calculates how many blocks to fetch based on your desired time range, Ethereum's roughly 12-second block time means about 300 blocks per hour. To keep the dataset manageable and avoid excessive API calls, we sample one block per hour rather than fetching every block. For each sampled block, we extract gas usage and transaction count as proxies for network activity, then store everything in a pandas DataFrame for easy manipulation in later steps. These onchain metrics often provide early signals of market activity before they show up in price data. When gas usage spikes, it typically indicates increased trading activity, DeFi interactions, or major onchain events, all of which can precede price volatility. Similarly, rising transaction counts can signal growing interest in ETH or heightened DeFi activity. By incorporating these blockchain-native signals into our model alongside traditional price data, we're giving our bot information that purely price-based strategies would miss. ### Step 2: fetch ETH price data using Alchemy Blockchain data alone isn't enough: we need actual price information to train our model. Lets create a file called `fetch\_eth\_price.py` and integrate Alchemy's Prices API, which provides real-time prices across multiple chains with low latency. Why Alchemy's Prices API? - **Unified provider**: Same API key, same rate limits, consistent billing - **Exchange aggregation**: Prices reflect actual market conditions across multiple exchanges - **Low latency**: Optimized for trading applications \(sub-100ms typical response\) - **Multi-chain ready**: Same API structure works for any token on any supported chain This script fetches historical ETH prices from Alchemy's Token Prices API over the same time window as our blockchain data \(168 hours by default\). We define a start and end time, request hourly price points, and parse the response into a pandas DataFrame with timestamps and price values. The key step at the end is merging this price data with our blockchain data from Step 1. We use `merge\_asof` instead of a standard merge because timestamps from block data and price data won't align perfectly, `merge\_asof` finds the nearest matching timestamp for each row, ensuring we don't lose data due to minor timing differences. After this step, we have a unified DataFrame containing both onchain metrics \(gas usage, transaction counts\) and price data, ready for feature engineering in the next step. ### Step 3: engineer features for machine learning Now that we got our raw data, we need need to transform it into features that capture patterns the model can learn from. This is where domain knowledge meets data science. df['price']).astype(int) # Drop rows with NaN values (from rolling windows and shifts) df = df.dropna() return df df = engineer_features(df) print(f"\\nEngineered features: {df.columns.tolist()}") print(f"Data shape: {df.shape}") print(f"\\nSample of engineered data:") print(df[['price', 'price_change', 'volatility', 'momentum', 'target']].head())`} /> This function transforms our raw blockchain and price data into features that a machine learning model can use to make predictions. Each feature captures a different signal about market conditions, some derived from price movements, others from onchain activity. Here's what each feature represents and why it matters for predicting price direction: 1. **Price change** \(`pct\_change`\): Converts absolute price movements to percentages. Going from $2,000 to $2,020 is a 1% move—more meaningful and comparable than simply "$20 up." Percentages normalize changes across different price levels. 1. **Moving averages** \(12-hour and 24-hour\): These smooth out short-term price noise to reveal underlying trends. When the short-term MA crosses above the long-term MA, it's traditionally interpreted as a bullish signal; crossing below suggests bearish momentum. The model can learn these crossover patterns. 1. **Volatility**: Measured as the standard deviation of recent price changes. High volatility indicates an unstable market with larger price swings—higher risk but also potentially higher reward. Some strategies avoid volatile periods while others specifically target them. 1. **Gas and transaction trends**: Onchain metrics that can lead price movements. If gas usage suddenly spikes, something significant might be happening \(major NFT drop, DeFi exploit, whale activity\) that could affect ETH price before it shows up in trading data. 1. **Momentum**: A simple but effective measure of whether price is trending upward over the last 6 hours. Positive momentum suggests continued upward movement; negative momentum suggests decline. Momentum traders use these signals to ride existing trends. 1. **Target variable**: This is what we're training the model to predict: will the price be higher in the next hour than it is now? A value of 1 means yes \(potential buy signal\), 0 means no \(potential sell or hold signal\). This binary classification approach simplifies the prediction problem. ### Step 4: train a machine learning model Now we train a model to learn patterns from our features. We're using [Random Forest](https://www.sciencedirect.com/topics/computer-science/random-decision-forest): an ensemble method that's robust to noisy data and doesn't require extensive hyperparameter tuning. This script trains a Random Forest classifier on the features we engineered in the previous step. We split our data into training \(80%\) and testing \(20%\) sets, with `shuffle=False` to preserve chronological order. This is critical for time series data because we can't let future information leak into past predictions. The model learns patterns from the training data and then makes predictions on the test set it hasn't seen before. We also run cross-validation, which trains and tests on multiple different data splits to check whether our results are consistent or just lucky. #### Interpreting the results Machine learning models output a lot of metrics, and interpreting them correctly is essential for understanding whether your bot has a viable strategy. Here's what each output means and what to look for: 1. **Accuracy**: The percentage of correct predictions. In trading, 55-60% accuracy is actually quite good—markets are inherently noisy and difficult to predict. Don't expect 90%\+ accuracy. If you see numbers that high, your model is likely overfitting or there's a data leakage problem. 1. **Classification report**: This breaks down performance for both prediction classes \(Up and Down\). Precision tells you how often the model is right when it predicts "Up"—important because false positives mean bad trades. Recall tells you what percentage of actual "Up" movements the model caught—important for not missing opportunities. F1-score is the harmonic mean of both, giving you a balanced view of performance. 1. **Cross-validation scores**: Training on different subsets of your data reveals whether your model performs consistently or if results vary wildly depending on which specific data points you use. Consistent scores across folds suggest a robust strategy; high variance suggests your model may be learning noise rather than real patterns. 1. **Feature importance**: Random Forests tell you which features contributed most to predictions. If `momentum` has the highest importance, your strategy is primarily momentum-driven. If `volatility` dominates, you're mostly trading on market instability. This insight helps you understand what your model is actually doing and whether it aligns with your trading thesis. What counts as a "good" result? For a trading model, you're looking for accuracy above 55% \(better than random guessing at 50%\), similar performance on both training and test sets \(indicating the model isn't overfitting\), and consistent cross-validation scores \(suggesting the strategy is robust across different market conditions\). If your test accuracy is dramatically lower than training accuracy, the model has memorized the training data rather than learning generalizable patterns. ### Step 5: implement real-time trading logic Now let's build the bot's main loop: the logic that fetches current data, makes predictions, and executes trades. 60%) confidence_threshold = 0.6 # BUY SIGNAL: Predict UP with high confidence, no position if prediction == 1 and prediction_proba[1] > confidence_threshold: if position != 'long': execute_trade('BUY', 0.1, current_price) position = 'long' entry_price = current_price trades_executed += 1 # SELL SIGNAL: Predict DOWN with high confidence, have long position elif prediction == 0 and prediction_proba[0] > confidence_threshold: if position == 'long': profit_pct = ((current_price - entry_price) / entry_price) * 100 print(f"Closing long position. Profit: {profit_pct:+.2f}%") execute_trade('SELL', 0.1, current_price) position = None trades_executed += 1 # ============================================# 4. UPDATE HISTORICAL DATA (ROLLING WINDOW)# ============================================ historical_df = pd.concat([ historical_df, pd.DataFrame([current_data]) ], ignore_index=True).tail(168) # Keep last week # ============================================# 5. WAIT BEFORE NEXT CHECK# ============================================ time.sleep(interval_seconds) except KeyboardInterrupt: print(f"\\n{'='*60}") print("BOT STOPPED BY USER") print(f"Total trades executed: {trades_executed}") print(f"{'='*60}") break except Exception as e: print(f"ERROR: {e}") print("Retrying in 60 seconds...") time.sleep(60) # Run the bot (check every 5 minutes) run_trading_bot(model, df, interval_seconds=300)`} /> This step brings everything together into a functional trading bot. The code defines four main functions that work in sequence: `fetch_current_data`pulls the latest blockchain metrics and ETH price from Alchemy,`prepare_features_for_prediction`transforms that raw data into the same features our model was trained on,`execute_trade`handles the actual buy/sell execution \(simulated here, but ready for production integration\), and`run_trading_bot` orchestrates everything in a continuous loop that checks market conditions every 5 minutes. The main trading loop follows a straightforward cycle: fetch current data, generate features, make a prediction, decide whether to trade based on confidence thresholds, update our historical data, and wait before repeating. Here are the key design decisions built into this loop: 1. **Confidence threshold**: The bot only executes trades when the model is more than 60% confident in its prediction. This filters out weak signals that are more likely to be noise than genuine opportunities. You can adjust this threshold based on your risk tolerance—higher thresholds mean fewer but more selective trades. 1. **Position tracking**: The bot maintains awareness of its current state \(long, short, or flat\). This prevents illogical behavior like repeatedly buying when you already hold ETH, or selling when you have nothing to sell. 1. **Rolling window**: Historical data is capped at the last 168 hours \(one week\). This prevents memory issues during long-running sessions and ensures the bot's feature calculations stay relevant to current market conditions rather than being skewed by old data. 1. **Error handling**: The try/except blocks ensure temporary failures \(API timeouts, network issues, rate limits\) don't crash the entire bot. Instead, errors are logged and the bot retries after a brief pause. 1. **Graceful shutdown**: Pressing Ctrl\+C stops the bot cleanly and prints summary statistics, so you can review performance without losing state information. Why 5-minute intervals? This default balances responsiveness against API rate limits and computational overhead. You can adjust based on your strategy: high-frequency approaches might check every few seconds, while swing trading strategies might only need hourly updates. Shorter intervals capture more opportunities but consume more API calls and require faster execution infrastructure. ### Step 6: add on-chain sentiment analysis with Alchemy Price and technical indicators only tell part of the story. In crypto, onchain activity—especially large transfers by "whales"—can signal impending price movements before they show up in price data. Whales moving ETH to exchanges often indicates selling pressure, while moving ETH off exchanges suggests accumulation. By monitoring these transfers in real-time, your bot can gain seconds or minutes of advance warning before price reflects the activity. This step adds whale monitoring as an additional input layer for your trading bot. In the following two code blocks, we’ll first establish a WebSocket connection through Alchemy to monitor all ETH transfers on the network, filtering for transactions above a defined threshold ETH \(100\) and categorize them based on whether funds are moving to or from known exchange addresses. In the second code block, we’ll show you how to feed that whale activity data into your existing trading logic, adjusting confidence thresholds based on whether whales appear to be buying or selling. Setting up a WebSocket to monitor whale transfers: = WHALE_THRESHOLD: # Determine transfer context from_exchange = EXCHANGE_ADDRESSES.get(from_addr, None) to_exchange = EXCHANGE_ADDRESSES.get(to_addr, None) # Build alert message alert = f"\\n🐋 WHALE ALERT: {value_eth:.2f} ETH" if from_exchange and not to_exchange: # Moving OFF exchange = potential buying/holding alert += f"\\n📤 From {from_exchange} to private wallet" alert += "\\n💡 Signal: BULLISH (accumulation)" elif not from_exchange and to_exchange: # Moving TO exchange = potential selling alert += f"\\n📥 From private wallet to {to_exchange}" alert += "\\n💡 Signal: BEARISH (potential sell pressure)" elif from_exchange and to_exchange: # Exchange to exchange = arbitrage or OTC alert += f"\\n🔄 From {from_exchange} to {to_exchange}" alert += "\\n💡 Signal: NEUTRAL (arbitrage or OTC)" else: # Wallet to wallet = unknown intent alert += f"\\n↔️ Between private wallets" alert += "\\n💡 Signal: UNCLEAR (monitor for pattern)" alert += f"\\nTx: https://etherscan.io/tx/{tx_hash}" print(alert) # TODO: In production, you might:# - Adjust trading thresholds based on whale activity# - Increase position size if whales are accumulating# - Exit positions early if whales are dumping# - Log whale activity for later analysis except Exception as e: print(f"Error processing whale transfer: {e}") # Subscribe to all ETH transfers on the network# Note: This is resource-intensive. For production, consider:# - Filtering by specific addresses# - Using Alchemy's Transfer API instead# - Subscribing only to specific token contracts print("\\n" + "="*60) print("WHALE ACTIVITY MONITOR STARTED") print("="*60) print(f"Tracking transfers ≥ {WHALE_THRESHOLD} ETH") print("Press Ctrl+C to stop\\n") try: # WebSocket filter for ETH transfers# This subscribes to the Transfer event emitted by WETH or native ETH moves filter_params = { 'address': None, # Monitor all addresses (or specify WETH contract) 'topics': [ # Transfer(address,address,uint256) event signature alchemy.core.utils.keccak(text="Transfer(address,address,uint256)").hex() ] } # Start listening alchemy.ws.on(filter_params, handle_transfer) except Exception as e: print(f"Whale monitor error: {e}") # Run whale monitor in a separate thread so it doesn't block the main bot whale_thread = threading.Thread(target=monitor_whale_activity, daemon=True) whale_thread.start() # Now your main trading bot can run alongside the whale monitor# the whale alerts will print in real-time while your bot trades`} /> The whale monitor above collects the data, but that data needs to feed into your trading bot to actually influence decisions. The following code shows how to track whale sentiment as a running score and adjust your confidence thresholds accordingly, lowering the bar to buy when whales are accumulating, and raising it when they appear to be selling. 2: threshold = base_threshold - 0.1 # More aggressive buying# If whales are bearish, raise threshold (be more cautious) elif prediction == 1 and whale_sentiment < -2: threshold = base_threshold + 0.1 # Less aggressive buying else: threshold = base_threshold return confidence > threshold`} /> Together, these two blocks add an additional signal layer to your trading bot. The first block runs in a background thread, continuously listening for large ETH transfers via WebSocket and categorizing each one as bullish \(moving off exchanges\), bearish \(moving to exchanges\), or neutral. The second block maintains a running sentiment score based on that whale activity and modifies your trading thresholds accordingly. When your ML model's prediction aligns with whale behavior—for example, predicting price increase while whales are accumulating, the combined signal is stronger, and the bot trades more aggressively. When signals conflict, the bot becomes more cautious. This matters because institutional and large holders often have better information or longer time horizons than retail traders. Big moves to or from exchanges affect available supply and can precede price action by minutes to hours. By incorporating onchain activity alongside your ML model's predictions, you're giving your bot a more complete picture of market conditions than price data alone can provide. ### Step 7: implement risk management This is arguably the most important step in the entire tutorial. Even the best predictive model will lose money without proper risk management. A bot that's right 60% of the time can still go bankrupt if the 40% of losing trades aren't controlled—one bad position can wipe out dozens of winners. Risk management serves several critical functions: it limits how much you can lose on any single trade \(stop losses\), locks in gains before the market reverses \(take profit\), prevents catastrophic portfolio decline \(drawdown limits\), and stops emotional overtrading \(daily trade limits\). The code below implements all of these as a reusable `RiskManager` class that integrates with your trading bot. #### Building the RiskManager class The following class encapsulates all risk management logic in one place. It tracks your portfolio value, monitors for dangerous conditions, calculates appropriate position sizes based on confidence, and records every trade for later analysis. = self.max_drawdown: self.trading_paused = True print(f"\\n{'='*60}") print(f"⚠️ MAX DRAWDOWN REACHED: {current_drawdown:.2%}") print(f"Portfolio: \${self.portfolio_value:,.2f} (down from \${self.peak_value:,.2f})") print(f"Trading PAUSED. Manual review required.") print(f"{'='*60}\\n") return False return True def calculate_position_size(self, confidence, current_price): """ Adjust position size based on prediction confidence and portfolio size. This implements a simplified Kelly Criterion approach: - Higher confidence = larger position - Never exceed max position size - Scale down if portfolio has shrunk Args: confidence: Model's prediction probability (0-1) current_price: Current ETH price for value calculation Returns: Position size in ETH """ # Base size scaled by confidence# At 60% confidence: 0.6 * max_size# At 90% confidence: 0.9 * max_size base_size = self.max_position_size * confidence # Scale down if portfolio has lost value portfolio_scale = self.portfolio_value / self.initial_capital adjusted_size = base_size * portfolio_scale # Never exceed max position size final_size = min(adjusted_size, self.max_position_size) # Verify we can afford this trade trade_value = final_size * current_price if trade_value > self.portfolio_value * 0.95: # Never use >95% of portfolio final_size = (self.portfolio_value * 0.95) / current_price return round(final_size, 4) # Round to 4 decimals def check_stop_loss(self, entry_price, current_price, position_type): """ Check if stop loss is triggered for current position. Stop losses protect against large individual trade losses. Even if your model is right 60% of the time, the 40% losers can wipe you out without stops. """ if position_type == 'long': loss = (entry_price - current_price) / entry_price if loss >= self.stop_loss: print(f"\\n🛑 STOP LOSS TRIGGERED") print(f"Entry: \${entry_price:,.2f} → Current: \${current_price:,.2f}") print(f"Loss: {loss:.2%}") return True return False def check_take_profit(self, entry_price, current_price, position_type): """ Check if take profit target is reached. Taking profits locks in gains and prevents giving back winnings if the market reverses. """ if position_type == 'long': profit = (current_price - entry_price) / entry_price if profit >= self.take_profit: print(f"\\n🎯 TAKE PROFIT TARGET REACHED") print(f"Entry: \${entry_price:,.2f} → Current: \${current_price:,.2f}") print(f"Profit: {profit:.2%}") return True return False def check_daily_limit(self): """ Prevent overtrading by limiting daily trades. Overtrading leads to: - Death by a thousand fees - Emotional decision-making - Curve-fitting to noise rather than signal """ today = datetime.now().date() # Reset counter at start of new day if today != self.last_trade_date: self.daily_trades = 0 self.last_trade_date = today if self.daily_trades >= self.max_daily_trades: print(f"⚠️ Daily trade limit reached ({self.max_daily_trades})") return False return True def can_trade(self): """ Master check: Can we trade right now? """ if self.trading_paused: return False if not self.check_drawdown(): return False if not self.check_daily_limit(): return False return True def record_trade(self, trade_type, price, amount, profit_loss=0): """ Track all trades for analysis and performance monitoring. This data is gold for: - Understanding what's working/not working - Tax reporting - Strategy refinement - Performance attribution """ self.trades.append({ 'timestamp': datetime.now(), 'type': trade_type, 'price': price, 'amount': amount, 'value': price * amount, 'profit_loss': profit_loss, 'portfolio_value': self.portfolio_value }) # Update portfolio value self.portfolio_value += profit_loss self.peak_value = max(self.peak_value, self.portfolio_value) # Increment daily trade counter self.daily_trades += 1 def get_performance_stats(self): """ Calculate comprehensive performance metrics. """ if not self.trades: return "No trades executed yet" df = pd.DataFrame(self.trades) # Separate buys and sells buys = df[df['type'] == 'BUY'] sells = df[df['type'] == 'SELL'] # Calculate returns total_return = ((self.portfolio_value - self.initial_capital) / self.initial_capital) * 100 # Win rate (profitable trades / total trades) profitable_trades = len(sells[sells['profit_loss'] > 0]) total_closed_trades = len(sells) win_rate = (profitable_trades / total_closed_trades * 100) if total_closed_trades > 0 else 0 # Average profit per winning trade avg_win = sells[sells['profit_loss'] > 0]['profit_loss'].mean() if profitable_trades > 0 else 0 # Average loss per losing trade losing_trades = sells[sells['profit_loss'] < 0] avg_loss = losing_trades['profit_loss'].mean() if len(losing_trades) > 0 else 0 # Profit factor (total wins / total losses) total_wins = sells[sells['profit_loss'] > 0]['profit_loss'].sum() total_losses = abs(sells[sells['profit_loss'] < 0]['profit_loss'].sum()) profit_factor = total_wins / total_losses if total_losses > 0 else float('inf') # Current drawdown current_drawdown = ((self.peak_value - self.portfolio_value) / self.peak_value) * 100 stats = f""" {'='*60} PERFORMANCE STATISTICS {'='*60} Portfolio Value: \${self.portfolio_value:,.2f} Initial Capital: \${self.initial_capital:,.2f} Total Return: {total_return:+.2f}% Peak Value: \${self.peak_value:,.2f} Current Drawdown: {current_drawdown:.2f}% Trading Activity: - Total Trades: {len(self.trades)} - Closed Trades: {total_closed_trades} - Win Rate: {win_rate:.1f}% - Profitable Trades: {profitable_trades} - Losing Trades: {len(losing_trades)} Trade Quality: - Average Win: \${avg_win:,.2f} - Average Loss: \${avg_loss:,.2f} - Profit Factor: {profit_factor:.2f}x - Total Wins: \${total_wins:,.2f} - Total Losses: \${total_losses:,.2f} Risk Status: - Trading Paused: {self.trading_paused} - Daily Trades: {self.daily_trades}/{self.max_daily_trades} {'='\*60} """ return stats # Initialize risk manager risk_manager = RiskManager( initial_capital=10000, max_position_size=0.5, # 0.5 ETH max per trade max_drawdown=0.15, # Stop at 15% portfolio loss stop_loss=0.03, # 3% stop loss per trade take_profit=0.06, # 6% take profit target max_daily_trades=15 # Max 15 trades per day )`} /> The `RiskManager` class centralizes all risk controls into a single, reusable component. When initialized, you define your risk parameters: starting capital, maximum position size per trade, the portfolio drawdown percentage that triggers a trading pause, stop loss and take profit thresholds for individual trades, and a daily trade limit to prevent overtrading. The class provides several key methods. `check\_drawdown` monitors whether your portfolio has declined too far from its peak value and automatically pauses trading if the threshold is breached—this prevents a losing streak from draining your entire account. `calculate\_position\_size` implements a simplified Kelly Criterion approach, sizing positions based on model confidence \(higher confidence means larger positions\) while scaling down if the portfolio has already taken losses. `check\_stop\_loss` and `check\_take\_profit` monitor open positions and trigger exits when price moves beyond your defined thresholds. `record\_trade` logs every transaction for later analysis, and `get\_performance\_stats` calculates comprehensive metrics like win rate, profit factor, and current drawdown. #### Integrating risk management into your bot With the `RiskManager` class defined, the next step is wiring it into your main trading loop. The following code modifies the bot from Step 5 to check risk limits before every trade, use dynamic position sizing based on confidence, and automatically exit positions when stop loss or take profit levels are hit. 0.6: if position != 'long': # Calculate position size based on confidence position_size = risk_manager.calculate_position_size(confidence, current_price) execute_trade('BUY', position_size, current_price) risk_manager.record_trade('BUY', current_price, position_size) position = 'long' entry_price = current_price elif prediction == 0 and confidence > 0.6: if position == 'long': # Close position profit = (current_price - entry_price) * position_size execute_trade('SELL', position_size, current_price) risk_manager.record_trade('SELL', current_price, position_size, profit) position = None # Update historical data historical_df = pd.concat([ historical_df, pd.DataFrame([current_data]) ], ignore_index=True).tail(168) time.sleep(interval_seconds) except KeyboardInterrupt: print("\\n" + risk_manager.get_performance_stats()) break except Exception as e: print(f"ERROR: {e}") time.sleep(60) # Run bot with risk management run_trading_bot_with_risk_management(model, df, risk_manager, interval_seconds=300)`} /> This enhanced trading loop adds several layers of protection compared to the basic version from Step 5. Before each iteration, the bot checks `risk_manager.can_trade\(\)` to verify that no risk limits have been breached—if the portfolio has hit max drawdown or the daily trade limit is exhausted, trading pauses automatically. For open positions, the bot continuously monitors whether stop loss or take profit thresholds have been hit and exits immediately if triggered, without waiting for the model to generate a new signal. Position sizes are now dynamic, calculated by the risk manager based on model confidence and current portfolio value rather than using a fixed amount. The result is a bot that protects capital during losing streaks, locks in profits automatically, and scales its risk exposure based on how well it's performing. When you stop the bot, it prints comprehensive performance statistics including total return, win rate, average win/loss size, and profit factor—giving you the data needed to evaluate and refine your strategy. ### Step 8: backtesting your strategy Before risking real money, backtest your strategy on historical data. This reveals how your bot would have performed in different market conditions. The following function simulates your entire trading strategy against historical data, including realistic fee and slippage estimates, stop loss and take profit execution, and detailed performance tracking. It outputs key metrics and generates an equity curve visualization showing how your portfolio value would have evolved over time. = risk_manager.take_profit: sell_price = current_price * (1 - SLIPPAGE) pnl = (sell_price - entry_price) * position_size fees = sell_price * position_size * FEE_RATE net_pnl = pnl - fees capital += (position_size * sell_price) - fees total_fees += fees wins += 1 trades.append({ 'timestamp': timestamp, 'type': 'SELL (Profit)', 'price': sell_price, 'amount': position_size, 'pnl': net_pnl, 'capital': capital }) position = None continue # Regular trading logic if prediction == 1 and confidence > 0.6: if position != 'long' and capital > 0: # BUY buy_price = current_price * (1 + SLIPPAGE) # Slippage on market buy position_size = min( risk_manager.max_position_size, (capital * 0.95) / buy_price # Use max 95% of capital ) cost = position_size * buy_price fees = cost * FEE_RATE capital -= (cost + fees) total_fees += fees entry_price = buy_price position = 'long' trades.append({ 'timestamp': timestamp, 'type': 'BUY', 'price': buy_price, 'amount': position_size, 'pnl': -fees, # Fees are a loss 'capital': capital }) elif prediction == 0 and confidence > 0.6: if position == 'long': # SELL sell_price = current_price * (1 - SLIPPAGE) pnl = (sell_price - entry_price) * position_size fees = sell_price * position_size * FEE_RATE net_pnl = pnl - fees capital += (position_size * sell_price) - fees total_fees += fees if net_pnl > 0: wins += 1 else: losses += 1 trades.append({ 'timestamp': timestamp, 'type': 'SELL', 'price': sell_price, 'amount': position_size, 'pnl': net_pnl, 'capital': capital }) position = None # Track portfolio value (including open position) if position == 'long': current_value = capital + (position_size * current_price) else: current_value = capital portfolio_values.append({ 'timestamp': timestamp, 'value': current_value }) # Track drawdown peak_value = max(peak_value, current_value) current_drawdown = (peak_value - current_value) / peak_value max_drawdown = max(max_drawdown, current_drawdown) # Close any open position at end if position == 'long': final_price = df['price'].iloc[-1] * (1 - SLIPPAGE) pnl = (final_price - entry_price) * position_size fees = final_price * position_size * FEE_RATE capital += (position_size * final_price) - fees total_fees += fees # Calculate final statistics total_return = ((capital - initial_capital) / initial_capital) * 100 total_trades = len([t for t in trades if t['type'] == 'BUY']) win_rate = (wins / (wins + losses) * 100) if (wins + losses) > 0 else 0 # Print results print("\\n" + "="*60) print("BACKTEST RESULTS") print("="*60) print(f"\\nCapital:") print(f" Initial: \${initial_capital:,.2f}") print(f" Final: \${capital:,.2f}") print(f" Total Return: {total_return:+.2f}%") print(f" Max Drawdown: {max_drawdown:.2%}") print(f"\\nTrading Activity:") print(f" Total Trades: {total_trades}") print(f" Winning Trades: {wins}") print(f" Losing Trades: {losses}") print(f" Win Rate: {win_rate:.1f}%") print(f" Total Fees Paid: \${total_fees:,.2f}") if wins > 0 and losses > 0: avg_win = sum(t['pnl'] for t in trades if t['pnl'] > 0) / wins avg_loss = sum(t['pnl'] for t in trades if t['pnl'] < 0) / losses profit_factor = abs(sum(t['pnl'] for t in trades if t['pnl'] > 0) / sum(t['pnl'] for t in trades if t['pnl'] < 0)) print(f"\\nTrade Quality:") print(f" Avg Win: \${avg_win:,.2f}") print(f" Avg Loss: \${avg_loss:,.2f}") print(f" Profit Factor: {profit_factor:.2f}x") print("="*60 + "\\n") # Plot equity curve import matplotlib.pyplot as plt pv_df = pd.DataFrame(portfolio_values) plt.figure(figsize=(12, 6)) plt.plot(pv_df['timestamp'], pv_df['value']) plt.axhline(y=initial_capital, color='r', linestyle='--', label='Initial Capital') plt.title('Portfolio Value Over Time (Backtest)') plt.xlabel('Date') plt.ylabel('Portfolio Value ($)') plt.legend() plt.grid(True, alpha=0.3) plt.tight_layout() plt.savefig('backtest_equity_curve.png') print("📊 Equity curve saved to 'backtest_equity_curve.png'\\n") return trades, capital # Run comprehensive backtest trades, final_capital = backtest_strategy(model, df, risk_manager, initial_capital=10000)`} /> This function replays your entire trading strategy against the historical data you've collected, simulating every buy and sell decision your bot would have made. It iterates through each time period in your dataset, generates predictions using your trained model, checks whether stop loss or take profit thresholds are hit for open positions, executes trades when confidence exceeds your threshold, and tracks portfolio value throughout. The simulation includes realistic friction: a 0.1% fee on every trade \(typical for major exchanges\) and 0.05% slippage \(the difference between expected and actual execution price when using market orders\). These small percentages compound quickly over many trades, which is why the function tracks total fees paid, often the silent killer of otherwise profitable strategies. At the end, the function outputs comprehensive statistics and saves an equity curve visualization showing how your portfolio value would have evolved over the testing period. #### Interpreting backtest results The backtest outputs several metrics that help you evaluate whether your strategy is viable. Here's what each one means and what to look for: - **Total return**: Your strategy's profitability. Anything above 0% is profitable, but you should compare those results to buy-and-hold ETH. - **Max drawdown**: The worst peak-to-trough decline. If you can't stomach a 15% loss, you can't run this strategy. - **Win rate**: Percentage of profitable trades. You can be profitable with \<50% win rate if your wins are bigger than your losses. - **Profit factor**: Total wins / total losses. Above 1.5x is generally good; below 1.0x means you're losing money. - **Total fees**: Often the silent killer. High-frequency strategies can be profitable before fees but losers after. Reality check: if your backtest shows 100%\+ returns, you probably have a bug \(look-ahead bias, overfitting, etc.\). Real trading will be worse than backtests due to slippage, fees, execution delays, and unforeseen events. Congratulations, if you run this - you should see that you've built a functional AI trading bot! ### What you've built You now have a working trading bot that: - Fetches real-time blockchain data using Alchemy's infrastructure - Combines multiple data sources: prices, on-chain metrics, whale activity - Uses machine learning to predict short-term price movements - Manages risk with stop losses, position sizing, and drawdown limits - Can be backtested to validate strategies before going live This is a primitive but complete system. It demonstrates the core workflow of any AI trading bot, from data collection to execution. ### Critical notes and warnings Before you launch your AI trading bot, please be mindful of the following to protect your capital: 1. **Start with paper trading**: Run your bot with simulated orders for at least a month. Track hypothetical performance to identify bugs and refine your strategy without risking capital. 1. **Use small positions**: When you do go live, start with 10-20% of your intended capital. Even well-tested bots can behave unexpectedly in production. 1. **Monitor constantly**: Especially in the first weeks, watch your bot closely. Set up alerts for unusual behavior \(too many trades, large losses, errors\). 1. **Have an automated kill switch**: Build in mechanisms that halt trading automatically when critical thresholds are breached, maximum daily loss, unusual volatility spikes, or system errors. Markets can turn against you faster than you can manually intervene, so relying on manual shutdown isn't enough. Your bot should be able to protect itself even when you're asleep or away from your desk. 1. **Mind the fees**: Trading on DEXs incurs gas costs; CEXs charge trading fees. High-frequency strategies can be profitable before fees but losers after. Always include realistic fee estimates. 1. **Regulatory compliance**: Understand the laws in your jurisdiction. Some regions require licensing for algorithmic trading. If managing others' money, securities regulations likely apply. 1. **Tax implications**: Every trade is a taxable event in many jurisdictions. Keep meticulous records. Your bot's 100 trades per day could create a tax reporting nightmare. 1. **Security is paramount**: - Never hardcode API keys - Use environment variables - Enable 2FA on all accounts - Consider using Smart Wallets with spending limits - Keep private keys offline when possible - Regularly audit your code for vulnerabilities ## Conclusion The tools and techniques covered in this guide, fetching real-time blockchain data, engineering predictive features, training ML models, implementing risk management, and backtesting strategies, provide a foundation for building AI trading systems. But this is a starting point, not a finished product. Real-world trading requires continuous iteration: refining models as market conditions change, stress-testing against edge cases, and building robust infrastructure that can run reliably 24/7. Ready to start building? [Sign up for Alchemy](https://www.alchemy.com/) to get your API key and begin experimenting with the code examples above. For structured learning on blockchain development, check out [Alchemy University](https://university.alchemy.com/). ## Frequently asked questions ### Can I build my own AI trading bot? Yes, you can build your own AI trading bot using Python, machine learning libraries like scikit-learn or PyTorch, and blockchain infrastructure for real-time data access. This guide provides a complete tutorial to get started. ### What programming language is best for building an AI trading bot? Python is the most recommended language due to its extensive libraries for machine learning and data analysis, including Pandas, NumPy, scikit-learn, and PyTorch or TensorFlow. ### What are the essential components of an AI trading bot? A complete AI trading bot requires reliable blockchain data infrastructure, machine learning models for predictions, feature engineering combining price and on-chain metrics, risk management with stop losses and position sizing, and backtesting capabilities to validate strategies before going live. ### How important is blockchain infrastructure for AI trading bots? Infrastructure is critical, most bots fail not because of poor predictions, but because of stale data, API downtime, or high latency. You need real-time, low-latency data access and reliability that competitive trading requires across multiple blockchains. ### What is a realistic success rate for AI trading bots? Only 10-30% of bot users achieve consistent profitability. Success depends on reliable infrastructure, sound risk management, and realistic expectations, not just sophisticated algorithms. A 55-60% prediction accuracy is quite good in volatile crypto markets. ### How do I manage risk with an AI trading bot? Implement stop-loss and take-profit levels, position sizing based on confidence (typically 2% of portfolio per trade maximum), maximum drawdown thresholds that pause trading, daily trade limits to prevent overtrading, and circuit breakers for unexpected losses. ### What data sources should my AI trading bot use? Combine real-time price data, on-chain metrics like gas usage and transaction counts, technical indicators such as moving averages and volatility, and sentiment signals from whale wallet movements for the most comprehensive market view. ### Should I backtest my trading bot before using real money? Yes, always backtest on historical data first, then paper trade with simulated orders for at least a month. Start live trading with only 10-20% of your intended capital, as real performance will be 20-30% worse than backtests due to fees, slippage, and execution delays. ### What are the main types of AI trading bots? Common types include technical analysis bots using price patterns and indicators, sentiment analysis bots parsing social media and on-chain signals, arbitrage bots exploiting price differences across exchanges, and autonomous AI agent funds that coordinate multiple strategies. ### What safety mechanisms should I build into my trading bot? Build observable systems that trace every decision, add circuit breakers with maximum loss thresholds and cooldown periods, implement rate limiters to prevent runaway execution, and keep humans in the loop for high-stakes decisions above certain thresholds. --- # How to Build on UTXO Chains: Bitcoin, Litecoin, Dogecoin & BCH URL: https://www.alchemy.com/blog/how-to-build-on-utxo-chains.md Bitcoin doesn't have account balances. It never has. Neither does Litecoin, Dogecoin, or Bitcoin Cash. These four chains share a 2009 design called the [UTXO model](https://www.alchemy.com/docs/bitcoin/utxo), which replaces the "one row per address" state machine every Ethereum and Solana developer takes for granted. The model works at the protocol level. It breaks at the application layer, where every basic query your app needs to make either doesn't exist or has to be reassembled by an external indexer. That's why teams shipping on UTXO chains have spent years stitching infrastructure together: one provider for RPC, another for indexed reads, a third for webhooks, custom code for the gaps. Our UTXO bundle collapses that into a single platform across all four chains, on the same dashboard, API keys, and metering you use for [EVM](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) and [Solana](https://www.alchemy.com/solana). ## What's different about UTXO chains? UTXO stands for "unspent transaction output." Every Bitcoin transaction consumes one or more outputs as inputs and creates new outputs. A wallet's "balance" is not stored anywhere on chain. It is computed by summing every output the wallet controls that hasn't been spent yet. The [Bitcoin developer guide](https://developer.bitcoin.org/devguide/transactions.html) is explicit: "when your Bitcoin wallet tells you that you have a 10,000 satoshi balance, it really means that you have 10,000 satoshis waiting in one or more UTXOs." A concrete example. Alice controls three UTXOs: 0.4 BTC, 0.3 BTC, and 0.2 BTC. She sends 0.5 BTC to Bob. The transaction consumes her 0.4 and 0.3 BTC outputs in full, creates a 0.5 BTC output for Bob, returns ~0.1999 BTC as change to a new address Alice controls, and leaves ~0.0001 BTC as the miner fee. The 0.2 BTC UTXO is untouched. UTXOs are atomic. You can't partially spend one. The contrast with account-based chains is sharp: [Litecoin](https://www.alchemy.com/rpc/litecoin), [Dogecoin](https://www.alchemy.com/rpc/dogecoin), and [Bitcoin Cash](https://www.alchemy.com/rpc/bitcoin-cash) all inherit this model. They forked Bitcoin's codebase, tweaked block times and a few parameters, and shipped. The same mental model and the same class of infrastructure serve all four chains. ## Why do devs care? The differences are not philosophical. They show up in concrete places where most teams underestimate the work. ### You can't ask a node for an address's balance Bitcoin Core stores blocks and transactions. It does not maintain an address-to-transaction index. Core developers have [explicitly resisted](https://bitcoincore.reviews/14053) adding one because, as one maintainer put it, "address indexes are inherently unscalable since they grow linearly with the size of the blockchain." Their position is that address indexing belongs in external services. So every Bitcoin app that needs to display a balance, list a user's transactions, or watch for incoming payments sits on top of an indexer: a service that watches the chain and maintains a queryable database of addresses, transactions, and UTXOs. The only question is who runs it. Most teams use [a hosted blockchain node provider](https://www.alchemy.com/overviews/blockchain-node-providers) instead of standing up their own infrastructure. ### Wallets don't have one address, they have thousands Reusing an address links every input and output under one identity. So the convention is one address per receive, derived from a single seed through hierarchical deterministic (HD) keys defined in [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki). An exchange that holds one corporate xpub (an extended public key that can derive a tree of receive addresses from a single root, without exposing the private keys that spend them) can show every customer a freshly derived deposit address. A self-custodial wallet can recompute every UTXO it controls from a 12-word seed. The catch: an indexer must derive addresses sequentially and watch them all, with [BIP 44's 20-address gap limit](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) determining when to stop. Skip 20 addresses and the indexer thinks you're done, which is a real-world cause of "where did my funds go" tickets. ### Fees are paid by size, not by value The unit is satoshis per virtual byte. A wallet that consolidates 100 small UTXOs into one output pays a fee proportional to those 100 inputs, regardless of the value moved. Estimation is mempool-dependent and varies minute by minute. Stuck transactions get bumped with [replace-by-fee (BIP 125)](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki) or [child-pays-for-parent](https://bitcoinops.org/en/topics/cpfp/). None of this is conceptually hard. All of it is real production code you'd otherwise write yourself. ### Finality is probabilistic A Bitcoin block can be reorganized out of the chain by a competing one. When that happens, every transaction in the displaced blocks returns to the mempool. Outputs that were "spent" become unspent again. Your indexer has to unwind cleanly or it hands your app the wrong balance. Apps protect themselves with confirmation thresholds: 1 conf for low-value payments, 6 for the historic standard, 30+ for large exchange deposits. Litecoin and Dogecoin have shorter block times (2.5 minutes for LTC, 1 minute for DOGE) so the same number of confirmations buys less wall-clock security. ### Address formats keep changing Bitcoin has shipped three address-format upgrades without retiring the earlier ones: P2SH in 2012, SegWit in 2017, and Taproot in 2021. Four families coexist in the network today: legacy P2PKH (`1...`), nested SegWit P2SH (`3...`), native SegWit P2WPKH (`bc1q...`), and Taproot P2TR (`bc1p...`). A 1-input, 2-output P2WPKH transaction is roughly [141 virtual bytes](https://learnmeabitcoin.com/technical/transaction/size/) against ~226 vB for the equivalent P2PKH transaction, so format choice has direct fee consequences. Production wallets and explorers must support all four. Every team building on Bitcoin spends a chunk of their first quarter on this list. Most of it has nothing to do with the product they're shipping. ## How does Alchemy support UTXO chains? We support [Bitcoin](https://www.alchemy.com/rpc/bitcoin), [Litecoin](https://www.alchemy.com/rpc/litecoin), [Dogecoin](https://www.alchemy.com/rpc/dogecoin), and [Bitcoin Cash](https://www.alchemy.com/rpc/bitcoin-cash) on the same platform as Ethereum, Solana, and the [rest of the chain directory](https://www.alchemy.com/rpc). Same API keys. Same dashboard. Same metering model. Same webhooks. Every feature ships on every tier. What ships at launch: - **Raw JSON-RPC passthrough** to full nodes running with `-txindex=1`, for every standard Bitcoin Core method (`getblock`, `getrawtransaction`, `estimatesmartfee`, `sendrawtransaction`, and the rest). - **Indexed REST APIs** for address balances, UTXO lookups, paginated transaction history, enriched transaction details, and spending status. The queries Bitcoin Core can't answer natively, answered in milliseconds. - **xpub and descriptor tracking** on all four chains. Output descriptors specify how to derive addresses from a key; we handle the derivation across BIP 44, 49, 84, and 86 trees and the standard 20-address gap limit. Balance, UTXO, and history queries run against the full derived address set, not just the first address you submitted. - **WebSocket subscriptions** for confirmed transactions, address activity, new blocks, and reorg notifications, with configurable confirmation thresholds per stream. - **Transaction operations** beyond raw broadcast: fee estimation tiered to fast, medium, and slow (mempool-aware), unsigned transaction construction, compilation, verification, and broadcast. - **Compatibility wrappers** for Blockbook-style `bb_*` (the QuickNode shape) and Blockdaemon-style `bd_*` method signatures, so existing integrations migrate with HTTP-call changes only. In code, that looks like this. Raw JSON-RPC for anything a node supports: REST for the queries Bitcoin Core can't answer natively: Persistent connections for live updates: The full reference, including every endpoint and the migration-wrapper method list, lives in our [Bitcoin API quickstart](https://www.alchemy.com/docs/reference/bitcoin-api-quickstart) and the [Bitcoin JSON-RPC reference](https://www.alchemy.com/docs/bitcoin/bitcoin-api-overview). For a deeper read on how UTXO state differs from account state, our [UTXO vs. account model docs](https://www.alchemy.com/docs/utxo-vs-account-models) cover the protocol-level mechanics. ## How's that different from what's out there? If you're shipping on Bitcoin today, you're probably using one of three providers, each of which leaves gaps: bb_*, bd_*)", tooltip: "", icon: "", }, alchemy: { title: "Yes", tooltip: "", icon: "" }, quicknode: { title: "N/A", tooltip: "", icon: "" }, blockdaemon: { title: "N/A", tooltip: "", icon: "" }, blockcypher: { title: "N/A", tooltip: "", icon: "" }, id: 6, }, { capability: { title: "Unified dashboard with EVM and Solana", tooltip: "", icon: "", }, alchemy: { title: "Yes", tooltip: "", icon: "" }, quicknode: { title: "No", tooltip: "", icon: "" }, blockdaemon: { title: "No", tooltip: "", icon: "" }, blockcypher: { title: "No", tooltip: "", icon: "" }, id: 7, }, ], }} /> Three things change for builders. ### One vendor, one integration, one bill If you're already on Alchemy for [Ethereum](https://www.alchemy.com/ethereum), [Base](https://www.alchemy.com/base), [Polygon](https://www.alchemy.com/polygon), or [Solana](https://www.alchemy.com/solana), adding Bitcoin is not a procurement project. It's a chain you turn on. Same API keys, same metering, same webhooks delivery model, same dashboard. The multi-vendor setups that have been standard on UTXO chains for years collapse into a single integration. ### All four chains, one feature set Every existing provider covers some combination of these chains and features, but the coverage is uneven. QuickNode ships Blockbook indexed reads and xpub tracking on BTC, LTC, and BCH; Dogecoin Blockbook is a separate paid add-on. Blockcypher offers HD Wallets on BTC, LTC, and DOGE through `wallets/hd`. Blockdaemon's Wallet Transact API covers transaction construction across all four. Teams end up matching each use case to whichever provider supports the specific feature and chain combination they need, then stitching the rest in custom code. We deliver xpub tracking, indexed reads, transaction operations, and WebSocket subscriptions across Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash in one bundle, with no per-chain add-ons or feature splits. ### Migrations are HTTP-call changes, not rearchitectures Compatibility wrappers for Blockbook-style `bb_*` methods (the QuickNode shape) and Blockdaemon-style `bd_*` methods mean your existing integrations keep their request shape. You change the host. You don't rewrite the call site. For teams on Blockcypher's legacy REST surface, the request format does change (we use REST GET with a different shape) but the underlying data model is the same. We ship a consolidated [UTXO migration guide](https://www.alchemy.com/docs/bitcoin/utxo-migration-guide) at launch with sections for Blockcypher, QuickNode Blockbook, and Blockdaemon. The dev benefit, in one line: less infrastructure to glue together, fewer providers to manage, and a faster path from "we need Bitcoin support" to shipping it. ## Build on Bitcoin with Alchemy Bitcoin, Litecoin, Dogecoin, and Bitcoin Cash are live on Alchemy alongside Ethereum, Solana, and 100+ other chains. PAYG developers add chains from the dashboard on day one. No contracts, no waitlist, no minimum commitment. Enterprise customers get UTXO chains under their existing compute unit allocation. Read [the Bitcoin support launch announcement](https://www.alchemy.com/blog/alchemy-now-supports-bitcoin) for the full feature breakdown. Create an endpoint in the [Alchemy dashboard](https://dashboard.alchemy.com/) and start querying, or [contact sales](https://www.alchemy.com/contact-sales) for enterprise integration support and custom pricing. --- # How to Build Onchain Agents: Wallets, x402, Data URL: https://www.alchemy.com/blog/how-to-build-onchain-agents.md Most "AI agent" tutorials stop at the LLM. The hard part starts when the agent needs a wallet, a way to pay for the services it calls, and a live view of the chain it's acting on. To build onchain agents, give the agent three primitives: a scoped wallet for signing, a payment rail like x402, and a real-time data feed through webhooks, WebSockets, or gRPC. The model decides; these primitives let it act onchain. An LLM that writes code is a copilot. An agent that holds money, signs transactions, and reacts to onchain events in real time is something else: a participant in the economy. The infrastructure exists, but it is scattered across wallet, payment, and real-time data primitives. This guide walks through the three you actually need and how to wire them together. The [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) and our [agentic products](https://www.alchemy.com/agents) ship each as a primitive you can use directly. ## What's different about building an onchain agent? Most of a regular AI agent's stack still works onchain: the model, the framework, the tool-calling pattern, the orchestration loop, the eval harness, the prompt store. All of it transfers. If you've built a Slack bot, a coding agent, or a research agent, the upper half of the stack is already familiar. Three things don't transfer: the wallet, the payment rail, and the real-time data feed. None of the three have a clean equivalent in the LLM tooling world, none are solved by picking a smarter model, and getting any of them wrong is the kind of mistake that drains a wallet or stalls an agent in production. - **Identity is a private key, not an email address.** Whatever the agent can sign, it can spend. Key custody becomes a security model, not a config file. - **Payments happen at the protocol layer.** Stripe doesn't accept "I'm an agent" as a payer. Crypto rails do, through standards like [HTTP 402/x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web). - **Real-time data is the default mode, not a feature.** Block times are short and finality matters. Polling burns budget; the agent needs the chain to push state to it. Each of the three building blocks below maps to one of these shifts. ## What are the three building blocks of an onchain agent? A production onchain agent usually needs three things: 1. Wallet. The agent can sign with it, scoped so a compromised prompt can't drain it. 2. Payment rail. The agent pays for offchain APIs and onchain gas without a human in the loop. 3. Real-time data pipe. The agent reacts to new blocks, transactions, and contract events the instant they happen. The rest of this guide is one section per building block, plus a final walkthrough that puts them together. ## How do you give an agent a wallet without leaking your keys? The naive pattern is the one everyone tries first: drop a private key in a `.env` file, load it with `dotenv`, sign transactions with it from inside the agent loop. It works on a local demo. It is one prompt injection away from a drained wallet in production. Two patterns are emerging as the safer defaults. The first pattern is embedded smart accounts (programmable wallet contracts, not raw private-key accounts) with delegated signing. The key lives inside a custody service ([Privy](https://www.privy.io/), [Turnkey](https://www.turnkey.com/), [Coinbase MPC](https://www.coinbase.com/developer-platform) for multi-party computation). Your agent never sees it. It calls a signing API, the service verifies the request against a policy, and the signed transaction comes back. The agent can sign within rules you set (max value per tx, allowed contracts, daily limits) and nothing else. The second pattern is session-scoped wallets approved from a developer surface. The agent gets a time-limited, revocable session bound to a specific wallet. You approve the session from a UI you control. Revocation is one click. The newest take on pattern 2 is the [agent wallet feature in the Alchemy CLI](https://www.alchemy.com/blog/agent-wallets-alchemy-cli), which ships as part of the CLI itself: `alchemy wallet connect` opens our dashboard in a browser. You pick the wallet you want the agent to use, approve the session, and from that point the CLI can sign on the agent's behalf. The private key stays with Privy. Every signing call goes through a two-step flow: our backend constructs the payload, the CLI signs locally, the request hits Privy. If the session has expired, been revoked, or fails binding checks, the request is rejected before it leaves our infrastructure. The CLI was designed as a tool surface for agents, not just humans. These commands matter: --json --no-interactive", "# Print the JSON manifest of every command and flag", "alchemy --json --no-interactive agent-prompt", "# Install Alchemy Skills for agent clients", "npx skills add alchemyplatform/skills --yes", ].join("\n")} /> `alchemy --json --no-interactive agent-prompt` is the part that makes this agent-native. Instead of asking your LLM to memorize the CLI surface, you feed it the JSON manifest at session start and the model knows the full command space, error codes, and example invocations. That eliminates an entire category of "the agent hallucinated a flag that doesn't exist" failures. Connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) separately for live chain data tools. How to choose between the two patterns: Whichever you pick, the rule is the same: the agent never sees a raw private key. If your design has one in memory, you have built a vulnerability, not an agent. ## How does an agent pay for the services it calls? Once the agent has a wallet, it still has to pay for things. Two kinds of things: - **Onchain costs.** Gas, swap fees, bridge fees, anything the chain charges for state changes. - **Offchain costs.** RPC requests, indexed data APIs, inference, anything the agent needs from a server. Onchain costs are solved by [gas sponsorship](https://www.alchemy.com/gasless-transactions). Many account-abstraction providers expose a [paymaster API](https://www.alchemy.com/docs/wallets/transactions/sponsor-gas), where a paymaster is a contract that pays gas on someone else's behalf. The agent submits a user operation (ERC-4337's transaction-equivalent for smart accounts), the paymaster covers it, you reconcile usage on your side. This pattern is already common in smart-account systems. Offchain costs are the harder problem, because the agent doesn't have a credit card on file and you don't want to provision API keys for every agent. The pattern converging across the ecosystem is x402: the HTTP 402 Payment Required status code, plus a small payload that tells the agent how to pay. Here's the full flow: 1. The agent makes an HTTP request to a service. 2. The service replies `402 Payment Required` with a JSON body describing the price, the accepted token, and the chain. 3. The agent constructs a payment (USDC on Base is the common default), signs it with its wallet, and retries the original request with a payment proof in a header. 4. The service verifies, settles, and returns the data. We implement this end to end. An agent can hit our [RPC API](https://www.alchemy.com/rpc-api), [Token API](https://www.alchemy.com/token-api), [Portfolio API](https://www.alchemy.com/docs/reference/portfolio-apis), [NFT API](https://www.alchemy.com/nft-api), and [Prices API](https://www.alchemy.com/docs/reference/prices-api-quickstart) with no API key and no dashboard signup. The first request gets a 402; subsequent requests pay the endpoint's quoted amount in USDC on Base and return data. No human in the loop. A minimal client-side handler looks like this: The agent retries the same URL with the signed payment header. The endpoint settles the payment onchain, hands back the data, and the agent moves on. The pattern composes across providers: any service that speaks x402 can take agent payments without writing custom auth. ## How does the agent stay in sync with the chain? Chains don't push to your app by default. If your agent polls `eth_blockNumber` every second to find out what's happening, you're paying for the poll and arriving late to every event you care about. Three patterns cover almost every real-time use case. The full breakdown is in the [webhooks vs WebSockets vs gRPC comparison](https://www.alchemy.com/overviews/webhooks-vs-websockets-vs-grpc), but here's the short version for agent builders: gRPC streaming", tooltip: "", icon: "", }, useWhen: { title: "The agent is throughput-bound on Solana or another high-TPS chain. Lowest latency, highest cost to integrate.", tooltip: "", icon: "", }, id: 2, }, ], }} /> For most agents, [webhooks](https://www.alchemy.com/webhooks) plus a few [Data API](https://www.alchemy.com/docs/data) calls ([token balances](https://www.alchemy.com/token-api), [transaction history](https://www.alchemy.com/docs/reference/transfers-api), [portfolio](https://www.alchemy.com/docs/reference/portfolio-apis)) are enough. The webhook fires, the agent wakes up, queries enriched state, decides what to do, signs a transaction, and sleeps. ## Wiring it together: a minimal onchain agent architecture Here's a compact architecture sketch that combines all three building blocks. It watches its own wallet, queries a paid endpoint when something arrives, asks an LLM what to do, and signs a response transaction. Replace the x402 signing helper with your custody provider before running it in production. {", " for (const tx of block.transactions) {", " if (tx.to?.toLowerCase() !== agentWallet) continue;", "", " const portfolio = await paidFetch(", " `https://api.g.alchemy.com/data/v1/portfolio/${tx.from}`", " );", "", " const decision = await openai.chat.completions.create({", ' model: "gpt-4o",', " messages: [", " {", ' role: "system",', ' content: "You are a treasury agent. Decide whether to refund.",', " },", " {", ' role: "user",', " content: JSON.stringify({ tx, sender_portfolio: portfolio }),", " },", " ],", " });", "", " const action = JSON.parse(decision.choices[0].message.content!);", " if (action.refund) {", " await refund(tx.from, action.amount);", " }", " }", " },", "});", ].join("\n")} /> Three things are worth noting about this shape: - **No private key in the process.** Every sign call goes through the CLI session, which talks to Privy. If this process is compromised, the attacker gets a revocable session, not a wallet. - **No API key for the data call.** `paidFetch` works against any x402-speaking endpoint. The endpoint charges per request in USDC. - **The LLM is the smallest piece.** Most of the surface area is wallets, payments, and data plumbing. The model just decides. That's the pattern. Swap the trigger (Discord message, cron, marketplace event), swap the action (swap, vote, bridge, mint), swap the model, and you have a different agent. ### Build it with Claude Or have Claude build it for you. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) and connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): Then paste this prompt into Claude Code: The output mirrors the script above: a viem WebSocket against our RPC, our Portfolio API behind x402, and CLI signing through the approved agent wallet session for the refund. No private key in the process. ## Which agent framework should you use? Frameworks layer on top of the three primitives above. They handle the agent loop, tool registration, memory, and (for some) social platform clients. The right choice depends on whether you're optimizing for chain depth, multi-chain breadth, or a full runtime. GOAT SDK by Crossmint", tooltip: "", icon: "", }, bestFor: { title: "Multi-chain agents that need EVM and Solana under one API", tooltip: "", icon: "", }, chains: { title: "EVM + Solana", tooltip: "", icon: "" }, notes: { title: "Plugin model. Good fit when the agent crosses chains.", tooltip: "", icon: "", }, id: 1, }, { framework: { title: "ElizaOS agent runtime", tooltip: "", icon: "", }, bestFor: { title: "Social agents (Twitter, Discord, Farcaster) with character files", tooltip: "", icon: "", }, chains: { title: "Any", tooltip: "", icon: "" }, notes: { title: "Full runtime including memory and platform clients. Heavier than a library.", tooltip: "", icon: "", }, id: 2, }, { framework: { title: "Solana Agent Kit by SendAI", tooltip: "", icon: "", }, bestFor: { title: "Deepest Solana protocol coverage (Jupiter, Raydium, Drift, etc.)", tooltip: "", icon: "", }, chains: { title: "Solana only", tooltip: "", icon: "" }, notes: { title: "Tool library, not a runtime. Bring your own loop.", tooltip: "", icon: "", }, id: 3, }, { framework: { title: "Vercel AI SDK", tooltip: "", icon: "" }, bestFor: { title: "Streaming agent responses to a web UI", tooltip: "", icon: "", }, chains: { title: "Any (via tools)", tooltip: "", icon: "" }, notes: { title: "Good fit for streaming agent responses to a browser UI.", tooltip: "", icon: "", }, id: 4, }, ], }} /> For a chain-native end-to-end build with wallet setup, RPC integration, and [Jupiter](https://www.alchemy.com/dapps/jupiter) swaps, see the [Solana AI agent build guide](https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026). For a chain-agnostic provider comparison, see [the best blockchain APIs for autonomous onchain agents](https://www.alchemy.com/overviews/best-blockchain-apis-for-autonomous-onchain-agents). The frameworks are interchangeable in a way the building blocks are not. You can swap LangChain for GOAT in an afternoon. Swapping how your agent signs is a security review. ## What to build next The three building blocks compose. Once you have an agent that holds a session-scoped wallet, pays for data with x402, and reacts to real-time events, the question stops being "can the agent do this" and starts being "what should the agent do?" We ship each of the three building blocks as a primitive. Our [CLI](https://www.alchemy.com/docs/alchemy-cli) handles wallets through Privy-backed, revocable sessions. Our [RPC](https://www.alchemy.com/rpc-api), [Token](https://www.alchemy.com/token-api), [Portfolio](https://www.alchemy.com/docs/reference/portfolio-apis), [NFT](https://www.alchemy.com/nft-api), and [Prices](https://www.alchemy.com/docs/reference/prices-api-quickstart) APIs speak x402 directly. No API key, no dashboard signup, no contract. [Webhooks](https://www.alchemy.com/webhooks), [WebSocket subscriptions](https://www.alchemy.com/docs/reference/subscription-api), and [Solana gRPC streaming](https://www.alchemy.com/solana-grpc) cover the real-time data feed. Run `npx skills add alchemyplatform/skills --yes`, connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server), then point LangChain, GOAT, ElizaOS, or your framework at Alchemy's APIs. Start with `npm i -g @alchemy/cli@latest` and `alchemy auth`. Learn more at [alchemy.com/agents](https://www.alchemy.com/agents). ## Frequently asked questions ### What is an onchain agent? An onchain agent is an AI agent that can read blockchain state, hold or control a wallet, and sign transactions based on a policy or model decision. The model decides what to do; the wallet, payment rail, and data feed let it act. ### How do you build an onchain agent? Start with three primitives: a scoped wallet for signing, a payment rail such as x402 for paid API calls, and a real-time data feed through webhooks, WebSockets, or gRPC. Then connect those primitives to the agent framework or orchestration loop you already use. ### What wallet should an AI agent use? Use a wallet pattern that keeps raw private keys out of the agent process. Embedded smart accounts with delegated signing work well for user-facing apps, while session-scoped CLI wallets work well for developer agents, internal automation, and prototypes. ### How do onchain agents pay for APIs? They can use x402 payments. The agent makes a request, receives a `402 Payment Required` response with payment details, signs the payment with its wallet, and retries the request with a payment proof. ### Should onchain agents use webhooks, WebSockets, or gRPC? Use webhooks when the agent runs as a service and can receive pushed events. Use WebSockets when the agent runs as a persistent process and needs low-latency logs or pending transactions. Use gRPC streaming for high-throughput Solana-style workloads where latency matters enough to justify more integration work. ### What is the best framework for onchain agents? The best framework depends on the loop you need. LangChain or LangGraph are flexible for general orchestration, GOAT is useful for multi-chain tool coverage, ElizaOS is built for social agents, Solana Agent Kit goes deep on Solana, and the Vercel AI SDK is a good fit for browser-facing agent UIs. The core infrastructure is ready to build with. What you do with it is the part nobody else can write for you. --- # How to Build a Solana AI Agent in 2026 URL: https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026.md [AI agents](https://www.alchemy.com/dapps/best/ai-agents) are transforming how we interact with blockchain infrastructure. These autonomous programs can execute transactions, manage portfolios, mint NFTs, and interact with DeFi protocols, all through natural language commands. A far cry from crypto’s early UX. Solana has emerged as the leading blockchain for AI agent development, [accounting for 77% of x402 transaction volume in December 2025](https://x.com/OnchainLu/status/2000971905310834780) combining sub-second finality, negligible transaction costs, and a mature ecosystem of frameworks purpose-built for agentic applications. This guide walks through building production-ready AI agents on Solana, from choosing the right framework to implementing secure wallet architectures. Whether you're building a trading bot, a personal onchain assistant, or an autonomous DeFi manager, you'll find the technical foundation you need here. ## Why Solana for AI agents? AI agents have the potential to transform onchain activity and unlock entirely new use cases, leading to a major question for developers who want to get started is: which blockchain do you build AI agents on? The answer, increasingly, is Solana. A single agent monitoring markets, executing trades, and rebalancing portfolios might submit hundreds of transactions daily. On Ethereum mainnet, that operational tempo could cost thousands of dollars in gas. On Solana, it's pennies. But cost is just the starting point, Solana's architecture aligns with agent requirements in ways that go far deeper than fees: - **Speed matters for autonomy:** Agents need to react to market conditions, user requests, and onchain events in real time. Solana's 400ms block times and sub second finality enables tight feedback loops. Agents operate in cycles: reason about what to do, execute an action, observe the result, then reason again. Each "observe" step requires waiting for transaction confirmation. On a 12-second block time chain, a 3-step workflow means 36\+ seconds of idle waiting between decisions, the agent loses the tight feedback loop that makes autonomous operation feel responsive. On Solana, that same workflow confirms in under 2 seconds, letting agents reason and act in near real-time. This is the difference between an agent that feels like a batch job you submitted and one that feels like a collaborator working alongside you. - **Predictable fees enable planning:** Agents need to budget for operations. Solana's fee model, roughly $0.00025 per transaction, lets developers build agents that can operate indefinitely on minimal capital. Priority fees during congestion remain reasonable compared to gas auctions found on other chains. - **Native program composability:** Solana programs can call other programs atomically within a single transaction. An agent can swap tokens on [Jupiter](https://www.alchemy.com/dapps/jupiter), stake the output on Marinade, and mint a receipt NFT, all in one atomic operation. This composability is what separates Solana agents from clunky sequential workflows. When an agent can bundle multiple operations into a single atomic transaction, say, swapping tokens, providing liquidity, and staking the LP position, it executes faster \(one confirmation vs. three\), costs less \(one base fee vs. three\), and requires simpler code \(no error handling between steps\). For users, the difference is night and day: ask the agent to "optimize my yield" and it just _does it_ in seconds, rather than walking you through a multi-step process with confirmation prompts at each stage. - **Ecosystem momentum:** The AI agent e cosystem on Solana has exploded since late 2024. [SendAI's Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit), [ElizaOS](https://elizaos.ai/) formerly ai16z\), the [GOAT toolkit](https://github.com/goat-sdk/goat) from [Crossmint](https://www.alchemy.com/dapps/crossmint), and Rust-native frameworks like [Rig](https://rig.rs/) have created a rich development environment. Jupiter processes 90% of Solana's DEX aggregator volume with APIs designed for programmatic access, making it super easy for agents to plug in and utilize this data. ## Understanding the AI agent stack Before diving into the code, let’s give a quick overview of the layers of the AI agent stack, which can help you understand which tools you should be using for a given task. The AI agent stack can be summarized into 4 layers: - **Large Language Models \(LLMs\):** LLMs form the foundation of any AI Agent. The latest models like Claude Opus 4.5, GPT-5.2, or Gemeni 2.5 Pro provide the natural language understanding and reasoning capabilities. They process user requests, interpret ingested blockchain data, and decide which actions to take. The LLM is the "brain" that makes an agent intelligent rather than just a script. - **Agent Frameworks:** Frameworks sit on top of LLMs and handle the orchestration of how the agent will function. They manage conversation history, maintain agent "personality" through system prompts, coordinate multiple tools, and integrate with external platforms like Twitter, Discord, or Telegram. ElizaOS is the leading example, it combines LLM integration, memory management, and multi-platform clients into a unified framework. - **Blockchain Toolkits:** Toolkits give agents the ability to actually interact with Solana. The Solana Agent Kit, GOAT toolkit, and similar libraries expose blockchain operations as "tools" that LLMs can invoke. When a user says "swap 10 SOL for USDC," the toolkit translates that into Jupiter API calls, transaction construction, and submission. ## The agent framework landscape With the conceptual foundation covered, let’s talk about the four major frameworks that will dominate Solana AI agent development in 2026. ### Solana Agent Kit \(SendAI\) The [Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit) is the most direct path to building agents that interact with the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). Developed by SendAI, it provides 60\+ pre-built actions covering token operations, NFT minting, DeFi interactions, and more. The kit integrates cleanly with LangChain, Vercel AI SDK, and other popular AI development frameworks. SendAI’s modular plugin architecture lets you install only what you need. The token plugin handles SPL token transfers and swaps. The NFT plugin manages [Metaplex](https://www.alchemy.com/dapps/metaplex) operations. The DeFi plugin integrates with Jupiter, [Raydium](https://www.alchemy.com/dapps/raydium), and other protocols. This modularity keeps deployments lightweight. Here's what initialization of this framework looks like. First, you create a wallet, instantiate the agent with your RPC and API keys, then chain the plugins you need: **Best for:** Developers who want rapid prototyping with comprehensive Solana coverage. The kit abstracts most blockchain complexity while remaining flexible enough for production use. ### ElizaOS [ElizaOS](https://elizaos.ai/) evolved from the ai16z project into a full agent operating system. It's designed for autonomous agents that maintain persistent personalities across platforms, Twitter bots, Discord assistants, and Telegram channels. The framework handles memory, character definitions, and multi-platform deployment. Agents in ElizaOS are defined through character JSON files that specify personality, available actions, and behavioral parameters. The Solana plugin provides blockchain capabilities, and the framework manages the complexity of maintaining coherent agent behavior across interactions. Getting started is straightforward with the CLI: The real configuration happens in your character file. This is where you define which platforms your agent operates on, which LLM provider to use, and what Solana capabilities to enable: **Best for:** Social agents that need persistent identity across platforms. If you're building a Twitter bot or Discord assistant with Solana capabilities, ElizaOS is the natural choice. ### GOAT toolkit \(Crossmint\) [GOAT](https://github.com/goat-sdk/goat) \(Great Onchain Agent Toolkit\) takes a different approach. It's designed as a universal adapter between AI agents and any blockchain application. While the Solana Agent Kit focuses on Solana-specific operations, GOAT provides a unified interface across 30\+ chains including Solana, EVM networks, and others. The real power of GOAT is its integration breadth. Over 200 plugins cover protocols from Jupiter and Orca on Solana to [Uniswap](https://www.alchemy.com/dapps/uniswap) and [Aave](https://www.alchemy.com/dapps/aave) on Ethereum. If you're building agents that need to operate across multiple chains, GOAT eliminates the need for chain-specific implementations. The initialization pattern is similar to Solana Agent Kit. First you will initialize a wallet, select your plugins, and generate tools for your AI framework. Here's a Solana setup with Jupiter integration: **Best for:** Multi-chain agents and applications that need to integrate with specific DeFi protocols. GOAT's plugin ecosystem is unmatched for protocol coverage. ### Rig framework \(Rust\) For performance-critical applications, high-frequency trading bots, MEV strategies, latency-sensitive operations, [Rig](https://rig.rs/) provides a Rust-native AI agent framework. Combined with Listen.rs for Solana integration, it offers the lowest-latency path from LLM decision to on-chain execution. Rig leverages Rust's type system for compile-time correctness and its performance characteristics for sub-millisecond operations. The rig-onchain-kit provides Solana integration, and Listen.rs adds transaction monitoring and [Jito](https://www.alchemy.com/dapps/jito) bundle submission for MEV-protected transactions. The API is clean and idiomatic Rust. You create a client, configure an agent with a system prompt, and start prompting: **Best for:** Performance-critical applications where latency matters. If you're building trading infrastructure or need direct integration with Solana's native Rust ecosystem, Rig is the choice. ### LangChain [LangChain](https://github.com/langchain-ai/langchain) is the most widely adopted framework for building LLM-powered applications. While it's not blockchain-specific, its tool abstraction and agent architecture make it a natural fit for Solana development. The Solana Agent Kit provides first-class LangChain integration, letting you leverage LangChain's mature ecosystem while accessing Solana's on-chain capabilities. LangChain's strength is composability, allowing developers to chain together prompts, tools, memory systems, and retrieval mechanisms into complex agent workflows. The framework handles conversation management, tool selection, and output parsing. For Solana agents, this means you can combine on-chain actions with off-chain data sources, RAG pipelines, and multi-step reasoning. The integration with Solana Agent Kit is seamless. You initialize your agent, then use the `createLangchainTools` helper to generate LangChain-compatible tools from your Solana actions: LangChain also shines when you need to combine Solana operations with external data. You can add web search tools, database retrievers, or custom API integrations alongside your blockchain tools. The agent decides which tools to use based on the task. **Best for:** Developers already working in the LangChain ecosystem, or applications that need to combine Solana operations with complex reasoning chains, RAG, or external data sources. If your agent needs more than just blockchain interactions, LangChain provides the orchestration layer. ## Building your first Solana agent: step-by-step Now that we have covered the foundational theory, let’s build a functional Solana AI agent using the Solana Agent Kit and LangChain. By the end of this section, you'll have an agent that can check balances, execute swaps, and mint financial receipt NFTs, all through natural language commands. We'll build this incrementally, explaining each piece as we go. ### Prerequisites Before starting, make sure you have: - **Node.js v23\+**: The Solana Agent Kit requires modern Node features. Check your version with `node --version`. If you need to upgrade, nvm makes this easy: - **A [Solana wallet](https://www.alchemy.com/overviews/solana-wallets)**: You'll need a keypair with some devnet SOL for testing. We'll generate one if you don't have it. - **API keys**: OpenAI \(for the LLM\) and optionally a dedicated RPC provider like Alchemy ### Project setup Start by creating a new directory and initializing your project: Now install the dependencies. Each package serves a specific purpose: Here's what each dependency does: - **solana-agent-kit**: The core toolkit that provides Solana actions as LLM-compatible tools - **@langchain/core**: Base abstractions for messages, prompts, and tool interfaces - **@langchain/openai**: OpenAI integration for LangChain \(GPT-4 as our reasoning engine\) - **@langchain/langgraph**: Provides the ReAct agent pattern—the loop where the LLM reasons about what tool to use, uses it, observes the result, and decides what to do next - **dotenv**: Loads environment variables from a `.env` file - **bs58**: Base58 encoding/decoding for Solana private keys ### Environment configuration Create a `.env` file in your project root. This keeps sensitive credentials out of your code: A note on the private key format: Solana keypairs are 64-byte arrays. The `.env` file stores this as a JSON array like `\[123,45,67,...\]`. If you need to generate a fresh keypair for testing, use: This creates a vanity address starting with "ai" \(useful for identifying your agent's wallet\). The output includes the keypair as a byte array you can paste into your `.env`. **Important**: Never use a keypair with real funds for development. Always test on devnet first. ### Understanding our agent architecture Before we write code, let's understand what we're building. Our agent has three main components: 1. **The LLM \(GPT-5.2\)**: The "brain" that understands natural language, reasons about what actions to take, and generates responses 1. **The Tools \(Solana Agent Kit\)**: Functions the LLM can call—check balance, swap tokens, mint NFTs, etc. 1. **The Agent Loop ([LangGraph ReAct](https://github.com/langchain-ai/react-agent))**: LangchainReAct is an implementation of the Reasoning and Acting \(ReAct\) agent architecture using the LangGraph framework. This orchestration pattern that connects the LLM and the tools. When you send a message, the agent receives your input → decides if a tool is needed → calls the tool → observes the result → decides if more tools are needed → generates a response This is the ReAct \(Reasoning \+ Acting\) pattern. The LLM doesn't just respond, it reasons about what actions to take, takes them, and incorporates the results into its response. ### The agent script Now let's build `agent.ts`. We'll go section by section. #### Imports and setup The imports break down into three categories: Solana Agent Kit for blockchain operations, LangChain for AI orchestration, and Node utilities for environment variables and user input. #### Initializing the agent The `initializeAgent` function sets up all the components: We're using GPT-5.2 as the reasoning engine. The `temperature` of 0.7 balances creativity with consistency, lower values make responses more deterministic, higher values more varied. For an agent that needs to make reliable decisions about financial transactions, you might lower this to 0.3. This snippet converts the private key from the JSON array format in our `.env` to the base58 string that Solana Agent Kit expects. The conversion path: JSON string → JavaScript array → Uint8Array → base58 string. The `SolanaAgentKit` instance connects your wallet to the Solana network. It takes three arguments: the private key \(for signing transactions\), the RPC URL \(for network communication\), and configuration options \(including the OpenAI key for any internal AI operations\). This is where the magic happens. `createSolanaTools` transforms Solana Agent Kit's capabilities into LangChain-compatible tools. Each tool has a name, description, and input schema that the LLM uses to understand what it can do and how to call it. Under the hood, you're getting tools like `get\_balance`, `transfer`, `swap`, `deploy\_token`, `mint\_nft`, and dozens more. Memory allows the agent to maintain context across multiple turns. Without it, each message would be treated in isolation, the agent wouldn't remember that you just asked about your balance when you follow up with "swap half of it." Finally, we assemble everything into a ReAct agent. This creates the reasoning loop: the LLM receives input, decides which tool \(if any\) to use, executes it, observes the result, and either takes another action or responds to the user. #### The interactive chat loop The second function creates a terminal interface for chatting with your agent: The `thread\_id` identifies this conversation for memory purposes. If you restart the script with the same thread ID, the agent would \(in theory\) remember previous context. Different thread IDs mean different conversation contexts. Standard Node.js readline setup for terminal input/output that creates a readline interface that captures your keyboard input from the terminal \(`stdin`\) and writes the agent's responses back to your screen \(`stdout`\). It's the simplest way to build an interactive command-line chat without pulling in additional dependencies. { rl.question("You: ", async (input) => { if (input.toLowerCase() === "exit") { rl.close(); return; } const stream = await agent.stream( { messages: [new HumanMessage(input)] }, config );`} /> When you type a message, it's wrapped in a `HumanMessage` and sent to the agent. We use `stream` instead of `invoke` to get real-time output as the agent thinks and acts. The streaming loop handles two types of chunks: `agent`chunks \(the LLM's reasoning and responses\) and`tools` chunks \(results from tool executions\). This lets you see what's happening in real-time—the agent thinking, calling tools, and formulating its response. ### The complete script Here's the full `agent.ts` for reference: { rl.question("You: ", async (input) => { if (input.toLowerCase() === "exit") { rl.close(); return; } const stream = await agent.stream( { messages: [new HumanMessage(input)] }, config ); process.stdout.write("Agent: "); for await (const chunk of stream) { if ("agent" in chunk) { process.stdout.write(chunk.agent.messages[0].content); } else if ("tools" in chunk) { process.stdout.write(chunk.tools.messages[0].content); } } console.log("\\n--------------------------------------------"); askQuestion(); }); }; askQuestion(); } runInteractiveChat().catch(console.error);`} /> ### Running the agent Execute with tsx \(TypeScript execution\): You should see the ready message. Now try some commands: What's happening under the hood: when you ask about your balance, the LLM recognizes this requires the `get\_balance` tool, calls it with the right parameters, receives the result, and incorporates it into a natural language response. For swaps, it identifies the `swap` tool, parses your intent \(0.1 SOL → USDC\), executes the Jupiter swap, and confirms the transaction. ### What you've built You now have a working Solana AI agent with: - Natural language understanding via GPT-5.2 - 60\+ Solana operations available as tools - Conversation memory for multi-turn interactions - Real-time streaming responses This is a development foundation. Production deployment requires additional considerations, wallet security, transaction reliability, rate limiting, which we'll cover in later sections. ## Integrating Jupiter for DeFi operations Jupiter is Solana's dominant DEX aggregator, routing over 90% of aggregator volume. When your agent needs to swap tokens, Jupiter finds the best route across dozens of DEXs, Raydium, Orca, Phoenix, and more—to get optimal pricing. The Solana Agent Kit includes Jupiter integration out of the box. When you ask your agent to "swap 1 SOL for USDC," it's already using Jupiter under the hood. But sometimes you need more control: custom slippage tolerances, specific routing preferences, or direct integration with your own transaction pipeline. ### How Jupiter works Jupiter's API follows a quote-then-swap pattern: 1. **Quote**: You send the input token, output token, and amount. Jupiter queries all available DEXs and returns the best route with expected output amounts. 1. **Swap**: You send the quote back with your wallet address. Jupiter constructs a transaction that executes the optimal route. 1. **Sign and Submit**: You sign the transaction and submit it to the network. This two-step process lets you show users what they'll receive before committing to the trade. ### Direct Jupiter integration Here's a complete swap function with step-by-step explanation: We start with the standard Solana web3.js imports and the Jupiter API client. The mint addresses are the unique identifiers for tokens on Solana. SOL uses a special "wrapped" address for DEX compatibility. The Jupiter client connects to their hosted API. No API key required for basic usage, though rate limits apply. The quote request specifies what you're trading. `slippageBps` is slippage tolerance in basis points, 50 means 0.5%. If the price moves more than this between quote and execution, the transaction fails rather than giving you a worse rate. The quote response includes the expected output amount, the route \(which DEXs will be used\), and price impact. For production agents, you'd want to check these values before proceeding. The swap request takes your quote and wallet address and returns a serialized transaction. `wrapAndUnwrapSol: true` handles a Solana quirk: DEXs work with "wrapped SOL" \(an SPL token\), but users hold native SOL. This flag adds instructions to wrap before and unwrap after the swap automatically. Jupiter returns the transaction as a base64-encoded string. We deserialize it into a proper transaction object and sign it with our keypair. Note that we're using `VersionedTransaction,`Jupiter uses Solana's newer transaction format that supports address lookup tables for more complex routes. Finally, we submit the signed transaction to the network and wait for confirmation. The signature is a unique identifier you can use to look up the transaction on explorers like [Solscan](https://www.alchemy.com/dapps/solscan). ### Jupiter MCP server For AI assistants that support the Model Context Protocol \(like Claude Desktop or Cursor\), Jupiter offers an MCP server. This gives your AI assistant direct access to Jupiter's capabilities through a standardized interface. Configure it in your MCP settings: Once configured, Claude can execute Jupiter swaps directly through natural language: "Swap 0.5 SOL for USDC" becomes an actual on-chain transaction. This is particularly powerful for rapid prototyping: you can build and test DeFi workflows through conversation before committing to code. ## Wallet security architecture An AI agent with signing authority is a high-value target. A compromised agent can drain its wallet instantly. Security architecture must balance autonomy with protection. ### The dual-key architecture The emerging standard for secure agent wallets uses a dual-key architecture with smart contract wallets: **Smart contract wallet:** A single wallet \(using ERC-4337 patterns on EVM or Squads protocol on Solana\) that can have multiple authorized signers. **Owner key:** Held by the user, provides ultimate control. With it, you can add/remove agent keys, withdraw funds, and override agent actions. **Agent key:** Deployed within a Trusted Execution Environment \(TEE\), registered to the smart wallet with limited permissions. With this key, the agent can only perform authorized operations. Crossmint's implementation makes this straightforward. You create a custodial wallet tied to a user identity, and the agent operates within the permissions you define: ### TEE protection Trusted Execution Environments provide hardware-level isolation for agent keys. Platforms like Phala Network and Turnkey offer TEE infrastructure specifically designed for AI agents. Turnkey provides policy-controlled wallet access. Instead of exposing private keys, agents receive scoped API credentials that can only perform authorized operations. You define policies that limit transaction types, amounts, and rates—then the agent operates within those guardrails: Phala Network provides decentralized TEE infrastructure. Agents deployed to Phala run in isolated enclaves where even the host system cannot access private keys. Deployment is container-based: ### Security best practices Several principles should guide agent security architecture: - **Minimize key exposure:** Private keys should never appear in logs, error messages, or accessible memory. Use environment variables and secure key management infrastructure. - **Implement transaction limits:** Agents should have maximum transaction sizes, daily spending limits, and rate limits. A compromised agent with unlimited authority can cause unlimited damage. - **Use separate wallets:** Production agents should use dedicated wallets with only the funds needed for operations. Never connect an agent to a wallet containing significant assets. - **Monitor agent activity:** Log all agent transactions and implement alerting for unusual patterns. Automated monitoring can catch compromises before significant damage occurs. - **Test on devnet first:** Always develop and test agents on devnet before mainnet deployment. The RPC URL is typically the only change needed to switch networks. ## Model context protocol \(MCP\) integration The Model Context Protocol standardizes how AI assistants interact with external tools. For Solana development, MCP servers enable Claude, Cursor, and other AI tools to interact directly with the blockchain. ### Solana MCP server The [Solana MCP server](https://mcp.solana.com/) from SendAI provides blockchain tools to any MCP-compatible AI assistant: Available tools in the MCP server include: - `GET\_ASSET`: Retrieve token/NFT information - `GET\_BALANCE`: Check wallet balances - `TRANSFER`: Send SOL or SPL tokens - `SWAP`: Execute Jupiter swaps - `DEPLOY\_TOKEN`: Create new SPL tokens - `MINT\_NFT`: Mint NFTs via Metaplex ## Building with ElizaOS: Twitter bot example So far, we've built a working agent that can reason, execute Solana transactions, and maintain conversation context, all from the terminal. Now let's take those same capabilities and deploy them where users actually hang out: Twitter, using ElizaOS. ElizaOS shines for social agents, bots that maintain persistent personalities across platforms. Let's build a Twitter bot. ### What we're building This bot will: - Monitor Twitter for mentions asking about tokens, protocols, or market conditions - Fetch on-chain data: token prices, trading volume, liquidity depth, whale movements - Analyze and summarize the data in plain English - Maintain a consistent "analyst" personality across all interactions ElizaOS handles the complex orchestration: watching for mentions, maintaining conversation context, deciding when to query on-chain data, and generating responses that match the defined personality. ### Understanding ElizaOS architecture Before diving into code, let's understand how ElizaOS structures an agent: **Clients** connect the agent to platforms, Twitter, Discord, Telegram, or direct API access. Each client handles platform-specific authentication, message polling, and response formatting. **Plugins** provide capabilities. The Solana plugin gives your agent tools for reading on-chain data, token lookups, and transaction history. Other plugins might add image generation, web search, or custom actions. **Character files** define personality and behavior through structured JSON. This includes bio, communication style, example conversations, and behavioral parameters. **Memory** persists across conversations. ElizaOS tracks who the agent has talked to, what questions they've asked, and relevant context for future interactions. ### Setup Start by cloning the ElizaOS repository: ElizaOS is a monorepo containing the core framework, all official plugins, and client implementations. We'll work within this structure rather than creating a separate project. Install dependencies and build: The `--no-frozen-lockfile` flag allows pnpm to update the lockfile if needed. The build step compiles TypeScript and prepares all packages. ### Environment configuration Create a `.env` file in the project root. ElizaOS reads this for all credentials and configuration: Twitter authentication uses your bot account's credentials. ElizaOS logs in and maintains a session for polling mentions and posting replies. Make sure to use a dedicated bot account—you don't want your personal Twitter running an automated agent. The model provider powers the agent's reasoning. ElizaOS supports multiple providers \(OpenAI, Anthropic, local models\), but OpenAI is the most straightforward to start with. For an analyst bot, you don't need a private key—we're reading data, not signing transactions. Use a mainnet RPC since you want real market data, not devnet test tokens. A dedicated RPC provider like Alchemy gives you higher rate limits and more reliable data than the public endpoint. **Security note**: Even though this bot only reads data, protect your API keys. Rate limits on your RPC provider are tied to these credentials. ### Understanding character files Character files are the heart of an ElizaOS agent. They define not just what the agent can do, but who it is. Let's build one piece by piece. Create `characters/solana-analyst.character.json`: The header defines the basics: - **name**: How the agent identifies itself - **clients**: Which platforms to connect to. Adding `"discord"` here would enable Discord integration with no additional code. - **modelProvider**: Which LLM to use for reasoning - **plugins**: Capabilities to enable. The Solana plugin provides token data lookups, price feeds, and on-chain analytics. `bio` is an array of statements that define the agent's self-description. ElizaOS uses these when the agent needs to introduce itself or answer "who are you?" questions. Multiple entries add variety—the agent might draw from different bio lines in different contexts. `lore` provides background context the agent can reference. This isn't exposed directly to users but influences how the agent understands its own purpose and history. Think of it as the agent's internal backstory. `messageExamples` are few-shot examples that teach the agent how to respond. Each example is a conversation array showing user input and expected agent response. Notice how the examples establish the tone: data-driven, specific numbers, actionable context, no fluff. Add more examples to cover edge cases: what if someone asks about a token that doesn't exist? What if they want comparison analysis? What if they're asking about a scam token? The more scenarios you cover, the more consistent the agent's behavior. `style` defines communication patterns across contexts: - `all`: Applies to every response - `chat`: Specific to direct messages and replies - `post`: For original posts the agent creates These are descriptive keywords that influence the LLM's tone. "avoids hype" is important for a financial analyst—you want measured analysis, not "SOL TO THE MOON 🚀". "provides context for numbers" ensures the agent doesn't just spit out prices but explains what they mean. ### The complete character file Here's the full character definition: ### Launch your agent Start the agent with your character file: You'll see logs as ElizaOS: 1. Loads the character definition 1. Initializes the OpenAI provider 1. Connects to Twitter 1. Loads the Solana plugin 1. Begins polling for mentions ### What happens when someone tweets When a user tweets "@YourBot what's the volume on BONK today?", here's the flow: 1. **Twitter client** detects the mention through polling 1. **Message handler** parses the tweet and creates a conversation context 1. **LLM** receives the message along with the character definition, bio, and examples 1. **Tool selection** recognizes this as a data query and selects the appropriate Solana plugin action 1. **Plugin execution** fetches token data from the RPC and aggregates prices from Jupiter 1. **Response generation** creates a reply that contextualizes the raw data 1. **Twitter client** posts the reply as a thread The agent maintains memory of this interaction. If the same user asks "how does that compare to yesterday?" an hour later, the agent can reference the previous conversation and provide comparative analysis. ### Extending the bot The character file approach makes iteration fast. Want to add Discord support? Add environment variables for Discord, restart, and your agent now operates on both platforms with the same personality. Want to add proactive alerts? You can configure the agent to post when it detects unusual activity: Now the agent will independently monitor on-chain activity and tweet when something noteworthy happens—no user prompt required. ### Production considerations for social bots Twitter has rate limits and automation policies. For production deployment: - **Rate limiting**: Don't respond to every mention instantly. Add delays that mimic human response times. - **Content policies**: Twitter's automation rules require clear disclosure that the account is a bot. Put this in your bio. - **Data accuracy**: Your bot is providing financial information. Add disclaimers, cite data sources, and be clear about limitations. "Not financial advice" isn't just legal cover—it's responsible. - **Error handling**: RPC calls can fail, data can be stale, tokens can be delisted. Handle these gracefully rather than posting errors publicly. - **Monitoring**: Track which queries the bot handles and which responses it generates. You want visibility into what it's saying, especially when markets are volatile. ## Agent tooling: CLI, Skills, and MCP Frameworks handle orchestration. [Alchemy for agents](https://www.alchemy.com/agents) covers the infrastructure layer. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills), connect the [MCP server](https://www.alchemy.com/docs/alchemy-mcp-server), and authenticate the [CLI](https://www.alchemy.com/docs/alchemy-cli): Query from the terminal: ## Conclusion You’ve now built your first Solana AI agent. If there’s one takeaway you should remember from this tutorial, it’s that the infrastructure for building AI agents on Solana has matured dramatically. The chain is fast. The frameworks are ready. The question is what you'll build with them. Ready to get started? [Alchemy](https://alchemy.com/) provides the RPC infrastructure powering the leading AI agents and frameworks on Solana. Whether you need low-latency endpoints, enhanced APIs for token operations, or multi-chain support for cross-platform agents, Alchemy's platform gives you the foundation to build production-grade AI agents that can operate at scale. ## Frequently asked questions ### What tools do you recommend for building Solana AI agents? We suggest using Solana Agent Kit, ElizaOS, GOAT toolkit, and Rig framework depending on your use case. Solana Agent Kit offers rapid prototyping with 60+ pre-built actions, ElizaOS excels at social agents across platforms, GOAT provides multi-chain support, and Rig delivers performance-critical Rust-native development. ### Why is Solana preferred for AI agent development? Solana's 400ms block times and sub-second finality enable real-time feedback loops, allowing agents to reason, act, and observe results quickly. Transaction fees average $0.00025, making high-frequency operations economical, and native program composability allows agents to execute complex multi-step operations in single atomic transactions. ### What programming languages are best for building Solana AI agents? TypeScript with Solana Agent Kit or LangChain is ideal for rapid development and broad ecosystem integration. For performance-critical applications like high-frequency trading or MEV strategies, Rust with the Rig framework offers the lowest-latency path from LLM decision to on-chain execution. ### How should I secure my AI agent's wallet? Use a dual-key architecture with smart contract wallets where the owner key provides ultimate control and the agent key operates within a Trusted Execution Environment (TEE) with limited permissions. Never expose private keys in logs, implement transaction limits, use separate wallets with minimal funds, and always test on devnet first. ### Can I build an AI agent that operates on Twitter or Discord? Yes, ElizaOS enables agents to maintain persistent personalities across Twitter, Discord, Telegram, and other platforms simultaneously. You define the agent's behavior through a character JSON file, and ElizaOS handles platform-specific authentication, message polling, and response formatting. ### How do I integrate Jupiter for token swaps in my agent? The Solana Agent Kit includes Jupiter integration out of the box through pre-built swap actions. For custom implementations, use Jupiter's quote-then-swap API pattern: request a quote with your trading pair, construct the swap transaction with your wallet address, then sign and submit the versioned transaction. ### What is the Model Context Protocol (MCP) and how does it help? MCP standardizes how AI assistants interact with external tools. The Solana MCP server enables Claude, Cursor, and other MCP-compatible AI tools to execute blockchain operations directly through natural language, including balance checks, token transfers, swaps, and NFT minting. ### What are common mistakes when building Solana AI agents? AI-generated code may produce sequential account updates instead of parallel processing or ignore Solana-specific optimizations. Always review generated code for compute unit efficiency, security best practices like using Program Derived Addresses (PDAs), and proper error handling for RPC calls and transaction failures. --- # How to Create an NFT URL: https://www.alchemy.com/blog/how-to-create-an-nft.md This tutorial will walk you through writing and deploying a Non Fungible \(ERC721\) Token smart contract using Ethereum and Inter Planetary File System \(IPFS\). _Estimated time to complete this guide: ~15 minutes_ Even if you've been living under a rock, you'll have noticed that every major news outlet has been profiling the rise of NFTs. With NFTs bringing blockchain into the public eye, now is an excellent opportunity to understand the hype yourself by publishing your own NFT \(ERC-721 Token\) on the Ethereum blockchain! In this tutorial, we will walk through creating and deploying an ERC-721 smart contract on the Ropsten test network using [Metamask](https://metamask.io/), [Solidity](https://docs.soliditylang.org/en/v0.8.0/), [Hardhat](https://hardhat.org/), [Pinata](https://pinata.cloud/) and [Alchemy](https://alchemy.com/?r=affiliate:68212b46-a5c5-4f4c-bc8b-73f50536fcaf) \(don’t fret if you don’t understand what any of this means yet— we will explain it\). In Part II of this tutorial, we’ll go through how we can use our smart contract to [mint an NFT](/blog/how-to-mint-an-nft-using-web3-js), and in Part III we’ll cover how to [view your NFT on Metamask](/blog/how-to-view-your-nft-in-your-mobile-wallet). And of course, if you have questions at any point, don't hesitate to reach out in the [Alchemy Discord](https://discord.gg/gWuC7zB)! ## Step 1: connect to the Ethereum network There a bunch of ways to make requests to the Ethereum blockchain, but to make things easiest, we’ll use a free account on [Alchemy](https://alchemy.com/?r=affiliate:68212b46-a5c5-4f4c-bc8b-73f50536fcaf), a blockchain developer platform and API that allows us to communicate with the Ethereum chain without having to run our own nodes. In this tutorial, we'll also take advantage of Alchemy's developer tools for monitoring and analytics to understand what’s going on under the hood in our smart contract deployment. If you don’t already have an Alchemy account, you can sign up for free [here](https://alchemy.com/?r=affiliate:68212b46-a5c5-4f4c-bc8b-73f50536fcaf). ## Step 2: create your app \(and API key\) Once you’ve created an Alchemy account, you can generate an API key by creating an app. This will allow us to make requests to the Ropsten test network. Check out [this guide](https://www.alchemy.com/docs/choosing-a-web3-network) if you're curious to learn more about test networks. 1. Navigate to the “Create App” page in your Alchemy Dashboard by hovering over “Apps” in the nav bar and clicking “Create App” 2. Name your app \(we chose "My First NFT!"\), offer a short description, select “Staging” for the Environment \(used for your app bookkeeping\), and choose “Ropsten” for your network. 3. Click “Create app” and that’s it! Your app should appear in the table below. ## Step 3: create an Ethereum account \(address\) We need an Ethereum account to send and receive transactions. For this tutorial, we’ll use Metamask, a virtual wallet in the browser used to manage your Ethereum account address. If you want to understand more about how transactions on Ethereum work, check out [this page](https://ethereum.org/en/developers/docs/transactions/) from the Ethereum foundation. You can download and create a Metamask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Ropsten Test Network” in the upper right \(so that we’re not dealing with real money\). ## Step 4: add ether from a faucet In order to deploy our smart contract to the test network, we’ll need some fake Eth. To get Eth you can go to the [Sepolia faucet](/faucets/ethereum-sepolia) and enter your Ropsten account address, then click “Send Ropsten Eth.” You should see Eth in your Metamask account soon after! ## Step 5: check your balance To double check our balance is there, let’s make an `eth_getBalance` request using [Alchemy’s composer tool](https://www.alchemy.com/composer/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). This will return the amount of Eth in our wallet. After you input your Metamask account address and click “Send Request”, you should see a response like this: \{"jsonrpc": "2.0", "id": 0, "result": "0xde0b6b3a7640000"\} **NOTE:** This result is in wei not eth. Wei is used as the smallest denomination of ether. The conversion from wei to eth is: 1 eth = 10¹⁸ wei. So if we convert 0xde0b6b3a7640000 to decimal we get 110¹⁸ which equals 1 eth. Phew! Our fake money is all there! 🤑 ## Step 6: initialize our project First, we’ll need to create a folder for our project. Navigate to your [command line](https://www.computerhope.com/jargon/c/commandi.htm) and type: Now that we’re inside our project folder, we’ll use npm init to initialize the project. If you don’t already have npm installed, follow [these instructions](https://nodejs.org/en/download/) \(we’ll also need [Node.js](https://nodejs.org/en/download/), so download that too!\). It doesn’t really matter how you answer the installation questions, here is how we did it for reference: Approve the package.json, and we’re good to go! Step 7: Download [Hardhat](https://hardhat.org/getting-started/#overview) Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software. It helps developers when building smart contracts and [apps](https://www.alchemy.com/dapps/top/defi-dapps) locally before deploying to the live chain. Navigate to the terminal and make sure you're inside the my-nft project folder, then run: Check out this page for more details on [installation instructions](https://hardhat.org/getting-started/#overview). ## Step 8: create Hardhat project Inside our project folder run: You should then see a welcome message and option to select what you want to do. Select “create an empty hardhat.config.js”: This will generate a **hardhat.config.js** file for us which is where we’ll specify all of the set up for our project \(on step 13\). ## Step 9: add project folders To keep our project organized, we’ll create two new folders. Navigate to the root directory of your project in your command line and type: **contracts/** is where we’ll keep our NFT smart contract code scripts/ is where we’ll keep scripts to deploy and interact with our smart contract ## Step 10: write our contract Now that our environment is set up, onto more exciting stuff: writing our smart contract code! Open up the my-nft project in your favorite editor \(we like [VSCode](https://code.visualstudio.com)\). Smart contracts are written in a language called [Solidity](https://www.alchemy.com/overviews/solidity) which is what we will use to write our MyNFT.sol smart contract.‌ 1. Navigate to the “contracts” folder and create a new file called MyNFT.sol 2. Below is our NFT smart contract code, which is based off of the [OpenZeppelin](https://docs.openzeppelin.com/contracts/3.x/erc721) library's ERC721 implementation. Copy and paste the contents below into your MyNFT.sol file. NOTE: If you want to attach a price to the NFT through the smart contract check out [this tutorial](https://www.alchemy.com/docs/reference/nft-api-endpoints). 1. Because we are inheriting classes from the OpenZepplin contracts library, in your command line run the following to install the library into our folder: **textnpm install @openzeppelin/contracts@3.1.0-solc-0.7** So, what does this code do exactly? Let's break it down, line by line. In lines 5-7, our code inherits three [OpenZepplin](https://openzeppelin.com) smart contract classes: - @[openzeppelin](https://www.alchemy.com/dapps/openzeppelin)/contracts/token/ERC721/ERC721.solcontains the implementation of the ERC721 standard, which our NFT smart contract will inherit. \(To be a valid NFT, your smart contract must implement all the methods of the ERC721 standard.\) To learn more about the inherited ERC721 functions, check out the interface definition [here](https://eips.ethereum.org/EIPS/eip-721). - @openzeppelin/contracts/utils/Counters.solprovides counters that can only be incremented or decremented by one. Our smart contract uses a counter to keep track of the total number of NFTs minted and set the unique ID to our new NFT. Each NFT minted using a smart contract must be assigned a unique ID—here our unique ID is just determined by the total number of NFTs in existance. For example, the first NFT we mint with our smart contract has an ID of "1," our second NFT has an ID of "2," etc. - @openzeppelin/contracts/access/Ownable.sol sets up [access control](https://docs.openzeppelin.com/contracts/3.x/access-control) on our smart contract, so only the owner of the smart contract \(you\) can mint NFTs. Note, including access control is entirely a preference. If you'd like anyone to be able to mint an NFT using your smart contract, remove the word Ownable on line 10 and onlyOwner on line 17. In Lines 10-28, we have our custom NFT smart contract, which is surprisingly short —it only contains a counter, a constructor, and single function! This is thanks to our inherited OpenZepplin contracts, which implement most of the methods we need to create an NFT, such as ownerOf \(returns the owner of the NFT\) and transferFrom\(transfers ownership of the NFT\). On line 14, you'll notice we pass 2 strings, "MyNFT" and "NFT" into the ERC721 constructor. The first variable is the smart contract's name, and the second is its symbol. You can name each of these variables whatever you wish! Finally, starting on line 16, we have our function mintNFT\(\) that allows us to mint an NFT! You'll notice this function takes in two variables: - address recipient specifies the address that will receive your freshly minted NFT - string memory tokenURI is a string that should resolve to a JSON document that describes the NFT's metadata. An NFT's metadata is really what brings it to life, allowing it to have additional properties, such as a name, description, image, and other attributes. In part 2 of this tutorial, we will describe how to configure this metadata. **mintNFT** calls some methods from the inherited ERC721 library, and ultimately returns a number that represents the ID of the freshly minted NFT. ## Step 11: connect MetaMask & Alchemy to your project Now that we've created a Metamask wallet, Alchemy account, and written our smart contract, it’s time to connect the three. Every transaction sent from your virtual wallet requires a signature using your unique private key. To provide our program with this permission, we can safely store our private key \(and Alchemy API key\) in an environment file. To learn more about sending transactions, check out [this tutorial](https://docs.alchemy.com/docs/how-to-send-transactions-on-ethereum) on sending transactions using web3. First, install the dotenv package in your project directory: Then, create a** .env** file in the root directory of our project, and add your Metamask private key and HTTP Alchemy API URL to it. NOTE: Your .env file must be named .env ! Do not change the name to xx.env - Follow [these instructions](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key) to export your private key from Metamask - See below to get HTTP Alchemy API URL and copy it to your clipboard Your **.env** should look like this: ## Step 12: install Ethers.js Ethers.js is a library that makes it easier to interact with and make requests to Ethereum by wrapping [standard JSON-RPC methods](https://www.alchemy.com/docs) with more user friendly methods. Hardhat makes it super easy to integrate [Plugins](https://hardhat.org/plugins/) for additional tooling and extended functionality. We’ll be taking advantage of the [Ethers plugin](https://hardhat.org/plugins/nomiclabs-hardhat-ethers.html) for contract deployment \([Ethers.js](https://github.com/ethers-io/ethers.js/) has some super clean contract deployment methods\). In your project directory type: We’ll also require ethers in our **hardhat.config.js** in the next step. ## Step 13: update hardhat.config.js We’ve added several dependencies and plugins so far, now we need to update** hardhat.config.js** so that our project knows about all of them. Update your **hardhat.config.js** to look like this: ## Step 14: compile our contract To make sure everything is working so far, let’s compile our contract. The compile task is one of the built-in hardhat tasks. From the command line run: You might get a warning about SPDX license identifier not provided in source file , but no need to worry about that — hopefully everything else looks good! If not, you can always message in the [Alchemy discord](https://discord.gg/u72VCg3). ## Step 15: write our deploy script Now that our contract is written and our configuration file is good to go, it’s time to write our contract deploy script. Navigate to the **scripts/** folder and create a new file called **deploy.js**, adding the following contents to it: Hardhat does an amazing job of explaining what each of these lines of code does in their [Contracts tutorial](https://hardhat.org/tutorial/testing-contracts.html#writing-tests), we’ve adopted their explanations here. A **ContractFactory** in [ethers.js](https://www.alchemy.com/dapps/ethers-js) is an abstraction used to deploy new smart contracts, so MyNFT here is a factory for instances of our NFT contract. When using the **hardhat-ethers** plugin **ContractFactory** and **Contract** instances are connected to the first signer by default. Calling **deploy\(\)** on a** ContractFactory **will start the deployment, and return a** Promise **that resolves to a** Contract.** This is the object that has a method for each of our smart contract functions. ## Step 16: deploy our contract We’re finally ready to deploy our smart contract! Navigate back to the root of your project directory, and in the command line run: You should then see something like: If we go to the [Ropsten etherscan](https://sepolia.etherscan.io) and search for our contract address we should be able to see that it has been deployed successfully. The transaction will look something like this: The **From** address should match your Metamask account address and the To address will say “Contract Creation.” If we click into the transaction, we’ll see our contract address in the **To** field: To understand what’s going on under the hood, let’s navigate to the Explorer tab in our [Alchemy dashboard ](https://dashboard.alchemy.com/signup?referral=affiliate:68212b46-a5c5-4f4c-bc8b-73f50536fcaf). If you have multiple Alchemy apps make sure to filter by app and select “MyNFT”. Here you’ll see a handful of JSON-RPC calls that Hardhat/Ethers made under the hood for us when we called the **.deploy\(\)** function. Two important ones to call out here are **`eth_sendRawTransaction`**, which is the request to actually write our smart contract onto the Ropsten chain, and **`eth_getTransactionByHash`** which is a request to read information about our transaction given the hash \(a typical pattern when sending transactions\). To learn more about sending transactions, check out this tutorial on [sending transactions using Web3](https://docs.alchemy.com/docs/how-to-send-transactions-on-ethereum). That’s all for Part I of this tutorial. In Part II, we’ll actually interact with our smart contract by [minting an NFT](/blog/how-to-mint-an-nft-using-web3-js), and in Part III we'll explain how to [view your NFT in Metamask](/blog/how-to-view-your-nft-in-your-mobile-wallet)! 🤑 --- # How to Debug Pending Ethereum Transactions URL: https://www.alchemy.com/blog/how-to-debug-pending-ethereum-transactions.md When you send a transaction to the Ethereum blockchain, where does it go? What is a pending transaction and what happens before it gets mined? What is a mempool? Why do some of my transactions succeed and others fail? We’ll take a deep dive into the flow of a transaction on the Ethereum network, from the moment you hit “send” to the point when the transaction becomes fully mined. We’ll discuss what might go wrong and how Alchemy’s suite of developer tools might help you debug and gain visibility into this process. Though this guide is Ethereum-specific, the core principles will apply to basically all blockchains! ## What is an Ethereum transaction? An Ethereum transaction, in its simplest form, is a request from a user to encode new information onto the permanent state of the blockchain. The contents of this request typically take one of a few forms:  1. A simple transfer of value from the user’s public account to another party \(e.g. sending ETH to a merchant\) 1. Encoding a new smart contract onto the public blockchain that can be accessed by other third parties \(e.g. starting a new lottery smart contract\) 1. Sending information to an existing smart contract to engage with the contract \(e.g. entering your name and funds into a lottery smart contract\) ## What is a mempool? Before we can understand the transaction flow in Ethereum, first we need to understand what the mempool is! A mempool is a waiting room in an Ethereum node for unconfirmed transactions, configured specifically to act as a staging area. Depending on the client you’re using, it might also be called a TX-POOL or TX-QUEUE.  Transactions sent to a node will first land in the mempool, and will remain there until they’re fully confirmed by the network. The mempool handles a few key steps of the process, including:  1. Running a series of validation tests to ensure that the transaction will be successful once submitted to a miner. Some of the validations the node might perform include: Are there available funds to cover the cost of gas? Is the transaction signature valid? Is the nonce next in order for this given sender address? 1. Ordering the list of transactions to be processed based on their gas prices. Higher gas prices mean the transaction will likely be prioritized by the miner. 1. Sharing the pending transactions with the mempools of peered nodes which then continue to forward to other mempools, allowing the entire network to view the list of pending transactions. When a block is mined, the transactions across the entire network with the highest gas prices will be confirmed. ## What does the Ethereum transaction flow look like? Now that we’ve covered the mempool, what steps are involved in sending a transaction from a user to permanently storing this transaction on the blockchain?  1. A user generates a new transaction, signs the transaction with their private key, and sends it to a node on the blockchain by calling the method **eth_sendTransaction** or **eth_sendRawTransaction** as exposed, typically via a service like [Alchemy’s Supernode API.](https://alchemy.com/supernode?a=a437fb8d33) 1. The transaction is sent to the mempool of a node. 1. The mempool runs a series of validation tests. If the transaction passes these validations it’ll enter a pending state. 1. The node will broadcast the transaction to the other nodes in the blockchain, where it will end up in their corresponding mempools.   1. Once a new block is mined by a node on the blockchain, the ~200 pending transactions with the highest gas prices will be included into the next block on the blockchain. These transactions will be removed from the mempool, and the new block and mempool state propagated through the network 1. After 5 - 7 more blocks are confirmed, the chances of the blockchain re-organizing to follow another fork of blocks \(with a different set of confirmed transactions\) become vanishingly small. At this point, it’s safe to assume that the transaction is permanently on the blockchain. ## What could go wrong with a pending Ethereum transaction? ### 1. The mempool might be full Let’s start simple. There’s limits to the size of the mempool \(unless you’re using a tool like Alchemy!\), both across the entire node and per address in the node. Typically for [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), it’s 4096 pending transactions, and Geth will drop older pending transactions in favor of newer ones.  ### 2. Your parameters might be invalid When you make a transaction, you’ll need to include a variety of relevant parameters, such as:  - What’s the sending address and destination address? - What’s the value to be transferred? - How much gas am I willing to use for the transaction?  - What should the current nonce for my transaction be? If you’ve made a mistake entering these, the node will typically return an error code explaining the issue. If you can’t understand the error message or find the answer via Google, feel free to shoot us a message [on Discord](https://discord.gg/BxRDCHf6) and we’ll try to help you out! ### 3. Your gas price might be too low To determine which transactions to prioritize, Ethereum transactions must be submitted with a gas price. Just like a regular auction, a higher gas price means your transaction is more likely to be included into the next block - and too low of a gas price means you might never make it onto the blockchain.  Because the gas price fluctuates rapidly and unpredictably over the course of a day based on demand, it’s very important that you set this field properly. You’ve got a few options here:  - If you’re sending a single transaction manually, you can visit the **ETH Gas Station website** to view the most recent gas prices and set your price accordingly. - If you’re sending requests to a node provider like Alchemy,  the Ethereum JSON-RPC spec exposes an endpoint called [**eth_estimateGas**](https://www.alchemy.com/docs/node/ethereum/ethereum-api-endpoints/eth-estimate-gas) that gives you an estimate of how much gas you’ll need to get your transaction mined! You can use this to automate setting gas prices programmatically. - If you’d like to receive push notifications when gas prices rise above or fall below a certain price, we provide a tool called [**Gas Price Notifications in Alchemy Notify** ](https://www.alchemy.com/docs/reference/notify-api-quickstart)that can alert you specifically in those situations! Because it’s a webhook, it’s quite simple to integrate into your code to automatically send transactions when gas prices are low.  ### 4. Your nonce might be incorrect Ah, the burning question in everyone’s head - what the heck is a nonce and why do I need it?? Totally valid question and we’re glad you asked.  Quite simply, the nonce is the number of transactions sent from a given address. If you’ve successfully confirmed five transactions \(nonces 0-4\), the nonce of your next pending transaction will be 5.  Nonces follow a few rules:  - **Nonces must occur in order.** A transaction with nonce 4 will occur strictly before a transaction with nonce 5. - **Nonces can’t be duplicated or skipped** - there’s exactly one nonce per successful transaction. If you don’t have a transaction with nonce 5, you can’t submit one with nonce 6. SImilarly, you can’t submit two transactions with nonce 5 - only one will go through. Why do we need them? Nonces are necessary from a cryptographic perspective to ensure that transactions from a given address happen in the order that you sent them, and that your transactions are protected from the [double-spend issue](https://en.wikipedia.org/wiki/Double-spending).  In practice, the nonce is simply a parameter that you must set when you create a transaction. This allows you to have fine-grained manual control over the order of your transactions. For a real-life example, say you want to buy an NFT from a marketplace and then send a small “finder’s fee” to Bob for helping you discover it. In this case, you’d only want to pay Bob if you successfully bought the NFT. Without nonces, you’d have no way to submit both transactions AND ensure they occurred in a particular order. Using nonces, you can simply label one transaction with nonce N, and one with nonce N \+ 1! However, this fine-grained control means you need to submit your transactions with the correct nonce every time! If your transaction is stuck, you’ll need to check your nonce to make sure it’s properly set according to the rules described above. ### 5. Your block might get forked You’ll love this one: even if your transaction successfully is mined, you’re _still_ not in the clear 😡 . Because the blockchain is decentralized, different sets of nodes in the network might have different views of the network. In particular, occasionally two miners will mine a new block at roughly the same time, and peering nodes will hop onto the two new chains at the same rate. In that case, the two new chains will grow in parallel - but eventually one of them will gain just a little more consensus!  When the entire network swaps to one of the chains and abandons the second one, the transactions already “mined” on the old chain become forked and therefore invalid. The forked blocks are also referred to as an “uncle blocks”. That means that even after you’ve mined your transaction, it could still be invalidated by a block fork! You can see a [history of forked blocks on Etherscan here](https://etherscan.io/blocks_forked). Luckily on [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) they’re not very common and typically are under 5 blocks deep, but that’s why your transaction is never “fully” confirmed by a DeFi trading protocol until after 5 - 7 block confirmations minimum. ## What tools can I use to manage my mempool and Ethereum pending transactions? ### The Alchemy mempool watcher Say you sent a transaction forty minutes ago to the mempool of a node, but you haven’t seen it confirmed on the blockchain. You’d like some information about its current status, the gas price you sent it with, and the nonce to double-check it. What do you do?  Accessing the state of your mempool transactions was \(and still is\) a mess. Because the only interface into the status of your mempool is via the Ethereum JSON-RPC API, developers were spending hours querying the various nodes they sent transactions to, merging and sifting through pages of logs, and trying to rebuild the entire state of their mempool by hand - all for a single query. This is what the average call to a busy mempool looks like:  What’s worse, when developers start sending their requests to multiple nodes for scale, there are serious consistency issues - since transactions originate from  a single node, requests for a particular transaction need to be sticky routed to the same node every time you interface with it. In response to these challenges, we built the [Mempool Watcher ](https://dashboard.alchemy.com/mempool)- a tool that simplifies a lot of this complexity. First, we handle all the node routing so that even though you might be leveraging dozens of nodes of scale, your mempool always appears as a single entity - with mempool requests properly routed to the correct node within our infrastructure. Second, we give you some very nice tools to provide a real-time view of the status of your transactions. Transactions are marked as mined, pending, or dropped. Each transaction record includes the duration that the transaction spent pending, the amount of gas required, and access to additional details.  ### The Alchemy explorer What if you’ve sent out twenty different transactions to a node simultaneously via a script, but you see that some of them are failing to even reach the node? How might you track the failing responses and find patterns to determine the cause?  Similar to above, typically as a developer you’d need to trawl through pages of logs to determine a pattern. In response, we’ve built a request / response explorer tool that lets you track the status of JSON-RPC requests sent through our API! Our [**Alchemy Explorer**](https://dashboard.alchemy.com/explorer) allows you to search through historical requests and responses sent through our infrastructure anywhere from 1 second to 7 days ago! No more log-hunting - you’ve got modern technology at your fingertips.  On these requests, you can filter the queries by all sorts of parameters, such as the type of method, HTTP responses, or node-specific errors! You can see requests based on their timestamps, the duration of the request, and many more options. ## Why should I use Alchemy to manage my transactions? Alchemy is a node provider, which means we manage all the infrastructure associated with sending and receiving requests to the Ethereum blockchain \(among a few others!\). Here’s some information on [why you need a node provider. ](https://www.alchemy.com//overviews/blockchain-node-providers) Once you’re sending your requests through our system, you get all the benefits we’ve discussed above for pending transactions: a scalable mempool, dashboard tooling, gas price webhooks.  On top of that, we’ll give you:  - Access to Supernode, our proprietary node infrastructure that solves scalability and consistency issues that plague the blockchain. - Access to our Dashboard, which helps you build and monitor your applications by providing tools to explore your requests like those discussed above. - Access to Alchemy Notify, a tool providing push notifications \(webhooks\) for events such as transactions happening on the blockchain. - Access to our Enhanced APIs, which allow you to make requests from the blockchain that are otherwise computationally expensive or impossible.  - And plenty more, including access to these features across a variety of chains such as [Flow](https://www.alchemy.com/flow), [Crypto.org](https://www.alchemy.com/crypto-org), and L2s such as [Polygon](https://www.alchemy.com/layer2/polygon), [Optimism](https://www.alchemy.com/layer2/optimism), and [Arbitrum](https://www.alchemy.com/layer2/arbitrum)! ## Getting started with Alchemy Unlocking Alchemy’s Supernode and developer tools is insanely simple  - in fact, it should only be a single line of code! If you've been using [web3.js](https://www.alchemy.com/dapps/web3-js) or [ethers.js](https://www.alchemy.com/dapps/ethers-js), it's as simple as[ creating an Alchemy account for free](https://alchemy.com/?a=a437fb8d33), generating an API key, and replacing the instantiation with something like this: If you'd like a full tutorial, check out our[ Getting Started With Alchemy documentation here!](https://www.alchemy.com/docs/alchemy-quickstart-guide) And finally, we're always available to help 24/7 on our [Alchemy Discord](https://discord.gg/AwtatAHG). Stop by and say hi - we'd love to help you on your journey in blockchain development! --- # Hunting the Hunters: How to Find Airdrop Hunters URL: https://www.alchemy.com/blog/how-to-find-airdrop-hunters.md Historically, protocols and blockchain networks alike attract users and liquidity with the promise of tokens after product-market fit. These tokens represent two primary incentives: 1. The ability to govern the direction of the product 1. Monetary allocation One of the most common criticisms of web2 is that its users have no ownership over the networks and applications that they contribute to and are a part of. Web3 offers an alternative, community-based ownership model with tokens serving as a key part of this new paradigm. Given the importance of a community-oriented mindset when thinking about token distribution, web3 projects seek to ensure they airdrop \(i.e. distribute\) tokens to active community participants who have a vested stake in the product’s success.  While there is an active and valid debate about who constitutes as an "active community member," there is one party that is objectively a bad actor—users and bots engaging in sybil attacks. ## What is a sybil attack? Sybil attacks use a single network node to operate many fake identities, often simultaneously, within a Peer-to-Peer \(P2P\) network.  A sybil attack leads to a small number of network actors gaining an undue share of influence, which in the context of an airdrop, means a larger share of governance tokens.  In terms of airdrop hunting, this means inauthentically interacting with protocols and contracts. ## Hop exchange’s airdrop hunter strategy While many past airdrops have yet to truly crack down on bad actors, Hop Exchange introduced a new mechanic that leverages its community members to reduce the impact of sybil attacks: _"We are accepting reports of Sybil addresses that have not yet been uncovered. When _[_Hop DAO_](https://hop.mirror.xyz/AI5fOUR0X_l0mktShDOx3mwr-hsB24gp8GvTWtS-MBc)_ is live, we will make a proposal to reward those who reported Sybil addresses with 25% of the tokens saved — subject to a 1-year lockup. Reports will be reviewed, and rewards will be tallied on a first-come, first-serve basis."_ As one of the first community-based initiatives that rewards hunters of airdrop hunters, Hop unleashed the full power of the web3 developer community, including myself. Let’s dive into [my contribution to the Hop DAO decentralization](https://github.com/hop-protocol/hop-airdrop/issues/377) efforts. ### Discovering airdrop hunters This is graphical representation of the addresses I identified as part of a Sybil attack.  **Here’s how to read the sybil attack visualization:** Each address is a node in the graph, and all shown addresses are connected by on-chain transfers between each address denoted by each edge. The sybil attacker exhibits two distinct patterns with the blue-colored edges denoting **pattern one** and the green-colored edges denoting **pattern two**. Orange-colored nodes denote addresses that serve as on-chain connections between all sybil accounts where transfers occurred, and are included in the submission set due to deviations from the two main patterns outlined in this report. #### Pattern \#1 All addresses connected by blue edges used Hop Exchange to ping-pong back-and-forth between Gnosis Chain \(formerly xDai\) and Polygon.  Each address prominently featured Hop transactions denominated in ~1000 $USDC \(1 transaction in USDT\) with a variable range of ± 250 dollars across the transactions, criss-crossing from one chain to another and back sequentially.  Furthermore, each batch of transactions within each address took place over a very small timespan \(on the order 1-3 hrs\). 7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xc2f05f...e38d7f

", tooltip: "", icon: "" }, "5": { title: "

0x0d641e...ef4d42

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

695.2042

", tooltip: "", icon: "" }, "8": { title: "

$695.472

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Polygon

", tooltip: "", icon: "" }, "3": { title: "

Gnosis

", tooltip: "", icon: "" }, "4": { title: "

0x9d6c1c...bc8403

", tooltip: "", icon: "" }, "5": { title: "

0xcc434d...eea07c

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

697.0148

", tooltip: "", icon: "" }, "8": { title: "

$697.284

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x5bcd1a...53ec67

", tooltip: "", icon: "" }, "5": { title: "

0x7664cf...052e68

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

698.8394

", tooltip: "", icon: "" }, "8": { title: "

$699.109

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Polygon

", tooltip: "", icon: "" }, "3": { title: "

Gnosis

", tooltip: "", icon: "" }, "4": { title: "

0xe2e215...724de6

", tooltip: "", icon: "" }, "5": { title: "

0xdf5036...189bc4

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

700.6709

", tooltip: "", icon: "" }, "8": { title: "

$700.941

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x59b08c...9c0e37

", tooltip: "", icon: "" }, "5": { title: "

0x97aed4...01b3d7

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

702.5039

", tooltip: "", icon: "" }, "8": { title: "

$702.775

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Polygon

", tooltip: "", icon: "" }, "3": { title: "

Gnosis

", tooltip: "", icon: "" }, "4": { title: "

0xee2783...7c9c22

", tooltip: "", icon: "" }, "5": { title: "

0xca1dcc...196bd3

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

704.3302

", tooltip: "", icon: "" }, "8": { title: "

$704.602

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

7 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x1dd1ec...a9d0a4

", tooltip: "", icon: "" }, "5": { title: "

0x526463...9b34b2

", tooltip: "", icon: "" }, "6": { title: "

USDC

", tooltip: "", icon: "" }, "7": { title: "

707.0044

", tooltip: "", icon: "" }, "8": { title: "

$707.277

", tooltip: "", icon: "" }, id: 6, }, ], }} /> **Here is an example of this behavior:** [https://explorer.hop.exchange/?account=0x4bc25a712b87c1e4a42df9ffac3662fe467b7e9a](https://explorer.hop.exchange/?account=0x4bc25a712b87c1e4a42df9ffac3662fe467b7e9a) #### How was pattern \#1 discovered? Pattern \#1 was found by tracing on-chain Ethereum transfers using the Alchemy Transfers API. Upon investigation, a connected set of addresses, namely Pattern \#2, was connected to Pattern \#1 by tracing transfers between the hub address \(0xb23691043293de4deeae3b565bd33bc059f264eb\) and its associated spokes on the Avalanche mainnet.  #### Pattern \#2 For addresses connected by green edges, the attacking addresses used Hop Exchange multiple times over a period of several hours, conducting repeated exchanges primarily from Gnosis Chain \(formerly xDai\) to Polygon.  All transactions typically utilized $200-$300 dollars in $DAI, $USDC, or $USDT.  In aggregate, Pattern 2 occurred over the span of a week from Jan 15th, 2022 - Jan, 24th 2022. 4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xff8fdd...3425e0

", tooltip: "", icon: "" }, "5": { title: "

0xd0620e...65a5d7

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

151.7367

", tooltip: "", icon: "" }, "8": { title: "

$152.328

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x2b7b50...244c1f

", tooltip: "", icon: "" }, "5": { title: "

0x74af1a...349d7d

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

187.0714

", tooltip: "", icon: "" }, "8": { title: "

$187.8

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x72de10...8aed0a

", tooltip: "", icon: "" }, "5": { title: "

0x38b797...743d8f

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

223.8656

", tooltip: "", icon: "" }, "8": { title: "

$224.738

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xffd955...6f9db2

", tooltip: "", icon: "" }, "5": { title: "

0xcb643f...26366a

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

275.6120

", tooltip: "", icon: "" }, "8": { title: "

$276.686

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x2cef20...07e90d

", tooltip: "", icon: "" }, "5": { title: "

0x6459e5...3eb30b

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

215.9183

", tooltip: "", icon: "" }, "8": { title: "

$216.76

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xfc36c5...6191cc

", tooltip: "", icon: "" }, "5": { title: "

0xdd9488...7a4c49

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

170.2939

", tooltip: "", icon: "" }, "8": { title: "

$170.807

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xf4314e...f06488

", tooltip: "", icon: "" }, "5": { title: "

0x1ed8f3...b8d68e

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

254.4636

", tooltip: "", icon: "" }, "8": { title: "

$255.229

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xd41505...d09c9c

", tooltip: "", icon: "" }, "5": { title: "

0xefc5e9...b37607

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

218.8310

", tooltip: "", icon: "" }, "8": { title: "

$219.49

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0x674400...b0a772

", tooltip: "", icon: "" }, "5": { title: "

0x25c9b8...83d62a

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

225.7740

", tooltip: "", icon: "" }, "8": { title: "

$226.454

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

4 months ago

", tooltip: "", icon: "" }, "2": { title: "

Gnosis

", tooltip: "", icon: "" }, "3": { title: "

Polygon

", tooltip: "", icon: "" }, "4": { title: "

0xf1f178...8306f5

", tooltip: "", icon: "" }, "5": { title: "

0x866775...30dd94

", tooltip: "", icon: "" }, "6": { title: "

DAI

", tooltip: "", icon: "" }, "7": { title: "

201.0280

", tooltip: "", icon: "" }, "8": { title: "

$201.633

", tooltip: "", icon: "" }, id: 9, }, ], }} /> **Here is an example of this behavior:** [https://explorer.hop.exchange/?account=0x1cccff3de9b0a7c466acb31f33910691f1cb6e14](https://explorer.hop.exchange/?account=0x1cccff3de9b0a7c466acb31f33910691f1cb6e14) ### Connecting pattern \#1 and pattern \#2 Pattern \#1 and \#2 were found to be connected because the sybil attacker overlapped transactions on the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) and the Avalanche mainnet. Specifically, transfers between these addresses occurred on both networks denoting the connection in the two patterns. - 0x1100cc….d34e76a8e ←→ 0xb2369….59f264eb  - 0xb23691….f264eb ←→ 0x80d….19b9  With over [30,000 addresses](https://github.com/hop-protocol/hop-airdrop/blob/master/src/data/finalDistribution.csv) to comb through, it was challenging to find a connected subset, but the [Transfers API](https://www.alchemy.com/enhanced-apis/?a=566c1048c9) was able to effectively trace transactions on Ethereum. ## How to find airdrop hunters By searching the transfer history of all eligible addresses on Ethereum and Avalanche mainnet, we are able to trace shared on-chain activity to discover connected addresses. To reduce the amount of brute-force computation required to find eligible addresses, we reduced the cluster search size by rejecting clusters with a low number of shared addresses. After filtering out unlikely addresses, we queried Hop Exchange subgraphs across each of Hop’s different supported blockchains to generate a basic profile of each address cluster.  If a cluster profile had repeated address behavior, it was earmarked for manual verification.  ### How can I hunt airdrop hunters? With a [free Alchemy account](https://alchemy.com/?a=566c1048c9), Etherscan API keys, access to subgraphs, and some basic Python scripting, you can become a hunter of airdrop hunters.  Feel free to reach out to me on Twitter \([@crypt0zeke](https://twitter.com/crypt0zeke)\) if you have good strategies for finding airdrop hunters, are interested in crypto research, or want to chat about web3 projects.  Until then, keep an eye out for new community initiatives and I'll catch all of you on the next hunt! --- # How to get historical transactions on Polygon? URL: https://www.alchemy.com/blog/how-to-get-historical-transactions-on-polygon.md Ethereum Layer 2 scaling solutions, like Polygon, have allowed developers to take advantage of low transaction costs and far faster confirmation times. However, this introduces a new challenge for devs: how to process and store large swaths of blockchain data. Traditionally, developers had to spin up, manage, and index across their own nodes to build databases. This left developers constrained by an expensive and slow solution that ultimately limits their apps’ feature sets regardless of whether they are deployed on Layer 1 or Layer 2 solutions. While building historical queries into [apps](https://www.alchemy.com/dapps/top/defi-dapps) has traditionally been complicated and time-consuming, the Alchemy Transfers API on Polygon allows for developers to get Polygon transaction details, dating back to the very beginning, in a single request.  In this tutorial, we’ll look at an example of how, with just a few lines of code, your Polygon dApp can integrate historical transactions. Code sneak peek 👀 Before diving into the Alchemy Transfers API on Polygon, let’s clarify the 3 types of transfers we see on-chain \(note - the Polygon Transfers API only supports token transfers\) ## Types of transfers: ### 1. External MATIC transfers These are top-level Polygon transactions that occur with a from address being an external \(user-created\) address. External addresses have private keys and are accessed by users. _ External transfers are not currently supported by the Alchemy Transfers API on Polygon_ ### 2. Token transfers Event logs for [ERC20](https://www.alchemy.com/overviews/erc20-solidity) \(fungible tokens\), ERC721 \(NFTs\), and ERC1155 \(hybrid fungible and non-fungible tokens\) transfers. ### 3. Internal eth transfers These are transfers that occur where the _fromAddress_ is an internal \(smart contract\) address. \(ex: a smart contract calling another smart contract or smart contract calling another external address\). _ Internal transfers are not currently supported by the Alchemy Transfers API on Polygon_ For more information on API parameters and JSON responses, read the [Alchemy Transfers API](https://www.alchemy.com/docs/reference/transfers-api-quickstart). ## Understanding Alchemy transfers API on Polygon In this example, we are trying to query and find the transfer of [this transaction](https://polygonscan.com/tx/0x1e85ace98f4fc4ad7b1b64465df81d0a275d494421e553e23a238b156f42b17f). We can see from Polyscan that ~12,000 USDT was transferred from [0x5350e1068f0e138ff306990b16fa4910d970c692](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f?a=0x5350e1068f0e138ff306990b16fa4910d970c692) to [0x9d2b758e3ffd2569c6956676fae7f8b71a53ffb5](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f?a=0x9d2b758e3ffd2569c6956676fae7f8b71a53ffb5). \(If you want to skip ahead to the code, fork the starter script \[[https://github.com/pileofscraps/historical_transactions_polygon_scripts](https://github.com/alchemyplatform/historical_transactions_polygon_scripts)\] and follow along\) To use the Transfers API to track the USDT transfer, we need a few pieces of key information that help narrow down our search. We format this request information into a JSON object as follows: ### ‍ 1. From Block & To Block We can reduce the amount of time it takes for the API to return our JSON response by constraining the start and end block numbers that we are attempting to search.  Our transaction takes place in block **23876472** so we adjust our search to a small buffer around this block number.  The JSON object allows us to either use a hexadecimal string or for block number inputs. In this case, we use hexadecimals, so we input 0x16C5376 for a`fromBlock `of 23876470 and 0x16C537A for a `toBlock` ### 2. To & from addresses The To & From addresses represent where the transaction was sent and where it originated from respectively.  In our example, _To_ Address is [0x9d2b758e3ffd2569c6956676fae7f8b71a53ffb5](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f?a=0x9d2b758e3ffd2569c6956676fae7f8b71a53ffb5) and _From_ Address is [0x5350e1068f0e138ff306990b16fa4910d970c692](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f?a=0x5350e1068f0e138ff306990b16fa4910d970c692). ### 3. Contract address The contract address is the address denoting the specific ERC20, ERC721, or ERC1155 contract that we seek to find.In our example, the ERC20 contract for Polygon USDT is [0xc2132d05d31c914a87c6611c10748aeb04b58e8f](https://polygonscan.com/token/0xc2132d05d31c914a87c6611c10748aeb04b58e8f).  Putting together this information, we can now use Alchemy’s Composer tool to return results that include our target transaction.  Visit this [Alchemy Composer Example](https://www.alchemy.com/composer?composer_state=%7B%22chain%22%3A2%2C%22network%22%3A401%2C%22methodName%22%3A%22alchemy_getAssetTransfers%22%2C%22paramValues%22%3A%5B%7B%22excludeZeroValue%22%3Atrue%2C%22fromBlock%22%3A%220x16C5376%22%2C%22toAddress%22%3A%220x9d2b758e3ffd2569c6956676fae7f8b71a53ffb5%22%2C%22contractAddresses%22%3A%22%5B%5C%220xc2132d05d31c914a87c6611c10748aeb04b58e8f%5C%22%5D%22%2C%22fromAddress%22%3A%220x5350e1068f0e138ff306990b16fa4910d970c692%22%2C%22category%22%3A%5B%22erc20%22%5D%2C%22toBlock%22%3A%220x16C537A%22%7D%5D%7D)! ‍ ## Trying out Alchemy transfers API on Polygon via Python Now, to try out the [Alchemy Transfers API](https://www.alchemy.com/transfers-api) we query for the [same transfer](https://polygonscan.com/tx/0x1e85ace98f4fc4ad7b1b64465df81d0a275d494421e553e23a238b156f42b17f); this time, however, we use code! If you want to follow along, [fork the starter script](https://github.com/pileofscraps/historical_transactions_polygon_scripts). ### 1. Import statements: To try out Alchemy Transfers API, we start off with a few import statements to import modules we’ll use later.  If you don’t have any of these modules around installed in your python environment, be sure to run the following pip commands in your python environment. ### 2. Insert Alchemy key for API access: If you don’t already have one, you’ll first need to[ create an account on Alchemy.](https://dashboard.alchemy.com/) The free version will work fine for getting started! Replace the string “ALCHEMY KEY” with your own private API key.  ### 3. Configure Web3.py to handle ERC20 contracts Since we are working with USDT, an ERC20 contract, we need an additional piece of code on top of what we would normally call in Web3 to interact with our contract correctly. Note that we include the ERC20 ABI in this code snippet in order to properly read the USDT contract.  \(The Contract Application Binary Interface \(**ABI**\) is the standard way to interact with contracts in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) and we use the ERC20 ABI to interact with ERC20 contracts such as the USDT contract\) ‍\(For readability, the entire ERC20 ABI is not included in the above code snippet. To find the full ABI, visit this [Github Gist\)](https://gist.github.com/veox/8800debbf56e24718f9f483e1e40c35c) ### 4. Set variables. As described above, we configure our variables to point towards the right addresses and block numbers. In addition, we use the w3.eth.contract method so that we can read data via the USDT contract. ‍ ### 5. Query via the Alchemy transfers API Here, we POST a request to the Alchemy Transfers API. Embedded in our request is the specific **_alchemy_getAssetTransfers_** method that we call and all the previous parameters \[From Block & To Block, To & From Addresses, and Contract Address\] Note that we also process the JSON result and parse it to give us the exact USDT value that was transferred within the transaction that our query returns. ### 6. Convert units for readability! After receiving and parsing the USDT value from the JSON response, we then convert the hexadecimal string into decimal format and do a unit conversion! #### Final command line output: ##### Congratulations! You have now successfully queried from the Alchemy transfers API on Polygon. As a next project, try querying for other types of token transfers! With [Alchemy Transfers API](https://www.alchemy.com/transfers-api), you can build historical queries into Polygon apps to populate historical wallet activity and token transfers, allowing you to develop more user-friendly UI and create more detailed on-chain analytics. Take advantage of Layer 2 cheap fees and keep your users informed about their plethora of on-chain transaction activity both in the present and the past! ‍ --- # How to Make a Memecoin on Solana: A Step-by-Step Guide URL: https://www.alchemy.com/blog/how-to-make-a-memecoin-on-solana.md If you’re new to Solana, memecoins are a low-stakes way to get your hands dirty. The space is loud and chaotic, but that activity forces you to work with real building blocks, such as token mints, metadata, wallets, and RPCs. And in that work, you can see the results immediately. Building a memecoin is a simple path to understanding how Solana apps actually work in the wild. In this tutorial, we’ll show you two practical paths to building memecoins on Solana: 1. **No-code [launchpads](https://www.alchemy.com/dapps/best/crypto-launchpads)** \(fastest way to launch\) 1. **DIY minting** using Solana’s SPL tooling \(best for devs who want full control\) ## What is a memecoin on Solana? On Solana, a memecoin is usually just a standard SPL fungible token with a name, symbol, image, and a launch plan. There’s nothing technically special about it—the same SPL token mechanics are used by wallets, DeFi apps, and serious consumer projects. What makes memecoins stand out is _how_ they’re used. Solana’s low fees and fast transactions make it easy to mint tokens, trade frequently, and experiment with launches, which is why memecoins make up a large share of token creation and trading activity on the network during active periods. For developers, that activity is the point. Memecoins are a simple, low-stakes way to learn Solana’s core primitives \(SPL tokens, metadata, wallets, and launch flows\) without needing to build a full application first. ## What you’re actually creating on Solana A Solana token has a mint account \(the token’s identifier\) and users hold balances in token accounts \(often the “Associated Token Account”, or ATA\). You’ll choose between: - [SPL Token program](https://solana.com/docs/tokens/basics) - [Token-2022](https://www.solana-program.com/docs/token-2022) / Token Extensions if you want built-in features \(e.g., metadata extensions, transfer fees, other controls\). For most memecoins: a legacy SPL token is still the safest default for maximum wallet/exchange compatibility. ## Option a: launch with a memecoin launchpad \(no-code\) If your goal is “get a token live and tradable ASAP”, third party launchpads do the minting and initial trading UX for you. For this option, you have several launchpads to choose from. ### Pump.fun [Pump.fun](https://pump.fun/)'s pitch is basically “launch instantly tradable tokens without seeding liquidity.” A typical flow with Pump.fun looks like: - Pick a name, a ticker, and an image for your token - Pay the creation fee - The token begins trading according to the platform’s mechanism ### Raydium LaunchLab [Raydium LaunchLab](https://raydium.io/launchpad/) includes a similar create a token flow \(you just need to add a name, ticker, image, and socials\). They offer two distinct modes for creating and launching a new token: the simplified JustSendIt mode and the fully customizable Advanced Mode. Advanced Mode provides full control over the token's parameters and is better suited for projects requiring specific tokenomics or more complex configurations. ### Bonk.fun [BONK.fun](https://bonk.fun/) is another Solana memecoin launchpad that gained a lot of attention in 2025. The platform has gained significant market share by offering community-driven incentives and transparency. ## Option b: create the token yourself with SPL tooling If you want to bypass these launchpads, you can also create a memecoin entirely yourself. To do that, you would go through the following steps. ### Creating a Solana SPL token If you’ve ever minted an SPL token and then wondered why it shows up as “Unknown token” \(or has no icon\) in wallets, this is why: the SPL mint alone doesn’t carry rich metadata. On Solana, fungible tokens are created with the SPL Token program, and the “pretty” fields \(e.g. name, symbol, image, JSON URI\) are commonly attached via the [Metaplex Token Metadata program.](https://developers.metaplex.com/smart-contracts/token-metadata) In this tutorial, you’ll mint a fungible SPL token using: - [Umi](https://developers.metaplex.com/dev-tools/umi/metaplex-umi-plugins) \(Metaplex’s modern client framework\) to build/sign/send transactions - mpl-token-metadata helpers to create the mint \+ metadata in one flow - [Alchemy Solana RPC](https://www.alchemy.com/solana) as your network connection - Your existing [Phantom wallet](https://www.alchemy.com/dapps/phantom) private key \(no new keypair generation\) ### What you’re actually doing onchain When you run the mint script, you’re not just “creating a token”—you’re creating a small set of onchain accounts that work together so wallets and explorers know how to interpret it. 1. **Mint account** \(SPL Token mint\): This is the core onchain account that defines your token. When people talk about a “token address” on Solana, they’re usually referring to this mint account. It’s the address you’ll paste into [Solana Explorer](https://www.alchemy.com/dapps/list-of/block-explorers-on-solana). This account stores things like: 1. Decimals: how divisible the token is \(for example, 8 decimals means 1.0 token = 100,000,000 base units\). 1. Mint authority: the key that’s allowed to mint more supply. 1. Freeze authority \(optional\): a key that can freeze token accounts. 1. **Metadata account** \(Metaplex Token Metadata PDA\): The SPL Token program itself doesn’t store names, symbols, or images. That information lives in a separate metadata account created by the Metaplex Token Metadata program. This account is a Program Derived Address \(PDA\), deterministically derived from your mint address. That means wallets don’t need a registry or a database—they can derive the metadata address from the mint, check if it exists, and read it if it does. This is how wallets like Phantom automatically discover and display token metadata. 1. **Offchain metadata** \(URI → JSON\): The metadata account doesn’t store all the details directly. Instead, it stores a URI that points to a JSON file hosted offchain \(commonly on IPFS\). That JSON follows a standard schema \(name, symbol, description, image\), which explorers and wallets know how to fetch and render. This keeps onchain data small while still allowing rich token information. With that context in place, the code below should make more sense: you’re creating the mint, attaching a metadata account to it, and pointing that metadata at a JSON file that wallets can read. Now let’s build the memecoin. ## Step 1: project setup \(TypeScript \+ dependencies\) First, we’ll create a new project directory and initialize a Node.js project. This gives us a clean workspace and a package.json file to manage dependencies. - `npm init -y` creates a basic Node project using default settings. - typescript lets us write typed JavaScript, which is helpful when working with Solana and Metaplex SDKs. - `ts-node` allows us to run TypeScript files directly without a separate build step. - `npx tsc --init` generates a tsconfig.json, which controls how TypeScript is compiled. Next, update `tsconfig.json` to enable a couple of options we’ll rely on later: - `esModuleInterop` allows us to use modern import syntax with common Node packages. - `resolveJsonModule` lets us import .json files directly, which is useful when working with configuration and metadata. Now we’ll install the libraries needed to interact with Solana and Metaplex: Here’s what each package is used for: - `@solana/web3.js` is the core JavaScript SDK for interacting with the Solana network. - `umi` is Metaplex’s client framework for building, signing, and sending transactions. - `umi-bundle-defaults` provides common defaults \(like RPC handling\) so we don’t have to wire everything manually. - `mpl-token-metadata` contains helpers for creating and attaching token metadata. - `bs58` is used to decode Phantom’s base58-encoded private key. - `dotenv` lets us safely load secrets \(RPC URLs, private keys\) from a .env file. Finally, we’ll create the files we’ll use throughout the tutorial: - `mint.ts` will contain the script that creates and mints the token. - `token.json` will hold the offchain metadata \(name, symbol, image\). - `.env` stores sensitive values like your RPC URL and private key. - `.gitignore` ensures secrets are never committed to version control. Let's add the following to `.gitignore`: This prevents your dependencies and private keys from being checked into Git by accident. ## Step 2: add Alchemy RPC \+ Phantom private key in .env ### Alchemy RPC Alchemy provides fast & reliable Solana RPC endpoints for devnet and mainnet. Use devnet while you’re testing. To access our endpoints, you’ll need a \(free!\) API key. All you need to do is [go to our dashboard](https://dashboard.alchemy.com/) and spin up a new Solana app in the dashboard. Make sure you turn on both the Node API and Webhooks services, and enable devnet. Fromr there, just copy/paste your API key or endpoint URL to your .env file. ### Phantom private key export Phantom’s official help [docs](https://help.phantom.com/hc/en-us/articles/25334064171795-How-to-view-your-recovery-phrase-or-private-key-in-Phantom) shows the exact flow to view/copy a private key: At a high level, you just need to go to your Settings, then “Manage Accounts”, then “Show Private Key”, then “Choose network”, and click continue. Once there, you can set your .env: A note on security: this is a “hot wallet in scripts” pattern. It’s fine for devnet experimentation, but for mainnet you should use a dedicated wallet and avoid pasting keys into random projects. ## Step 3: upload image \+ metadata to IPFS \(Pinata\) Simply having a token.json file on your computer isn’t enough. Solana programs can’t read files from your local filesystem, and storing large metadata directly onchain would be expensive. Instead, the Token Metadata program stores a URI that points to a publicly accessible JSON file hosted offchain \(commonly on IPFS\). Wallets and explorers fetch that JSON using the URI to display your token’s name, symbol, and image. You can use any IPFS for this. In this tutorial I have used [Pinata](https://pinata.cloud/). As to how it works, your uploaded file gets a CID \(content identifier\), and you retrieve it through a gateway URL. [Pinata docs](https://docs.pinata.cloud/quickstart) cover gateways and retrieval. As for doing the work, you’ll first create token.json: The order of operations here looks like: - Upload your image → copy the gateway URL. - Paste that URL into token.json.image - Upload the updated token.json → copy the gateway URL for the JSON. - Put that JSON URL into .env: `} /> You can use your own image or metadata, or use the example image below. ## Step 4: fund your wallet with Devnet SOL Minting and creating accounts costs SOL \(even on devnet\). The good news is that devnet SOL are free. To get some, you can use Solana’s official [devnet faucet](https://faucet.solana.com/) to get test SOL. ## Step 5: mint the token \(umi \+ token metadata\) via Alchemy RPC Here’s the full `mint.ts` script with a couple of important details baked in: - It converts Phantom’s base58 private key into a Solana Keypair \(Phantom exports can be 64 bytes; some formats are 32 bytes\). - It tells Umi to use your Alchemy RPC URL. Umi’s docs: the endpoint you pass to createUmi\(...\) is the endpoint used for RPC calls. - It prints the transaction signature correctly \(base58\), so your explorer link works. Copy & Paste this to your `mint.ts`: Solana Keypair. // Phantom commonly exports a 64-byte secretKey; some tools export 32 bytes. const raw = bs58.decode(pk58); const solanaKeypair = raw.length === 64 ? Keypair.fromSecretKey(raw) : raw.length === 32 ? Keypair.fromSeed(raw) : (() => { throw new Error(\`Unexpected key length: \${raw.length}\`); })(); // 2) Solana Keypair -> Umi signer + identity. const umiKeypair = umi.eddsa.createKeypairFromSecretKey(solanaKeypair.secretKey); const signer = createSignerFromKeypair(umi, umiKeypair); umi.use(signerIdentity(signer)); // 3) Add Token Metadata program helpers. // Token Metadata attaches data to fungible and non-fungible mints. [oai_citation:14‡GitHub] umi.use(mplTokenMetadata()); // --- token config --- const NAME = "Cat with Hat"; const SYMBOL = "CATY"; const METADATA_URI = process.env.TOKEN_METADATA_URI!; const decimals = 8; const supplyTokens = 1_000_000n; const amountBaseUnits = supplyTokens \* 10n ** BigInt(decimals); if (!METADATA_URI) throw new Error("Missing TOKEN_METADATA_URI"); (async () => { // generateSigner creates a new keypair for the mint account. // Your Phantom wallet pays fees and becomes the authority by default. const mint = generateSigner(umi); const res = await createAndMint(umi, { mint, authority: umi.identity, name: NAME, symbol: SYMBOL, uri: METADATA_URI, sellerFeeBasisPoints: percentAmount(0), decimals, amount: amountBaseUnits, tokenOwner: umi.identity.publicKey, tokenStandard: TokenStandard.Fungible, }).sendAndConfirm(umi); // Umi returns signatures as bytes; Explorer expects base58. const sigBase58 = typeof res.signature === "string" ? res.signature : bs58.encode(res.signature); console.log("Mint address:", mint.publicKey.toString()); console.log("Tx:", \`https://explorer.solana.com/tx/\${sigBase58}?cluster=devnet\`); })();`} /> Let’s run the script - when the script completes successfully, the memecoin token will be minted. The output will include the mint address and a transaction link you can verify onchain. If everything worked, boom — you just minted your memecoin token on Solana. ## Step 6: verify the mint on a Solana explorer Copy the Mint address printed by the script and paste it into a [Solana Explorer](https://explorer.solana.com/?cluster=devnet). Make sure you’re on devnet. 🎉 Hurray - you’ve minted your own token \(your “CATY”\) with a fixed initial supply of 1,000,000 and metadata wired up. ## Conclusion That’s it - you’ve now seen both paths to launching a memecoin on Solana. If you want the fastest route, launchpads like pump.fun, [Raydium](https://www.alchemy.com/dapps/raydium) LaunchLab, or BONK.fun handle most of the setup for you. If you want full control, minting your own SPL token gives you a deeper understanding of how Solana tokens actually work under the hood. Either way, you’re now equipped to spin up as many memecoins as your heart desires. If you want to keep going, check out [Alchemy’s Solana docs](https://www.alchemy.com/docs/solana) and developer guides for deeper dives into Solana RPCs, wallets, and production-ready tooling and explore tutorials on building Solana apps, working with SPL tokens, and handling real onchain traffic. ## Frequently asked questions ### What is a memecoin on Solana? A memecoin on Solana is a standard SPL fungible token with a name, symbol, image, and launch plan. There's nothing technically special about it, the same SPL token mechanics are used by wallets, DeFi apps, and serious consumer projects. ### What are the two main ways to create a memecoin on Solana? You can use no-code launchpads like Pump.fun, Raydium LaunchLab, or BONK.fun for the fastest launch, or you can mint your own token using Solana's SPL tooling for full control over the process. ### What wallet do I need to create a memecoin? You need a Solana-compatible wallet like Phantom, Backpack, or [Solflare](https://www.alchemy.com/dapps/solflare) funded with a small amount of SOL to cover transaction fees. ### How much does it cost to create a memecoin on Solana? Creating a token on Solana is extremely low-cost, with fees typically under $1 in SOL for basic token minting and account creation on devnet or mainnet. ### What is the difference between SPL Token and Token-2022? SPL Token is the legacy token program and the safest default for maximum wallet and exchange compatibility. Token-2022 (Token Extensions) offers built-in features like metadata extensions and transfer fees but may have less universal support. ### Do I need to add metadata to my memecoin? Yes, metadata (name, symbol, image, description) is stored via the Metaplex Token Metadata program and typically hosted offchain on IPFS. This allows wallets and explorers to display your token's information instead of showing it as "Unknown token." ### What is Umi and why is it used for minting tokens? Umi is Metaplex's modern client framework used to build, sign, and send transactions on Solana. It simplifies the process of creating tokens and attaching metadata in one flow. ### What accounts are created when I mint a memecoin? You create a mint account (the token's core identifier storing decimals and authorities), a metadata account (a PDA storing name, symbol, and URI), and offchain metadata (a JSON file on IPFS containing detailed token information). ### Can I test token creation before launching on mainnet? Yes, you can use [Solana devnet](https://www.alchemy.com/overviews/solana-devnet) for testing. You can get free devnet SOL from Solana's official devnet faucet to cover transaction costs while experimenting. --- # How to Make a Solana Wallet URL: https://www.alchemy.com/blog/how-to-make-a-solana-wallet.md In the past few years, Solana has exploded onto the scene as one of the most active blockchain networks, averaging over [1.2 million daily active users](https://coincentral.com/solana-outperforms-ethereums-early-stage-with-2-85b-revenue/) and [60M\+ transactions \(non-voting\) per day](https://blockworks.com/analytics/solana/solana-onchain-activity?ref=blog.quicknode.com). That activity is driven by DeFi, DePIN, institutions, enterprises, and more, all happening at lightning speed and at fractions of a penny per transaction. If you're looking to build on Solana and tap into the the hot and growing ecosystem, then starting with a wallet is a great entry point. Wallets are the gateway to interacting with any chain: signing transactions, holding assets, and powering apps. In this guide, we'll walk you through creating both regular and [smart wallets](https://www.alchemy.com/smart-wallets) using our tools at Alchemy. We've built out [reliable RPC endpoints](https://www.alchemy.com/solana) for seamless network connections and an [SDK](https://www.alchemy.com/docs/wallets) for account abstraction to make wallet building straightforward and scalable. Let's dive in and get you set up, starting on devnet so you can test things out without spending real SOL. ## Wallets on Solana: the basics On Solana, wallets aren't quite like what you might be used to on Ethereum. Instead of a strict split between user controlled [externally owned accounts \(EOAs\) and smart contracts](https://www.alchemy.com/docs/ethereum-accounts), Solana treats everything as [accounts](https://solana.com/docs/core/accounts), which are data storage units on the blockchain. A "wallet" here is often just a keypair \(public and private keys\) that lets you control one or more of these accounts. Accounts can hold SOL tokens, other assets, or even executable code for [programs](https://solana.com/docs/core/programs) \(Solana's version of smart contracts\). This uniform approach opens the door to cool features like program derived addresses \(PDAs\), where programs can generate addresses and even sign transactions on behalf of users without needing their private keys. It's a more flexible setup than Ethereum's model, where EOAs are purely for signing and contracts handle the logic separately. For more on Solana's account model, check out the [official Solana docs on accounts and wallets](https://solana.com/docs/core/accounts#accounts-and-wallets). Solana wallets generally fall into two camps: - **Regular wallets \(keypair based\)**: These are your straightforward cryptographic keypairs for signing transactions and managing accounts. They're great for scripts or testing, but you'll handle keys and fees manually. - **Smart wallets \(with account abstraction\)**: These level up the experience by hiding away the nitty gritty details like key management. Smart wallets support things like social authentication \(e.g., signing in with email or passkeys instead of seed phrases\), gas/rent sponsorship \(where someone else pays transaction fees\), batched transactions \(multiple actions in one go\), and even automated behaviors powered by programmable logic. Solana's design makes these especially potent for apps, going beyond Ethereum's [ERC-4337](https://www.alchemy.com/overviews/how-do-smart-contract-wallets-work) focus on UX tweaks. Dive deeper into Solana's account abstraction in the [Solana Cookbook on wallet management](https://solana.com/developers/cookbook/wallets/create-keypair) and the [deep dive of ERC-4337 on Solana.](https://solana.com/developers/evm-to-svm/erc4337) In this tutorial, we'll build both of these types of wallets using Alchemy's tools. Our RPC endpoints give you reliable access to the Solana network without spinning up your own node, and our Smart Accounts \(in beta for Solana as of late 2025\) handle the wallet magic. Head over to our [Solana Smart Wallets getting started guide](https://www.alchemy.com/docs/wallets/react/solana-wallets/get-started) for the latest on the SDK. ## Prerequisites: setting up your Devnet environment Before we jump into the code, let's make sure you're ready. This tutorial assumes you're comfortable with basic JavaScript, but we'll explain concepts along the way so everyone can keep up. Here's what you'll need: - **Node.js \(v16 or higher\) and npm/yarn**: This is your runtime for running JS code outside the browser. You can download it from [nodejs.org](https://nodejs.org/) if you haven't already. - **A code editor like [VS Code](https://www.alchemy.com/dapps/vs-code) or Cursor**: Somewhere to write and debug your code. VS Code is free and has great extensions for blockchain development. You can get set up [here](https://code.visualstudio.com/). Cursor is like a cooler, AI-enabled version of VS Code. You can check it out [here](https://cursor.com/agents). - **Basic JavaScript knowledge; React for smart wallet parts**: We'll use React hooks in the smart wallet section, but if you're not using React, dont worry, we will cover adaptations to other frameworks later. Need React basics? Check out [React's quick start](https://react.dev/learn). - **An Alchemy account**: Sign up for free at [dashboard.alchemy.com](https://dashboard.alchemy.com/). Create a new app, select Solana \(devnet for testing, mainnet for production\), and grab your API key. While you're there, enable an EVM chain like Sepolia if you want hybrid support – it's handy for cross-chain apps. - **For regular wallets**: Install the [Solana web3.js library](https://www.npmjs.com/package/@solana/web3.js), which handles key generation, connections, and transactions. This library is the go to for interacting with Solana programs. `npm install @solana/web3.js` - **For smart wallets**: Install Alchemy's Account Kit packages, plus Solana [web3.js](https://www.alchemy.com/dapps/web3-js) for compatibility. The Account Kit is our SDK for embedded wallets across chains. See our soical [auth integration docs](https://www.alchemy.com/docs/wallets/authentication/login-methods/social-login) for more info. `yarn add @account-kit/infra @account-kit/react @solana/web3.js` Pro tip: Build everything on devnet first. It's the main test environment that mimics deploying on mainnet perfectly and allows you to test your contracts, run through your flows, make sure everything works. Once you're confident, have deployed to testnet and thoroughly tested everything, deploying to mainnet is as simple as swapping the RPC URL. No code changes needed: just flip the switch. ## Understanding Solana's wallet structure Before we generate a wallet, let’s back up and give some quick context on how Solana wallets work. This will help you grasp why the steps we're about to take make sense, especially if you're coming from Ethereum. - **Accounts vs. wallets**: In Solana, a wallet is essentially a keypair that _owns_ accounts. Accounts are like buckets for data: they can store your SOL balance, tokens, or program code. Unlike Ethereum, where EOAs \(user addresses\) are distinct from contract addresses, Solana blurs the lines: everything is an account. This means you can create accounts on the fly, fund them separately, and even have programs control them via [PDAs](https://solana.com/docs/core/pda). No automatic account creation on key gen; you fund to initialize. For a deeper dive, see [Solana's core concepts](https://solana.com/docs/core). - **Rent instead of dynamic gas fees**: Solana doesn't use Ethereum style gas for every computation unit: transactions have flat fees \(super low, like $0.00025 on average as of 2025\) but accounts pay "rent" to keep their data stored on the chain if your balance dips below a threshold \(about 0.00089 SOL per KB\). It's like a storage deposit: pay upfront or maintain enough SOL to exempt it. This keeps the network lean by pruning inactive accounts. Transactions still cost fees, but rent is the unique twist for persistence. You can compare it to Ethereum's gas, which hits you per operation and can spike during congestion. Solana's model prioritizes speed instead. Read more in [Solana's rent docs](https://solana.com/docs/core/fees#rent). - **PDAs and programmability**: Programs can derive ["program derived addresses"](https://solana.com/docs/core/pda) that look like regular addresses but are controlled by code, not keys, which allows smart wallet features like automated signing. It's more baked in to the core Solana Architecture than Ethereum's contract wallets. Grasping these concepts helps you see why Solana wallets feel more "programmable" out of the box. It all comes back to that concept of flexible accounts. ## How to make a regular Solana wallet: step-by-step Regular wallets are your entry level setup: a simple keypair for signing transactions. They're perfect for backend scripts, testing, or when you want full control without abstractions. In this tutorial, we'll use `@solana/web3.js` to generate a keypair. Then we will use Alchemy's RPC to connect to the network; without a RPC connection, your wallet can't query balances or send transactions. ### Step 1: generate a keypair Generating a wallet on Solana means creating a fresh cryptographic keypair, essentially a pair of mathematically linked keys that work together. The public key becomes your wallet address on Solana, which you can share freely with anyone who needs to send you funds or interact with your account. The private key \(also called the secret key\) is what proves you own that address and allows you to sign transactions. Here's an important distinction from Ethereum: on Ethereum, when you generate an Externally Owned Account \(EOA\), it's immediately "ready" and exists on the blockchain. On Solana, generating a keypair just creates the cryptographic keys, the actual account on the blockchain doesn't exist until someone funds that address. This is part of Solana's account model where accounts need rent exemption balance to persist on chain. Create a new JS file \(say, regular-wallet.js\) and run this snippet: Run this script with node.js and boom: you've got a wallet. Here's what you should have gotten returned: - **Public Key \(Wallet Address\)**: This is a base58-encoded string that looks something like `7xj9WkvP6Az8vG5nXJh4Fq3qY8kPqT9wXVZN2xMqGnD4`. This is what you'll share with others when you want to receive funds, and it's what you'll use when connecting to [apps](https://www.alchemy.com/dapps/top/defi-dapps) or checking your balance. Think of it like your bank account number, it's safe to share publicly. - **Secret Key**: This is returned as a `Uint8Array` \(an array of 64 bytes\). This is your private key and is the cryptographic proof that you control this wallet. Anyone with access to this secret key can sign transactions and move funds from your wallet. Never, ever share this or commit it to version control. Critical security practices for the secret key: - **Never log it in production**: The `console.log` in our example is fine for local testing, but remove it before deploying any real application. - **Use environment variables**: Store it in a `.env` file that's added to your `.gitignore`. Access it with `process.env.PRIVATE\_KEY` in your code. - **Consider hardware wallets**: For production applications handling significant value, integrate hardware wallets like [Ledger](https://www.alchemy.com/dapps/ledger) or [Trezor](https://www.alchemy.com/dapps/trezor) that keep private keys isolated in secure hardware. - **Encrypt if storing**: If you must store the secret key in a database or file, encrypt it first using strong encryption libraries. For security best practices, check [Solana's security guide](https://solana.com/learn/staying-safe-on-solana). ### Step 2: connect to the network via Alchemy RPC Now, connect your wallet to Solana's devnet using an RPC endpoint. This "connection" object lets your code talk to the blockchain, fetch balances, submit transactions, etc. Alchemy's RPC is like a supercharged proxy to Solana nodes, handling load balancing so your app stays responsive. Add this to your script \(replace \ with your key from the [Alchemy dashboard](https://dashboard.alchemy.com/)\): ', // Devnet for testing 'confirmed' // Commitment level: 'confirmed' for speed with some finality ); async function checkBalance(publicKey) { const balance = await connection.getBalance(publicKey); console.log('Balance:', balance / 1e9, 'SOL'); // Convert lamports (1 SOL = 1e9 lamports) } await checkBalance(wallet.publicKey);`} /> This connection enables you to check whether you wallet is funded and to interact with apps. Run the script; if unfunded, the response will show 0 SOL. For full RPC methods, see [Solana's RPC docs](https://solana.com/docs/rpc) or our [Alchemy Solana RPC guide](https://www.alchemy.com/docs/reference/solana-api-quickstart). ### Step 3: fund and interact with your wallet With the connection live, let's interact onchain. This is where the fun starts: funding via airdrop \(devnet only\), signing transactions, etc. These basics let you transfer SOL, call programs, or build simple tools. #### Request an airdrop \(funding on devnet\) Devnet gives free SOL for testing, allowing you to fund your account if it's empty, but be mindful that you are limited to ~24 SOL/day per IP address. You’ll need to fund your account for rent exemptions in fees. This method also only works for devnet. In production, where fees are paid in real SOL \(and not test SOL\), you will need to buy/fund your account via an exchange like Coinbase. See [Solana's Devnet Sol Guide](https://solana.com/developers/guides/getstarted/solana-token-airdrop-and-faucets). Here's what's happening: - **Request the airdrop**: `connection.requestAirdrop\(\)` asks the devnet for test SOL. It takes your wallet's public key and the amount in lamports \(`1e9` = 1 SOL\), then returns a transaction signature, a unique identifier for this transaction. - **Confirm the transaction**: `await connection.confirmTransaction\(\)` waits for the network to process your airdrop. This is crucial, without waiting for confirmation, your balance might still show 0 SOL even though the airdrop was requested. Solana processes transactions asynchronously, so you need to wait. - **Success**: Once confirmed, run `checkBalance\(\)` again and you should see 1 SOL in your wallet. #### Sign and send a transaction Let's transfer 0.1 SOL to another address. This example demonstrates transaction signing, where your private key cryptographically authorizes the transaction, proving you own the sending wallet. We'll build a transaction, sign it with your keypair, and broadcast it to the network via RPC. Transaction fees \(around 0.000005 SOL\) are deducted automatically from your balance. For more complex operations like multi-instruction transactions or program calls, explore [Solana's transaction basics](https://solana.com/docs/core/transactions) documentation. Run this code to send SOL: Here's what's happening: - **Create the recipient**: `new PublicKey\(\)` converts a base58-encoded address string into a PublicKey object that Solana can work with. Replace `'recipient\_address\_here'` with an actual Solana address \(you could even use your own wallet's public key to test sending to yourself\). - **Build the transaction**: `new Transaction\(\).add\(\)` creates a transaction and adds a transfer instruction. The `SystemProgram.transfer\(\)` call specifies the sender \(`fromPubkey`\), recipient \(`toPubkey`\), and amount in lamports \(1e8 = 0.1 SOL\). - **Send and confirm**: `sendAndConfirmTransaction\(\)` is a helper function that handles three steps in one: it fetches the latest blockhash \(required for all Solana transactions\), signs the transaction with your wallet keypair, sends it to the network, and waits for confirmation. The `\[wallet\]` array contains all signers, in this case, just your wallet. - **Transaction signature**: The returned signature is your proof of execution, a unique identifier for this specific transaction on the blockchain. - **Security Tip**: Never hardcode secret keys. Instead use `process.env.PRIVATE\_KEY`. For production, integrate hardware wallets to alleviate any other points of attack. For more on secure key management, view [our best practices for key management & security.](https://www.alchemy.com/docs/best-practices-for-key-security-and-management) And if all went well, you should have gotten a successful transaction signature back! That signature is your proof the transaction was processed on Solana's blockchain. You can look it up on [Solana Explorer](https://explorer.solana.com/?cluster=devnet) to see the full details: sender, recipient, fee paid, and block confirmation. That's the essence of interacting with a simple [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) on devnet: generate a keypair, connect via RPC, fund it, and sign transactions. These building blocks: keypair generation, network connection, balance checks, and transaction signing are the foundation for any Solana development work. These regular keypair based wallets we just interacted with are perfect for backend scripts that need programmatic control, testing and development, for folks who prefer direct management of their keys, and simple uses cases like basic transfers and program interactions. However, you can see they come with their own trade offs: users must manage their own keys, pay their own fees, and handle the technical complexity of blockchain interactions. For consumer facing apps where UX matters, this friction can be a dealbreaker. That's where smart wallets come in. They abstract away the complexity while giving you powerful features like social login, gasless transactions, and session keys. Let's explore how to build smart wallets on Solana that make Web3 feel like Web2. ## How to make a smart Solana wallet: leveling up with account abstraction Smart wallets take the regular accounts we learned about and add account abstraction magic, making any app feel more like a Web2 app. No more seed phrases; instead, users log in socially \(email, phone number, etc\), and features like fee sponsorship mean users don’t need to provide SOL upfront in order to take actions. [Alchemy Smart Wallets](https://www.alchemy.com/smart-wallets), simplifies this for Solana, It's great for user facing apps where UX matters, think onboarding newbies without wallet friction. Here’s how to set up a smart wallet on Solana: ### Step 1: configure the SDK First, we need to configure the Account Kit SDK. This configuration tells the SDK how to connect to Solana, which networks to use, and what policies to apply \(like who pays for gas\). Think of this as setting up the communication channel between your app and the blockchain. The SDK needs config to know your chains and connection details. This sets up the "transport" for Solana interactions. Create a `config.ts` \(or .js\) file in your project root – assuming you have a React app set up \(if not, start one with `npx create-react-app my-solana-app` for basics\). ", { wsEndpoint: "wss://api.devnet.solana.com", // WebSocket for real-time updates commitment: "confirmed", } ), policyId: "", // Optional: For gas sponsorship policies from Alchemy dashboard }, ssr: true, // Enable server-side rendering if your app uses it storage: cookieStorage, // Stores session data securely in browser cookies });`} /> Let's break down what's happening here: - **connection**: This creates the link to Solana's devnet through Alchemy's RPC endpoint. Replace `\` with your actual API key from the Alchemy dashboard. - **wsEndpoint**: This WebSocket connection enables real-time updates, so your app can instantly reflect transaction confirmations and account changes without constant polling. - **commitment**: Set to "confirmed" for a balance between speed and finality, transactions are highly unlikely to be reversed at this level. - **policyId**: This is where the magic of gas sponsorship happens. You can create policies in your Alchemy dashboard that define rules for when your app will pay transaction fees on behalf of users. This is optional but powerful for UX. - **storage**: Using cookie storage keeps user sessions secure and persistent across page refreshes. - **chain**: If you're building a cross-chain app that works on both Solana and EVM chains \(like Ethereum\), you can specify an EVM chain here. This enables hybrid functionality. Now that we have our configuration, we need to make it available throughout our entire React application. We do this by wrapping our app with the `AccountKitProvider` component. This is similar to how React's Context API works, it creates a "context" that any component in your app can access. Why is this important? Once wrapped, any component in your app can use Account Kit's hooks to access wallet functionality, authenticate users, sign transactions, and more. Without this wrapper, those features wouldn't be available. Open your `src/App.js` \(or `src/App.tsx`\) file and modify it like this: /* Your app's components go here */ /** Any component inside this provider can now use Account Kit hooks */ ); } export default App;`} /> This provider does several things behind the scenes: - It initializes the connection to Solana using your configuration - It manages the user's authentication state across your entire app - It provides hooks like `useSigner\(\)`, `useAuthenticate\(\)`, and `useUser\(\)` to all child components - It handles session persistence so users stay logged in between visits **Important note for non React developers:** If you're building a Node.js backend, a vanilla JavaScript app, or using a different framework, you won't use this provider pattern. Instead, you can import and use `SolanaSigner` directly from the SDK. Check out our [documentation on different frameworks](https://www.alchemy.com/docs/wallets/reference/account-kit/core) for implementation details on using Account Kit outside of React. ### Step 2: create and use the wallet with hooks Now that we've configured the SDK and wrapped our app with the provider, we can start actually using the smart wallet in our components. React hooks are functions that let us "hook into" React features like state and lifecycle methods. In this case, we'll use Account Kit's custom hooks to interact with the user's Solana smart wallet. The `useSolanaSigner` hook is your main interface to the wallet. It returns a signer object that represents the user's smart wallet: this is what you'll use to get their address, sign transactions, and interact with the blockchain. The beauty here is that all the complex key management, account creation, and signing logic is handled automatically behind the scenes. Create a new component file called `WalletComponent.js` in your components folder: Loading wallet...; if (!signer) return
No signer available – check login
; return
Solana Address: {signer.address}
; } export default WalletComponent;`} /> Let's break down what's happening in this component: The `useSolanaSigner` hook: This hook does the heavy lifting. When called, it checks if the user has an authenticated session. If they do, it returns their smart wallet signer. If not, it returns `null`. The hook also provides an `isLoading` state so you can show loading indicators while the wallet is being initialized. **Loading state**: While the SDK is initializing the wallet connection or checking for an existing session, `isLoading` will be `true`. This is when you want to show a spinner or loading message to your users. Good UX means never leaving users wondering what's happening. **No signer scenario**: If `signer` is `null` or `undefined`, it means the user hasn't logged in yet or their session has expired. This is your cue to either redirect them to a login flow or display authentication options. We'll cover the authentication piece in the next step. **The signer object**: Once you have a valid signer, it contains everything you need to interact with the blockchain on behalf of the user. The most immediately useful property is `signer.address`, which is the user's Solana public key \(their wallet address\). You can display this to users, use it to query their balances, or include it in transactions. **What else can you do with the signer?** Beyond just displaying the address, the signer object is what you'll pass to transaction functions. For example, if you want to send SOL or interact with a Solana program, you'll use hooks like `useSolanaSendTransaction` and pass the signer to them. The signer handles all the cryptographic signing without the user ever seeing or managing private keys. **A key point about smart wallets**: Notice how we never generated a keypair, never asked the user to back up a seed phrase, and never handled private keys? That's the account abstraction magic at work. The user's authentication \(which we'll set up next via social login\) is what controls access to this wallet, but the actual key management happens securely in the background, often using techniques like multi-party computation \(MPC\) or secure enclaves. For complete examples of sending transactions, interacting with programs, or checking balances using the signer, check out [our Solana transactions guide in the Account Kit documentation.](https://www.alchemy.com/docs/wallets/react/solana-wallets/get-started) ### Step 3: leverage advanced features Smart wallets shine when it comes to advanced features. Each builds on account abstraction to improve UX and reduce barriers, perfect for apps where users hate fumbling with wallets. Those advanced features include things like: - **Social login**: Let users sign in with email, Google, or passkeys instead of managing their own account keys. This creates a PDA based wallet on first login, without needing seed phrases. This slashes onboarding drop off: new users just click "Sign in with Google" and are done, dramatically simplifying the onboarding process. You can integrate this with the SDK’s auth methods. See an example in [Alchemy's social login docs](https://www.alchemy.com/docs/wallets/authentication/login-methods/social-login). - **Sponsorship \(gas/rent coverage\)**: Sponsors \(the app or a 3rd party provider\) pay user fees via a policy ID, so users go gasless \(simplifying their UX\). On Solana, this sponsorship covers transaction fees and rent. This can boost conversions in free to play games or airdrops because users don’t have to handle SOL prompts to fund wallets to handle fees or set their own fee rates. Learn more in [sponsorship gas and rent setup](https://www.alchemy.com/docs/wallets/transactions/solana/sponsor-gas). - **Batching transactions**: Bundles multiple instructions \(e.g. transfers or program calls\) into a single transaction. Instead of separate sends, this enables things like handling swaps \+ stakes atomically. This can save on transaction fees and ensures all or nothing execution. You can use the SDK's `useSendTransaction` with an array of instructions. See [batching examples](https://www.alchemy.com/docs/wallets/transactions/send-batch-transactions). - **Non-React adaptation**: If you're in vanilla JS or another framework, export the signer from the config and use it directly \(e.g., `const signer = getSolanaSigner\(config\)`\). This keeps AA portable. For details, check out [non-React SDK usage](https://www.alchemy.com/docs/wallets/reference/account-kit/core). The SDK ties it all together, abstracting Solana's quirks into a clean API. Test on devnet, and you're ready for production grade UX. ## Regular vs. smart wallets: a quick comparison To help you decide what you need for your use case, here's a table breaking down the key differences in wallet types on Solana. This highlights when to use each in your projects. Structure

", tooltip: "", icon: "" }, "2": { title: "

Simple keypair (EOA-like)

", tooltip: "", icon: "" }, "3": { title: "

Abstracted via AA; uses PDAs for programmable control

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Features

", tooltip: "", icon: "" }, "2": { title: "

Basic signing, manual fee handling

", tooltip: "", icon: "" }, "3": { title: "

Social login, batching, sponsorship, automation

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Complexity

", tooltip: "", icon: "" }, "2": { title: "

Low, direct key management

", tooltip: "", icon: "" }, "3": { title: "

Medium, Complex setup abstracted by SDK

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Use Cases

", tooltip: "", icon: "" }, "2": { title: "

Scripts, bots, testing setups

", tooltip: "", icon: "" }, "3": { title: "

User-facing apps, seamless onboarding

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

vs. Ethereum

", tooltip: "", icon: "" }, "2": { title: "

Uniform accounts; PDAs add flexibility

", tooltip: "", icon: "" }, "3": { title: "

Solana-specific rent handling + EVM compatibility via SDK

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Alchemy Role

", tooltip: "", icon: "" }, "2": { title: "

RPC for reliable connections

", tooltip: "", icon: "" }, "3": { title: "

SDK + RPC for full AA features

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ## Best practices: tips to keep in mind while building As you craft your Solana wallet, here are some best practices and tips to ensure it's secure, scalable, and user-friendly. - **Security first**: For regular wallets, always use hardware wallets \(like Ledger or Trezor\) for mainnet to keep keys offline. With smart wallets, lean on the SDK's passkeys or multi-factor auth to reduce phishing risks by avoiding seed phrases. Never expose secrets in code; use encrypted storage. Audit your setup with tools like [Solana's security guide](https://solana.com/learn/staying-safe-on-solana). - **Test thoroughly**: Always start on devnet or testnet to iterate without costs. Use Alchemy's dashboard to monitor RPC usage, transaction failures, and performance metrics. It's like a built in debugger for your blockchain calls. Simulate edge cases like network congestion to ensure retries work. - **Error handling and reliability**: Wrap RPC calls in try-catch blocks and add exponential backoff retries \(e.g., via libraries like p-retry\). Solana's speed can lead to race conditions, so confirm transactions with 'finalized' commitment for max safety. This keeps your app robust, especially for high-volume apps. - **Scalability considerations**: Alchemy's infrastructure auto-scales for high loads, so you won't bottleneck on RPC. For smart wallets, batch where possible to minimize transactions. Monitor rent exemptions to avoid surprise costs. Tools like [Solscan explorer](https://solscan.io/) help track this. - **Resources for deeper dives**: Stay updated with [Alchemy's Solana docs](https://www.alchemy.com/docs/reference/solana-api-quickstart) for SDK changes, and explore [Solana's official react wallet adapters](https://solana.com/developers/cookbook/wallets/connect-wallet-react) for UI integrations. ## Wrapping up: time to build on Solana There you have it – you've now got the know how on how to spin up regular and smart Solana wallets with Alchemy's help. Whether you're scripting simple transfers or building a killer dApp with gasless logins, Solana's ecosystem is primed for innovation. Now's the time to jump in and start experimenting. For more, check out our [full Solana developer resources](https://www.alchemy.com/docs/reference/solana-api-quickstart) and the [Solana docs](https://solana.com/developers). Happy building – if you run into questions, hit us up on Discord or support. Let's make some onchain magic! ## Frequently asked questions ### What is a Solana wallet? A Solana wallet is a keypair (public and private keys) that lets you control accounts on the Solana blockchain, which can hold SOL tokens, other assets, or executable code. Unlike Ethereum's EOA model, Solana treats everything as accounts with a more flexible, programmable structure. ### Do I need to pay to create a Solana wallet? No, generating a keypair is free, but accounts on Solana require rent (about 0.00089 SOL per KB) to persist on-chain and transaction fees average $0.00025. On devnet you can get free test SOL via airdrop, but mainnet requires purchasing SOL. ### What's the difference between regular and smart Solana wallets? Regular wallets are basic keypairs where you manually manage keys and pay fees, ideal for scripts and testing. Smart wallets use account abstraction to offer social login, gas sponsorship, batched transactions, and programmable logic, perfect for user-facing apps. ### Can I use social login instead of seed phrases? Yes, with our smart wallets you can authenticate via email, Google, or passkeys instead of managing seed phrases. This creates a PDA-based wallet automatically and eliminates the friction of traditional key management for users. ### How do I fund my Solana wallet on devnet? Use `connection.requestAirdrop()` to get free test SOL on devnet (limited to ~24 SOL/day per IP). For mainnet, you'll need to purchase SOL through an exchange like [Coinbase](https://www.alchemy.com/dapps/coinbase). ### What is rent on Solana? Rent is a storage deposit system where accounts must maintain a minimum SOL balance (about 0.00089 SOL per KB) to stay active on-chain. It differs from Ethereum's gas fees and helps keep the network efficient by pruning inactive accounts. ### Can smart wallets sponsor transaction fees for users? Yes, our smart wallets support gas and rent sponsorship via policy IDs configured in your dashboard. This lets your app pay user fees, enabling gasless experiences that boost conversions and simplify onboarding. ### Do I need to run my own Solana node? No, our RPC endpoints provide reliable access to the Solana network without running your own node. The service handles load balancing, scaling, and provides both HTTP and WebSocket connections for real-time updates. --- # How to Mint an NFT Using Web3.js URL: https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js.md This tutorial describes how to mint an NFT on the Ethereum blockchain using Web 3 and our smart contract from Part I: How to Create an NFT _Estimated time to complete this guide: ~10 minutes_ Plus, be sure to check out the rest of our NFT tutorial series: - 🪄  [How to mint an NFT with Ether.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js) - 👛  [How to view your NFT in your mobile wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) - 💸  [How to set a price on an NFT](https://www.alchemy.com/blog/how-to-set-a-price-on-an-nft) - 💻  [NFT minter tutorial: How to create a full stack dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) "Minting an NFT" is the act of publishing a unique instance of your ERC721 token on the blockchain. Now that we successfully [deployed a smart contract to the Ropsten network in Part I ](https://www.alchemy.com/blog/how-to-create-an-nft)of this NFT tutorial series, let's flex our web3 skills and mint an NFT! At the end of this tutorial, you'll be able to mint as many NFTs as you'd like with this code —let's get started! ## Step 1: install Web3 If you followed the first tutorial on [creating your NFT smart contract](https://www.alchemy.com/docs#create-and-deploy-your-smart-contract-using-hardhat), you already have experience using Ethers.js. Web3 is similar to Ethers, as it is a library used to make creating requests to the Ethereum blockchain easier. In this tutorial we'll be using [Alchemy Web3](https://www.alchemy.com/docs), which is an enhanced web3 library that offers automatic retries and robust WebSocket support. In your project home directory run: ## Step 2: create a mint-nft.js file Inside your scripts directory, create an mint-nft.js file and add the following lines of code: ## Step 3: grab your contract ABI Our contract ABI \(Application Binary Interface\) is the interface to interact with our smart contract. [Hardhat](https://www.alchemy.com/dapps/hardhat) automatically generates an ABI for us and saves it in the MyNFT.json file. In order to use this we'll need to parse out the contents by adding the following lines of code to our **mint-nft.js** file: If you want to see the ABI you can print it to your console: To run **mint-nft.js** and see your ABI printed to the console navigate to your terminal and run ## Step 4: configure the metadata for your NFT using IPFS If you remember from our tutorial in Part I, our mintNFT smart contract function takes in a tokenURI parameter that should resolve to a JSON document describing the NFT's metadata— which is really what brings the NFT to life, allowing it to have configurable properties, such as a name, description, image, and other attributes. Interplanetary File System \(IPFS\) is a decentralized protocol and peer-to-peer network for storing and sharing data in a distributed file system. We will use [Pinata](https://pinata.cloud/), a convenient IPFS API and toolkit, to store our NFT asset and metadata to ensure our NFT is truly decentralized. If you don't have a [Pinata](https://www.alchemy.com/dapps/pinata) account, sign up for a free account at [pinata.cloud](https://pinata.cloud/) and complete the steps to verify your email. Once you've created an account: - Navigate to the "Pinata Upload" button on the top right - Upload an image to pinata - this will be the image asset for your NFT. Feel free to name the asset whatever you wish - After you upload, at the top of the page, there should be a green popup that allows you to view the hash of your upload —\> Copy that hashcode. You can view your upload at: `https://gateway.pinata.cloud/ipfs/` For the more visual learners, the steps above are summarized here:Now, we're going to want to upload one more document to Pinata. But before we do that, we need to create it! In your root directory, make a new file called nft-metadata.json and add the following json code: ​Feel free to change the data in the json. You can remove or add to the attributes section. Most importantly, make sure the image field points to the location of your IPFS image— otherwise, your NFT will include a photo of a \(very cute!\) dog. Once you're done editing the json file, save it and upload it to Pinata, following the same steps we did for uploading the image. ## Step 5: create an instance of your contract Now, to interact with our contract, we need to create an instance of it in our code. To do so we'll need our contract address which we can get from the deployment or [Etherscan](https://sepolia.etherscan.io/) by looking up the address you used to deploy the contract. In the above example, our contract address is 0x81c587EB0fE773404c42c1d2666b5f557C470eED. Next we will use the web3 [contract method](https://web3js.readthedocs.io/en/v1.2.0/web3-eth-contract.html?highlight=constructor#web3-eth-contract) to create our contract using the ABI and address. In your **mint-nft.js** file, add the following: ## Step 6: update the .env file Now, in order to create and send transactions to the Ethereum chain, we'll use your public ethereum account address to get the account **nonce** \(will explain below\). Add your public key to your **.env** file —if you completed part 1 of the tutorial, our **.env** file should now look like this: ## Step 7: create your transaction First, let's define a function called `mintNFT(tokenData)` and create our transaction by doing the following: 1. Grab your **PRIVATE_KEY** and **PUBLIC_KEY** from the .env file. 1. Next, we'll need to figure out the account nonce. The nonce specification is used to keep track of the number of transactions sent from your address— which we need for security purposes and to prevent [replay attacks](https://www.alchemy.com/docs). To get the number of transactions sent from your address, we use [getTransactionCount](https://www.alchemy.com/docs). 1. Finally we'll set up our transaction with the following info: 1. **'from': PUBLIC_KEY** : The origin of our transaction is our public address 1. **'to': contractAddress** : The contract we wish to interact with and send the transaction 1. **'nonce': nonce** : The account nonce with the number of transactions send from our address 1. **'gas': estimatedGas** : The estimated gas needed to complete the transaction 1. **'maxPriorityFeePerGas': estimatedFee** : The estimated fee to bid per gas. 1. **'data': nftContract.methods.mintNFT\(PUBLIC_KEY, md\).encodeABI\(\)** : The computation we wish to perform in this transaction— which in this case is minting an NFT Your `mint-nft.js` file should look like this now: **How can I mint multiple NFTs:** To mint x number of NFTs in a single command, we can use a simple for loop running from 0 to x-1 within a function wrapping the minting process.  This would allow us to effectively mint x NFTs every time the wrapper mint function is called. ## Step 8: sign the transaction Now that we've created our transaction, we need to sign it in order to send it off. Here is where we'll use our private key. `web3.eth.sendSignedTransaction` will give us the transaction hash, which we can use to make sure our transaction was mined and didn't get dropped by the network. You'll notice in the transaction signing section, we've added some error checking so we know if our transaction successfully went through.‍ ## Step 9: call mintNFT and run node contract-interact.js Remember the metadata.json you uploaded to Pinata? Get its hashcode from Pinata and pass the following into a call to mintNFT [https://gateway.pinata.cloud/ipfs/](https://gateway.pinata.cloud/ipfs/%3Chash-code%3E)​ Here's how to get the hashcode: Double check that the hashcode you copied links to your `metadata.json` by loading [https://gateway.pinata.cloud/ipfs/](https://gateway.pinata.cloud/ipfs/%3Chash-code%3E) into a separate window. The page should look similar to the screenshot below: Altogether, your code should look something like this: Now, run `node scripts/mint-nft.js` to deploy your NFT. After a couple of seconds, you should see a response like this in your terminal: Next, visit your [Alchemy mempool](https://dashboard.alchemy.com/mempool) to see the status of your transaction \(whether it's pending, mined, or got dropped by the network\). If your transaction got dropped, it's also helpful to check [Ropsten Etherscan](https://sepolia.etherscan.io/) and search for your transaction hash. And that's it! You've now deployed AND minted with an NFT on the Ethereum blockchain 🎉 Using the `mint-nft.js` you can mint as many NFT's as your heart \(and wallet\) desires! Just be sure to pass in a new `tokenURI` describing the NFT's metadata --otherwise, you'll just end up making a bunch of identical ones with different IDs. Presumably, you'd like to be able to show off your NFT in your wallet 😉— so be sure to check out Part III: [How to View Your NFT in Your Wallet](/blog/how-to-view-your-nft-in-your-mobile-wallet). --- # How to Mint an NFT with Ethers.js URL: https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js.md This tutorial describes how to mint an NFT on the Ethereum blockchain using Ethers via the [ethers.js](https://www.alchemy.com/dapps/ethers-js) library, and our smart contract from Part I: How to Create an NFT. We'll also explore basic test se _Estimated time to complete this guide: ~10 minutes_ Plus, be sure to check out the rest of our NFT tutorial series: - 🌟  [How to mint an NFT using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) - 👛  [How to view your NFT in your mobile wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) - 💸  [How to set a price on an NFT](https://www.alchemy.com/blog/how-to-set-a-price-on-an-nft) - 💻  [NFT minter tutorial: How to create a full stack DApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) In [another tutorial](https://www.alchemy.com/docs/reference/nft-api-overview), we learned how to mint an NFT using Web3 and the [OpenZeppelin contracts library](https://docs.openzeppelin.com/contracts/erc721). In this exercise, we're going to walk you through an alternative implementation using version 4 of the [OpenZeppelin library](https://docs.openzeppelin.com/contracts/4.x/erc721) as well as the [Ethers.js](https://docs.ethers.io/) Ethereum library instead of Web3. We'll also cover the basics of testing your contract with [Hardhat](https://www.alchemy.com/dapps/hardhat) and [Waffle](https://www.alchemy.com/dapps/waffle). For this tutorial I'm using Yarn, but you can use npm/npx if you prefer. Lastly, we'll use TypeScript. This is fairly well documented, so we won't cover it here. In all other respects, this tutorial works the same as the Web3 version, including tools such as Pinata and IPFS. ## A quick reminder As a reminder, "minting an NFT" is the act of publishing a unique instance of your ERC721 token on the blockchain. This tutorial assumes that that you've successfully [deployed a smart contract to the Ropsten network in Part I](https://www.alchemy.com//blog/how-to-create-an-nft) of the NFT tutorial series, which includes installing Ethers. ## Step 1: create your Solidity contract [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) is library for secure smart contract development. You simply inherit their implementations of popular standards such as [ERC20](https://www.alchemy.com/overviews/erc20-solidity) or ERC721, and extend the behavior to your needs. We're going to put this file at contracts/MyNFT.sol. ## Step 2: create Hardhat tasks to deploy our contract and mint NFT's Create the file tasks/nft.ts containing the following: ## Step 3: create helpers You'll notice our tasks imported a few helpers. Here they are. `contract.ts` `env.ts` `provider.ts` Note that the final getProvider\(\) function uses the ropsten network. This argument is optional and defaults to "homestead" if omitted. We're using Alchemy of course, but there are several [supported alternatives](https://docs.ethers.io/v5/api/providers/#providers-getDefaultProvider). `wallet.ts` ## Step 4: create tests Under your test directory, create these files. Note that these tests are not comprehensive. They test a small subset of the ERC721 functionality offered by the OpenZeppelin library, and are intended to provide you with the building blocks to create more robust tests. `test/MyNFT.spec.ts (unit tests)` `tasks.spec.ts (integration specs)` `test-helpers.ts` Note this require the NPM libraries imported, including sinon, chai, and sinon-chai. The `sinon.restore()` call is necessary due to the use of stubbing. ## Step 5: configuration Here's our fairly bare bones `hardhat.config.ts`. Note the conditional to only invoke dotenv if we're not running tests. You might not want to run this in production, but rest assured that dotenv will silently ignore it if the .env file isn't present. ## Running our tasks Now that we've put these files in place, we can run hardhat to see our tasks \(excluding the built-in tasks for brevity\). Forget the arguments to your task? No problem. ## Running our tests To run our tests, we run `hardhat test`. ## Summary In this tutorial, we've created a firm foundation for a well tested NFT infrastructure based on [Solidity](https://www.alchemy.com/overviews/solidity). The wallet provided by **waffle.provider.getWallets\(\)** links to a local fake [Hardhat Network](https://hardhat.org/hardhat-network/) account that [conveniently comes preloaded](https://hardhat.org/hardhat-network/reference/#initial-state) with an eth balance that we can use to fund our test transactions. --- # How to polyfill node core modules in webpack 5 URL: https://www.alchemy.com/blog/how-to-polyfill-node-core-modules-in-webpack-5.md In this tutorial, you’ll learn how to polyfill node core modules in webpack version 5 and above using the **react-app-rewired package**, installing the required dependencies, and overriding the default webpack configuration. ### What causes the polyfill node core module error? Until the latest update to webpack version \_\_\_, webpack \< 5 used to include NodeJS polyfills by default. Because the [current version of webpack](https://github.com/webpack/webpack) no longer includes NodeJS polyfills by default, it is causing issues for developers that use create-react-app with webpack \> 5 to build applications with the [web3.js](https://www.alchemy.com/dapps/web3-js) and [alchemyweb3.js library](https://www.alchemy.com/docs/alchemy-quickstart-guide). Here’s what the polyfill node core module error looks like: ## 4 easy steps to fix polyfill node core modules in webpack 5 The main issue with create-react-app and the polyfill error is that create-react-app, by default, **hides the webpack config file inside the node-modules**, and by doing so, generates the file at build time leaving developers unable to modify it. Luckily there is a package, [react-app-rewired](https://www.npmjs.com/package/react-app-rewired), that allows developers to easily edit the webpack config file and fix the polyfill node core module error. ### 1. Install react-app-rewired First, install the reach-app-rewired package with your preferred package manager. Install react-app-rewired package with yarn: Install react-app-rewired package with npm: ### 2. Install missing dependencies Next, install these missing dependencies: - crypto-browserify - stream-browserify - assert - stream-http - https-browserify - os-browserify - url Install missing dependencies with yarn: yarn add process crypto-browserify stream-browserify assert stream-http https-browserify os-browserify url buffer Install missing dependencies with npm: ### 3. Override the create-react-app webpack config file In the root folder of your project, create a new file called config-overrides.js, and add the following code to it: This config-overrides.js code snippet is telling webpack how to resolve the missing dependencies that are needed to support web3 libraries and wallet providers in the browser. ### 4. Override package.json to include the webpack configuration Within the package.json file, replace **react-scripts** with **react-app-rewired** scripts for the three following scripts fields to update the webpack configuration: - start - build - test Here’s what the package.json file looks like **before** replacing the react-scripts: Here’s the package.json file **after** replacing the react-scripts with react-app-rewired scripts: That’s it! Now, the polyfill node core module error should be fixed, missing NodeJS polyfills should be included in your app, and your app should work with the web3.js and [Alchemyweb3.js library](https://github.com/alchemyplatform/alchemy-web3). --- # How to Set a Price on an NFT URL: https://www.alchemy.com/blog/how-to-set-a-price-on-an-nft.md Guide for how to set a price on your NFT Plus, be sure to check out the rest of our NFT tutorial series: - 🌟  [How to mint an NFT using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) - 🪄  [How to mint an NFT with Ether.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js) - 👛  [How to view your NFT in your mobile wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) - 💻  [NFT minter tutorial: How to create a full stack dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) You've just created an NFT and you want to sell it to your fellow NFT enthusiasts. To do this, we have to put a price on the NFT, and there are two primary ways to attach a price: 1. Within the smart contract \(this guide\) 1. Listing the NFT on an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) or platform \(more popular approach\) ## Setting an NFT price in-contract #### Require a fee upon minting **NOTE**: The following section is not a turnkey solution. In [Step 10](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) of the [NFT Creation](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) Tutorial, we would need to alter the [Solidity](https://www.alchemy.com/overviews/solidity) to accept payments for minting which means that any frontendweb3 / ethers.jslogic dictating minting would need to include themsg.valueparameter to allow for the transfer of ETH. This fee pattern is completely decentralized since it takes place in-contract and bakes the fee mechanism into the minting process itself. To implement a price on minting, you need to alter your smart contract to include this behavior. As a high-level summary, a NFT minting price can be enacted by making the mint function payable and requiring the user to pay a particular amount of ETH before triggering the transfer of the NFT to the buyer. Here's a sample piece of code for this type of minting process: `function mintToken(address to, uint256 tokenId, string uri) public virtual payable` - To allow users to pay ETH to mint an NFT, we need to make this function both public and payable.  public functions can be called internally or via messages to allow anyone to interact with the function.  \(We don't want this function to be only callable by the contract's owner since this would lock out prospective buyers!\) `require(msg.value >= 10, "Not enough ETH sent; check price!");` - This require statement requires that the payable function receive at least 10 wei, else the function will fail and revert. The `msg.value `parameter is the ETH value of amount sent in alongside the mint function.**‍** `mint(to, tokenId);` - This calls the mint function included in OpenZepplin's ERC721 contract file and  instantiates/transfers the selected NFT to the buyer. `_setTokenURI(tokenId, uri);` - This calls the **`\_setTokenURIfunction`** included in OpenZepplin's ERC721 contract file and sets the NFT URI to a particular endpoint.   ‌There are many different variants for implementing fees into minting contracts.  The one listed above is one of the most simple but many protocols also use fee patterns that are significantly more complex. ## Setting an NFT price via auction platforms #### List the NFT on OpenSea or another NFT auction platform A non-coding alternative would be to simply list your newly minted NFT on [OpenSea](https://www.alchemy.com/dapps/opensea) or another NFT auction website which would allow you to place a price on it. OpenSea's UI layer running on top of the NFT allows you to place prices, accept bids, or have other more complex auction methods and handles all the logic for you. For [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), use: [https://opensea.io/](https://opensea.io/) For a testnet, use: [https://testnets.opensea.io/](https://testnets.opensea.io/) **NOTE:** NFT auction platforms typically charge for listing and handling the auction process. Keep to date with different platforms to find competitive rates and maximize your NFT sales. [Zora](https://zora.co/) and [SuperRare](https://superrare.com/) are two alternative platforms that also offer similar services to OpenSea. --- # How to start a DAO - Alchemy Blog URL: https://www.alchemy.com/blog/how-to-start-a-dao.md As [DAOs](https://www.alchemy.com/dapps/top/daos) become an increasingly popular vehicle for launching Web3 projects and businesses, developers and builders alike have taken notice, and rightfully so.  But what exactly does it take to go from idea to launching a real-world DAO?  If you're interested in learning the basics of creating your first DAO we have you covered, looking at everything from your DAO structure to what tools you'll need to get started.  Before we dive in, we're going to assume [you've given the pros and cons of DAOs](https://www.web3.university/article/the-pros-and-cons-of-building-a-dao) careful thought, and are ready to put your knowledge into action. Additionally, while you can technically build a DAO on a variety of blockchains, we'll be using the Ethereum network for this breakdown, because as of this writing, it's the standard for creating DAOs.  ### 1. Decide your DAO structure Before you write a line of code or begin signing up for DAO tools, you'll want to spend some time deciding the reason and structure behind your DAO.  Remember, not every company or project is best suited to being run with a decentralized structure. a16z shares in their blog post on [building and running DAOs](https://future.a16z.com/building-and-running-a-dao-why-governance-matters/) that there’s an abundance of ebullience around DAOs whenever they perform well - individuals tend to apply them to every organization, community, or project, when oftentimes they’re not the best approach, similar to the 2017 ICO boom in crypto..  Of course, that isn't said to persuade you not to start one, but rather ensure you're doing so for the right reasons. As such, we've put together a list of questions to get you started.  While you don't have to answer every single one, you should have a general idea of each component before you go rushing to launch.  - What do you hope your DAO can accomplish? What's your short and long-term vision? - Does your organization need a decentralized non-hierarchical ownership structure?  - How will your DAO make decisions? - Are their current challenges in your industry that can be solved with a DAO?  - Will a DAO benefit your community, users, and customers? - Can you build your business without starting a DAO?  - Has there been someone who's done what you're hoping to accomplish before? - What technical and developer resources do you have available to launch your DAO? - Are you prepared to weather the inevitable storm of the crypto markets as a whole? - Is your DAO community-driven? If so, how do you anticipate your community helping build your vision?  Although it may be tempting to skip this very important first step, answering these questions will ultimately help you in the next step of the DAO process, determining your token allocation and rewards.  ### 2. Decide the type of DAO you want to build Structure

", tooltip: "", icon: "" }, "2": { title: "

Loose

", tooltip: "", icon: "" }, "3": { title: "

Tight

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Organization Type

", tooltip: "", icon: "" }, "2": { title: "

Grassroots

", tooltip: "", icon: "" }, "3": { title: "

Hierarchical

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Transparency

", tooltip: "", icon: "" }, "2": { title: "

Transparent

", tooltip: "", icon: "" }, "3": { title: "

Usually not transparent

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Membership

", tooltip: "", icon: "" }, "2": { title: "

Open

", tooltip: "", icon: "" }, "3": { title: "

Invite-only

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Geographic Scope

", tooltip: "", icon: "" }, "2": { title: "

Fully global

", tooltip: "", icon: "" }, "3": { title: "

Not always global

", tooltip: "", icon: "" }, id: 4, }, ], }} /> Because DAOs are still in their infancy, there are plenty of use cases that have yet to be tested. That said, there are a handful of practical paths you can take depending on your goals. Answering the questions in step 1, will help you have a clear picture of what you hope to accomplish. Next up, is determining the type of DAO you wish to explore.  [Ledger](https://www.alchemy.com/dapps/ledger) has put together an excellent resource showing various [examples of specific types of DAOs](https://www.ledger.com/academy/your-dao-guide) that we highly recommend you read. They cover the following types of DAOs: 1. Protocol DAOs 1. Grant DAOs 1. Social DAOs 1. Collector DAOs 1. Venture DAOs 1. Media DAOs 1. Social Media DAOs 1. Entertainment DAOs In addition to giving thought to the non-exhaustive list of questions above, it's also helpful to consider the overlap of traditional businesses and DAOs.  "_many DAOs and other digitally native organizations have properties similar to Nation-State and City-State governance. By identifying these communities and working with them on the Govrn Governance Model, we can keep improving the tools while waiting for the physical governance world to be ready for DAO Tooling._" - [Govrn DAO](https://medium.com/govrn/govrn-november-update-e4d2e25c7f58) Your DAO won't necessarily run with a Nation-State and City-Stage governance framework, but the context is useful in mapping out your general DAO structure to start.  ### 3. DAO token use cases Once you have a clear understanding of what you hope to accomplish with your DAO and the type of DAO you want to build, you'll next want to think strategically about your DAO token allocation, specific to your relationship with your community and long-term vision.  Getting this right from the start, will help you fundraise effectively, and increase buy-in from your initial supporters and community.  DAO tokens can be used for:  - Rewards and incentives - DAO governance and voting on the direction of the DAO - Unlocking other benefits and opportunities for your community DAO tokens allow for your users to be truly invested in the success of your company and be an active participant in your growth. While your DAO token doesn't need to grant governance or voting rights, in many situations, voting on key issues puts the community first.  For example, [LooksRare](https://www.alchemy.com/dapps/looksrare), a recently launched [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), took advantage of the fact that [OpenSea](https://www.alchemy.com/dapps/opensea) is likely not going to launch a token and decided to go directly to the NFT community.  Their token rewards community creators for selling NFTs and members for buying NFTs,, distributes trading fees to stakers, and pays creators instantly at the moment of sale. While holding their token $LOOKS doesn't give you active voting rights on the direction of the company, 100% of the fees earned on trading is distributed to users and those who are staking the $LOOKS DAO token.  Though LooksRare may not technically be considered a DAO, their community first approach has led to their incredibly rapid rise in popularity. In another example of how tokens can be used, the ENS community recently [voted to remove the Director of Operations and DAO Steward of the ENS DAO](https://cryptoslate.com/ens-brantly-millegan-fired-by-dao-over-controversial-tweet/) for hurtful comments he made on social media several years ago. Whether they should be able to remain on the team was put to a vote, and the decision was made. How will your tokens be used? Will they be used to vote on the direction of the company? Can they be staked for rewards based on the success of your business?  Having a clear use case for your DAO token is critical for long-term buy-in and success.  ### 4. Determine your DAO token supply, allocation, and rewards  While the difference between a billion tokens and a million may be a matter of zeros, there's certain psychological effects of pricing at play.  As research on the [psychological impact of cryptocurrency prices](https://www.sciencedirect.com/science/article/abs/pii/S1544612318309036) showed, _“Low-priced CCs have much less volume, much less market cap, and lower past monthly and quarterly return. Interestingly, low-priced CCs have higher numbers of coins, and as a result, their coins are more traded \(despite their lower trading volume in US dollars\).”_ Therefore, finding the Goldilock sweet spot of token supply is particularly important. For reference, you can read about how [ENS](https://docs.ens.domains/), [Uniswap](https://gov.uniswap.org/), and others came to their specific token supply and allocation.  While there's no direct right or wrong answer without full knowledge of your goals and community, it's a safe bet to choose a reasonable number in the millions or hundreds of millions, and avoid choosing an arbitrary high initial coin supply.   ### DAO token allocation Besides your chosen initial coin supply, the allocation of your tokens is equally, if not more important.  ‍Rewarding your community and ensuring you have enough funds in the community treasury is a delicate balance. As a business, it's critical to ensure you have enough working capital to reach your objectives, but at the same time rewarding early users or supporters.  Because the emergence of DAOs is still relatively new, many projects are experimenting with [how DAOs work](https://consensys.net/blog/blockchain-explained/what-is-a-dao-and-how-do-they-work/) and novel ways to distribute tokens and allocate resources to their treasury.  That said, DAOs may have different use cases for their token utility, which factors into your initial allocations. "_In some instances such as Uniswap, token holders can vote on distributing a portion of the fees that the protocol collects amongst themselves. In other protocols such as Compound, token holders can vote on distributing these protocol fees towards bug fixes and system upgrades._" - ConsenSys [blog](https://consensys.net/blog/blockchain-explained/what-is-a-dao-and-how-do-they-work/) This is why step one was so important:  Understanding the use case of your tokens and the allocation can help ensure you're optimal in growing your business while also creating value for your users and community.  [BarnbridgeDAO](https://medium.com/barnbridge/dao-first-a-new-governance-model-863e8434bf00) reflecting on their experience with governance had this to say:  "_Splitting out the governance from the start helped us to have an equitable vote across numerous parties where no one person could commit a cardinal sin in the early stages for distribution. It helped keep us honest and avoid proposals that would unilaterally benefit a single party. It required us to vote in every seed round fund provider and that forced us to look into each one for the merit they brought to the project. We stopped thinking of capital as pure capital but as what the people who would be using their capital to fund the seed round, in turn getting a seat at the voting table, would vote. It forced us to think about what their incentives were and if we wanted those people involved early on in the project._" ## 5. Build your DAO Once you’ve determined your DAO’s structure, type, token use cases, and allocation, it’s time to create your DAO. While DAO startups can build their own systems, there are many DAO startup tools and templates to set up the legal framework for your DAO, DAO token minting tools, teams, founding members, and creating your DAO’s name.  The most popular Ethereum DAO tools for establishing your DAO’s structure include: - **Aragon** - All-in-one DAO toolkit including governance and dispute resolution - **Colony** - Plug-n-Play DAO platform that takes 90s to launch - **Syndicate** - tooling specifically for starting an investment DAO - **OpenLaw -** quickly create legal documents that work with Ethereum - **DAOstack** - modular, open-source tool suite for launching a DAO - **Orca Protocol -** a “people-first” protocol helping people organize decentrally Once your DAO is set up, the next step is to set up your DAO treasury tools so you can effectively manage your tokens, fundraising, and treasury operations at scale. ## 6. Establish your DAO treasury After you've finalized the initial coin supply and allocation for your DAO token, it's time to ensure you're able to securely manage your funds within your DAO structure.  While there are many options to consider, [Safe (formerly Gnosis Safe)](https://safe.global/) is the industry standard when it comes to securing your DAO’s treasury, and leveraging the security of multisig wallets which require multiple people to sign transactions before they are executed.. [Safe](https://www.alchemy.com/dapps/gnosis-safe) has been providing security solutions in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) since 2017 and is incredibly active in the community.   From [CabinDao](https://creators.mirror.xyz/862A5rBtKX3BC8eEircDnGwPIJJTJ33hn-MvnukByPc) on why they choose Gnosis Safe: "_We chose Gnosis Safe as our crypto-native treasury platform. Gnosis provided two critical features: The ability to have each distribution of funds approved by multiple team members \(a.k.a. Multi-signature\), and a central location to preserve a mixture of funds: Ether and the social token._" ### DAO treasury tools DAOs, like traditional companies, control a treasury of funds that can be used to cover operational expenses \(e.g. DAO tooling costs\) and strategic investments \(e.g. partnerships\).  To secure the DAO’s capital, treasury management tools are used to ensure no one party can make unilateral decisions on how funds are spent and capital is truly owned by the DAO. Besides Safe and their [toolkit of DAO governance tools, SafeSnap](https://blog.gnosis.pm/introducing-safesnap-the-first-in-a-decentralized-governance-tool-suite-for-the-gnosis-safe-ea67eb95c34f), here are some of the most popular Ethereum DAO treasury options to consider: - **Parcel** - cost-effective treasury tools including payments, payroll, and payment requests - **Multis** - all-in-one DAO treasury management toolkit built on Safe - **Coinshift** - accounts, multisig tooling, payouts, and accounting built on Safe - **Llama** - multi-signature wallet dApp for DAOs - **Superfluid** - DAO tools for managing subscriptions, salaries, and income streams - **Juicebox** - DAO fundraising platform - **Utopia** - suite of treasury operation tools including payments, accounting, and reporting - **Request** - payments, payroll, and accounting tools for DAOs Given the importance of this decision, we highly suggest you take your time here. While you can technically switch DAO treasury tools, it's best to get it right from the start.  Your choice of treasury options will help you keep your funds safe, secure, and ready to effectively distribute funds when needed.  [The Bankless newsletter said it best](https://newsletter.banklesshq.com/p/how-to-launch-a-dao), "_The community treasury—shared ownership—is the major unlock from web3 that makes DAOs so valuable. The treasury is how the community coordinates and deploys capital to achieve the mission_." ### DAO governance tools Governance is the process of having members and token holders directly participate in making decisions. To effectively steward a decentralized organization, DAOs must have a trustworthy and accessible method for their token holders to vote on key issues including how treasury funds are distributed, spent, and allocated. The most popular Ethereum DAO governance tools include: - **Snapshot** - platform to submit and vote on governance proposals - **Tally** - view, vote, and delegate votes for on-chain DAO governance proposals - **Sybil** - on-chain governance and delegation tool built by [Uniswap](https://www.alchemy.com/dapps/uniswap) - **Commonwealth** - all-in-one platform for discussions, voting, and funding - **Boardroom** - seamless DAO governance toolkit - **Paladin** - deposit, borrow and manage governance tokens Proposing improvements, debating decisions, and voting on important topics is core to DAO operations. Having the platforms in place where members can connect their wallet, propose, review, and vote on key issues treasury and protocol decisions is essential tooling for DAOs. ## 7. Build a community While you theoretically can start a DAO in as little as [90 seconds using tools such as Colony](https://colony.io/), the reality is, virtually every successful DAO starts with an engaged and active community. Building a community should be first on the list.  If you do decide to build a DAO, your community will be the determining factor of your success. We'll save the in-depth community building tips for another article, but if you aren't already actively building a community or supporting your current one, you're at a severe disadvantage from the start.  Contrary to popular belief, building a community isn't just about having a Discord,Telegram group, or posting on Crypto Twitter. A thriving community is the result of builders and Web3 enthusiasts who put their users and supporters first.  As a successful anonymous builder in crypto once said:  _“The best time to build a community was years ago. The next best time is now.”_ ### DAO community building tools When organizational structures are decentralized and the locus of conversation is not a singular location, the importance for communication increases dramatically.  To accommodate people, potentially living all over the world, DAOs need scalable, accessible, and manageable communication platforms for all types of communication including messaging, forums, blogging, marketing promotion, token gating, and support for multiple languages. The most popular Ethereum DAO communication tools include: - **Discord** - the leading place for teams to communicate - **Twitter** - the most important social media platforms for DAOs and Web3 companies - **Telegram** - industry-leading messaging about great for large and small DAOs - **Discourse** - scalable forum platform for DAOs and Web3 startups - **Signal** - private messaging app preferred by people who appreciate privacy - **Medium** - blog publishing platform and alternative to a self-hosted blog - **Mirror** - article publishing and fundraising platform - **Collab.land** - token gating tool for creating DAO member-only Discord channels - **MintGate** - an Ethereum-based platform for building token-gated landing pages Regardless of DAO structure, members need to communicate effectively at scale, and these DAO communication tools enable decentralized teams to engage 24/7. Looking for more options? Check out DAOmaster’s [list of popular DAO tools](https://www.daomasters.xyz/). ## Start building your DAO today Web3 innovations like Decentralized Autonomous Organizations open up many exciting possibilities for startups, creators, and online communities. When starting a DAO, keep these steps in mind, explore different DAO tools, and always focus on your number one asset: your community. With the right tooling, tokenomics, and team, your DAO has every chance for success.   ‍ --- # How to Use a Blockchain API URL: https://www.alchemy.com/blog/how-to-use-a-blockchain-api.md Unlock the power of blockchain without writing a single line of low‑level code. This guide shows you exactly how to use a blockchain API—from fundamentals to practical implementation so you can launch on‑chain applications faster, cheaper, and with confidence. ## Why the right API matters more than the blockchain itself Imagine you’re building a decentralized finance \(DeFi\) app, a launchpad, or a supply‑chain tracking system. The most powerful component of your stack isn’t the front‑end UI, the database, or even the smart contracts. It's the bridge that connects your app to the blockchain: the blockchain API. A good API turns a complex, distributed network into a single, predictable interface, normalized data, real‑time streams, smart retries and failover. It hides node ops, consensus quirks, and edge cases so you ship features while it handles node uptime, consensus oddities, and scale. In this blog post, we’ll cover what a blockchain API is, how it helps you build on‑chain applications, and how to use them ## 1. What exactly is a blockchain API? A blockchain API is a set of programmatic interfaces \(usually HTTP/REST, WebSocket, or RPC\) that expose blockchain data, such as reading block data, querying balances, submitting transactions, or listening for events, over a standardized, developer‑friendly layer. > Think of it as remote-controlled blockchain access. Instead of running your own Bitcoin or Ethereum node directly, you call an API endpoint and get the same data you’d get from the node, without the overhead of syncing and maintaining the node yourself. ### Key components Endpoints

", tooltip: "", icon: "" }, "2": { title: "

JSON-RPC/REST or WebSocket routes (e.g., GET /v1/eth/transactions)

", tooltip: "", icon: "" }, "3": { title: "

Retrieve transaction history, read smart-contract state

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Authentication

", tooltip: "", icon: "" }, "2": { title: "

API keys/JWT/ OAuth, or signed requests

", tooltip: "", icon: "" }, "3": { title: "

Secure access, rate-limit enforcement

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Data Formats

", tooltip: "", icon: "" }, "2": { title: "

JSON, protobuf, GraphQL

", tooltip: "", icon: "" }, "3": { title: "

Consistent data structure for clients

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

SDKs & Libraries

", tooltip: "", icon: "" }, "2": { title: "

JS/TS, Python, Go, Java

", tooltip: "", icon: "" }, "3": { title: "

Reduce boilerplate and handle retries

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Webhooks / Event Subscriptions

", tooltip: "", icon: "" }, "2": { title: "

Real-time push notifications

", tooltip: "", icon: "" }, "3": { title: "

Listen for new blocks and wallet activity

", tooltip: "", icon: "" }, id: 4, }, ], }} /> These components together let you read, write, and listen to any blockchain that the API provider supports, whether that’s Ethereum, Solana, or every chain in between. ### On‑chain vs. off‑chain: where the API lives One important thing to remember is that a blockchain is an onchain database. However, a blockchain API is an offchain service that queries or writes to that onchain database. In other words, the API is your app’s gateway to the blockchain, enabling you to interact with onchain data, transact with onchain users, and write new data to the network. ## How a blockchain API helps you build onchain applications Even if you’re running your own node, you will still need to use the node’s API to connect to the blockchain. Without a blockchain API, your app can’t interact with, or react to, anything happening on the network. Hard to build an app without that. But when people hear the phrase “blockchain API,” they are often referring to 3rd party providers that run nodes and infrastructure for other teams, so all you have to do is interact with a simple API to get the read/write data you need for your application. These services, like those we provide at Alchemy, offer a number of additional benefits, beyond the simple functionality they provide. ### Speed to market Running a full blockchain node can take days to sync, requires constant hardware resources, and demands constant updates. It can be a significant burden for your team, particularly when operating at scale. A blockchain API eliminates these headaches, letting you: - Launch in days, not weeks - Scale instantly with the provider’s infrastructure - Focus on your customers, product features, UX, and business logic, and not on network connectivity and uptime ### Cost efficiency Running a high‑availability node is costly. It’s not as simple as spending a week syncing your node, and then your off to the races. Nodes crash. Nodes are inefficient for a number of data queries. If you’re operating at scale, you need a node fleet, optimized databases, intelligent routing, and a thousand other infrastructure optimizations and layers in order to serve millions of customers at scale. That translates to bare metal costs and a lot of engineering resources. Rather than build all of that out yourself, you can just use a blockchain API provider, many of which, Alchemy included, offer pay-as-you-go plans, so you’re only paying for the compute and resources you need. Infrastructure

", tooltip: "", icon: "" }, "2": { title: "

Hardware, bandwidth, storage

", tooltip: "", icon: "" }, "3": { title: "

No upfront cost

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Maintenance

", tooltip: "", icon: "" }, "2": { title: "

Updates, security patches

", tooltip: "", icon: "" }, "3": { title: "

Provider handles

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Scaling

", tooltip: "", icon: "" }, "2": { title: "

Manual hardware adds

", tooltip: "", icon: "" }, "3": { title: "

Auto-scale

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Total Operating Expense

", tooltip: "", icon: "" }, "2": { title: "

High

", tooltip: "", icon: "" }, "3": { title: "

Low/Variable

", tooltip: "", icon: "" }, id: 3, }, ], }} /> ### Reliability and security Professional API providers also provide a lot of features to improve reliability and security that you don’t even need to think about, apart from knowing that they deliver you 99.99% uptime and a highly reliable connection to a blockchain network, even during network spikes. That includes work like DDoS mitigation, rate limiting, load balancing, and continuous node health monitoring. ### Multichain access Instead of learning each network’s RPC endpoints, and data config, with a single provider, you can swap chains while using a single API key, with endpoints returning data in the same format, simplifying your codebase and making it much easier to go multichain. ## Selecting the right blockchain API provider ### Core criteria for API evaluation When picking a blockchain API provider, here are some criteria you should be thinking about when comparing various services: Supported chains

", tooltip: "", icon: "" }, "2": { title: "

Does the provider support the chains you need?

", tooltip: "", icon: "" }, "3": { title: "

Ethereum + Arbitrum + Solana?

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Performance (TPS, latency)

", tooltip: "", icon: "" }, "2": { title: "

Your app's use case may need certain performance thresholds in order to provide a satisfactory UX to users

", tooltip: "", icon: "" }, "3": { title: "

<50ms response?

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Pricing model

", tooltip: "", icon: "" }, "2": { title: "

How expensive is a given provider?

", tooltip: "", icon: "" }, "3": { title: "

0.0005USD per request?

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Security & compliance

", tooltip: "", icon: "" }, "2": { title: "

How secure is the API and does it offer the compliance features you need for your business?

", tooltip: "", icon: "" }, "3": { title: "

SOC2 Type 2 and ISO-27001 certified?

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

SDK & docs quality

", tooltip: "", icon: "" }, "2": { title: "

How easily can you get started with a particular provider?

", tooltip: "", icon: "" }, "3": { title: "

Quickstart guides, demos, comprehensive endpoint coverage?

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Support & SLA

", tooltip: "", icon: "" }, "2": { title: "

How reliable is the service and can they support you at scale?

", tooltip: "", icon: "" }, "3": { title: "

24/7 Slack support?

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Community & ecosystem

", tooltip: "", icon: "" }, "2": { title: "

How active is the provider's community? Are customers satisfied?

", tooltip: "", icon: "" }, "3": { title: "

Positive Discord chatter? Who are the provider's customers?

", tooltip: "", icon: "" }, id: 6, }, ], }} /> The good news is that there are a lot of [blockchain API providers](https://www.alchemy.com/overviews/blockchain-node-providers) you can choose from, so you can find whatever mix of reliability, cost, and features you need for your app. ## Step‑by‑step guide: how to use a blockchain API Below is the exact workflow to get from zero to fully‑integrated blockchain API. Follow each step, and you’ll be able to run a live on‑chain query within 2 minutes. ### Step 1: choose a provider & register 1. Sign up for an account at the provider’s dashboard \(e.g., [https://dashboard.alchemy.com](https://dashboard.alchemy.com)\). 1. Verify your email and set up 2‑factor authentication \(security best practice\). 1. Navigate to “Create App” or “Project.” Give it a clear name \(e.g., “MyDeFi‑API‑Prod”\) to separate dev/prod. ### Step 2: grab your API key \(or jwt\) - In the dashboard, locate “API Key” or “Token”. - Copy the key and store it in a secure vault \(e.g., HashiCorp Vault, AWS Secrets Manager\). Never hard‑code the key in your repo. ### Step 3: test a simple “get latest block” call Using cURL \(raw REST\) and your [Alchemy API key](https://dashboard.alchemy.com/), you can test a simple API call: \\\\ -H "Content-Type: application/json" \\\\ -d '{ "jsonrpc": "2.0", "method": "eth_getBlockByNumber", "params": [ "latest", false ], "id": 1 }'`} /> You can also use the Viem library. To install viem, use the command: `npm i viem` {API KEY}"), }); const block = await client.getBlock() console.log(block);`} /> You should see the latest [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) block: the API is working! ### Step 4: build a core use case \(e.g., read an erc‑20 balance\) "), }); const tokenAddress = "0x6B175474E89094C44Da98b954EedeAC495271d0F"; // DAI const walletAddress = "{WalletAddress}"; const dai = getContract({ address: tokenAddress, abi: erc20Abi, client, }); async function getBalance() { const [balance, decimals] = await Promise.all([ dai.read.balanceOf([walletAddress]), // returns bigint dai.read.decimals(), // returns number ]); console.log(\`Balance: \${formatUnits(balance, decimals)} DAI\`); } getBalance();`} /> Now you’ve read a token balance using a blockchain API, no node needed. Pretty cool. ### Step 5: set up webhooks / real‑time events Alongside a simple REST API, many providers also allow Webhooks or WebSocket subscriptions, which are useful for notifications and streaming block data respectively. #### Example: listen for new blocks ws.send(JSON.stringify({ jsonrpc: '2.0', id: 1, method: 'eth_subscribe', params: ['newHeads'] }))); ws.on('message', (d) => { const m = JSON.parse(d); if (m.method === 'eth_subscription') { console.log('New block:', BigInt(m.params.result.number)); } });`} /> ### Step 6: deploy to production & monitor 1. **Rate‑limit check**: Ensure you stay within your plan’s request quota \(e.g., 100 req/s\). 1. **Enable alerts**: Most dashboards have usage dashboards; set alerts for spikes. 1. **Logging**: Capture request/response latency for performance tuning. 1. **Fallback**: Keep a secondary provider in case of an outage. ## Best practices & common pitfalls ### Security measures Blockchains are ripe for hacks and exploits, no surprise when you think about how much money flows through the network. But as a result, you need to be particularly mindful of security. When it comes to API key security, you want to make sure you follow a number of best practices to secure your application. Those practices include taking actions like: - Rotate API keys regularly \(e.g. every 90 days\) to reduce exposure to key leakage - Use IP whitelisting to prevent unauthorized usage - Encrypt secret storage to protect your keys at rest - Validate responses to avoid malicious payloads ### Performance optimizations API calls can also be expensive. As you scale, you may want to optimize how your app interacts with the blockchain API. Some example optimizations include: - **Batch requests**: Many APIs support `eth\_batch` or [GraphQL](https://www.alchemy.com/dapps/graphql) queries to reduce round-trips - **Cache read-only data**: Cache token balances for a short TTL \(e.g. 30 seconds\) to lower request volume - **Use WebSockets for events**: Pull-polling wastes resources when push events can be more efficient ## Real‑world use cases: where companies leverage blockchain APIs today Uniswap

", tooltip: "", icon: "" }, "2": { title: "

Onchain token prices, user balances, high-volume trading

", tooltip: "", icon: "" }, "3": { title: "

High-throughput endpoint, real-time WebSocket

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

coinbase

", tooltip: "", icon: "" }, "2": { title: "

Wallet address verification & balance checks

", tooltip: "", icon: "" }, "3": { title: "

Secure, rate-limited API with robust SLA

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

OpenSea

", tooltip: "", icon: "" }, "2": { title: "

NFT metadata fetching, transaction history

", tooltip: "", icon: "" }, "3": { title: "

Low-latency, multichain support (Ethereum, Polygon)

", tooltip: "", icon: "" }, id: 2, }, ], }} /> These examples show that the same API can power consumer‑facing marketplaces, high‑frequency finance, and enterprise—all with the same blockchain API under the hood. ## Actionable takeaways - **Pick a provider** that matches your chain and performance requirements. - **Secure your API key** using secret management and rotate it regularly. - **Start with a simple query** \(e.g., block number\) to verify connectivity. - **Implement caching** and **batch requests** to stay within quotas and improve performance. - **Use Webhooks/WebSockets** for real‑time events rather than polling. - **Set up monitoring** \(alerts, dashboards\) for usage, latency, and error tracking. - **Test in a sandbox** before moving to production; keep a fallback provider ready. ## Start building onchain faster than ever A reliable blockchain API is the single most powerful tool you can add to a modern developer’s toolbox. By abstracting the heavy lifting of node operation, it lets you focus on your customers, your product value, and revenue‑generating features. Now you know how to use a blockchain API, are you ready to try one out? Make an Alchemy account and make your first API call from our dashboard. [Get started](https://dashboard.alchemy.com/). ## Frequently asked questions ### What is a blockchain API? A blockchain API is a set of programmatic interfaces (usually HTTP/REST, WebSocket, or RPC) that expose blockchain data and functions over a standardized, developer-friendly layer, allowing you to read blocks, query balances, submit transactions, or listen for events without running your own node. ### Why should I use a blockchain API instead of running my own node? Blockchain APIs let you launch in days instead of weeks, eliminate the cost and complexity of maintaining high-availability node infrastructure, and provide 99.99% uptime with built-in DDoS protection, rate limiting, and load balancing. ### How do I get started with our blockchain API? Sign up at dashboard.alchemy.com, create a new app or project, copy your API key, and store it securely in a vault like AWS Secrets Manager, never hard-code it in your repo. ### What's the difference between HTTP and WebSocket connections? HTTP is for one-off requests like fetching the latest block or querying a token balance, while WebSockets enable real-time subscriptions such as listening for new blocks or contract events without polling. ### How can I check an ERC-20 token balance using a blockchain API? Use a library like Viem to create a public client with your API endpoint, get the contract with the ERC-20 ABI, then call balanceOf() on the wallet address and format the result with decimals. ### What should I consider when moving to production? Monitor rate limits and set up usage alerts, implement logging for latency, secure your API key with rotation every 90 days, and keep a fallback provider ready in case of an outage. ### How can I optimize performance and reduce API costs? Batch requests to reduce round-trips, cache read-only data like token balances for a short TTL (e.g. 30 seconds), and use WebSockets for events instead of pull-polling to lower request volume. ### What are common use cases for blockchain APIs? Blockchain APIs power NFT marketplaces, DeFi applications, supply-chain tracking systems, gaming economies, and enterprise solutions, all using the same API to read, write, and listen to on-chain data. --- # How to Use AI Tools in Crypto App Development URL: https://www.alchemy.com/blog/how-to-use-ai-tools-in-crypto-app-development.md AI is changing how developers build in Web3, not by replacing people, but by helping developers accelerate through the initial development phase and focus on higher-level problem-solving. Instead of wasting hours centering a div or debugging an obscure Ethers.js error, devs are using AI tools to spin up UIs, write safe contracts, scaffold backends, and troubleshoot weird wallet issues. In this guide, we’ll walk through how real developers are putting AI to work across the stack. We’ll look at tools like Cursor, ChatGPT, Claude, Replit, Alchemy infra for [AI Agents](https://www.alchemy.com/dapps/best/ai-agents) and more, with working code, common errors, and real-world setup examples. ## Understanding crypto app development Crypto app development isn’t just deploying a smart contract. It means building an end-to-end experience that runs onchain often across multiple layers: - A smart contract \([Solidity](https://www.alchemy.com/overviews/solidity), Rust, etc.\) - A frontend \(React, Next.js, etc.\) - Wallet integration [\(e.g., Alchemy Smart Wallets\)](https://www.alchemy.com/smart-wallets) - [Backend services or APIs](https://www.alchemy.com/rpc-api) - Blockchain data indexing/querying And sometimes building a crypto app goes beyond writing smart contracts. You might need a custom environment to handle transactions, which used to involve deep blockchain know-how and heavy setup. Tools like [Alchemy Rollups](https://www.alchemy.com/rollups) now make this much easier. With a few commands, you can launch a "rollup" which is a faster, low-cost layer that works alongside the main blockchain. It’s great for apps that need speed, scalability, or more control. And you don’t need to be a blockchain expert to use it. But more options mean more complexity and from smart contracts and frontends to wallets and rollups, the complexity can stack up quickly. And through it all, your app still needs to be secure, composable, and gas-efficient. And AI helps developers stay in flow. Instead of switching between Stack Overflow tabs and outdated docs, you can query AI with the actual context of your project and get targeted help. The best way to see what AI can do for your crypto app is to watch it in action. This article is packed with tools that crypto app developers are already using to move faster, fix smarter, and launch with confidence. We’ll walk through AI tools like ChatGPT, Claude, Cursor, and others, each bringing something different to the table. From generating smart contract tests to debugging tricky wallet issues, these tools are reshaping the way crypto apps get built. Whether you're experimenting on weekends or scaling a live app, this article will show you how to weave AI tools into your workflow and why it's quickly becoming a must-have for every developer. ## AI tools to integrate into your crypto app development workflow ### Cursor AI: the IDE that understands your codebase [**Cursor**](https://cursor.com) is a specialized AI-first IDE built on top of [VS Code](https://www.alchemy.com/dapps/vs-code). Unlike traditional plugins, Cursor's AI integrates at the IDE level with full access to file context, memory, and navigation. For crypto app developers, this means you can: - Reference specific contracts or components in prompts using `@` mentions. - Pull in your own documentation \(e.g., Alchemy's [Smart Wallets SDK](https://www.alchemy.com/docs/wallets)\) and query it alongside your code. - Scaffold full-stack apps with preconfigured dependencies. - Debug Solidity functions without leaving your editor. - Generate automated test suites tailored to your contracts. #### Key features of cursor: Contextual Awareness with `@`** Mentions** Tag files and folders with `@MyContract.sol` or `@/components` in prompts. Example: > “@ERC20.sol Why is my transferFrom\(\) failing when allowance is set?” **Documentation Context Integration** Upload docs \(e.g. Alchemy SDK\). Index them in-memory and reference using prompts like: > “@alchemy docs what does getAssetTransfers\(\) return?” **MVP Generation** Cursor will create the file structure, dependencies, and base UI in seconds. Example: > “Build a React dApp with Alchemy Smart Wallet and fetch NFT balances.” **Smart Contract Debugging** Cursor will explain the issue based on access control logic. Example: > “@MyContract.sol Why is the mint function reverting for users without role 0x01” **Automated Testing** Example: > "Write Foundry tests for ERC-721 minting with edge cases \(supply cap, invalid caller\)." #### Example: build a full stack dapp with Alchemy smart wallets using AI Prompt: > Create a full stack app with [Alchemy Smart Wallets](https://www.alchemy.com/smart-wallets) using @[Alchemy docs](https://www.alchemy.com/docs) and write boilerplate smart contract for NFT minting functions. This kind of prompt works perfectly in AI-powered IDEs like Cursor. The AI will: - Reference the Alchemy docs for Smart Wallet integration details and more. - Pull in best practices for an NFT minting smart contract. - Generate a Next.js frontend with Alchemy Smart Wallets \(or another stack of your choice, this is just one example setup\) - Scaffold a starter ERC‑721 contract with supply caps and per-wallet limits. - Create a Hardhat deployment script. - Set up a minimal backend API using the Alchemy SDK for fetching NFT data. With one request, you can have a fully functional starter dApp ready to deploy. ### ChatGPT: flexible AI support across the stack [**ChatGPT**](https://openai.com/index/chatgpt/) is a powerful tool for working across the full [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) stack. It’s especially useful for: - Troubleshooting SDKs and APIs - Generating code snippets for both frontend and backend - Answering smart contract questions and helping debug logic #### Example: debugging a smart contract error with an AI prompt Prompt: > "Why does my transfer function fail when msg.sender is not owner?" ChatGPT can quickly spot issues like missing access control modifiers \(`onlyOwner`\) or flaws in how permissions are being checked. #### Example: using AI to write Ethers.js to fetch token balances Prompt: > "Write a function in Ethers.js that fetches the balance of a given ERC20 token." Response: **Explanation:** - `Alchemy` SDK simplifies access to Ethereum and includes enhanced APIs out of the box. - `alchemy.core.getTokenBalances` fetches token balances for a given wallet address. - You can pass in one or multiple token addresses to query specific ERC-20 balances. You can also use ChatGPT to generate deployment scripts, config files for Hardhat, Foundry, or Brownie, and custom frontend hooks tailored to your project. --- ### Claude: deep context reasoning AI for contract engineering [Claude](https://claude.ai)’s strength lies in understanding and operating on large codebases with high context windows. It’s ideal for: - Smart contract audits. - Protocol architecture feedback. - Refactoring complex systems. #### Example: audit a vault contract using an AI prompt Prompt: > "Identify risks in this Solidity vault contract with withdrawal and deposit logic." Claude might detect: - Reentrancy vulnerabilities. - Missed balance updates. - Non-compliant fallback logic. ⚠️ AI tools like Claude can spot common issues, but don’t rely on them alone for security audits. Always follow up with manual reviews and expert eyes, especially for contracts holding real value. ### Refactoring example Prompt: > "Split this monolithic contract into upgradable proxy pattern with separate logic and storage contracts." Claude will return multiple files, clear separation of concerns, and security considerations. --- ### Lovable: AI tool for prompt-to-frontend with design system integration [**Lovable**](https://lovable.dev) enables frontend development from: - Raw prompts - Figma files - Component-level requests #### Example prompt for AI: > "Generate a dashboard with a token balance card, price chart \(via CoinGecko\), and Connect Wallet button." **Generated stack:** - React with Tailwind CSS - `Card.tsx`, `Wallet.tsx`, `Chart.tsx` - API calls for token price Supabase support allows you to go from frontend-only to full-stack. #### Example code output \(wallet.tsx\) from AI: ); }`} /> Lovable is ideal for solo builders who want fast iteration with design consistency. --- ### Bolt: one-prompt full-stack dapp scaffolding using AI [Bolt.new](https://bolt.new) allows you to create a working crypto app with one descriptive prompt. It generates: - Smart contract - Frontend \(React, Next.js\) - SDK/API integrations #### Example prompt for AI: > "Build a Base L2 dApp where users can mint a limited-edition NFT, view their holdings, and receive confirmation via email." **Output Includes:** - `MintNFT.sol` with capped supply logic. - Frontend with `pages/index.tsx`, Alchemy integration. - Optional Supabase or Postmark email webhook integration. Bolt.new also includes commands to run and test the entire system locally or deploy to testnet. --- ### Replit: real-time cloud dev and AI automation for Web3 [**Replit**](https://replit.com) is a cloud-based, always-on development environment that supports a wide range of languages including JavaScript, Python, and Solidity. For crypto developers, it stands out for its speed, simplicity, and built-in AI features. Here’s what makes it especially useful for Web3: - Instantly prototype smart contracts or APIs, no setup required. - Use Ghostwriter, Replit’s AI assistant, to generate or refactor code on the fly. - Collaborate with your team in real time, with live code sharing. - Deploy dApp backends fast using Replit’s serverless hosting. #### Getting started with Solidity Replit comes with Solidity environments ready to go. You can: - Write, compile, and test contracts using templates built on Hardhat or Foundry. - Use Ghostwriter AI to scaffold entire contracts from just a simple prompt. #### Prompt: > "Create a Solidity contract that locks ETH for 7 days and allows withdrawal only after." Ghostwriter AI’s Output: uint256) public balances; // Stores unlock timestamps per address mapping(address => uint256) public unlockTime; // Accepts ETH and locks it for 7 days function lockFunds() external payable { require(msg.value > 0, "Send ETH"); balances[msg.sender] += msg.value; unlockTime[msg.sender] = block.timestamp + 7 days; } // Allows withdrawal only after unlock time function withdraw() external { require(block.timestamp >= unlockTime[msg.sender], "Still locked"); uint256 amount = balances[msg.sender]; balances[msg.sender] = 0; payable(msg.sender).transfer(amount); } }`} /> **Explanation:** - `lockFunds`: accepts ETH deposits and sets a 7-day unlock timer. - `withdraw`: lets users claim their ETH only after the timer has passed. #### Use replit AI to write code for monitoring and webhooks with node.js You can use Replit AI to write backends that listen for on-chain events: { if (Number(log.value) > 1e18) { console.log("Whale transfer detected:", log); } }); // Spin up a basic Express server for any additional endpoints app.listen(3000, () => console.log("Listening on port 3000"));`} /> **Explanation:** - Connects to Alchemy’s WebSocket endpoint on Sepolia testnet. - Listens for ERC-20 Transfer events and logs large transfers. - Starts an Express server for any additional API or webhook logic. #### Deploy backend services Replit supports persistent deployments: - Host webhook handlers or analytics endpoints. - Store user data using Replit DB or PostgreSQL plugin. - Automate scheduled tasks for monitoring chain state. With proper `.env` setup and lightweight Node.js code, devs can spin up observability dashboards or custom Discord bots directly from Replit. Replit makes it easy to iterate across frontend/backend/contract layers, especially for developers who want fast feedback cycles, team collaboration, and built-in AI help. ## AI tooling for error handling in smart contracts and backends AI tools can assist with robust error handling. When generating contracts or backend scripts, consider using AI tools to embedding logs and fallback checks for observability. You can prompt AI tools to: - **Add revert conditions** to prevent invalid transactions. - **Suggest logging strategies** for backend scripts. - **Generate test cases** for specific error scenarios. Example prompts: > "Suggest safe error handling patterns for an ERC-721 mint function with a supply cap." > "Add descriptive logging to this mint transaction handler so failures are easy to debug." Then, AI can output something like: #### Smart contract example with revert logging #### Backend logging example ## Chaining AI tools together in a workflow Smart devs combine AI tools to cover the full stack. Here's how: 1. **Use Claude to generate the base smart contract** Prompt: "Write an upgradable ERC-721A contract with per-wallet minting limits and whitelist support." 1. **Import into Cursor IDE** Paste or load the Claude-generated contract. Prompt Cursor: "Generate tests for this contract using Foundry." 1. **Generate frontend in Bolt or Lovable** Prompt Bolt: "Build a frontend to connect wallet, whitelist mint, and display user NFTs." 1. **Debug edge cases using ChatGPT** Prompt: "Why does RainbowKit fail to detect MetaMask on Safari mobile?" ## Troubleshooting scenarios using AI tools ### Alchemy Smart Wallet not displaying or initializing properly This example shows how AI can help with a very specific but high-friction issue that often blocks Web3 app launches: wallet integrations. In practice, AI tools can speed up diagnosing these wallet-specific errors by reading your actual code and project setup, cross-referencing SDK docs, and suggesting exact code changes. **Common issues AI can help identify:** - `AlchemyAccountsProvider` not wrapping your app. - Missing or incorrect `createConfig\(\)` setup. - `QueryClientProvider` not provided. - API key or chain misconfiguration. - Server-side rendering not handled correctly. **AI-powered fix suggestion:** ); }`} /> **Checklist:** - `createConfig\(\)` is called with valid `apiKey` and `chain`. - Wrapped in both `AlchemyAccountsProvider` and `QueryClientProvider`. - No mismatches between SSR flags and framework setup \(e.g., Next.js\). - Wallet UI \(`\`\) is used inside a component rendered after hydration. **Optional AI Prompt:** > "Help me debug why [Alchemy Smart Wallet](https://www.alchemy.com/smart-wallets) isn't showing in my React app \(using @account-kit/react\). Here's my config..." This prompt will give you updated code checks and integration help from AI agents familiar with Alchemy SDK patterns. --- ## Building onchain** AI **workflows with Alchemy infra and MCP Developers can use Alchemy’s core infrastructure, including smart wallets, Data APIs, and the Model Context Protocol \(MCP\), to power AI-driven onchain workflows. Together, these capabilities enable the creation of ai agents that securely manage wallets, execute transactions, and move assets across multiple chains with consistent reliability and safety. Learn more at [alchemy.com/ai-agents.](https://www.alchemy.com/ai-agents) ### What these tools enable for devs Here’s how these tools help devs in onchain AI development and support each step of a developer’s workflow: - Secure Wallet Management: Agents use smart wallets with detailed permission controls, optional human-in-the-loop approvals, and built-in spending limits, giving you strong guardrails for automation. - AI-Tuned Blockchain Data: Alchemy’s Model Context Protocol \(MCP\) gives agents access to real-time, cross-chain data including portfolio insights, transfer history, token prices, and more. No manual indexing needed. - Deploy Across 50\+ Chains: Developers can build agent once, and run it anywhere, while Alchemy’s APIs ensure consistent performance. ## What’s model context protocol \(mcp\)? In this section we will explore MCPs, and how we can use AI to query on-chain data. MCP \(Model Context Protocol\) is the structured interface that lets AI agents pull in blockchain data without having to build custom indexing logic. It gives your agent high-context visibility into on-chain activity from the start. With MCP, your AI can: - Pull real-time, multi-chain blockchain data on demand. - Access information like token prices, transactions, NFTs, and wallet activity. - Operate without custom backend infrastructure for indexing. Add Alchemy to your MCP config in Cursor or Claude Desktop: ### Supported MCP methods \(ai-callable\) - `fetchTokenPriceBySymbol` - `fetchTokenPriceByAddress` - `fetchTokenPriceHistoryBySymbol` - `fetchTokensOwnedByMultichainAddresses` - `fetchMultichainWalletAddressTransactionHistory` - `fetchTransfers` - `fetchNftsOwnedByMultichainAddresses` - `fetchNftContractDataByMultichainAddress` ### Getting onchain data using MCP-connected AI Here, we are making a query in natural language asking an MCP-connected AI to find all NFTs a specific wallet owns across Base and Ethereum, along with each NFT’s floor price. The AI converts this into a structured MCP method call. Prompt: > "Get the NFTs owned by wallet 0x123... on Base and Ethereum. Show floor prices." The AI calls: In the output, we will get the requested data from AI in a structured manner. ### Using MCP inspector for debugging Alchemy’s MCP Inspector helps devs debug their MCP server by providing a visual frontend interface to test their methods on the MCP. To start the MCP Inspector UI run following commands in the terminal. To install all the dependencies: To start the frontend: This opens a local dashboard where you can: - Test methods - View responses - Validate inputs - Debug errors With this, you can test MCP features with a visual frontend. Checkout the [Github](https://github.com/alchemyplatform/alchemy-mcp-server) for Alchemy’s MCP, and you can also contribute to MCP’s Open source codebase. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) and connect the [MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) teach the coding agent the Alchemy surface. The hosted MCP server exposes live chain data as tools through OAuth and app selection. The [CLI](https://www.alchemy.com/docs/alchemy-cli) and [agent platform](https://www.alchemy.com/agents) handle wallet-based x402 access. ## Real-world use case: onchain AI layers Onchain AI is not just about building with AI tools or deploying autonomous agents, some are even creating entire AI-oriented blockchain layers, purpose-built for AI workloads, and open for anyone to build on. ### Virtuals protocol [Virtuals Protocol](https://virtuals.io/) leveraged [Alchemy's smart wallets](https://www.alchemy.com/smart-wallets) and Agent Commerce Protocol \(ACP\) to process over $8B\+ in onchain value across 17,000 autonomous agents. **Capabilities** - **Savings agents**: Automated yield strategies \(e.g., Moonwell yield bots\). - **Market analytics & trading bots**: Real-time data analysis and execution. - **Creator economy agents**: Monetization tools for digital creators. **Outcome**: Fully autonomous onchain agents that coordinate and transfer value without human intervention. Beyond onchain value transfer, projects like [AgentCard](https://agentcard.ai/) extend agent commerce to traditional merchants by issuing credit cards that AI agents can use for any online purchase, with real-time tracking and spending controls. ### Gensyn [Gensyn](https://www.gensyn.ai/) is building a decentralized AI compute network, a blockchain layer that coordinates and verifies AI training and inference across distributed compute providers. **Capabilities** - **AI compute marketplace**: Match compute buyers and sellers. - **Onchain verification**: Ensure integrity of training and inference jobs. - **Scalable coordination**: Handle global participation in AI workloads. **Outcome**: Trust-minimized AI compute accessible from anywhere. ### Gaia network [Gaia](https://www.gaianet.ai/) is a blockchain ecosystem focused on hosting and running AI-native applications via a decentralized node network, rather than inside smart contracts. Its data marketplace is in development, aiming to expand access to AI training resources. **Capabilities** - **Model deployment**: Host AI models on a global network of decentralized nodes. - **Data marketplaces** _\(coming soon\)_: Facilitate the exchange of training datasets. - **Integrated inference services**: Provide AI-powered functionality to connected applications. **Outcome**: A distributed infrastructure for building and monetizing AI-powered [apps](https://www.alchemy.com/dapps/top/defi-dapps), with compute and data resources accessible to developers worldwide. By combining these specialized layers with broader AI tooling and agent frameworks, builders can tap into a growing onchain AI ecosystem that spans autonomous execution, decentralized compute, and global-scale AI infrastructure. ## Unlock your crypto development with AI tools AI is rapidly changing how crypto applications are built. From reducing setup time to generating full-stack logic and deploying secure agents, these tools are reshaping what's possible for solo devs and teams alike. Rather than replacing developers, AI becomes a force multiplier. It handles the boilerplate so you can solve real protocol design, architecture, and product challenges. If you're not building with AI, you're building slower. Time to level up. Ready to build your first AI agent? Visit [alchemy.com/ai-agents](https://www.alchemy.com/ai-agents) to get started. ## Frequently asked questions ### What AI tools are best for crypto app development? Cursor AI, ChatGPT, Claude, Replit, Lovable, and Bolt are top AI tools for building crypto apps. Cursor excels at IDE-level code understanding for debugging and scaffolding, ChatGPT helps troubleshoot SDKs and generate scripts, Claude handles deep contract audits and refactoring, and Replit offers cloud-based prototyping with AI-assisted coding. ### How does Cursor AI help with building crypto apps? Cursor integrates AI directly into your IDE, allowing you to reference specific contracts or documentation using @ mentions, scaffold full-stack apps with preconfigured dependencies, debug Solidity functions without leaving your editor, and generate automated test suites tailored to your contracts. ### Can ChatGPT help with Alchemy SDK integration? Yes, ChatGPT can explain Alchemy SDK methods like getTokenBalances for fetching ERC-20 balances, generate deployment scripts for Hardhat or Foundry, and create custom frontend hooks tailored to your project. ### What is Replit's role in Web3 development? Replit provides instant smart contract prototyping with no setup required, AI-assisted code generation and refactoring via Ghostwriter, real-time collaboration features, and serverless deployment capabilities for dApp backends. ### How do we support AI-driven onchain workflows? Our infrastructure includes smart wallets with permission controls, Data APIs for cross-chain access, and Model Context Protocol (MCP) that gives AI agents real-time blockchain data across 50+ chains without custom indexing. ### What is Model Context Protocol (MCP)? MCP is a structured interface that lets AI agents pull blockchain data on demand without building custom indexing logic. It provides access to token prices, transactions, NFTs, and wallet activity across multiple chains in real-time. ### Should I rely on AI tools for smart contract security audits? No, AI tools can spot common issues but should not be relied on alone for security audits. Always follow up with manual reviews and expert audits, especially for contracts holding real value. ### Can AI tools be combined in a single crypto development workflow? Yes, developers can chain AI tools together effectively, use Claude to generate base contracts, import into Cursor for testing, generate frontends in Bolt or Lovable, and debug edge cases with ChatGPT for comprehensive full-stack development. --- # How to View Your NFT in Your Mobile Wallet URL: https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet.md This tutorial describes how to view an existing an NFT on your Mobile Metamask wallet. _Estimated time to complete this guide: ~3 minutes_ Plus, be sure to check out the rest of our NFT tutorial series: - 🌟  [How to mint an NFT using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) - 🪄  [How to mint an NFT with Ether.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js) - 💸  [How to set a price on an NFT](https://www.alchemy.com/blog/how-to-set-a-price-on-an-nft) - 💻  [NFT minter tutorial: How to create a full stack dApp](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) Congrats! You've made it to the shortest and simplest part of our NFT tutorial series:  how to view your freshly minted NFT in your virtual wallet. We'll be using Metamask for this example since it is what we used in the previous two parts. As a prerequisite, you should already have Metamask on mobile installed, and it should include the account to which you minted your NFT — you can get the app for free on [iOS](https://apps.apple.com/us/app/metamask-blockchain-wallet/id1438144202), or [Android](https://play.google.com/store/apps/details?id=io.metamask&hl=en_US&gl=US) . ## Step 1: set your network to Ropsten At the top of the app, press the "Wallet" button, after which you'll be prompted to select a network. As our NFT was minted on the Ropsten network, you'll want to select Ropsten as your network. ## Step 2: add your collectable to MetaMask Once you're on the Ropsten network, select the "Collectibles" tab on the right and add the NFT smart contract address and the ID of your NFT— which you should be able to find on [Etherscan](https://www.alchemy.com/dapps/etherscan) based on the transaction hash from your [NFT minted in Part II](/blog/how-to-mint-an-nft-using-web3-js) of our tutorial. You may need to refresh a couple times to view your NFT —but it will be there! 😄 Congrats! You can now view your NFT in your wallet! We can't wait to see how you'll take the NFT world by storm! 🎨🪄🧙🤑🎊 --- # How we benchmark RPC performance | Alchemy URL: https://www.alchemy.com/blog/how-we-benchmark-rpc-performance.md [Benchmark numbers](https://www.alchemy.com/benchmarks) are easy to quote and easy to misread. That is especially true for [RPC performance](https://www.alchemy.com/overviews/rpc-node). One latency chart can hide several different questions: where the request started, which method ran, what payload was sent, what counted as success, how failures were handled, and whether the test measured one RPC call or a full application workflow. We built our [public EVM read benchmark](https://www.alchemy.com/benchmarks) to make those details visible. The goal is to show how providers compare under a controlled, repeatable test setup. Our benchmark answers how providers compare on common EVM JSON-RPC read methods across selected chains, regions, and time windows. These are method-level infrastructure benchmarks: one controlled methodology run separately for each method, chain, provider, and region. They measure individual RPC requests, not full application workflows like loading a wallet portfolio, preparing a swap, or polling transaction status across several calls. That distinction matters: method-level results help developers compare provider behavior, but they are not a complete model of any production app. ## What is Alchemy's public EVM read benchmark? Alchemy's [public EVM read benchmark](https://www.alchemy.com/benchmarks) is a controlled test that measures how RPC providers respond to configured EVM JSON-RPC read requests. It captures successful-response latency (average, p50, and p95), success rate, and failed-request counts, grouped across providers, chains, methods, regions, and time windows. We calculate latency only from successful responses. Failed attempts and timeouts are tracked separately, through success rate and failed-request counts. This keeps the benchmark focused on both speed and reliability rather than treating either metric in isolation. ## Definitions and measurement rules The definitions, setup, and rules the rest of this post builds on. Each row is expanded in the sections below. ## What does the benchmark cover? The benchmark covers Ethereum, Optimism, Arbitrum, Base, and World Chain mainnets, and the public provider set includes Alchemy, dRPC, Infura, and QuickNode. We selected these to cover widely used EVM mainnets and the RPC providers developers most often evaluate, with room to expand the set over time. For a given method, every provider receives the same configured JSON-RPC request. We run each test from controlled AWS ECS regions: US East, US West, EU Central, and AP Southeast. Within a region, every provider is tested from the same runner location, because network distance can change latency. If we tested one provider from Virginia and another from Singapore, the result would tell you as much about geography as about provider performance. Each result is grouped by: - Provider - Chain - Method - Region - Trailing time window ## What does the benchmark send to each provider? A method is the operation being called, like `eth_getBalance` or `eth_getLogs`. A payload is the full request we send to exercise that method, including its parameters. The distinction matters because performance depends on both: a cheap lookup and a large range scan place very different load on a provider, and even one method can shift with its inputs. For a given method, every provider receives the same configured JSON-RPC payload, on a standard paid account. That is the fairness rule: same method, same parameters, same chain, same region, same timeout, same success criteria, and no special treatment for any provider. Today that means seven configured tests on most chains, and eight on Ethereum: - `eth_getBalance`: an account balance lookup - `eth_getBlockByNumber` at the `earliest` block: a header read at the start of the chain - `eth_getBlockByNumber` at the `latest` block: a header read at the chain head - `eth_getLogs` over a 1-block range - `eth_getLogs` over a 10-block range - `eth_getLogs` over a 100-block range - `eth_getLogs` over a 1,000-block range (Ethereum only) - `eth_getTransactionReceipt`: a single transaction receipt lookup Some payloads move with the chain. Calls that use the `latest` block tag, for example, change as the chain advances. Others use fixed historical inputs: the Ethereum `eth_getLogs` tests use configured historical block ranges for the LINK token contract. The mix is intentional: - Fixed inputs make parts of the test repeatable. - Moving inputs make parts of the test reflect live chain state. - Fixed historical inputs may be easier for providers to cache. RPC performance can vary widely depending on method, parameters, block range, response size, cache behavior, and chain state. When reading the benchmark, focus on the method and parameters closest to your own workload. ## How is performance measured? We measure performance through two signals, each answering a different question: latency, how fast successful responses come back (reported as average, p50, and p95), and success rate, how often requests succeed at all (with the failed-request counts behind it). The two are related but distinct: a fast successful response is not the same as a reliable one. We report them side by side so neither hides the other. ## How is latency measured? Latency is the runner's measured request-and-response time for a successful JSON-RPC HTTP POST. The timer starts when the runner sends the request and stops when it receives the response. If a provider returns a valid response in 120 milliseconds, that request has 120 ms of latency. We use warmed, reused HTTP connections. In plain English, we are not timing the first setup steps needed to open a new connection, such as DNS lookup, TCP connection setup, or the TLS handshake. The runner primes the connection first, then measures the POST itself over a pooled keep-alive connection. That brings the latency number closer to repeat application traffic, where clients commonly reuse connections. It also means you should not read these numbers as cold first-request latency. Only successful responses enter the latency distribution. If a request times out, returns an HTTP error, returns a JSON-RPC error object, fails to parse, or hits a network error, we count it as a failed attempt instead. Timeouts are not treated as slow 8,000 ms responses. We exclude them from latency and count them in success rate, which keeps latency focused on response speed and success rate focused on reliability. ## What is success rate? Success rate is the share of attempted requests that returned successfully under the benchmark rules: successful requests divided by total attempted requests. A request counts as successful only if all of the following happen: 1. It completes before the benchmark timeout. 2. It returns an HTTP 2xx status. 3. The response body parses as JSON. 4. The JSON-RPC response does not contain a non-null `error` object. We do not use retries to hide failed attempts. One attempted request gets one chance. If it fails, that failure is counted. ## How does the benchmark handle timeouts? The benchmark runner waits up to 8 seconds for each provider to return a valid response. If no valid response comes back in time, we record the attempt as a timeout failure. The 8-second cutoff is part of our test setup. It is not set by the chain, and it is not whatever timeout a provider may use internally. The 8-second cutoff applies to all the public EVM read methods today. A specific method could be configured with a different timeout, but none currently is. ## What counts as a failed request? We track failed attempts separately from latency. A request is counted as a failure if it: - returns a non-2xx HTTP status, such as 403, 429, 500, 502, 503, or 504 - returns a JSON-RPC error object - times out after 8 seconds - fails at the network level, or - fails to parse as valid JSON Rate-limit responses count as failures, and we never use retries to convert failed attempts into successful ones. Each failure lowers the provider's success rate and adds to its failed-request count for that method, chain, region, and window. ## How are the metrics defined? ## Why report latency and success rate together? Fast responses only matter when responses actually come back. A provider can show low latency on the requests that succeed while timing out or failing more often, so we report latency alongside success rate: latency shows how quickly valid responses return, success rate shows how often they return at all. For example, if we send 1,000 attempts and 990 return successfully before the 8-second timeout, the success rate is 99%. The 10 failed attempts do not enter p50, p95, or average latency; they show up as reliability failures. That prevents two misreads: a provider with low latency but more failures should not be judged on speed alone, and a provider with a high success rate but slower tail latency should not be judged on reliability alone. ## Why does the benchmark use a trailing window? The benchmark runs continuously. Common public EVM read methods run roughly every 10 seconds, and we refresh the [public benchmark page](https://www.alchemy.com/benchmarks) every 5 minutes from a trailing 24-hour window. At full uptime, a method that runs every 10 seconds produces about 8,640 attempts per provider, method, network, and region each day. A trailing 24-hour window gives each public number enough samples to smooth over one-off blips while keeping the page fresh. So read the public page as a rolling daily summary, not a single request, a one-time test, or one momentary snapshot. ## What does the benchmark not measure? Today, the benchmark measures warm, single-method read performance under controlled conditions. It does not measure: - Multi-call user flows - Write transactions or transaction submission - WebSocket or subscription behavior - Customer-specific request mixes - Cold first-request connection setup - Every provider, chain, region, method, or payload shape - The exact behavior of your own architecture, traffic level, or deployment geography That boundary is what makes the benchmark useful: it tells you where the numbers apply and where you should run your own workload-specific tests. Speed and reliability are related but separate questions: - Speed asks how quickly successful requests return. - Reliability asks how often requests return successfully. We designed the benchmark to show that distinction rather than flatten it into one "fastest provider" claim. ## How should developers use the results? Use the [public benchmark](https://www.alchemy.com/benchmarks) as a starting point for provider evaluation. A practical reading pattern: 1. Pick the chain and method closest to your workload. 2. Compare the region that best matches where your users or infrastructure sit. 3. Look at p95, not just average or p50. 4. Check success rate beside latency. 5. If your workload uses different payloads, higher concurrency, writes, WebSockets, or multi-call flows, run a workload-specific benchmark before deciding. Transparent benchmarks help you ask better questions. They make it easier to see what was tested, what was counted, what was excluded, and which parts of the result matter most for a real application. ## Frequently asked questions ### What is Alchemy's public EVM read benchmark? It is a controlled test that measures how RPC providers handle common EVM JSON-RPC read requests. It records successful-response latency (average, p50, p95), success rate, and failed-request counts across selected providers, chains, methods, and regions, letting developers compare providers under identical, repeatable conditions rather than marketing claims. ### How is RPC latency measured? Latency is the runner's wall-clock time for one JSON-RPC POST and its response over a warmed, reused connection. The timer starts when the request is sent and stops when a valid response arrives. Only successful responses count, so latency reflects response speed, not connection setup or failures. ### What counts as a successful request? A request succeeds only if it returns within the 8-second timeout, returns an HTTP 2xx status, parses as JSON, and contains no JSON-RPC error object. Anything else, including timeouts, HTTP errors, and rate-limit responses, is counted as a failed attempt and excluded from latency. ### How does the benchmark handle timeouts? The runner waits up to 8 seconds for a valid response. If none arrives, the attempt is recorded as a timeout failure, not as a slow 8,000 ms response. Timeouts lower success rate but never inflate latency, which keeps speed and reliability as separate measurements. ### Does the benchmark use retries? No. Each measurement is a single attempt. If that attempt fails, the failure is counted rather than retried away. This keeps success rate honest, since retries would hide the intermittent failures that real applications actually experience. ### Which chains and providers does the benchmark include? The public benchmark covers Ethereum, Optimism, Arbitrum, Base, and World Chain mainnets. The provider set includes Alchemy, dRPC, Infura, and QuickNode. Each provider receives the same configured request for a given method, from the same region, under the same timeout and success rules. ### Which RPC methods does the benchmark test? The benchmark runs seven configured read tests, built from four EVM methods: `eth_getBalance`; `eth_getBlockByNumber` at the earliest and latest blocks; `eth_getLogs` over 1-, 10-, and 100-block ranges; and `eth_getTransactionReceipt`. Ethereum adds a 1,000-block `eth_getLogs` test, for eight. Each uses a fixed payload, so results stay comparable across providers. ### What does the benchmark not measure? It does not measure full application workflows, write transactions, WebSocket subscriptions, customer-specific traffic mixes, or cold connection setup. It also does not cover every chain, provider, region, method, or payload. For those cases, run a workload-specific benchmark that matches your own traffic. ### How should I read a p95 latency number? Read p95 as: for this method, chain, region, and time window, 95% of successful responses were at least this fast. It exposes tail behavior the average hides. Always read it beside success rate, since fast responses only matter when responses actually return. --- # How we built low-latency RPC infrastructure | Alchemy URL: https://www.alchemy.com/blog/how-we-built-low-latency-rpc-infrastructure.md A wallet loads a user's balance. A trading app estimates gas before a swap. An indexer backfills months of history in a single burst. Every one of those actions is an RPC call, and every millisecond of delay is felt by a real person waiting on a screen. RPC latency is not caused by one thing, so it cannot be solved by one thing. It comes from request-path overhead, avoidable internal network travel, inefficient routing, sudden traffic spikes, chain and node operational lag, workload-specific bottlenecks, and incomplete measurement. Fixing one and ignoring the rest just moves the bottleneck. So we treated latency as a system problem and invested across every layer we control, holding 99.99% uptime and sub-50ms average response times as the baseline across the 100+ chains we support. ## What we built Alchemy Edge Proxy', tooltip: "", icon: "", }, benefit: { title: "Faster response at the tail, up to 7.5x", tooltip: "", icon: "", }, id: 0, }, { cause: { title: "Avoidable internal network travel", tooltip: "", icon: "", }, built: { title: 'Closer service placement within the cluster', tooltip: "", icon: "", }, benefit: { title: "Less time lost inside our infrastructure", tooltip: "", icon: "", }, id: 1, }, { cause: { title: "Inefficient routing", tooltip: "", icon: "" }, built: { title: 'Contextual smart routing', tooltip: "", icon: "", }, benefit: { title: "Shorter infrastructure paths, up to 2.5x faster queries", tooltip: "", icon: "", }, id: 2, }, { cause: { title: "Traffic spikes", tooltip: "", icon: "" }, built: { title: 'Predictive scaling', tooltip: "", icon: "", }, benefit: { title: "Capacity ready before the surge (Usual: 30K RPS)", tooltip: "", icon: "", }, id: 3, }, { cause: { title: "Predictable throughput under load", tooltip: "", icon: "" }, built: { title: 'Purpose-built, elastic throughput', tooltip: "", icon: "", }, benefit: { title: "Stable performance when volume climbs", tooltip: "", icon: "", }, id: 4, }, { cause: { title: "Chain and node operational lag", tooltip: "", icon: "", }, built: { title: 'AI-managed node fleet', tooltip: "", icon: "", }, benefit: { title: "Upgrades detected, tested, and rolled out with less delay", tooltip: "", icon: "", }, id: 5, }, { cause: { title: "Workload-specific bottlenecks", tooltip: "", icon: "", }, built: { title: 'Product-specific optimization', tooltip: "", icon: "", }, benefit: { title: "Full product flows (World: 44% faster to mine) and heavy queries (Solflare: up to 20x faster archive) stay fast", tooltip: "", icon: "", }, id: 6, }, { cause: { title: "Incomplete measurement", tooltip: "", icon: "" }, built: { title: 'Benchmark methodology', tooltip: "", icon: "", }, benefit: { title: "Latency measured with success rate and failed requests", tooltip: "", icon: "", }, id: 7, }, ], }} /> ## Alchemy Edge Proxy reduces request-path overhead The edge is the front door: the first Alchemy-controlled entry point a request touches. Before a call reaches any node, it passes through connection setup, TLS negotiation, authentication, and routing logic. Each step adds milliseconds, and those milliseconds stack up most at the tail - the slowest requests, the ones a user actually feels. Alchemy Edge Proxy is the layer we built to strip that overhead out of the request path. By handling connection reuse, auth, and routing decisions at the front door instead of deeper in the stack, it cuts the fixed cost every request pays. The result is up to 7.5x faster RPC at the tail. See [Alchemy Edge Proxy](/blog/alchemy-edge-proxy) for a deeper look. Under the hood, the edge runs on a microkernel proxy architecture, part of [Cortex](/cortex): a small, stable core owns the critical request path, while modules like authentication, rate limiting, and routing are updated independently. Because the edge is one of the critical infrastructure layers we control end to end, we can keep improving it without waiting on anyone else's network. ## Inside our infrastructure: closer placement, smarter routing, steady throughput Once a request is inside our infrastructure, distance and hardware still cost time. If the services that handle a call sit far apart, the request spends milliseconds just traveling between them before any real work happens. And when volume climbs, shared hardware adds the kind of variability that shows up as inconsistent latency. This is where [Cortex](/cortex), Alchemy's intelligent blockchain engine, does the heavy lifting. Cortex is the core infrastructure investment behind our low-latency numbers, and a few specific pieces of it matter here: - Pod colocation with Kubernetes affinity keeps the services that talk to each other most on the same machine, so requests stay local instead of hopping across racks. - Istio locality-aware routing sends internal traffic to the closest available service instance, shortening infrastructure paths when doing so actually helps. - Thousands of globally deployed bare-metal servers run directly on dedicated hardware with no virtualization overhead, so throughput stays consistent under heavy load. - Java virtual threads let a single machine handle far more concurrent requests without the memory and CPU cost of traditional threads, which is what absorbs a surge without latency climbing. Together they cut the travel time users never think about but always feel, and hold performance steady as volume rises. ## Predictive scaling prepares capacity before spikes Onchain traffic does not ramp politely. A launch, a mint, or a market event can multiply load in seconds, and capacity that arrives after the spike is capacity that arrived too late. Our predictive scaling logic prepares capacity ahead of demand instead of reacting to it, watching signals like CPU, memory, disk I/O, and traffic patterns to provision before a spike lands. Usual is the proof: they peaked at 30,000 requests per second, served 38 million requests in the first hour, and crossed 1 billion requests in 36 hours, without latency falling apart under the surge. > "Alchemy was able to give us a near perfect availability, serving massive amounts of requests per second (30k requests per seconds was our peak, and we still had buffer), without any hiccups or downtime. And all on short notice!" > > Adli Takkal-Bataille at [Usual](/case-studies/scaling-to-30000-requests-per-second) ## AI-managed fleet automation keeps node operations current Blockchains change underneath you. Clients ship updates, networks schedule hard forks, and a node running stale software is a node serving slow or wrong answers. Handling that by hand introduces delay and risk exactly when precision matters most. Our node fleet is managed by a fully automated agentic system that handles upgrades, testing, and monitoring. Updates are detected and applied in real time, with automated testing built into the pipeline, so mandatory network upgrades and hard forks are never missed. Doing this by hand across every chain we run would be impossible to keep current - which is why we automated it, and why we hold the same low-latency bar across 100+ chains instead of a favored few. This automation is part of [Cortex](/cortex), the intelligent blockchain engine behind the Alchemy platform: [RPC APIs](/rpc-api), data APIs, rollups, and the rest of the developer stack. ## Product-specific optimization improves full user flows Latency is not only about a single call. Real products chain calls together, and the flow is only as fast as its slowest link. What users actually feel is the whole path, not any single method. World, built by Tools for Humanity and running on World Chain, saw a 44% faster time to mine, from 5.5 seconds down to 3.1 seconds, and 74% lower gas-estimation latency on `alchemy_requestGasAndPaymasterAndData`, from roughly 380ms to 100ms. > "When we were searching for infrastructure vendors, what mattered most was enterprise scale and support. Alchemy was hands down the clear leader across every product we needed-the only logical choice." > > Steven at [Tools For Humanity](/case-studies/world-onchain-performance) ## Solana archival infrastructure reduces heavy-query latency Historical and archival queries are their own kind of hard. Pulling large ranges of past state is heavy work, and on a chain as high-throughput as Solana it can crawl without infrastructure built for it. We built the fastest archival methods on Solana on a custom multi-region HBase architecture, part of our Solana platform. Solflare ran exactly that workload and saw up to 20x faster archive queries, sub-200ms response times during large historical queries, and wallet backfills completing in under a minute. > "Alchemy's Archival RPC has kept up with Solflare's throughput while keeping a consistent <200ms response time." > > Dusan K. at [Solflare](/case-studies/solflare) ## Benchmark methodology measures speed and reliability together Speed numbers mean nothing without honesty about what happened to every request. A fast average that hides failed or dropped calls is not fast, it is misleading. Our benchmark methodology measures latency alongside success rate and failed requests, so the numbers reflect what a real workload would experience. That is the standard we hold ourselves to, and the one we invite you to hold us to. You can review the full [benchmark methodology](/blog/how-we-benchmark-rpc-performance). ## The goal: infrastructure fast enough to disappear The best infrastructure is the kind nobody notices. When latency is low enough and reliability is high enough, the wallet just loads, the swap just confirms, and the backfill just finishes. No layer of this stack solves latency alone, but together they add up to that experience. See the numbers for yourself. Compare providers on the [Alchemy benchmarks page](/benchmarks), and read exactly [how we benchmark RPC performance](/blog/how-we-benchmark-rpc-performance) so you can judge the method, not just the result. When you are ready to build on it, [get started for free](https://dashboard.alchemy.com/signup/). ## FAQ **What causes RPC latency?** RPC latency comes from several independent sources: request-path overhead at the entry point, avoidable travel between internal services, inefficient routing, traffic spikes, chain and node operational lag, workload-specific bottlenecks, and incomplete measurement. Because the causes are separate, no single fix removes all of them. **Can one optimization solve RPC latency?** No. Fixing a single cause simply shifts the bottleneck to the next one. Reducing latency reliably requires investing across every layer of the request path, from the edge down to the node infrastructure and the way performance is measured. **What is the edge in RPC infrastructure?** The edge is the first provider-controlled entry point a request reaches, the front door for RPC traffic. Handling connection setup, authentication, and routing there instead of deeper in the stack removes fixed overhead every request would otherwise pay. **How does Alchemy measure RPC latency honestly?** Alchemy measures latency alongside success rate and failed requests, not as an isolated average. This prevents a fast-looking number from hiding dropped or failed calls, so the results reflect what a real production workload would actually experience. **How does predictive scaling handle traffic spikes?** Predictive scaling prepares capacity ahead of demand rather than reacting after a spike begins. This is what let Usual sustain 30,000 requests per second and over 1 billion requests in 36 hours without latency degrading during the surge. **Why is Solana archival query performance a separate problem?** Archival queries pull large ranges of historical state, which is heavy work, and Solana's high throughput makes those ranges even larger. Purpose-built archival infrastructure is what keeps these queries fast, as seen with Solflare's up to 20x faster archive queries. --- # How We Designed for Scalability on Solana URL: https://www.alchemy.com/blog/how-we-designed-for-scalability-on-solana.md [Solana](https://www.alchemy.com/solana) is unlike any other blockchain. Its architecture was engineered from day one to push throughput to the limits of hardware — parallel execution, embedded timekeeping, mempool-free transaction forwarding — all working together to deliver thousands of transactions per second with sub-second finality. And with Firedancer now live on mainnet and Alpenglow on the horizon, that ceiling is about to rise dramatically. Building infrastructure that keeps pace with this requires more than fast nodes. It requires designing every layer of the stack around the assumption that tomorrow's load will dwarf today's. This is how we approached scalability when we rebuilt our Solana platform from the ground up — and how we're positioning it for what comes next. ## Solana's scalability model is fundamentally different Much blockchain infrastructure is designed around Ethereum's execution model: sequential transaction processing, a global state trie, and relatively modest data output. Solana breaks all of those assumptions. Sealevel, Solana's parallel runtime, requires every transaction to declare its read and write sets upfront, enabling non-overlapping transactions to execute simultaneously across CPU cores. Proof of History embeds a cryptographic clock directly into the ledger, eliminating the coordination overhead that slows consensus on other chains. And Gulf Stream pushes transactions directly to the next block producer rather than letting them sit in a mempool, cutting confirmation latency further. The result is a network that produces massive amounts of data at extremely high velocity — over 4 petabytes annually at peak speeds. Infrastructure that serves this data can't treat it like Ethereum with a different RPC schema. It needs to be architected around Solana's specific data patterns, access characteristics, and scale. That understanding shaped every decision we made. ## Architecting for Solana's data characteristics Solana's data profile creates a specific set of infrastructure challenges. Blocks are large and dense. Historical queries span enormous ranges. Developers need both random point lookups (fetching a single transaction by signature) and massive sequential scans (walking an address's full signature history). And all of this needs to happen at low latency, globally. We covered the deep technical details of our archival architecture in a [separate engineering post](https://www.alchemy.com/blog/how-alchemy-built-the-fastest-archival-methods-on-solana) — the HBase migration, triple-verified ingestion, self-healing pipelines, and the specific optimizations that got us to 100,000+ RPS per region on `getTransaction`. This post is about the design principles behind those decisions. The core principle: **separate the concerns that need to scale independently.** Traditional Solana infrastructure bundles data ingestion, storage, and serving into a single monolithic validator node. That coupling means you can't easily scale reads, can't restart a service without hours of downtime, and can't optimize storage layout without touching the entire stack. We decomposed the system into independent services — lightweight RPC servers that start in seconds, dedicated ingestors with granular control over which data types each instance handles, and a storage layer designed specifically for Solana's access patterns. Each layer scales on its own terms. When traffic spikes, we spin up additional RPC instances in seconds against the same data layer. When a new region needs to come online, the storage layer replicates independently of the serving tier. ## Reliability as a scalability prerequisite There's a pattern in infrastructure: teams optimize for speed, hit a scaling wall, and then realize the wall was actually a reliability problem. Dropped connections, incomplete data, and silent failures under load are all scalability failures in disguise. We designed around this from the start. Our multi-region architecture includes 3 to 5 layers of autonomous failover — if a node, a rack, or an entire region degrades, traffic reroutes automatically. On the data integrity side, every record is written twice, validated programmatically, and continuously scanned for completeness. If a discrepancy appears, our self-healing pipelines automatically re-ingest and repair the gap — cross-checking up to 30–50 related addresses per block. The entire repair process is automated and runs continuously. It's not a static monitoring dashboard with alerts. Data integrity on Solana is a harder problem than most acknowledge. The sheer volume and velocity of data means that even small gaps compound quickly — and it's a common pain point among development teams, many of whom have reported missing or inconsistent data from their infrastructure providers. It's one of those problems that's invisible until a developer's app breaks because a transaction wasn't indexed or a signature history is incomplete. We treat correctness as non-negotiable, not best-effort. The result is 99.99% uptime backed by the same operational rigor we've applied for 8+ years powering apps like Polymarket on election night and World's mainnet launch. Reliability at this level isn't a feature — it's what makes the rest of the scalability story possible. ## Designing for Solana's next era of throughput Solana's current throughput is measured in thousands of transactions per second. The protocol's roadmap points toward orders of magnitude more, and infrastructure that isn't architected for that trajectory will become the bottleneck. Firedancer, Jump Crypto's independent validator client written in C, went live on mainnet in late 2025. In lab conditions, it has demonstrated over 1 million transactions per second. Its modular tile-based architecture, kernel-bypass networking, and parallel signature verification represent a fundamental rethinking of how validator software uses hardware. As of late 2025, roughly 21% of Solana's stake was running Firedancer, and adoption is accelerating. Alongside Firedancer, the Alpenglow protocol upgrade aims to rewrite Solana's consensus mechanism and reduce block finality to approximately 150 milliseconds. And proposals like SIMD-0370 would remove the block-level compute cap entirely, letting blocks scale based on what hardware can actually process rather than an artificial software limit. Additionally, [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) Compression, developed by [Light Protocol](https://www.alchemy.com/dapps/light-protocol), will allow multiple account states to be compressed into a single onchain account using zero-knowledge proofs. This addresses Solana's growing state storage challenge and opens up entirely new application design patterns. Our infrastructure is designed with these upgrades in mind. The decomposed architecture means we can scale each layer independently as throughput requirements grow. The multi-region deployment provides the geographic distribution needed to handle global traffic at higher volumes. This gives us our 2x throughput advantage over other [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) providers is a starting point, not a ceiling. ## What scalable infrastructure unlocks for builders Scalability directly determines what developers can build. Over the past eight years, we've supported builders from their first API call through every inflection point that followed. Teams like Circle, Robinhood, and OpenSea have scaled on Alchemy from early prototypes to products serving hundreds of millions of users. - Millisecond archive queries mean wallets can render complete transaction histories instantly. - Recency-first queries eliminate the need to scan through years of old data just to surface a user's latest activity. - `getTokenLargestAccounts` returning 1,000 results instead of 20 gives analytics platforms meaningfully richer views of token distribution. - Native gasless transactions remove the onboarding friction that kills conversion. - 100% staked writes ensure transactions land on actual block producers, improving confirmation reliability. These capabilities exist because we treat scalability as a first principle. ## The road ahead Solana is evolving fast. The network's capacity will increase, and the applications built on it will become more demanding at scale. Our commitment is to stay ahead of that curve, investing in lower latency, higher throughput, deeper data access, and new capabilities that unlock use cases that aren't possible yet. Infrastructure should never be the reason a builder has to compromise on their product. Everything we've described is available today. - Start at [alchemy.com/solana](https://www.alchemy.com/solana) - [Contact us](https://www.alchemy.com/contact-sales) for custom benchmarking, specialized pricing, or more. ## Frequently asked questions ### What makes Solana's scalability different from other blockchains? Solana uses parallel transaction execution via Sealevel runtime, Proof of History for embedded timekeeping, and Gulf Stream to bypass mempools, enabling thousands of transactions per second with sub-second finality and producing over 4 petabytes of data annually at peak speeds. ### How does Alchemy's decomposed architecture improve scalability on Solana? Alchemy separates data ingestion, storage, and serving into independent services that scale on their own terms, allowing RPC servers to spin up in seconds, traffic to scale without downtime, and new regions to deploy without touching the entire stack. ### What is Firedancer and how does it impact Solana's throughput? Firedancer is Jump Crypto's independent validator client written in C that went live on mainnet in late 2025, demonstrating over 1 million transactions per second in lab conditions through modular architecture, kernel-bypass networking, and parallel signature verification. ### How does Alchemy ensure data integrity at Solana's scale? Every record is written twice, validated programmatically, and continuously scanned for completeness, with self-healing pipelines that automatically re-ingest and repair any gaps by cross-checking up to 30–50 related addresses per block. ### What is ZK Compression and why does it matter for Solana? ZK Compression, developed by Light Protocol, allows multiple account states to be compressed into a single onchain account using zero-knowledge proofs, addressing Solana's growing state storage challenge and enabling new application design patterns. ### How does Alchemy achieve faster archive queries on Solana? We use an HBase-based storage layer optimized for Solana's access patterns, recency-first queries, and multi-region architecture to deliver millisecond archive queries at over 100,000 RPS per region on methods like `getTransaction`. ### What makes Alchemy's Solana infrastructure reliable at scale? Multi-region architecture with 3 to 5 layers of autonomous failover, automated self-healing pipelines, and continuous data validation deliver 99.99% uptime, ensuring traffic reroutes automatically if a node, rack, or entire region degrades. ### What developer features does Alchemy's scalable infrastructure enable? Millisecond archive queries, recency-first queries, `getTokenLargestAccounts` returning 1,000 results instead of 20, native gasless transactions, and 100% staked writes for improved confirmation reliability. --- # How We Fine Tune RPC for Speed and Reliability | Alchemy URL: https://www.alchemy.com/blog/how-we-fine-tune-our-rpc-for-speed-and-reliability.md We obsess about [performance](https://www.alchemy.com/benchmarks) and are constantly fine tuning to further optimize our platform. We recently changed how our platform compresses large RPC responses, and one part of that change had an outsized effect for Worldchain. Compressed responses on large calls now return about 33% faster, which means faster full block reads and other heavy calls, steadier performance, and more headroom to accommodate traffic growth. ## What is a GOAWAY frame? If you run a high-throughput workload over HTTP/2, you know GOAWAY frames even if you have never looked one up. A GOAWAY is the signal a server sends to tell a client to stop opening new streams on a connection, usually because the server is shedding load. To the client, a burst of GOAWAYs shows up as connection churn: streams get cut, requests get retried on fresh connections, and tail latency climbs. Fewer GOAWAYs means [steadier connections](https://www.alchemy.com/blog/how-alchemys-node-infrastructure-keeps-defi-fast-at-scale), fewer retries, and faster service. So when a customer's GOAWAY count falls off a cliff, something upstream just got a lot more headroom. In this case, that something was CPU. ## Where compression used to run Every RPC response we return can be compressed before it leaves our network. Most HTTP clients ask for this by sending an `Accept-Encoding: gzip` header, and most web servers, including our own [node-gateway](https://www.alchemy.com/blog/migrate-self-hosted-nodes-dedicated-infrastructure), honor that header automatically. That's not a special feature we built. It's standard behavior. For large payloads, like full block reads or big [`eth_getLogs`](https://www.alchemy.com/overviews/rpc-node) result sets, compression meaningfully cuts the number of bytes sent over the network, which matters because internet bandwidth is limited. Compressing in the node-gateway made sense for a long time. Node-gateway is an IO-bound service: it spends most of its time waiting on network calls, either from customers or from our own nodes, so it historically had CPU to spare. Compression is [CPU-bound work](https://www.alchemy.com/overviews/how-dedicated-blockchain-infrastructure-works), and its cost grows with response size. At scale, it became one of the busiest, most latency-sensitive jobs the gateway did, competing for the same CPU it needs to route and serve every request. When the gateway runs hot, everything it does slows down at once. And CPU pressure on the gateway under load is exactly the condition that triggers connection shedding and GOAWAY frames. ## What did we change? We moved where data compression happens out of our node-gateway and onto an Istio proxy in our service mesh. The node-gateway no longer compresses responses. That work now happens during a different step on an Istio proxy, on infrastructure better suited to it. So Alchemy's node-gateway is free to optimize for speed and reliability and Istio handles the compression step. The result is the same compressed response for our customers, produced somewhere that can do it more efficiently, without competing for cycles on the hop that gates performance. Same stack, same output, just done in a better place. ## What does this mean for you? Compressed responses on large calls now return about 33% faster (P95 latency improved by about 35%). That breaks down into three things. **Steadier connections.** When the hop serving your requests is not fighting for CPU, it stops shedding load, so you get fewer GOAWAYs, fewer cut streams, and fewer forced retries. That's what Worldchain saw: connection errors falling from roughly 1,500 an hour to roughly 100. **Faster responses on your heavy calls.** Handling compression on the Istio proxy lets the first byte of a big response leave sooner. For large payloads like full block reads or big `eth_getLogs` result sets, that means less time before the first chunk of a response arrives. **More headroom underneath you.** We freed up meaningful CPU capacity on the exact hop that gates your performance. The fix holds on a per-request basis, so it keeps holding as your traffic grows. You don't have to change anything to benefit. It's already running under every request you send. ## Why it matters Most of what makes an RPC provider fast and reliable happens where you never see it, in hops like this one. A single service doing less of the wrong work, in the right place, turned into steadier connections and faster responses overnight, with nothing for customers to change on their end. This is one change in an ongoing effort to improve our serving path. [Start building on Alchemy](https://www.alchemy.com/contact-sales). --- # How we rebuild node fleets 15x faster | Alchemy URL: https://www.alchemy.com/blog/how-we-rebuild-blockchain-nodes-fast.md Most of our reliability work is invisible by design. You send an RPC request, you get an answer in a few milliseconds, and you never think about the machine that served it. That is exactly how it should feel. But behind that one request sits a fleet of blockchain nodes that has to stay healthy around the clock across many chains, in multiple regions, without pause. Keeping that fleet healthy at scale turns out to be a data-movement problem, and a much bigger one than most people expect. This post is about one specific investment we made to solve it: a high-bandwidth, parallelized data-transfer system we built in-house, paired with a dedicated private network between our machines. Together they let us rebuild node storage in a fraction of the time it used to take. This is first and foremost a reliability investment, and reliability is what keeps latency low and _consistent_ when hardware fails. It is one deliberate piece of the availability guarantees our customers build on with our node infrastructure, not the whole story of how we defend latency. The honest version of the claim, up front: this does not make an individual RPC call faster on a normal day, because it is not in your request path. What it does is make recovery fast and reliable exactly when a machine fails, the moment your latency is most at risk. So yes, it supports low latency, in the edge cases where it counts. ## What are we actually recovering? Worth answering directly, because "recovery" can mean a few things. This is about restoring **node state** (the on-disk blockchain dataset a node needs to answer requests) onto healthy hardware. It is not about recovering an individual failed request, in-flight data, or the physical hardware itself. We reach for it in three situations: - **A node fails or degrades.** The hardware or its disk is unhealthy, so we bring up a replacement and need to load the full chain state onto it fast. - **We add capacity.** Traffic for a chain grows and we need more healthy nodes serving it, each needing the complete dataset before it can take traffic. - **We bring up a new chain or region.** New nodes start empty and need terabytes of state before they are useful. In all three, the bottleneck is the same: getting a large, ever-growing dataset onto fresh hardware quickly and reliably. ## Why is rebuilding a blockchain node a data-movement problem? A blockchain full node or archive node is not a small thing. Depending on the chain, its on-disk state runs from hundreds of gigabytes into the multi-terabyte range and it grows every single day. Every time we hit one of the situations above, we have to get that state onto fresh hardware, fast. There are two slow ways to do that. You can sync from the network, letting the node replay history from its peers, which can take days for a large chain. Or you can copy the state from a healthy node you already run. Copying is dramatically faster than syncing from scratch, so that is the path we optimize. The catch: copying terabytes is still slow if you do it one node at a time, over a shared network path, with a tool that was never built for this scale. ## What is rsync, and why did we outgrow it? We did not start by building something new. For years we used `rsync`, the standard Unix tool for copying and synchronizing files between machines. **What it is.** `rsync` copies files from one machine to another and is smart about repeat runs: it uses a rolling-checksum delta algorithm to transfer only the parts of a file that changed, rather than recopying everything. It is battle-tested, ubiquitous, and its delta-transfer approach makes incremental copies cheap. For syncing a dataset between two machines, it is hard to beat. **Where it broke down for us.** `rsync` was designed to sync files between two hosts, not to move terabytes onto fresh hardware under time pressure. At our scale it ran into a hard limit: throughput. A single `rsync` stream is largely serial and does not come close to saturating the fast network and storage hardware we run, so much of the available bandwidth sits idle. At fleet scale that wasted capacity compounds into hours of rebuild time per node and real operational drag. `rsync` was not wrong. We simply outgrew what it was built to do. So we built a transfer tool designed from the start for one job: moving enormous datasets onto fresh nodes as fast as the hardware allows. ## How we do it: a dedicated private network plus a parallel transfer tool We attacked the problem on two fronts at once: the road and the vehicle. ### The road: a dedicated private network We moved bulk node-data transfer onto a dedicated private network between our machines, separate from the path that serves production traffic. Two things change the moment the copy runs on that private network. First, bulk transfer no longer competes with production request traffic, so a large rebuild never puts customer-facing latency at risk. Second, it delivers high, predictable bandwidth between nodes: the raw capacity the transfer tool is built to use, up to tens of gigabits per second. ### The vehicle: a purpose-built parallel transfer tool Our in-house tooling does one job: push a full directory of node state from a healthy source machine to a destination machine as fast as possible. The design is built around saturating a high-bandwidth link that a single serial copy would leave mostly idle. Three ideas do the work: - **Many parallel connections.** Instead of one stream, the transfer runs across many concurrent TCP connections at once, so it can actually fill the private network's bandwidth. - **Splitting very large files.** A single multi-terabyte state file would bottleneck one connection, so files above a configurable size threshold are split into chunks by byte offset, and each chunk is sent over its own connection in parallel. The destination writes each chunk straight to the right offset in the file. - **Batching small files and going biggest-first.** Many small files are grouped together to amortize per-transfer overhead, and the largest files start first so the longest transfers are underway immediately. ### The orchestration: Ansible and AWX A fast transfer tool is only useful if you can drive it reliably across many machines without a human typing commands. We orchestrate rebuilds with Ansible, which runs defined tasks across many servers, managed through AWX, its job-and-scheduling control plane. The payoff is that a rebuild becomes a repeatable, auditable job: select the target, kick off the workflow, and let the system carry the state across the private network in parallel - with consistent results every time. ## How much faster is our solution than rsync? Our tooling is 10-15x faster. Single-threaded `rsync` moves node state at 100-200 MB/s. Our parallelized transfer sustains 2-3 GB/s. That speed shows up where it counts, in a real rebuild. In one production run we rebuilt a Base Mainnet fleet of 13 nodes (one source, twelve destinations) with the actual data transfer completing in about **35 minutes**, and the full workflow including private-network setup and teardown finishing in roughly **1 hour 27 minutes**, with **zero failures and zero unreachable nodes**. The old node-by-node approach turned the same kind of rebuild into a multi-hour slog. ## What this unlocks for you with Alchemy This is a foundation-layer capability, so its benefit reaches any product running on our node fleet. The mechanism is always the same (a hardware failure heals before it can concentrate load and push tail latency up), but here is what that means for you, product by product. - **Node & RPC APIs (Alchemy's RPC API):** your p95/p99 response times stay steady through a node failure, because a degraded node is replaced before the survivors get overloaded. Fewer slow-request spikes for your users. - **Data & indexing APIs (Transfers, Balances, Token, Webhooks):** fewer gaps and less lag in the data you consume when a backing node is rebuilt, because recovery is a short window instead of hours. More trustworthy data, sooner. - **Rollups & chain services:** faster capacity restoration for your dedicated or app-specific chain, so a single hardware fault does not turn into a prolonged degraded window for your app. These are real _consistency_ gains: we keep your experience fast by making the difficult moments short and rare. ## Why this matters for the people who never see it Here is the connection back to your application. When a node degrades or fails, its traffic has to shift to the remaining healthy nodes. If rebuilding a replacement is slow, that pressure sits on the survivors longer, and concentrated load is precisely what drives _tail latency_ up: the p95 and p99 response times that surface as your slowest requests. (The classic treatment of this effect is Dean and Barroso's [The Tail at Scale](https://research.google/pubs/the-tail-at-scale/).) Fast recovery shrinks that window. The fleet heals before the degradation is ever felt as a slow response on your end. This is what we mean when we say we plan for failure. We do not assume machines stay up. We assume they will fail, and we invest so that failure stays small and recovery stays fast. This transfer system and the private network behind it are one of those investments: infrastructure whose entire job is to make sure a hardware problem in our data center never becomes a latency problem in your app. You will probably never notice any of this. That is the point. ## The bigger picture: fast, and fast under stress It is easy to post a good latency number on a healthy day. The harder claim, the one that actually matters in production, is staying fast when things break. Low latency is not just a steady-state property. It is a property of how a system behaves _during_ failure, and how quickly it recovers. It is also why we run heterogeneous, redundant node infrastructure in the first place. This is one part of how we defend that: a deliberate investment in the recovery path, so the response times you rely on hold up not just when everything is green, but when a machine goes down at 3 a.m. and has to be rebuilt before anyone notices. That is the standard we hold ourselves to. It is why performance work at Alchemy goes all the way down to how fast we can move a terabyte between two machines. ## Frequently asked questions **Does this make my RPC requests faster?** On a normal day, no. It is not in your request path. But it protects your latency in the moment that matters most: when hardware fails. By rebuilding a healthy node fast, it keeps concentrated load from driving up your p95/p99, so your slowest requests stay fast under stress. **What exactly does it recover?** Node state - the on-disk blockchain dataset a node needs to serve requests. We use it to replace a failed node, add capacity, or bring up a new node or region. It does not recover individual requests or physical hardware. **Why not just use rsync?** `rsync` is excellent for syncing files between two machines, and we used it for years. But a single `rsync` stream is largely serial, so at fleet scale it does not saturate our network and storage hardware, adding up to hours of rebuild time per node. Our tool runs the transfer across many parallel connections and splits very large files across them to use the full bandwidth of a dedicated private network. **How does faster node recovery improve latency?** When a node fails, its load shifts to the remaining healthy nodes. The longer a rebuild takes, the longer that concentrated load drives up tail latency: the p95 and p99 response times users feel as their slowest requests. Faster recovery shrinks that window so failures do not surface as slow responses. **How much faster is it than rsync?** About 10-15x on raw transfer throughput: roughly 100-200 MB/s for a single-threaded `rsync` stream versus 2-3 GB/s for our parallelized transfer over the private network. In practice that turned a multi-hour fleet rebuild into one where the data transfer finished in about 35 minutes, across a 13-node Base Mainnet fleet with zero failures. _Want to build on infrastructure engineered this way? Explore the docs at_ [alchemy.com/docs](https://www.alchemy.com/docs). --- # How We Rebuilt Historical Logs (eth_getLogs) for Speed | Alchemy URL: https://www.alchemy.com/blog/how-we-rebuilt-historical-logs-for-speed.md Ask any team building an indexer, a DEX aggregator, or an onchain monitoring system where their app slows down, and the answer is almost always the same: large-range `eth_getLogs`. It is the call that scans thousands or hundreds of thousands of blocks to answer one question. Which transfers hit this contract last month? Which pools changed state across this range? What events fired for this address since launch? These reads are the backbone of real applications, and they are also the reads most likely to stall. So we rebuilt the engine that serves them, and made the method over 2x faster at p99 in every region. Here is how. ## What is eth_getLogs and why does it matter? `eth_getLogs` is the JSON-RPC method that returns the events smart contracts emit as they run: a token transfer, a swap, an approval, or any custom event a contract defines. You filter by contract address, by event signature or indexed topic values (like `Transfer` or `Approval`), and by a block range with a `fromBlock` and a `toBlock`. In plain terms: tell it what to look for and how far back to look, and it returns every matching event. This is the foundation of event-driven indexing on Ethereum. Without it, you would scan every transaction by hand to find the ones you care about. With it, you build activity and transfer feeds, approval monitoring, and any real-time or historical event indexer. It is one of the most heavily used, operationally critical methods we serve. If you are new to logs and topics, our [deep dive into `eth_getLogs`](https://www.alchemy.com/docs/reference/eth-getlogs) walks through the request and response structure with a worked example. The rest of the method shapes the engineering problem. Many providers cap how many blocks you can query at once. Indexers have to handle chain reorgs by waiting for confirmations. Topic filters only match indexed fields, so non-indexed arguments get decoded from the raw data. And calls near the chain head are latency-sensitive, where routing to the wrong node type can cause errors or empty responses. The part that shapes latency most is range size. Asking for one block is instant. For an indexer replaying history, or a monitor watching a contract over weeks, the ranges get wide fast, and the cost of the query climbs with them. That is where latency stops being a rounding error and starts to gate how fast a customer can build. Everyone offers the method. Fewer people talk about the engine underneath it, because rebuilding that engine is expensive and most providers have not done it. ## Why does p99 latency matter more than average latency? The number that hurts is not the average. It is p99: sort every request from fastest to slowest, and p99 is the slowest one in a hundred. Averages hide it. You can serve 99 requests in 60 milliseconds and still watch the hundredth take a full second. That slowest request is the one that makes a dashboard hang or an indexer fall behind the chain, and it is the one your user is staring at. Average latency can look fine while the tail quietly breaks the workload. For teams running indexers and monitors, the tail is the workload. ## How did we optimize eth_getLogs? We rebuilt the storage and query engine that serves the method, rather than tuning the one we had. There are a handful of ways to make a call like this faster. You can tune query parameters, add a cache, cap the ranges you accept, or throw more of the same hardware at it. Most of those buy a little headroom without changing the fundamentals. We went deeper. Instead of relying on a general-purpose managed database that treats historical log reads like any other workload, we run a storage and query layer tuned specifically for the `getLogs` access pattern: fast filtered scans over very large datasets, on dedicated infrastructure we operate ourselves. We did not tune a knob or bolt a cache onto the old system. We invested at the method level, in the engine underneath one of the most critical calls our customers make. It is expensive, per-method infrastructure work, and it is why the improvement shows up in the tail, not just the average. ## What are the results? The headline is simple: over 2x faster at p99, in every region. If you run an indexer or a monitor, p99 is the latency that breaks your workload. A better average is nice. A better tail is what keeps a dashboard responsive and an indexer caught up to the chain. Teams running this at serious scale are already seeing it. One of the largest crypto exchanges benchmarked their historical log reads on our engine against running their own nodes, and measured a large p99 improvement on their own workload. That is proof in production, on a customer's own instrumentation, not just on our dashboards. ## What does this mean for you? If your application leans on historical log reads for indexing, aggregating, or monitoring, you get faster reads and a dramatically better p99 tail, in every region, on infrastructure we rebuilt specifically for this method. A few things worth knowing as you put it to work: 1. On pay-as-you-go and enterprise plans, `eth_getLogs` supports unlimited block ranges in a single query on Ethereum, Base, Optimism, Arbitrum, Polygon, Robinhood and other major chains, so replaying history does not require hand-rolled pagination. 2. For logs at the chain head, [WebSocket subscriptions](https://www.alchemy.com/docs/reference/subscription-api) push new logs to you as they arrive, so you reserve `eth_getLogs` for the historical reads it is built for. 3. Nothing about your integration changes. It is the same method, the same request shape, served by a faster engine. The point of investing at the method level is that the reads that define your workload are the ones we tuned the engine for. [Create a free Alchemy account](https://dashboard.alchemy.com/signup) and point your indexer at us to see the difference on your own instrumentation. ## Frequently asked questions ### What does eth_getLogs return? An array of event logs matching your filter: contract address, event signature and indexed topic values, and a block range. Each log includes the emitting address, topics, data payload, and the block and transaction it came from. See the [API reference](https://www.alchemy.com/docs/reference/eth-getlogs) for the full request and response spec. ### Why is p99 latency more important than average latency for indexers? Because an indexer processes requests in sequence or in batches, the slowest requests set the pace. A low average with a long tail means the indexer regularly stalls on the slow one percent, falls behind the chain head, and serves stale data. p99 measures exactly those requests. ### What block ranges can I query in a single eth_getLogs call on Alchemy? On the free tier, 10 blocks per query. On pay-as-you-go and enterprise plans, block ranges are unlimited on Ethereum, Base, Optimism, Arbitrum, Polygon, Worldchain, BNB, and several other chains, with responses capped at 150MB. The full per-chain table is in the [`eth_getLogs` reference](https://www.alchemy.com/docs/reference/eth-getlogs). ### How do I keep large historical queries fast? Filter as tightly as you can: specify the contract address and the event topics you need, not just a block range. For very wide ranges on chains without unlimited-range support, split the query into smaller chunks. And for new logs going forward, use [WebSocket subscriptions](https://www.alchemy.com/docs/reference/subscription-api) instead of polling. --- # What Is x402? The Payment Protocol for AI Agents and Onchain APIs URL: https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web.md [AI agents](https://www.alchemy.com/dapps/best/ai-agents) need to pay for things: API calls, data feeds, compute. But they don't have credit cards. They can't fill out signup forms. The standard billing model assumes a human on the other end. When the client is software, that model breaks. [x402](https://www.x402.org/) is an open-source protocol built to fix this. It embeds cryptocurrency payments directly into HTTP using the 402 "Payment Required" status code, which has been in the spec since the 1990s but was never put to use. A client sends a request, gets payment terms back, pays in crypto, and retries. No API keys. No subscriptions. No billing dashboards. Since launching in May 2025, x402 has processed over 100 million payments. In December 2025, [x402 V2](https://www.x402.org/writing/x402-v2-launch) shipped with multi-chain support, wallet-based sessions, and an extensible architecture. In April 2026, [Coinbase](https://www.alchemy.com/dapps/coinbase) contributed the protocol to the [Linux Foundation](https://www.linuxfoundation.org/press/linux-foundation-is-launching-the-x402-foundation-and-welcoming-the-contribution-of-the-x402-protocol), which launched the x402 Foundation with over 20 founding members including Google, Visa, Stripe, AWS, Mastercard, Circle, Microsoft, and Shopify. ## How does the x402 payment flow work? The whole thing happens in five steps: 1. A client requests a resource from the server. 2. If the resource requires payment, the server returns a 402 Payment Required response with payment terms: amount, currency, and destination address. 3. The client reads the terms, sends the payment \(typically USDC\), and retries the request with a payment header. 4. The server verifies the payment, either locally or through a facilitator. 5. The server delivers the resource with a 200 OK. That's it. Any HTTP endpoint becomes a paid service, and any client with a crypto wallet becomes a paying customer. The payment happens inside the request cycle, not through a separate billing system. x402 is in production today. You can explore live transactions on [x402scan.com](https://www.x402scan.com/). ## What is HTTP 402, and why was it never used? If you've built anything on the web, you know status codes. 200 means the request worked. 404 means the page doesn't exist. And 402? Payment required. Most developers have never seen a 402 in the wild. The code has been in the HTTP spec since the 1990s, but the original authors reserved it "for future use" without defining how payments should work. So developers built other billing models: sign up for an account, attach a credit card, get an API key, pay based on usage. x402 fills that gap. Instead of API keys and billing dashboards, payment happens within the HTTP request itself. The server responds with 402, the client pays with crypto, the server delivers the resource. HTTP and blockchain in one interaction. ## What's new in x402 V2? x402 V2 shipped in December 2025 after six months of production use. Four changes matter most. ### Multi-chain and multi-rail payments V1 only worked with USDC on Base. V2 supports tokens across Base, Solana, Ethereum, Polygon, [Starknet](https://www.alchemy.com/starknet), and Injective, with more chains coming. It also works with legacy payment rails \(ACH, SEPA, card networks\) through pluggable facilitators. If you're building a marketplace or multi-tenant API, dynamic "payTo" routing lets you distribute payments to different addresses or roles per request. ### Wallet-based sessions V1 required a full on-chain payment for every request. That's fine for one-off API calls, but it falls apart for high-frequency workloads. V2 introduces wallet sessions: authenticate once, then make subsequent requests using session tokens. The server settles accumulated usage periodically rather than verifying every call on-chain. If you're building an LLM inference pipeline, a real-time data feed, or a multi-step agent workflow, sessions are what make micropayments practical. Lower latency, lower per-request costs, fewer on-chain transactions. ### Extensible architecture V2 splits the protocol spec from the SDK and facilitators. New chains, payment schemes, and facilitators plug in as standalone packages without touching the core protocol. The SDK uses [CAIP standards](https://chainagnostic.org/) for chain and asset identification, so adding a new network requires no custom logic. ### Automatic API discovery Services expose structured metadata that facilitators crawl automatically. Pricing, routes, and endpoints stay in sync without manual updates or hardcoded catalogs. You publish your service once and every facilitator in the network discovers it. No registrations, no partner integrations, no catalog maintenance. ## What role do facilitators play in x402? If you're an API developer, you probably don't want to write blockchain settlement logic. Facilitators handle that for you. Think of them as payment processors for the open web: they confirm a client's authorization, execute the transaction on-chain, and return confirmation to your server. With a facilitator, you can accept x402 payments without writing any blockchain code. V2 supports multiple facilitators at once, and the SDK picks the best match based on chain, asset, and your preferences. ## Who is x402 for? If any of these sound like your problem, x402 was built for you: - You're an API provider and want pay-per-use monetization without forcing users to create accounts or manage subscriptions - You're building AI agents or bots that need to pay for services without a human in the loop - You work with coding agents \(Cursor, Claude Code, ChatGPT\) that need to access paid APIs, data, or compute on their own - You're building agent-to-agent \(A2A\) commerce, machine-to-machine payments, or autonomous service marketplaces x402 fits anywhere software needs to pay for resources on its own: AI inference APIs, micropayments for data access, gated content, compute billing. For purchases outside the crypto ecosystem, projects like [AgentCard](https://agentcard.ai/) give agents their own credit cards with configurable spending limits and real-time tracking. ## What can you build with x402? - Pay-per-call API endpoints for AI inference, data feeds, or compute - Micropayment systems for digital content: images, videos, research papers, datasets - Autonomous agent-to-agent commerce where AI agents buy data, compute, or API access from each other - Usage-based billing for storage, bandwidth, or any metered resource - Freemium APIs with crypto-gated premium tiers - Multi-chain data pipelines that pay per request at sub-cent rates using V2 sessions These aren't hypothetical. AI agents are already querying blockchain data to manage DeFi positions, monitoring token prices and executing trades without human oversight, and running multi-chain indexing pipelines end to end. Some are buying compute and deploying smart contracts through x402-enabled services. For a detailed comparison of x402 with the Machine Payments Protocol \(MPP\), see [x402 vs MPP: comparing agent payment protocols](/overviews/x402-vs-mpp-comparing-agent-payment-protocols). ## How does Alchemy support x402? We built an [agentic gateway](/blog/ai-agents-can-now-sign-up-for-alchemy) that lets AI agents access blockchain infrastructure through x402 with zero human setup. Here's what that looks like in practice: an agent shows up with its onchain wallet. No API key, no dashboard account. It calls our APIs directly. If payment is required, we return a 402 with payment terms. The agent pays in USDC on Base, and we process the request. Subsequent requests draw from the funded balance until it runs out, then the gateway issues a new 402 and the agent tops up on its own. ### Available APIs Agents get access to the same production APIs used by teams at Coinbase, Visa, and Stripe, across 100\+ blockchains: - Core RPC across 100\+ blockchains - NFT APIs for ownership and metadata queries - Portfolio APIs for multi-chain wallet views - Prices APIs for spot and historical token pricing Agents can start with as little as $1 in compute credits, equivalent to $1 of CUs in our pay-as-you-go tier. No contracts. No approval queues. ### Alchemy Skills We also publish [Alchemy Skills](https://github.com/alchemyplatform/skills): structured, machine-readable documentation designed for agents rather than humans. Skills tell an agent what we offer, which endpoints are available, and how to call them, so agents can discover and integrate our products without reading human docs. ### Alchemy CLI The [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) is built for agents and terminal workflows: authenticate, query data with `--json --no-interactive`, and emit a full command manifest for coding agents via `alchemy --json --no-interactive agent-prompt`. Add [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) or connect the [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server). ## How to start building with x402 Ready to try it? Four paths depending on where you want to start: - Read the full spec and explore the reference SDK at [x402.org](https://www.x402.org/) - Clone the [coinbase/x402](https://github.com/coinbase/x402) repo on GitHub and run the examples - Build agents that pay for blockchain data through [our agent platform](/agents), which supports x402 natively: no API key required, just a wallet and an HTTP call - Install the [CLI](https://www.alchemy.com/docs/alchemy-cli) and query endpoints from the terminal with `--json --no-interactive` For testnet development, get Base [Sepolia ETH](https://www.alchemy.com/overviews/sepolia-testnet) from the [Alchemy Faucet](https://www.alchemy.com/faucets/base-sepolia) and USDC test tokens from the [Circle Faucet](https://faucet.circle.com/). ## Frequently asked questions ### What is the x402 protocol? x402 is an open-source protocol that uses the HTTP 402 "Payment Required" status code to embed cryptocurrency payments directly into web requests. It lets AI agents, apps, and bots pay for API calls and digital services in real time without API keys, subscriptions, or manual billing setup. ### How does the x402 payment flow work? A client sends an HTTP request. The server responds with a 402 status and payment terms. The client pays \(typically in USDC\) and retries with a payment header. The server verifies the payment and returns the resource with a 200 OK. ### What blockchains does x402 support? x402 V2 supports Base, Solana, Ethereum, Polygon, Starknet, and Injective, with plans to expand to all L1s and L2s that support stablecoin transactions. It also supports legacy payment rails like ACH, SEPA, and card networks through pluggable facilitators. ### What is the x402 Foundation? The x402 Foundation launched in April 2026 under the Linux Foundation as a vendor-neutral body governing the x402 protocol. It has over 20 founding members including Google, Visa, Stripe, AWS, Mastercard, Circle, Microsoft, Shopify, and American Express. ### What is the difference between x402 and MPP? x402 embeds [stablecoin payments](https://www.alchemy.com/dapps/best/stablecoin-payments) directly into HTTP. MPP \(Machine Payments Protocol\) extends the same 402 pattern with payment-method-agnostic rails, session-based billing, MCP transport support, and standardized protocol primitives like idempotency and replay protection. MPP is backwards compatible with x402. [Read the full comparison](/overviews/x402-vs-mpp-comparing-agent-payment-protocols). ### Do I need to write blockchain code to use x402? No. Facilitators handle payment verification and on-chain settlement, so API developers can accept x402 payments without writing blockchain logic. V2 supports multiple facilitators that plug in as standalone packages. ### Can AI agents use Alchemy with x402? Yes. Alchemy runs an agentic gateway that supports x402 natively. An agent authenticates with its onchain wallet, pays in USDC on Base, and accesses Core RPC \(100\+ chains\), NFT, Portfolio, and Prices APIs. No API key, dashboard, or human setup required. Start at [alchemy.com/agents](/agents). ### What cryptocurrency does x402 use for payments? x402 primarily uses USDC, a dollar-denominated stablecoin, for payments. V2 expanded support to tokens across multiple chains and networks. The protocol also supports legacy payment rails \(ACH, SEPA, cards\) through pluggable facilitators, though [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) remain the primary payment method. ### How do I get started building with x402? Start with the [x402.org](https://www.x402.org/) spec and reference SDK, the [coinbase/x402](https://github.com/coinbase/x402) GitHub repo, or [Alchemy's agent platform](/agents) for building agents that access blockchain data using x402. The [Alchemy CLI](https://www.alchemy.com/docs) provides a fast path from setup to querying endpoints. --- # Injective support is live on Alchemy URL: https://www.alchemy.com/blog/injective-support-is-live-on-alchemy.md We're excited to announce that Injective support is now live on Alchemy. [Injective](https://injective.com/) is a Layer 1 blockchain purpose-built for onchain finance. It combines a native order book, multi-VM execution, and sub-second finality with zero gas fees—giving developers everything they need to build institutional-grade financial applications without compromise. ## **Why Injective stands out** **Native Onchain Order Book** - Most chains force developers to build order book logic from scratch or depend on off-chain matching engines. Injective has exchange infrastructure baked into the protocol layer. Developers plug into shared liquidity, advanced order types, and MEV-resistant execution on day one—the same infrastructure behind over $76 billion in cumulative trading volume. **MultiVM Architecture** - Developers can build in both Wasm and [Solidity](https://www.alchemy.com/overviews/solidity) within the same execution layer. Assets move natively between virtual machines through the MultiVM Token Standard. No bridging. No wrapping. Whether you're coming from Ethereum or the [Cosmos ecosystem](https://www.alchemy.com/dapps/ecosystem/cosmos), you can ship on Injective without switching toolchains. **Sub-Second Finality with Zero Gas Fees** - Transactions finalize in under a second. Users pay nothing in gas on trades. Applications can offer CEX-grade speed and UX while settling everything transparently onchain—removing the tradeoff between decentralization and usability that slows adoption on most other chains. ## **What people are building** **DeFi and Onchain Trading:** [Helix](https://helixapp.com/), the primary decentralized exchange on Injective, runs on the native order book and supports spot, perpetual futures, and RWA markets including tokenized equities and commodities. **Lending and Yield:** [Neptune Finance](https://nept.finance/), [Silo Finance](https://www.silo.finance/), and [Hydro Protocol](https://hydroprotocol.finance/) are all live. Neptune is Injective's largest native lending market. [Hydro](https://www.alchemy.com/dapps/hydro-inflow) combines [liquid staking](https://www.alchemy.com/dapps/best/liquid-staking-platforms) with RWA yield strategies. **Real-World Assets:** Injective has crossed $6.5 billion in RWA derivatives volume. Assets include tokenized gold, crude oil, real U.S. equities, and pre-IPO perpetuals. JoinnFinance gives users in emerging markets access to Treasury yield, ETFs, and REITs. **Agentic Finance:** The Injective AI Toolkit ships with MCP servers, modular agent skills, and compatibility with Claude Code, Cursor, and Codex. [AI agents](https://www.alchemy.com/dapps/best/ai-agents) can trade, deploy contracts, query data, and settle payments through USDC on Injective autonomously. **[Stablecoins](https://www.alchemy.com/dapps/top/stablecoins):** Native USDC with CCTP, USDT, and AUSD are all live on Injective, with cross-chain transfers supported across 30+ blockchains. ## **What's coming in 2026** Several major milestones are on the horizon: **Injective Summit 2026:** Confirmed for July 16 in Washington, D.C., bringing together lawmakers, institutions, and builders. **Expanding AI Toolkit:** New MCP servers, agent skills, and integrations continue to ship as the agentic finance stack grows. **INJ Supply Squeeze:** The protocol permanently doubled the token's burn rate in January 2026. Over 7 million INJ have been permanently burned through the Community BuyBack program. ## **Start building** > “Alchemy has one of the largest developer ecosystems in crypto. Putting Injective on Alchemy's platform means every builder already using Alchemy for Ethereum, Solana, or other chains can now build on Injective with the same workflow they already know,” > > — Eric Chen, Co-founder, Injective As Injective's infrastructure provider, Alchemy brings: - 99.99% uptime with global redundancy - Core JSON RPC endpoints for both Injective mainnet and testnet - Battle-tested infrastructure that processes $1T+ in onchain transactions, with SOC 2 Type II certification Injective is now available on Alchemy with the same reliability and developer experience across all our supported networks. Whether you're building trading platforms, lending protocols, RWA products, [stablecoin infrastructure](https://www.alchemy.com/dapps/best/stablecoin-infrastructure), or AI-powered finance, the infrastructure is ready. Ready to build on Injective? [Start here](https://www.alchemy.com/docs/reference/injective-api-quickstart) or [contact us](https://www.alchemy.com/contact-sales) to discuss how we can support your project. --- # DeFi Without Limits: Ink Mainnet Launches on the Superchain URL: https://www.alchemy.com/blog/ink-mainnet-launch.md Today marks a big milestone for the world of DeFi and rollups: Ink mainnet is now available on the Superchain. Unleashed by [Kraken](https://www.alchemy.com/dapps/kraken) and built on Optimism's Superchain, Ink connects you to a world where DeFi development is faster, more accessible, and backed by battle-tested security. Now, you can build the next generation of DeFi apps lightning-fast and cost-effective with our comprehensive web3 infrastructure and tools directly onto Ink. Our platform is trusted by [apps](https://www.alchemy.com/dapps/top/defi-dapps) who serve 100\+ millions of end users and powers industry leaders like World Chain, Optimism, or Arbitrum. Get your API key here & [**start building on Ink!**](https://dashboard.alchemy.com/chains/ink) ## What is ink? Ink represents a transformative step forward in DeFi accessibility, combining the security of Ethereum with the scalability advantages of Layer 2 technology. Drawing on Kraken’s legacy, Ink creates a seamless bridge between centralized and decentralized finance, making it easier than ever for users to participate in the DeFi ecosystem while maintaining high security standards. If you’re looking to build the future of DeFi, Ink offers: - **Lightning-fast performance:** With 1-second block times at launch and sub-second blocks on the horizon, Ink enables developers to create responsive and user-friendly apps that set new standards for speed and efficiency. - **Enhanced security through Kraken's expertise:** Ink leverages Kraken's long track record of security excellence and combines it with cutting-edge sequencer-level protections, creating a robust environment where your DeFi innovations can thrive safely. - **Complete EVM Compatibility:** Deploy your Ethereum smart contracts directly on Ink without modifications. Ink ensures seamless compatibility with your existing [Solidity](https://www.alchemy.com/dapps/solidity) contracts, allowing you to bring your DeFi vision to life using familiar tools and workflows. ## Why build on ink? By creating an ecosystem where innovation meets accessibility Ink is revolutionizing the DeFi landscape. As part of the Optimism Superchain, Ink combines the best of both worlds – Ethereum's security with Layer 2's scalability. This collaboration opens up unprecedented opportunities for DeFi development, supported by: - Comprehensive developer resources, including detailed documentation, expert guidance, and hands-on workshops - A DeFi-first approach that prioritizes capital efficiency and user experience - Significantly reduced gas fees compared to [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) - Integration with Kraken's established infrastructure for seamless fiat-to-DeFi experiences - Active participation in the broader Superchain ecosystem, enabling interoperability and shared security ## Build and scale on ink with Alchemy You can build a more accessible, efficient, and innovative financial future and contribute to writing DeFi's next chapter. Access our complete [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) platform – from infrastructure to embeded wallets – at industry-leading prices. Join thousands of developers who save up to 50% on development costs while leveraging the most reliable and feature-rich platform in web3: - **Supernode:** Node API that provide peak reliability, unlimited scalability and data accuracy - **Our suite of products:** Token API, Transfers API, Embedded Wallets, and Webhooks - **Developer Tools**: Access Alerts, Sandbox, Logs, and a user-friendly dashboard - **Learning Resources**: Dive into our [documentation](https://www.alchemy.com/docs/reference/ink-api-quickstart) ### Build zero-friction onchain flows with account kit Ink Chain provides sub-second blocks and ultra-low gas fees, and Account Kit ensures these benefits reach every user. Convert complex onchain workflows into smooth familiar experiences — - Get everyone onchain with email sign-up or social login via embedded wallets - Turn every swap and transfer into one-click, gasless transactions witth smart accounts - Customize it all to your brand and ship it all native, in-app. No more pop-up wallet UX. - Deploy everything on infrastructure trusted by over 80% of smart accounts today Account Kit helps Ink Chain builders create DeFi apps that anyone can use – leading to proven results like 7M\+ active users and 4x transaction growth. [**Read the docs**](https://www.alchemy.com/docs/wallets?utm_source=announcement&utm_medium=blog&utm_campaign=inkchain_launch) **Start building on the Superchain and release the Kraken!** [Get your API key today!](https://dashboard.alchemy.com/chains/ink) --- # How Alchemy Delivers Enterprise-Grade Security URL: https://www.alchemy.com/blog/inside-alchemy-enterprise-grade-security-infrastructure.md When enterprises evaluate blockchain infrastructure providers, security is paramount to the decision-making process. Whether you're a financial service exploring blockchain integration, a Fortune 500 company building digital asset capabilities, or a web3-native company scaling to enterprise scale, security is critical to the success of your business and a non-negotiable responsibility to customers. At Alchemy, we understand these requirements deeply. Our security team is built from practitioners who've operated in the world's most demanding environments: large banks, regulated financial institutions, major cloud providers, federal agencies, and leading security firms. We've designed our security program to meet the standards enterprise compliance teams require while delivering the performance and reliability that blockchain applications demand. Here’s a detailed look at exactly how we approach the security challenges that matter most. ## Our security foundation Alchemy's security organization brings together three core capabilities that are essential for enterprise-grade infrastructure: - **Financial services risk management expertise** from teams that have worked with regulated institutions and their auditors - **Enterprise-scale operations experience** securing high-availability infrastructure that processes billions of requests - **Comprehensive threat defense capabilities** covering detection, response, and continuous improvement This combination allows us to deliver infrastructure security that meets enterprise compliance requirements while supporting the performance needs of modern blockchain applications. ## Why enterprise organizations choose Alchemy Enterprise-grade security isn't about any single tool or certification. It's about having experienced people, proven processes, and battle-tested systems working together. **We meet your compliance requirements:** - SOC 2 Type II certified - [Public Trust Center](/security) with documentation your auditors need - Controls designed for enterprise security reviews - Evidence and audit trails ready for examination **We deliver the performance web3 demands:** - 99.99% uptime during [peak market conditions](/blog/best-uptime-biggest-liquidation-event-in-crypto) - Performance tested at enterprise scale for teams like [Kinexys by J.P. Morgan](/blog/alchemy-smart-wallets-jp-morgan-token), [Polymarket](/case-studies/polymarket), and more - Support for 100\+ blockchain networks - Global infrastructure with automatic failover Security Certifications:
Can you show partners, investors, or compliance teams that your infra meets real security standards?

", tooltip: "", icon: "" }, "2": { title: "

No formal certifications. Hard to get through enterprise security reviews.

", tooltip: "", icon: "" }, "3": { title: "

SOC 2 Type II certified with a public Trust Center at trust.alchemy.com making it easier to clear enterprise requirements.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

API Key & Access Security:
How well protected are your keys, and can you control who can hit your endpoints?

", tooltip: "", icon: "" }, "2": { title: "

You have to build all the protections yourself— allowlists, monitoring, alerts, everything.

", tooltip: "", icon: "" }, "3": { title: "

Built-in protections: IP/domain allowlists, per-app keys, traffic insights, and abuse detection.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Operational Security:
How locked-down and well-managed is the actual infrastructure running your blockchain connections?

", tooltip: "", icon: "" }, "2": { title: "

Full responsibility lands on your team— patches, upgrades, network hardening.

", tooltip: "", icon: "" }, "3": { title: "

Professionally managed security with regular testing and clear policies to meet industry requirements.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Uptime & Reliability:
Will your app actually stay online during traffic spikes or market chaos?

", tooltip: "", icon: "" }, "2": { title: "

Depends entirely on your engineering muscle— outages are very likely.

", tooltip: "", icon: "" }, "3": { title: "

Proven 99.99% uptime with global redundancy and automatic failover across multiple cloud providers.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Performance Under Load:
When traffic surges, does the system keep up or fall over?

", tooltip: "", icon: "" }, "2": { title: "

You'll need expensive overbuilds to survive spikes.

", tooltip: "", icon: "" }, "3": { title: "

Designed for huge bursts (NFT drops, trading volatility, gaming traffic) without degradation.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Supporting Multiple Chains:
How hard is it to launch on more chains as you scale?

", tooltip: "", icon: "" }, "2": { title: "

Every new chain = another infra project and more overhead.

", tooltip: "", icon: "" }, "3": { title: "

One platform that supports 80+ networks with consistent performance.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Auditability & Compliance:
Can you easily provide the logs, controls, and evidence auditors or partners need?

", tooltip: "", icon: "" }, "2": { title: "

Heavy lift— you have to create everything yourself.

", tooltip: "", icon: "" }, "3": { title: "

Ready-to-use audit documentation, logs, and controls that speed up reviews.

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Incident Response:
When something breaks, who's fixing it and how fast?

", tooltip: "", icon: "" }, "2": { title: "

Entirely your team's problem— including middle-of-the-night firefights.

", tooltip: "", icon: "" }, "3": { title: "

Dedicated infrastructure team with battle-tested playbooks and fast response times 24x7x365.

", tooltip: "", icon: "" }, id: 7, }, ], }} /> ## Real scenarios we handle ### Critical third-party infrastructure provider goes down **The challenge:** When Cloudflare experienced outages in October 2025, many services went down. Organizations built on single-provider architectures had no recourse—when their provider went down, they went down with it. **Why this matters:** We architect for multi-provider resilience from the ground up. Our infrastructure spans multiple cloud providers with automatic failover, so your service stays online even when major dependencies experience issues. ### Application-level DDoS attack **The threat:** Attackers attempted to flood our free tier with bogus sign-ups in a real application-level DDoS event. **Our response:** - Declared an incident and brought in our on-call response team - Throttled and blocked abusive regions and networks - Separated legitimate users from fraudulent accounts in real time - Identified and removed all accounts tied to malicious IPs **The result:** Customers stayed online, and the attack turned into a test we passed—not an outage. ### Nation-state actor targeting your infrastructure **The threat:** Recently, we were targeted by a DPRK-linked campaign during the ClickFix/ClickFake operation. At least 15 fake LinkedIn accounts impersonating Alchemy employees were identified as part of a coordinated attack on multiple fronts. **Our response:** Our security team gained access to an active command-and-control \(C2\) server, downloaded the malware, and thoroughly analyzed it—turning an attempted compromise into actionable intelligence. Upon reverse engineering the malware, our analysis revealed non-public, previously unknown state-sponsored C2 domains, TTPs, and IOCs. **Why this matters:** Our capabilities allow us to create our own custom threat intelligence without solely relying on known indicators. We don't just defend—we develop intelligence that keeps us ahead of evolving threats. ### Laptop with deploy keys gets stolen **Hypothetical scenario:** A laptop containing deployment credentials is lost or stolen—a risk every organization needs to be prepared for. **Our controls in place:** - **Who can deploy:** Only tightly scoped roles can access deploy keys; access is logged, reviewed, and easy to revoke. - **What's on laptops:** We lock down what can live on endpoints and monitor for sensitive data with DLP. **How we would respond:** - EDR lets us instantly network-isolate the device to perform forensics - MDM lets us remote lock and wipe it - We can revoke sessions and rotate keys tied to that user - Laptops are encrypted - Zero trust controls ensure device posture and network requirements **The difference:** With Alchemy, you get this by default—hardened devices, controlled access, and a practiced incident response. With most DIY or legacy setups, you're often guessing who has what keys on which laptop. ### GitHub account phishing attempt **Our defense:** - **First layer:** Continuous employee education and monitoring for suspicious logins. This is our biggest line of defense. - **Second layer:** SSO enabled for all GitHub accounts through Okta, meaning our SSO infrastructure would need to be compromised for Alchemy-specific GitHub accounts to be phished—adding a critical layer of protection. ## Review our security program We invite enterprise security and compliance teams to review our security program in detail: [**Visit our Trust Center**](https://trust.alchemy.com/) and review our security controls and compliance documentation. [**Get in touch with us**](/contact-sales) about specific security requirements, compliance needs, regulatory considerations, or technical architecture. ## Frequently asked questions ### What security certifications does Alchemy hold? Alchemy is SOC 2 Type II certified, with a Public Trust Center providing documentation, controls, evidence, and audit trails designed for enterprise security reviews. ### How does Alchemy achieve high uptime for blockchain applications? We deliver 99.99% uptime during peak market conditions through global infrastructure with automatic failover across multiple cloud providers, ensuring service continuity even when major dependencies experience issues. ### What access controls does Alchemy implement? We use Single Sign-On (SSO) through Okta with Role-Based Access Control (RBAC), ensuring tightly scoped access that is logged, reviewed, and easily revoked. ### How did Alchemy respond to the recent nation-state actor targeting? During a DPRK-linked ClickFix/ClickFake campaign, Alchemy's security team gained access to an active command-and-control server, downloaded and reverse-engineered the malware, and uncovered previously unknown state-sponsored C2 domains, TTPs, and IOCs. ### What protections does Alchemy have against laptop theft or loss? We use encrypted laptops with endpoint detection and response (EDR) for instant network isolation, mobile device management (MDM) for remote lock and wipe, zero trust controls, and tightly scoped deploy key access that can be instantly revoked. ### How does Alchemy handle DDoS attacks? In a real application-level DDoS attack on the free tier, Alchemy's team declared an incident, throttled and blocked abusive regions and networks, separated legitimate users from fraudulent accounts in real time, and removed all malicious accounts, keeping customers online throughout. ### What makes Alchemy's security team qualified for enterprise requirements? Alchemy's security team consists of practitioners with experience from large banks, regulated financial institutions, major cloud providers, federal agencies, and leading security firms, combining financial services risk management, enterprise-scale operations, and comprehensive threat defense capabilities. ### How does Alchemy protect against GitHub phishing attempts? Alchemy requires SSO for all GitHub accounts through Okta, meaning the SSO infrastructure would need to be compromised for GitHub accounts to be phished, plus continuous employee education and suspicious login monitoring as the primary defense layer. --- # New Integrations for Rollups partner: Hexagate URL: https://www.alchemy.com/blog/integrations-partner-hexagate.md We’re excited to introduce [Hexagate](https://www.hexagate.com/) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups-as-a-Service](/rollups) platform can now easily customize their chain with Hexagate, a leader in real-time security monitoring for blockchain ecosystems. Integrations for Rollups offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace of top web3 products and tools. ## Why integrate with hexagate? Protecting chains and user liquidity is a necessity for chain operators. Partnering with Hexagate gives our customers access to cutting-edge security solutions for safeguarding against potential exploits and vulnerabilities at the protocol and dapp level. With Hexagate's real-time monitoring, our rollups customers can benefit from instant detection and response to any suspicious activity on their chains. This proactive approach to security not only mitigates risks but also builds greater trust in the web3 ecosystem. Hexagate works with the biggest names in the industry, protecting billions of dollars in assets. The team of top-tier security experts has helped save over a billion dollars for existing customers and participated in over 100 war rooms, providing critical support when projects needed it most. ## About the marketplace Our [marketplace](/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Hypernative URL: https://www.alchemy.com/blog/integrations-partner-hypernative.md We’re excited to introduce [Hypernative](https://www.hypernative.io/) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups-as-a-Service](/rollups) platform can now easily customize their chain to get real-time monitoring, risk detection, and an automated response solution for both on-chain and off-chain data sources. [Integrations for Rollups](/integrations) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace of top web3 products and tools. ## Why integrate with hypernative? Protecting and securing apps, assets, and users is a critical responsibility for chain operators in an age of sophisticated web3 attacks. By deploying their rollup with Alchemy, users get access to proven, reliable infrastructure that’s backed by our strong focus on security. Now, our Rollups customers can easily enhance their chain security by integrating Hypernative’s solution, which detects hacks and stops them before they cause damage. Rollups can also extend Hypernative’s security umbrella to key projects building on their chains with the ecosystem package, an offering already used by networks like Flare, Mode, Sei, [Starknet](https://www.alchemy.com/starknet), and Stellar. ## About hypernative's solutions Rollups looking for an inline solution can leverage [Hypernative Security Oracle](https://www.hypernative.io/products/hypernative-security-oracle) as the rollup’s de facto policy enforcer. The on-chain contract can be queried by protocols for approving or denying interaction with protocol functions, allowing only compliant transactions. The Hypernative Platform uses battle-tested, sophisticated machine learning models, heuristics, simulations, and graph-based detections to identify threats with high accuracy and give customers precious minutes to respond before exploits can cause damage. The system monitors security, technical, financial, governance, and other risks. [Hypernative Platform](https://www.hypernative.io/products/hypernative-platform) detected 99.5% of hacks last year with less than a 0.001% false positive rate, saving over $200 million in funds to date. Hypernative has seen significant growth through adoption by security-conscious teams at the highest levels of web3. Hypernative's real-time, enterprise-grade solution already monitors over $37 billion worth of digital assets across more than 40 chains. "Alchemy's Rollup marketplace is an important facilitator of Layer 2 scaling, which is essential for building a web3 infrastructure capable of accommodating the next billion users," said Gal Sagie, Hypernative's co-founder. "We are very proud to do our part by protecting the builders and providing security that is indispensable for mass adoption." ## About the marketplace Our [marketplace](https://www.alchemy.com/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Noves URL: https://www.alchemy.com/blog/integrations-partner-noves.md We’re excited to introduce [Noves](https://www.noves.fi/) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups-as-a-Service](/rollups) platform can now easily customize their chain with Noves, bringing enriched, human-friendly data to their entire blockchain ecosystem. [Integrations for Rollups](/integrations) offers our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace of top web3 products and tools. ## Why integrate noves? Accessing useful data on blockchains can be challenging, creating friction for end users, developers, and anyone analyzing data. Noves enhances data quality across the entire ecosystem—from block explorers and wallets to accounting, tax, audit, marketing, and business analytics. **Human-Worthy Transaction Data** The Translate API converts complex on-chain data into clear, human-readable information by automatically recognizing and interpreting blockchain activity. Translate provides both a plain English description of the transaction and a structured object with all relevant data—parsed, organized, tagged, and ready for integration. It also integrates natively with [Blockscout](https://www.alchemy.com/dapps/blockscout), bringing human-friendly data directly into the block explorer. **Next-Level Simulation** The Foresight API improves transaction simulations by adding human-friendly context to unsigned transactions. For wallets and custodians, Foresight offers clarity and security by showing users a simple English description of what they’re about to sign, such as, “You are depositing 100 USDC into a lending protocol." The Foresight API integrates natively with [MetaMask](https://www.alchemy.com/dapps/metamask) via a Snap, offering added protection and ease of use to every MetaMask user without requiring additional setup. The MetaMask Snap is enabled automatically on every Rollup when Noves is deployed. **Complete Price Feeds** Noves’ Pricing API automatically prices any on-chain token that trades in at least one pool, including the LP tokens for those pools. Real-time prices and per-block historical prices are available for all assets. ## About the marketplace Our [marketplace](/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Parsec URL: https://www.alchemy.com/blog/integrations-partner-parsec.md We’re excited to introduce [Parsec](https://parsec.fi/) as a trusted partner in our integrations marketplace. Customers deployed on our Rollups-as-a-Service platform can now easily benefit from this powerful addition.  [Integrations for Rollups](https://www.alchemy.com/integrations?utm_source=blog&utm_medium=blog&utm_campaign=parsec) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace featuring top web3 products and tools. ### Why integrate parsec? While being 100% feature-complete with other block explorers, the Parsec Explorer differentiates itself by providing users with context and visualizations. A different layout is applied depending on the type of address the user is viewing. When looking at a token, they'll see a price chart, a firehose of recent trades, and a table showing token accumulation. For user-owned addresses, they'll see a firehose of recent trades and a flowchart illustrating where their tokens have come from and where they're going. With 10\+ custom address layouts and a comprehensive labels database, you've got a user friendly block explorer that anyone can use. Prior to the Parsec Explorer, the words user friendly and block explorer wouldn’t often be associated despite being such a common touchpoint between the chain and the user. Alchemy-deployed rollups can now power up the block explorer experience they offer to their user and developer communities with the addition of Parsec to our integrations marketplace.  ### About parsec Parsec has deep roots in onchain analytics, starting out 5 years ago with a highly modular pro analytics terminal with drag and drop dashboards that was purpose built for DeFi and NFTs. In the depths of the bear market they decided to put their analytics expertise to work and built out [parsec.fi](http://parsec.fi), their high context, easy-to-use, block explorer. These two products complement each other in what is a powerful on-chain analytics product suite.  ### About the marketplace Our [marketplace](https://www.alchemy.com/integrations?utm_source=blog&utm_medium=blog&utm_campaign=parsec) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Predicate URL: https://www.alchemy.com/blog/integrations-partner-predicate.md We’re excited to introduce [Predicate](http://predicate.io) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups-as-a-Service](/rollups) platform can now easily customize their chain with transaction prerequisites to navigate their user, business, and regulatory requirements. Predicate is a network through which users, developers, and communities define rules for onchain interactions, integrating expressive pre-transaction logic into decentralized applications. These rules, like legos, can be stacked to form policies, which are enforced by the Predicate Network. Today, teams like Aleo, Celo, Plume, NEAR, and TRM are building and enforcing policies through Predicate.  [Integrations for Rollups](/integrations) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace of top web3 products and tools. ### Why build policies with predicate? As chains scale and integrate into the broader global economy, they must protect users and comply with legal and regulatory requirements. Predicate makes it simple for rollup developers to build and enforce necessary pre-transaction policies at the smart contract level, in which transactions are only executed if they adhere to rules set for the corresponding smart contract. Some examples of how Predicate can be used include: - Anti-money laundering \(AML\) requirements for token bridges - Stablecoin minting requirements \(e.g. collateral verification and rate limiting\) - Geofencing for RWA liquidity pools - Onchain AI agent guardrails - Anomaly detection for DeFi applications In a world in which blockchains become the global financial settlement system, policy enforcement is critical infrastructure. Predicate leverages a distributed network of global operators for a high-performance policy network. Policies are intentionally designed to be owned and managed by the deployer for censorship resistance guarantees.  ## About the marketplace Our marketplace features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. ## Frequently asked questions ### What is Predicate? Predicate is a network that allows users, developers, and communities to define rules for onchain interactions by integrating pre-transaction logic into decentralized applications. These rules can be stacked like legos to form policies that are enforced by the Predicate Network. ### How can our Rollups customers use Predicate? Customers deployed on our Rollups-as-a-Service platform can access Predicate through the integrations marketplace to customize their chain with transaction prerequisites that meet user, business, and regulatory requirements. ### What are some examples of Predicate policies? Predicate can be used for anti-money laundering (AML) requirements for token bridges, stablecoin minting requirements like collateral verification, geofencing for RWA liquidity pools, onchain AI agent guardrails, and anomaly detection for DeFi applications. ### Why is policy enforcement important for rollups? As chains scale and integrate into the broader global economy, policy enforcement protects users and ensures compliance with legal and regulatory requirements at the smart contract level. ### How does Predicate enforce policies? Predicate enforces policies at the smart contract level, where transactions are only executed if they adhere to rules set for the corresponding smart contract. The enforcement is powered by a distributed network of global operators for high performance. ### Which teams are currently using Predicate? Teams like Aleo, Celo, Plume, NEAR, and TRM are building and enforcing policies through Predicate. ### What is the Integrations for Rollups marketplace? The marketplace features trusted services and tools that give our Rollups customers full control over their rollup's customization, including oracles, bridges, commerce automation, and security layers. ### Who owns and manages Predicate policies? Policies are intentionally designed to be owned and managed by the deployer for censorship resistance guarantees. --- # New Integrations for Rollups partner: Succinct URL: https://www.alchemy.com/blog/integrations-partner-succinct.md We’re excited to introduce [OP Succinct](https://succinct.xyz/) as a trusted partner in our integrations marketplace. OP [Succinct](https://www.alchemy.com/dapps/succinct) takes Succinct’s blazing fast zkVM, SP1, and combines it with the widely used [OP Stack](https://www.alchemy.com/dapps/op-stack), to create the first, production ready type-1 zkEVM rollup. Builders can experience less than 1 hour finality for their rollup, with full EVM compatibility today, on Alchemy Rollups. [Integrations for Rollups](https://www.alchemy.com/integrations) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace featuring top web3 products and tools. ## Why integrate succinct? OP Succinct is a step-function change in the rollup landscape because it provides the best of all worlds: fast-finality with [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups), full EVM equivalence \(type 1\), easy customizability, and seamless deployment: - **Full EVM equivalence**: OP Succinct rollups are 100% EVM equivalent, meaning all tooling and smart contracts that work with OP Stack rollups, will work with OP Succinct. Unlike other ZK rollup stacks, OP Succinct offers a developer experience that is equivalent to Ethereum, with zero trade offs. - Fast finality: OP Succinct rollups have a game changing finality time of 1 hour. This means users can withdraw funds quickly instead of having to wait 7 days–a prerequisite for protocols that want customers to feel comfortable depositing significant TVL. - Seamless Deployment: OP Succinct rollups only require deploying one smart contract and a lightweight docker container, the rest of your OP Stack chain remains the exact same as before. And with Alchemy Rollups, all it takes is 1 click. OP Succinct is the future of rollups. It brings the fast finality benefits of ZK without any of the downsides that teams and users dislike. ## About succinct Succinct is bringing zero knowledge mainstream with SP1, their blazing fast zkVM, that enables any developer to write ZK applications using normal Rust code. SP1 is used in production by leading [crypto companies](https://www.alchemy.com/dapps/best/crypto-exchanges) such as Celestia and Avail, securing both their bridges to Ethereum. ## About the marketplace [Our marketplace](https://www.alchemy.com/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Webacy URL: https://www.alchemy.com/blog/integrations-partner-webacy.md We’re excited to introduce [Webacy](https://webacy.com/) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups-as-a-Service](/rollups) platform can now easily benefit from this powerful addition. [Integrations for Rollups](/integrations) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace featuring top web3 products and tools. ## Why integrate webacy? Webacy is enabling a safer web3 through its Safety Score and embeddable APIs. Now, our rollups customers can easily enhance their chain’s security with Webacy’s core products, including: - [**Safety Score**](https://www.webacy.com/safetyscore): A comprehensive rating to assess security - **Address analysis:** Analyze wallet addresses for potential risks - **Token validation:** Ensure tokens are legitimate and safe to interact with Plus, smart contract analysis, real-time monitoring, malicious URL detection, ecosystem intelligence, and more! Webacy can act as the risk management layer for any Alchemy-deployed rollup, focusing on user safety and proactive security. ## About webacy Webacy has built a strong reputation in web3 with its innovative approach to building risk management products. Backed by leading [VC firms](https://www.alchemy.com/dapps/top/venture-capital-firms), including Mozilla Ventures, Webacy’s US-based team of world-class builders delivers cutting-edge solutions. They source ecosystem data directly from consumers and integrate with dozens of partners to provide the best coverage in the industry, instantly detecting emerging threats by cross-identifying millions of signals across the ecosystem. ## About the marketplace Our [marketplace](https://www.alchemy.com/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # New Integrations for Rollups partner: Palmera URL: https://www.alchemy.com/blog/integrations-partners-palmera.md We’re excited to introduce [Palmera](https://www.palmeradao.xyz/) as a trusted partner in our integrations marketplace. Customers deployed on our [Rollups platform](/rollups) can now easily customize their chain with Palmera to deploy and maintain Safe, enabling secure operations with the top smart account. [Integrations for Rollups](/integrations) offer our customers complete control over their Alchemy-deployed rollups’ user experience via a marketplace of top web3 products and tools. ## Why integrate with palmera? Protecting users via Safe contract implementations is a strong user safety option for chain operators. Palmera is an aggregation platform designed to help on-chain organizations, [DAOs](https://www.alchemy.com/dapps/top/daos), and individuals manage multiple Safes across multiple chains in a unified interface. Palmera will extend [Safe deployment](https://www.palmeradao.xyz/deploy-safe-chain) and infrastructure support to customers who launch a rollup through Alchemy, providing smart treasury management and ensuring security, scalability, and full integration for new chains. ## About the marketplace Our [marketplace](/integrations) features trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with tailored solutions for seamless developer and user interactions. From oracles and bridges to commerce automation and security layers, we'll help you choose the right integrations and connect you with the industry's best teams. If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # Interacting with a Smart Contract URL: https://www.alchemy.com/blog/interacting-with-a-smart-contract.md Before starting this tutorial on interacting with a smart contract, you should have completed part 1 — [Hello World Smart Contract](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) \(creating and deploying a smart contract\). In part 3 we'll go over [submitting our contract to Etherscan](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1) so anyone can understand how to interact with it! ## Part 2: interact with your smart contract Now that we've successfully deployed a smart contract to the ropsten network, let's test out our web3 skills and interact with it! ### Step 1: create a interact.js file This is the file where we'll write our interaction script. We'll be using the Ethers.js library that you previously installed in Part 1. Inside your `scripts/` folder for the hardhat tutorial, or your home directory for the Truffle tutorial, create a new file named `interacts.js` add the following lines of code: ### Step 2: update your .env file We will be using new environment variables, so we need to define them in our `.env` file and make sure that the `dotenv` module is loading these variables. We'll need to add a definition for our Alchemy `API\_KEY` and the `CONTRACT\_ADDRESS` where your smart contract was deployed. Your `.env` file should look something like this: ### Step 3: grab your contract ABI Our contract ABI \(Application Binary Interface\) is the interface to interact with our smart contract. You can learn more about Contract ABIs in our [eth_getLogs deep dive](https://www.alchemy.com/docs/deep-dive-into-eth_getlogs) here. Hardhat \(and Truffle\) automatically generates an ABI for us and saves it in the HelloWorld.json file.   In order to use this we'll need to parse out the contents by adding the following lines of code to our `contract-interact.js` file: If you want to see the ABI you can print it to your console: To run `interact.js` and see your ABI printed to the console navigate to your terminal and run #### Hardhat: #### Truffle: ### Step 4: create an instance of your contract In order to interact with our contract we need to create an instance of it in our code. To do so with Ethers.js, we'll need to work with three concepts: 1. Provider - this is a node provider that gives you read and write access to the blockchain. 1. Signer - this represents an Ethereum account that has the ability to sign transactions. 1. Contract - this is an Ethers.js object that represents a specific contract deployed on-chain. We'll use the contract ABI from the previous step to create our instance of the contract: You can read more about [Providers](https://www.alchemy.com/docs), [Signers](https://www.alchemy.com/docs), and [Contracts](https://www.alchemy.com/docs) in Alchemy's Ethers.js explainers. ### Step 5: read the init message Remember when we deployed our contract with `theinitMessage = "Hello world!"`? We are now going to read that message stored in our smart contract and print it to the console. In JavaScript we use asynchronous functions to interact with networks. Use the code below to call the`message` function in our smart contract and read the init message: After running the file using `npx hardhat run scripts/interact.js` in the terminal we should see this response: Congrats! You've just successfully read smart contract data from the Ethereum blockchain, way to go! ### Step 6: update the message Now instead of just reading the message, we can also update the message saved in our smart contract using the `update` function! Pretty cool, right? In order to do so we can directly call the `update` function on our instantiated Contract object, like so: Note that we make a call to `.wait\(\)` on the returned transaction object. This ensures that our script waits for the transaction to be mined on the blockchain before proceeding onwards. If you were to leave this line out, your script may not be able to see the updated `message` value in your contract. ### Step 7: read the new message You should be able to repeat Step 5 to read the updated `message` value. Take a moment and see if you can make the changes necessary to print out that new value! If you need a hint, here's what your `interact.js` file should look like at this point: Now just run the script and you should be able to see the old message, the updating status, and the new message printed out to your terminal! `npx hardhat run scripts/interact.js --network ropsten` While you are running that script, you may notice that the `Updating the message... `step takes a while to load before the new message is set. That is due to the mining process! If you are curious about how to track transactions while they are being mined, visit the Alchemy mempool to see the status of your transaction \(whether it's pending, mined, or got dropped by the network\). If your transaction got dropped, it's also helpful to check Ropsten Etherscan and search for your transaction hash. And that's it! You've now deployed AND interacted with an Ethereum smart contract. If you'd like to publish your contract to Etherscan so that anyone will know how to interact with it, check out part 3: [submitting your smart contract to etherscan](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1)! 🎉 Once you complete this tutorial, let us know how your experience was or if you have any feedback by tagging us on Twitter @Alchemy! --- # Internal Transactions: Notifications For Crypto Transactions URL: https://www.alchemy.com/blog/internal-transactions-notifications.md Our Alchemy Notify suite now includes notifications for _all_ ETH and Token transfers, including our newest addition: internal \(smart contract\) transactions — giving users full transparency into their transactions, every step of the way. For a high-level overview of Ethereum Address Activity notifications, check out[ this blog post](https://www.alchemy.com/blog/introducing-ethereum-address-activity-notifications). ## What are internal transactions? Internal Transaction Notification To understand what internal transactions are, it's helpful to take a step back and look at the types of transactions we have on Ethereum. Transactions are state changes to the Ethereum chain, meaning they aren't reading data, they are _writing_ data to the chain. There are a handful of state changes that can occur on Ethereum, however, transactions are often what users care about the most. In order to notify users about their transactions, developers can plug into[ Address Activity notifications](https://www.alchemy.com/blog/introducing-ethereum-address-activity-notifications), which monitor[ transfers](https://docs.alchemy.com/docs/reference/transfers-api) \(exchange of value between two Ethereum accounts\). There are three types of transfers on Ethereum: ### ETH transfers ETH transfers are the most basic type of transactions, using Ethereum's native currency. **Example transfer:** Rishub sent 0.5 ETH to Paul. The way you obtain them is by scanning each new block for transaction objects. ### Token \(ERC-20 and ERC-721\) transfers Token transfers include any transfer associated with a ERC-20 token or with a Non-fungible ERC-721 token \(NFT\). **Example transfer:** Omar purchases 10 AAVE from an exchange \(smart contract\) or another user. The way you'd normally obtain these transfers is by looking through the[ event logs](https://www.alchemy.com/docs/deep-dive-into-eth_getlogs) for the token contract you care about.  ### Internal transfers Internal transfers are Eth transfers where the sender \(fromAddress\) is an internal \(smart contract\) address. This includes a smart contract sending Eth to another smart contract, or a smart contract sending Eth to an external address. **Example transfer:** Internal transfers are super complicated, but developers and users care about where their money starts and where it ends up, which is why they are important. Here's an example that shows two internal transactions: Elan wants to exchange some of her [Sushi](https://www.alchemy.com/dapps/sushi) tokens for ETH using Sushiswap. This is a multistep process that involves a variety of transfers.   1. First, she interacts with the Sushi smart contract, sending the smart contract her Sushi tokens, through a token transfer.  1. Then, the smart contract takes her Sushi and deposits it into the SUSHI/WETH pool, which is another smart contract, making this a token transfer. In return, the contract gets back an equal value of WETH. 1. Because Elan wants ETH not WETH, the Sushi smart contract then interacts with the WETH smart contract and exchanges the WETH for ETH \(unwrapping it\), creating an **internal transaction** since the WETH smart contract sent ETH to the Sushi smart contract.  1. Next, the Sushi contract sends this ETH back to Elan, as another internal transaction \(Sushi smart contract sent ETH to external address, Elan\). \(3\) and \(4\) are internal transactions and not token transfers because ETH \(not an ERC 20 token\) is being exchanged, and they aren't external transfers because these are _smart contracts_ sending the ETH \(not account addresses\). Now that you have a sense of just how complex it is to _explain_ what an internal transfer is, imagine trying to obtain them, in **real time**. Doesn't sound pretty. Despite having significant implications, when it comes to obtaining internal transactions, things can get real tricky. Smart contracts can trigger many layers of internal contract calls under the hood, some that don't even have value associated with them. In addition, internal transactions aren't stored on-chain in the same way that ETH and token transactions are, requiring users to trace each call from the parent transaction to each child in order to obtain them. Even worse, to execute this type of trace, developers need access to a specific kind of expensive and error prone software called a Parity Trace node, which takes weeks to sync. ## Give users real-time insights into their transactions, every step of the way With notifications for external, token, and internal transactions, users can get the complete picture of where their money is, at all times. Wallets now have the power to notify their users each time a transfer occurs that relates to their account even for complex internal transactions. These notifications also give developers more information about the smart contracts they are building and interacting with. Setting up notifications for all three types of transactions is easy when you use Alchemy. Unlock access to Alchemy Notify in minutes by[ creating a free account here](https://dashboard.alchemy.com/signup?referral=affiliate:cae22cbb-7cbf-49ab-8ee9-619191f0e318).  ## Take 3 minutes to start getting transaction notifications \(instead of 3 weeks\) Instead of syncing up your own Parity Trace nodes and waiting weeks to be able to use them, simply integrate with Alchemy in 3 minutes. 1. [Sign up for Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:cae22cbb-7cbf-49ab-8ee9-619191f0e318) 1. [Create a webhook](https://dashboard.alchemy.com/notify) with a URL and relevant addresses \(we also have an [API to create new webhooks](https://www.alchemy.com/docs/reference/custom-webhooks-quickstart)\) 1. Alchemy sends you notifications 1. Your users stop worrying about the state of their crypto trades --- # Introducing Alchemy Amplify: Supercharge Your Growth URL: https://www.alchemy.com/blog/introducing-alchemy-amplify-supercharge-your-growth.md After months of workshopping, we are super excited to finally launch Alchemy Amplify — the marketing machine for YOUR products and content. # Why So you spent a ton of time building a killer decentralized application — now the final challenge is just getting people to use it. We’ve been there, and we get it. Just as hard \(if not harder\) as building a game-changing product is sharing it with the world and growing your audience. # Alchemy amplify That’s why we’re launching Alchemy Amplify, so you can bootstrap user adoption with our extensive network to maximize your product visibility and to instantly start building credibility in the blockchain space. We’re insanely proud of all the work being done by the talented teams using our platform, and we want to amplify YOU! The open-source nature of the blockchain space has greatly shortened the product innovation cycle and with Amplify you can now streamline your go-to-market strategy. Ultimately you are the developers and content creators that will build products for the millions of blockchain believers around the world; we just want to help make that moment happen right now! # Partner with amplify Build your audience in five ways: 1. Go Viral on our Socials: Instantly reach and build relationships with loyal users that turn into evangelists 1. Get Featured in our Newsletter: Reach your audience and connect with users that are already looking for your product or content in our Projects to Watch newsletter section 1. Be Spotlighted on our Blog: Share your story with the leading blockchain projects and builders in the space with a _Partnership Spotlight_ 1. Join our Badge Program: Join the _Certified Infrastructure Alliance_ alongside the biggest names in the space, and gain credibility and endless rewards 1. Alchemy Accelerator: Scale your growth with exclusive access to startup discounts, mentorship, and access to a dedicated 24/7 Web3 support channel. Oh, we missed something. Best of all, Amplify is FREE for our users. Not a user yet? You can sign up for free [here](https://dashboard.alchemy.com/signup?referral=affiliate:b6347e30-4a26-426f-bf59-2370d38fcb47). # How to join Ready to amplify your product to the blockchain world? Send us a short note to amplify@alchemy.com that includes: - The link to your product - A description of your product - Why you decided to use Alchemy - Your Twitter handles \(personal and company\) We can’t wait to supercharge your growth! 🚀 \#alchemyapi \#amplifyme \#built4blockchain -- *[Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:b6347e30-4a26-426f-bf59-2370d38fcb47) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology, and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $15 billion in on-chain transactions, and have been featured on[TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup) and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT.* --- # Introducing Alchemy Notify: Bringing Notifications to Apps. URL: https://www.alchemy.com/blog/introducing-alchemy-notify-bringing-notifications-to-blockchain-apps.md Today we are excited to launch [Alchemy Notify](https://www.alchemy.com/notify), a new product for the Alchemy blockchain developer platform that solves one of the most critical UX problems in blockchain: real-time notifications for transactions and events. ‍[Get started here with Alchemy Notify](https://www.alchemy.com/notify). In contrast to seamless modern-day online purchases with instant confirmation, blockchain transactions often require continuous monitoring and page refreshing while waiting for blocks to be mined. The entire blockchain transaction ecosystem is predicated on this necessity for constant attention and this friction is often enough to turn away users with money in transit.  Studies show that daily push notifications can [increase user retention by up to 820%](http://grow.urbanairship.com/rs/313-QPJ-195/images/airship-how-push-notifications-impact-mobile-app-retention-rates.pdf). This demand only grows as products scale and reach new users. Alchemy Notify delivers instant feedback and peace of mind for users, which translates into higher engagement and increased word-of-mouth for app developers. **_“Push notifications are an indispensable part of enabling the UX that users demand. Notifications have helped us build the greatest possible wallet experience at MEW, and are critical to the whole dApp ecosystem thriving.”  -Kosala Hemachandra, CEO of MyEtherWallet._** With Alchemy Notify, we’re pleased to say that blockchain developers are an important step closer to delivering experiences to which users of traditional applications are accustomed. **_"Alchemy Notify is a game-changer for us and a game-changer for any developer building a dApp. Building and maintaining this on your own is extremely hard, and Alchemy Notify completely removes the pain point."  -Yash Nelapati, Founder of Makersplace and Employee \#1 at Pinterest._** At Alchemy, we’re fanatical about listening to developers and delighting them with new solutions to continually improve their applications. We believe our obsession with our customers is the biggest reason Alchemy is the leading blockchain developer platform relied upon by MyEtherWallet, Dharma, Kyber, Maker, 0x, and others. [Get started now with Alchemy Notify](https://www.alchemy.com/notify) in under 10 minutes. _Alchemy is the leading blockchain developer platform, powering millions of users and 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Dharma, Kyber._ _Backed by Stanford University, Coinbase, the Chairman of Google, Charles Schwab, and founders and executives of globally leading organizations, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in _[_TechCrunch_](https://techcrunch.com/2019/12/17/alchemy-blockchain/)_, _[_Wired_](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/)_, _[_Bloomberg_](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup)* and numerous other media outlets.*‍ --- # Introducing Alchemy Notify’s Custom Webhooks URL: https://www.alchemy.com/blog/introducing-alchemy-notify-custom-webhooks.md #### In real-time, receive the exact Web3 data you want On March 8th, there were over 585k new blocks across Ethereum, Polygon, Optimism and Arbitrum, equating to millions of transactions and events in a single day. Not only is this a massive amount of information, but it's often incomprehensibly formatted on its own. Figuring out how to integrate this data to enhance modern applications is one of the biggest challenges in web3. Today, we’re excited to announce[ Alchemy Notify’s Custom Webhooks](https://www.alchemy.com/custom-webhooks), giving you access to real-time notifications for any on-chain event. A shortlist of the infinite data you can get instantly updated on: - Uniswap token pair deployments - OpenSea NFT swap completions - Ethereum high gas fees detected - Aave tokens staked - A CryptoPunk is approved to be transferred RabbitHole, the team enabling on-chain work through quests and reward-based activities, are early product adopters. They've implemented Custom Webhooks to ingest transaction-level data to confirm users have completed their tasks.  *"With Custom Webhooks, we have gained the flexibility to receive notifications about the precise on-chain activities we care about. By implementing this pattern for our system, we can now receive webhook notifications with retry functionality, ensuring a more robust integration with on-chain data. As a result, we are able to move faster and with greater peace of mind." * - Garrett Hughes, Head of Engineering, RabbitHole With infinite data access and precise data controls, stream the data you care about, and ingest the information in the most usable format for your app.  Welcome to the next generation of web3.  [Get started for free](https://www.alchemy.com/custom-webhooks). #### What are the challenges of blockchain data? Blockchain networks, at their core, serve as a modern decentralized database, but the structure of blockchain data can be problematic for a few reasons:  - It's hard to identify the data you care about - It's hard to ingest the data at high volumes - The data is almost always incomplete from a UX perspective - The data may not be operating at the level of abstraction you need There is a growing need to solve these problems with robust data infrastructure that can parse and transform blockchain data faster and easier. ### Introducing Alchemy notify’s custom webhooks Through two key dimensions, flexibility and control, Custom Webhooks effectively solves the challenges of blockchain data. ###### 1. Flexibility Previous webhook solutions covered only pre-defined, transfers-based events. Now, with Custom Webhooks, understand _any_ contract-based event, from token and marketplace activity, to comprehensive data ingestion.** ** ###### 2. Control On its own, infinite data choice is not necessarily useful. But with custom filters, easily filter unnecessary information to receive the precise blockchain data you need. Together, these two dimensions underscore the core value of Custom Webhooks: data that is expansive and precise. ### What are the benefits of custom webhooks? In addition to flexibility and control, Custom Webhooks come with a few other key benefits including performance, cost savings, and reliability. ###### 1. Performance Built with GraphQL and webhooks so that in a single push, you're immediately notified about the most recent blockchain data changes. ###### 2. Cost savings Transactions can include a lot of associated data values by default. With Custom Webhooks, curate exactly what web3 data you need, so you never overpay or send superfluous requests.  ###### 3. Reliability Custom Webhooks provide infrastructure that is designed to ensure resiliency and scalability for any data engineering need. This means you can use the data to build simple notification systems or robust data ingestion pipelines. ### Web3 use cases for custom webhooks We built Custom Webhooks because of extensive feedback from our customers who wanted webhooks with greater flexibility. We learned that at a high level, there are three core use cases for Custom Webhooks: notification systems, tracking specific types of on-chain activity, and data ingestion. ###### 1. Notification systems Stream real-time notifications and alerts, anytime a specific type of event happens on the blockchain. Pipe these web3 alerts to platforms like Discord, Twitter, Slack, Telegram, etc., to easily notify your community. ###### 2. Track and respond to specific activity types With Custom Webhooks, easily track token activity \(approvals, staking, mints, etc.\), marketplace activity \(swaps, atomic trades, etc.\), oracle activity \(attestations of off-chain data\), or any other event-based activity that you care about. ** ** ###### 3. Data ingestion into self-managed databases Push data into your own database to transform and enrich the data, however is useful for you and your customers. Set up Custom Webhooks once, and always keep your databases up to date with the latest blockchain information. ### How early adopters are using custom webhooks During the Custom Webhooks private beta, companies like Collab.Land, The Indexing Company, and RabbitHole have started using Custom Webhooks to uplevel their products and user experiences. ###### Collab.land uses custom webhooks to expand product features Our partners at [Collab.Land](https://www.alchemy.com/case-study/collab-land) have built one of the most preeminent web3 platforms, designed to enable the creation of communities based on token ownership. Using Custom Webhooks, Collab.Land’s customers can create communities not just based on token gating, but also advanced token actions, like staking, lending, and more. _"Collab.Land needed a flexible webhook solution that is reliable at scale. Alchemy took our input and built Custom Webhooks. This unlocks entirely new capabilities for our product to more effectively and efficiently manage qualifying members for tokenized communities." _- Raymond Feng, CTO, Collab.Land ###### The indexing company uses custom webhooks to ingest blockchain data in real time Our partners at The Indexing Company offer indexing as a service, creating curated data pipelines for their customers. They’ve already started using Custom Webhooks to power these pipelines, a useful replacement to their previous solution: repeatedly polling RPC nodes, fetching all the data in a new block, then parsing the data to see if it met their customer needs.  _“Custom Webhooks was incredibly quick and easy to implement. It took us less than 30 minutes to set up and has led to 3x faster, 24% cheaper architecture for us and our customers. Custom Webhooks have enabled us to significantly simplify our blockchain adapters, all without sacrificing on the exact data our customers need_."  - Brock Haugen, CEO & Co-Founder, The Indexing Company ### Custom webhooks vs. Alchemy notify Custom Webhooks is the newest real-time data solution within Alchemy Notify. All other existing Alchemy Notify solutions are designed to give you access to specific, transfer-based events, e.g., mined transactions or NFT activity. Custom Webhooks is a complement to these solutions, now giving you access to totally undefined, custom blockchain data.  ### How to get started using Alchemy notify’s custom webhooks Custom Webhooks is available for all Alchemy developers today. [Get started for free](https://www.alchemy.com/custom-webhooks). ### Blockchains that support Alchemy notify’s custom webhooks Alchemy Notify’s Custom Webhooks are now available for all Alchemy developers building on: - Ethereum - Polygon - Optimism - Arbitrum Custom Webhooks are also supported on Goerli testnets for Ethereum, Optimism, and Arbitrum, as well as Mumbai testnet on Polygon. Ready to try them? [Get started with Custom Webhooks for free](https://www.alchemy.com/custom-webhooks). --- # Introducing the $20M Alchemy Solana Fund URL: https://www.alchemy.com/blog/introducing-alchemy-solana-fund.md Today we're launching the [Alchemy Solana Fund](https://www.alchemy.com/solana-20m-fund) — a $20M fund, dedicated to Solana builders. Solana now processes billions of transactions per month. Stablecoin market cap on Solana has surged past $15 billion. DeFi TVL sits around $7 billion, with SOL-denominated TVL near all-time highs. Nearly 2 million wallets are active daily, and the builder momentum is real: Visa, PayPal, Worldpay, and Western Union are all building or settling on Solana's rails. The program is straightforward: claim credits, run your Solana traffic on Alchemy, and decide if it's the right fit for your stack. No lock-in, no proprietary APIs. ## What we've built Get 20x faster archival access, 2x the throughput, and 99.99% uptime, and leverage the same Solana infrastructure behind Robinhood, [Solflare](https://www.alchemy.com/dapps/solflare), OpenSea, and Circle to power your apps at scale with affordable pay-as-you-go pricing and best-in-class developer experience. If you're already on Alchemy for EVM chains, easily enable Solana in the [dashboard](https://dashboard.alchemy.com) with a single click! No separate provider, no separate bill. Learn more about our Solana offering [here](https://www.alchemy.com/solana). ## What's available Credits apply directly to Solana usage on Alchemy. There are three tiers: Credits are valid for 90 days from redemption. See [full terms and conditions](https://www.alchemy.com/terms-conditions/solana-credit-program-terms-and-conditions). ## Who it's for This program is open to anyone building on Solana — whether you're evaluating providers, migrating from another platform, consolidating your multichain infrastructure onto Alchemy, or returning to Solana after some time away. Enterprise and institutional teams evaluating at scale can [reach out to our team](https://www.alchemy.com/contact-sales) for a structured proof-of-concept. ## Working with the ecosystem We love Solana builders and are giving priority access and 15% more credits to builders from the following communities. - [Solana Foundation](https://solana.org) - [Superteam](https://superteam.fun)'s global community across [UK](https://x.com/SuperteamUK), [India](https://x.com/SuperteamIN), [South Korea](https://x.com/SuperteamKorea), [Canada](https://x.com/SuperteamCAN), [Ukraine](https://x.com/SuperteamUKR), [Netherlands](https://x.com/SuperteamNL), [Malaysia](https://x.com/SuperteamMY), [Australia](https://x.com/SuperteamAU), and [Earn](https://x.com/superteamearn). - [MonkeFoundry](https://www.monkefoundry.io) Get in touch with the respective team for a special code to plug into your application. Don't see your community listed and want to get more Solana builders credits on Alchemy? Reach out to us [here](https://www.alchemy.com/contact-sales). ## Get started [Apply here](https://www.alchemy.com/solana-20m-fund) and send your first request today. For enterprise inquiries, [contact us here](https://www.alchemy.com/contact-sales). --- # Introducing Alchemy Solana gRPC | Alchemy URL: https://www.alchemy.com/blog/introducing-alchemy-solana-grpc.md Introducing [Alchemy Solana gRPC](https://www.alchemy.com/solana-grpc), a Yellowstone-compatible streaming service built for the most demanding Solana workloads. Alchemy Solana gRPC delivers real-time Solana data—accounts, transactions, slots, blocks, and entries—to your backend with low latency and high reliability. It's a drop-in replacement for any Yellowstone setup, with multi-node redundancy built in, replay on reconnect, and pay-as-you-go pricing that doesn't require a plan upgrade to access. It's part of the same platform that powers $1T+ in annual transactions for Phantom, [Solflare](https://www.alchemy.com/case-studies/solflare), [Robinhood](https://www.alchemy.com/dapps/robinhood), Stripe, [Coinbase](https://www.alchemy.com/dapps/coinbase), Circle, and Polymarket — now extended into real-time Solana streaming. [Get started](https://www.alchemy.com/docs/reference/yellowstone-grpc-quickstart), [run your own benchmarks](https://github.com/hmstudio-labs/geyserbench), and [apply to our $20M Solana Fund](https://www.alchemy.com/solana-20m-fund) for up to $25k in credits to accelerate your app on Solana. ## What is Alchemy Solana gRPC? [Alchemy Solana gRPC](https://www.alchemy.com/solana-grpc) is a fully managed streaming service that delivers on-chain Solana data directly to your app over gRPC, and it's faster, more affordable, and available to every developer, not just enterprise customers.
40%", tooltip: "", icon: "" }, altH: { title: "40%", tooltip: "", icon: "" }, altT: { title: "5%", tooltip: "", icon: "" }, }, { id: 1, metric: { title: "Accessibility", tooltip: "", icon: "" }, alchemy: { title: "All Tiers", tooltip: "", icon: "" }, altH: { title: "Enterprise", tooltip: "", icon: "" }, altT: { title: "Enterprise", tooltip: "", icon: "" }, }, { id: 2, metric: { title: "Base price", tooltip: "", icon: "" }, alchemy: { title: "$75/tb", tooltip: "", icon: "" }, altH: { title: "$80/tb", tooltip: "", icon: "" }, altT: { title: "$80/tb", tooltip: "", icon: "" }, }, ], }} />

Benchmarks performed in us-east-1

Unlike single-node streaming offerings, where one node hiccup, GC pause, or restart can spike or drop your stream, Alchemy connects to multiple upstream Solana nodes simultaneously, deduplicates the data, and delivers the fastest healthy result to your client. The aggregation layer, called Richat, is deployed across multiple regions, with redundancy at every level. The result: a stream that stays steady even when individual nodes don't, with delivery 5–15ms faster on average than alternatives — starting at $75/TB, on all tiers, no plan upgrade required. ## Built for production from day one Reliability and performance are layered in at every level: - **No single point of failure.** Every subscription fans across multiple upstream Solana nodes. GC pauses, slot lag, and single-node restarts never reach your stream. - **Drop-in Yellowstone compatibility.** Works with the Yellowstone client libraries your team already uses — Rust, TypeScript, Go, or anything that compiles a `.proto`. Migration is a URL change, not a rewrite. - **Replay on reconnect.** Resume from any recent slot and backfill missed data automatically. No separate backfill pipeline, no gap-detection logic to maintain. - **Filters that match your workload.** Filter by account, program, owner, or signature, and slice account data by offset. Your stream carries what your app needs, nothing more. - **Multi-region routing.** Connect in US East, US West, EU Central, or Asia-Pacific to keep your stream close to your backend and the validators you care about. - **Built-in observability.** Prometheus-compatible metrics and per-stream telemetry surface in the Alchemy dashboard alongside the rest of your stack. And on pricing: Alchemy Solana gRPC is ~5x more affordable than other providers, with no plan prerequisite and no monthly minimum. Only pay for what you stream. ## Migration is a URL change If you're already running a Yellowstone client, swapping to Alchemy gRPC takes one line. Your subscriptions, filters, commitment levels, and reconnection logic keep working as is, and most teams migrate in well under an hour. Switch from Helius LaserStream, Triton, Quicknode Yellowstone gRPC, or HelloMoon with a single URL swap, available in your Alchemy dashboard. ## When do I need Alchemy gRPC? Alchemy Solana gRPC is for any team whose Solana product is only as fast as the data feeding it. - **Trading firms and market makers** who compete on execution latency and need a stream that doesn't spike when a single upstream node has a bad moment. Multi-node aggregation flattens the long tail of p99 latency that single-node setups can't avoid. - **MEV searchers and arbitrage bots** running strategies where milliseconds determine profitability. Precise filters — by account, program, or signature — keep the stream tuned to exactly what the strategy needs without wasting bandwidth. - **Liquidation bots and DeFi protocols** that can't afford to miss a transaction during a market spike or a brief disconnect. Replay on reconnect means a client restart doesn't become a missed liquidation. - **Indexers and analytics platforms** that need consistent, gap-free streams over long time horizons. Multi-node redundancy and replay remove the need to build gap-detection and reconciliation logic into every consumer. - **Wallets and portfolio trackers** powering real-time UI that needs responsive updates on balances, confirmations, and program activity — without running dedicated streaming infrastructure. - **Teams migrating from a single-node provider** that's been dropping streams or spiking latency. Alchemy gRPC is Yellowstone-compatible and drops into your existing client code. You keep everything except the reliability problems. Not sure if it fits your workload? [Run your own benchmarks](https://github.com/hmstudio-labs/geyserbench), and [talk to our team](https://www.alchemy.com/contact-sales) — we'll walk you through the architecture, share our methodology, and help you benchmark Alchemy Solana gRPC against your real subscriptions, filters, and regions. ## Get started Over 70% of top onchain applications like Phantom and [Solflare](https://www.alchemy.com/case-studies/solflare) run on Alchemy. Our Solana gRPC extends that infrastructure into real-time Solana streaming — purpose-built for the trading, MEV, and indexing teams that need their data streams to just work. Generate your Alchemy Solana gRPC endpoint [from the dashboard](https://dashboard.alchemy.com) and start streaming, or [talk to our team](https://www.alchemy.com/contact-sales) to get set up with a custom configuration. - [Read the docs](https://www.alchemy.com/docs/reference/yellowstone-grpc-quickstart) - [Explore Alchemy Solana gRPC](https://www.alchemy.com/solana-grpc) - [Apply for $25k in Solana Fund credits](https://www.alchemy.com/solana-20m-fund) --- # Introducing Alchemy Supernode: Industry Leading Ethereum API URL: https://www.alchemy.com/blog/introducing-alchemy-supernode.md Today we are excited to introduce Alchemy Supernode, the most widely used Ethereum API with all the functionality of a node, including full JSON-RPC support, but with the reliability, scalability and speed needed to run world-class applications on the blockchain. The traditional Web 2.0 approach to scaling infrastructure uses multiple, indistinguishable servers managed by a load balancer. With blockchain, however, applications can’t treat nodes indistinguishably because each node syncs and stores data from the blockchain asynchronously. Simply running nodes behind a load balancer may result in inconsistent data, as the latest block on each node might be different. Data inconsistencies force developers to introduce tons of complicated workarounds and lead to inevitable errors that crash applications and ruin user experience. Without a new approach to blockchain infrastructure, developers are forced to choose between scale, reliability, and correct data \(a trade-off no engineer should have to make!\).  Alchemy Supernode is an infrastructure engine specifically designed for Web 3.0. The blockchain-native architecture delivers peak reliability by powering each piece of node functionality with dedicated, distributed infrastructure -- the same kinds of systems used by Facebook and Amazon for achieving massive scale. Alchemy Supernode also ensures the data is always correct, real-time, and in sync across every corner of the system thanks to a proprietary coordinator service. This allows Alchemy Supernode to scale quickly, gracefully, and infinitely so developers never need to worry about maintaining infrastructure again. Like the rest of the Alchemy developer platform, it’s fast and simple to set up. No code, no configuration -- it works out of the box. Here’s how developers get the most out of Alchemy Supernode: Data correctness: Eliminate unexpected crashes by ensuring data is always correct, real-time, and in sync thanks to a proprietary coordinator service. Peak Reliability: Achieve best-in-class uptime, protected by highly available infrastructure, instead of suffering from high latency and downtime by using nodes directly. ‍ Alchemy Supernode

", tooltip: "", icon: "" }, "2": { title: "

99.9%

", tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Standard Node

", tooltip: "", icon: "" }, "2": { title: "

72%

", tooltip: "", icon: "" }, "3": { title: false, tooltip: "", icon: "" }, id: 1, }, ], }} /> Infinite Scalability: Scale your infrastructure quickly and seamlessly so that you can spend more time shipping products and delighting users. ‍ Enhanced APIs: Do more, quickly with an Alchemy Web3 extension of [web3.js](https://www.alchemy.com/dapps/web3-js) as well as Smart WebSockets that automatically handle reconnection and backfilling of missed events. ‍ ‍Instant On: Switch to the most powerful infrastructure engine for blockchain with a single line of code. Run your app on Alchemy Supernode in 5 minutes or less. ‍‍ **"As more people enter DeFi, it's critical that teams like Dharma have reliable tooling for reading on-chain activity - including tracking critical transactions. We use Alchemy Supernode to subscribe to updates for transactions that we've submitted through Alchemy, and then to consolidate that with internal data. This has helped us improve our reliability and UX." -Graeme Boy, Director of Eng at Dharma** At Alchemy, our mission is to unleash the next generation of internet companies built on blockchain. While developers focus on products and users, we’re happy to power all the infrastructure behind the scenes. That’s why top Ethereum teams like Dharma, Maker, Aave, Balancer, and 0x use Alchemy to ship amazing products that scale.  [Get started now with Alchemy Supernode.](https://alchemy.com/supernode) --- _Alchemy is the world’s most powerful blockchain developer platform, relied upon by millions of users and 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Aave, dYdX, Splunk and Kyber. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Chairman of Google, Charles Schwab, and globally recognized founders and executives, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in _[_TechCrunch_](https://techcrunch.com/2019/12/17/alchemy-blockchain/)_, _[_Wired_](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/)_, _[_Bloomberg_](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup)_ and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, distributed systems, and artificial intelligence with leadership roles at Google, Microsoft, Facebook, Stanford, and MIT. Our mission is to supercharge the next tectonic shift in technology with the world’s most powerful blockchain developer platform._ --- # Introducing Alchemy University URL: https://www.alchemy.com/blog/introducing-alchemy-university.md Education has always been core to Alchemy’s mission of bringing web3 to 1 billion people, and this is why we’re ecstatic to finally release [Alchemy University](http://university.alchemy.com)! ### What is Alchemy University? Alchemy University \(AU\) is the ultimate resource for learning how to build in web3. The platform is built directly based on **your** requests for educational materials about web3. Oh and did we mention, it’s totally free? Our focus at AU is to provide comprehensive material for web3 concepts that are accessible to **everyone**, from seasoned developers to n00bs. This includes an entire [Ethereum Developer Bootcamp](https://university.alchemy.com/#eth-bootcamp) for developers in addition to a [JavaScript Fundamentals](https://university.alchemy.com/#js-101) course for those who are new to coding or unfamiliar with JavaScript. AU will also include our flagship project-based learning path: [Road to web3](https://university.alchemy.com/#r2w3). We believe this will fundamentally change the web3 education space - making credible resources and core concepts widely available to anyone who wants to learn, regardless of their financial background. ### Why courses? Over the years we’ve continued to produce [written tutorials](https://www.alchemy.com/docs), videos, blog posts and even [overviews for web3 concepts](https://www.alchemy.com/overviews) for our community. These have helped thousands of developers get their start in web3; even some of the largest existing web3 companies first learned how to build smart contracts by going through our [intro to smart contracts](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorials. However, while one-off tutorials and projects can be helpful for learning specific concepts, we’ve heard time and again that learners desire a course that takes them from 0 to 100 in becoming a web3 developer. ### What type of content will be offered on AlchemyU? Alchemy University will contain comprehensive educational courses, starting with the fundamentals, and taking you all the way to expert, even for those who have never coded before! We firmly believe that in order to truly master programming skills, you need to start from the basics, which is why we brought on the ChainShot team to offer their **$3000 Ethereum Developer Bootcamp** **for free**, so more developers can gain the skills required to master [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) In the initial launch, AU will provide three primary education paths: 1. [**JavaScript Fundamentals**](https://university.alchemy.com/#js-101): 3 week crash course to learn how to code and become a JavaScript expert, a core foundation to web3 development. No experience necessary.**‍** 1. [**Ethereum Developer Bootcamp**](https://university.alchemy.com/#eth-bootcamp): 7 week bootcamp with interactive coding challenges, video lessons, projects and expert instructors to teach you to build smart contracts, master [solidity](https://www.alchemy.com/overviews/solidity), and become a web3 developer.**‍** 1. [**Road to web3**](https://university.alchemy.com/#r2w3) (project based learning): 10 hands on web3 projects for you to build from the ground up with videos, written tutorials, starter code, and a community of thousands of developers. We will also debut a new resource for developers that are looking for pre-built code repositories to bootstrap their development process without having to build from scratch: [starter code](https://university.alchemypreview.com/#starter_code). If you have specific starter code requests, feel free to fill out this form. ### Is Alchemy University just for developers? Alchemy University’s content will be technical and geared entirely towards existing developers or those interested in becoming developers. However, no prior coding experience is necessary to start with Alchemy University. In the future we envision Alchemy University being a place where anyone is able to learn anything about web3, including non-technical concepts. No matter where you are on your learning journey, Alchemy University will provide top tier materials to get you on the right track: ##### New to coding? Everyone’s gotta start somewhere, we got you. Even if you’ve never coded before, don’t worry, you’re in good hands. In fact, we know plumbers, chefs, lawyers, and pretty much every background you can think of who come to Alchemy to learn how to build in web3. We now have a place where you can go to gain both the fundamentals of software engineering and web3 development, regardless of your background. We recommend starting with our JavaScript fundamentals course then moving to the Ethereum Developer Bootcamp and taking the world by a storm 🚀. ##### Experienced Web2 developer? You’ve come to the right place, get ready to become a pro. If you have some software engineering experience but are new to web3 development, Alchemy University will provide the pathway for you to become a fully-fledged web3 engineer. We recommend beginning with the Ethereum Developer Bootcamp to gain your web3 foundations with hands on projects and coding lessons. ##### Experienced or dabbled in Web3 development? They don’t make many like you, we’re here to level you up You may have dabbled in smart contract development, built an NFT contract for fun, or are a top engineer at a web3 company. Regardless, we have resources to level you up as a developer. If you’re looking to lock in your foundations, the Ethereum Developer Bootcamp is a great place to start. From there, you can delve into project based learning in Road to web3 or starter code if you’re ready to start building! The world is your 🦪 ### Why is Alchemy continuing to invest in education? Education is a crucial aspect of making web3 more accessible and understandable to everyone, especially developers. We’ve heard time and again from our users that it’s difficult to find trustworthy, comprehensive, and beginner-friendly web3 developer education, so we decided to build it from the ground up. Our vision is to make it easy for developers to build in web3. We started with infrastructure, developer tooling, and abstractions, and education is the next step. At Alchemy University, we’re building the starting point of a developer’s journey into web3. ### How can I get started with Alchemy University? You can get started by visiting [university.alchemy.com](http://university.alchemy.com) and embarking on your web3 learning journey! In the meantime if you want to learn more about solidity, check out our [overviews for learning solidity](https://www.alchemy.com/overviews/learn-solidity). Upon initial launch, all Alchemy University **courses** will be invite-only to ensure we’re providing the best possible experience before launching to the public - hang tight! We’ll be releasing these to the public very soon. In the meantime, to apply to join our early-access invite group [fill out the application form](https://alchemyu.typeform.com/alchemyu-early). --- # Introducing AlchemyAI: AI-powered Web3 Developer Tools URL: https://www.alchemy.com/blog/introducing-alchemyai.md We are thrilled to announce a new suite of tools called AlchemyAI. Our goal for AlchemyAI is to harness AI technology to help web3 developers speed up their development, get data faster, and push the boundaries of AI’s potential to advance the web3 ecosystem. Our first two flagship products are ChatWeb3 and** The Alchemy ChatGPT Plugin.** Join the waitlist to access these two products [**here.**](https://www.alchemy.com/alchemy-ai) ## ChatWeb3: your AI powered assistant for Web3 ChatWeb3 is an AI chat tool that can be accessed in the Alchemy dashboard, designed to revolutionize the way developers build their web3 projects. Trained on thousands of pages of web3 resources, ChatWeb3 is the ultimate assistant that provides specific and relevant answers to all your [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) queries. ChatGPT has revolutionized developer’s workflows, by making it easy to find answers to common code issues, accelerating writing code, or simply giving context on concepts. While ChatGPT is a powerful language model, it lacks the domain-specific knowledge required for efficient problem-solving in web3 development. ChatWeb3 bridges this gap by honing in on cutting edge web3-specific knowledge, providing highly specific and accurate answers, and enabling web3 developers to speed up their workflows and overcome development roadblocks. With AI assistance, web3 developers can tap into a vast array of predefined code snippets, templates, and best practices, reducing the time spent on repetitive tasks. ChatWeb3's intelligent suggestions and contextual recommendations enable developers to write cleaner, more efficient code, ultimately boosting productivity and allowing them to focus on the core functionalities of their projects. With ChatWeb3, we hope to arm every web3 developer with a trusted subject matter expert, whether you’re trying to figure out if a smart contract has token transfer fees, debug errors in your API implementation, simulate ETH transactions or get NFTs for any given wallet. You can learn more about ChatWeb3 [**here.**](https://www.alchemy.com/docs)‍ ## Alchemy ChatGPT plugin: on-chain data with natural language Our second product is a ChatGPT plugin for OpenAI’s Plugin Marketplace! The Alchemy ChatGPT Plugin allows developers and non-developers alike to get real-time blockchain information through natural language using Alchemy API endpoints. So you can ask questions such as: - "What are the latest [ERC20](https://www.alchemy.com/overviews/erc20-solidity) transfers made by the address vitalik.eth” - ”Get latest market price for Etheruem” - ”What was the average market price for the last 10 Azuki NFTs sold” Since the standard version of ChatGPT’s knowledge cutoff date is September 2021, Alchemy’s plugin helps fill in the gaps for those seeking current web3 data. The plugin pulls information from Ethereum, Polygon, Arbitrum and Optimism, allowing you to gather intel across different chains all in one place. You can learn more about The Alchemy ChatGPT Plugin [**here**](https://www.alchemy.com/docs). --- # Introducing Dedicated Clusters | Alchemy URL: https://www.alchemy.com/blog/introducing-dedicated-clusters.md Introducing **[Dedicated Clusters](/dedicated-clusters)** — fully managed, single-tenant node infrastructure built on [Cortex](/cortex), the same engine powering $1T+ in annual transactions for industry leaders like Robinhood, Stripe, Coinbase, Circle, Chainlink, and Polymarket. [Talk to our team](/contact-sales-dedicated-clusters) to get started. ## What are Dedicated Clusters? Dedicated Clusters give you your own node infrastructure — fully managed by Alchemy, configured to your exact requirements. Unlike standard dedicated node offerings that give you a single node, Dedicated Clusters provision a redundant group of nodes per chain with built-in automatic failover to Alchemy's shared infrastructure ([Node RPC](/rpc-api)), block-perfect consistency, and real-time observability. You get the control of running your own nodes without the operational burden of managing them. We design the right cluster for your workload and handle everything from deployment to support. - **Custom tracers or binaries** deployed directly on your nodes for faster, more cost-effective simulation, tracing, and indexing - **Single-tenant, SOC 2 Type II compliant** infrastructure with audit-ready controls - **Deployed in the region of your choice** for ultra-low latency close to your stack, chain infrastructure, or users - **Custom hardware configurations** tailored to your traffic for the best possible performance - **Predictable pricing** with a fixed monthly cost based on your provisioned capacity Reliability is layered in at every level: - **Zero downtime by design.** Two or more nodes per chain per region — a fully redundant system with no single point of failure. - **Built-in resilience.** Traffic spikes beyond your cluster? Requests automatically fail over to Alchemy's shared fleet. No dropped requests, no scrambling. - **Block-perfect consistency.** Every node returns the same view of chain state, so your users never hit errors from stale or conflicting reads. - **Full observability.** Real-time Grafana dashboards for node health, request patterns, and cluster performance — no black boxes. - **Every chain, instantly available.** Direct relationships with [100+ chain foundations](/rpc) mean faster support, proactive upgrades, and priority incident resolution. - **Live in minutes.** Same Alchemy APIs — just swap the URL. New clusters spin up in minutes, not weeks. Dedicated Clusters are powered by [Cortex](/blog/the-tech-behind-cortex), the same engine behind Alchemy's shared infrastructure, which enables apps on Alchemy to be 2.5x faster, 5x more reliable, and capable of 500x more throughput than alternatives, with 99.99% uptime. For public shared-infrastructure data, see Alchemy's [RPC performance benchmarks](https://www.alchemy.com/benchmarks). ## When do I need Dedicated Clusters? Deploying on shared infrastructure through Node RPC is the right choice for the vast majority of workloads. Dedicated is the right call when you have hard requirements that shared can't satisfy — custom binaries, regulatory isolation, or regional deployments. For example: **Security and forensics teams** whose core workloads rely on custom tracing and simulation need to push their own tracers or binaries to the node. Shared fleets can't run bespoke code, so dedicated is the only path. **Financial institutions** subject to regulatory requirements need to prove that no other customer's traffic, code, or data has touched their environment. Dedicated Clusters provide single-tenant isolation with audit-ready controls and [SOC 2 Type II compliance](/security). **Trading firms, DeFi protocols, and high-frequency trading operations** competing on latency need infrastructure co-located with their stack, chain infrastructure, or validators. Dedicated Clusters deploy in the regions you need with custom hardware configurations tailored to your traffic shape, minimizing hops, cutting out noisy neighbors, and delivering the best possible performance. **In-house node operators** at exchanges and large protocols take on big reliability risks and spend significant engineering resources on upgrades, monitoring, on-call rotations, and incident triage. Dedicated Clusters handle all of that, so your engineers can focus on building rather than maintaining infrastructure. **Oracles and analytics platforms** with high-throughput, multi-chain workloads need full event history, custom tracers for deep data extraction, and visibility into what they're spending. Dedicated Clusters include unlimited getLogs ranges, custom tracer deployment, and a fixed monthly cost — no per-request billing, no surprises. Not sure which fits your workload? [Check out our extended guide](/overviews/dedicated-vs-shared-nodes) that walks you through the decision in detail. ## Get started Over 70% of top onchain applications run on Alchemy to build the fastest, most reliable apps that succeed at scale. If you're juggling multiple dedicated providers because no single one can deliver the reliability, performance, and chain coverage you need — or you're running nodes in-house — [come chat with us](/dedicated-clusters) to get set up on Dedicated Clusters. We've helped teams like [Blockaid](https://www.alchemy.com/dapps/blockaid) meet their most specialized infrastructure requirements. [Learn more about Dedicated Clusters](/dedicated-clusters) and get in touch to get started. --- # Introducing: Ethereum Address Activity Notifications URL: https://www.alchemy.com/blog/introducing-ethereum-address-activity-notifications.md ## The current problem In 2009, Apple launched its push notification service \(APNS\) which allowed third-party developers to send notification data to their applications. This marked a fundamental shift in the way people consume information. Imagine if you had to refresh your email every 5 minutes to see if you got into your dream school or if your crush likes your new profile picture - you’d never be able to focus on anything else! Today, as consumers, we’re used to customizing our alerts to receive as few or as many notifications as we want for everything from emails to dating apps. This behavior has become ubiquitous, but how does this look from the application’s side? How do these apps you use every day know _when_ to alert you, and how do they keep track of this information? That's why we built [**Alchemy Notify**](https://alchemy.com/notify). ## Address activity notifications Today we’re announcing new capabilities to Alchemy Notify. Address activity notifications allow you to track transaction activity on the blockchain. More specifically, developers can set up alerts for activity on specific addresses and have the relevant data sent to their custom URL. This not only saves our dev community valuable time and money \(as they no longer have to watch each new block and write custom filters to track their specific data\), but it also powers push notifications for blockchain users. This real-time notification pairs nicely with the [Transfers API ](https://www.alchemy.com/docs)\(currently in beta\) which allows our developers to get historical transaction data for ethereum addresses. For example, imagine if you were building a wallet application and a new user signs up. You can now handle their transactions in two simple steps with Alchemy’s custom endpoints: 1. Call the Transfers API method to get all historical data for that user’s address. 1. Track the user’s address using the Address Activity webhook to receive real-time updates on any subsequent transactions for your user. There’s your whole backend right there. There is currently no limit to the number of ethereum addresses that can be tracked \(some customers track as many as 20,000 addresses at once\). ## 3 minutes to integrate 1. [Sign up for Alchemy](https://dashboard.alchemy.com/signup/) 1. Create a webhook with a URL and relevant addresses \(we also have an [API to create new webhooks](https://www.alchemy.com/docs)!\) 1. Alchemy sends you notifications 1. Your users stop worrying about the status of their crypto trades -- *[Get started with Alchemy for free](https://dashboard.alchemy.com/signup/).* --- # Introducing Gas Price Notifications by Alchemy URL: https://www.alchemy.com/blog/introducing-gas-price-notifications-by-alchemy.md Gas price notifications is a new tool that developers can use to alert their users when gas price is optimal for sending transactions.  ## Why Over the past 9 months, Ethereum gas prices have skyrocketed, going from an average of[ 10 Gwei per transaction in January 2020 to over 110 Gwei in September](https://etherscan.io/chart/gasprice). That’s over ten times the price, with occasional spikes bringing the gas price for [a single transaction to $99](https://cointelegraph.com/news/99-gas-fees-on-ethereum-are-crippling-defis-growth) or hundreds of dollars in the case of complex smart contracts! On top of that, gas price volatility has also been dramatic — gas prices can triple over the course of any given day, caused by fluctuations in real-time traffic.  ## Gas price notifications High fees are the direct result of heavy network congestion. Alchemy Gas Price Notifications provides intelligent real-time alerting capabilities for developers to enable their users to time transactions when network congestion and gas prices are lowest. Alchemy Gas Price Notifications is one of the first API for developers to bring money saving gas insights directly to their apps.   Notify users when the gas price is low -\> they save money -\> they choose your product in the future vs competitors. ## 3 minutes to integrate Gas Price Notifications is part of [Alchemy Notify](https://alchemy.com/notify) and only takes 3 minutes to integrate into your app. How does it work? Simple: 1. [Sign up for Alchemy](https://dashboard.alchemy.com/signup/). 1. Create a Gas Price Webhook with gas price thresholds you’d like to be notified at.  1. Alchemy sends you notifications when the gas price passes your thresholds.  ‍ # What can this be used for? - Exchanges can alert their customers whenever gas is optimal to make trades. - Users may store transactions in a waiting pool to execute them when gas prices fall below a certain level. - Automate the purchase of[ Gas Tokens](https://gastoken.io/). These tokens hedge against future fees by allowing you to purchase gas when prices are low, to use when gas prices are high. Ethereum developers are hard at work bringing scalability to mainnet, but until then save your users money with Gas Price Notifications and they will love you forever.   We’re here to help - [reach out](https://discord.gg/u5hXqHH) if you have any questions! -- _Alchemy provides the leading blockchain development platform powering $7.5 billion in transactions for millions of users in 99% of countries worldwide. The majority of top blockchain apps rely on Alchemy to power their products including Maker, 0x, MyEtherWallet, Dharma, and Kyber._ *Alchemy is backed by Stanford University, Coinbase, the Chairman of Google, Charles Schwab, top global founders and executives and has been featured in [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup) and numerous other media outlets.* *Sign up for a [free account](https://dashboard.alchemy.com/signup/). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # Introducing Geist, a new gaming chain powered by Alchemy URL: https://www.alchemy.com/blog/introducing-geist.md We're excited to announce our partnership with[ Pixelcraft Studios](https://x.com/pixelcraftstuds) and the upcoming launch of [Geist](https://www.playongeist.com/)—a new members-only blockchain built for gaming. Built on our[ Rollups](https://alchemy.com/rollups) service, scalable infrastructure, and comprehensive developer platform, Geist will create a trusted platform that focuses on rewarding and protecting both developers and players. The gaming community stands to benefit immensely from Geist’s curated, user-centric approach.  ## How geist is changing the game Geist is the first-ever Layer 3 blockchain created exclusively for gaming. The chain uses the [Arbitrum Orbit](https://arbitrum.io/orbit) framework and settles to [Base](https://www.base.org/). The members-only platform is built to tackle looming challenges in the broader web3 gaming ecosystem with innovative improvements to the gaming experience. Major problems include: - Inflated user numbers from botting and Sybil attacks. - Reward systems that end up benefiting bots and multi-account users instead of real players - Player churn, where users quickly leave once incentives dry up, undermining communities Geist tackles these challenges directly by offering a carefully curated space where quality and engagement take precedence. By targeting a more focused and committed user base, Geist ensures that rewards go to genuine players, promoting lasting loyalty and community development. ## How Alchemy will shape geist’s success We’re bringing the complete Alchemy experience to Geist, ensuring games on Geist run seamlessly and users enjoy an uninterrupted, immersive experience. As part of our partnership, we’ll integrate the comprehensive Alchemy platform into Geist, including: - Core[ Node APIs](https://www.alchemy.com/supernode) - Key data APIs like[ Token API](https://www.alchemy.com/token-api)and[ Webhooks](https://www.alchemy.com/webhooks) ## Get involved with geist Interested in joining Geist? Developers can test Geist’s experience via the Polter Testnet. To join Geist, you’ll need an invitation. Whether you’re an [Aavegotchi](https://www.alchemy.com/dapps/aavegotchi) NFT holder or a user with a strong on-chain history, you can [apply for an invite](https://www.playongeist.com/) and become part of the future of gaming. ## Building with the Alchemy difference Developers looking to launch their own chain will benefit from a comprehensive building experience that includes everything needed to create engaging applications and communities. We provide builders with several unique attributes: - Reliable, scalable infrastructure - A complete developer platform, now available for rollups - Distribution to the largest developer base in web3 - 24/7 global support from skilled engineers We’re the only Rollups-as-a-Service provider offering a reliable infrastructure stack combined with a developer-driven growth engine, all within one platform. ## Interested in rollups? Interested in launching your own rollup with the best developer experience and most reliable infrastructure? We’d love to speak with you. --- # Introducing Integrations for Rollups URL: https://www.alchemy.com/blog/introducing-integrations.md ## Introducing integrations for rollups Explore our new [marketplace](https://www.alchemy.com/integrations) featuring trusted services and tools, giving you full control over your rollup’s customization. Enhance your chain experience with the customization you need for engaged, seamless developer and user interactions. We'll help you select the right integrations and connect you with the best teams in the industry. ## Integrations available today: - [**Blockaid**](https://www.blockaid.io/) - The web3 security platform for monitoring, detecting, and remediating fraud, phishing, and hacks - [**Blockscout**](https://www.blockscout.com/) - An open-source, universally-available and customizable block explorer - [**Boost**](https://boost.xyz/) - A fullstack toolkit for networks to deploy & manage onchain incentive campaigns - [**Coinflow**](https://coinflow.cash/) - Blockchain-based payment processor enabling instant settlement for payment acceptance and payouts - [**Decent**](https://www.decent.xyz/) - Unlock seamless onboarding with Decent's easy-to-implement APIs for instant cross-chain swaps and transactions - [**DIA**](https://www.diadata.org/) - Cross-chain data and oracle platform, sourcing and delivering customizable data feeds on and off-chain. - [**Halliday**](https://halliday.xyz/) - Save time, grow rollup TVL, and drive revenue via frictionless, embedded commerce - [**Hyperlane**](https://hyperlane.xyz/) - An open interoperability framework to connect rollups anywhere onchain - [**Parsec**](https://parsec.finance/) - A fast, highly customizable block explorer and onchain analytics platform - [**Spearbit**](https://spearbit.com/) - Industry-leading, end-to-end security services for web3 - [**Superbridge**](https://superbridge.app/) - Customizable and user-friendly bridge interface, ready on Day 1 - [**Tally**](https://www.tally.xyz/) - A comprehensive governance platform for onchain decentralized organizations - [**Thirdweb**](https://thirdweb.com/) - Full-stack development platform for building scalable web3 apps & games - [**Zapper**](https://zapper.xyz/) - A comprehensive crypto explorer to make onchain activity human-readable If you’re interested in deploying a rollup with us, we’d love to speak with you. --- # Introducing Rollups - Enterprise-grade RaaS solution URL: https://www.alchemy.com/blog/introducing-rollups.md Today, we’re thrilled to announce [**Alchemy Rollups**](/rollups), the complete developer platform for your rollup. Now, developers can launch their own chain, leveraging our reliable, scalable infrastructure and community distribution. We built Rollups because of demand for a one-stop shop that provides everything developers need to launch their chain and grow an ecosystem. With Rollups, developers get: 1. Reliable, battle-tested infrastructure that has powered the biggest tech and web3 companies over 7 years 1. The power of our full developer platform to bring builders to their chain 1. Direct distribution of their chain to millions of high-intent developers We’re currently offering premium access to Rollups, starting with [OP Stack](https://docs.optimism.io/stack/getting-started) and [Arbitrum Orbit](https://docs.arbitrum.io/launch-orbit-chain/orbit-gentle-introduction) as available frameworks, and [Celestia](https://celestia.org/what-is-celestia/) as an alt-DA layer. Ready to roll? **Get access** [**here**](https://www.alchemy.com/contact-sales-rollups). ## Why launch a rollup? **Building in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) is expensive**. Developers can build on a Layer 2 \(L2\) to lower costs, but that doesn’t solve the underlying problems of sharing resources, such as: - **Gas fees are tied to demand for blockspace** \(fees go up during periods of congestion\) - **No opportunity to monetize transactions** \(transaction fees are captured by the L2, not the developer\) - **Chain configurations are pre-determined** \(developers can’t customize block time, gas limit, or any specifics that could improve their app\) Deploying their own chain enables developers to monetize, customize, and capture value from their blockspace in ways they previously couldn’t. \(This is complementary to Ethereum’s long-term vision of a [rollup-centric](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) future.\) ## Why launch on Alchemy rollups? Deploying a sequencer and a bridge isn’t the hardest part of the rollups challenge. What’s harder is guaranteeing uptime and stability as end-users scale — and attracting end-users in the first place! There are some broader advantages to deploying your rollup with Alchemy: ### Reliable and tested infrastructure Alchemy builds fundamentally scalable infrastructure that will meet the demand of millions of users. We’ve powered $100B\+ onchain transactions for the biggest companies in tech and web3 for 7 years. We’ve seen every type of issue a chain could experience, and have developed protections and workarounds to ensure your chain stays running. Plus, our support team has an **average response time of less than 5 min**, ensuring realtime engineering help to keep ensure uptime. ### Complete developer platform Integrate any product or service you need to make your chain a destination that developers come to build. These include: 1. [Supernode](/rpc-api), the distributed web3 engine that powers 100B\+ onchain transactions globally 1. Best-in-class [Account Abstraction](https://www.alchemy.com/smart-wallets) that’s enabled seamless sign up and transaction flows for over 1,000,000 smart accounts ### Distribution Developers need to know a chain exists in order to choose to build on it. Launching a rollup via Alchemy means it’s a few clicks away from millions of registered developers who are ready to build. Rollups customers will see their chains listed in the Alchemy dashboard, alongside the biggest chains in web3. Rollups provides the growth engine needed to turn a new chain into a dominant and engaged developer ecosystem. ## How to get started with rollups Developers thrive when they are equipped with the right tools to succeed. We’re excited to partner with this new class of rollup projects and deliver a great experience to developers. Currently, we’re offering premium access to Rollups, and the team is eager to work with builders who are interested in deploying a rollup immediately or within 1-3 months. [Get access](https://www.alchemy.com/contact-sales-rollups) today! --- # Partnering to Shape the future of digital creation URL: https://www.alchemy.com/blog/introducing-shape.md We're excited to announce our partnership with [Shape](https://www.shape.network/), the chain for creators built on top of Ethereum. With our recent announcement of [Rollups](/rollups) and our partnership with [Worldcoin](/blog/introducing-world-chain), we’re now excited to provide the complete developer platform that makes Shape an open, seamless building experience for any creator or creation. ## Why shape? Shape is an open space where everyone is free to create whatever they want - from fine art, to weird experiments, to whole new ideas. As a creator-focused community, Shape provides Gasback - where 80% of Shape’s sequencer fees are directed back to contract owners - ensuring creators that thrive on the network share in its success. Shape will also be a part of the[ Superchain](https://www.superchain.eco/) ecosystem, enabling greater interoperability and easy deployment of existing code, tools and standards. We're inspired by Shape's vision of creating an empowering space for digital artists and builders, founded on the principles of accessibility and decentralization. ## Alchemy's role in shape’s success Alchemy is in a unique position to help Shape’s vision. The new chain will benefit from our technical infrastructure that scales as it onboards creators and apps from across the globe. As part of our partnership, we will integrate the comprehensive Alchemy platform into Shape, giving Shape an easy and frictionless building environment, including: - [Supernode](/rpc-api) - to give users the fastest and most-reliable uptime in web3 - [AA](/smart-wallets) - to provide creators the best wallet UX - Data APIs - to power [token](/token-api) history and [NFT](/nft-api) calls, and more When Shape’s mainnet launches later this year, all Alchemy developers will have immediate access via a few clicks in the dashboard, promoting seamless onboarding and building to the chain. ## Building with the Alchemy difference Developers using Shape will be delighted by a comprehensive building experience that incorporates everything needed to create engaging digital art and applications. Alchemy provides Shape with several unique attributes: - Reliable, scalable infrastructure - A complete developer platform, now available for rollups - Distribution to the largest developer base in web3 - 24/7 global support from skilled engineers We’re the only Rollups-as-a-Service provider who can support customer needs for a reliable infra stack and developer-driven growth engine in one rollups platform. ## Building an open community Our partnership with Shape is about more than just technology; it’s about creating an open, welcoming community for creators of all kinds. Whether you're an artist, developer, or entrepreneur, Shape provides a home for building and creating, and we’re here to support you every step of the way. If you’re ready to be part of this exciting journey, start building on the [Shape testnet today](https://docs.shape.us/) or [reach out to the team](https://docs.google.com/forms/d/e/1FAIpQLSdt-xmA2ZX1sSCR146KBIED5dAXat30wLt0uCk4pWnekeHQeQ/viewform). ## Interested in rollups? Interested in launching your own rollup with the best developer experience and most reliable infrastructure? We’d love to speak with you. Get VIP access to Rollups [here](/contact-sales-rollups). --- # Introducing Support Tickets URL: https://www.alchemy.com/blog/introducing-support-tickets.md ### Our commitment to your success We know how critical support is when you're building onchain. That's why we're evolving our support approach to give you the fastest, most direct path to solving your development challenges. Whether you're debugging a smart contract or scaling your app, we're here to empower your innovation. ### Listening and improving Our community of builders has always been our greatest source of insight. Over the past few months, you've shared candid feedback about our support experience, and we've been listening intently: - Inconsistent response times were slowing down your progress - Navigating support channels felt like solving a complex problem - The promise of instant help often didn't match the reality We hear you, and we're making a change. ### A new chapter in developer support On **May 30th**, we're transforming how you get support. We're moving beyond our Alchemy Platform Discord server to a more focused, efficient support system designed to accelerate your onchain development. ### How you'll get support moving forward We've simplified how you can reach our team: 📬 **Email us** directly at [support@alchemy.com](mailto:support@alchemy.com) 🧾 **Use the new support widget** on the [Alchemy Dashboard](https://dashboard.alchemy.com/) - a one-click solution to get the help you need Our new support system, powered by [Pylon](https://usepylon.com/), is built with one goal: getting you back to building, faster. ### What you're gaining This isn't just a change - it's an upgrade designed around your workflow: ✅ **Instant confirmation** that we've received your request ✅ **Smarter prioritization** so urgent issues get immediate attention ✅ **Direct communication** with domain experts who understand your challenges ✅ **Structured support** that keeps your project moving forward We're eliminating the noise and friction, giving you a clear path to solutions. ### Beyond support: building together This update only applies to the **Alchemy Platform Discord** server. The **Alchemy Builders Discord** \(formerly Alchemy University\) remains your hub for community learning, events, and builder connections. ### Our ongoing commitment Your feedback doesn't just improve our support - it shapes how we build Alchemy. We're committed to creating tools and experiences that remove barriers, allowing you to focus on what you do best: building revolutionary onchain applications. We partnered with Pylon to deliver a support experience that: - Scales with your ambitions - Provides the clarity you need - Puts your development workflow first ### Thank you, builders We're grateful for your candid feedback and your incredible work in the onchain ecosystem. Every ticket, every interaction is an opportunity to support the next breakthrough app, the next industry-changing innovation. Let's build what's next, together. ## Frequently asked questions ### How do I contact support? You can email support@alchemy.com directly or use the support widget on the Alchemy Dashboard for one-click access to help. ### What is the support widget on the Alchemy Dashboard? The support widget is a feature on the Alchemy Dashboard that provides a one-click solution to submit support requests and get help from our team. ### When did we change the support system? We transitioned to a new support system on May 30th, moving away from the Alchemy Platform Discord server to a more focused, efficient ticketing approach. ### What technology powers our new support system? The new support system is powered by Pylon and is designed to provide faster resolution times with smarter prioritization and direct communication with domain experts. ### What happens to the Discord servers? The Alchemy Platform Discord server is no longer used for support, but the Alchemy Builders Discord (formerly Alchemy University) remains active as a hub for community learning, events, and builder connections. ### What are the benefits of the new support system? You'll receive instant confirmation of your request, smarter prioritization for urgent issues, direct communication with domain experts, and structured support that keeps your project moving forward. --- # Introducing the Public Ethereum Composer URL: https://www.alchemy.com/blog/introducing-the-public-ethereum-composer.md The [Public Ethereum Composer ](https://www.alchemy.com/composer/)allows anyone to configure Ethereum requests and view the results instantly, no account necessary. In the process of developing software apps, engineers constantly have to test out their code, whether it be to investigate new methods, explore different query parameters, or debug a request. This is something every engineer does on a daily basis, from beginners to masters. Unsurprisingly, web3 developer tools continue to lag behind the traditional web2 tooling when it comes to testing out requests. Making example requests to the Ethereum network is currently hindered by having to connect to a node provider, or worse, run your own node. This can be a huge barrier to entry for developers who need to be able to quickly test out queries. That’s why we built a public Composer for Ethereum requests, so anyone can test out JSON-RPC \(API used to communicate with the Ethereum network\) and Alchemy specific endpoints, without having to sign up or run their own node. The Composer has been an internal dashboard tool for Alchemy users for some time now, but we decided to open it up to the public. With the Public Ethereum Composer you can make requests to the [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) and four of the top Ethereum testnets: Goerli, Kovan, Rinkeby, and Ropsten. To use the public composer, simply visit [https://www.alchemy.com/composer/](https://www.alchemy.com/composer/), select your desired network, method, and parameters, then send off the request and see results instantly! With over 45 different eth methods and Alchemy specific api calls to choose from, you can easily make requests and see real-time results right on the same page. You can also access documentation for each method by clicking the “[API Reference” ](https://www.alchemy.com/docs)link in the top right, and share pre-formatted requests with anyone by clicking “Copy config URL” \(circled in the screenshot above\). Check out the video below for tips on how to use the composer feature within the Alchemy dashboard. -- *Interested in blockchain development? [Sign up with Alchemy for free](https://dashboard.alchemy.com/signup?referral=affiliate:b98d92f2-6d56-49ae-b06a-9308cafbf741).* --- # Alchemy and Worldcoin Partner to Launch World Chain URL: https://www.alchemy.com/blog/introducing-world-chain.md ## What to know - Alchemy is partnering with[ Worldcoin](https://worldcoin.org/) to provide proven, reliable infrastructure for [World Chain](https://worldcoin.org/world-chain), including rollup hosting services, as well as instant access to its complete developer platform of APIs, tools and integrations. - Alchemy will also aim to integrate[ World ID](https://worldcoin.org/world-id) and promote its growth as internet infrastructure. - All of Alchemy’s registered developers will have access to World Chain via the Alchemy dashboard. - World Chain is a new blockchain designed for humans, integrated with the Worldcoin protocol and working alongside Optimism and the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) as part of the Superchain. Alchemy is partnering with Worldcoin to provide important infrastructure and developer growth for [World Chain](https://worldcoin.org/blog/announcements/introducing-world-chain), a new blockchain designed for humans. With the recent announcement of[ Alchemy Rollups](/rollups), we are excited to partner with the biggest web3 project to launch a global chain focused on real-world utility across DeFi and identity use cases. For over 6 years, Alchemy has provided the web3 infrastructure that powers the most important projects in the space. By working with Alchemy, World Chain will receive proven reliability, community-driven growth, and our complete web3 developer platform. ## What is world chain? World Chain is a new blockchain tailored for human-centric applications. It will seamlessly integrate with the Worldcoin protocol and work alongside Optimism and the broader Ethereum ecosystem as part of the Superchain. By prioritizing real humans via World ID, verified users will receive priority blockspace and a gas allowance for casual transactions. Developers on World Chain will have the opportunity to reach millions of these authenticated users worldwide, creating applications that enhance everyday life — all powered by Alchemy’s complete developer platform. ## Alchemy and worldcoin Alchemy is in a unique position to help Worldcoin’s vision by powering World Chain. Launching with over 10M users, World Chain will benefit from our technical infrastructure that scales as it onboards more users, apps, and developers across the globe. As part of our partnership, we will integrate the comprehensive Alchemy platform into World Chain, including core node APIs, account abstraction for smart wallets, data indexing and APIs, and more. All Alchemy developers will have immediate access to World Chain via a few clicks in the dashboard, promoting seamless onboarding and building to the chain. We’re also excited to support World ID's implementation and promote it as a fundamental piece of web3 infrastructure. With a focus on privacy-preserving human verification, World ID can be a seamless proof-of-personhood for onchain users. ## Why work with Alchemy? We offer builders the complete developer platform for their rollup. Our experience as a reliable web3 infra provider gives our users combined advantages that are unique to Alchemy: - Ultra-reliable, scalable infrastructure - A complete developer platform, now available for rollups - Distribution to the largest developer base in web3 - 24/7 global support from skilled engineers We’re the only Rollups-as-a-Service provider who can support customer needs for a reliable infra stack and developer-driven growth engine in one rollups platform. ## How to get involved with world chain [Sign up](https://auth.alchemy.com/signup?redirectUrl=https%3A%2F%2Fdashboard.alchemy.com%2Fsignup%2F) for an Alchemy account to be notified when World Chain is open for builders. World Chain’s developer preview is expected to launch very soon, giving people the opportunity to begin building on the blockchain for humans in preparation for a full launch later this year. If you’d like to learn more about the World Chain project, read the[ Worldcoin protocol whitepaper](https://whitepaper.worldcoin.org/). ## Interested in rollups? If you’re interested in deploying a rollup with us, we’d love to speak with you. Get VIP access [here](/contact-sales-rollups). --- # Kaia Support Is Live on Alchemy URL: https://www.alchemy.com/blog/kaia-support-is-live-on-alchemy.md Alchemy has launched native support for [Kaia](https://www.kaia.io/), an EVM-compatible Layer 1 built for stablecoin settlement and onchain finance across Asia. The network pairs one-second finality with deep regional stablecoin infrastructure, an expanding RWA ecosystem, and a distribution engine that reaches into an everyday messaging app used by hundreds of millions of people, giving developers a path to put onchain finance in front of mainstream consumers rather than only crypto-native users. ## Why Kaia stands out ### One-second finality on an EVM-compatible L1 Kaia confirms blocks in roughly one second while staying fully EVM compatible. For developers, that means instant settlement without leaving the tooling they already know. It opens the door to high-frequency DeFi, exchange flows, and FX settlement that would stall on slower chains, with far less exposure to congestion or settlement risk. ### The Unifi distribution engine [Unifi](https://www.unifi.me/), built by LINE NEXT, integrates the Kaia ecosystem directly into [LINE](https://www.line.me/en/), a messaging app with more than 250 million users. Most chains hand developers infrastructure and leave distribution as their problem. Kaia ships both. An app built on Kaia can reach consumers inside a product they already open every day, rather than asking them to download a wallet first. ### Deep regional stablecoin infrastructure Kaia natively supports USDT alongside fiat-pegged regional stablecoins, including IDRX and JPYC, with KRW stablecoin proofs of concept underway. This lets developers build FX, payments, and remittance applications tied directly to local economies, settling in the currency a user actually holds instead of routing everything through a single dollar rail. ## What developers are building Onchain finance and yield is the most active vertical. Engines like [Ratio](https://www.ratiofx.com/) for FX orchestration, [SuperEarn](https://superearn.io/) for yield generation, and [AlphaSec](https://alphasec.trade/) for perpetual futures put stablecoin liquidity to work. Kaia recently [integrated Morpho vaults](https://x.com/KaiaChain/status/2056327851318948074?s=20), available through Feather, bringing yield arbitrage and looping strategies to everyday users. Tokenized real-world assets are growing through Kaia Investment Partners and platforms like Galactica and Yield8, which serve as an institutional gateway to Asian private credit and real-world assets. Gaming rounds out the ecosystem. Titles on the Unifi Dapp Portal integrate [Kaia USDT for in-game checkouts](https://x.com/KaiaChain/status/2019637283440455919?s=20) and tokenized rewards. The traction here is real: roughly 30% of in-game payments for major live titles on Kaia already settle in Kaia stablecoins. ## Where Alchemy fits with Kaia Kaia is moving fast. It launched [Unifi Bridge](https://x.com/KaiaChain/status/2060888999246581792?s=20), which lets users move USDT from more than 14 networks directly onto Kaia, building on the payment and yield activity Unifi already drives. JPYC circulating supply on Kaia has climbed quickly, passing Avalanche and Ethereum to make Kaia the chain with the second largest JPYC supply. And institutional stablecoin pilots continue, including a KRW stablecoin architecture developed with one of South Korea's largest banks and JPY stablecoin integrations aimed at regulated onchain finance. That kind of growth only works if the infrastructure underneath holds up at volume with: - Reliable RPC access over both HTTP and WebSockets, so apps can read from and write to Kaia in real time. - Battle-tested infrastructure proven at scale, powering more than $1 trillion in onchain activity each year at 99.99% uptime and is SOC 2 Type II certified. We are also running validator infrastructure on Kaia and joining the Kaia Governance Council, helping guide the network's onchain governance alongside global enterprise partners. As Kaia expands into its next steps, more regional stablecoins, deeper institutional pilots, and new consumer use cases, we will extend more of the Alchemy platform to support that growth. Kaia is now available on Alchemy. Start building today with our [Kaia documentation](https://www.alchemy.com/docs/reference/kaia-api-quickstart), or [reach out](https://www.alchemy.com/contact-sales) to talk through what you want to ship. ## Frequently asked questions ### Does Alchemy support Kaia? Yes, [Kaia](https://www.kaia.io/) support is now live on Alchemy, with [RPC](https://www.alchemy.com/rpc-api) and [WebSocket](https://www.alchemy.com/smart-websockets) access and developer tooling natively supporting the network. ### What infrastructure does Alchemy provide for Kaia developers? Alchemy provides reliable RPC access over HTTP and [WebSocket](https://www.alchemy.com/smart-websockets), backed by infrastructure that processes more than $1 trillion in onchain activity each year at 99.99% uptime and is SOC 2 Type II certified. ### What makes Kaia different from other Layer 1 blockchains? [Kaia](https://www.kaia.io/) is an EVM Layer 1 with roughly one-second finality, native support for USDT and regional stablecoins like [IDRX](https://idrx.co/) and [JPYC](https://jpyc.jp/), and distribution through the [LINE](https://www.line.me/en/) app, putting onchain finance in front of hundreds of millions of mainstream users. ### What types of applications are developers building on Kaia? Developers are building onchain finance and yield products, payments and remittances, FX settlement, tokenized real-world assets, and games that use Kaia stablecoins for [in-game checkouts](https://x.com/KaiaChain/status/2019637283440455919?s=20) and rewards. ### What is Unifi? [Unifi](https://www.unifi.me/), built by LINE NEXT, integrates the Kaia ecosystem directly into the [LINE](https://www.line.me/en/) messaging app, giving developers a path to mainstream users without asking them to download a separate wallet first. [Unifi Bridge](https://x.com/KaiaChain/status/2060888999246581792?s=20) extends this by letting users move USDT from more than 14 networks onto Kaia. ### What stablecoins are available on Kaia? Kaia natively supports USDT alongside regional fiat-pegged stablecoins including [IDRX](https://idrx.co/) and [JPYC](https://jpyc.jp/), with KRW stablecoin proofs of concept underway. ### What is the Kaia Governance Council? The [Kaia Governance Council](https://www.kaia.io/governance) guides the network's onchain governance. Alchemy is joining the council alongside global enterprise partners, a signal that Kaia's foundation is built to scale. ### How do I start building on Kaia with Alchemy? You can start building by visiting [Alchemy's Kaia documentation](https://www.alchemy.com/docs/reference/kaia-api-quickstart), or [reach out](https://www.alchemy.com/contact-sales) to discuss your project needs. --- # Katana Support Is Live on Alchemy URL: https://www.alchemy.com/blog/katana-support-is-live-on-alchemy.md Katana support is now live on Alchemy. [Katana](https://katana.network/) is a DeFi-native L2 built on the [OP Stack](https://www.alchemy.com/dapps/op-stack), designed around the idea that liquidity should be productive. Rather than treating yield as a token emission problem, Katana uses [Vault Bridge](https://docs.katana.network/katana/core-concepts/vault-bridge/) yield generation on bridged deposits and redirects that revenue into the ecosystem, powering a compounding flywheel for builders and users. ## Why Katana stands out ### A yield engine, not just a chain Katana's Vault Bridge is the foundation of its economic model. Instead of relying solely on token incentives to attract liquidity, it generates real yield from sequencer fees and bridge activity and reinvests that yield back into protocol vaults. For developers, this means building on top of liquidity that has structural reasons to stay. ### Advanced infrastructure stack Katana combines the OP Stack with [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) proofs via [Succinct](https://succinct.xyz/), cross-chain connectivity through [AggLayer](https://www.agglayer.dev/), and [LayerZero](https://layerzero.network/) bridging. The result is a chain that is both composable across the broader [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) and capable of high-assurance execution, giving teams the technical foundation to ship ambitious DeFi products. ### Vertically integrated core apps Core protocols like [Morpho](https://www.alchemy.com/dapps/morpho), Katana Perps, and Sushi are deeply integrated into the chain itself. Developers know those apps will always be live and liquid. That reliability lets teams focus on building composable products that inherit built-in incentives and liquidity, rather than sourcing it themselves. ## What teams are already building Katana is attracting serious DeFi builders across a range of verticals: - **Lending and structured yield:** Morpho and Yearn bring battle-tested lending and vault infrastructure, with [Spectra](https://www.alchemy.com/dapps/spectra) adding fixed-rate yield products on top. - **Spot and perpetuals trading:** Sushi and Katana Perps provide deep liquidity for spot and leveraged trading, forming the core of Katana's trading ecosystem. - **Liquidity management and automation:** [Steer Protocol](https://www.alchemy.com/dapps/steer-protocol) and [Charm Finance](https://www.alchemy.com/dapps/charm-finance) enable active liquidity management and automated vault strategies. - **Prediction markets:** Foresight brings onchain prediction market infrastructure to the ecosystem. ## What's coming next Katana has several major milestones ahead: - **New vaults product:** An expanded vaults experience, giving users more ways to put liquidity to work - **vKAT ecosystem expansion:** More assets and protocols joining the vKAT ecosystem, deepening the yield flywheel - **Katana Perps scaling:** Continued growth of the perpetuals platform with expanded markets and liquidity ## Build on Katana with Alchemy As Katana's infrastructure partner, Alchemy provides: - **99.99% uptime** with global redundancy - **World-class [WebSockets](https://www.alchemy.com/smart-websockets) and [RPC APIs](https://www.alchemy.com/rpc-api)** - **Battle-tested infrastructure** that has processed $1T+ in onchain transactions, with SOC 2 Type II certification Katana is now available on Alchemy with the same reliability and developer experience you expect across our supported networks. Whether you're building on top of Morpho, composing with Katana Perps, or launching a new vault strategy, you have the backend you need to ship with confidence. ## Ready to build on Katana? - [Get your API key](https://dashboard.alchemy.com/chains/katana) - [Read the docs](https://www.alchemy.com/docs/reference/katana-api-quickstart) - [Contact us](https://www.alchemy.com/contact-sales) to discuss how we can support your project ## Frequently asked questions ### Does Alchemy support Katana? Yes. Katana support is live on Alchemy with RPC and WebSocket APIs for mainnet and testnet workflows. ### What is Katana? Katana is a DeFi-native L2 built on the OP Stack. It emphasizes productive liquidity through Vault Bridge yield on bridged deposits and reinvestment of network revenue into the ecosystem. ### How do I start building on Katana with Alchemy? Create an app in the [Alchemy dashboard](https://dashboard.alchemy.com/chains/katana), follow the [Katana API quickstart](https://www.alchemy.com/docs/reference/katana-api-quickstart), or [contact sales](https://www.alchemy.com/contact-sales) for hands-on support. ### What infrastructure does Alchemy provide for Katana developers? Alchemy offers 99.99% uptime with global redundancy, WebSockets and RPC APIs, and SOC 2 Type II certified infrastructure that has secured $1T+ in onchain transaction volume. ### What makes Katana different for DeFi builders? Katana combines Vault Bridge yield, sequencer and bridge-driven revenue recycling, and vertically integrated core apps so teams can build on deep, incentivized liquidity without relying only on short-term emissions. ### What is Katana working on next? Upcoming focus areas include a new vaults product, vKAT ecosystem expansion, and scaling Katana Perps with more markets and liquidity. --- # ERC-4337 Gas Estimation for L2s and Signature Aggregators URL: https://www.alchemy.com/blog/l2-gas-and-signature-aggregators.md In [ERC-4337 Gas Estimation](https://www.alchemy.com/blog/erc-4337-gas-estimation) we discussed how gas works in ERC-4337 and our method for gas estimation. In part 2, [Dummy Signatures and Gas Token Transfers](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers), we found out that estimating gas is not always straightforward, and we need to account for edge cases. This post will dive into a few more of the edge cases we encountered. ## The L2 problem Part of the definition of an [Ethereum Layer 2 rollup](https://ethereum.org/en/layer-2/) is: it “lets layer 1 handle security, data availability, and decentralization, while layer 2s handles scaling.” To achieve this, L2s will “roll up” many transactions into a single batch and then post them onto the layer 1 blockchain. This transaction cost isn’t free as L2s need to pay for the calldata costs incurred when posting a large batch of data to the L1 chain. L2s need a way to charge their users for these incurred L1 calldata costs. Rollup frameworks achieve this in different ways. This article focuses on the two largest EVM rollups: Arbitrum and Optimism. ### How does Arbitrum calculate the cost to cover L1 gas fees? On Arbitrum, the L2 gas charges to cover the [L1 gas cost is calculated](https://developer.arbitrum.io/arbos/l1-pricing) using the following formula, where the size of the data is its size in bytes after Brotli compression: 💡 L1 Cost \(L1C\) = L1 price per byte of data \(L1P\) \* Size of data to be posted in bytes \(L1S\) 💡 Gas \(G\) = L1 Cost \(L1C\) / L2 Gas Price \(P\) This gas is charged before a transaction begins execution and counts towards the transaction’s `gasLimit`. Thus, it must be accounted for during [transaction gas estimation](https://developer.arbitrum.io/devs-how-tos/how-to-estimate-gas). ### How does Optimism calculate the cost to cover L1 gas fees? On Optimism, L1 gas cost is calculated a similar way, where the size in bytes after compression is multiplied by an L1 fee. Instead of translating this value to L2 gas like Arbitrum, Optimism deducts the required ETH directly from the sender’s account. Senders do not need to take this value into account during gas estimation, but don’t have the ability to set a limit on their spending. Optimism takes care to ensure this fee won’t spike. ## How can a bundler on L2s charge for L1 fees? In both cases a bundler submitting a bundle transaction on an L2 is charged for L1 fees. The bundler needs a way to charge the bundled user operations for this fee by increasing the L2 gas. **The effective impact on L2 gas can be determined by:** `L2\_gas = L1\_gas \* L1\_fee / L2\_fee` `verificationGasLimit` and `callGasLimit` are metered by the entry point and thus can't be used by bundlers to charge for this extra gas. Bundlers need to rely on other methods. ### Attempt 1: set a higher priority fee Requiring a higher `maxPriorityFeePerGas` could allow the bundler to recoup these lost fees. **The calculation would look like:** 1. Estimate L1 fee and convert into L2 gas a. Assume a bundle of size 1 user operation and estimate gas using network-provided methods, typically exposed as special contract calls. b. This requires assuming both an L1 base fee and an L2 base fee to convert the fee into L2 gas values. 1. Estimate `verificationGasLimit` a. Since this gas limit is under strict simulation rules, its highly likely that the estimated value will be very close to the actual value, unlike `callGasLimit`. 1. Set `maxPriorityFeePerGasBuffer` = `L1\_fee / verificationGasLimit‍` 1. Add that buffer to any priority fee required This could work, but it has terrible UX. To protect itself, the bundler must assume that the amount of call gas used will be 0 and charge the user as if verification gas is the only component. The user then will over pay by the buffer priority fee component multiplied by any call gas used. This isn’t great for the user. ### Attempt 2: manipulate preVerificationGas That leaves `preVerificationGas` as the only reasonable field to manipulate. This does fit well into the definition provided above that `preVerificationGas` is “the gas field used to capture any gas usage that the entry point cannot measure." Since this is gas that the entry point doesn’t meter, we would expect to be able to use this field to charge the user. **The calculation would look like:** 1. Estimate L1 fee and convert into L2 gas, set as `preVerificationGas`. a. Assume a bundle of size 1 user operation and estimate gas using network-provided methods, typically exposed as special contract calls. b. This requires us to assume both an L1 base fee and an L2 base fee to convert the fee into L2 gas values. 1. Calculate the L2 unmetered gas and add this to the value calculated above. a. This is the same method as described in our PreVerificationGas calculation section for a normal `preVerificationGas` calculation. 1. During `eth\_sendUserOperation` also run \(1\) and \(2\), and reject any operations that don’t have a high enough `preVerificationGas` as part of the “pre-check” stage. 1. During bundling, run \(1\) and \(2\) again right before submission. a. Reject any operations that don’t have a high enough `preVerificationGas`. **While this mechanism works, it has a very significant UX issue.** During \(2\) the bundler must assume L1 and L2 base fee values to perform the gas calculation. Because base fees are dynamic, if between the gas estimation step and the submission/bundling step the ratio of `L1\_fee / L2\_fee` increases, a higher `preVerificationGas` will be required, and user operations that calculated with a lower ratio will be rejected. The best the user can do to improve this is assume that the ratio will increase between estimation and bundling and provide an overhead on their `preVerificationGas` to improve their chances. Since `preVerificationGas` is always charged in full \(i.e. its not a limit field\), the user is stuck paying for this overhead regardless of what happens with price. The user is stuck choosing between potentially overpaying or having their operations rejected. 💡 Rundler implements the `preVerificationGas` calculation above. We recommend that users of these L2s add a 25% buffer on the `preVerificationGas` returned by `eth\_estimateUserOperationGas` to improve chance that the operation is not rejected. ### Optimism edge case Optimism’s base fees are incredibly low, often well below 100 wei \(yes wei\). The `preVerificationGas` required to charge for the L1 gas fee is inversely related to the L2 gas fee, thus requiring `preVerificationGas` to be extremely high \(in the millions\). Optimism’s priority fee is often orders of magnitude higher than its base fee. Therefore, a user must be _very_ careful not to submit a priority fee proportional to the network’s priority fee, as the entry point requires payment for `preVerificationGas \(very high\) \* priority fee \(normal\) `, causing massive overpayment. For this reason Rundler requires the priority fee to be a static percentage of the base fee to incentivize bundling on Optimism. ## The signature aggregator problem [Signature aggregation](https://www.alchemy.com/overviews/account-abstraction-aggregate-signatures) is a much talked about feature of [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337#using-signature-aggregators) for its ability to: 1. Reduce calldata costs on L2s via signature compression, leading to significant savings. 1. Amortize the gas cost of an aggregated validation check across a bundle of operations. a. This validation check could be as simple as a BLS signature, or as complicated as an aggregated [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups) proof. In the current version of the entry point, the [call to the signature aggregators validate function](https://github.com/eth-infinitism/account-abstraction/blob/d1333cf58c17d5cc84e830f3fc3a69081c777979/contracts/core/EntryPoint.sol#L137) is unmetered. This means that the bundler is required to find a means to charge aggregated user operations for this gas, similar to the L2 problem above. Like the L2 problem, the only reasonable way to do this is to increase `preVerificationGas`. **One way to do this is:** 1. The bundler assumes a `target` bundle size 1. Bundler calls `validateUserOp` on every operation it receives prior to estimation to extract an aggregator address if used. 1. When an aggregated user operation is received, the bundler needs to estimate the amount of gas used by the signature aggregator, per operation, at that target bundle size. a. One way would be to replicate the received user operation `target` number of times into a bundle and then use `eth\_estimateGas` on `aggregator.validateSignatures‍` b. Another way would be to maintain a signature aggregator whitelist with gas measurements pre-populated \(with a static value and a per operation dynamic value\). 1. Add the estimated gas to the `preVerificationGas` calculation above and return this value. **There are a few issues with this approach:** 1. The bundler is taking a risk by assuming a `target` bundle size. Either: a. The bundler waits until it can actually bundle target operations, hurting UX via latency b. The bundler bundles less than target, and eats the cost 1. User’s can’t “bid” more or less depending on how fast they want to be included. a. In a limit based approach, if a user wants to ensure a quick mine, they can over-estimate the cost. If the cost ends up being lower, they aren’t over charged. In this approach, due to the static `preVerificationGas`, users must always pay their entire bid. 1. In the P2P network, bundlers may have different target bundle sizes. a. This means that the bundler used for estimation may over/under estimate the `preVerificationGas` required by another bundler in the mempool. b. These off-chain assumptions hurt the interoperability of the mempool. Rundler currently doesn’t have support for signature aggregators due to these complications. It is likely that we will add support for the method above and assume some \(small, starting at 1\) bundle size which will make using signature aggregators very expensive. ## Potential entry point changes The issues above are both due to a lack of metering in the entry point contract for significant gas usage by the user operation. Relying on `preVerificationGas` to charge for this gas usage has the significant UX problem of requiring users to pay more than they actually use in order to increase the chance of their UO landing onchain quickly. A solution to these issues could be to modify the entry point contract to meter this extra gas usage and attribute it to limit-based gas fields. ### L2-L1 calldata gas metering 💡 This is a very rough outline of a solution to a tough problem. We would love to hear ideas from the community! The L1 calldata gas cost can be metered onchain and user operations can be charged only for the exact cost that they incur, and not the overhead. A limit-based field should be used. A potential solution is to introduce a new field, `daCallDataGasLimit` \(da for Data Availability, working title\). This field would be native to an L2\+ version of the entry point and used on chains where transaction calldata is posted onto a different system and thus must be charged for in a separate manner. **The entry point logic would be the following:** 1. At deployment the entry point is associated with a helper contract `daGasMeter` that has a single function `measureUserOperationDaGas\(UserOperation userOp\)` a. This function takes a user operation and measures exactly how much DA gas used. b. For example, on Arbitrum the meter can make a call to [`gasEstimateL1Component`](https://github.com/OffchainLabs/nitro-contracts/blob/2ba206505edd15ad1e177392c454e89479959ca5/src/node-interface/NodeInterface.sol#L112) with an in-memory user operation to determine _almost_ exactly how much L1 gas it used \(it can’t account for extra compression due to a bundle with multiple ops\). 1. The entry point will call this function for each user operation prior to validation and can attribute this gas to the `daCalldataGasLimit `. 1. To avoid reverts, instead of reverting if the DA gas used is greater than the `daCalldataGasLimit` the entry point will just cap there and the bundler is stuck paying for any gas over this limit. This can be accounted for off-chain by bundlers by ensuring that any bundled operation has a sufficiently high buffer in their limit field before bundling. **There are a few, pretty significant, downsides to this approach:** 1. The entry point contracts on different chains will have different addresses. 1. Gas utilization during measurement. a. This is less of a problem since on L2\+’s execution gas cost is usually much less than data gas cost. ## Signature aggregator gas metering The entry point contract can be modified to measure the amount of gas used during its call to [`aggregator.validateSignatures`](https://github.com/eth-infinitism/account-abstraction/blob/5e78f8635552e3c55fbced072056a77c8f1e8b75/contracts/core/EntryPoint.sol#L137), divide that by the amount of user operations aggregated, and attribute the gas usage evenly by deducting from `verificationGasLimit` . Each whitelisted signature aggregator should be associated with a static value, the base cost to validate the aggregated signature, and a dynamic value, the per aggregated operation cost increase. For example, a BLS signature aggregator could have its static value as the one-time [signature verification](https://github.com/eth-infinitism/account-abstraction/blob/5e78f8635552e3c55fbced072056a77c8f1e8b75/contracts/samples/bls/BLSSignatureAggregator.sol#L70) cost and the dynamic value as the [per op hashing operations](https://github.com/eth-infinitism/account-abstraction/blob/5e78f8635552e3c55fbced072056a77c8f1e8b75/contracts/samples/bls/BLSSignatureAggregator.sol#L68) cost. Bundlers can increase `verificationGasLimit` during `eth\_estimateUserOperationGas` by the static value divided by a target bundle size plus the dynamic value. #### How do we set the target bundle size? A potential solution here is to supplement the arguments to `eth\_estimateUserOperationGas` with a `minimumBundleSize` corresponding to the smallest bundle size \(thus highest gas\) that the user wants to be included in. Users who are willing to pay more can decrease their minimum bundle size and improve their time to inclusion. Bundlers then need logic to ensure that they only include a UO in a bundle that is at least as large as that UO’s minimum bundle size. This minimum bundle size can be calculated during simulation by tracking the amount of gas used by the account validation step, subtracting that from `verificationGasLimit `, and then calculating the minimum size from whats left. Bundlers can store this value alongside the UO in their mempool and use it as a hint for bundle building. 💡 One downside to this approach is that it assumes gas usage by a signature aggregator is uniform per operation. If this isn’t the case, the metering could be pushed onto the aggregator contract and returned by its verification function. Bundlers would need a way to calculate these non-uniform values off-chain as well. ### What does this mean for signature aggregator developers? Signature aggregators are likely going to need to be directly whitelisted by bundlers by providing them methods to compute off-chain signatures and with their static/dynamic gas cost components. The cold-start problem is going to be difficult, especially given the inability for a user to “bid” to speed up their operation. ### What does this mean for account client developers? Its important to understand the L2 distinctions described above, especially when it comes time to estimate gas fees. On Optimism, if you use the network provided priority fee, you can massively overpay for a user operation since this priority fee now also applies to L1 costs. If using Alchemy’s bundler endpoint refer to our [documentation](https://www.alchemy.com/docs/reference/bundler-faqs#how-do-we-determine-fee-values-to-give-your-userop-the-best-chance-of-landing-on-chain) for tips on estimating fees. 🦀 ## Continue reading The next article in this deep dive on ERC-4337 gas estimation provides a walkthrough of the user operation fee estimation process. If you missed part one or two, learn how ERC-4337 gas estimation, dummy values, and the token transfer problem works. - [How ERC-4337 Gas Estimation Works](https://www.alchemy.com/blog/erc-4337-gas-estimation) - [Dummy Signatures and Gas Token Transfers](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers) - [User Operation Fee Estimation](https://www.alchemy.com/blog/user-operation-fee-estimation) --- # Launching Alchemy's Community Discord & API Docs URL: https://www.alchemy.com/blog/launching-discord-and-api-docs.md We are excited to announce two major additions to the developer experience at Alchemy: our brand new [developer community](https://discord.gg/gWuC7zB) and our new and improved [API documentation](https://www.alchemy.com/docs)! One of Alchemy's core missions is to provide the ultimate developer experience for all blockchain developers. To achieve this goal, we're kicking off with a developer community on discord and improved documentation. ## Developer community Discord The purpose of our developer community is to provide a space for all developers to discuss blockchain related topics, ask questions, get support, and engage with each other. We’ll host Q&As with startup founders and legendary developers, provide troubleshooting support on technical questions, and everything in between. In addition, you can find Alchemy specific announcements and seek collaboration on projects. Some of the channels you can find on our discord include: feature requests, resources, projects, and more! Alchemy is proud to work with the biggest names in blockchain, including Maker, Aave, Kyber, 0x, MyEtherWallet and Dharma, which is why we’re so excited to bring our community together in one fun and lively place. We hope this becomes a hub for blockchain knowledge, support and collaboration -- even beyond Alchemy users. Join the community [here](https://discord.gg/mMGsVgd)! ## New API documentation Our new and improved API documentation provides all the resources and information you need as a blockchain developer to get started, maintain, and scale up with Alchemy. Some of the highlights include: a highly organized and descriptive [JSON-RPC reference page](https://www.alchemy.com/docs),  a breakdown of each of our [core products](https://www.alchemy.com/docs), a detailed guide for [using WebSockets](https://www.alchemy.com/docs), and tons of other awesome resources. If you have any documentation feedback or requests feel free to post in the \#feature-requests channel on our [developer community discord](https://discord.gg/mMGsVgd). Check out our [**documentation**](https://www.alchemy.com/docs) and join our [developer community](https://discord.gg/u72VCg3) today! --- # Launching Notify V2 - Reliability, Scalability, & Security URL: https://www.alchemy.com/blog/launching-notify-v2-with-improvements-to-reliability-scalability-and-security.md Today, we’re excited to launch [Notify API V2](https://www.alchemy.com/docs/reference/webhooks-overview) for our Ethereum devs. With this change, you will see improvements to reliability, scalability and security on all newly created webhooks. In order to parse the [new webhook response format](https://www.alchemy.com/docs/reference/notify-api-quickstart), we recommend you modify your code. Here is a [succinct overview of response format changes](https://gist.github.com/mintymento456/dcee12b06715580797efcd5e17b6c449). ## Alchemy’s notify API has a wide range of use cases [Notify API](https://www.alchemy.com/docs/reference/webhooks-overview) gives you access to webhooks for events, transactions, and more - so essentially you can get notified anytime there is activity on a certain address. Some examples of the utility: - You’re building a wallet and want to notify a user that their transaction was successfully mined - You’re building a bot to track when whale addresses make a trade so you can get alpha - You’re building a [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) and need to track NFT transfers ### Notify V2 comes with three primary improvements #### Enhanced reliability Notify V2 has improved retry mechanisms to ensure you don’t miss a webhook event. #### Tooling that increases scalability - Pagination for your webhook addresses, so that with your webhooks, you can subscribe to even more addresses. - Backend changes that will make it easier for our team to add new types of webhooks to meet your needs. If there is a use case that you’re looking for and we don’t support, [please reach out](https://alchemyapi.typeform.com/to/FLXajrwj)! #### Improved security - Notify V2 will include [static IP addresses](https://www.alchemy.com/docs/reference/notify-api-quickstart) so devs can be sure notifications are coming from an Alchemy server. - Each webhook will have [its own authentication token](https://www.alchemy.com/docs/reference/notify-api-quickstart) \(rather than shared between webhooks\) - therefore if one webhook is compromised, all others will not be. ### How telcoin leverages Alchemy notify Our friends at Telcoin have been early adopters of Notify V2. Telcoin is a Polygon-based peer-to-peer payment system, enabling users to send money to each other, anywhere in the world, at a lower cost than available with alternative solutions. A lofty goal, the success of which is contingent on reliable and scalable platform products like webhooks: "As Telcoin's blockchain infrastructure expands, becomes more robust and we cater to our expanding user base, Notify V2 will be instrumental in providing the best performance and scalability possible. We are very excited to partner with Alchemy on this product, and many more in the future, as both companies continue to evolve." - Ryan Tully, Vice President, Head of Product, Telcoin ### Recommended action for devs Moving forward, these changes will be reflected in all new webhooks accessed via our Notify API. In order to have consistent parsing code across webhooks, we recommend modifying your code to be able to parse the [V2 format](https://www.alchemy.com/docs/reference/notify-api-quickstart). Note, Notify V2 is not yet available for gas prices. Take a look at full Notify API documentation [here](https://www.alchemy.com/docs/reference/webhooks-overview)! **Additional Resources** 1. [Alchemy Notify Tutorial: Tracking Transaction Life Cycles](https://www.alchemy.com/docs/reference/webhooks-overview) 1. [Building a dApp with Real-Time Transaction Notifications](https://www.alchemy.com/docs/reference/webhooks-overview) 1. [How to Integrate Alchemy Webhooks with Zapier](https://www.alchemy.com/docs/reference/webhooks-overview) --- # Learn how to build on Web3 with Alchemy and Nas Academy URL: https://www.alchemy.com/blog/learn-how-to-build-on-web3-with-alchemy-and-nas-academy.md Alchemy’s mission is to bring Web3 to billions of people around the world by making it easy for any developer to build on the blockchain. In keeping with this mission, we’re thrilled to announce our partnership with [Nas Academy](https://nasacademy.com/). Together, Alchemy and Nas Academy have built an immersive, cohort-based online curriculum focused on _why_ to start building in Web3, along with comprehensive and actionable guidance on _how_ to start. At this point, many of you know the keywords like EVM and smart contracts or [ERC20](https://www.alchemy.com/overviews/erc20-solidity) and ERC721 tokens. But when it comes to translating foundational knowledge of core concepts into actually building a Web3 application, it is really hard. That’s why we’re so excited about this course. **Nas Academy Course Curriculum** The course walks you through the step-by-step basics of [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development), led by the preeminent experts in the field, including Alchemy’s Co-Founder, Nikil Viswanathan and Ben Yu, founder of crypto education platform [Curious Addys](https://www.curiousaddys.com/). We decided to collaborate with Nas Academy because they get you access to world-class teachers and structure their courses in a way that allows students to learn at their own pace, while also having access to a cohort of peers from all over the world to learn alongside and seek feedback from. In the course, developers will have a chance to learn the following: - Why Web2 engineers should get into Web3 development - How to Write and Deploy Your First Smart Contract - How to Connect Your Smart Contract with your Front End Site and Wallet - How to Create ERC20 Tokens - How to Create ERC721 Tokens \(used for NFTs\) **Sign Up for the Nas Academy Course** The Alchemy team is passionate about growing the Web3 community through education. By taking this course, you can learn the basics of blockchain development from the best and most authoritative educators in Web3. Check out [Alchemy University](https://university.alchemy.com/) to get started. Oh, and one more thing. Alchemy is giving out a limited set of free access codes for the course. Follow us on Twitter for the drop.‍ --- # Introducing Lens: onchain social networks URL: https://www.alchemy.com/blog/lens.md We're excited to announce that we're rolling out support for Lens, an EVM-compatible chain designed for the future of social spaces. Get your API key here & [**start building on Lens!**](https://dashboard.alchemy.com/chains/lens?utm_source=blog&utm_medium=website&utm_campaign=medium) **What is Lens?** Lens Network is an EVM-compatible Validium chain secured by Ethereum that paves the way for onchain social networks to scale. Lens is built to deliver a seamless user experience comparable to popular web2 apps, while also offering advanced ownership and monetization features. Right from the beginning, users can enjoy gassless and signless transactions with integrated wallet support. Builders can rely on high security, decentralization and low costs at the same time. This paves the way for onchain social networks to scale for mass adoption: - **Scalability:** Lens is able to handle onchain data at scale, through its hybrid architecture with a Validium and a dedicated DA layer. - **Low Costs:** Validium is also able to keep costs down, which is crucial for social networks that are sensitive to pricing. - **Security and Data Integrity:** Lens uses a scaling solution with a modular approach which ensures that social transactions apply sufficient security for social network data integrity, yet remain scalable. **Build and scale on Lens with Alchemy** Use our top-tier web3 infrastructure and tools to develop on Lens: - **Supernode:** Node API that provide peak reliability, unlimited scalability and data accuracy - **Suite of products:** faucet, [NFT API](https://www.alchemy.com/nft-api), [Token API](https://www.alchemy.com/token-api) and [Transfers API](https://www.alchemy.com/transfers-api) - **Developer Tools**: Access Alerts, Sandbox, Logs, and a user-friendly dashboard **Lens is live - start building!** [Get your API key today!](https://dashboard.alchemy.com/chains/lens?utm_source=blog&utm_medium=website&utm_campaign=medium) --- # Masterpiece Partners with Alchemy URL: https://www.alchemy.com/blog/masterpiece-partners-with-alchemy-to-supercharge-their-nft-database.md ## As social media giants like Twitter, TikTok, and Facebook enter the NFT metaverse race, Masterpiece is elevating their user experience with the scalability of the Alchemy platform. NFTs have exploded from curiosities among crypto enthusiasts to high-value assets for serious collectors—all while the artform’s still in its relative infancy. It’s a medium with nowhere to go but up, though trouble for most collectors looking to start their NFT journey can be boiled down to one simple roadblock: access to information that allows for confident strategy management. With more and more marketplaces stepping onto the world’s stage each day, the glut of data available to a potential user, even the most educated on the topic, can seem a little like white noise coming from seven different speakers. Masterpiece aims to change that by serving as a one-stop-shop for all things NFT, helping users navigate the ever-growing landscape of crypto art to inform their future purchases and bids. What began as a vision to aggregate data from all the NFT marketplaces into a single interface evolved into something so much more. Masterpiece not only allows users to find the most up-to-date information on prices, sales, and transfer history, it empowers users to track the latest market movements across the crypto art world as a whole. As a startup, Masterpiece’s innovative team knew they needed reliable, effective, and easy-to-use tools that kept their focus squarely on the development and expansion of their abilities. With our latest partnership, Alchemy is ecstatic to announce our mission to bring accessibility to the NFT space alongside the visionary Masterpiece team! Using Alchemy’s best-in-class developer platform, Masterpiece reads the Ethereum blockchain, organizes all NFT transactions, and makes the data searchable by artist, genre, and a host of other modifiers regardless of whether they were published on [OpenSea](https://www.alchemy.com/dapps/opensea), Nifty Gateway, or any other [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces).  Beyond using an enhanced API to create sales histories of each individual NFT \(including auction house histories from such heavy-hitters as Sotheby’s, Christie’s, Bonhams, and Phillips\), Masterpiece has gone multiple steps further and made it possible to track what crypto artists are minting, even when they publish across multiple platforms. Unique features such as their “collector’s view” allow users to ascertain how much of the supply of a collection is held and by whose wallet—as well as what other tokens that particular wallet holds. With collections and generative art projects growing to include thousands of tokens each, Masterpiece equips users to easily search and track NFTs by trait and value. In short, Masterpiece has created the most comprehensive, sortable list of aggregated NFT data out there—all updated in real-time. “At Masterpiece we are creating one place to both discover & research NFTs across platforms. Alchemy helps us to utilize all the useful data insights the blockchain has to offer.” Jeroen Hesp, co-founder Masterpiece As Masterpiece strives to create the world’s only single source of truth, an accessible database for crypto art NFTs, Alchemy is here to support them with the most powerful Ethereum API on the market to ensure their data is always correct and up to date. No matter where crypto art is developing, you can count on Masterpiece to help you keep track of it all. ### About masterpiece Masterpiece is building the largest database of NFT artists, collectors, sales information, charts, valuations, rarities and many more data metrics. This is done by aggregating all the NFTs across blockchains and platforms, so collectors and artists can come to one place for both discovery and research. The website is currently integrated with 14 platforms/marketplaces and also 4 auction houses.  Website: masterpiece.so (no longer active) Twitter: [https://twitter.com/UseMasterpiece ](https://twitter.com/UseMasterpiece) ### About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- Ready to start building your own decentralized apps? [Sign up](https://alchemy.com/?a=dd53e6e61e) for a free Alchemy account and get started building. For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Metavate Teams Up with Alchemy URL: https://www.alchemy.com/blog/metavate-x-alchemy.md #### Alchemy continues its expansion into the explosive non-fungible token \(NFT\) industry following a partnership with NFT platform metavate [NFT art](https://www.alchemy.com/nfts) has recently taken the blockchain industry by storm, with high-profile auction houses selling million-dollar NFT art pieces and cartoon NFT avatars dominating popular social media channels. Although the art is undoubtedly appealing, the real hype is based around the unique nature of each NFT token and its verifiable authenticity on the blockchain. Unlike other digital files that can be easily replicated and distributed _ad infinitum_, an NFT owner has immutable proof of their purchase and license. Once a minor underground movement within the cryptocurrency industry, NFTs are now a wildly popular phenomenon that has brought blockchain technology to the mainstream media. With big name musicians like [Grimes](https://www.theverge.com/2021/3/1/22308075/grimes-nft-6-million-sales-nifty-gateway-warnymph) and [Kings of Leon](https://www.rollingstone.com/pro/news/kings-of-leon-when-you-see-yourself-album-nft-crypto-1135192/) jumping on the NFT bandwagon, there is no doubt that this burgeoning industry is now firmly here to stay. ## Metavate's debut into the NFT space [Metavate](https://www.metavate.io/) is a brand new NFT platform designed to bring together some of the most creative and talented artists and engineers in the industry. Consisting of a strong team of artists and developers in the crypto space, Metavate is poised to make a significant mark on the NFT industry. The team's mission is to collaborate with artists and creators from around the world and provide a means for them to mint and host their NFT art on the blockchain. Primarily, Metavate is focused on helping to bring top-quality art to the blockchain and support well-recognized and talented artists. One such artist is the animator and illustrator [MopheadBop Melchizedek](https://www.instagram.com/mopheadbop/?hl=en) \(@mopheadbop\), who enjoys a large Instagram following and hosts an extensive collection of pieces available on [OpenSea](https://opensea.io/MopheadBop). The inclusion of well-known artists such as this illustrates Metavate's deep understanding of the NFT industry and its potential for growth. ## Why metavate chose Alchemy However, working with blockchain technology requires a high degree of technical expertise too, which is where [Alchemy](https://alchemy.com/?r=affiliate:78a154c9-bebf-42b7-afbc-8df765aa30cd) comes in. To ensure all users of the Metavate blockchain platform enjoy a smooth and seamless experience, the team decided Alchemy was the best selection for their foundational development platform. Metavate team leader Daniel discovered Alchemy when he noticed other NFT platforms calling its application programming interface \(API\) and realized its potential. With an excellent reputation amongst blockchain developers worldwide, choosing to work with Alchemy was an easy decision for Metavate. "Alchemy is recognized as the go-to developer platform for launching and supporting NFT projects. We’re excited to be partnering with the Alchemy team for our launch!” [Daniel Verrico](mailto:daniel@metavate.io), co-founder Metavate As a platform that’s on track to support thousands of NFT artists and collections going forward, Alchemy's massive scalability will ensure the Metavate users have a smooth experience. In addition, the [enhanced Web 3.0 APIs](https://www.alchemy.com/enhanced-apis) provide a quick and easy way for blockchain projects to gather critical metrics from within the metaverse. Already the choice of some of the world's leading digital art collectibles platforms like [OpenSea](https://www.alchemy.com/dapps/opensea) and [SuperRare](https://www.alchemy.com/dapps/superrare), Alchemy is no stranger to the NFT industry and is well-positioned to support new projects of any size. "NFTs are redefining how creators can monetize their work and connect with their fans. The awesome folks at Metavate are reinforcing that creator economy with this super cool drop!" [Paul Almasi](https://twitter.com/LucidMasi), co-creator of Alchemy Amplify ## Metavate's 'lemur lemur' project The first official Metavate project, [Lemur Lemur](https://lemurlemur.io/), is a collection of 3030 hand-drawn generative art NFTs built on Ethereum's ERC-721 protocol. It features a cartoon character based on the real-life Lemur, a small primate native to Madagascar and made popular by the 2005 DreamWorks animated film of the same name. Each character has individual traits designed to highlight their unique abilities and encourage trading and collecting amongst the community. The images were hand-drawn by illustrator and artist MopheadBop, with additional voxel creations by Bitpixi. The project will be minted today \(Thursday, September 2nd, 2021\) at 3:30pm PST, with each NFT selling for an initial price of 0.05 ETH. ## About metavate Metavate is a brand new NFT platform designed to bring together the most creative and talented artists and engineers in the industry. Their mission is to collaborate with creators and provide a means for them to mint and host their art on the blockchain. Metavate works with various artists and developers from different backgrounds, with its latest project consisting of various NFT community members such as MopheadBop, StarkNaked, Diggs, N2, and Bitpixi. ## About Alchemy  [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. Sign up for a [free account](https://alchemy.com/?r=affiliate:78a154c9-bebf-42b7-afbc-8df765aa30cd). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # How to Migrate Between RPC Providers with Zero Downtime URL: https://www.alchemy.com/blog/migrate-between-rpc-providers-zero-downtime.md Teams put off switching RPC providers because it feels like a rebuild. Most of the time it is a few hours of configuration. Every major provider has the same JSON-RPC standard, so the request your app sends today is the same request the new provider expects tomorrow. Migrating RPC providers is an endpoint swap, not a rewrite. The work that remains sits around the swap rather than inside it: finding every place an endpoint URL hides, mapping the handful of provider-specific calls that won't travel, and cutting traffic over in an order your users never notice. ## What does drop-in endpoint compatibility mean? Drop-in endpoint compatibility means two RPC providers accept the same requests and return the same responses for standard JSON-RPC methods. An application switches providers by changing the endpoint URL it calls. Method names, parameters, and response shapes stay identical, so the standard surface needs no code changes at all. The compatibility comes from the protocol, not from any agreement between providers. `eth_call`, `eth_getLogs`, `eth_sendRawTransaction`, and the rest of the `eth_*`, `net_*`, and `web3_*` families are defined by the [Ethereum JSON-RPC specification](https://ethereum.org/en/developers/docs/apis/json-rpc/), and every serious provider implements them to spec. The same holds for streaming. `eth_subscribe` over WebSocket carries the same newHeads, logs, and newPendingTransactions streams on [our subscription endpoints](https://www.alchemy.com/docs/reference/subscription-api) as it does on any other major provider's. Here is our endpoint shape next to the pattern most other providers use: Both are a URL with a secret in the path. If your endpoint lives in an environment variable, migrating your standard traffic means changing that variable's value. This is also why the standard reliability advice to keep a [backup RPC endpoint](https://www.alchemy.com/overviews/alternative-rpc-endpoint) configured doubles as migration insurance. The fallback machinery you would add for uptime is the same machinery you use to switch. Standard JSON-RPC calls run on the new provider unchanged. The work hides wherever your app depends on something provider-specific, and finding those places is what the audit is for. ## What should you audit before migrating? Most surprises in a provider migration get discovered after the switch, and every one of them could have been found before it. For a typical codebase the audit takes an hour or two. **Find every endpoint reference.** Endpoint URLs accumulate in more places than anyone remembers. Search environment files, Hardhat and Foundry configs, Docker images, CI pipelines, and frontend builds for the current provider's domain and for any hardcoded URLs. The reference you miss is usually in a cron job or a CI pipeline nobody has opened in months. **Map provider-prefixed methods.** Most providers ship convenience methods under a vendor prefix (ours is `alchemy_`), and those don't travel between platforms. Token lookups map to [Data API](https://www.alchemy.com/docs/data) equivalents such as [alchemy_getTokenBalances](https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-balances), and transfer history moves to [alchemy_getAssetTransfers](https://www.alchemy.com/docs/data/transfers-api/transfers-endpoints/alchemy-get-asset-transfers). The equivalents exist, but the response shapes differ, so treat each one as a small code change rather than a find-and-replace. **Check how you authenticate.** A key in the URL path ports cleanly. If you authenticate with an `x-token` header or JWTs instead, those controls need recreating on the new provider. On our side, domain and IP allowlists live in the [Alchemy dashboard](https://dashboard.alchemy.com) and take a few minutes to set up. **Reprice your traffic under the new metering model.** This is the audit item that touches your bill instead of your code. Many providers meter a flat requests-per-second budget. We meter [compute units](https://www.alchemy.com/docs/reference/compute-unit-costs), where a light call like `eth_blockNumber` costs less than a heavy call like `eth_getLogs`, and [throughput](https://www.alchemy.com/docs/reference/throughput) is a compute-unit rate over a rolling window rather than a flat request count. The effect cuts both ways. Log-heavy indexing workloads consume budget faster than their request count suggests, while light polling workloads consume less. Most teams price their busiest hour of real traffic against [our pricing](https://www.alchemy.com/pricing) before switching instead of guessing from monthly totals. **Check plan gating on trace and debug methods.** `debug_` and `trace_` methods are gated by plan on most providers. On Alchemy they are available on [pay-as-you-go and enterprise plans](https://www.alchemy.com/pricing) but not the free tier, so if you run your proof of concept on a free endpoint, expect trace calls to fail there even though everything else works. None of these items blocks a migration, but together they set its scope. For most apps the audit ends with a short list of environment variables, one or two method mappings, and a pricing estimate. ## How do you cut over without downtime? The zero-downtime pattern is the same one teams use for database migrations. Run old and new in parallel, move traffic in stages, and keep the old path warm until the new one has earned trust. Client libraries make the parallel phase nearly free. viem's [fallback transport](https://viem.sh/docs/clients/transports/fallback) takes an ordered list of endpoints and moves down the list when one fails: With the new provider first and the old one second, every request tries the new endpoint and falls back to the one that was already working. Your worst case during the cutover is the setup you have today. ethers.js offers the same pattern in [FallbackProvider](https://docs.ethers.org/v6/api/providers/fallback-provider/), with a quorum option that queries several providers and accepts a result once they agree, which gives you cross-provider agreement checks inside the client itself. The order you move traffic in matters more than how fast you move it, and the principle is reads first, writes last. Reads are stateless and easy to verify, so point read traffic at the new endpoint early and diff what comes back. Run your heaviest queries on both providers, `eth_getLogs` over your contracts' busiest block ranges and `eth_call` against your core contracts, and compare the responses. Transaction submission moves last, after reads have run clean, because a failed read is a retry and a failed write is a support ticket. WebSocket subscriptions need one extra step. A subscription is bound to the connection that created it, so it doesn't fail over. It drops, and you recreate it. Plan to re-subscribe on the new endpoint and backfill the gap with an `eth_getLogs` query over the blocks that passed during the reconnect, so no events go missing. Our [WebSocket best practices](https://www.alchemy.com/docs/reference/best-practices-for-using-websockets-in-web3) also recommend keeping subscription scope narrow, which makes both the re-subscribe and the backfill cheaper. Two things deserve a dashboard during the parallel run. The first is block-height lag. Two healthy providers can sit at slightly different chain tips at any given moment, so alert on the new endpoint falling consistently behind the old one, not on momentary differences. The second is error shape. Rate-limit responses differ across providers. Over HTTP, ours return a 429 with a [Retry-After header](https://www.alchemy.com/docs/reference/throughput); over WebSocket, the same limit surfaces as a JSON-RPC 429 error with no header. Exercise your retry logic against the new endpoint, on both transports you use, before it carries production traffic. Most teams give the parallel phase a day or two of production traffic, then make the new endpoint the default. Keep the old endpoint configured as the fallback until its billing period runs out. Rollback stays one configuration change away the whole time, and that is what zero downtime means in practice. Things can still go wrong. They just never have to reach your users. ## How do you know the new provider is holding up? The comparison you ran during the parallel phase becomes your baseline. After the switch, keep watching the numbers you diffed before it: success rate, p95 latency, and block freshness. If the migration was worth doing, at least one of them should move in your favor. You don't have to take latency claims on faith, either. Our [live RPC benchmarks](https://www.alchemy.com/benchmarks) compare us with other major providers across chains and regions, and the [methodology behind them](https://www.alchemy.com/blog/how-we-benchmark-rpc-performance) is public, so you can reproduce the numbers from your own region before you commit. For the deeper story on why those numbers hold under load, our [edge proxy rebuild](https://www.alchemy.com/blog/alchemy-edge-proxy) walks through the routing layer every request hits first. And if you're still weighing providers rather than verifying one, our [guide to choosing a node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) and the [enterprise RPC evaluation guide](https://www.alchemy.com/blog/blockchain-rpc-infrastructure-evaluation-guide-for-enterprises) cover the questions worth asking before the migration question comes up. Keep the parallel-run checks alive after the migration wraps. The response diffs and latency dashboards that validated the cutover will flag provider regressions and stale data months later, and they're already built. ## Ready to switch RPC providers? Whichever provider you're leaving, everything above applies as written. Create a free endpoint in the [Alchemy dashboard](https://dashboard.alchemy.com) and point your staging environment at it today. No contracts, no sales call, no minimum commitment. The free tier includes [30M compute units a month](https://www.alchemy.com/pricing), enough to run the full parallel-phase comparison on real production traffic, and the same endpoint swap works across the [100+ chains we support](https://www.alchemy.com/rpc). --- # How to Migrate from Self-Hosted Nodes to Dedicated Infrastructure URL: https://www.alchemy.com/blog/migrate-self-hosted-nodes-dedicated-infrastructure.md Running blockchain nodes in-house comes with a workload that only grows. Every chain you support adds its own upgrades to track, storage to expand, and sync issues to catch, and the engineers doing that work are the same ones who should be building your product. At some point the maintenance costs more engineering time than it returns. Managed [dedicated infrastructure](https://www.alchemy.com/dedicated-clusters) is the way out that does not sacrifice control: single-tenant clusters we run for you, with the same customization, isolation, and regional placement you self-host for today. The migration itself is simpler than most teams expect. Because a dedicated cluster runs the same APIs your application already calls, moving to it is fundamentally an endpoint swap, not a rebuild. This guide covers why teams leave self-hosting, what they keep, how the switch actually works, and how to tell whether it is the right move for you at all. ## Why teams move off self-hosted nodes Running your own nodes is rarely one big failure. It is a steady accumulation of small ones, and each tends to reach your users before it reaches you. Three of them drive most migrations. The first is falling behind the chain tip. A self-hosted node that loses sync keeps answering requests, just with stale data. Your users see balances that are minutes old, transactions that already confirmed but do not appear, and lookups that fail for no reason they can act on. Support tickets follow, and so does the quiet erosion of trust that comes from an app that is occasionally, unpredictably wrong. This is the most common self-hosting failure and the hardest to catch from the inside, because the node looks healthy while it serves bad answers. The second is keeping up with client upgrades, across every chain you run. Each network sets its own upgrade cadence and announces it on its own channel, some on GitHub, others in docs, Discord, Telegram, or a private partner Slack, with no standard place to watch. Staying current means monitoring dozens of independent ecosystems, which across a multi-chain setup adds up to dozens of upgrades a week. Miss one and it is not a degraded experience, it is downtime: the node falls behind, requests start failing, and customer transactions break. [Ethereum's Fusaka upgrade](https://www.alchemy.com/blog/ethereum-fusaka-upgrade-dev-guide-to-12-eips) landed three changes in about five weeks in late 2025, and that is a single chain. Multiply it across every chain your application supports and keeping infrastructure healthy stops being "running a node" and becomes a full-time job. The third is storage that never stops growing. An Ethereum archive node already needs [multiple terabytes of fast NVMe storage](https://reth.rs/run/system-requirements), and that footprint only climbs over time. Capacity planning is not a one-time setup, it is an ongoing operational responsibility, and when storage runs out the node can no longer sync or serve fresh chain data. Here is the same picture at a glance, with how often each one bites and what changes once the nodes are managed: Nodes fall behind the chain tip

", tooltip: "", icon: "", }, "2": { title: "

The most common self-host failure

", tooltip: "", icon: "", }, "3": { title: "

Users see stale balances and missing transactions; support tickets climb and trust erodes

", tooltip: "", icon: "", }, "4": { title: "

Redundant nodes, routing that sends traffic to healthy nodes, and a consistency manager keep every read block-perfect and prevent stale reads

", tooltip: "", icon: "", }, id: 0, }, { "1": { title: "

A mandatory client upgrade gets missed

", tooltip: "", icon: "", }, "2": { title: "

Dozens of upgrades across chains every week

", tooltip: "", icon: "", }, "3": { title: "

Downtime: the node falls behind and requests start failing

", tooltip: "", icon: "", }, "4": { title: "

We run and upgrade the clients, so the upgrade calendar is never your problem

", tooltip: "", icon: "", }, id: 1, }, { "1": { title: "

Archive storage outgrows the disk

", tooltip: "", icon: "", }, "2": { title: "

Grows continuously unless monitored

", tooltip: "", icon: "", }, "3": { title: "

A full disk crashes the node and takes the app down

", tooltip: "", icon: "", }, "4": { title: "

We provision and scale the hardware for you

", tooltip: "", icon: "", }, id: 2, }, { "1": { title: "

Peers drop, memory leaks, CPU spikes

", tooltip: "", icon: "", }, "2": { title: "

Intermittent, and always at the wrong hour

", tooltip: "", icon: "", }, "3": { title: "

Latency spikes and flaky errors degrade UX, and someone is permanently on call

", tooltip: "", icon: "", }, "4": { title: "

Fully managed and monitored, sized to your workload, automatic failover to shared infrastructure

", tooltip: "", icon: "", }, id: 3, }, ], }} /> ## What you keep, and what you hand off Teams self-host for real reasons, and a managed cluster is only worth it if you keep them. You do. - **Custom tracers and binaries.** Run your own logic directly on the nodes, the same as security and forensics teams and anyone doing custom simulation or indexing. - **Custom hardware.** The cluster is sized and configured to your workload. - **Single-tenant isolation.** SOC 2 Type II infrastructure with full environment isolation, the requirement that pushes most regulated and financial teams to run their own nodes in the first place. - **Regional placement.** Clusters [deploy close to your stack and your users](https://www.alchemy.com/blog/alchemy-edge-proxy), which is the difference that matters for latency-sensitive trading and real-time workloads. What you hand off is the operations: redundancy, block-perfect consistency across every node, client upgrades, hardware scaling, and monitoring, all managed, with real-time Grafana dashboards so you still see everything without running any of it. That is the whole trade: the control you self-host for, without the rotation that comes with it. ## How does the migration work? Because dedicated clusters expose the [same APIs as our shared Node RPC](https://www.alchemy.com/rpc-api), the migration is mostly configuration, not code. You point your application at the cluster's endpoint, and the request patterns you already use keep working. There is no SDK to swap and no request shapes to rewrite. It starts with sizing. You share your traffic numbers and we provision the cluster to your real peaks rather than a guess. Because we run the nodes, capacity planning stops being your job from day one. From there, most teams run the new cluster alongside their existing nodes for a short window, compare the two, and shift traffic over once they are satisfied. Your own nodes stay live as a fallback until you decide to turn them off, and automatic failover to our shared fleet sits under the whole process, so no single moment depends on the switch. In practice this is days of calendar time, not the weeks of full-time effort teams often brace for. Afterward, you reclaim the hardware, retire the on-call rotation, and stop tracking client upgrades. Some teams keep one node running as an independent reference; most find they do not need to. Check out this detailed article to learn [how dedicated blockchain infrastructure works](https://www.alchemy.com/blog/how-dedicated-blockchain-infrastructure-works). ## Is dedicated infrastructure right for you? Dedicated is not an upgrade everyone should want. If your workload runs comfortably on a managed shared plan, that is the better place to be: it is elastic, you pay for what you use, and scaling is someone else's problem without committing to provisioned capacity. The teams who benefit from dedicated are the ones with a specific, durable reason: custom execution, single-tenant isolation, a region you cannot otherwise reach, or sustained volume that makes provisioned capacity the more economical shape. If you are not sure which describes you, our guide to [choosing between Node RPC and Dedicated Clusters](https://www.alchemy.com/overviews/dedicated-vs-shared-nodes) walks through the decision honestly. The goal is the right infrastructure, not the biggest. ## Ready to move off self-hosted nodes? [Dedicated Clusters](https://www.alchemy.com/dedicated-clusters) give you single-tenant control without the operations: custom tracers, binaries, and hardware, block-perfect consistency, and automatic failover to the same shared fleet that delivered [99.99% uptime through the largest liquidation event in crypto](https://www.alchemy.com/blog/best-uptime-biggest-liquidation-event-in-crypto). Check out the [Dedicated Clusters launch announcement](https://www.alchemy.com/blog/introducing-dedicated-clusters) for more detailed information. [Talk to our Dedicated Clusters team](https://www.alchemy.com/dedicated-clusters) with your workload, or bring the traffic numbers from your current setup and we will size the cluster for you. You keep the APIs you already build against, we run the nodes, and failover to shared infrastructure is there from day one. --- # Migrating from Sim to Alchemy's Data APIs | Alchemy URL: https://www.alchemy.com/blog/migrating-from-sim-to-alchemy-data-apis.md [Dune is retiring the Sim API](https://dune.com/blog/sunsetting-sim) on August 1, 2026. If your app uses Sim for wallet balances, transaction history, token data, or DeFi positions, you need a replacement before the deadline. Most balance, NFT, token, and activity workflows have a clear path to [Alchemy's Data APIs](https://www.alchemy.com/docs/data). A few do not have direct productized equivalents; those are flagged below so you can scope them before moving production traffic. ## What Alchemy covers The tables below map the most common Sim endpoints to the closest Alchemy endpoint. Rows marked "No equivalent" have no direct productized endpoint, so bring those workflows to the Alchemy team before switching production traffic. ### Token and balance GET /evm/balances/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

POST /data/v1/{apiKey}/assets/tokens/by-address

", tooltip: "", icon: "", }, notes: { title: '

Multichain balances with live USD prices included. Also works for SVM addresses. View docs.

', tooltip: "", icon: "", }, }, { id: 1, simEndpoint: { title: "

GET /evm/stablecoins/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

POST /data/v1/{apiKey}/assets/tokens/by-address

", tooltip: "", icon: "", }, notes: { title: '

Stablecoins are ERC-20s with prices already included. Filter client-side. View docs.

', tooltip: "", icon: "", }, }, { id: 2, simEndpoint: { title: "

GET /evm/token-info/{chain}/{token}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

alchemy_getTokenMetadata

POST /prices/v1/{apiKey}/tokens/by-address

", tooltip: "", icon: "", }, notes: { title: '

Use two calls for arbitrary lookups. Tokens By Wallet covers the wallet case inline. View getTokenMetadata docs and Token Prices docs.

', tooltip: "", icon: "", }, }, { id: 3, simEndpoint: { title: "

GET /evm/collectibles/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

POST /data/v1/{apiKey}/assets/nfts/by-address

", tooltip: "", icon: "", }, notes: { title: '

Includes spam filtering, contract metadata, OpenSea metadata, and media URLs. View docs.

', tooltip: "", icon: "", }, }, ], }} /> ### Activity and transactions GET /evm/activity/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

alchemy_getAssetTransfers

", tooltip: "", icon: "", }, notes: { title: '

Full decoded transfer history across external, internal, ERC-20, ERC-721, and ERC-1155 transfers. View docs.

', tooltip: "", icon: "", }, }, { id: 1, simEndpoint: { title: "

GET /evm/transactions/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

alchemy_getAssetTransfers

alchemy_getTransactionReceipts

", tooltip: "", icon: "", }, notes: { title: '

The external transfer category covers EOA-to-EOA and contract-initiated native transfers. View getAssetTransfers docs and Receipts docs.

', tooltip: "", icon: "", }, }, ], }} /> ### DeFi GET /evm/defi-positions/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

No equivalent

", tooltip: "", icon: "", }, notes: { title: "

Please reach out for support.

", tooltip: "", icon: "", }, }, { id: 1, simEndpoint: { title: "

GET /evm/defi/supported-protocols

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

No equivalent

", tooltip: "", icon: "", }, notes: { title: "

Please reach out for support.

", tooltip: "", icon: "", }, }, ], }} /> ### Solana and SVM GET /svm/balances/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

POST /data/v1/{apiKey}/assets/tokens/by-address

", tooltip: "", icon: "", }, notes: { title: '

The same endpoint handles SVM balances. Live USD prices are included. View docs.

', tooltip: "", icon: "", }, }, { id: 1, simEndpoint: { title: "

No direct Sim endpoint

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

getAssetsByOwner

", tooltip: "", icon: "", }, notes: { title: '

The Solana equivalent of NFTs By Wallet. View docs.

', tooltip: "", icon: "", }, }, { id: 2, simEndpoint: { title: "

GET /svm/transactions/{address}

", tooltip: "", icon: "", }, alchemyEquivalent: { title: "

getTransactionsForAddress

", tooltip: "", icon: "", }, notes: { title: '

Use the Solana Node API to retrieve transaction history for a Solana address. View docs.

', tooltip: "", icon: "", }, }, ], }} /> ## Migrate in four steps ### 1. Get your Alchemy API key [Create an app in the Alchemy Dashboard](https://dashboard.alchemy.com/) and copy your API key. The exact request URL differs by endpoint, so follow the docs link on each mapping row for the current path and request shape. ### 2. Update authentication and request shape Sim used the `X-Sim-Api-Key` header with chain IDs inline. Alchemy authenticates with your API key, and request and response shapes differ by product. Before, a Sim request looked like this: When you migrate, use the Alchemy endpoint-specific docs for the exact request body, auth pattern, and response fields for that product. ### 3. Update chain identifiers Sim used numeric chain IDs. Alchemy uses string network slugs, passed as an array when you query multiple chains in one request. Ethereum

", tooltip: "", icon: "" }, simChainId: { title: "

1

", tooltip: "", icon: "" }, alchemyNetwork: { title: "

eth-mainnet

", tooltip: "", icon: "", }, }, { id: 1, chain: { title: "

Base

", tooltip: "", icon: "" }, simChainId: { title: "

8453

", tooltip: "", icon: "" }, alchemyNetwork: { title: "

base-mainnet

", tooltip: "", icon: "", }, }, { id: 2, chain: { title: "

Arbitrum

", tooltip: "", icon: "" }, simChainId: { title: "

42161

", tooltip: "", icon: "" }, alchemyNetwork: { title: "

arb-mainnet

", tooltip: "", icon: "", }, }, { id: 3, chain: { title: "

Polygon

", tooltip: "", icon: "" }, simChainId: { title: "

137

", tooltip: "", icon: "" }, alchemyNetwork: { title: "

polygon-mainnet

", tooltip: "", icon: "", }, }, { id: 4, chain: { title: "

Solana

", tooltip: "", icon: "" }, simChainId: { title: "

solana

", tooltip: "", icon: "", }, alchemyNetwork: { title: "

solana-mainnet

", tooltip: "", icon: "", }, }, ], }} /> Per-product chain coverage varies. Check the [Alchemy chain support page](https://dashboard.alchemy.com/chains) before migrating each endpoint. ### 4. Update pagination Sim used offset-style paging. Alchemy uses cursor-style pagination: you pass back a token from the previous response. The exact parameter names differ by endpoint, so use the docs for the product you are migrating. ## Why Alchemy Migrating from Sim can also consolidate more of your stack onto one platform. - **One platform:** Data APIs, Node APIs, Wallet APIs, and Transaction Simulation sit behind a single key, so you can expand past data without stitching together more providers. - **Solana coverage:** Native Solana RPC, Portfolio support for SPL balances, and DAS API support for richer Solana queries. - **Transaction simulation:** Predict asset changes, decode traces, and simulate bundles before a transaction lands. - **Enterprise-grade support:** Enterprise teams get dedicated support and production reliability for critical migration windows. - **Special pricing for Sim customers:** Alchemy is offering discounted pricing for teams migrating from Sim during the wind-down. [Contact us](https://www.alchemy.com/contact-sales) and mention your Sim account. ## Get started Sim shuts down August 1, 2026. Start now so you have time to dual-run your integration and validate response parity before the deadline. - [Read the Alchemy Data API docs](https://www.alchemy.com/docs/data) - [Create an Alchemy API key](https://dashboard.alchemy.com/) - [Contact us](https://www.alchemy.com/contact-sales) with your current Sim call pattern, and we'll help map the migration path. --- # Migrating from SimpleHash to Alchemy URL: https://www.alchemy.com/blog/migrating-from-simplehash-to-alchemy.md SimpleHash is ceasing its services on March 27, 2025, and this guide provides a straightforward path for developers to migrate to Alchemy. We cover everything you need to keep your apps running without disruption, including NFT data, token data, and market data migration, with code examples and 1:1 support to ensure a smooth transition. Please reach out to [data-services-product@alchemy.com](mailto:data-services-product@alchemy.com) with any questions! ## Ship faster with Alchemy SimpleHash is shutting down, but we've got you covered. Alchemy offers complete feature parity, enterprise-grade reliability, and special pricing to make your transition seamless. Follow these simple steps to migrate today: 1. [Create your Alchemy account](https://alchemy.com/signup?utm_source=blog&utm_medium=blog&utm_campaign=migration) 1. Read our migration guide to get started moving data \[[**guide**](https://www.alchemy.com/docs/reference/nft-api-overview)\] 1. [Try multi-chain Token Balances by Wallet API](https://www.alchemy.com/docs/data/portfolio-apis/portfolio-api-endpoints/portfolio-api-endpoints/get-token-balances-by-address) with Solana support \(beta\) 1. Contact us via [this email ](mailto: data-services-product@alchemy.com)to claim your 3 free months ## Why developers are choosing Alchemy ### 1. Unmatched reliability We’ve been handling billions of requests daily across thousands of apps. Your users won't notice the switch. Our infrastructure is built for enterprise-grade performance, backed by white glove support to address any issues immediately. ### 2. Competitive pricing & special offers We have the most affordable pricing in web3. For a **limited time**, we’re offering** three months free** to help you transition smoothly—reach out to us [via this email ](mailto:data-services-product@alchemy.com)to claim this offer. ### 3. Everything you need \(and more on the way!\) We offer feature parity with SimpleHash and, in some cases, **more**: - **NFT & Token Data:** Fully indexed multi-chain support. - **Market Data:** Historical pricing and market data - **Expanded Functionality:** Custom webhooks and enhanced API reliability. We constantly monitors ecosystem developments to anticipate your needs before you even request them. We're not just replacing SimpleHash—we're building the future of blockchain data infrastructure. ### 4. Engineering partnership We don’t just replace SimpleHash—we’re here to help you build for the future: - **Dedicated support:** Our team is ready to work with you 1:1 to ensure a smooth transition - **Custom integrations:** If anything is missing, we’ll help build it **with you** - **Continuous investment:** We are committed to enhancing our NFT, token, and market data APIs over time to meet your development needs ### Start your migration to Alchemy We understand migrating services can be complex, but **we are here to make it easy** with dedicated support, feature parity, and expanded capabilities. **👋 If there’s a feature you need, let us know!** Contact us via [this email](mailto: data-services-product@alchemy.com) or dm us on telegram @mihiralchemy. ## Frequently asked questions ### Why do I need to migrate from SimpleHash? SimpleHash is ceasing its services on March 27, 2025, requiring developers to migrate to an alternative provider to maintain access to NFT data, token data, and market data APIs. ### What types of data can I migrate? We support migration for NFT data, token data (including balances and metadata), and market data with complete feature parity and code examples provided in our migration guide. ### How long do you offer free service for SimpleHash migrations? We're offering three free months of service to help with the transition, you can claim this offer by contacting data-services-product@alchemy.com. ### Do you support multi-chain token balances like SimpleHash? Yes, our Token Balances by Wallet API offers fully indexed multi-chain support, including Solana in beta. ### What support is available during the migration process? We provide dedicated 1:1 support, custom integrations if needed, and white glove assistance to ensure a smooth transition, contact us at data-services-product@alchemy.com or via Telegram @mihiralchemy. ### How does our reliability compare to SimpleHash? We handle billions of requests daily across thousands of apps with enterprise-grade infrastructure and performance designed to ensure users won't notice the switch. ### What makes us different from just replacing SimpleHash? We offer expanded functionality beyond SimpleHash, including custom webhooks, enhanced API reliability, and continuous investment in building future blockchain data infrastructure based on ecosystem developments. ### How do I get started migrating? Create an Alchemy account, review the migration guide in our documentation, and contact data-services-product@alchemy.com to claim your three free months and receive dedicated migration support. --- # Migrating Fungible Token Data from SimpleHash to Alchemy URL: https://www.alchemy.com/blog/migrating-fungible-token-data-from-simplehash-to-alchemy.md SimpleHash is sunsetting its services on March 27, 2025, and this guide provides a straightforward path for you to migrate Fungible Token Data from SimpleHash to Alchemy. Please reach out to [data-services-product@alchemy.com](mailto:data-services-product@alchemy.com) with any questions! ## Use case 1: token balances & metadata Our token APIs are a perfect replacement for SimpleHash’s fungible token endpoints. Our fungible token APIs provide: ✅ **Real-time balances** for ERC-20 and other tokens ✅ **Token metadata** \(name, symbol, decimals, contract address\) ✅ **Multi-chain support** for all major blockchains Docs: [https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-balances](https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-balances) 📌 **Example Wallet:** `0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7` ### Fetching token balances ### SimpleHash request \(old\) " \\\\ -H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"`} /> ### Alchemy request \(new\) _Try it out _[here](https://sandbox.alchemy.com/?network=ETH_MAINNET&method=alchemy_getTokenBalances&body.id=1&body.jsonrpc=2.0&body.method=alchemy_getTokenBalances&body.params%5B0%5D=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&body.params%5B1%5D=erc20&body.params%5B2%5D.pageKey=&body.params%5B2%5D.maxCount=100)_!_ \\\\ --header 'accept: application/json' \\\\ --header 'content-type: application/json' \\\\ --data ' { "id": 1, "jsonrpc": "2.0", "method": "alchemy_getTokenBalances", "params": [ "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" ] } '`} /> ### Example response: ### Fetching token metadata Docs: [https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-metadata](https://www.alchemy.com/docs/data/token-api/token-api-endpoints/alchemy-get-token-metadata) ### SimpleHash request \(old\) " \\\\ -H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"`} /> ### Alchemy request \(new - JSON-rpc\) _Try it out _[here](https://sandbox.alchemy.com/?network=ETH_MAINNET&method=alchemy_getTokenMetadata&body.id=1&body.jsonrpc=2.0&body.method=alchemy_getTokenMetadata&body.params%5B0%5D=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48)_!_ \\\\ --header 'accept: application/json' \\\\ --header 'content-type: application/json' \\\\ --data ' { "id": 1, "jsonrpc": "2.0", "method": "alchemy_getTokenMetadata", "params": [ "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" ] }`} /> ### Example response: ", "name": "USDC", "symbol": "USDC" } }`} /> ## Use case 2: token prices \(prices api\) Our [**Prices API**](https://www.alchemy.com/docs/reference/prices-api-quickstart) enables seamless migration from SimpleHash’s** DEX price** endpoint. ## Understand the differences Real-time token prices

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Historical prices

", tooltip: "", icon: "" }, "2": { title: false, tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Batch requests (multiple tokens at once)

", tooltip: "", icon: "" }, "2": { title: "

Up to 50 tokens per call

", tooltip: "", icon: "" }, "3": { title: "

Supported

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

DEX-specific prices

", tooltip: "", icon: "" }, "2": { title: "

Yes (from Uniswap, etc.)

", tooltip: "", icon: "" }, "3": { title: "

Coming Soon! Reach out if this is critical.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Supported Chains

", tooltip: "", icon: "" }, "2": { title: "

Multiple chains

", tooltip: "", icon: "" }, "3": { title: "

Multiple chains (including all top chains)

", tooltip: "", icon: "" }, id: 4, }, ], }} /> 📌 **Key Update:** Alchemy aggregates data from various reputable sources, providing a holistic view of token prices. If you specifically need **DEX-sourced prices**, reach out! We’re actively exploring how to support this and would love your feedback. ### Fetching real-time prices for multiple tokens ### SimpleHash request \(old\) ...,ethereum:0x..." \\\\ -H "Authorization: Bearer YOUR_SIMPLEHASH_KEY"`} /> ### Alchemy request \(new\) ' \\\\ --header 'accept: application/json'`} /> ### Example response: ### **Fetching historical prices** \(🚀 **new in Alchemy!**\) Docs: [https://www.alchemy.com/docs/data/prices-api/prices-api-endpoints/prices-api-endpoints/get-historical-token-prices](https://www.alchemy.com/docs/data/prices-api/prices-api-endpoints/prices-api-endpoints/get-historical-token-prices) 📌 **Alchemy supports historical price data \(not available in SimpleHash\).** ### Alchemy request: \\\\ --header 'accept: application/json' \\\\ --header 'content-type: application/json' \\\\ --data ' { "symbol": "ETH", "startTime": "2024-01-01T00:00:00Z", "endTime": "2024-01-31T23:59:59Z", "interval": "1d" } '`} /> ### Example response: ## Start your migration to Alchemy We understand migrating services can be complex, but **we are here to make it easy** with dedicated support, feature parity, and expanded capabilities. **👋 If there’s a feature you need, let us know!** Contact via [this email](mailto: data-services-product@alchemy.com) or dm us on telegram @mihiralchemy. ## Frequently asked questions ### Why is migration from SimpleHash necessary? SimpleHash is sunsetting its services on March 27, 2025, requiring users to migrate fungible token data to alternative providers. ### What fungible token capabilities do we provide? We provide real-time balances for ERC-20 and other tokens, token metadata (name, symbol, decimals, contract address), and multi-chain support for all major blockchains. ### How do I fetch token balances? Use a POST request to `https://eth-mainnet.g.alchemy.com/v2/{apiKey}` with the `alchemy_getTokenBalances` method, passing the wallet address in the params. ### How do I get token metadata? Use a POST JSON-RPC call to `alchemy_getTokenMetadata` with the contract address, which returns decimals, name, symbol, and logo information. ### Do you support token pricing like SimpleHash did? Yes, our Prices API provides real-time token prices by making GET requests to `https://api.g.alchemy.com/prices/v1/{api-key}/tokens/by-symbol` with token symbols as parameters. ### What's the difference between SimpleHash and our price data sources? We aggregate data from various reputable sources for a holistic view, while SimpleHash focused on DEX-sourced prices specifically. ### Can I access historical token prices? Yes, we support historical price data through POST requests to `/tokens/historical` with parameters for symbol, start/end times, and interval, a feature not available in SimpleHash. ### Where can I get help with my migration? Contact data-services-product@alchemy.com with any questions or feature requests, or reach out via Telegram @mihiralchemy for migration support. --- # Migrating NFT Data from SimpleHash to Alchemy URL: https://www.alchemy.com/blog/migrating-nft-data-from-simplehash-to-alchemy.md SimpleHash is sunsetting its services on March 27, 2025, and this guide provides a straightforward path for you to migrate NFT Data to Alchemy. Please reach out to [data-services-product@alchemy.com](mailto:data-services-product@alchemy.com) with any questions! We offer a seamless transition from SimpleHash with robust, reliable, and scalable NFT APIs. Our NFT API provides: - **Multi-chain support** \(30\+ chains supported\) - **Ownership & transfer history** - **Real-time metadata updates** - **Support for special case NFTs** \(e.g., CryptoPunks and other non-standard ERC-721/1155 implementations\) - **White-glove support for migration assistance** If you've been using SimpleHash for NFT metadata, collection data, and ownership tracking, migrating to Alchemy is straightforward. ### Steps to migrate: 1. [Sign up for an Alchemy account](https://alchemy.com/signup?utm_source=blog&utm_medium=blog&utm_campaign=migration) and generate an API key. 1. **Replace SimpleHash endpoints** with Alchemy’s NFT API endpoints. 1. **Update your request formats** \(Alchemy’s documentation provides clear examples\). 1. **Test and validate** data consistency 1. **Reach out to us at** data-services-product@alchemy.com for any feature requests or additional migration assistance. ## Example: fetching NFTs owned by a wallet Docs: [https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-ownership-endpoints/get-nf-ts-for-owner-v-3](https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-ownership-endpoints/get-nf-ts-for-owner-v-3) 📌 **Example Wallet:** `0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7` ### SimpleHash endpoint \(deprecated\) "`} /> ### Alchemy equivalent _Try it out _[here](https://sandbox.alchemy.com/?network=ETH_MAINNET&method=getNFTsForOwner_v3&query.owner=0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7&query.withMetadata=true&query.orderBy&query.spamConfidenceLevel&query.tokenUriTimeoutInMs&query.pageKey=&query.pageSize=100)_!_ "`} /> ### Alchemy API response: ", "description": "Visit aaveprotocol.net to claim rewards", "externalUrl": null, "twitterUsername": null, "discordUrl": null, "bannerImageUrl": null, "lastIngestedAt": "2025-02-18T04:02:33.000Z" }, "isSpam": null, "spamClassifications": [] }, "tokenId": "0", "tokenType": "ERC1155", "name": "Visit aaveprotocol.net to claim rewards", "description": "Visit aaveprotocol.net to claim rewards", "tokenUri": "", "image": { "cachedUrl": "", "thumbnailUrl": "", "pngUrl": "", "contentType": "image/png", "size": 171504, "originalUrl": "" }, "raw": { "tokenUri": "", "metadata": { "name": "Visit aaveprotocol.net to claim rewards", "description": "Visit aaveprotocol.net to claim rewards", "image": "" }, "error": null }, "collection": { "name": "Visit aaveprotocol.net to claim rewards", "slug": "visit-aaveprotocol-net-to-claim-rewards-1", "externalUrl": null, "bannerImageUrl": null }, "mint": { "mintAddress": null, "blockNumber": null, "timestamp": null, "transactionHash": null }, "owners": null, "timeLastUpdated": "2025-02-26T11:26:38.942Z", "balance": "1", "acquiredAt": { "blockTimestamp": null, "blockNumber": null } },... ] }`} /> **Note:** Alchemy supports **special-case NFTs** like CryptoPunks, which do not adhere to ERC-721 metadata standards. Our API is optimized for performance and reliability, making it the ideal long-term solution for your NFT data needs. ## More Alchemy NFT features In addition to fetching NFTs owned by a wallet, we provide: - **NFT contract ownership** – Contract level NFT data - **NFT Sales/Floor Prices** – Sales data/price data - **Token Gating & Utility Tracking** – enhance user experiences with token-gated content - **NFT Webhooks** — Webhooks to track NFT transfers and metadata updates ## Start your migration to Alchemy We understand migrating services can be complex, but **we are here to make it easy** with dedicated support, feature parity, and expanded capabilities. ## Frequently asked questions ### Why is migration from SimpleHash necessary? SimpleHash is sunsetting its services on March 27, 2025, requiring users to migrate their NFT data to an alternative provider. ### What NFT data features do we provide? Our NFT API offers multi-chain support across 30+ chains, ownership and transfer history, real-time metadata updates, support for special case NFTs like CryptoPunks, and white-glove migration assistance. ### How do I start migrating to our NFT API? Sign up for an Alchemy account, generate an API key, replace SimpleHash endpoints with our NFT API endpoints, update your request formats using our documentation, and test data consistency. ### Do you support non-standard NFTs like CryptoPunks? Yes, our API is optimized to support special-case NFTs like CryptoPunks that do not adhere to standard ERC-721 metadata implementations. ### What is the endpoint for fetching NFTs owned by a wallet? Use the `getNFTs` endpoint: `https://eth-mainnet.alchemyapi.io/v2/YOUR_API_KEY/getNFTs?owner=WALLET_ADDRESS` to retrieve NFTs owned by a specific wallet address. ### What additional NFT features do we offer beyond basic ownership data? We provide NFT contract ownership data, sales and floor price data, token gating and utility tracking, and NFT webhooks for tracking transfers and metadata updates. ### Where can I get help with my migration? Contact our team at data-services-product@alchemy.com for feature requests, questions, or additional migration assistance. --- # More Capacity, Lower Prices: Developer First Pricing Always URL: https://www.alchemy.com/blog/more-capacity-lower-prices.md ### Alchemy continues to make Web3 development even more accessible with a new 3x capacity increase for its free & growth tiers and massively simplifies pricing Alchemy has always been focused on one thing — giving Web3 developers the tools they need to build massively successful businesses. We’ve been fortunate enough to power and help longtime customers OpenSea, 0x, Convex Finance, Aave, and countless others bring the magic of blockchain to millions around the world. Today we’re furthering this commitment by giving every Web3 developer even more by drastically increasing our Free & Growth Tier capacity across all of our supported chains including Ethereum, Flow, Polygon, Optimism, Arbitrum, and [Crypto.com](https://Crypto.com). ## The tl;dr When we innovate and scale our systems, we pass those benefits onto you - our customers! **The Industry's Largest Free Tier:** 300mm \(3x more\) monthly compute included \(~12,000,000 requests/monthly\) and free archive data! **The New Supercharged Growth Tier:** 400mm \(~3x more\) monthly compute included \(~16,200,000 requests/monthly\) and one flat rate of $1.2/1mm CU. Building on any Alchemy-supported network including Ethereum, Polygon, Optimism, Arbitrum, Flow, and [Crypto.com](https://Crypto.com) has never been easier! ## The industry's largest free tier As ecosystem builders, Alchemy is committed to creating better, more affordable products to power the next wave of Web3 users. Over the last year, we’ve had major breakthroughs in technological improvements that have allowed us to create better economies of scale.  Instead of keeping these benefits to ourselves, we’ve continuously decided to pass these savings onto you so together we can help more people get into blockchain. Our expanded Free Tier now gives developers the power of 300mm compute units which include access to complex, expensive features like full archive data, NFT APIs, and pending transaction subscriptions at no additional cost. Not only will this allow developers to create new products, experiment with new use cases, but it will also make ecosystem-critical use cases like [connecting an ETH 2.0 node](https://medium.com/alchemy-api/running-an-eth2-node-with-alchemy-9b3e7d3b60e4) or Chainlink node 100% free. Plus, you’ll have the entire month to use these compute units so no need to ever worry about daily request limits. ## The NEW supercharged growth tier Eventually, many Alchemy users will need even more capacity as their products gain traction and grow. This is where the new Growth Tier can provide any team looking to grow quickly with higher dedicated throughput and the ability to handle infinite capacity with our auto-scale configuration - all without ever having to speak with a salesperson. To make this even more developer-friendly, we’re expanding and enhancing the Growth Tier in two key ways: 1. Increasing the included Growth capacity by ~3x 1. Simple Flat Rate of $1.2/1mm CU beyond 400mm CU With these improvements, Web3 teams can focus 100% of their time building core applications while we handle the complexity of running infrastructure at scale. ## What’s next? Alchemy believes that these capacity and pricing updates will accelerate the incredibly important work from all the Web3 developers around the world. The vision and hard work from all these developers are the levers that will accelerate mass adoption for the entire Web3 ecosystem. There are already many exciting updates to the Alchemy platform in store for 2022, but we’d love to hear what you think about these changes on [Twitter](https://x.com/Alchemy). If you’re a team already using Alchemy and need to scale beyond your current plan, feel free to reach out to us at [**sales@alchemy.com**](mailto:sales@alchemy.com). [Start building](https://alchemy.com/pricing/?a=1ab82c9c08) for free today! --- # MyEtherWallet is a gateway to the Ethereum ecosystem URL: https://www.alchemy.com/blog/myetherwallet-is-a-gateway-to-the-ethereum-ecosystem.md MyEtherWallet \(But friends call them MEW!\) is one of the first projects in Ethereum. They provide a gateway to the entire [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), supporting over a dozen methods of Ethereum wallet access right from [their web portal](https://www.myetherwallet.com/). This includes integration with hardware wallets and mobile connection protocols, as well as extended functionality for almost any Ethereum wallet that exists. If you want to safely store and send your tokens, MEW is for you.  Not only that, MEW also helps devs who wish to add DeFi, decentralized domains, or contract interaction capabilities to their [apps](https://www.alchemy.com/dapps/top/defi-dapps) in a seamless way. Through [MEWConnect](https://mewconnect.myetherwallet.com/) some of the largest projects in Ethereum have integrated MEW’s wallet into their DApp. By doing so they have instantly added tons of functionality, while giving them exposure to MEW’s own wallet users. Apps using MEWConnect are discoverable through [MEW’s mobile wallet](https://www.mewwallet.com/) interface, providing a whole new potential user base. There’s simply no better way to create an exceptional wallet experience in your DApp than incorporating MEW. ## Alchemy powers mew’s infrastructure needs MyEtherWallet was created only a few weeks after the launch of the Ethereum Blockchain, which makes them true ETH pioneers, building one of the most useful tools in the space. At that time Kosala, MEW’s founder and CEO was certainly interested in blockchain technology, but not deeply involved. However, he saw an immediate need to give people without coding experience easy access to Ethereum, so he set out to build the wallet to do just that. At first it was a spare-time project, but that quickly changed during the ICO boom in 2017, which made less than full time focus no longer an option. Although demand has significantly increased, MEW’s mission has stayed the same since day one: to give everyone, regardless of their level of technical knowledge, demographics, or location access to everything that Ethereum has to offer, and to guide them throughout the process. We at Alchemy fully support MEW’s mission, and we’re ecstatic to help them scale through their next growth phase. The [Alchemy Platform](https://dashboard.alchemy.com/signup?referral=affiliate:1a80ccd0-cf21-49a0-ad2f-8c4504a3b5c1) powers MEW’s mobile infrastructure giving them ultra-reliable, easy-to-use interaction with the blockchain.  “As a person who likes to focus on users’ needs and products, it's great to have infrastructure that just works . Alchemy makes my product team perform better, and ultimately helps to make a product that is better.” - Alex Komorov, MEW’s Director of Mobile. ## The next phase of MEW tech rollout The MEW team knows full well that in order to achieve their goals, they must take a user-first approach to development. When it comes to user experience, they focus on identifying the obstacles crypto users face that block them from getting the most out of Ethereum. Accounting for security concerns is a crucial component of that. MEW believes it’s vital to create a safe environment where newcomers have exposure to blockchain technology in a controlled, familiar way, to ultimately transform them into advanced users who can benefit from things like decentralised finance.  To that end, MEW is working to bridge the gap between the get-rich impulse that drives people to explore Ethereum in the first place, and actual useful Ethereum apps, such as DeFi protocols and decentralized-web services. In this way, they are creating a more meaningful use case for Ethereum to drive adoption. What’s next for MEW? They are currently developing Version 6 of MyEtherWallet.com with an improved UI, portfolio tracking, a DApp marketplace, and a newly conceived distribution platform for apps. Think of it as the “Netflix” of Ethereum, which allows devs to easily integrate and tap into MEW’s user base. They’ll also rollout new development tools with robust UI components, a layout library, and extensive documentation on how to use it all. ## MEW and Alchemy work together to activate blockchain adoption MEW is very excited about the next iteration of DApp development, and what that means for expanding crypto adoption beyond traders. To help facilitate crypto growth the MEW team takes daily steps to improve developer ease of use with their platform. The more streamlined the better, because when devs adopt MEW into their DApp it becomes one unified UX. At that point, the wallet is no longer an intermediate step the user must take in their journey towards the end functionality they seek.  Instead, MEW is the launch point from where apps are discovered and used in one seamless experience. Is Alchemy coming along for that journey? You bet! We’re constantly inspired by peers like MyEtherWallet, and will work just as passionately to bring blockchain to the masses. Would you like to see Ethereum’s original wallet? [Find it here](https://www.myetherwallet.com/). To integrate MEW? [Go to their Github](https://github.com/MyEtherWallet/MEWconnect-web-client). Alchemy supports blockchain infrastructure in 197 countries. [Get to know us better here.](https://dashboard.alchemy.com/signup?referral=affiliate:1a80ccd0-cf21-49a0-ad2f-8c4504a3b5c1) Ready to build the next killer app? [Get started free with Alchemy.](https://dashboard.alchemy.com/signup?referral=affiliate:1a80ccd0-cf21-49a0-ad2f-8c4504a3b5c1) --- # NFT Creator Platform Ownerfy Partners with Alchemy URL: https://www.alchemy.com/blog/nft-creator-platform-ownerfy-partners-with-alchemy-for-their-massive-nft-drop.md *NFT creator platform company [Ownerfy](https://ownerfy.com/) joins [Alchemy’s](https://alchemy.com/?r=affiliate:d4c49969-ac5b-4051-9d44-f67dc27504a1) Certified Infrastructure Alliance to easily handle their MASSIVE September 7th NFT collection drop.‍* In anticipation for Ownerfy’s largest scale NFT minting, they will be scaling up their infrastructure with Alchemy to power their seamless NFT creator platform. Ownerfy has built secure, hashable NFTs to ensure authenticity for both business and artist customers. Their technology focuses on accurate validation of assets - so original creators are verified for their work. They have minted over 10,000 original NFTs across their platform and are excited to release their first ever [Ownerfy NFT Collection - Chic-A-Dees](https://ownerfy.com/chicadees)*.*‍ As the leading blockchain infrastructure platform — [Alchemy](https://alchemy.com/?r=affiliate:d4c49969-ac5b-4051-9d44-f67dc27504a1) is proud to be powering the majority of NFTs in the ecosystem. Working with innovative companies, like Ownerfy, Alchemy is able to help accelerate development for blockchain developers by providing the most robust, scalable node solution. Companies like Ownerfy can easily scale up their applications without any infrastructure concern, allowing them to focus on creating an incredible user experience. “Ownerfy is helping artists and businesses make the highest quality NFTs. They’ve worked extensively with the community to build an easy yet robust NFT minting process. They build quality, code-checked NFTs in an incredibly simple way. Alchemy is super excited to help them create this premium experience” [Elan Halpern](https://www.linkedin.com/in/elan-halpern-99a018193/), co-creator of Alchemy Amplify Ownerfy utilizes Alchemy’s platform to access all of the Ethereum APIs, which helps them grow without worrying about scaling. As a member of [**Alchemy’s Certified Infrastructure Alliance**](https://www.alchemy.com/amplify), Ownerfy joins a large exclusive list of innovative companies committed to providing the ecosystem the very best user experiences. With support for multiple blockchains and L2s, Ownerfy easily switches between ecosystems to deliver innovative and cost effective solutions for their customers. “Alchemy offers a wide set of features that are vital for our business. The ability to have transaction callback webhooks has been **crucial** for us. Their easy-to-use interface coupled with great pricing has made for a very positive experience. We’ve never had any problem with reliability and we’re excited to use Alchemy as we scale.” - Nick Juntilla, Creator and CEO of Ownerfy Alchemy is excited to help empower Ownerfy’s growth as they continue to build the highest quality NFTs for business and artists customers.  ## About ownerfy [Ownerfy](https://ownerfy.com/) is a minting platform focused on scalable NFT solutions. They published the first complete ERC-1155 smart contract in 2018 and created a mobile app that allowed users to create NFTs straight from your smartphone. They’ve worked closely with the blockchain community and crypto developers to create a trusted and simple NFT minting process.  With a strategic focus on ease-of-use, Ownerfy helps mint large collections and bulk NFTs for enterprise applications. They prioritize quality NFT code that uses decentralized data integrity, transparency and unrestricted control for the owners of their NFTs. Ownerfy makes it easy for businesses to mint NFTs by allowing customers to use traditional payment methods to create their products in a single step. ## About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:ef7b5c61-01d2-4001-a6a4-e739c4c4e9bb) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- *Sign up for a [free account](https://alchemy.com/?r=affiliate:13611c66-66d2-4fc0-84c2-fc7e0aed7244). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy).* --- # NFT Minter Tutorial: How to Create a Full Stack DApp URL: https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp.md In this tutorial, you’ll build an NFT minter and learn how to create a full stack dApp by connecting your smart contract to a React frontend using Metamask and Web3 tools. Plus, be sure to check out the rest of our NFT tutorial series: - 🌟  [How to mint an NFT using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) - 🪄  [How to mint an NFT with Ether.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js) - 👛  [How to view your NFT in your mobile wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) - 💸  [How to set a price on an NFT](https://www.alchemy.com/blog/how-to-set-a-price-on-an-nft) One of the greatest challenges for developers coming from a Web2 background is figuring out how to connect your smart contact to a frontend project and interact with it. By building an NFT minter—a simple UI where you can input a link to your digital asset, a title,  and a description —you'll learn how to: - Connect to Metamask via your frontend project - Call smart contract methods from your frontend - Sign transactions using Metamask In this tutorial, we will be using [React](https://reactjs.org/) as our frontend framework. Because this tutorial is primarily focused on [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development), we won't be spending much time breaking down React fundamentals. Instead, we'll be focusing on bringing functionality to our project As a prerequisite, you should have a beginner-level understanding of React—know how components, props, useState/useEffect, and basic function calling works. If you've never heard of any of those terms before, you may want to check out this [Intro to React tutorial](https://reactjs.org/tutorial/tutorial.html). For the more visual learners, we highly recommend this excellent [Full Modern React Tutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gZD-Tvwfod2gaISzfRiP9d) video series by Net Ninja. Without further ado, let's get started! ## Step 0: making NFTs 101 Before we even start looking at any code, it's important to understand how making an NFT works. It involves two steps: 1\) You publish an NFT smart contract on the Ethereum blockchain. Usually this is an [ERC-721](https://eips.ethereum.org/EIPS/eip-721) or [ERC-1155](https://eips.ethereum.org/EIPS/eip-1155) smart contract. The biggest difference between the two NFT smart contact standards is that ERC-1155 is a multi-token standard and includes batch functionality, whereas with the ERC-721 is a single-token standard and therefore only supports transferring one token at a time. 2\) You call the minting function on that NFT smart contract to mint the NFT. _Minting_ is simply the act of publishing a unique instance of your non fungible token on the blockchain. Usually, this minting function requires you to pass in two variables as parameters, first the recipient, which specifies the address that will receive your freshly minted NFT, and second the NFT's tokenURI , a string that resolves to a JSON document describing the NFT's metadata. An NFT's metadata is really what brings it to life, allowing it to have properties, such as a name, description, image \(or different digital asset\), and other attributes. Here's [an example of a tokenURI](https://gateway.pinata.cloud/ipfs/QmSvBcb4tjdFpajGJhbFAWeK3JAxCdNQLQtr6ZdiSi42V2), which contains an NFT's metadata. In this tutorial, we're going to focus on part 2, calling an existing NFT's smart contract minting function using our React UI. ​[Here's a link](https://sepolia.etherscan.io/address/0x4C4a07F737Bf57F6632B6CAB089B78f62385aCaE) to the ERC-721 NFT smart contract we will be calling in this tutorial. If you'd like to learn how we made it, we highly recommend that you check out our other tutorial, "[How to Create an NFT](https://www.alchemy.com/blog/how-to-create-an-nft)."​ Cool, now that we understand how making an NFT works, let's clone our starter files! ## Step 1: clone the starter files First, go to the [nft-minter-tutorial](https://github.com/alchemyplatform/nft-minter-tutorial) github repository to get the starter files for this project. Clone this repository into your local environment. Don't know how to clone a repository? Check out [this guide](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) from Github. When you open this cloned **nft-minter-tutorial** repository, you'll notice that it contains two folders: **minter-starter-files** and **nft-minter**. - **minter-starter-files** contains the starter files \(essentially the React UI\) for this project. In this tutorial, **we will be working in this directory**, as you learn how to bring this UI to life by connecting it to your Ethereum wallet and an NFT smart contract. - **nft-minter** contains the entire completed tutorial and is there for you as a **reference** **if you get stuck.** Next open your copy of **minter-starter-files** in to your favorite code editor \(at Alchemy, we we're big fans of [VSCode](https://code.visualstudio.com/download)\), and then navigate into your **src** folder: We will work inside the "src" folder All of the code we'll write will live under the **src** folder. We'll be editing the **Minter.js** component and writing additional javascript files to give our project Web3 functionality. ## Step 2: check out our starter files Before we start coding, it's important check out what's already provided for us in the starter files. #### Get your react project running Let's start by running the React project in our browser. The beauty of React is that once we have our project running in our browser, any changes we save will be updated live in our browser. To get the project running, navigate to the root directory of the **minter-starter-files** folder, and the run `npm install` in your terminal to install the dependencies of the project: Once those have finished installing, run `npm start` in your terminal: Doing so should open [http://localhost:3000/](http://localhost:3000/) in your browser, where you'll see the frontend for our project. It should consist of 3 fields: a place to input a link to your NFT's asset, enter the name of your NFT, and provide a description. If you try clicking "Connect Wallet" or "Mint NFT" buttons, you'll notice they don't work—that's because we still need to program their functionality! :\) #### The minter.js component **NOTE:** Make sure you're in the **minter-starter-files** folder and not the **nft-minter** folder! Let's go back into the **src** folder in our editor and open the **Minter.js** file. It's super important that we understand everything in this file, as it is the primary React component we will be working on. At the top of our this file, we have our state variables that we will update after specific events. Never heard of React state variables or state hooks? Check out [these](https://reactjs.org/docs/hooks-state.html) docs. Here's what each of the variables represent: - **walletAddress** - a string that stores the user's wallet address - **status** - a string that contains a message to display at the bottom of the UI - **name** - a string that stores the NFT's name - **description** - a string that stores the NFT's description - **url** - a string that is a link to the NFT's digital asset After the state variables, you'll see three un-implemented functions: `useEffect`, `connectWalletPressed`, and `onMintPressed`. You'll notice that all of these functions are **async**, that's because we will be making asynchronous API calls in them! Their names are eponymous with their functionalities: - [**useEffect**](https://reactjs.org/docs/hooks-effect.html)- this is a React hook that is called after your component is rendered.  Because it has an empty array **\[\]** prop passed into it \(see line 3\),  it will only be called on the component's _first_ render. Here we'll call our wallet listener and another wallet function to update our UI to reflect whether a wallet is already connected. - **connectWalletPressed** - this function will be called to connect the user's Metamask wallet to our dApp. - **onMintPressed** - this function will be called to mint the user's NFT. Near the end of this file, we have the UI of our component. If you scan this code carefully, you'll notice that we update our `url`, `name`, and `description` state variables when the input in their corresponding text fields change. You'll also see that `connectWalletPressed` and `onMintPressed` are called when the buttons with IDs **mintButton** and **walletButton** are clicked respectively.‍ Finally, let's address where is this Minter component added. If you go to the **App.js** file, which is the main component in React that acts as a container for all other components, you'll see that our Minter component is injected on line 7. **In this tutorial, we'll only be editing the Minter.js file and adding files in our src folder.** Now that we understand what we're working with, let's set up our Ethereum wallet! ## Step 3: set up your Ethereum wallet For users to be able to interact with your smart contract they will need to connect their Ethereum wallet to your dApp.   #### Download MetaMask For this tutorial, we’ll use Metamask, a virtual wallet in the browser used to manage your Ethereum account address. If you want to understand more about how transactions on Ethereum work, check out [this page](https://ethereum.org/en/developers/docs/transactions/) from the Ethereum foundation. You can download and create a Metamask account for free [here](https://metamask.io/download.html). When you are creating an account, or if you already have an account, make sure to switch over to the “Ropsten Test Network” in the upper right \(so that we’re not dealing with real money\). #### Add ether from a faucet In order to mint our NFTs \(or sign any transactions on the Ethereum blockchain\), we’ll need some fake Eth. To get Eth you can go to the [Sepolia faucet](/faucets/ethereum-sepolia) and enter your Ropsten account address, then click “Send Ropsten Eth.” You should see Eth in your Metamask account soon after! #### Check your balance To double check our balance is there, let’s make an `eth_getBalance` request using [Alchemy’s composer tool](https://www.alchemy.com/composer/?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22eth_getBalance%22%2C%22paramValues%22%3A%5B%22%22%2C%22latest%22%5D%7D). This will return the amount of Eth in our wallet. After you input your Metamask account address and click “Send Request”, you should see a response like this: **NOTE:** This result is in wei not eth. Wei is used as the smallest denomination of ether. The conversion from wei to eth is: 1 eth = 10¹⁸ wei. So if we convert 0xde0b6b3a7640000 to decimal we get 1\*10¹⁸ which equals 1 eth. Phew! Our fake money is all there! 🤑 ## Step 4: connect MetaMask to your UI Now that our Metamask wallet is set up, let's connect our dApp to it! Because we want to prescribe to the [M-V-C](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) paradigm, we're going to create a separate file that contains our functions to manage the logic, data, and rules of our dApp, and then pass those functions to our frontend \(our Minter.js component\). #### The connectWallet function To do so, let's create a new folder called **utils** in your **src** directory and add a file called **interact.js** inside it,  which will contain all of our wallet and smart contract interaction functions. In our **interact.js** file, we will write a `connectWallet` function, which we will then import and call in our **Minter.js** component. In your **interact.js** file, add the following Let's breakdown what this code does: First, our function checks if it `window.ethereum` is enabled in your browser. window.ethereum is a global API injected by Metamask and other wallet providers that allows websites to request users' Ethereum accounts. If approved, it can read data from the blockchains the user is connected to, and suggest that the user sign messages and transactions. Check out the [Metamask docs](https://docs.metamask.io/guide/ethereum-provider.html#table-of-contents) for more info! If `window.ethereum` _is not_ present, then that means Metamask is not installed. This results in a JSON object being returned, where **address** returned is an empty string, and the **status** JSX object relays that the user must install Metamask. **Most of the functions we write will be returning JSON objects that we can use to update our state variables and UI.** Now if `window.ethereum `_is_ present, then that's when things get interesting. Using a try/catch loop, we'll try to connect to Metamask by calling [`window.ethereum.request\(\{ method: "eth\_requestAccounts" \}\);`](https://docs.metamask.io/guide/rpc-api.html#eth-requestaccounts)` `Calling this function will open up Metamask in the browser, whereby the user will be prompted to connect their wallet to your dApp.   - If the user chooses to connect, `method: "eth_requestAccounts"`  will return an array that contains all of the user's account addresses that connected to the dApp. Altogether, our `connectWallet` function will return a JSON object that contains the *first* `address` in this array \(see line 9\) and a `status` message that prompts the user to write a message to the smart contract. - If the user rejects the connection, then the JSON object will contain an empty string for the `address` returned and a `status` message that reflects that the user rejected the connection. #### Add connectWallet function to your minter.js UI component Now that we've written this `connectWallet` function, let's connect it to our **Minter.js.** component. First, we'll have to import our function into our **Minter.js** file by adding `import \{ connectWallet \} from "./utils/interact.js"`**;** to the top of the Minter.js file. Your first 11 lines of **Minter.js** should now look like this: Then, inside our `connectWalletPressed` function, we'll call our imported `connectWallet` function, like so: Notice how most of our functionality is abstracted away from our **Minter.js** component from the **interact.js** file? This is so we comply with the M-V-C paradigm! In `connectWalletPressed`, we simply make an await call to our imported `connectWallet` function, and using its response, we update our `status` and `walletAddress` variables via their state hooks. Now, let's save both files \(**Minter.js** and **interact.js**\) and test out our UI so far. Open your browser on the [http://localhost:3000/](http://localhost:3000/) page, and press the "Connect Wallet" button on the top right of the page. If you have Metamask installed, you should be prompted to connect your wallet to your dApp. Accept the invitation to connect. You should see that the wallet button now reflects that your address is connected! Yasssss 🔥 Next, try refreshing the page... this is strange. Our wallet button is prompting us to connect Metamask, even though it is already connected... Don't worry though! We easily can fix that by implementing a function called `getCurrentWalletConnected`, which will check if an address is already connected to our dApp and update our UI accordingly!   #### The getCurrentWalletConnected function In your **interact.js** file, add the following `getCurrentWalletConnected` function: This code is _very_ similar to the `connectWallet` function we just wrote earlier. The main difference is that instead of calling the method `eth_requestAccounts`, which opens Metamask for the user to connect their wallet, here we call the method `eth_accounts`, which simply returns an array containing the Metamask addresses currently connected to our dApp. To see this function in action, let's call it in the `useEffect` function of our **Minter.js** component. Like we did for `connectWallet`, we must import this function from our **interact.js** file into our **Minter.js** file like so: Now, we simply call it in our `useEffect` function: Notice, we use the response of our call to `getCurrentWalletConnected` to update our `walletAddress` and `status` state variables. Once you've added this code, try refreshing our browser window. The button should say that you're connected, and show a preview of your connected wallet's address - even after you refresh! 😅 #### Implement addWalletListener The final step in our dApp wallet setup is implementing the wallet listener so our UI updates when our wallet's state changes, such as when the user disconnects or switches accounts. In your **Minter.js** file, add a function `addWalletListener` that looks like the following: Let's quickly break down what's happening here: First, our function checks if `window.ethereum` is enabled \(i.e. Metamask is installed\). - If it's not, we simply set our `status` state variable to a JSX string that prompts the user to install Metamask. - If it is enabled, we set up the listener `window.ethereum.on("accountsChanged")` on line 3 that listens for state changes in the Metamask wallet, which include when the user connects an additional account to the dApp, switches accounts, or disconnects an account. If there is at least one account connected, the `walletAddress` state variable is updated as the first account in the `accounts` array returned by the listener. Otherwise, `walletAddress` is set as an empty string. Finally, we must call it in our `useEffect` function: And voila! We've  completed programming all of our wallet functionality! Now that our wallet is set up, let's figure out how to mint our NFT! ## Step 5: NFT metadata 101 So remember the NFT metadata we just talked about in Step 0 of this tutorial—it brings an NFT to life, allowing it to have properties, such as a digital asset, name, description, and other attributes. We're going to need to configure this metadata as a JSON object and store it, so we can pass it in as the `tokenURI` parameter when calling our smart contract's `mintNFT` function. The text in the "Link to Asset", "Name", "Description" fields will comprise the different properties of our NFT's metadata. We'll format this metadata as a JSON object, but there are a couple options for where we can store this JSON object: - We could store it on the Ethereum blockchain; however, doing so would be SUPER expensive \(we're talking upwards of hundreds of dollars\) due to the nature of Ethereum. ❌ - We could store it on a centralized server, like AWS or Firebase. But that would defeat our decentralization ethos. ❌ - We could use IPFS, a decentralized protocol and peer-to-peer network for storing and sharing data in a distributed file system. As this protocol as decentralized and free, it is our best option! ✅ To store our metadata on IPFS, we will use [Pinata](https://pinata.cloud/), a convenient IPFS API and toolkit. In the next step, we'll explain exactly how to do this! ## Step 6: use Pinata to pin your metadata to IPFS If you don't have a Pinata account, sign up for a free account [here](https://app.pinata.cloud/register) and complete the steps to verify your email and account. #### Create your Pinata API key Navigate to the [https://app.pinata.cloud/developers/api-keys](https://app.pinata.cloud/developers/api-keys) page, then select the "New Key" button at the top, set the Admin widget as enabled, and name your key. You'll then be shown a popup with your API info. Make sure to put this somewhere safe. Now that our key is set up, let's add it to our project so we can use it. #### Create a .env file We can safely store our Pinata key and secret in an environment file. Let's install the [dotenv package](https://www.npmjs.com/package/dotenv) in your project directory. Open up a new tab in your terminal \(separate from the one running local host\) and make sure you are in the **minter-starter-files** folder, then run the following command in your terminal: Next, create a **.env** file in the root directory of your **minter-starter-files** by entering the following on your command line: This will pop open your **.env** file in vim \(a text editor\). To save it hit "esc" \+ ":" \+ "q" on your keyboard in that order. Next, in VSCode, navigate to your .env file and add your Pinata API key and API secret to it, like so: Save the file, and then you're ready to start writing the function to upload your JSON metadata to IPFS! #### Implement pinJSONToIPFS Fortunately for us, Pinata has an [API specifically for uploading JSON data to IPFS](https://docs.pinata.cloud#PinJSONToIPFS) and a convenient JavaScript with axios example that we can use, with some slight modifications. In your utils folder, let's create another file called pinata.js  and then import our Pinata secret and key from the .env file like so: Next, paste the additional code from below into your pinata.js file. Don't worry, we'll break down what everything means! So what does this code do exactly? First, it imports [axios](https://www.npmjs.com/package/axios), a promise based HTTP client for the browser and node.js, which we will use to make a request to Pinata. Then we have our asynchronous function `pinJSONToIPFS`, which takes a `JSONBody` as its input and the Pinata api key and secret in its header, all to make a POST request to their `pinJSONToIPFS` API. - If this POST request is successful, then our function returns an JSON object with the `success`boolean as true and the`pinataUrl` where our metadata was pinned. We will use this `pinataUrl` returned as the `tokenURI` input to our smart contract's mint function. - If this post request fails, then our function returns an JSON object with the `success`boolean as false and a`message` string that relays our error. As with our `connectWallet` function return types, we're returning JSON objects so we can use  their parameters to update our state variables and UI. ## Step 7: load your smart contract Now that we have a way to upload our NFT metadata to IPFS via our pinJSONToIPFS function, we're going to need a way to load an instance of our smart contract so we can call its mintNFT function. As we mentioned earlier, in this tutorial we will be using [this existing NFT smart contract](https://sepolia.etherscan.io/address/0x4C4a07F737Bf57F6632B6CAB089B78f62385aCaE); however, if you'd like to learn how we made it, or make one yourself, we highly recommend you check out our other tutorial, "[How to Create an NFT](https://www.alchemy.com/blog/how-to-create-an-nft)." #### The contract ABI If you examined our files closely, you'll have noticed that in our **src** directory, there's a **contract-abi.json** file. An ABI is necessary for specifying which function a contract will invoke as well ensuring that the function will return data in the format you're expecting. We're also going to need an Alchemy API key and the Alchemy Web3 API to connect to the Ethereum blockchain and load our smart contract. #### Create your Alchemy API key If you don't already have an Alchemy account, [sign up for free here](https://alchemy.com/?r=affiliate:d8895272-924f-412b-b63c-60124deb9357). Once you’ve created an Alchemy account, you can generate an API key by creating an app. This will allow us to make requests to the Ropsten test network. Navigate to the “Create App” page in your Alchemy Dashboard by hovering over “Apps” in the nav bar and clicking “Create App” Name your app \(we chose "My First NFT!"\), offer a short description, select “Staging” for the Environment \(used for your app bookkeeping\), and choose “Ropsten” for your network. Click “Create app” and that’s it! Your app should appear in the table below. Awesome so now that we've created our HTTP Alchemy API URL, copy it to your clipboard like so… …and then let's add it to our **.env** file. Altogether, your .env file should look like this: Now that we have our contract ABI and our Alchemy API key, we're ready to load our smart contract using[ Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3). #### Set up your Alchemy Web3 endpoint and contract First, if you don't have it already, you'll need to install [Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) by navigating to the home directory: **nft-minter-tutorial** in the terminal: Next let's go back to our **interact.js** file. At the top of the file, add the following code to import your Alchemy key from your .env file and set up your Alchemy Web3 endpoint: [Alchemy Web3](https://github.com/alchemyplatform/alchemy-web3) is a wrapper around [Web3.js](https://web3js.readthedocs.io/en/v1.2.9/), providing enhanced API methods and other crucial benefits to make your life as a web3 developer easier. It is designed to require minimal configuration so you can start using it in your app right away! Next, let's add our contract ABI and contract address to our file. Once we have both of those, we're ready to start coding our mint function! ## Step 8: implement the mintNFT function Inside your **interact.js** file, let's define our function, **mintNFT**, which eponymously will mint our NFT. Because we will be making numerous asynchronous calls \(to Pinata to pin our metadata to IPFS, Alchemy Web3 to load our smart contract, and Metamask to sign our transactions\), our function will also be asynchronous. The three inputs to our function will be the `url` of our digital asset, `name`, and `description`. Add the following function signature below the `connectWallet` function: #### Input error handling Naturally, it makes sense to have some sort of input error handling at the start of the function, so we exit this function if our input parameters aren't correct. Inside our function, let's add the following code: Essentially, if any of the input parameters are an empty string, then we return a JSON object where the `success` boolean is false, and the `status` string relays that all fields in our UI must be complete. #### Upload the metadata to IPFS Once we know our metadata is formatted properly, the next step is to wrap it into a JSON object and upload it to IPFS via the `pinJSONToIPFS` we wrote! To do so, we first we need to import the `pinJSONToIPFS` function into our **interact.js** file. At the very top of the **interact.js**, let's add: Recall, that `pinJSONToIPFS`takes in a JSON body. So before we make a call to it, we're going to need to format our`url`, `name`, and `description` parameters into a JSON object. Let's update our code to create a JSON object called `metadata` and then make a call to `pinJSONToIPFS` with this `metadata` parameter: Notice, we store the response of our call to `pinJSONToIPFS(metadata)` in the `pinataResponse` object. Then, we parse this object for any errors. If there's an error, we return a JSON object where the `success` boolean is false and our `status` string relays that our call failed. Otherwise, we extract the `pinataURL` from the `pinataResponse` and store it as our `tokenURIvariable`. Now it's time to load our smart contract using the Alchemy Web3 API that we initialized at the top of our file. Add the following line of code to the bottom of the `mintNFT` function to set the contract at the `window.contract` global variable: The last thing to add in our `mintNFT` function is our Ethereum transaction: If you're already familiar with Ethereum transactions, you'll notice that the structure is pretty similar to what you've seen. First, we set up our transactions parameters. - `to` specifies the the recipient address \(our smart contract\) - `from` specifies the signer of the transaction \(the user's connected address to Metamask: `window.ethereum.selectedAddress``\)` - `data` contains the call to our smart contract `mintNFT` method, which receives our `tokenURI` and the user's wallet address, `window.ethereum.selectedAddress`, as inputs Then, we make an await call, `window.ethereum.request`, where we ask Metamask to sign the transaction. Notice, in this request, we're specifying our eth method \(`eth\_SentTransaction`\) and passing in our `transactionParameters`. At this point, Metamask will open up in the browser, and prompt the user to sign or reject the transaction. - If the transaction is successful, the function will return a JSON object where the boolean `success` is set to true and the `status` string prompts the user to check out Etherscan for more information about their transaction. - If the transaction fails, the function will return a JSON object where the `success` boolean is set to false, and the `status` string relays the error message. Altogether, our `mintNFT` function should look like this: That's one giant function! Now, we just need to connect our `mintNFT` function to our **Minter.js** component... ## Step 9: connect mintNFT to our minter.js frontend Open up your **Minter.js** file and update the `import \{ connectWallet \} from "./utils/interact.js"`; line at the top to be: Finally, implement the `onMintPressed` function to make await call to your imported `mintNFT` function and update the `status` state variable to reflect whether our transaction succeeded or failed: ## Step 10: deploy your NFT to a live website ‌Ready to take your project live for users to interact with? Check out this[ tutorial](https://app.gitbook.com/@alchemyapi/s/alchemy/tutorials/nft-minter/how-do-i-deploy-nfts-online) for deploying your Minter to a live website: ## Step 11: take the blockchain world by storm 🚀 JK, you made it to the end of the tutorial! To recap, by building an NFT minter, you successfully learned how to: - Connect to Metamask via your frontend project - Call smart contract methods from your frontend - Sign transactions using Metamask Presumably, you'd like to be able to show off the NFTs minted via your dApp in your wallet — so be sure to check out our quick tutorial [How to View Your NFT in Your Wallet](/blog/how-to-view-your-nft-in-your-mobile-wallet)! And, as always, if you have any questions, we're here to help in the [Alchemy Discord](https://discord.gg/gWuC7zB). We can't wait to see how you apply the concepts from this tutorial to your future projects!  🧙‍♂️ --- # Official Public Launch: Alchemy Is Now Available to Public. URL: https://www.alchemy.com/blog/official-public-launch-alchemy-now-available-for-all-blockchain-developers.md Today we are thrilled to announce that Alchemy, already the world’s leading blockchain developer platform with 70% of top Ethereum apps, has ended its closed beta and is now available for all developers to use. Launching a self-serve platform for all developers has been a major goal since founding Alchemy, and now we’re one step closer to our mission of supercharging the next computing paradigm. [Get started for free](http://alchemy.com/) Alchemy currently provides the infrastructure and developer tools that support over $7.8 Billion dollars worth of on-chain transactions annually, 70% of top Ethereum applications, and roughly 60% of the total assets locked in DeFi, currently $2.8B of $4.7B. Additionally, Alchemy powers 4 million users and over 30 billion queries per year. Now, Alchemy is making its entire platform available for anyone building on Ethereum with developer-friendly pricing that starts free and grows with usage. Huge shifts in technology like personal computing and cloud services are always quietly powered by giant developer-centric companies such as Microsoft and AWS. Now blockchain and cryptocurrency represent the next major shift in Web 3.0 with growing popularity for decentralized systems and finance far beyond Bitcoin. As more innovators, entrepreneurs, and investors flood into the space, all the world-class companies and killer apps will require the same thing: highly reliable, highly scalable infrastructure and developer tools. Despite being in closed beta since our founding, Alchemy is already the backbone of Ethereum with significant traction and market share. Customers include Maker, Aave, Bacor, 0x, Kyber, dYdX, [Augur](https://www.alchemy.com/dapps/augur), Circle, MyEtherWallet, Dharma, Shapeshift, Dapper Labs \(Cryptokitties\), and Splunk. However the blockchain industry develops, from tokens to DeFi to enterprise solutions, Alchemy enables innovation and scale in all these areas, and now that our self-serve platform is officially available to the public, many more developers may build and accelerate this industry.  Best of all, the Alchemy developer platform is fast and simple to set up. No code, no configuration -- it works out of the box. Plus, our legendary support and passionate community help guide developers every step of the way from launch to scale. _Roham Gharegozlou, Founder and CEO, Dapper Labs said, “Alchemy’s developer platform lets our team focus on shipping code, not managing infrastructure. By working with Alchemy, we can move faster and serve our customers better because we can rely on enterprise-grade tools and support.”_ The Alchemy blockchain developer platform consists of four flagship products:[**‍**](https://alchemy.com/supernode) [**Alchemy Supernode**](https://alchemy.com/supernode) - The industry leading Ethereum API enables the reliability, scalability and speed needed to run world-class applications on the blockchain.[**‍**](https://alchemy.com/build) [**Alchemy Build**](https://alchemy.com/build) - The most powerful developer tools for prototyping, debugging and shipping products faster with less errors. [**‍**](https://alchemy.com/monitor) [**Alchemy Monitor**](https://alchemy.com/monitor) - The all-in-one dashboard for blockchain developers to track app health, performance and user behavior. [**‍**](https://www.alchemy.com/webhooks/) [**Alchemy Notify**](https://www.alchemy.com/webhooks/) - The real-time push notification engine for improving user experience with engaging alerts for all critical blockchain transactions and events. At Alchemy, our mission is to supercharge the next generation of internet companies built on blockchain. After supporting the top 70% of Ethereum apps while still in closed beta, we believe the public launch of our self-serve platform represents a huge leap forward for the industry as now anyone building on Ethereum can get started with Alchemy for free starting today. We can’t wait to see what magic developers build on blockchain next thanks to Alchemy. [Get started for free](http://alchemy.com/) --- *Alchemy is the world’s most powerful blockchain developer platform, relied upon by millions of users and 70% of the top blockchain apps including Maker, 0x, MyEtherWallet, Aave, dYdX, Splunk and Kyber. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Chairman of Google, Charles Schwab, and globally recognized founders and executives, Alchemy powers billions of dollars of transactions for top companies around the world and has been featured in [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup) and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, distributed systems, and artificial intelligence with leadership roles at Google, Microsoft, Facebook, Stanford, and MIT. Our mission is to supercharge the next tectonic shift in technology with the world’s most powerful blockchain developer platform.* --- # Rewarding Open-Source Documentation Contributors URL: https://www.alchemy.com/blog/open-sourcing-docs.md We're thrilled to officially launch [open source developer documentation](https://github.com/alchemyplatform/docs) for the community! Our goal is to enable developers around the world to have the best resources to freely learn blockchain development and bring this technology to the world. ## Documentation enables faster, better development  From the very beginning we've invested a lot of effort towards creating high quality, beginner-friendly, informative documentation. We've been thrilled and humbled by the response from the community. ‍We wrote all of our tutorials from scratch, listened to users and built guides for complex concepts like [eth_getLogs](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-get-logs) and EIP-1559, and made sure the docs contained the most up to date information amidst the ever-changing web3 ecosystem. Now, we’ve decided to allow contributions from the people we built it for in the first place, you.  ## Why contribute? Web3 was built to make traditionally inaccessible industries, knowledge, and power, widely available to everyone - no matter what. However, this bold mission comes at a cost of complexity. It can be extremely challenging to break into the web3 space as a developer due to the intricate nature of blockchain technology. This is where documentation comes in. We need resources, guides, and tutorials from the beginner to the expert level, that teaches people how to build things. No one is more qualified to do this than the builders themselves.  Almost everyone who has built in web3 has, at one point or another, felt frustrated with the lack of resources or explanations when developing, ranging from deploying your first smart contract to creating complex defi tools. However, those same developers oftentimes persevere and figure out how to build it anyways. If this is you, come write a tutorial about it! Odds are, hundreds of other developers felt the same way and gave up - you have an extremely unique opportunity to massively impact their experience, and get rewarded for doing so. Yes, we are giving out rewards for people who contribute! These include but are not limited to: - Free Alchemy credits to help fuel your [apps](https://www.alchemy.com/dapps/top/defi-dapps) - Exclusive Beta access to new Alchemy features - VIP support for your Alchemy account - Free Alchemy Swag - Twitter shout out from the Alchemy account *Note: The type of award given will be determined on a case-by-case basis* ## Our first contributor... We were thinking about open sourcing our docs for quite a bit, but had not actually moved forward until a recent conversation with a newer [Alchemy](https://alchemy.com/?r=affiliate:6f8f2b95-13c8-4b36-b660-e9da706de0a9) user, [Clay Shentrup](https://github.com/ClayShentrup), co-founder of [IPIQ](https://www.ipiq.io/). Clay was continuously becoming frustrated with the confusion of how to integrate Ethers.js, an increasingly popular alternative to [web3.js](https://www.alchemy.com/dapps/web3-js), into his NFT project, but there were no instructions or guides for doing this. Like most other concepts in web3, Clay found himself having to gather bits of information from across the web and stitch them together to figure out how to do this. So we reached out to Clay to try and help figure out what was going on, but after a few DM exchanges, Clay ended up figuring it out on his own! After tons of hours of debugging and piecing things together, he was ecstatic!  This whole experience had us thinking - there are probably many other developers who wanted to do the same exact thing, but gave up somewhere along the way. Clay, a beginner web3 developer, would be the perfect person to teach other beginner web3 developers! So we asked him: And he was in! Next thing you know, the initiative for open source docs was kicked off, and Clay became our first contributor. You can find his tutorial on How to Mint an NFT with Ethers.js by visiting our [documentation](https://www.alchemy.com/docs/wallets/resources/contact-us#contributing) or GitHub repo.  ## How you can contribute If you’re excited about teaching others cool web3 hacks that you’ve learned or writing a tutorial on a specific topic - contribute to the docs! You can find thorough instructions for how to do so on our [documentation](https://www.alchemy.com/docs) and in the [Alchemy docs Github](https://www.alchemy.com/docs).  Reach out to us on [Twitter](https://x.com/Alchemy) or [Discord](https://alchemy.com/discord) if you have any feedback, questions, or ideas! --- # Open Sourcing Rundler 🦀 URL: https://www.alchemy.com/blog/open-sourcing-rundler.md Today we are excited to [open source Rundler](https://github.com/alchemyplatform/rundler) \(**R**ust B**undler**\), an ERC-4337 bundler implementation by Alchemy, written in Rust. With Rundler, we strive to accelerate the smart account transition to achieve the next level of user experience on EVM chains. Bundlers are a vital piece of the [infrastructure to power Account Abstraction](https://www.alchemy.com/account-abstraction). We are open sourcing Rundler to foster a decentralized and robust network capable of supporting this transition. ## What is rundler? Rundler is a high-performance, high-reliability, modular, ERC-4337 bundler. Too many words? Lets break that down 👇 ### ERC-4337 [ERC-4337](https://eips.ethereum.org/EIPS/eip-4337) is a standard to deliver Account Abstraction on all EVM chains with zero changes to the core protocol. It accomplishes this by relying on higher-level, off-chain [infrastructure](https://www.alchemy.com/account-abstraction) like Bundlers. Basically, ERC-4337 lets developers get all the benefits of Account Abstraction, without the risks of core protocol development. To [learn how ERC-4337 works](https://www.alchemy.com/overviews/what-is-account-abstraction), check out this 4-part series, "You Could Have Invented Account Abstraction," by David Philipson, an engineer on Alchemy’s AA team. To start building with ERC-4337 accounts, explore our [enterprise-grade Embedded Accounts](/smart-wallets). ### Bundler The core off-chain piece of the higher-layer infrastructure noted above is [the Bundler](https://www.alchemy.com/overviews/what-is-a-bundler). A Bundler’s job is to take transaction-like objects \([User Operations](https://www.alchemy.com/overviews/user-operations)\) submitted by users, group them into a single EVM transaction, and land that transaction onchain. In return it takes a small fee from each user. Whereas EOA wallets submit transactions to nodes, all ERC-4337 smart accounts submit UserOps to a Bundler. ## What are rundler’s goals? We built Rundler to help the ecosystem onboard the next 1B users into web3. We believe Account Abstraction and ERC-4337 are the best path to make crypto accessible to a mainstream audience. In order to deliver that mainstream experience, we need highly reliable infrastructure with best-in-class developer experience, modular design, and support for every EVM chain. ### 1. ERC-4337 ecosystem growth As we’ve built Rundler we’ve been deeply involved with the evolution of the ERC-4337 standard, and we intend to continue to contribute here. We’re [learning](https://www.alchemy.com/blog/erc-4337-gas-estimation) a ton from our experience running Rundler in production, and we continue to share those experiences with the 4337 community to help improve. ### 2. Best-in-class performance and reliability Performance and reliability are paramount to onboard the types of applications that will bring a billion users onchain. This belief is at the core of Rundler and Alchemy’s associated APIs, and we strive to continue to push the limit. ### 3. Extensibility and chain support Every EVM chain deserves best-in-class infrastructure to support Account Abstraction. Protocols handle the hairy details differently \(i.e. gas usage, precompiles, transaction supply-chain, etc.\). With Rundler we hope that its logic can be extended to support the majority, if not all, of these use cases. ### 4. Modularity We’re not stopping with Rundler. We strive for the different components of the Rundler library to be extended and used to power new 4337 and alternative-mempool infrastructure. ## Advantages of rundler’s architecture At Alchemy, we believe the transition to smart accounts is required to bring the benefits of Ethereum’s technology to everyone. Rundler is a crucial step towards achieving that vision. ### 1. High-performance Rundler is built to achieve the levels of performance required by the most demanding workloads. We chose Rust as our programming language to help achieve this via its concurrency primitives and zero-cost abstractions. We want Rundler to be highly concurrent, horizontally scalable, and easily extendable to meet the scalability demands of next-generation applications. We [recently measured Rundler](https://x.com/ProbablyNoam/status/1702847970289569974?s=20) as landing 7.5M gas per second on Polygon Mainnet \(roughly 55 TPS in that workload\), and with this architecture, we can land higher volumes. ### 2. High-reliability Rundler’s architecture is designed to meet the [high-reliability service](https://www.alchemy.com/blog/reliability) users expect. By leveraging the learnings of years of running blockchain infrastructure, we built Rundler as an extension of that ethos. Rundler shines in modern cloud-like settings where each component can run and scale independently and where observability and telemetry are a must. ### 3. Modular Rundler is built in a modular fashion, where each component is modeled as a library \(or crate in Rust\) and is able to run independently of other components. As our interfaces stabilize, we hope to use these components to power the next iteration of write-path infrastructure. ## Powering the next billion users We’ve been running Rundler in production since April, where it is being used to help power some of the most promising applications in the space including CyberConnect CyberAccounts and Circle Programmable Wallets. **Here are some numbers from our first few months:** - 402K\+ UserOps landed successfully on chain - 71% of UserOps landed in a bundle with more than 1 UO, 4.7x higher than other known bundler implementations - 430% quarterly growth in Unique Active Developer teams sending UserOps ## What is the status of rundler today? Rundler is used to power our [Bundler API endpoints](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart). However, it is under active development by a strong team of developers at Alchemy. We will continue to add features to enable our users to leverage the power of Account Abstraction to its fullest extent. Along with having full ERC-4337 spec compatibility and [v0.6 Entry Point contract support](https://github.com/eth-infinitism/account-abstraction/tree/v0.6.0), Rundler has a number of cool features worth highlighting: ### Integrated or distributed deployments Rundler can be run as a full node in a single process, where each component communicates via in-memory message passing. Alternatively, these components can also be run in independent processes where they communicate via gRPC facilitating horizontal scalability and redundant deployments. ### Accurate gas estimation We’ve pioneered novel ways of [estimating the different gas fields of an ERC-4337 user operation](https://www.alchemy.com/blog/erc-4337-gas-estimation) leveraging some clever smart contract trickery and binary search. ### Reorg handling Our mempool implementation is chain [reorganization](https://www.alchemy.com/overviews/what-is-a-reorg) resistant. We track the progress of the chain, detect when the chain has reorg-ed, and return any User Operations that may have been dropped from the chain to the mempool so that they become eligible for inclusion once again. ### Large bundle building and transaction reliability We’ve built our bundle building component to achieve network-level gas throughput. That is, we strive to completely saturate any network with bundles that approach the block’s gas limit and that land in every block. ### Alternative mempools We’ve been [experimenting](https://hackmd.io/@dancoombs/BJYRz3h8n) with [ERC-4337 alternative mempools](https://eips.ethereum.org/EIPS/eip-4337#alternative-mempools) and have been helping push this conversation forward. Today, these alt-mempools open the bundler up to certain mempool attacks, but we hope to use this research to implement a secure alt-mempool in the future. ## What is on rundler’s roadmap? Now that we’re here, whats next? On our immediate roadmap we are starting to build out P2P and safe alternative mempools, support for Entry Point v0.7, signature aggregation, and block builder integrations. ### P2p mempool The promised ERC-4337 public [P2P mempool](https://github.com/eth-infinitism/bundler-spec/blob/main/p2p-specs/p2p-interface.md) is coming this fall and we are currently building out support. ### Safe alternative mempools As mentioned above, we are looking to iterate on our alternative mempool approach to build a bundler-safe implementation. ### Entry point v0.7 and multiple version support The ERC-4337 team is hard at work on the next iteration of the Entry Point contract, v0.7. Once released we will strive for quick support while maintaining support for the v0.6 contract. ### Signature aggregation [Signature aggregation](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators) is one of the most touted features of ERC-4337. However, implementing it in a way that allows bundlers to maintain profitability has proven challenging. We are taking a closer look here and hope to power the first practical signature aggregators. ### Block builder integration In our attempt to land high rates of User Operations onchain we’ve encountered issues that will only be exacerbated by the introduction of the P2P mempool \(more on this another time\). These problems are greatly reduced if/when block builders integrate bundling directly into their process. ## How to contribute to rundler We hope that by open sourcing Rundler we can continue to spur innovation in the space. Users can explore the logic that is powering their User Operations and contributors can add features and fix bugs to improve and harden the Rundler. If you’re looking to contribute, explore our contribution guide and reach out! - [Contribution Guide](https://github.com/alchemyplatform/rundler/blob/main/CONTRIBUTING.md) - [Open Issues](https://github.com/alchemyplatform/rundler/issues) - [Development Help](https://github.com/alchemyplatform/rundler#help) ## Acknowledgements Building out the ERC-4337 ecosystem is a team effort, and we wouldn’t be able to achieve what we have without the leadership, guidance, and support from multiple teams across the space. ### ERC-4337 team The [ERC-4337 team](https://github.com/eth-infinitism/account-abstraction) has pioneered the standard, and has answered countless questions during our development. They developed the [bundler reference implementation](https://github.com/eth-infinitism/bundler) and [spec tests](https://github.com/eth-infinitism/bundler-spec-tests) that were invaluable during our development process. We are excited to continue to work with this team to push ERC-4337 ahead. ### Reth team Shout-out to the [Reth team](https://github.com/paradigmxyz/reth), from which we've taken inspiration for many of our practices. They are pushing the Ethereum Rust ecosystem forward in an open way, and we thank them for their continued contributions. **See you in the \(alternative\) mempool.** 🦀 --- # OpenEthereum, Closing Shop URL: https://www.alchemy.com/blog/openethereum-closing-shop.md With OpenEthereum deprecated and Erigon spinning up as a successor, we’re here to make sure the transition is as smooth as possible!  ## Tl;dr - OpenEthereum \(formerly Parity Ethereum\) is [stopping development on their client](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) after the London hardfork, estimated August 4, 2021 - If all goes well, OpenEthereum’s client will remain operational until the next Eth hardfork \([Shanghai ](https://github.com/ethereum/pm/issues/267)- expected October 2020\) - The team will shift focus to the [Erigon client](https://github.com/ledgerwatch/erigon) \(formerly turbogeth\)  - Alchemy is hard at work doing everything possible to keep OpenEthereum specific functionality available to all teams during and after the fork - Alchemy will continue to run OpenEthereum nodes for serving Kovan, \_trace\_\_ and \_parity\_\_ endpoints as long as possible - In parallel, we are spinning up support for Erigon nodes, and working with their team reach feature parity on Kovan, \_trace\_\_ and \_parity\_\_ functionality using the new client ## Summary At the end of 2019, Parity Technologies [transitioned development of the Parity Ethereum client ](https://www.parity.io/blog/parity-ethereum-openethereum-dao/)from an in-house project to a new organization called the OpenEthereum Dao. Since then, developers at [Gnosis](https://gnosis.io/) and elsewhere have heroically kept the OpenEthereum client up-to-date, the Kovan network alive, and \_trace\_\_ API endpoints available.  Recently though, OpenEthereum [announced that their client will be deprecated](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) and succeeded by a new one built in collaboration with the team at Erigon \(formerly TurboGeth\). In the long term this should mean faster, more reliable, better overall experience for former OpenEthereum users. In the short-term Alchemy is doing everything possible on behalf of our users, working with both the OpenEthereum and Erigon teams, to make sure that service of OpenEthereum-specific functionality remains uninterrupted.  We’ll go over everything we’re doing to take care of the three major OpenEthereum functions, but feel free to skip to the section that’s relevant to you: trace\_ endpoints or the Kovan testnet.  ## The fork plan ### Trace endpoints Currently, OpenEthereum is the only Ethereum client that supports the \_trace\_\_ methods that many teams use. Since OpenEthereum is supporting London on Mainnet, we expect these methods will continue to be served from OpenEthereum nodes, with no changes necessary. OpenEthereum, however, likely won’t be making any further changes. This means that when London goes live on mainnet, if there are consensus issues that require updates OpenEthereum nodes and their trace functionality may break. While we expect this is a remote possibility, we will be doing everything possible on behalf of our users to keep trace methods accessible. The Erigon team is working hard to add support for all the relevant trace endpoints and aims to have a working replacement for OpenEthereum’s versions before London is ready. Alchemy is helping give feedback and iterate on the \_trace\_\_ namespace as quickly as possible to make sure that they can be drop-in \(or near drop-in\) replacement for OpenEthereum.  At the same time, we will be spinning up production support for Erigon so that we can swap over trace functionality to their nodes in the event a failover from OpenEthereum is necessary because of London-related issues. ### Kovan While OpenEthereum has a new client version prepared for London on mainnet, there will not be a new client released for Kovan. This means that Kovan will continue to run on Berlin-era OpenEthereum nodes, and will not support new features in London, [like EIP-1559](https://www.alchemy.com/overviews/what-is-eip-1559). That said, as far as most products are concerned London changes should be backwards compatible, and Kovan will remain usable. That said, anyone using Kovan should make sure that they can still rely on the testnet as a staging environment \(and potentially consider migrating to Rinkeby or Goerli\). Over time, Erigon will be building support for Kovan, and ushering the testnet into the London Era, though there is no specific date for this yet. ### Parity endpoints At the moment, Alchemy only supports one method in the \_parity\_\_ namespace: parity_getBlockReceipts. That method will be replaced by the functionally equivalent eth_getBlockReceipts.  When we migrate to Erigon, there will be no need to make any changes \(we will treat both parity_getBlockReceipts and eth_getBlockReceipts as the same method\). However, there are certain fields that will be missing - namely the Parity specific fields, [transactionLogIndex](https://github.com/ethers-io/ethers.js/issues/1721) \+ \_type in the _logs_ array. These fields are not critical and not present when you call eth_getTransactionReceipt on [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one). ## Conclusion It is our greatest focus for the weeks leading up to London to make sure that our users have the  smoothest possible transition from Berlin. If you or your team has any questions at all about the transition away from OpenEthereum, or London in general, don’t hesitate to reach out directly to me at [mike@alchemy.com](mailto:mike@alchemy.com)! --- # Optimism Goerli Support Ending Mar 7 - Migrate to Sepolia URL: https://www.alchemy.com/blog/optimism-goerli-testnet-deprecation.md **Optimism has informed us that they will deprecate Optimism Goerli on March 7.** On the same day, we will turn off our Goerli nodes for [Optimism](/op-mainnet). This means if you try to send requests to these nodes, your requests will fail with a DNS resolution error. ## Required actions for developers **To ensure you’re able to continue testing seamlessly, you will need to migrate to Optimism Sepolia before March 7.** Optimism Sepolia is the sustainable path forward for web3 developers and we encourage devs to use it for any testing and development needs. [Optimism Sepolia offers many benefits](/overviews/goerli-vs-sepolia) over Goerli, such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. ## How to migrate to Optimism Sepolia Follow these 5 steps to migrate from Goerli to the Sepolia testnet on Optimism: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Optimism Sepolia network. 1. Get free Optimism Sepolia tokens from Alchemy's public [Optimism Sepolia Faucet](https://www.alchemy.com/faucets/optimism-sepolia) which drips up to 0.5 SepoliaETH per day. 1. Change your `API\_URL` to your Optimism Sepolia RPC URL `https://opt-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Optimism Sepolia. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ## A note on other chains We do _not yet_ have a date where we will end support for Ethereum, Arbitrum, zkEvm and [Starknet](https://www.alchemy.com/starknet) Goerli nodes. We will keep you informed as we establish timelines for these chains. --- # The Most Affordable Web3 Infrastructure Pricing URL: https://www.alchemy.com/blog/pay-as-you-go-pricing.md You asked, we listened: starting February 1st, 2025, we are introducing the lowest pricing for web3 infrastructure on the market. This new plan has lower rates, no minimum fees and no commitments – just pay for what you actually use.  This new, flexible pricing plan comes on the heels of our updated [Node API](https://bit.ly/3Cut0MA) and [Data API](https://bit.ly/4heAyCo) prices, which are now 50% cheaper on average. There’s never been a better time to start building onchain. ### No minimums = unlimited potential Our goal is to accelerate development onchain by offering the most affordable, reliable and scalable web3 infrastructure.  We firmly believe that costs shouldn’t be a barrier to building innovative apps onchain. We’ve worked hard to optimize our infrastructure to reduce our costs, and we’re excited to pass on those savings to you. ### Introducing pay as you go plan Launching February 1st, 2025, our new pricing plan is simple: No minimum fees. No commitments. You only pay for what you use, when you use it. Cancel at any time. - Build more, save more: volume-based discounts as your app scales - **High throughput:** Scale your app with 99.99% reliability and proven scalability - Complete platform: Access to Node API, Account Kit \([Embedded Wallets](https://bit.ly/42wen5Z),[ Account Abstraction](https://bit.ly/4geO7jW)\), Data APIs,[ ](https://bit.ly/4glb315)and more - **Multi-chain distribution:** Support for 60\+ chains ### Free plan: 3X more compute We offer** the most generous free plan** in the industry. Our free plan gives you **3x the capacity** to build for free compared to competitors. You get massive computing power and throughput to start building right away. When you're ready to scale beyond 30M Compute Units per month, Pay As You Go provides a seamless path forward with competitive rates that get cheaper when you build more.  Check out [our pricing page](https://bit.ly/3PTNQbk) to see everything included in the free plan and get started. ### Enterprise: your strategic infrastructure partner The biggest apps trust us during their most critical moments, from helping Slingshot with their new app launch to keeping [Polymarket](https://www.alchemy.com/dapps/polymarket)'s high-stakes election trading running with zero downtime. They choose us for our 99.99% reliability, scalability, and performance, and stay because we're more than infrastructure – we’re true partners as you scale. **Custom Enterprise Plan - You're Our VIP ⭐** - **Custom rates**: Predictable costs aligned with your unique usage patterns and growth trajectory, ensuring maximum efficiency at scale - **Custom throughput**: No fixed throughput caps - your infrastructure capacity is tailored to your needs, so you never hit unexpected limits during high-traffic moments - **Dedicated VIP support**: Direct line to our engineering team within 1 hour guaranteed - usually within 5 minutes - through a dedicated communication channel that keeps your [apps](https://www.alchemy.com/dapps/top/defi-dapps) running smoothly 24/7 - Our team becomes your team - from setting up dedicated war rooms during critical moments to actively contributing code for successful launches... we're a true extension of your engineering organization. ### Are you a scale or growth plan user before feb 1, 2025? You will be automatically transitioned to the Pay As You Go plan on February 1st, 2025. Keep building as usual - your costs should go down if you maintain similar usage patterns. Check out this [FAQ](https://bit.ly/4gkkFc4) to understand your new plan. ### Ready to build something amazing? With Pay As You Go, you get premium onchain infrastructure at exceptional prices, with the flexibility to scale as you grow. Check out [our pricing page,](https://bit.ly/3PTNQbk) and start building! We're excited to continue this journey together, and we can't wait to see what you'll build next. --- # Pentonium Partners with Alchemy URL: https://www.alchemy.com/blog/pentonium-x-alchemy.md Decentralized freelancing platform Pentonium has selected and implemented Alchemy for the development of its DAO-structured, peer-to-peer \(P2P\) work community. Using the power of blockchain technology, Pentonium is creating an online freelancer community that is autonomous and impartial while remaining highly resistant to data manipulation. As is often the case in the current centralized freelancer model, the client is favored over the worker due to a funding structure that takes a commission from the client. Regardless of who is in the wrong, the platform stands to lose more if the client chooses to leave rather than if the freelancer does. For this reason, if a work dispute arises, the platform is likely to be biased toward a lucrative client over an individual freelancer. As a decentralized app \(dApp\) with entirely transparent governance, Pentonium can eliminate instances of bias, achieving straightforward and equitable dispute resolution in an autonomous fashion. “Only a platform with fair and transparent dispute resolution can attract highly skilled service providers, which centralised platforms like Fiverr and [freelancers.com](http://freelancers.com) lacks. We are looking forward to resolving these issues and leverage Alchemy’s best-in-class platform to hit our user demand goals." - Rupak Kumar of Pentonium Pentonium further solidifies its commitment to customer safety and anonymity through decentralized identity and access management that allows password-less authentication and verification. While a few blockchain-based competitors have already tried to enter the freelancer space, Pentonium goes one step further to provide P2P chat services, Decentralized Identifier \(DID\) authentication, and Private Jobs. With instant payments, no registration, and no risk of account manipulation, you get the full power of a truly fair, anonymous, peer-to-peer freelancing platform. ## How Alchemy is helping As the world's most powerful blockchain development platform and one of the most reliable node providers available, Alchemy was the obvious choice for Pentonium to facilitate the continued growth of its platform. With over 70% of top Ethereum applications already powered by Alchemy, its world-renowned reputation and hands-on support are famous within the blockchain community. "Alchemy is excited to partner with Pentonium and help them achieve their goals of building a truly decentralized and autonomous freelancer network. Projects such as this help to exhibit the true power of blockchain and the value it can provide to the freelancer industry that requires a high degree of fairness and autonomy." - Elan Halpern, Co-creator of Alchemy Amplify. Beyond node support for its dApp, Pentonium will also use Alchemy products to provide its customers with notifications regarding order status, project acceptance, milestone delivery, and payments. In time, Pentonium hopes to grow beyond simply a freelancer platform to a service provider upon which users can build their own employee portals; Alchemy can help them achieve this. Pentonium Cofounder and Product Manager Rupak Kumar envisions the project eventually evolving into a single point of contact for freelancers and clients alike, encompassing a wide range of services that support the independent employment and job listing community. ## About pentonium Founded by a strong team of experts with years of experience in product design, security analysis, and software development, Pentonium is dedicated to its mission of building a powerful, decentralized freelancer environment. With job listings as the key feature, Pentonium offers several additional services designed to improve the freelancing experience, including a dispute resolution community, escrow service for instant payments, and a Skynet-powered P2P chat server. ## About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:bfdd6542-de50-4043-84fa-624240f0a7c2) provides the leading blockchain development platform that powers millions of users for 99% of countries worldwide. Our mission is to equip developers with the fundamental building blocks they need to create the future of technology and lower the barriers to entry to allow them to build blockchain applications more easily. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions.  Interested in building your own blockchain app? [Sign up with Alchemy for free](https://alchemy.com/?r=affiliate:bfdd6542-de50-4043-84fa-624240f0a7c2), check out our [documentation](https://www.alchemy.com/docs), and for the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Pharos Support Is Live on Alchemy URL: https://www.alchemy.com/blog/pharos-support-is-live-on-alchemy.md Pharos support is now live on Alchemy. [Pharos](https://www.pharos.xyz/) is a Layer 1 blockchain built for real-world asset circulation, structured yield, and institutional DeFi. It combines deep-parallel execution with asset-native design and built-in compliance architecture, giving developers the foundation they need to build regulated financial products at scale. ## Why pharos stands out ### Deep-parallel execution for financial-grade throughput Pharos is architected for high-throughput financial applications. Its parallelized execution engine is designed for real-time settlement and scalable asset flows, which matters for DeFi protocols, RWA vaults, and institutional trading infrastructure. That gives developers room to build without sacrificing performance or composability. ### Built-in compliance and institutional-ready modules Pharos does not treat compliance as an afterthought. It integrates modular KYC and AML-compatible architecture directly at the infrastructure layer, so teams building regulated or semi-regulated products do not need to recreate that logic from scratch. ### Asset-native design for RealFi Pharos is purpose-built for real-world asset circulation, not generic smart contract deployment. The ecosystem is designed to support structured yield products, RWA vaults, and institutional liquidity coordination, giving builders access to financial primitives that fit the use case. ## What teams are already building Pharos is already attracting projects across real-world assets and institutional finance: - **RWA infrastructure and tokenization:** Teams like Centrifuge and Asseto are using Pharos to bring traditional financial instruments onchain. - **Asset-backed yield and structured vaults:** Ember and R25 are building structured yield products and RWA vault strategies that depend on strong capital discipline and risk frameworks. - **Institutional DeFi and capital strategy:** Aquaflux is building institutional capital coordination infrastructure on top of Pharos's compliance-aware architecture and high-performance execution layer. - **Onchain trading and market access:** Bitverse is using Pharos's parallel execution to support low-latency trading infrastructure. ## What's coming next Pharos has several major milestones on the horizon: - **RealFi Alliance Batch 2:** A new cohort of institutional partners and asset issuers joining the ecosystem - **Pharos RealFi Ecosystem Vault:** Structured ecosystem capital coordination through an onchain vault framework - **Institutional asset issuer onboarding:** Continued expansion of real-world asset issuers building on Pharos infrastructure ## Build on pharos with Alchemy As Pharos's infrastructure partner, Alchemy provides: - **99.99% uptime** with global redundancy - **Full API coverage** including [WebSockets](https://www.alchemy.com/smart-websockets), [RPC APIs](https://www.alchemy.com/rpc-api), and Debug API - **Battle-tested infrastructure** that has processed $1T+ in onchain transactions, with SOC 2 Type II certification Pharos is now available on Alchemy with the same reliability and developer experience you expect across our supported networks. Whether you're tokenizing real-world assets, building structured yield products, or designing institutional DeFi infrastructure, you have the backend you need to ship with confidence. > "Alchemy's enterprise-grade RPC layer and developer tooling reduce the complexity of node management and backend scaling. This enables ecosystem teams to focus on building financial applications rather than infrastructure maintenance, and it strengthens the foundation of RealFi on Pharos." > > Wish Longer, CEO and Co-Founder, Pharos Ready to build on Pharos? - [Get your API key](https://dashboard.alchemy.com/chains/pharos) - [Read the docs](https://www.alchemy.com/docs/pharos/pharos-api-overview) - [Contact us](https://www.alchemy.com/contact-sales) to discuss how we can support your project ## Frequently asked questions ### Does Alchemy support Pharos blockchain? Yes, Pharos support is now live on Alchemy with full API coverage including WebSockets, RPC APIs, and Debug API. ### What is Pharos and why is it different from other blockchains? Pharos is a Layer 1 blockchain built specifically for real-world asset circulation, structured yield, and institutional DeFi, featuring deep-parallel execution and built-in compliance architecture. ### How do I start building on Pharos with Alchemy? Get your API key through the Alchemy dashboard, read the Pharos documentation, or contact Alchemy's team to discuss project support. ### What kind of projects are being built on Pharos? Teams are building RWA infrastructure and tokenization, asset-backed yield and structured vaults, institutional DeFi and capital strategy, and onchain trading and market access platforms. ### What uptime and reliability does Alchemy provide for Pharos? We provide 99.99% uptime with global redundancy and battle-tested infrastructure that is SOC 2 Type II certified. ### Does Pharos have built-in compliance features? Yes, Pharos integrates modular KYC and AML-compatible architecture directly at the infrastructure layer, making it suitable for regulated financial products. ### What makes Pharos suitable for institutional finance? Pharos combines deep-parallel execution for high-throughput financial applications with asset-native design and compliance architecture, enabling real-time settlement and scalable asset flows. --- # Photon on Alchemy: Compressed Solana Data via Standard RPC URL: https://www.alchemy.com/blog/photon-on-alchemy-compressed-solana-data-standard-rpc.md For teams building wallets, exchanges, indexers, and consumer apps on Solana, compressed state is an increasingly common pattern. High-scale token-account workloads can benefit meaningfully from ZK compression — and reading that data requires Photon methods that, until recently, meant standing up a separate provider or running your own indexer. That's why we added the full Photon / ZK Compression method suite directly to Alchemy's standard Solana RPC endpoint. ## Why compression matters on Solana Solana's account model is fast, but writing every piece of state directly on-chain is expensive, especially for high-scale consumer apps that mint millions of tokens, NFTs, or loyalty assets. ZK compression flips the cost curve such that only a compact cryptographic commitment — a "fingerprint" of the state — lives on-chain, plus the rules to validate updates against it. The detailed state, the part wallets and apps actually want to query, lives off-chain. That's great for issuers and great for the chain, but not necessarily great for clients. A standard Solana RPC node has no idea what a compressed token balance is. Without an indexer that watches compressed-program activity and reconstructs the underlying state, compressed assets are effectively invisible to your app. Photon is that indexer. It watches blocks and transactions that touch the compression protocol, rebuilds the detailed state into a queryable database, and exposes it through a standard RPC method surface. For wallets displaying balances and apps verifying holdings, Photon is what makes compressed data readable. Photon has emerged as a common interface for compressed-state reads on Solana. We adopted its method surface directly, so migration from any Photon-compatible provider is a URL change, not a rewrite. ## How it works Photon continuously tails blocks and transactions touching the compression program. Every relevant instruction — mint, transfer, burn, account update — gets decoded against the on-chain commitment, and the resulting state changes are applied to an off-chain database that mirrors what the compressed accounts actually represent. The on-chain commitment remains the source of truth; the index is a deterministic projection of it, reconstructable from scratch at any time. The Photon methods live on the same Solana RPC endpoint as every other Solana call. Requests are routed internally based on method name: standard JSON-RPC hits our Solana node fleet, Photon methods hit our Photon fleet. Developers can access everything via one URL. ## What we measure Photon read methods on Alchemy are the most performant across both US and EU regions, and consistently run **~3x faster than other providers** on the same calls: - **`getCompressedTokenBalancesByOwner`** — **P50 8 ms / P95 12 ms / P99 20 ms** in the US (vs. ~30 / 45 / 65 ms on alternative providers); **P50 16 ms / P99 53 ms** in EU. - **`getCompressedTokenBalancesByOwner` on heavy accounts** (wallets sorted by large compressed-mint sets) — **P50 10 ms / P99 23 ms** in the US, **~3x tighter at the tail** than alternative implementations. - **`getCompressedTokenAccountsByOwner`** — **P50 10 ms / P99 25 ms** in the US; **P50 18 ms / P99 45 ms** in EU. ~3x faster end-to-end than alternatives. - **`getValidityProof`** — **P50 130 ms / P99 200 ms** in the US, **with no multi-second tail spikes**. We observed alternative providers spike to **3+ seconds** on this method under load — proof generation is the heaviest call in the surface, and an unstable tail here stalls wallet flows visibly. The interesting line is the heavy-accounts tail. Wallets with very large compressed-mint sets are the workload that exposes the gap between "supports Photon" and "supports Photon at production scale" — and it's where these gaps matter most. ## Get started Photon methods are available today on all Solana plans via the standard Solana RPC endpoint. If you're already running against another Photon-compatible provider, migration is a URL change. - [Read the docs](https://www.alchemy.com/docs/reference/solana-api-quickstart) - [Talk to our team](https://www.alchemy.com/contact-sales) for custom benchmarks, pricing, or solutions at scale. --- # Launching Support for the Polygon PoS Amoy Testnet URL: https://www.alchemy.com/blog/polygon-amoy-is-live.md We are excited to announce support for Polygon Amoy, a Sepolia-based test network for the Polygon Proof-of-Stake \(PoS\) blockchain. [On January 12, Polygon announced the Amoy testnet](https://polygon.technology/blog/introducing-the-amoy-testnet-for-polygon-pos) as an alternative to Polygon’s Mumbai testnet. When Ethereum deprecates the Goerli testnet, Mumbai will also be deprecated. We encourage all developers to migrate to the Polygon Amoy testnet as it will be the sustainable path forward for all testing and development needs. Note: All features supported by Alchemy on Mumbai are also supported on Amoy. ## Required steps to migrate to amoy Follow these 5 steps to migrate from Mumbai to Amoy: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Polygon Amoy network. 1. Get free Amoy tokens from Alchemy's public [Amoy Faucet](https://www.alchemy.com/faucets/polygon-amoy) which drips up to 1 Amoy MATIC per day. 1. Change your `API\_URL` to your Amoy RPC URL: `https://polygon-amoy.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Amoy. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. --- # How to Prepare for the Polygon Archive Node Limit URL: https://www.alchemy.com/blog/polygon-archive-node-limit.md Due to the recent growth of the [Polygon ecosystem](https://www.alchemy.com/dapps/ecosystem/polygon), Polygon archive nodes operating on the [GETH](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) client are expected to pass the 16TB storage threshold.  If you have not already upgraded your storage size, Polygon’s archive node limit may cause your archive node to fail.  This post will walk you through why this is happening and how to prepare for the upcoming Polygon archive node limit. ## When will the Polygon archive node limit be reached? ###### The Polygon archive node limit is expected to be reached the week of 5/23.  The exact date and time that the 16TB threshold will be crossed depends on two things:  1. How long the archive node has been running 1. How 16TB is calculated Nodes that see more re-orgs use more disk space and 16TB can either be 16,000 GB or 16384GB, and this difference is roughly filled in a week. ###### Why increase the storage limit? The Polygon chain has experienced a [tremendous amount of growth](https://www.alchemy.com/case-study/polygon) since its initial launch in June 2020. As a result, archive node operators, which have to maintain a copy of Polygon’s entire blockchain history, will have to store all of that data on their archive node. Although Polygon is one of the first chains to pass 16TB of data, as other chain ecosystems continue to grow they will soon face the same challenge, so we recommend reading on to know how to prepare even if you’re not actively using Polygon. ## What does the 16TB storage limit mean for my Polygon archive node? For most cloud hosting providers, a 16TB storage limit is common. Unless you’ve prepared massive disk space and infrastructure for your Polygon archive nodes, you will likely no longer be able to serve data after this limit is reached. ###### This means all of your archive requests will begin to fail. ### Why do I need archive data? Archive data allows you to access the entire blockchain history, rather than just [getting historical Polygon transactions](https://alchemy.com/blog/how-to-get-historical-transactions-on-polygon). This is extremely important for displaying data like: 1. Wallet transaction history  1. Trends and analytics  1. Indexed data  1. And anything else that looks at historical data ## 4 ways to prepare for the Polygon archive node limit There are a couple of options here depending on if you want to optimize for short term, medium term, or long term. We’ll walk through each one.  ### 1. Delete and re-sync nodes \(short term\) Deleting and re-syncing your nodes will clear away data that is no longer a part of the canonical chain, including things like uncle blocks.  It is relatively easy to delete and re-sync Polygon nodes, but is only a temporary stop-gap solution since newer data will continue to fill up the newly freed storage space.  ### 2. Use logical volume management \(LVM\) or RAID0 to manage more storage space \(medium term\) [LVM](https://www.digitalocean.com/community/tutorials/an-introduction-to-lvm-concepts-terminology-and-operations) \(and RAID0\) allows you to allocate storage from multiple disks into a single filesystem to bypass any single disk’s maximum space limitations.  This is not trivial work to complete, but it will allow node operators to scale up disk partitions on demand while continuing to use their existing EC2 instance types and EBS volume types. Alternatively, AWS has released a new EBS volume type: [io2 block express](https://aws.amazon.com/about-aws/whats-new/2021/07/aws-announces-general-availability-amazon-ebs-block-express-volumes/) that can support 64TBs max disk space. Though, it is limited to a new _r5b_ EC2 instance type and is generally considered “overkill” for solving these kinds of disk space issues. ### 3. Switch to Erigon for your Polygon node client \(long term\) Erigon is a node client option that natively supports Bor consensus which is compatible with the Polygon/MATIC blockchain. For comparison, the state data for Polygon’s Proof of Stake Mainnet is as small as 4.5TB when using Erigon. While [setting up an Erigon client](https://github.com/ledgerwatch/erigon) for Polygon is a longer-term solution, it allows for more manageable state data. ### 4. Use Alchemy as your Polygon node infrastructure provider The Alchemy team works day and night to ensure that our users have a smooth, reliable experience [building with Polygon APIs](https://www.alchemy.com/docs/reference/polygon-pos-api-quickstart), and on any chain that we support.  We handle all upgrades and breaking changes so you don’t have to. And the best part, it’s free! Get set up with Alchemy in minutes by [signing up here](https://alchemy.com/?a=830b94adba).  For more updates, tips, and launches follow us on twitter [@Alchemy](https://x.com/Alchemy). --- # Polygon Mumbai Support Ending April 13th - Migrate to Amoy URL: https://www.alchemy.com/blog/polygon-mumbai-testnet-deprecation.md Polygon has informed us that they will [**deprecate Mumbai**](https://polygon.technology/blog/polygon-pos-is-cooking-the-napoli-upgrade-means-better-ux-the-mumbai-testnet-takes-a-bow) on April 13th, 2024. We are planning on keeping our testnet nodes for [Polygon](/polygon) running until this date. However, in the past we have seen extreme instability in networks leading up to deprecation. While we will do our best to keep it running, we cannot guarantee that this network will be usable until April 13. **It is in your best interest to migrate to Amoy immediately.** If you try to send requests to these nodes after Alchemy support ends, your requests will fail with a DNS resolution error. ## Required actions for developers **To ensure you’re able to continue testing seamlessly, you will need to migrate to Amoy before April 13.** Polygon Amoy is the sustainable path forward for web3 developers and we encourage devs to use it for any testing and development needs. [Polygon Amoy offers many benefits](/overviews/goerli-vs-sepolia) over Mumbai, such as improved scalability and lower gas fees — all attributes we think will ultimately lead to better application development. ## Required steps to migrate to Polygon amoy Follow these 5 steps to migrate from Mumbai to Amoy: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Polygon Amoy network. 1. Get free Amoy tokens from Alchemy's public [Amoy Faucet](https://www.alchemy.com/faucets/polygon-amoy) which drips up to 1 Amoy MATIC per day. 1. Change your `API\_URL` to your Amoy RPC URL: `https://polygon-amoy.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Deploy your test contract to Amoy. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ## A note on other chains: Goerli deprecation dates for other chains are up to date on [this blog post](/blog/goerli-faucet-deprecation). --- # Preparing for Solana's Agave v2.0. URL: https://www.alchemy.com/blog/preparing-for-the-agave-2-0-upgrade.md ## Preparing for Solana's agave v2.0 Solana is planning a [major release to mainnet-beta](https://github.com/anza-xyz/agave/wiki/Agave-v2.0-Transition-Guide), known as Agave v2.0, in Q4 2024. This release will introduce a number of changes to the Solana network, including modifications to the [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) APIs and SDK elements. These changes have already gone live on Devnet and Testnet. To avoid any issues with your application, we recommend updating your codebase to use the replacement calls listed below as soon as possible. In this guide, we will summarize methods that will no longer be supported after the latest release and how to prepare for the changes. **Backwards Compatibility** All changes are backward compatible and available on previous versions of Solana's mainnet, allowing you to upgrade your applications seamlessly. ## Changes to RPC endpoints and SDK elements A number of RPC endpoints are being deprecated and no longer supported in Agave v2.0. Please use the replacement calls listed below. confirmTransaction

", tooltip: "", icon: "" }, "2": { title: "

getSignatureStatuses

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

getSignatureStatus

", tooltip: "", icon: "" }, "2": { title: "

getSignatureStatuses

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

getSignatureConfirmation

", tooltip: "", icon: "" }, "2": { title: "

getSignatureStatuses

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

getConfirmedSignaturesForAddress

", tooltip: "", icon: "" }, "2": { title: "

getSignaturesForAddress

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

getConfirmedBlock

", tooltip: "", icon: "" }, "2": { title: "

getBlock

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

getConfirmedBlocks

", tooltip: "", icon: "" }, "2": { title: "

getBlocks

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

getConfirmedBlocksWithLimit

", tooltip: "", icon: "" }, "2": { title: "

getBlocksWithLimit

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

getConfirmedTransaction

", tooltip: "", icon: "" }, "2": { title: "

getTransaction

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

getConfirmedSignaturesForAddress2

", tooltip: "", icon: "" }, "2": { title: "

getSignaturesForAddress

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

getRecentBlockhash

", tooltip: "", icon: "" }, "2": { title: "

getLatestBlockhash

", tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

getFees

", tooltip: "", icon: "" }, "2": { title: "

getFeeForMessage

", tooltip: "", icon: "" }, id: 10, }, { "1": { title: "

getFeeCalculatorForBlockhash

", tooltip: "", icon: "" }, "2": { title: "

isBlockhashValid or getFeeForMessage

", tooltip: "", icon: "" }, id: 11, }, { "1": { title: "

getFeeRateGovernor

", tooltip: "", icon: "" }, "2": { title: "

getFeeForMessage

", tooltip: "", icon: "" }, id: 12, }, { "1": { title: "

getSnapshotSlot

", tooltip: "", icon: "" }, "2": { title: "

getHighestSnapshotSlot

", tooltip: "", icon: "" }, id: 13, }, { "1": { title: "

getStakeActivation

", tooltip: "", icon: "" }, "2": { title: "

getAccountInfo

", tooltip: "", icon: "" }, id: 14, }, { "1": { title: "

getTotalSupply

", tooltip: "", icon: "" }, "2": { title: "

This call will be deprecated

", tooltip: "", icon: "" }, id: 15, }, ], }} /> ## Building on Solana with Alchemy Alchemy’s RPC endpoints are up-to-date with the latest versions of the Solana Network. Alchemy offers a competitive edge through its advanced Solana infrastructure: - 🌎 **High Transaction Success Rate**: Our global network and cutting-edge hardware ensure your transactions are reliably sent to Solana's Mainnet, Devnet, or Testnet. - 🚀 **Proprietary Hyperscaling**: Our custom solution outperforms standard Solana clients, delivering superior scalability, performance, and latency. - 🛠️ **Continuous Improvement**: We're constantly enhancing our infrastructure: - Expanding our global node network to meet growing demand - Deploying in new regions with diverse infrastructure providers - Implementing a [Priority Fee API](https://marketplace.quicknode.com/add-on/solana-priority-fee) for optimal transaction handling during network congestion - Investing in next-gen hardware and secure priority access to additional servers - Refining our hyperscaling technology for improved transaction routing and support for emerging methods Sign up for a free account [here](https://auth.alchemy.com/signup) and create a Solana endpoint today! --- # Introducing Prices API URL: https://www.alchemy.com/blog/prices-api.md Starting today, you can easily access real-time and historical token prices with our new **Prices API**. Need token prices for your DeFi, portfolio tracking, or analytics project? Now, you can easily add them to your app with simple API calls. Prices API is **included for free with all plans** - [get started today](https://www.alchemy.com/docs/reference/prices-api-quickstart)! ### What you get **Prices API** adds token prices to your existing Token API toolkit - Saving you time and money. Get accurate price data for thousands of tokens—all through easy-to-use REST endpoints. Out of the box, the Prices API offers you: - **Real-Time Price Data**: Get current prices for 10,000\+ tokens across 15\+ blockchains. - **Historical Data**: Access historical price information for analytics and charting. - **High Reliability**: Built on Alchemy's robust infrastructure, ensuring maximum uptime and data accuracy. ### Build better apps Add reliable price data to your: - **DeFi Applications**: Power lending platforms, decentralized exchanges, and yield aggregators with accurate pricing. - **Portfolio Trackers**: Provide users with real-time valuations of their crypto assets. - **Analytics Tools**: Enhance data visualization and market analysis features with precise price data. ### Get started Start integrating the Prices API today - check out the [API docs](https://www.alchemy.com/docs/reference/prices-api-quickstart) to begin. Looking for specific features or have feedback? Get in touch with us [here](https://discord.com/invite/alchemyplatform). ## Frequently asked questions ### What is the Prices API? The Prices API provides real-time and historical token price data through simple REST endpoints, adding price functionality to your existing Token API toolkit. ### Is the Prices API free to use? Yes, the Prices API is included for free with all plans. ### How many tokens and blockchains does the Prices API support? The Prices API provides price data for over 10,000 tokens across 15+ blockchains. ### What types of price data can I access? You can access both real-time current prices and historical price information for analytics and charting purposes. ### What applications is the Prices API designed for? The Prices API is ideal for DeFi applications (lending platforms, DEXes, yield aggregators), portfolio trackers that need real-time asset valuations, and analytics tools requiring market data visualization. ### How reliable is the Prices API? The Prices API is built on our robust infrastructure, ensuring maximum uptime and data accuracy. ### How do I get started with the Prices API? You can begin integrating the Prices API today by checking out the API documentation in our quickstart guide. --- # Creating App Reliability: The Key to Success in Web3 URL: https://www.alchemy.com/blog/reliability.md Many teams’ web3 apps are doomed. Why? Because apps are totally dependent on nodes, and nodes are incredibly difficult to maintain. Some reasons: 1. Node reliability can't be built in a vacuum; reliability must be accompanied by node scalability and data accuracy 1. Nodes are not designed to be full-scale, production solutions 1. Nodes are expected to do too many things 1. Nodes require full-time maintenance 1. Nodes' efficacy depends on successfully navigating unpredictably timed network upgrades or hard forks These complications make nodes hard to manage and maintain. But there are two architectural dimensions that significantly improve node reliability, **or the ability for a user to successfully interact with your app when they need to**: - **Heterogeneity**: diverse and complementary systems that can handle different requests - **Redundancy**: backup systems, so that if one system goes down, others will still be up In web3, a lack of reliability can have detrimental outcomes. Take a well known [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) using unreliable infrastructure... Their platform was unstable, creating: - Heavy engineering burden - Degraded UX - Over 190 hours of downtime in a single quarter What was the impact?** $6M in lost revenue.** Don't let it happen to you. **In this article, we’ll explain:** 1. Why maintaining node reliability is challenging 1. Common node infrastructure patterns and why they fail 1. How Alchemy accounts for reliability challenges and builds for reliability at scale ## Why maintaining node reliability is challenging There are **five** primary reasons why reliability is particularly hard to maintain in web3: ### \(1\) Node reliability can't be built in a vacuum; reliability must be accompanied by node scalability and data accuracy To create a highly functional app, you need reliability, combined with scalability and data accuracy. - **Scalability**: the ability to continue interacting with the blockchain as traffic on your app** scales** 10x, 100x, 1000x or more. - **Data accuracy**: the state when your app returns correct and consistent data to every single user. ### **\(2\) nodes are not designed to be full-scale, production solutions**‍ Nodes were initially designed to be run by individuals for personal and small scale use cases. Although they’re expensive \($1000 / month\), for that limited use case, they can create sufficient reliability, and maintain: - **Scalability**; the request volume is predictably controlled, limiting any risks with required scalability - **Data accuracy**; because there is only one node, there is [no opportunity for data inconsistencies within nodes](https://alchemy.com/blog/data-accuracy) However, a development environment is not a production environment, and production requires very different tooling. ### \(3\)** **nodes are expected to do too many things Nodes are expected to do an unbounded number of things, e.g., running peer-to-peer software, serving as a scalable database, executing arbitrary code, etc. Nodes also have no “opinion” about what they should or shouldn’t do. Together, this has two primary ramifications: - **Scalability**; as you scale with increasing request volume, you need to spin up new nodes; and each new node must be built to include that long list of functionality, creating cumbersome inefficiencies and cost \(again, on the cheap end, running a node will cost $1,000/mo\). - **Edge cases**; Because the node lacks basic protections, one query can singlehandedly crash your node. ### \(4\) Nodes require full-time maintenance On average, every 5 days, nodes may have issues from: - Memory leaks - Data storage issues - Maximized CPUs - Inconsistent peering - Corrupted internal databases - Transaction broadcasting issues - Bugs \+ regressions - 1 in 6 “stable releases” are broken Each issue takes significant time to diagnose, troubleshoot and fix, and means [significantly less time focused on your front-end user experience](https://www.alchemy.com/case-study/zerion). “Working with Alchemy has helped us save the equivalent of three full-time engineers, who otherwise would have to be heads down on infra maintenance, at all times.” - Evgeny Yurtaev, CEO and Co-Founder, [Zerion](https://www.alchemy.com/dapps/zerion) ### \(5\) Nodes' efficacy depends on successfully navigating unpredictably timed network upgrades or hard forks Network upgrades and hard forks happen on a protocol’s schedule, not yours. Each one requires significant preparation, and getting it wrong can mean nodes crash, with detrimental impact. “Before we integrated with Alchemy, we ran our own blockchain infrastructure. This approach was impossible to maintain and scale without issues. Any industry-wide update would take us hours to implement and caused headaches across the board.” - Evgeny Yurtaev, CEO & Co-Founder, Zerion ## Common infrastructure architecture patterns and why they fail Running reliable node infrastructure is intrinsically challenging, and a lot of common web3 architecture is ineffective at creating reliability: ### Running a single node It's more[ simple to set up, but subject to a single point of failure](https://www.alchemy.com/overviews/running-your-own-node), lacking both heterogeneity and redundancy. A single node’s uptime is measured as low as 72%, and scaling a single node is highly inefficient. ### Running a node with a backup This [creates slightly more redundancy than a single node](https://www.alchemy.com/overviews/alternative-rpc-endpoint), but still no heterogeneity \(no diversity in systems\), and often, a request that takes down the first node will take down the second node too. Scalability issues still exist, and you’ve introduced [**data accuracy**](https://alchemy.com/blog/data-accuracy) issues, meaning the nodes will return different responses, as most systems are unable to guarantee that each node is on the same block head \(or even the same chain\). ### ‍**Load balancing across a fleet of nodes** This model creates more redundancy, but still no heterogeneity. Data accuracy and scalability issues persist \(a series of retries will take out an entire fleet of nodes\). Running one node
Heterogeneity
Redundancy

", tooltip: "", icon: "" }, "2": { title: "

Lacks heterogeneity and redundancy

", tooltip: "", icon: "" }, "3": { title: "

Cumbersome to spin up new nodes

", tooltip: "", icon: "" }, "4": { title: "

Yes! Has data accuracy

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Running one node with a backup
Heterogeneity
Redundancy

", tooltip: "", icon: "" }, "2": { title: "

Lacks heterogeneity and redundancy

", tooltip: "", icon: "" }, "3": { title: "

Cumbersome to spin up new nodes

", tooltip: "", icon: "" }, "4": { title: "

No data accuracy

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Load balancing across a fleet of nodes
Heterogeneity
Redundancy

", tooltip: "", icon: "" }, "2": { title: "

Lacks heterogeneity and redundancy

", tooltip: "", icon: "" }, "3": { title: "

Cumbersome to spin up new nodes

", tooltip: "", icon: "" }, "4": { title: "

No data accuracy

", tooltip: "", icon: "" }, id: 2, }, ], }} /> ### Nodes often go down and are really,** really cumbersome to fix.** If it’s not clear yet, many “solutions” for connecting to the blockchain don’t sufficiently provide heterogeneity or redundancy, and because of that, ultimately fail. Failure has severe ramifications. “Before Alchemy, we were plagued with managing backend infrastructure that exhausted unnecessary development resources - and other developer platforms were insufficient in the breadth of solutions they offered. Node-related incidents made up almost all of our on-call incidents.” - Brad Bayliss, Lead Technical Manager, Enjin Nodes can require days or weeks of recovery time to get up and running again. These issues are expensive, hard to solve and require heads down work across the team. In 2019, BlockCypher tried to navigate Ethereum’s Constantinople Hard Fork. They ran into an error of missing data, and couldn’t diagnose the root cause. They suffered from **over a month of downtime**, and eventually had to essentially restart from scratch. Don’t let it happen to you ;\) The more heterogeneous and redundant your web3 infrastructure is, the more reliable it will be. ## How Alchemy builds for reliability at scale “Without question, Alchemy has been the only provider with a comprehensive set of tools that enables us to scale seamlessly, with uninterrupted reliability, while making thousands of calls each day.”  - Kyle Gusdorf, Software Engineer, Decentral Games [Supernode is a combination of custom, scalable and distributed systems](https://alchemy.com/overviews/blockchain-node-providers) that enable reliability and scalability, while allowing our API to act as a single node, thereby ensuring data accuracy. ### Supernode achieves both redundancy and heterogeneity with scalable and diverse systems ### Redundant and heterogeneous systems to minimize data requests on nodes   Web2 infrastructure creates reliability and scalability by removing data storage from servers and creating external storage centers. However, because of the unique nature of node architecture, removing data storage from nodes is essentially impossible. To create reliability and scalability, Supernode uses advanced architecture, called secondary infrastructure, to replicate nodes’ data. Vox Nodi, Supernode’s coordination layer, runs constant system checks to ensure the secondary infrastructure has the latest data, and therefore, any requests for data, e.g., block number, txn logs, txn receipts will be accurate. By routing requests to secondary infrastructure first, the nodes are protected and their “workload” is reduced. Most requests can be handled by secondary infrastructure, and only edge cases will be routed to nodes. Let’s take an example: Users want information about various data types and blocks: - User 1 asks for Transactions data up to Block 82 - User 2 asks for Logs data from Block 85 - User 3 asks for Blocks data from Block 92 User 1’s request can be served by the secondary infrastructure system. \(Importantly, if a request like this were to hit a node directly, the node would crash, whereas, the secondary infrastructure system can handle this load seamlessly\). User 2’s request can also be served by the secondary infrastructure. User 3’s request cannot be served through secondary infrastructure, because the system does not yet have the latest Blocks data from Block 92. User 3’s request will now be served from the nodes. In this example, the experience for Users 1, 2 and 3 is the exact same. There is no difference in downtime when a request is responded to via secondary infrastructure or directly from the nodes. But by routing requests to the secondary infra system first, the nodes are protected and their “workload” is reduced. "Alchemy has allowed us to eliminate having to use secondary / back-up infra. Alchemy never goes down, and their uptime is super consistent. Their platform works perfectly for us.” - Johnny Rhea, Co-Founder & CTO, Element.Fi ### Redundant and heterogeneous systems to execute code Because the Ethereum Virtual Machine \(EVM\) is Turing complete, you can request that nodes execute code. Because nodes can’t self-regulate, there is constant potential for an arbitrary request to bring down an entire node fleet. To protect against this, Alchemy de-duplicates ands stores all requests our system has previously responded to. This means that only a uniquely new request will be run on the nodes, and otherwise, the vast majority of requests can be executed by these storage systems. Geth Archive Node

", tooltip: "", icon: "" }, "2": { title: "

Since genesis

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Geth Full (Fast) Node

", tooltip: "", icon: "" }, "2": { title: "

Most recent 2,000 blocks

", tooltip: "", icon: "" }, id: 1, }, ], }} /> ### Heterogeneous nodes, specialized for different requests In addition to secondary infrastructure systems, Alchemy adds heterogeneity with distinct node types. In the outlier scenarios when secondary infrastructure can’t respond to a request, the system defaults to the most scalable node. Alchemy [runs multiple types of nodes](https://www.alchemy.com/overviews/what-is-an-ethereum-node), including: - **Light:** downloads only the block headers, the minimum data needed to transact on the network. Light nodes can efficiently interact with the network and save megabytes of bandwidth and gigabytes of storage, but they’re limited in that they don’t have access to full data. - **Full**: has everything it needs to verify that the blocks on the network are correct, and can interact with any [smart contract](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) and deploy its own. Full nodes require significant computing and bandwidth resources. - **Archive:** goes one step further than a full node. While a full node trims entries that it no longer needs to verify, the archive node maintains everything \(terabytes of extra data\). These details are great for querying information more efficiently and handy for a few applications, but are excessive in most cases. - **Debug:** debug nodes go even further than an archive node, storing the most information of any node type, so you can step through the execution of a [smart contract](https://www.alchemy.com/overviews/solidity-smart-contract) in extreme detail. Distinct properties of node types make them good at different things, so if one node can’t answer a request, the others are likely still healthy and well-suited to respond. For example, if there is a request for the newest data, which may not be recorded in secondary infrastructure yet, that request can be routed to a fast node, and the archive node will be “protected”, since sifting through the archive node’s data would be significantly more expensive. To make it easier to spin up new nodes as needed, the Supernode system takes “snapshots” of the nodes, so that to create a new node, the system can start from the most recent “checkpoint,” significantly shortening the the syncing process. ### Heterogeneous clients to mitigate the impact of bugs Lastly, Alchemy runs different implementations of the Ethereum client, including [geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), Erigon and Parity. This essentially triples the backend maintenance work required, but it is hugely valuable in service of heterogeneity: the chance that these clients have the same bug is essentially zero. ## Creating reliability through **redundancy and heterogeneity** At Alchemy, we’ve spent hundreds of thousands of hours engineering Supernode, a complex set of systems, built from the ground up, to be heterogeneous and redundant, drastically increasing our fault tolerance and ensuring we can reliably respond to any blockchain request. "Infrastructure that’s both reliable and scalable, so that we can stay up when our customers need us most - that’s huge for Collab.Land. Alchemy is the GOAT here.” - Raymond Feng, CTO, Collab.Land It’s taken us years to build the complex, interdependent systems that make this reliability possible. Building to control for reliability is extremely challenging but leveraging reliable infrastructure is crucial for the success of your app. As you explore infrastructure options, one of the first things you should be asking a provider is: **“How heterogenous and redundant is your infrastructure? And what evidence can you show me that proves your systems’ reliability?”** Public [RPC provider benchmarks](https://www.alchemy.com/benchmarks) can help evaluate latency, success rates, and failed requests alongside a provider's architecture claims. Your apps’ success is contingent on this choice. Let us know how we can help! --- # Robinhood Chain Mainnet Is Live on Alchemy URL: https://www.alchemy.com/blog/robinhood-chain-mainnet-is-live-on-alchemy.md Alchemy has launched native support for [Robinhood Chain](https://www.alchemy.com/docs/reference/robinhood-chain-api-quickstart), a permissionless, EVM-compatible Layer-2 built to bring traditional markets, crypto, and real-world assets onto one network. Developers can now build on it with our full platform, instead of stitching together separate providers for node access, data, and gasless transactions. ## Why Robinhood Chain stands out ### Built for real-world assets Robinhood Chain is optimized for real-world assets through its Stock Tokens composed of underlying equities, ETPs, private assets, and other financial instruments represented and traded onchain. The goal is a financial system where assets settle programmatically, stay self-custodied by users, and remain accessible around the clock, without intermediaries or platform lock-in. ### Ethereum security with Layer-2 efficiencies Built using [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum) technology, Robinhood Chain offloads transaction processing from Ethereum mainnet while inheriting Ethereum's security. The result is faster finality and lower transaction costs. For financial applications that need to settle a high volume of transactions cheaply, that cost and throughput profile matters. ### Open and permissionless Anyone can interact with the network, deploy smart contracts, and build applications on Robinhood Chain. That openness invites a broad ecosystem of builders rather than a single closed application. ## What developers can build The chain is purpose-built for onchain finance, and that is where the early energy sits. Developers have a foundation for markets that stay open 24/7 and settle without traditional intermediaries for tokenized equities, ETPs, and private assets. The same primitives extend to payments, trading, and asset-management apps, anywhere users want to hold, move, or self-custody real-world value directly. Because the chain is fully EVM-compatible and uses ETH for gas, teams can bring existing Ethereum contracts and tooling over with little friction. ## Where Alchemy fits with Robinhood Chain Many teams building on a new chain wire together multiple providers: one for node access, one for indexed data, and one for transactions. Alchemy is specifically designed to provide builders with a full platform with industry-leading reliability and performance: - **[RPC and WebSockets](https://www.alchemy.com/rpc-api)**, so apps can read from and write to Robinhood Chain in real time over both HTTP and streaming connections. - **[Webhooks](https://www.alchemy.com/webhooks)** to push onchain events to your backend as they happen, instead of polling for them. - **[Gasless transactions](https://www.alchemy.com/gas-manager)**, so you can sponsor gas for your users and let them transact without holding gas tokens. - **[Data APIs](https://www.alchemy.com/docs/reference/data-overview)** for prices, NFTs, tokens, and transfers, giving you enriched, query-ready data without running your own indexer. That last piece matters most for a chain built around tokenized real-world assets. An app showing a user's equity and ETP positions needs accurate prices, token balances, and a clean transfer history, and it needs them without standing up indexing infrastructure for a brand-new network. Pulling RPC, webhooks, gasless transactions, and data from one provider means one set of keys, one support relationship, and far less to maintain. It runs on infrastructure proven at scale, powering more than $1 trillion in transactions each year at 99.5% uptime, and SOC 2 Type II certified. Robinhood Chain is now available on Alchemy. Start building today with our [Robinhood Chain documentation](https://www.alchemy.com/docs/reference/robinhood-chain-api-quickstart), or [reach out](https://www.alchemy.com/contact) to talk through what you want to ship. ## Frequently asked questions ### Does Alchemy support Robinhood Chain? Yes. Robinhood Chain support is now live on Alchemy, with RPC and WebSocket access plus developer tooling that natively supports the network. ### What infrastructure does Alchemy provide for Robinhood Chain developers? The full platform from one provider: RPC and WebSockets for real-time reads and writes, webhooks for onchain event notifications, gasless transactions so you can sponsor user gas, and data APIs for prices, NFTs, tokens, and transfers. It is backed by infrastructure that processes more than $1 trillion in onchain activity each year at 99.5% uptime and is SOC 2 Type II certified. ### What is Robinhood Chain? Robinhood Chain is a permissionless, EVM-compatible Layer-2 built on Arbitrum Orbit technology. It settles to Ethereum, uses Ethereum blobs for data availability, and uses ETH as its native gas token, with a focus on tokenized real-world assets. ### What makes Robinhood Chain different from other Layer-2s? It is optimized specifically for onchain finance and tokenized real-world assets like equities, ETFs, and private assets. It combines Ethereum's security with the throughput and low transaction costs of an Arbitrum Orbit L2, in an open and permissionless environment. ### What types of applications can developers build on Robinhood Chain? Tokenized real-world assets like equities and ETFs, payments and asset-management apps, trading applications, and onchain finance products where users hold, move, or self-custody real-world value 24/7. ### How do I connect to Robinhood Chain Testnet? Add the network using Chain ID 46630, currency symbol ETH, and the Robinhood Chain Testnet explorer. For production-grade access, create an app on the [Robinhood Chain Testnet](https://dashboard.alchemy.com/chains/robinhood-testnet) in your Alchemy dashboard to get a dedicated RPC and WebSocket endpoint. ### How do I get testnet funds? Use the Robinhood Chain faucet to deposit testnet funds directly into your wallet, or bring Sepolia ETH from any faucet and bridge it onto Robinhood Chain. ### How do I start building on Robinhood Chain with Alchemy? Sign up for a free Alchemy account, create an app on the [Robinhood Chain Testnet](https://dashboard.alchemy.com/chains/robinhood-testnet) to get your API key, and visit our [Robinhood Chain documentation](https://www.alchemy.com/docs/reference/robinhood-chain-api-quickstart), or [reach out](https://www.alchemy.com/contact) to discuss your project. --- # Boost your rollup: We now support Rollup-Boost by Flashbots! URL: https://www.alchemy.com/blog/rollup-boost.md **Rollup-Boost from Flashbots is now available for Alchemy-deployed rollups.** We’re excited to announce support for Rollup-Boost, a new platform from [Flashbots](https://www.flashbots.net/) that accelerates confirmation times and internalizes MEV, thereby improving the user experience on your rollup. Rollup-Boost leverages Trusted Execution Environments \(TEEs\) to power modular Rollup Extensions—tools from Flashbots designed to accelerate block times, enhance programmability, and boost scalability. The Flashbots team launched Rollup-Boost with Unichain as a proving ground, and has an ambitious roadmap to continue improving the L2 scaling experience. You can learn about their technology and roadmap on the [Flashbots blog](https://writings.flashbots.net/introducing-rollup-boost). ## Why Rollup-Boost? Use Rollup-Boost on your Alchemy-deployed rollup to: - Enable custom block building - Prioritize which transactions are included and how they're ordered - Help solve the MEV trilemma by minimizing bad actors, spam auctions, congestion, and more **Watch the Rollup-Boost Explained video with Uttam from our DevRel team to learn more:** ## Why use Alchemy? We're the only complete rollup developer platform. When you deploy with Alchemy Rollups, you get: - Proven, reliable infrastructure - The complete developer platform enabled on your chain - Distribution to millions of devs - Customizations like Rollup-Boost! Interested in your own rollup? We'd love to speak with your team! --- # Introducing Rootstock - the Home of Bitcoin DeFi URL: https://www.alchemy.com/blog/rootstock.md We're excited to announce our partnership with Rootstock, a leading Bitcoin sidechain that combines the security of Bitcoin’s proof-of-work with Ethereum’s smart contract capabilities. Starting today, you can leverage our best-in-class web3 infrastructure and developer tools to build on Rootstock. Get your API key here & [**start building on Rootstock!**](https://dashboard.alchemy.com/chains/rootstock?utm_source=blog&utm_medium=medium&utm_campaign=rootstock) **What is Rootstock?** Rootstock is designed to expand Bitcoin’s utility beyond simple transactions by introducing scalable smart contract capabilities. Rootstock connects Bitcoin with the world of decentralized finance \(DeFi\), enabling users and developers to tap into trustless, innovative DeFi protocols while maintaining the security of the Bitcoin network. For Bitcoin and Ethereum developers, Rootstock offers: - **Security through Bitcoin’s Proof of Work:** Rootstock leverages Bitcoin’s renowned proof-of-work security model via merge-mining. This ensures that Rootstock blocks are secured by the same miners that maintain Bitcoin’s network integrity. - **Enhanced Scalability:** With new blocks generated every 30 seconds and a transaction capacity of 10-20 transactions per second, Rootstock addresses Bitcoin's scalability limitations, providing faster and more efficient transaction handling compared to Bitcoin’s 10-minute block intervals. - **EVM Compatibility:** Rootstock’s virtual machine \(RVM\) is highly compatible with Ethereum’s EVM. This means that most Ethereum applications can be easily ported to Rootstock, allowing developers to use familiar tools like [Solidity](https://www.alchemy.com/overviews/solidity), Hardhat, Foundry, and Remix. The RVM also supports Bitcoin-specific opcodes and features, providing enhanced performance and cryptographic functionalities. **Why Rootstock?** Rootstock is poised to transform the [Bitcoin ecosystem](https://www.alchemy.com/dapps/ecosystem/bitcoin) by bridging the gap between Bitcoin and DeFi. Developers can now build [apps](https://www.alchemy.com/dapps/top/defi-dapps) that benefit from the security of Bitcoin while leveraging the flexibility and programmability of Ethereum’s smart contracts. This collaboration opens up new possibilities for DeFi innovation on the Bitcoin network, expanding the reach of decentralized finance to a larger audience. **Build and scale on Rootstock with Alchemy** Leverage our best-in-class web3 infrastructure and tools to build on Rootstock: - Supernode: Our [Node API](https://www.alchemy.com/supernode?utm_source=blog&utm_medium=medium&utm_campaign=rootstock) and battle-tested web3 infrastructure provides peak reliability, unlimited scalability and data accuracy for your apps - Coming soon: Token API, Transfers API & NFT API - Developer Tools: Access Alerts, [Sandbox](https://www.alchemy.com/sandbox?utm_source=blog&utm_medium=medium&utm_campaign=rootstock), [Logs](https://www.alchemy.com/docs/reference/logs), and a [user-friendly dashboard](https://dashboard.alchemy.com/) to streamline your development process. - SDK - Learning Resources: Dive into [our documentation](https://www.alchemy.com/docs/reference/rootstock-api-quickstart?utm_source=blog&utm_medium=medium&utm_campaign=rootstock) **Start building** Become part of the Bitcoin DeFi revolution! [Get your API key today](https://dashboard.alchemy.com/chains/rootstock?utm_source=blog&utm_medium=medium&utm_campaign=rootstock)! --- # Satsuma is Joining Forces with Alchemy URL: https://www.alchemy.com/blog/satsuma-joins-alchemy.md _Note: Alchemy Subgraphs was sunset on December 8, 2025. For continued subgraph support, see the [migration guide to Goldsky](https://www.alchemy.com/docs/alchemy-subgraphs/deprecation-notice)._ When Dan and I started Satsuma to further blockchain indexing tools, we knew that web3 moved fast. However, we didn’t realize this type of announcement would come so soon. Today, we’re announcing that Satsuma has been acquired by Alchemy, the leading web3 developer platform. Our product will be merged into Alchemy’s full suite of products under “**Alchemy Subgraphs**.” What does this mean for existing customers? The short answer is that we'll continue to operate per usual and supercharge our service with Alchemy’s resources! The team is excited to tap into Alchemy’s customer distribution and accelerate our impact on the web3 ecosystem. With Alchemy's backing, we can vertically integrate and spend more time on higher-level indexing tools. It’s also clear that the Alchemy team shares the hustle and scrappiness we’ve valued at Satsuma. **To our customers and partners**: Dan and I are incredibly grateful for your trust. We wake up every day excited about the part we play in powering your products. **To our investors, supporters, and team**: thank you for taking a bet on us and your continued help along the way. **To any existing Alchemy customer or web3 developer using subgraphs**: [sign up here](https://dashboard.alchemy.com/) to get early access to Alchemy Subgraphs. Onwards! 🍊 --- # Scale Tier: the cheapest way to build in web3 🎉 URL: https://www.alchemy.com/blog/scale-tier.md ## Enterprise discounts, entirely self-serve Alchemy Scale Tier means enterprise discounts for web3’s most powerful API. ‍[Get started](https://www.alchemy.com/pricing) without ever talking to our team 🥳 ## Developer-first pricing, always  What does it take to bring blockchain to a billion people in a bear market? Affordable, powerful APIs. In 2022, web3’s largest and most powerful Free Tier got us one step closer. Today, Scale Tier takes things up a notch. Scale Tier gives developers massive savings, and powerful API access, all without ever having to talk to Sales \(sorry [Glenn](https://www.linkedin.com/in/glennrachlin/) 😢\). ## How does it work?  Scale Tier offers two plans:  - Scale Yearly, to save 30% annually - Scale Monthly, to pay-as-you-go, for ultimate flexibility  Both plans are 100% self-serve through your Developer Dashboard.  ### Scale tier features Scale Tier gives web3 developers access to Alchemy's full suite of best-in-class blockchain tools at some of the industry's most affordable rates: - [Account Abstraction APIs](https://www.alchemy.com/account-abstraction) - support smart accounts with simple Bundler and Paymaster APIs[‍](https://www.alchemy.com/custom-webhooks) - [Custom Webhooks](https://www.alchemy.com/custom-webhooks) - stream real-time notifications with [transaction filters, and variables](https://www.alchemy.com/blog/custom-webhooks-variables-filters-block-freshness)[‍](https://www.alchemy.com/transaction-simulation) - [Simulation APIs](https://www.alchemy.com/transaction-simulation) - protect your users by simulating transactions before they make it onchain With less expensive rates for on-demand usage and the ability to prepay for compute units, developers can focus on scaling their daily active users \(DAUs\) at a more predictable cost. ## Let’s get started!  Scale Tier unlocks the most powerful web3 developer platform, at the cheapest price. If you’re ready, [go get started](https://auth.alchemy.com/signup?redirectUrl=https%3A%2F%2Fdashboard.alchemy.com%2Fsignup%2F%3Freferrer_origin%3DDIRECT%26ref%3Daffiliate%3Achatweb3)! For more details, visit the [pricing page](https://www.alchemy.com/pricing) to learn all of Scale Tier's benefits.   And P.S. If you do want to talk to Sales, [our team](https://www.alchemy.com/contact-sales) is here for you 24/7. --- # Scroll is live - level up with our online hackathon! URL: https://www.alchemy.com/blog/scroll-partnership-hackathon.md We have partnered with Scroll, Ethereum’s leading zkEVM, to help you build and scale [apps](https://www.alchemy.com/dapps/top/defi-dapps) with ease. Starting today, you can leverage our best-in-class web3 infrastructure and developer tools to build on Scroll mainnet and testnet. To help you get started, we're inviting you to join the Level Up Mini-Hack from September 24-30! - Win up to $5,000 in bounties - Build from anywhere around the world - If you are in Malaysia, Honduras, Nigeria, Seoul or Mexico, meet us at local co-working spaces - Participate in online workshops!  Want to leverage Scroll and Alchemy to build the future of Web3, connect with other builders, and maybe win some prizes along the way? Keep reading! ## Why build on Scroll? 1. **EVM-Equivalence:** Effortlessly deploy contracts, leverage existing tools and knowledge, and tap into the vast [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) - all with enhanced performance. 1. **Open-source codebase:** Scroll's codebase is fully open-source. Anyone can review, contribute to, or battle-test the code, enhancing security and fostering community trust and involvement. 1. **Fast transactions and low cost:** Lightning-fast transactions at extremely low costs for users and developers. By solving speed and cost issues, Scroll removes key UX barriers, enabling wider crypto adoption. ## What makes the partnership powerful for builders? Scroll and Alchemy share the same mission: bring web3 to a billion users. By joining forces, this partnership will give you immediate access to: - [**Supernode**](https://www.alchemy.com/docs/reference/scroll-api-quickstart) — the most reliable and scalable infrastructure to build web3 apps - **Developer tools** — alerts, sandbox, logs, and a user-friendly dashboard interface - **World-class support** — 24/7 engineering support ## Ready to hack? The Level Up Mini-Hack, hosted by Scroll and Alchemy, is your opportunity to explore, create, and potentially win big. Event Details: - **Duration**: from September 24 to September 30 - **Prize pool**: $5,000 in bounties, distributed among the top 10 projects \+ swags! - **Special opportunity**: If you're based in Malaysia, Honduras, Nigeria, Seoul or Mexico, you're welcome to build from our co-working spaces while we conduct online workshops - Online workshops: Join [Dan Nolan](https://x.com/BeingDanNolan), Education at Alchemy, for an online workshop this Thursday September 26, 10am PT. You'll learn to build an NFT Rental Marketplace from scratch, covering both smart contracts and frontend. We'll use [Scaffold-ETH](https://www.alchemy.com/dapps/scaffold-eth) 2, a toolkit that combines NextJS, [RainbowKit](https://www.alchemy.com/dapps/rainbowkit), [Wagmi](https://www.alchemy.com/dapps/wagmi), and [Hardhat](https://www.alchemy.com/dapps/hardhat). Subscribe to [our YouTube channel ](ttps://www.youtube.com/@AlchemyPlatform)and hit the notification bell to watch live. This hackathon is perfect for both seasoned web3 developers and newcomers alike. It's your chance to dive into building on Scroll with our powerful tools, potentially win prizes, and connect with fellow developers in the ecosystem. _Note: This hackathon has ended._ ## Ready to start building? Check out our [getting started guide](https://www.alchemy.com/docs/reference/scroll-api-quickstart) or [get your API key](https://dashboard.alchemy.com/signup/). --- # Secure Your Nodes: Migrating From Parity To Geth URL: https://www.alchemy.com/blog/secure-your-nodes-migrating-from-parity-to-geth.md ‍ The [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) primarily relies on two providers for the fundamental unit of infrastructure: nodes. One of these organizations, Parity Technologies, announced they are focusing on other initiatives and [discontinuing development](https://www.parity.io/parity-ethereum-openethereum-dao/) on their Ethereum node software. We at Alchemy have recently decided to switch from Parity to the other major option, [Geth](https://geth.ethereum.org/), and suggest you do the same since it is being actively developed by a dedicated team. Migrating core infrastructure is mission critical and nuanced.  From our years of infrastructure experience powering top companies around the globe at [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:548fed5d-60b9-4530-89ef-28fa57ea280f), we created this guide to migrating from Parity to [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) to share best practices and help you have a successful transition.  Sharing this guide with your engineering team can help them navigate the intricacies of blockchain nodes and help make sure your core infrastructure is running smoothly. ‍ # Background A quick summary of the basics. Blockchain applications require running servers called “nodes” that allow you to read and write to the blockchain. You can think of them as a database that stores the blockchain. There are currently two main options for node software: [Parity](https://www.parity.io/) and [Geth](https://geth.ethereum.org/). Both of the teams that build and maintain this open source node client software have provided a huge service to the entire blockchain ecosystem and Ethereum would not exist without them. They both have the Alchemy team’s deep gratitude.  Recently, the Parity team, which has contributed massively to supporting the growth of Ethereum blockchain development from the very beginning, is now [moving on to focus on their own chain](https://decrypt.co/14857/parity-steps-back-from-ethereum-moving-client-codebase-to-dao).  [Peter](https://twitter.com/peter_szilagyi) and the entire [Geth team](https://github.com/ethereum/go-ethereum/graphs/contributors) have done an incredible job building a stellar Ethereum client and are actively continuing development on it. Eth node client distribution \([ethernodes.org/](https://ethernodes.org/)\) ‍ # Why should you migrate? Nodes are the core infrastructure of every blockchain company. Every time your system needs to read or write information to the blockchain, you use your node.   Compared to traditional web infrastructure, blockchain nodes are significantly more complex and time intensive to manage. Additionally setting up a new node can take up to days or weeks due to the syncing time. This means that having problems with your node infrastructure can mean your product is non-functional for weeks. In order to ensure you have stable, robust, and scalable infrastructure, running an actively maintained node client is essential.  Parity Technologies has graciously handed over the Parity Ethereum codebase to their newly created [OpenEthereum DAO](https://www.parity.io/parity-ethereum-openethereum-dao/) and we are excited to see the advances made to the node software in this truly decentralized medium. In contrast, the Ethereum Foundation has a full time team dedicated to continuously building and improving the software for the foreseeable future. Using an actively developed project means that bugs, stability issues, forks and other unknown challenges will be promptly fixed and the software will continuously improve. Our recommendation is to strongly consider switching your node infrastructure to Geth. This is a fairly involved process, so consider budgeting 2-4 weeks of engineering time to fully transition.   Finally, if you would rather just focus on building your core product and not deal with low level node infrastructure at all, [give us a shout](http://alchemy.com).  The Alchemy Blockchain Developer Platform was architected from the ground up to make it extremely easy for everyone to build great blockchain products. Alright, now that you’re up to speed, let’s get migrating! ‍ # How to migrate from parity to Geth ## The 8 steps 1. Remove dependence on Parity specific namespace methods 1. Remove dependence on Parity **specific** response fields 1. Remove dependence on API specific responses for bad requests 1. Remove dependence on Parity specific error codes    1. Set up Geth hardware 1. Set up Geth software 1. Run application specific traffic simulations on nodes 1. Switch over traffic and monitor the service ‍ ### 1. Remove dependence on parity specific namespace methods Parity and Geth both implement the generic JSON-RPC Ethereum protocol set forth by the Ethereum Foundation, and then their own supplemental API methods on top. There are some parity namespace methods like _parity_allTransactions_, which return all pending transactions from the view of a Parity node. Functionality wise, there should be Geth parallels across different packages. In terms of traffic to Alchemy, the biggest omission in Geth is the trace module, whose methods have been moved over to the[ debug](https://geth.ethereum.org/docs/rpc/ns-debug) package, where you can replicate popular trace methods like _trace_replayTransaction_ with the analogous _debug_traceTransaction_. ‍ ### 2. Remove dependence on parity specific response fields Despite their best efforts of consistent implementation, there are some minor differences. Check to make sure you don’t rely on a field that is omitted in[ Geth Responses](https://gist.github.com/kunal365roy/b43ace0b0644bfd8df64ea9f6995bb00). We’ve seen real-time cases where people relied on certain fields, such as the transactionLogIndex field found in logs objects from _eth_getLogs_.  Generally we’ve seen that Geth tends to cut off and fail for longer running calls in order to preserve the health of their nodes.  ‍ ### 3. Responses for bad requests differences Properly formatted requests that might fail in the EVM \([Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)\) for whatever reason might behave differently. Check to make sure you don’t rely on VM execution errors in Parity for bad requests, as they will generally return a result of 0x on Geth. A few examples of bad requests below: - The provided _eth_call_ block number parameter is pending. - An _eth_getLogs_ block in range cannot be found in the node - An _eth_call_ that runs over 5 seconds will be automatically cut off by the EVM.   ‍ ### 4. Parity specific error codes Some client retry mechanisms rely on specific Parity error codes to inform them of specific logic. Check to ensure you don’t rely on error codes that might[ change in Geth](https://gist.github.com/kunal365roy/3c37ac9d1c3aaf31140f7c5faa083932). A more complete list of Parity JSON-RPC error codes can be found[ here](https://github.com/openethereum/openethereum/blob/master/rpc/src/v1/helpers/errors.rs#L39). In general, there is a loss of specificity in some of these errors, so you will require some client-side logic to handle these cases.  ‍ ### 5. Set up Geth hardware Geth nodes should be able to run on the same hardware you've been using for Parity. There are a few key attributes we’ve noticed and discussed with the Geth team that will help keep your shiny new Geth node performant. There are two system metrics to monitor closely: **_CPU percentage_** and **_iowaits_**, the rate at which the system is writing to disk. We’ve seen strong correlations between these metrics for nodes in practice when they begin to error out of calls, become unresponsive, or generally move into a degraded state. The CPU percentage and iowait usage is dependent on the hardware you are using. For an[ EC2 m5.2x l](https://aws.amazon.com/ec2/instance-types/)arge instance, we typically see degraded performance around 65% CPU usage and 1 iowaits/second for archive nodes. ‍ Alchemy Internal Geth Node Iowaits ‍ ### 6. Set up Geth software Although rare, we’ve seen cases where Geth nodes get stuck syncing at random intervals \(unknown block number\). In such cases, patience is the key virtue and the node will eventually start syncing in a matter of hours.  Starting the Geth process has a few quirks that we’ll discuss ahead. There are a lot of flag options that Geth specifies. The** --pprof **flag has a lot of nice metrics that give insight into the health of the node like its peer count, the _tx_pool_, and loads of other useful information exposed on port 9090 by default. Another important point to note is to specify the kill signal as KillSignal=SIGINT. We found Geth had issues upon restarting where Geth would travel backward to the last block, as Geth wasn’t properly flushing in memory blocks or state to persistent disk on shutdown.  ‍ ### 7. Run application specific traffic simulations on nodes We have seen a few methods in Geth that have the same request/response formats but behave slightly differently than the parity version. A real-world case we’ve seen is the following: _eth_gasPrice_ and other methods that rely on gasPrice estimates like _eth_estimateGas_ in Geth utilize an estimation model that tends to result in lower predictions of gasPrice than in Parity. This results in unexpected transaction failures such as: Transaction gas price supplied is too low. There is another transaction with the same nonce in the queue. Try increasing the gas price or incrementing the nonce. You can mitigate this by padding the gas price, or by using other third party sources, like[ the ](https://ethgasstation.info/)[Eth Gas Station](https://ethgasstation.info/) to get your price estimates. ‍ ### 8. Switch over traffic and monitor the service It’s finally time to make the switch! Move your traffic over to Geth and monitor it carefully over a few days. If you run into any other unexpected issues, feel free to reach out to the Geth team or come talk to us. ‍ ## Want an easier way to migrate? We hope this guide was useful in helping navigate the Parity to Geth migration process!  If you have any questions or challenges, feel free to reach out to us - we’re here to help. Additionally, if you want to turbo charge your development with a platform that makes it significantly easier to build and release blockchain applications without having to deal with low level tasks like managing nodes, come talk to us!  At Alchemy, we created the [Blockchain Development Platform](http://alchemy.com) from the ground up to make developer’s lives easier.  Now through a powerful suite of developer tools, 24/7 support, and a globally scalable novel blockchain infrastructure platform, you can [save thousands of hours](https://www.alchemy.com/case-studies) on development, make your application [107x more reliable](https://www.alchemy.com/case-studies/kyber-network), and create [much better products](https://alchemy.com/case-studies/augur) [for your users](https://alchemy.com/case-studies/zeroex).  Feel free [to reach out](https://www.alchemy.com/contact-sales) to learn more! Good luck with your migration to Geth. It's 2020. Stay healthy and keep your nodes healthy! ‍ --- *Sign up for a free Alchemy account [here](https://dashboard.alchemy.com/signup?referral=affiliate:548fed5d-60b9-4530-89ef-28fa57ea280f).* ‍ #### About Alchemy [Alchemy](https://dashboard.alchemy.com/signup?referral=affiliate:548fed5d-60b9-4530-89ef-28fa57ea280f) provides the leading Blockchain Development Platform powering products used by millions of users in 197 countries. The Alchemy Platform's novel infrastructure engine and suite of unparalleled developer tooling enables creators to easily build great blockchain based products in a fraction of the time. Backed by Stanford University, [Coinbase](https://www.alchemy.com/dapps/coinbase), the Google Chairman, Charles Schwab, and top technology and finance executives, the team brings deep expertise in blockchain development and massively scalable infrastructure through decades of experience at technology giants like Google, Microsoft, and Facebook. --- # Series C-1: Growing with the Community URL: https://www.alchemy.com/blog/series-c-1.md Dear developers and builders, Years ago, like many of you, we learned about blockchain and got excited about its potential to enable totally new types of applications. The promise of more open, transparent, and community-owned systems became clearer over the years, and by 2017, we were hooked. We jumped in and started building. Only to immediately find out how incredibly hard it was to actually build a blockchain application. At that time, there weren’t really developer tools or reliable infrastructure that you could build applications with. We were dismayed. Blockchain applications could change the world, but that didn’t matter if people couldn’t build them to begin with. All our friends building in the space felt the same pain. We wanted to build cities and skyscrapers, but it was as if we only had shovels and pickaxes. We were going to need some power tools. That’s when we realized the promise of blockchain would only play out if developers had the tools that they needed. And since those tools weren’t there already, well, we would build them. And so, in a small loft in San Francisco in 2017, Alchemy was born.** Our mission: to make blockchain development accessible by providing the tools and infrastructure that developers would need.** Today, more than four years later, we’re excited to get to work with thousands of developers and teams building the future of Web3 and help support tens of millions of users all around the world. We’re humbled that so many of you have chosen to work with us, and honored to have played a small role in so many important companies and projects like OpenSea, Dapper Labs, 0x, Royal, Axie Infinity, and hundreds more. As NFTs, DeFi, [DAOs](https://www.alchemy.com/dapps/top/daos), and the emerging metaverse have taken the world by storm, we’ve only gotten more excited, knowing that we’re all just getting started. Through it all, our mission has stayed exactly the same as when we started: to make blockchain development accessible to every developer. Why do we care so much? It’s because we have always been developers and builders ourselves. We know exactly what it is like to try to build something from scratch. It is an exciting, challenging, and ambitious thing. It is a tremendous undertaking, and having been there ourselves, we want to help. When we raised our Series C three months ago, we made a [commitment to re-invest in the community.](https://www.web3.university/) Since then, we’ve been hard at work on many initiatives, including these three that we’ve already launched: - [Web3 University](https://www.web3.university/), a free educational resource for developers entering the space - [Alchemy Ventures](https://www.alchemy.com/ventures), to provide financing and resources for the next generation of companies - A [massively expanded free tier](https://www.alchemy.com/blog/more-capacity-lower-prices) for developers just starting out That was just the beginning. Today, we’re excited to share that we’ve raised $200M in a new round of financing led by Lightspeed and Silver Lake. We believe we’re just in the first inning of Web3 and blockchain, and we’ll be using this new round of financing to double down and continue to invest in the ecosystem that we all share. We cannot wait to keep building together. As we continue to support this community, let us know how we’re doing. Please reach out to us on [Discord](https://alchemy.com/discord) or [Twitter](https://x.com/Alchemy) with any ideas or product feedback! And if you want to join us on our mission, we’re [hiring](https://jobs.lever.co/alchemy)! To you, the builders: thank you for working with us, and keep on building! You are the creators of tomorrow, and we’re excited and honored to support you on this journey! Thank you! Joe and Nikil --- # Set Up Claude Code With Alchemy in 60 Seconds | Alchemy URL: https://www.alchemy.com/blog/setup-claude-code-with-alchemy.md Claude Code is good at writing the code that talks to a blockchain. The trouble starts after that. It guesses which [RPC](https://www.alchemy.com/rpc-api) method to call, invents the shape of the response, and has no way to check a balance, a price, or what a transaction actually did. So it writes plausible code against data it can't see. One command fixes that. Connect Claude Code to Alchemy and it stops guessing. It reads live data across 100+ chains, simulates a transaction before anything runs, and, when you let it, signs and sends. One command turns Claude Code into an onchain agent, and the setup takes about a minute. ## What does connecting Claude Code to Alchemy do? The connection runs over MCP (Model Context Protocol), an open standard that lets an agent discover and call external tools at runtime. Our [Alchemy MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) is hosted, so there is nothing to run locally. Point Claude Code at it once and it gains [168 tools across 100+ networks](https://www.alchemy.com/docs/alchemy-mcp-server), grouped into three families: admin (manage your apps), RPC (every JSON-RPC method on every chain), and data (prices, token and NFT balances, transfer history, multi-chain portfolios, and transaction simulation). The difference shows up the first time you ask a real question. Without a data connection, "what's the current price of ETH?" gets you a number from training data that was stale the day the model shipped. With the server connected, Claude Code calls a tool and reads the price from a live endpoint. The same holds for a wallet balance, an NFT owner, or the asset changes a pending transaction would cause. Your agent moves from writing code about the chain to reading the chain directly. ## The 60-second setup The fastest path is the hosted server. Run one command in your terminal: Restart Claude Code (or open a new conversation) and run `/mcp` to confirm `alchemy` shows up in the list of active servers. The first time Claude Code calls an Alchemy tool, a browser window opens to sign in with your account. Authentication uses OAuth, so there is no API key to paste, no local install, and nothing in a `.env` file. After that, point your agent at one of your apps ("select an Alchemy app") and start asking. That is the whole setup: one command, one browser sign-in, and your coding agent is reading live onchain data. ## What can you ask once it is connected? The point of the connection is that you ask in plain English and Claude Code picks the right tool. A few prompts that work the moment the server is wired in: - "What's the current price of ETH and USDC?" reads spot prices from the [Data API](https://www.alchemy.com/docs/data) Prices surface. - "Show me the tokens vitalik.eth holds across Ethereum, Base, and Arbitrum." pulls a multi-chain portfolio in a single call instead of querying each chain by hand. - "What did transaction 0xabc... actually do?" runs a simulation and returns a human-readable diff of every token and ETH movement, so the agent reasons about effects, not raw calldata. - "Which contracts has this address interacted with in the last 100 blocks?" reads transfer history and event logs directly. Each answer comes back as structured data the agent can act on, not prose it has to parse. That is what makes a connected agent useful. It reads its own ground truth, then writes code or makes a recommendation against data that is true right now. ## How do you go further with the CLI and Skills? The hosted server is the quickest way in. If you'd rather have it bundled, the [Alchemy plugin for Claude Code](https://www.alchemy.com/blog/alchemy-claude-plugin-now-live) packages the same MCP server with slash commands like `/alchemy:balance` and Agent Skills in a single install. And the [Alchemy CLI](https://agents.alchemy.com/) is the way to go deeper, because it adds two things neither of those ship: scriptable commands you can pipe and chain, and transaction signing with a wallet you control. Install it, sign in, and wire it into Claude Code: `alchemy install skills` adds [Alchemy Skills](https://github.com/alchemyplatform/skills), machine-readable workflows that teach a coding agent how to use the CLI without scanning docs at runtime. The bundle covers four surfaces: the CLI itself, app integration with an API key, MCP, and the wallet-based payment flow. One more command, `alchemy agent-prompt`, emits a JSON manifest of every command, flag, error code, and runnable example that you can drop straight into Claude Code's context. Together, Skills and the manifest mean the agent already knows the surface before it sees a single doc page. Full reference lives in the [Alchemy CLI docs](https://www.alchemy.com/docs/alchemy-cli) and the [build with AI overview](https://www.alchemy.com/docs/build-with-ai-overview). ## Can Claude Code sign and send transactions? Reading is safe by default. Writing needs a wallet, and the question every developer should ask first is where the private key lives. With the CLI it never lives in your agent's context. This connects [agent wallets with Privy custody](https://www.alchemy.com/blog/agent-wallets-alchemy-cli). Privy holds the wallet's private key on its side. The CLI generates a fresh, time-bound session key on your device and signs with that, so a compromised prompt can't drain the wallet and the raw key never touches the model. Revoke the session from the dashboard or with `alchemy wallet disconnect` and it stops working immediately. From there the agent can simulate a transaction, show you the diff, and send only after you approve. The rule holds whichever mode you pick. The agent never sees a raw private key, and if your design puts one in context, you have built a vulnerability instead of an agent. This is also the pattern worth teaching your tools. A coding agent with no Alchemy context tends to reach for raw key handling when you ask it to sign. Wire in the CLI and the managed session flow becomes the default it reaches for, which is the safer answer and the one you want it to learn. For the full architecture, see [how to build onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents). If you want to explore further, check out these demos: ## Start in 60 seconds Connect Claude Code to live onchain data with one command: Sign in when the browser opens and start asking. No API key, no dashboard signup, no local install. Want signing and scriptable commands too? Install the [Alchemy CLI](https://agents.alchemy.com/), run `alchemy auth login`, and your agent can read, simulate, and send from the same setup. Your coding agent already writes onchain code. Now it can run it. --- # Alchemy & Partners Reward Ethereum’s ‘Shadowy-Super-Coders’ URL: https://www.alchemy.com/blog/shadowy-super-coders.md ### Alchemy partners with other industry leaders to announce community-wide rewards for Ethereum contributors as part of a limited edition Galaxy NFT drop. Last month, U.S. Senator Elizabeth Warren now famously expressed: “[Crypto Puts Financial System In The Hands of ‘Shadowy Super-Coders](https://decrypt.co/76997/elizabeth-warren-crypto-big-banks-shadowy-super-coders)”, a term the crypto community positively embraced, proud of coders building useful decentralized applications. [Alchemy’s](https://alchemy.com/?r=affiliate:d0786bef-434b-45b5-925b-28eff32f14c1) goal is to provide our developers, now known as “Shadowy Super-Coders”, with the infrastructure & tools to bring the magic of blockchain to the world. Today, we are doubling down on our commitment to our developers by announcing our participation in the Limited Edition [Galaxy](https://galaxy.eco/) NFT drop, exclusive for developers who have actively contributed to the Ethereum blockchain in the past. “Alchemy strongly believes in supporting and empowering its developers as the industry continues to grow at a rapid pace. In joining this coalition of organizations, Alchemy is telling our developers ‘We’ve got your back’, echoing our previously stated mission of empowering the early builders within this nascent space.” - Paul Payam Amasi, Co-Founder of Alchemy Amplify Holders of the Limited Edition Galaxy NFT will get access to the Alchemy “Shadowy Coder Super Pack” which grants: 1. **Developer Platform Incentives** - 2 Weeks free Enterprise trial - Up To 30% Discount off of Enterprise Tier - 10% Discount of Growth Tier 2**. Community Access** - Priority access to Content Writers - Spotlight on developer newsletter with 30k subscribers - Launch amplification on Twitter _This offer is only available to new users of Alchemy and will expire on November 19th, 2021._ On top of the rewards offered from Alchemy, NFT holders will also receive access to an exclusive SuperCode discord, utility token airdrops, educational content from various organizations, co-marketing, and more. ## Who exactly are these shadowy super-coders? In order to reward active developers, our friends at Project Galaxy & Supercoder Banteg of Yearn compiled a list of over 100,000 developers who qualify for this limited edition NFT. These are individuals who have deployed at least 1 contract on [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) before August 1st, 2021 & deployed contracts that have had interactions between 2\+ unique addresses on the mainnet. The eligible addresses are split up in two 2 tiers: - Tier 1: those that served \>=500 unique addresses AND contracts that had at least 1 transaction in 2021 - Tier 2: those that served \<500 unique addresses AND those that served \>=500 but have no transactions since 2021 **We’re happy to announce that we are giving away the “Shadowy Coder Super Pack” to both Tier 1 & Tier 2 coders.** ## Various partners in the coalition & VIP access Alchemy is proud to work with [Polygon](https://polygon.technology/), [Gitcoin](https://gitcoin.co/), and other key organizations in the crypto community to provide continued support for developers across the blockchain ecosystem. By unifying, we believe that we can come together and help the crypto industry continue to grow at a rapid pace -- helping achieve our goal of having the infrastructure & tools for these developers to keep on innovating. If you are an eligible developer for the Alchemy “superpack,” and need these rewards quickly, feel free to reach out to [VIP@Alchemy.com](mailto:VIP@Alchemy.com) in order to expedite fulfillment of rewards before they officially come out. ## About Alchemy: [Alchemy](https://alchemy.com/?r=affiliate:d0786bef-434b-45b5-925b-28eff32f14c1) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on [TechCrunch](https://techcrunch.com/2019/12/17/alchemy-blockchain/), [Wired](https://www.wired.com/story/startup-aims-decrypt-blockchain-business/), [Bloomberg](https://www.bloomberg.com/news/articles/2019-12-17/stanford-grads-get-school-s-backing-for-their-blockchain-startup), and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. ###### Sign up for a [free account](https://alchemy.com/?r=affiliate:d0786bef-434b-45b5-925b-28eff32f14c1). Check out our [documentation](https://www.alchemy.com/docs). For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Shape is live on Alchemy URL: https://www.alchemy.com/blog/shape-is-live.md We’re excited to roll out [Shape](https://dashboard.alchemy.com/products?chains%5B0%5D=shape), the chain for creators! Shape is a low-cost, high-throughput, and culture-first network, built on Ethereum and powered by our [Rollups-as-a-Service](/rollups) platform. Starting today, developers can build on the Shape Mainnet and will have access to our entire developer platform. All of the most trusted APIs, products, and tools are available to make building on Shape easy and effective. ## Why build on shape? Shape is an open platform that encourages limitless creativity—whether it's fine art, weird experiments, or creating entire new worlds built on digital objects. Shape is committed to a [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) onchain future, where anyone can build anything. We're inspired by Shape's vision of creating an empowering space for digital artists and builders, founded on the principles of accessibility and decentralization. The network itself is designed to prioritize community consensus and creation. With **Gasback**, 80% of sequencer fees are returned to smart contract owners, allowing the community to "shape" the value of activities, games, and objects in real time. This ensures that cultural impact is both recognized and rewarded. As part of our partnership, Shape builders have access to the complete Alchemy developer platform, and the products and APIs to build anything. This includes: - [Node API](https://www.alchemy.com/rpc-api) - for the fastest and most-reliable uptime in web3 - [Account Kit](https://www.alchemy.com/smart-wallets) - enabling web2-caliber sign-up and transactions - Data APIs - powering [token](https://www.alchemy.com/token-api) history, [NFT](https://www.alchemy.com/nft-api) calls, and more ## Shape use cases Shape is a permissionless network, allowing anyone to build on the chain. This openness is reflected in the partners building on Shape from Day 1, including [Deekay](https://x.com/deekaymotion), [Transient Labs](https://x.com/TransientLabs), [Highlight](https://x.com/TransientLabs), [White Walls](https://x.com/whitewallsapp), [Buildtree](https://x.com/buildtree_io), [Ninfa](https://x.com/Ninfa_io), and others. With the Shape team’s roots in digital art, NFTs, and decentralized networks, Shape is particularly well-suited for: - Digital art - Gaming - Decentralized AI - Community-driven [apps](https://www.alchemy.com/dapps/top/defi-dapps) [Get your API key](https://dashboard.alchemy.com/products?chains%5B0%5D=shape&utm_source=blog&utm_medium=blog&utm_campaign=shape_mainnet&utm_id=shape) and start creating anything on Shape Mainnet! --- # ShapeShift Brings Sophistication To DeFi Markets URL: https://www.alchemy.com/blog/shapeshift-bring-sophistication-to-defi-markets.md ShapeShift is one of the most distinguished organizations in crypto, and they are widely regarded as a pioneer in non-custodial crypto asset management. ShapeShift’s platform, which allows people to effortlessly buy, sell, and exchange crypto assets without ever relinquishing custody of them, is the destination of choice for people who want to trade quickly and securely. On top of that, Shapeshift offers [zero-fee trades](https://microtick.com/), which combined with the features mentioned above, gives users an unbeatable trading experience. ShapeShift has already originated many advances in crypto, but that is just a fraction of what the company has planned for the future. ShapeShift devotes significant resources to research and development with an eye towards growing the feature set of their already dynamic exchange. “We want to keep flying the flag of crypto innovation,” says Kent Barton, ShapeShift’s head of Research and Development.  **Alchemy helps ShapeShift focus on delivering their core mission** This is without a doubt an ambitious goal, but one we're confident they will achieve. That is why we're proud to back ShapeShift's mission by contributing the infrastructure technology they need to support their users, and advance their platform’s functionality. Many of the assets that trade on ShapeShift, and many of the [apps](https://www.alchemy.com/dapps/top/defi-dapps) that ShapeShift integrates with are Ethereum-based, so the strength, speed, and reliability of their node infrastructure are essential to ShapeShift’s ability to meet its users’ needs. Alchemy’s Supernode API allows ShapeShift to communicate with Ethereum, determine which assets are flowing through the system, and take the appropriate action steps based on user input. Alchemy has been supporting ShapeShift for the last several months while they have scaled their services. "Since we came across Alchemy, we have never looked back,” says Kent. “It works wonderfully, it stays up, and when we need to reconnect, we reconnect and move on." Alchemy provides ShapeShift with all the node functionality they require via Supernode. “We've saved weeks of engineering time and lots of headaches in terms of support,” says Kent. **Lessons learned for the road ahead** ShapeShift is placing a heavy emphasis on R&D work to develop the systems they will need to bring the team’s vision of a decentralized crypto portal fully to life. One example of this innovation is ShapeShift’s contribution to [Microtick](https://microtick.com/), a decentralized, community-led platform which aligns incentives for oracles interacting with a blockchain, in a fair and economic way. Microtick does this by creating a market for prices that changes over time, based not only on spot price, but also volatility. This will solve the “[oracle cost problem](https://medium.com/mycrypto/wtf-is-a-blockchain-oracle-533fbce95911),” which in turn enables the growth of more dynamic and complex crypto markets. The team’s focus on incentivizing oracles in an economical way is the result of years of work spent improving crypto asset trading. One earlier foray into the arena of oracle-guided crypto asset exposure was Prism, which launched in 2017. Although Prism attracted significant attention, it ultimately shut down in late 2018. “Prism, while it was well received, faced challenges on the business and scalability side,” says Kent. “It showed us we had more work to do.” Building a reliable, user-friendly crypto market Armed with the knowledge and insights they have gained over their years building crypto markets, the ShapeShift team has a clear view of what is needed to manifest their vision. And by doing so they will be improving the virility of DeFi in crypto. One key to their success will be the team’s ability to combine robust functionality, reliability, and security with a smooth and seamless user experience. “The key problems to solve are, how do you expand the platform’s functionality as far as possible? How do you make sure it can connect to other dapps? And how do you do this while making the user experience as easy and enjoyable as possible?” says Kent.  This is where ShapeShift relies on Alchemy to help them push the boundaries of their platform’s growth. Using Alchemy’s node infrastructure, ShapeShift is able to connect with apps such as [MetaMask](https://www.alchemy.com/dapps/metamask) to provide large numbers of traders with the most optimal transactions, based on each user's requests. “If we approached the bridge differently, it would be clunkier, people wouldn't have enough gas,” says Kent. “As it is, with Alchemy, the bridge has never failed.”**‍** ShapeShift has already achieved a great deal, and they have high expectations for what’s to come. We are thrilled to help them grow and thrive, which in turn helps create a more robust DeFi ecosystem. Interested in learning more about ShapeShift? [Go here.](https://shapeshift.com/) Want to know why Microtick is so cool? [Check it out!](https://microtick.com/) Want to chat with Alchemy Devs? [Join our Discord.](https://discord.com/invite/u72VCg3) Ready to build the next killer app? [Get started free with Alchemy.](https://dashboard.alchemy.com/signup?referral=affiliate:642f30f4-1c48-437d-953a-285f3cb407c8) --- # Smart Accounts Adoption Accelerated in Q4 2023 URL: https://www.alchemy.com/blog/smart-accounts-adoption-accelerated-in-q4-2023.md ERC-4337 smart account adoption saw major growth in the fourth quarter of 2024, surpassing 1 million total deployed accounts!  Over 960,000 new ERC-4337 accounts were created in Q4, representing 53% of the total 1.8 million deployments to date. This rapid pace of new smart account creation indicates ERC-4337 adoption is accelerating across the industry. **In this article, we will:** - Analyze ERC-4337 user behavior on Ethereum, Arbitrum, Optimism, Base and Polygon - Review ERC-4337 Bundler and Paymaster performance - Discuss the future of ERC-4337  ## More than 5,400,000 user operations were executed in Q4 Smart accounts allow you to initiate [User Operations \(UserOps\)](https://www.alchemy.com/overviews/user-operations) instead of basic transactions. UserOps are meta-transactions that get bundled by Bundlers.  In Q4, over 5,400,000 UserOps were executed, a 194% increase compared to Q3 2023! The top three apps driving growth this quarter were: ### 1. Grindery [Grindery](https://twitter.com/grindery_io) is a telegram bot that allows users to send and receive tokens. Grindery has been running a token incentive program to drive sign-ups. In December, 35% of UserOps were generated by users farming the Grindery token. ### 2. FanTV [FanTV](https://fantv.in/) is a video streaming platform that rewards users with tokens for watching videos. In December, 18% of UserOps were driven by users claiming and transferring FanTV rewards. ### **3. CyberConnect**  Smart accounts on [CyberConnect](https://cyberconnect.me/), a web3 social app, generated 13% of the UserOps in December. Other interesting use cases we've seen smart accounts adopt include: - Transferring value with [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) \(e.g. USDC, USDT\). - Completing onchain quests on CapX to earn tokens. - Staking on EigenLayer ## Multi-UserOp bundles are becoming more common In Q4, we saw a massive spike in the number of [bundle transactions](https://www.alchemy.com/overviews/what-is-a-bundler) that contained multiple UserOps. Multi-UserOp bundles peaked at 32% in October and dipped to 9% by December. The main reason why there aren't many multi-UserOp bundles is that there aren't always enough UserOps being submitted to make big bundles without significantly delaying execution. It is important to increase the number of user operations in bundles because users benefit from lower fees when the cost to execute a bundle is distributed across more UserOps. Similarly, bundlers earn more on gas premiums. ## Polygon leads smart account adoption Highlighted in our [Q3 2023 Account Abstraction report](https://www.alchemy.com/blog/erc-4337-statistics-q3-2023), the Optimism and Arbitrum blockchains surpassed Polygon in number of active monthly accounts during August. The main drivers were CyberConnect's airdrop on Optimism and the minting of ZTX NFTs on Arbitrum. However, in September, Polygon regained its top ranking after Grindery launched token incentives and FanTV adopted smart accounts. These launches drove a 114% increase in active monthly accounts on Polygon. As of now, Polygon holds the dominant market share with 92% of monthly active accounts. ## Smart account power users emerged in Q3 In September, the number of smart accounts submitting more than five \(5\) UserOps per month increased 15x from 1,688 power users to more than 25,000. This cohort of “power users” currently sits at 9,000 monthly active accounts. ## New smart account users are increasing The percentage of monthly active accounts that are “newly active” \(i.e. accounts that made their first UserOp that month\) has risen from 71% at the end of Q3 to 88% in Q4. This indicates that more people are trying ERC-4337 wallets and applications with account abstraction for the first time. Smart accounts make it possible to offer new users a zero-friction onboarding experience. The percentage share of new users is greater, but the quantity of returning monthly users has also been growing. The ecosystem saw monthly returning users increase almost 13% from 47k in September to 53k in December. ## Paymaster volume blew past $1,000,000 in Q4 [ERC-4337 Paymasters](https://www.alchemy.com/overviews/what-is-a-paymaster) offer a standardized way for applications and wallets to implement flexible gas-handling policies. These policies include options like [subsidizing gas fees for users](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm) or enabling gas payments in stablecoins or other ERC-20 tokens.  Paymasters have gained significant adoption in the ERC-4337 ecosystem. In the 4th quarter, 97% of UserOps used a Paymaster to pay transaction fees, rather than the standard approach of paying fees in ETH. This widespread Paymaster integration highlights the demand for more flexibility in transaction fee payment options. In December, total paymaster volume across all paymasters crossed $1M. In Q4 2023, Alchemy processed 24% of the total monthly paymaster gas spend, Pimlico processed 28%, Stackup 26% and Biconomy 8%. ## What comes next? ERC-4337 accounts had a breakout year in 2023 but their adoption is still small relative to EOA wallets. We believe that smart accounts will be more popular than EOA wallets by the end of this decade. In 2024, steps will be made toward that end: ### 1. P2p mempool Work is in progress to build a public ERC-4337 mempool. This alternative mempool will create a competitive market for bundlers, and improve the overall user experience with multiple bundlers competing on speed and efficiency to get UserOps finalized faster and more cost-efficiently. ### 2. More crypto consumer apps Smart accounts allow protocol developers to deliver beginner-friendly user experiences that were previously only possible on custodial platforms. This is a huge unlock for crypto consumer products that exist onchain. To start building, explore some of these guides: - [Start Building with Account Kit](https://www.alchemy.com/docs/wallets) - [Sponsor Your First UserOp](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm) ### 3. EIP-7212 Most modern devices and applications use the “secp256r1” elliptic curve to create digital signatures, but the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) uses the “secp256k1” curve. EIP-7212 proposes adding native support for the secp256r1 curve to the EVM, which would enable UserOps to be signed using passkeys, Webauthn, Android Keystore, the secure enclave on Apple devices, and more! If implemented, users would be able to use their existing mobile devices as the “keyholders” for their smart accounts. ### 4. ERC-6900 [ERC-6900: Modular Smart Contract Accounts and Plugins](https://eips.ethereum.org/EIPS/eip-6900) is a standard for building plugins that extend the functionality of modular smart accounts, such as social recovery, custom spending policies, or r1 signature validation as mentioned above. It optimizes for reducing fragmented development efforts that would be unique to particular implementations or ecosystems, avoiding onchain vendor locking while maximizing component and security re-use. You can engage in the standard’s development with a pull request to the [Github repo](https://github.com/erc6900/reference-implementation), a comment to [Ethereum Magicians](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885), joining the bi-weekly community calls, or a question in the Modular Smart Contract Accounts [telegram channel](https://t.me/+KfB9WuhKDgk5YzIx). ### 5. RIP-7650 [Rollup Improvement Proposal \(RIP\) 7650](https://ethereum-magicians.org/t/rip-7560-native-account-abstraction/16664/1) proposes consensus-layer protocol changes to enshrine ERC-4337 and support native account abstraction. --- # Solana Account Archive: Query Account State at Any Slot | Alchemy URL: https://www.alchemy.com/blog/solana-account-archive.md The Account Archive answers `getAccountInfo` for any Solana account at any historical slot (vote accounts and per-slot sysvars excepted), with a deep, ever-growing window of historical coverage that is never pruned. Use the `slot` parameter to read state at a point in time, or `lastUpdateBeforeSlot` / `firstUpdateAfterSlot` to walk an account's update history. Reads are served with median latency in the microseconds. ## Solana only remembers the present Here's a detail about Solana that surprises even experienced builders: a validator stores exactly one copy of each account, the latest one. Every write overwrites the previous state in place, and so the moment an account is touched, whatever it looked like before is gone. Even for a slot the node still has full blocks for, the account state at that slot no longer exists anywhere on the machine. This is a feature, not a bug. It's part of why Solana is fast. But it means a whole class of very reasonable questions have no answer, like: - **Debugging**: "Our liquidation fired at slot 285,401,337. What was the oracle price account at that exact slot?" - **Backtesting**: "Reconstruct this pool's reserves at every point over the last six months." - **Audits**: "Prove what this token account held on March 3rd." - **Recovery**: "Our indexer was down for four hours. Rebuild exactly the state transitions we missed." You might think `getBlock` covers this, but it doesn't. It returns a past slot's transactions and their pre/post balances, not account data. For most applications, the state that matters lives in the data bytes: the order book, price feed, position, or configuration. Solana Account Archive brings the full history back. It answers `getAccountInfo` for any account at any slot since July 2025, using the same request and response shapes you already use. Two things set it apart. The archive never prunes, so the queryable window only grows over time. And it skips the chain's own per-slot bookkeeping (vote accounts and a handful of sysvars that get rewritten every slot), since that's noise, not useful history for app builders. ## The API: getAccountInfo, extended We deliberately did not invent a new method. The archive speaks standard JSON-RPC and implements `getAccountInfo` with all the config options you already know: `encoding` (`base64`, `base58`, `base64+zstd`, `jsonParsed`), `commitment`, `dataSlice`, and `minContextSlot`, plus three new, mutually exclusive parameters: slot", tooltip: "", icon: "" }, semantics: { title: "State as of slot S (inclusive: the latest write with slot <= S)", tooltip: "", icon: "", }, useItFor: { title: "Point-in-time snapshots", tooltip: "", icon: "" }, id: 0, }, { parameter: { title: "lastUpdateBeforeSlot", tooltip: "", icon: "", }, semantics: { title: "The most recent write strictly before S", tooltip: "", icon: "", }, useItFor: { title: "Walking an account's history backward", tooltip: "", icon: "", }, id: 1, }, { parameter: { title: "firstUpdateAfterSlot", tooltip: "", icon: "", }, semantics: { title: "The first write strictly after S", tooltip: "", icon: "", }, useItFor: { title: "Walking an account's history forward", tooltip: "", icon: "", }, id: 2, }, ], }} /> These three are also mutually exclusive with `minContextSlot`; pairing it with any of them is rejected. Omit all three and you get a normal, latest-state `getAccountInfo`; the archive is a drop-in superset. Here is a complete point-in-time read, a token account's state as of slot 400,000,000: The response is the standard `getAccountInfo` shape: Note the semantics: `slot: S` means state as of `S`. If the account was last written at slot `S - 40,000` and untouched since, you get that write, exactly what any program executing at slot `S` would have seen. And `jsonParsed` works on historical state too: the same decoders a standard RPC node uses are applied to the historical bytes, so a token account from early in the coverage window comes back decoded, not opaque. ### An iterator over an account's history `lastUpdateBeforeSlot` and `firstUpdateAfterSlot` turn the archive into an iterator over every state transition of an account. `lastUpdateBeforeSlot` returns the actual slot of the write it found in `context.slot`, so each response is the cursor for the next request: The walk has exactly one stopping point: error `-32020`, meaning the cursor has stepped past the edge of the archive's coverage. A `null` value along the way means what it always means in `getAccountInfo`: the account did not exist as of that slot — here, because the write at `context.slot` deleted it. Feed that slot back in as the cursor and the walk continues through the account's earlier life. `firstUpdateAfterSlot` does the reverse: instead of stepping back in time, it moves forward, returning the next write strictly after a given slot. It's ideal for an indexer catching up from a known slot that wants every intermediate state, not just the latest. Between the two, you can walk an account's entire lifecycle: every balance change, every data mutation, every ownership change, with the exact slot each one landed at. ## Recording new writes as they happen Recording state going forward is the easy part. The archive listens to the network through a Geyser stream and records account writes as they happen, with two rules that keep the record trustworthy: Only finalized slots enter the archive. Solana forks constantly at the tip, and a block that looks real for a few seconds can simply vanish. The archive holds each slot's updates back until the network finalizes it, so the permanent record contains only what actually happened. Nothing is silently lost. Every Solana block names its parent, so any block the stream misses (a hiccup, a reconnect, a service deploy) is detected immediately and backfilled. The storage layer underneath is a story of its own. What matters here is the result: point-in-time reads are fast enough to sit in a hot path, with median latency in the microseconds (measured at our internal service layer). ## Rebuilding the past year Ingesting from today onward gets you an archive that's useful next year. We wanted the past year too, which means reconstructing account state for tens of millions of slots that had already happened, on a chain that keeps no history. And it's a lot of history: Solana produces a block roughly every 400 ms, about 216,000 slots per day. Over a year that's ~78 million slots, hundreds of billions of account updates, and more than a petabyte of raw account data, each slot carrying thousands of account writes with the full data payload attached. ### Why "just parse the transactions" doesn't work There is a tempting shortcut to fetch historical blocks and decode what each transaction did to each account. It fails for a fundamental reason that's worth internalizing: a Solana transaction is not a description of a state change; it's a program invocation. What actually happens to an account depends on the program's execution: CPIs fanning out into other programs, sysvars read mid-flight, compute metering, the precise semantics of the runtime at that slot. The block records which accounts a transaction touched and how balances moved, but the data bytes, the part you actually want, are determined only by running the code. There is only one faithful way to know what a transaction did to an account: execute it, with the real runtime, against the real state it executed against. ### Replay: running the chain again So that's what we do. The backfill pipeline is, in essence, a validator that relives history: 1. Boot from a trusted snapshot. The Solana Foundation maintains public archives of historical snapshots: full captures of every account at a given slot. Loading the snapshot at slot `A` gives us the complete, canonical state of several hundred million accounts at that moment. 2. Replay every block forward. From `A + 1`, each historical block runs through the actual validator runtime: real execution, not simulation, not log-parsing. Every transaction executes; the account writes the runtime produces are captured and indexed, slot by slot. 3. Stop at the next snapshot and prove it. This is the step that makes the whole thing trustworthy. When replay reaches slot `B`, where the next canonical snapshot exists, we compare our replayed end-state against it, including the accounts lattice hash: a cryptographic commitment to the entire account set that the network itself computes and agrees on. If a single byte of a single account diverged anywhere in the range, the hashes won't match and the range is rejected. We don't assume replay is correct; every backfilled range is checked against consensus ground truth before it's trusted. ### Old blocks need the runtime from their era Here's the wrinkle that makes replay genuinely hard: Solana's execution semantics are versioned in time. Feature gates activate at specific epochs, compute budget rules change, syscalls get added, edge-case behaviors get fixed. A transaction from twelve months ago must be replayed by a runtime that behaves exactly as the cluster did at that slot. Replay it with today's validator and step 3 will tell you, loudly, that you manufactured a history that never happened. In practice, the backfill fleet runs several pinned validator lineages, each responsible for the era it can faithfully reproduce, with work chunked along epoch boundaries so that every chunk begins and ends at a verifiable snapshot. Extending the archive further back is largely a matter of standing up the right runtime era and paying the replay compute. And because each epoch-aligned chunk is independent, history is perfectly parallel; backfilling a year is mostly a question of how many replay workers you run at once. ## Trust, continuously verified Hash-verified backfill covers the past; a separate concern is whether the serving path stays honest in production. So an independent watchdog continuously cross-validates the archive's answers against live RPC nodes, through the same public API you'd use. Correctness is paramount to us, and so it's re-verified every minute the service runs. A multi-layer approach: consensus-anchored hashes for backfilled history, finalization-gated writes at the tip, and continuous live cross-validation on top, ensures that you can trust a record of truth moving forward in time. ## What you can build with this Every question from the top of this post is now an API call: - "What was the oracle account at that exact slot?" One `getAccountInfo` with `slot` set. Pull the exact state of every account a failing transaction read, at the slot it executed. No more reconstructing oracle inputs from screenshots and guesswork. - "Reconstruct this pool's reserves over six months." Sample the pool account at a fixed slot cadence and backtest against what was actually on chain, not an approximation stitched together from trade events. - "Prove what this token account held on March 3rd." "As of slot S, account X contained exactly these bytes." That is answerable, and anchored to hashes the network itself agreed on. - "Rebuild the state transitions our indexer missed." Page forward with `firstUpdateAfterSlot` from your last known slot and receive every intermediate state, in order. And one the intro didn't ask: balance and position history without running an indexer at all. Walk a token account backward with `lastUpdateBeforeSlot` and you have its complete timeline. For wallet-wide token holdings at a past slot, see also [historical Solana token balances](https://www.alchemy.com/blog/historical-solana-token-balances). ## Get started Solana stays fast by keeping validators lean and focused on current state. Historical account state has simply lived elsewhere, and until now the ecosystem has worked around that. Solana Account Archive changes that. With finalization-gated live ingestion and a backfill pipeline that re-executes history through era-faithful runtimes and proves the result against consensus hashes, historical `getAccountInfo` becomes just another RPC call: same method, same response shape, one extra parameter. In a follow-up post we'll dig into the storage layer: how a year of Solana's account writes is organized on disk so that both ingesting new updates and answering point-in-time queries stay fast. Everything the archive indexes is compressed, stored with at least 3 replicas for redundancy, and never pruned, so the queryable window only grows. [Get started on Solana](https://www.alchemy.com/docs/reference/solana-api-quickstart), and [reach out to us](https://www.alchemy.com/contact-sales) if your use case needs deeper history, or you want to explore specialized solutions and pricing at scale. ## FAQ ### How do I get a Solana account's state at a specific slot? Call `getAccountInfo` on the Account Archive with the account's pubkey and a `slot` parameter in the config object: `getAccountInfo(pubkey, { "slot": S })`. The response is the standard `getAccountInfo` shape and returns the account's state as of slot `S`, the latest write at or before `S`. ### How do I get the full update history of a Solana account? Page with the cursor parameters. `getAccountInfo(pubkey, { "lastUpdateBeforeSlot": S })` returns the most recent write strictly before `S`, with the write's actual slot in `context.slot`; feed that slot back in as the next cursor to walk backward through every state transition. `firstUpdateAfterSlot` walks forward the same way. ### What's the difference between slot, lastUpdateBeforeSlot, and firstUpdateAfterSlot? `slot` is a point-in-time read: state as of slot `S`, inclusive. `lastUpdateBeforeSlot` and `firstUpdateAfterSlot` are exclusive history cursors: the nearest write strictly before or strictly after `S`. The three are mutually exclusive; omit all of them for a normal latest-state read. ### Does jsonParsed encoding work for historical account state? Yes. The same account decoders a standard Solana RPC node uses are applied to the historical bytes, so token accounts, mints, and other known program accounts come back parsed at any slot in coverage. All standard encodings work: `base64`, `base58`, `base64+zstd`, and `jsonParsed`, plus `dataSlice`. ### How far back can I query? Coverage currently extends back to July 2025, with backfill extending it further back over time. History is never pruned, so everything indexed stays queryable and the window only grows. ### How is the historical data known to be correct? Backfilled ranges are produced by re-executing every transaction through the validator runtime of the corresponding era, and the resulting state is verified against the network's own consensus artifacts, including the accounts lattice hash from canonical snapshots. Live ingestion commits only finalized slots, and an independent watchdog continuously cross-checks served results against live RPC nodes. ### Are all accounts covered? All accounts except pure per-slot chain bookkeeping: vote accounts and the three sysvars rewritten every slot (`SlotHashes`, `SlotHistory`, `RecentBlockhashes`) are excluded from the index. Program accounts, token accounts, mints, PDAs, wallets, and the remaining sysvars (Clock, Rent, and so on) are all covered. ### Do I need a new SDK or client? No. Any Solana JSON-RPC client works. The archive implements standard `getAccountInfo`, and the historical parameters are just extra fields in the existing config object. --- # What is Solana Alpenglow? Consensus upgrade explained | Alchemy URL: https://www.alchemy.com/blog/solana-alpenglow.md Solana transactions take 12.8 seconds to finalize. After Alpenglow, that drops to 150 milliseconds. But speed is just the surface. Alpenglow tears out Proof of History and Tower BFT, the two systems that have defined Solana's consensus since launch, and replaces them with a simpler architecture that also eliminates on-chain vote transactions. Those votes currently consume ~75% of Solana's block space. It passed governance with 98.27% approval, it's in private cluster testing now, and mainnet is expected late 2026. ## What is Alpenglow? Alpenglow is a complete replacement of Solana's consensus layer. The new architecture finalizes transactions in 100-150 milliseconds instead of 12.8 seconds, and by moving validator voting off-chain, it frees roughly three-quarters of block space for actual user transactions. Formalized as [SIMD-0326](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0326-alpenglow.md), the upgrade is built around two new protocols: - Votor: a new voting and finalization system that replaces Tower BFT - Rotor: a new block propagation system that replaces Turbine Think of it this way: Tower BFT is like a 32-step approval process where each block climbs through layers of confirmation. Alpenglow collapses that into one or two quick rounds. The upgrade also retires Proof of History, Solana's original cryptographic clock. Instead of running a continuous hash chain, validators use a fixed 400ms block time with local timeouts. ## Who's building it? The research came from Professor Wattenhofer's distributed systems lab at ETH Zurich. [Anza](https://www.anza.xyz/blog/alpenglow-a-new-consensus-for-solana), the core team behind the [Agave validator client](/blog/preparing-for-the-agave-2-0-upgrade), is leading implementation. Jump Crypto's Firedancer team is collaborating on multi-client compatibility. ## Where does it stand right now? - **May 2025**: Unveiled at Solana Accelerate in New York - **September 2025**: Governance vote passed, 98.27% yes, 52% of total stake participated - **Early 2026**: Available on Agave's master branch for private cluster testing - **Q3 2026**: Full release targeting Agave 4.1 - **Late 2026**: Mainnet activation expected after community testing and security audits (not yet on production clusters as of April 2026) ## How does Alpenglow work? Three changes. ### 1. Votor: how blocks get finalized The current system (Tower BFT) requires 32 incremental confirmations. Each layer adds a lockout period. Votor replaces this with one or two rounds of voting: - **Fast path (~100ms)**: If 80%+ of validators approve in the first round, the block is final. Done. - **Slow path (~150ms)**: If 60-80% approve in round one, a second round runs. If 60%+ approve again, it's final. Both paths run simultaneously. Whichever finishes first wins. Validators send votes as lightweight UDP messages directly to each other, not as on-chain transactions. Votor bundles these votes using [BLS signature aggregation](https://en.wikipedia.org/wiki/BLS_digital_signature): thousands of individual signatures compressed into one compact proof. Only the aggregated certificate (~1,000 bytes) lands on-chain, replacing the ~500KB of vote data currently recorded per slot. This is a big deal. Right now, ~75% of all Solana transactions are validator votes. Alpenglow eliminates them entirely. ### 2. Rotor: how block data spreads *Note: Rotor is part of the broader Alpenglow vision but ships as a separate SIMD from the core Votor consensus changes.* Currently, Solana uses Turbine, a multi-layer relay tree with a 200-node fanout. Block data hops through multiple layers. Think of it like a game of telephone. Rotor replaces this with a single-hop broadcast: the block producer sends data to a small set of relay nodes, and those relays push it to everyone at once. From a phone tree to a group broadcast. The numbers from the [Alpenglow whitepaper](https://www.anza.xyz/alpenglow-1-1): transmitting 1,500 shreds takes 18ms on 1 Gb/s bandwidth. Reaching 80% of total stake needs only ~150 nodes in about 2ms. ### 3. No more Proof of History Alpenglow retires Solana's cryptographic clock. Instead, validators use a fixed 400ms block time and local clocks with timeouts: - Block arrives before timeout: approve it (NotarVote) - Timeout expires with no block: skip it (SkipVote) The protocol tolerates clock drift proportionally: 5% drift only needs a 5% timeout extension. ## How does the security model change? Alpenglow introduces a "20+20" fault tolerance framework: Why does this work? For safety: conflicting forks can't both reach quorum because 80% + 60% = 140% > 100%. For liveness: the network still finalizes through the slow path even if 20% of stake goes offline. The trade-off: pure Byzantine tolerance drops from 33% to 20%. But in practice, real-world failures are mixed. Some nodes are malicious, some are just offline. The combined 40% tolerance handles that scenario better than traditional BFT's 33%. ## What are the performance gains? Simulation results show 65% of stake finalizes within 50ms of raw network latency. With a ~70ms longest one-way network hop, fast-path finality lands around 120-150ms. ## What changes for validators? The economics shift: - **Vote fees disappear.** Currently ~1 SOL/day per validator. Alpenglow moves all voting off-chain. - **New cost: Validator Admission Ticket (VAT).** ~0.8 SOL/day, entirely burned to reduce inflation. - **Validator cap: 2,000** (highest stake selected). - **Barrier to entry drops ~90%.** Minimum profitable stake goes from ~4,850 SOL to ~450 SOL. - **Operating costs drop 20-50%** overall. - **HSM support.** Identity keys can live in hardware security modules since they no longer sign high-frequency vote transactions. ## What changes for developers and users? **For developers**, the biggest change isn't the speed number. It's that finality becomes a single thing. Today, Solana has three commitment levels: `processed`, `confirmed` (~500ms, probabilistic), and `finalized` (~12.8s, deterministic). Every developer makes a choice per feature: accept rollback risk and show the user a fast result, or wait 12.8 seconds and be certain. Exchange deposit crediting, bridge confirmations, and liquidation engines all wait for `finalized` because even a small rollback risk is unacceptable. Everything else uses `confirmed` and hopes for the best. Alpenglow collapses this into one level. 100-150ms, deterministic finality on every transaction. No commitment level trade-offs. No retry logic for disappeared transactions. One check, done. That's what makes new patterns viable: onchain order books can offer tighter spreads because market makers know their quote state is final in 150ms. Perpetual exchanges might see lower latency costs on JIT auctions. Cross-chain bridges eliminate the Solana-side finality bottleneck. And exchange deposit crediting goes from a 13-second wait to instant. **For users**, transactions confirm fast enough to feel instant. The bigger shift is capacity: removing vote transactions frees up 75% of block space, which means lower fees and less congestion during high-traffic periods. **For [financial institutions building on Solana](/overviews/complete-guide-to-solana-for-financial-institutions)**, deterministic sub-second finality closes the gap with traditional payment rails. Stablecoin settlement, tokenized treasury operations, and cross-border transfers no longer need a 13-second buffer. ## What's still coming? Alpenglow also makes life easier for [Firedancer](https://jumpcrypto.com/firedancer/), Jump Crypto's independent validator client written in C/C++. Firedancer improves single-node performance; Alpenglow redesigns how nodes reach consensus. The simpler protocol means less consensus complexity to reimplement in a second codebase — a practical win for multi-client diversity. [SIMD-0326](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0326-alpenglow.md) covers only the Votor consensus changes. Three components from the [Alpenglow whitepaper](https://www.anza.xyz/alpenglow-1-1) are deferred to future proposals: - Rotor (block propagation), separate SIMD - Smart Sampling (bandwidth optimization) - Lazy/Asynchronous Execution The path to mainnet: Agave 4.1 release in Q3 2026, community testing and security audits through Q4, mainnet activation late 2026. ## Build on Solana with Alchemy Alpenglow makes Solana faster, but you still need reliable infrastructure to build on it. [Alchemy's Solana platform](https://www.alchemy.com/solana) gives you [archival data access up to 20x faster](/blog/how-alchemy-built-the-fastest-archival-methods-on-solana) than other providers, gRPC streaming at half the price with 6,000-block reconnection recovery, and 10x faster heavy method calls like `getProgramAccounts`. - **Smart WebSockets** that eliminate dropped connections, plus staked connections for reliable transaction routing - **Gasless transaction support** to remove friction for end users - **99.99% reliability** with multi-region deployment and 3-5 layers of autonomous failover [Solflare](https://www.alchemy.com/dapps/solflare), Robinhood, OpenSea, and Circle already run on [Alchemy's Solana infrastructure](/blog/solana-infrastructure). Pay-as-you-go pricing, no long-term commitments. [Get started with a free Solana RPC endpoint →](https://www.alchemy.com/solana) ## Frequently asked questions ### What is Solana Alpenglow? Alpenglow is a complete replacement of Solana's consensus layer that reduces transaction finality from 12.8 seconds to 100-150 milliseconds and eliminates on-chain vote transactions, freeing roughly 75% of block space for user transactions. ### What does Alpenglow replace in Solana's current architecture? Alpenglow removes Proof of History, Tower BFT, and on-chain vote transactions, replacing them with Votor (a new voting system), Rotor (a new block propagation system), and a fixed 400ms block time with local timeouts. ### When will Alpenglow launch on mainnet? Alpenglow is expected to activate on mainnet in late 2026, following the Agave 4.1 release in Q3 2026 and subsequent community testing and security audits through Q4 2026. ### How does Alpenglow achieve faster finality? Votor collapses the current 32-step confirmation process into one or two rounds of voting: the fast path finalizes at ~100ms with 80%+ validator approval, while the slow path finalizes at ~150ms with 60%+ approval across two rounds. ### How does Alpenglow impact validator costs? Alpenglow eliminates the ~1 SOL/day cost for on-chain vote transactions and reduces the minimum profitable stake from ~4,850 SOL to ~450 SOL, though validators will pay a new ~0.8 SOL/day Validator Admission Ticket fee that is burned. ### What are the security trade-offs in Alpenglow? Alpenglow tolerates up to 20% malicious validators and 20% offline nodes (or 40% combined), compared to traditional BFT's 33% limit, using an 80% quorum for fast-path finality and 60% for slow-path finality to prevent conflicting forks. ### How does Alpenglow change commitment levels for developers? Alpenglow collapses Solana's three commitment levels (processed, confirmed, finalized) into a single deterministic finality at 100-150ms, eliminating the need to choose between speed and rollback risk. ### What is the current status of Alpenglow development? Alpenglow passed governance with 98.27% approval in September 2025, is available on Agave's master branch for private cluster testing as of early 2026, and is not yet on production clusters as of April 2026. ## Key resources - [Alpenglow Whitepaper v1.0](https://www.anza.xyz/alpenglow-1-0) | [v1.1](https://www.anza.xyz/alpenglow-1-1) - [SIMD-0326 Proposal (GitHub)](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0326-alpenglow.md) - [Anza Blog: Alpenglow, a new consensus for Solana](https://www.anza.xyz/blog/alpenglow-a-new-consensus-for-solana) --- # Built for Solana: 20x Faster, 99.99% Uptime URL: https://www.alchemy.com/blog/solana-infrastructure.md We've spent the past two years partnering with Solana builders to understand their biggest pain points, and the last year rearchitecting our Solana offering to address them. While the tooling in the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) has advanced rapidly, we saw opportunities to push performance and reliability even further — especially for data-intensive apps and enterprises. Today, we’re excited to introduce what we’ve built - RPC and Streaming APIs built from scratch for Solana builders: - Up to 20x faster archive calls, with no code changes, or proprietary methods required - Up to 2x faster “heavy” methods, like `getTransaction` and `getTokenAccountsByOwner` - Ultra-fast, ultra resilient gRPC streaming at _less than half the price_ of other providers - 99.99% uptime and 2x\+ greater throughput across the full platform - Tons of new features and functionality that weren’t possible before \(gasless transactions, address activity webhooks, larger responses for calls like `getTokenLargestAccounts`, etc\) All of this is available to use today.[ Start here if you’re new to Alchemy](https://www.alchemy.com/solana), or keep using your existing setup with no change necessary if you’re already building with us!  ### The story No other ecosystem of developers in the world \(within Web3 or without\) could wear the phrase “chewing glass” as such a badge of honor as Solana builders did - embracing the hard but necessary work of building world-changing products on an ever-evolving, boundary-pushing technology. As Solana’s protocol and the tooling around it have leveled-up, the need to chew glass has shrunk, but is far from gone. While working with developers on Solana over the past several years, from Bags.fm to [Solflare](https://www.alchemy.com/dapps/solflare) to Robinhood, we found examples almost everywhere of builders finding creative ways to work around API constraints or infrastructure bottlenecks that slowed them down. For example, many Solana teams struggle with archive data access. Existing RPC providers built on Bigtable-based systems can’t efficiently handle large-scale historical queries, often leading to gaps or incomplete data. Builders end up spending months rebuilding backfills, throttling requests, or piecing together missing transactions just to get reliable datasets. For data-intensive apps and wallets, this slows iteration to a crawl and limits what’s possible with analytics or indexing. Our mission has been to remove those limitations and offer an uncompromised experience for every Solana builder. ### 20X faster archive data One of the most common asks we heard from Solana developers was that existing APIs just weren’t fast enough to meet their needs, especially on archive data like getTransaction, and “heavy” methods like getProgramAccounts. Take historical getTransaction calls. We’ve benchmarked as faster than any provider on the market, even beating some of the most reputable infra providers by up to 20x \(across p50, p90 and p95\). And that’s not an anomaly. We’re up to 3x faster on `getBlock`, up to 10x faster “heavy calls” like `getTokenAccountsByOwner` and `getProgramAccounts`, and more. How is such a wide margin possible? We've spent years building novel infrastructure to serve these methods performantly, and almost as long tuning them at scale with builders to ensure we could deliver in any circumstance. Take our infrastructure for serving archive data. We’ve taken the BigTable instance Solana infra providers have used for years and replaced it entirely. In its place we’ve built a multiregion, Hbase system purpose-built for RPC scale — distributing data globally for low-latency access, guaranteed completeness, and orders-of-magnitude faster performance under load. Importantly, while some providers may ask you to use proprietary APIs that lock you in to see any performance improvements, all the optimizations we’ve made are accessible without any code changes or lock-in. Finally, benchmarks can sometimes be gamed, and it’s common to see multiple providers claim they’re the fastest. The truth is, benchmarks don’t always tell the full story. Our focus is on helping builders understand real-world performance for their specific workloads. Our engineers can share our benchmarking methodology and help you run tailored tests.[ Contact our team](https://www.alchemy.com/contact-sales) to request a custom benchmark. ### 99.99% reliability Low latency is fantastic, but even the fastest API is unusable if it isn’t rock-solidly reliable. We’ve been building the most reliable APIs for the biggest onchain apps for more than 8 years, powering the most iconic and sensitive moments from [Polymarket](https://www.alchemy.com/dapps/polymarket) on election night to World’s Mainnet launch. That is no different on Solana. We’ve already been powering teams like Circle, Robinhood, TrustWallet on Solana reliably for years, but our current Solana infrastructure takes that to another level. Multi-region architecture, 3-5 layers of autonomous failover, extended \(6000 block\) replay on streaming reconnection… all built on a platform operated by a team of engineers that has the more experience powering blockchain teams at scale than any other in the world. The result is infrastructure that is 99.99% uptime when you start using it, as you build, and most importantly, during your most critical moments. ### New capabilities Beyond latency and reliability, the single biggest request we’ve heard from builders is for more flexibility, extensibility, and functionality out of the Solana API. As we’ve built up more and more novel infrastructure, we’ve been able to make much of this possible natively. For example, to-date Solana archive APIs have been rigid in how you consume their data - making scans through the oldest signatures and transactions to get to anything recent. This can add complication and significantly slow down for any application doing something as basic as showing a user their activity sorted by recency. With our new archive endpoints, we can easily get the latest data first - both making the APIs easier to use for those use cases, and a 10x better, faster experience for end users. The list of new capabilities is too long to fit inline here \(check out[ our Solana docs for more](https://www.alchemy.com/docs/reference/solana-api-quickstart)\), but here are a few highlights: - `getTokenLargestAccounts` has been extended to return up to 1000 accounts, rather than 20 - gRPC streaming has extended replay slots \(up to 6000 blocks\) - Gasless transactions, built straight into our APIs - 2× higher throughput than other providers, even for enterprise customers - Recency-first archive queries \(no more scanning from oldest\) - Address activity webhooks ### Built for Solana Solana as an ecosystem and technology is 1 of 1. Because of that, it’s important to mention not just what we’ve built, but our approach in doing so. We’ve learned \(in some cases, the hard way\), that merely porting a product from EVM to Solana is destined for struggles. That’s why we’ve taken the time to redesign our Solana API in a way that’s built for long term partnership with the ecosystem and its builders. Over that time, we assembled a world-class team of engineers by joining forces with[ DexterLab](https://www.theblock.co/post/354709/alchemy-acquires-solana-infrastructure-provider-dexterlab-as-it-continues-expansion-beyond-ethereum) and[ Bware Labs](https://www.alchemy.com/blog/alchemy-acquires-bware-labs) - two teams that spent years building specialized Solana infrastructure. With the best of the best lined up to work on the rearchitecture, we took a very specific approach - use the 8\+ years of technology Alchemy has built up as an accelerant, but be uncompromising in always building the best solution from the ground up for Solana. We’re very proud of the result, and much prouder of the work we’re doing to empower thousands of teams on Solana. All of this is available to use today.[ Start here if you’re new to Alchemy](https://www.alchemy.com/solana), or keep using your existing setup with no change necessary if you’re already building with us! ## Frequently asked questions ### What makes our Solana infrastructure different from other providers? We offer up to 20x faster archive calls, 2x faster heavy methods, 99.99% uptime, and 2x greater throughput, all without requiring code changes or proprietary methods. ### How much faster are our archive data calls on Solana? We're up to 20x faster on historical `getTransaction` calls, up to 3x faster on `getBlock`, and up to 10x faster on heavy calls like `getTokenAccountsByOwner` and `getProgramAccounts` compared to other providers. ### Do I need to change my code to get performance improvements? No, all optimizations are accessible without any code changes or lock-in, unlike some providers that require proprietary APIs. ### What is our uptime guarantee for Solana? We provide 99.99% uptime through multi-region architecture, 3-5 layers of autonomous failover, and extended replay capabilities on streaming reconnection. ### What new capabilities do we offer for Solana developers? New features include recency-first archive queries, `getTokenLargestAccounts` returning up to 1000 accounts (vs. 20), gasless transactions, address activity webhooks, and gRPC streaming with up to 6000 block replay. ### How does our archive infrastructure differ from traditional providers? We replaced the standard BigTable system with a custom multiregion HBase system purpose-built for RPC scale, ensuring guaranteed data completeness and faster performance under load. ### Who is already using our Solana infrastructure? Major teams including Circle, Robinhood, TrustWallet, Bags.fm, and Solflare rely on our Solana infrastructure. ### Can I test performance for my specific use case? Yes, our team can share our benchmarking methodology and help you run custom tests tailored to your specific workload. --- # Alchemy’s Platform and Infrastructure Expands to Solana URL: https://www.alchemy.com/blog/solana-on-alchemy.md Alchemy’s mission is to bring web3 to billions of people around the world by making it easy for any developer, anywhere, to build on blockchain. Today, we take a huge step forward in that mission. [Sign up to get Early Access](https://www.alchemy.com/solana/?a=1f16ef4b11), and in the coming weeks, Alchemy will be available for all devs building on Solana. ### The Solana team are pioneers in the Web3 space You don’t have to be a degen to be familiar with Solana. Solana’s technology enables meaningful and acute user benefits, including high throughput and fast, affordable transactions.  Now, with Alchemy’s support, it will be easier than ever for developers [to get started on Solana](https://www.alchemy.com/docs/reference/solana-api-quickstart) and capitalize on the user demand for diverse Solana applications - from NFTs and games to DeFi exchanges and wallets. ### With Alchemy, building on Solana just got way easier Alchemy has spent years building, refining and battle-testing a comprehensive web3 developer platform. The biggest names in web3 are all built on Alchemy today - from DeFi projects like 0x, Aave and dYdX to NFT projects like [OpenSea](https://www.alchemy.com/dapps/opensea), Nifty Gateway, Royal and [SuperRare](https://www.alchemy.com/dapps/superrare). The common thread among these projects is their reliance on Alchemy, which has allowed them to build some of the most popular and differentiated web3 experiences. Now, Solana devs will be able to capitalize on the Alchemy benefit, allowing them to build and scale their Solana applications faster and more easily. “We’re really excited that Alchemy will now support Solana. Their launch will give developers greater access to high-quality Solana infrastructure and tooling.”  - Raj Gokal, Co-Founder of Solana Alchemy has spent hundreds of thousands of hours building and optimizing platform products that can deliver reliability, scalability and accuracy for developers - a trifecta of benefits, otherwise elusive in this space. “We're thrilled that Alchemy will now be supporting Solana. Their infrastructure and product suite has a proven track record for performance benefits. This will be a game changer for Phantom and any other Solana developers who choose to start using Alchemy.”  - Francesco Agosti, CTO and Co-Founder, Phantom ### Alchemy’s products are truly end-to-end, with proprietary infrastructure, and a full suite of enhanced APIs, monitoring and visualization tools Together, Alchemy’s systems work to allow developers uptime and scalability, without introducing accuracy issues. #### How does it all work?  Alchemy’s node infrastructure, [Supernode](https://www.alchemy.com/supernode), is a combination of custom, scalable and distributed systems that essentially allow the API to act as a single node, enabling reliability and scale, while solving accuracy issues common in a peer-to-peer network; Supernode has the simplicity of a single node, but with infinite and instant scalability and reliability.  Alchemy’s explicit consistency layer, called Vox Nodi \(the voice of the nodes\), runs a consensus algorithm to ensure that any blockchain request will return a consistent result. In the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), Alchemy’s infrastructure has driven exceptional results with industry-leading reliability and scalability. “Nothing else compares to the level of reliability, scalability, and developer support that Alchemy has brought to the Ethereum and Polygon ecosystems on OpenSea.”  - Adam Montgomery, Head of Blockchain, OpenSea Beyond best-in-class infrastructure, Alchemy’s[ all-in-one dashboard](https://www.alchemy.com/monitor) makes it easy to monitor app performance and user behavior. Our enhanced APIs like the[ NFT API](https://www.alchemy.com/nft-api), rolling out to the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) later this year, allow devs to easily and quickly start building NFT apps with just one line of code. And best of all? Alchemy’s just getting started. The team can’t wait to watch what Solana developers start building with Alchemy and optimizing the Alchemy product suite to meet Solana devs’ needs.   ### Bringing the best to Solana developers, old and new Solana is one of the fastest growing blockchains in the world, playing a disproportionately pivotal role in the NFT and gaming ecosystems, where transaction speed and affordability is particularly vital. Alchemy’s north star, and one of the key indicators of long-term health for the web3 ecosystem, is the developer engagement, creativity, and productivity on the platform every day. By bringing the growing number of new and existing Solana developers into this community, we only strengthen the web3 ecosystem and expand the boundaries of what is possible when we build together. Starting today, for Early Access developers, Alchemy’s Solana endpoint will support most [JSON-RPC Solana supported methods](https://docs.solana.com/developing/clients/jsonrpc-api), including full archive data. More functionality and open access, coming soon! [Sign up to get Early Access.](https://www.alchemy.com/solana/?a=1f16ef4b11) --- # Soneium Mainnet Is Live! URL: https://www.alchemy.com/blog/soneium-mainnet-is-live.md The future of accessible web3 is here: [Soneium](https://soneium.org/) mainnet is live! Now you can build innovative [apps](https://www.alchemy.com/dapps/top/defi-dapps) across entertainment, gaming, or finance that connect web3 with everyday services, all powered by our complete development platform. As [Soneium](https://www.alchemy.com/soneium)'s mainnet launch partners, we're bringing our battle-tested infrastructure - with 100% availability uptime and 99.98% quality uptime - to support your journey in this revolutionary ecosystem. ### What's new on Mainnet? Our complete onchain development platform is now fully integrated with Soneium, offering you: - Enhanced infrastructure stability and reliability - Debugging tools that provide deeper insights into transaction processing and onchain activity - Real-time monitoring capabilities - Embedded wallets and account abstraction - Advanced monitoring with WebSockets and Webhooks - User-friendly dashboard for seamless deployment - Complete suite of API tools ### Ship zero-friction onchain UX with embedded wallets We're helping you take onchain UX mainstream by bringing [**Account Kit**](https://www.alchemy.com/account-kit?utm_source=account_kit&utm_medium=blog&utm_campaign=soneium_mainnet_launch) to Soneium. Account Kit provides the complete toolkit to create zero-friction onchain experiences that feel familiar to all users. **Embedded Wallets** - Instantly onboard everyone onchain with familiar email or social login, no seed phrases required - Ship everything native, in-app and ditch clunky pop-up wallet UX - Fully customize it all to your brand **Smart Accounts** - Turn every swap and transfer into one-click, gasless transactions - Sponsor gas fees and hide signing with account abstraction - Deploy on ultra-reliable infrastructure powering \>80% of smart accounts Account Kit has helped builders achieve remarkable results - from onboarding 7M\+ active users to driving 4x transaction growth. Now, we're excited to bring these proven capabilities to Soneium builders. Build your entire onchain user journey from sign-up to checkout with Account Kit or bring your own provider anywhere in the stack. Ready to ship? Dive into the [docs](https://www.alchemy.com/docs/wallets?utm_source=account_kit&utm_medium=blog&utm_campaign=soneium_mainnet_launch) to get started. ### Ready to start building? [Get your API key today](https://dashboard.alchemy.com/chains/soneium?utm_source=medium&utm_medium=blog&utm_campaign=soneium_mainnet_launch) and become part of this revolutionary ecosystem where creativity meets blockchain technology. --- # Alchemy Partners with Soneium, A L2 by Sony Group & Startale URL: https://www.alchemy.com/blog/soneium-partnership.md We're thrilled to join forces with [Soneium](https://www.alchemy.com/soneium), a Layer 2 chain developed by Sony Block Solutions Labs - a joint venture by Sony Group and Startale. As a launch partner, we provide the best-in-class infrastructure and developer tools that will fuel innovation in this exciting new ecosystem. Get your API key [here](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=soneium) & start building! Here’s what you need to know: ## What is soneium? Soneium is designed to bridge web3 with everyday internet services. It aims to make blockchain technology more accessible to users globally, with a focus on creativity, mainstream adoption, and emotional engagement. For Ethereum developers, Soneium offers: - **Familiar Tech, Enhanced Scalability**: Built on Optimism's [OP Stack](https://www.alchemy.com/dapps/op-stack) that is Superchain, Soneium allows you to use your existing Ethereum skills while benefiting from improved transaction speeds and lower costs. - **Access to Entertainment & Gaming Ecosystem**: Tap into Sony Group's vast resources and user base to create onchain entertainment and gaming apps for mainstream users. Startale will also transition its Astar Network to the Soneium L2 chain, tapping into the strength of both ecosystems. Astar Network’s community will play an important role in accelerating Soneium’s early adoption, and will benefit from access to new applications on the network. ## Build and scale on soneium with Alchemy We're providing best-in-class web3 infrastructure and tools to supercharge your Soneium development: 1. **Supernode:** Our [Node API](https://www.alchemy.com/supernode?utm_source=blog&utm_medium=blog&utm_campaign=Soneium&utm_term=Soneium&utm_content=Soneium) and battle-tested web3 infrastructure provides peak reliability, unlimited scalability and data accuracy for your Sonneium apps. 1. Alchemy’s suite of products, including [faucet](https://www.alchemy.com/faucets/soneium-minato), SDK, [NFT API](https://www.alchemy.com/nft-api), [Token API](https://www.alchemy.com/token-api), [Transfers API](https://www.alchemy.com/transfers-api), and [Webhooks](https://www.alchemy.com/custom-webhooks) 1. **Developer Tools**: Access Alerts, [Sandbox](https://www.alchemy.com/sandbox?utm_source=blog&utm_medium=blog&utm_campaign=Soneium&utm_term=Soneium&utm_content=Soneium), [Logs](https://www.alchemy.com/docs/reference/logs), and a [user-friendly dashboard](https://dashboard.alchemy.com/) to streamline your development process. 1. **Learning Resources**: Dive into [our documentation](https://www.alchemy.com/docs) and [Alchemy University courses](https://www.alchemy.com/university?utm_source=blog&utm_medium=blog&utm_campaign=Soneium&utm_term=Soneium&utm_content=Soneium) to master development on Soneium. ### Ready to build? No matter where you are or what you do, you're invited to realize the open internet that transcends boundaries together. [Get your API key](https://dashboard.alchemy.com/signup/?utm_source=blog&utm_medium=blog&utm_campaign=soneium) today! --- # Lightning strikes: Sonic goes live on Alchemy URL: https://www.alchemy.com/blog/sonic-goes-live-on-alchemy.md Ever dreamed of building [apps](https://www.alchemy.com/dapps/top/defi-dapps) that process transactions as fast as the blink of an eye? Welcome to Sonic - the world's fastest EVM L1 blockchain, now supercharged with Alchemy's complete [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) platform. With groundbreaking 720ms finality and 10,000 transactions per second, Sonic is revolutionizing blockchain technology by transforming the way companies accept crypto payments. Get your API key [**here**](https://dashboard.alchemy.com/chains/sonic?utm_source=blog&utm_medium=medium&utm_campaign=sonic) and leverage this unprecedented speed! ## What is sonic? Sonic represents a quantum leap in onchain technology, combining unprecedented speed with unwavering security. With sub-second finality and up to 10,000 TPS, Sonic is reforming the landscape of crypto payments and apps. Through its native decentralized gateway to Ethereum, you can create seamless user experiences while maintaining the security standards for your dApp users. If you're ready to build the future of high-performance apps, Sonic offers you: - **Industry-Leading Speed:** Experience the power of 720ms finality and process up to 10,000 transactions per second, enabling you to create responsive and user-friendly apps that set new standards for performance. - **Complete EVM Compatibility:** Deploy your Ethereum smart contracts directly on Sonic without modifications. You can bring your vision to life using familiar tools like [Solidity](https://www.alchemy.com/overviews/solidity) and Vyper, while seamlessly integrating with Chainlink, Safe, Pyth, and other essential developer tools. - **Fee Monetization:** You can earn up to 90% of the fees your apps generate, similar to an ad-revenue model. This allows you to focus on scaling your dApp and growing your user base without the constant pressure of securing additional financing. ## Build and scale on sonic with Alchemy Join thousands of developers who save up to 50% on development costs while leveraging the most reliable and feature-rich platform in web3 and start building on Sonic. Supported services: - **Supernode:** Node API that provide peak reliability, unlimited scalability and data accuracy - **Debug API** - **Developer Tools**: Access Alerts, Sandbox, Logs, and a user-friendly dashboard - **Learning Resources**: Dive into our [documentation](https://www.alchemy.com/docs/reference/sonic-api-quickstart) **Start building!** Get your API key [**here**](https://dashboard.alchemy.com/chains/sonic?utm_source=blog&utm_medium=medium&utm_campaign=sonic)! --- # Alchemy Powers Stable: New USDT Payment Blockchain URL: https://www.alchemy.com/blog/stable-integrates-with-alchemy-redefining-global-digital-payments.md We're proud to announce that Alchemy is the primary blockchain infrastructure provider for [Stable](https://www.stable.xyz), a new Layer 1 blockchain purpose-built for seamless financial transactions, powered by USDT as the native gas token. This integration marks a significant step forward in making digital payments faster, more predictable, and accessible to developers and institutions worldwide. ## About Stable Stable is redefining how digital payments work by eliminating the friction that has long plagued blockchain-based financial transactions. Built from the ground up with payments in mind, Stable addresses the core challenges developers face when building financial applications: transaction cost volatility, settlement delays, and institutional compliance requirements. At the heart of Stable's innovation is its use of USDT as the native gas token. This eliminates the unpredictability of volatile transaction fees, allowing developers to build applications with accurate cost forecasting. Combined with sub-second transaction finality, Stable enables the instant settlement critical for real-time payment applications, trading platforms, and cross-border remittances. Backed by Bitfinex and USDT0, with Paolo Ardoino \(CEO of [Tether](https://www.alchemy.com/dapps/tether)\) serving as an advisor, Stable brings deep institutional expertise and strategic alignment with the broader USDT ecosystem. This foundation ensures Stable is built with both enterprise reliability and real-world adoption in mind. ## Powering the next generation of payment applications Stable is designed to power critical financial applications across key verticals: - **Payments Infrastructure:** Stable Pay and similar applications facilitate easy, instant payments with predictable costs, making digital transactions as seamless as traditional payment methods. - **Cross-Border Remittances:** Solutions built on Stable enable international transfers with minimal fees and rapid settlement times, addressing one of the most persistent pain points in global finance. - **DeFi Applications:** Decentralized finance platforms leverage Stable's efficient transaction capabilities and instant finality to create more responsive and capital-efficient financial products. - **Institutional Finance:** With features like Guaranteed Blockspace and confidential transfers, Stable meets the rigorous compliance and performance demands of enterprise clients handling critical transactions like payroll and supply chain payments. "Payment applications need infrastructure that's as dependable as the financial systems they're built to improve. StableChain's approach, using USDT as native gas combined with sub-second finality, addresses the practical challenges that have made blockchain payments difficult to scale. We're here to provide the reliable infrastructure foundation they need: 99.99% uptime, gas abstraction capabilities, and the developer tools that let their ecosystem focus on building rather than managing infrastructure complexity," said Mike Garland, Head of Product at Alchemy. ## Why Stable chose Alchemy Stable selected us as its primary blockchain infrastructure provider to power the reliable, scalable foundation needed for global payment applications. As the leading blockchain provider processing $1T\+ in onchain transactions with 99.99% uptime and SOC 2 Type II certification, we deliver the enterprise-grade capabilities Stable requires. As Stable's primary blockchain provider, we deliver: - [**Ultra-Reliable RPC Infrastructure:**](/rpc-api) Enterprise-grade blockchain connectivity with global redundancy, ensuring 24/7 availability for payment applications that require constant uptime. - [**Gasless Transaction Orchestration**](/smart-wallets): Enabling the gas-free USDT0 mechanism that will reduce barriers for applications running on Stable, allowing developers to create exceptional user experiences without transaction fee friction. - **Developer Tools at Scale:** Comprehensive APIs including Websockets, RPC API, and Debug API that give developers the tools they need to build, test, and deploy payment applications efficiently. "Our partnership with Alchemy is core to fulfilling Stable's promise of seamless financial transactions at scale," said Brian Mehler, CEO of Stable. "Alchemy's infrastructure powers our gas-free USDT0 mechanism and ensures the guaranteed uptime our ecosystem partners rely on. Together, we're building a payments network that bridges the gap between blockchain's potential and real-world usability." ## Proven infrastructure for payment innovation Stable's integration with Alchemy continues our track record of powering critical blockchain applications for the world's leading institutions and innovative projects. Payment-focused chains consistently select Alchemy for: - **Proven Reliability** Infrastructure trusted by institutions like Visa, VanEck, and Stripe, delivering the stability that payment applications demand. - **Global Performance** Our platform processes billions of requests daily across 99% of countries worldwide, supporting the geographic reach that global payment networks require. - **Developer Experience** Comprehensive tooling and documentation that accelerates development cycles, helping teams go from concept to production faster. - **Institutional Standards** Complete audit trails and compliance capabilities that enable the regulatory readiness institutions expect from production payment infrastructure. ## Start building the future of payments Stable represents a new approach to blockchain-based payments: one that prioritizes usability, predictability, and developer experience. With its upcoming public testnet launch and pre-deposit campaign, now is the time to explore what's possible when transaction costs are stable, settlement is instant, and infrastructure is reliable. **Ready to build on Stable?** - [Start building on Stable](/stable) - [Explore how Alchemy helps you](/fintech) deploy payment applications with enterprise-grade infrastructure. [Contact us](/contact-sales) to discuss how Alchemy can support your blockchain initiatives on Stable and help you create the next generation of digital payment experiences. ## Frequently asked questions ### What is Stable? Stable is a Layer 1 blockchain purpose-built for seamless financial transactions, powered by USDT as the native gas token. It features sub-second transaction finality and eliminates transaction cost volatility for predictable payment applications. ### Why does Stable use USDT as the native gas token? Using USDT as the native gas token eliminates the unpredictability of volatile transaction fees, allowing developers to build applications with accurate cost forecasting and stable transaction costs. ### What is our role with Stable? We are the primary blockchain infrastructure provider for Stable, delivering ultra-reliable RPC infrastructure, gasless transaction orchestration, and comprehensive developer tools with 99.99% uptime and SOC 2 Type II certification. ### What types of applications can be built on Stable? Stable powers payment infrastructure, cross-border remittances, DeFi applications, and institutional finance solutions like payroll and supply chain payments that require instant settlement and predictable costs. ### Who is behind Stable? Stable is backed by Bitfinex and USDT0, with Paolo Ardoino (CEO of Tether) serving as an advisor, bringing deep institutional expertise and strategic alignment with the broader USDT ecosystem. ### What makes Stable different from other blockchains for payments? Stable addresses core payment challenges with USDT as native gas for stable fees, sub-second finality for instant settlement, guaranteed blockspace for enterprises, and confidential transfers for compliance requirements. ### How do we support developers building on Stable? We provide enterprise-grade blockchain connectivity, gasless transaction orchestration for the gas-free USDT0 mechanism, and comprehensive APIs including WebSockets, RPC API, and Debug API for efficient development. --- # Stake DAO and Alchemy: Simplifying DeFi URL: https://www.alchemy.com/blog/stake-dao-x-alchemy.md ### Stake DAO partners with Alchemy to power user-friendly DeFi applications. Even for seasoned crypto enthusiasts, DeFi can seem overwhelming. The sheer number of options seem to be growing by the hour. Some platforms have worked hard to make their user experience \(UX\) simple, but other more experimental platforms are only accessible to the most daring of savers and investors. To make things even more daunting, maximizing DeFi income can be a full-time job in and of itself due to the constantly shifting landscape of offers, opportunities, and risks.  This is why the creators of [Stake DAO](https://stakedao.org/), a non-custodial DeFi platform built on Ethereum, decided to launch their service in early 2021. [Stake DAO](https://www.alchemy.com/dapps/stake-dao) aims to make DeFi services accessible to everyone bringing the best of decentralized finance under one roof. To ensure the service is stable, secure, and fast, the Stake DAO team embarked on a partnership with[ Alchemy](https://alchemy.com/?r=affiliate:51487306-288b-4375-9246-8c2b8044b845), unlocking an array of developer tools, scalable infrastructure, and industry leading reliability. Arguably one of the hottest and most in-demand features of DeFi is earning interest or staking rewards on idle assets. But to get the best offers \(which are often fairly short term and require active management\), an investor has to constantly scour dozens of sites and dig through countless offers, wasting time and effort. Stake DAO allows users to quickly filter through interest-earning and staking opportunities from multiple sources at once and with only one account. When users find an opportunity that meets their needs, they can take advantage of it without needing to leave the Stake DAO environment.  “We’re really excited to work with Stake DAO as they aim to make DeFi accessible to everyone. The team is extremely talented and their innovation of putting together an easy-to-use platform that allows users to access multiple staking opportunities in one place is brilliant!” - Elan Halpern, Co-Founder of Alchemy Amplify. Users can even buy, sell, and trade or exchange digital assets within Stake DAO. This type of service unification is something quite new to the world of DeFi. It's a design methodology that can expose users to earning and borrowing opportunities they may have never considered due to the difficulty of finding them and learning how they work. This powerhouse platform was made possible thanks to the Stake DAO-Alchemy partnership.  ## Stake DAO, DeFi, and Alchemy Creating robust applications for Ethereum is a lot more than just writing good code. What's equally important is having the right tools, support, and resources to power that code. Stake DAO chose Alchemy to offer their users a world-class experience and to power the systems that make Stake DAO possible. When asked why they decided to team up with Alchemy and what benefits they get from the partnership, Stake DAO said: "We are utilizing Alchemy as our node provider for incredible speed and reliability on Ethereum. This makes the core of our stack nothing short of bulletproof, even during high traffic. It's a massive difference. Our developers have been especially impressed by longer live connections to local ganache mainnet-fork in comparison to other providers.” - Jonnie, Stake DAO Contributor As Stake DAO continues to bring their product to thousands of users, Alchemy is proud to support their product and team by bringing them the best-in-class Ethereum & Blockchain development platform that meets their every needs, from developer tools to scalable infrastructure. ## About stake DAO [Stake DAO](https://stakedao.org/)  aims to be a one-stop shop for supercharging your crypto. Instead of finding and learning how countless DeFi providers and their often not-so-user-friendly sites work, users can get access to interest earning, borrowing, trading, and even buying and selling with credit cards and bank accounts, all in one place. Stake DAO's developers have even managed to include non-fungible token \(NFT\) trading into the platform. To further reach out to those new to cryptocurrency, the Stake DAO website offers a completely free and open tutorial series on a wide and growing array of topics. The series called Stake DAO Academy covers topics as basic as “What Are Cryptocurrencies?” all the way through advanced topics covering slippage, yield farming, layer 2 solutions, and even synthetic assets. Articles are quick and to the point and should be accessible for even the most time-strapped reader. In addition, all Academy articles are available in both English and French. ## About Alchemy [Alchemy](https://alchemy.com/?r=affiliate:51487306-288b-4375-9246-8c2b8044b845) provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on TechCrunch, Wired, Bloomberg, and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- Ready to start building your own decentralized apps? [Sign up for a free Alchemy account and get started building.](https://alchemy.com/?r=affiliate:51487306-288b-4375-9246-8c2b8044b845) For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Alchemy Partners with StarkNet to Grow Web3 Ecosystem URL: https://www.alchemy.com/blog/starknet-on-alchemy.md Today, the Alchemy team is thrilled to announce support of [StarkNet](https://starkware.co/starknet/), the most advanced Layer 2 validity rollup \(also known as a [ZK-rollup](https://www.alchemy.com/blog/zero-knowledge-rollups)\). With validity rollup technology, [StarkNet](https://www.alchemy.com/starknet) offers users higher throughput and gas fees 100x lower than those of Layer 1s - all while maintaining the security, decentralization, and composability of Ethereum-based networks. By partnering with Alchemy, StarkNet anticipates significantly more developers will be able to start building on the chain using Alchemy’s full suite of proprietary platform infrastructure technology. This includes Alchemy’s[ Supernode](https://www.alchemy.com/supernode), which scales every piece of node functionality with dedicated distributed systems, as well as other key developer products, such as systems for debugging, tools to fetch real-time transaction insights and our newly released NFT API. “StarkNet and Alchemy are both pioneering the Web3 future, addressing two of the biggest challenges facing [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) blockchains: StarkNet is tackling scalability, as Alchemy provides a complete platform for developers that reduces the complexity and costs of building on blockchain.” - Eli Ben-Sasson, Co-Founder and President of StarkNet We’re excited about supporting StarkNet because we believe that StarkNet’s utilization of validity and ZK-rollups offer solutions to core Web3 problems. These solutions increase scalability by bundling transactions together off-chain, and then verifying them on-chain with just a fraction of the costs. But in contrast to other Layer 2 scaling solutions, such as optimistic rollups that can take longer to confirm transactions, validity rollups use what are called validity proofs to instantly prove if transactions are valid or not. This increases transaction throughput and enables less expensive computation, while maintaining the security and interoperability of L1s and L2s. And by reducing the resources needed to validate transactions, StarkNet transactions are estimated to reduce energy consumption by anywhere from 200 to 200,000 times alternative chains. We’re not the only ones who are excited about validity and ZK-rollups. The solution has been marketed as the last piece of blockchain’s scaling solution puzzle \[[source](https://www.forbes.com/sites/lawrencewintermeyer/2022/01/20/are-zk-rollups-the-last-piece-of-blockchains-scaling-solution-puzzle/?sh=1aea7cf476e7)\], and StarkNet is well positioned as the pioneering chain. They’re already seeing success with adoption of their core STARK technology from key players in the DeFi and NFT space, including DyDx, DeversiFi and Immutable X - but they believe that partnering with Alchemy will usher in a whole new phase of growth. “This is a game-changing partnership. It means that with Alchemy’s infrastructure, the developer community now can more easily access StarkNet, the most cutting edge permissionless scaling platform, harnessing the power of Validity Proofs. Alchemy’s tools will make StarkNet much more accessible to developers, emboldening the dApp building boom that’s just getting started.” - Ben-Sasson Alchemy’s mission is to bring Web3 to billions of people around the world by making it easy for any developer anywhere to build on blockchain. Integrating with innovative blockchains like StarkNet, which provide meaningful scalability while passing savings to users, is a foundational next step in satisfying this mission. [Join our waitlist](http://www.alchemy.com/layer2/starknet/?a=4cd5308def) to be the first to know when you can start building with StarkNet and Alchemy. --- # Starknet Goerli Support Ending April 11 - Migrate to Sepolia URL: https://www.alchemy.com/blog/starknet-sepolia-is-live.md Starknet Sepolia is now supported on Alchemy! We encourage developers to migrate to Starknet Sepolia as the sustainable path forward for any testing and development needs, as [Starknet will stop supporting Goerli on April 11.](https://docs.starknet.io/documentation/starknet_versions/deprecated/) On the same day, we will turn off our Goerli nodes for [Starknet](https://www.alchemy.com/starknet). This means if you try to send requests to these nodes, your requests will fail with a DNS resolution error. All features supported by Alchemy on Starknet Goerli are also supported on Starknet Sepolia. ## Required steps to migrate to StarkNet Sepolia from StarkNet Goerli Follow these 5 steps to migrate from Starknet Goerli to Starknet Sepolia: 1. [Create a new app](https://dashboard.alchemy.com/apps?showModal) from the Alchemy dashboard on the Starknet Sepolia network. 1. Change your `API\_URL` to your Starknet Sepolia RPC URL: `https://starknet-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\]` 1. Get testnet tokens from our [free Starknet Sepolia faucet](https://www.alchemy.com/faucets/starknet-sepolia). 1. Deploy your test contract to Starknet Sepolia. 1. Change your tests to use the new contract. For more detailed instructions, please reference the ["How to Deploy a Smart Contract to the Sepolia Testnet"](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) tutorial on our docs. ## A note on other chains Goerli deprecation dates for other chains are up to date on [this blog post](https://www.alchemy.com/blog/goerli-faucet-deprecation). --- # Introducing Alchemy's Startup Program URL: https://www.alchemy.com/blog/startup-program.md As web3 rapidly evolves, infrastructure that keeps up with the pace of developers is more critical than ever. Understanding the unique challenges web3 startups face, we launched the Alchemy Startup Program to ensure every web3 startup can access the high-quality foundational infrastructure they need to succeed. This initiative is more than just support; it's a partnership to fuel your startup’s journey from a budding idea to mainstream adoption. [Apply now for the Alchemy Startup Program](https://www.alchemy.com/startup-program/?a=gtm) ## Tailored benefits to propel your startup ### Empowering you with essential resources - **Complimentary Credits and Discounts**: Accelerate your development timelines with credits and discounts to unlock your roadmap and reach adoption milestones faster than ever. - **Build for Tomorrow, Today**: Access real-time technical support to streamline new integrations, debug issues, gather product feedback, and collaborate on new ideas. - **Expand Your Network**: Find a built-in community of partners ready to help at any stage — VCs to help you raise, fiat onramps to onboard users, security solutions for peace of mind, and many more. ### Everything you need to start building - **Rapid Development at Your Fingertips**: Rapidly shipping new products is core to Alchemy’s DNA, helping push forward the boundaries of what’s possible in web3. Whether you’re testing a new product in the sandbox or tracking growth in the dashboard, if you can dream it, you can build it with Alchemy. - **Simplify Your Tech Stack**: Utilize our unified suite of APIs, SDKs, and tools to develop efficiently and powerfully. We streamline your tech stack so you can focus on innovation. - **Scale With Confidence**: With best-in-class reliability and data accuracy, start easily and scale infinitely, knowing that Alchemy supports you at every step. ### World-class support round the clock - **24/7 Engineering Support**: Access around-the-clock engineering support to tackle and solve any technical challenge you may face. Our team is always ready to assist you in navigating through any complexities. We’re just one Telegram message away! ## Why we launched the Alchemy startup program The program is built on a fundamental belief: the success of startups compounds to grow the entire web3 community. As a team of builders ourselves, we’re excited and hopeful the Alchemy Startup Program will help turn your ideas into reality. We can't wait to see what you build. [Apply for the Startup Program](https://www.alchemy.com/startup-program/?a=gtm) now! --- # Stellar Support Is Live on Alchemy | Partnership Announcement URL: https://www.alchemy.com/blog/stellar-support-is-live-on-alchemy.md We're excited to announce that [Stellar](https://www.stellar.org/) support is now live on Alchemy. Stellar is a Layer 1 blockchain purpose-built for real-world payments and asset movement. It combines high-performance smart contracts, sub-5-second finality, and native access to institutional financial rails—giving developers everything they need to build applications that bridge traditional finance and DeFi on the same network. ## Why Stellar stands out ### Stellar Smart Contracts (Rust + WebAssembly) Stellar smart contracts ([Soroban](https://soroban.stellar.org/)) are built in Rust and compiled to WebAssembly. It offers conflict-free concurrency for parallel transaction processing, fine-grained resource metering for predictable fees, and built-in authorization with account abstraction. Developers write secure, efficient contracts in a widely adopted language with batteries-included tooling—local sandbox, CLI, native test harness, and debugging in standard IDEs. ### Sub-5-Second Finality with Low, Predictable Fees The Stellar Consensus Protocol delivers approximately 5-second finality today, with a roadmap target of 2.5 seconds and 5,000 TPS throughput. Transaction fees are fractions of a cent. For developers building payment, DeFi, or tokenization applications, users get a near-instant, low-cost experience without gas fee uncertainty. ### Native Access to Institutional Financial Rails Stellar uniquely combines smart contract programmability with production-proven financial infrastructure—including native stablecoin support, anchor integrations across 30+ fiat currencies, and direct connections to institutional partners like [Franklin Templeton](https://www.alchemy.com/dapps/franklin-templeton-benji), MoneyGram, and PayPal. Developers can build applications that bridge traditional finance and DeFi without stitching together fragile middleware. ## What people are building **Payments and Cross-Border Settlement:** The core vertical for Stellar. MoneyGram and PayPal (PYUSD) integrate directly with Stellar for production settlement and payment flows. **Neobank Apps:** Fintech applications like Airtm, Decaf, Beans, Umba, and Meru are built on Stellar rails—especially in emerging markets. These wallets leverage [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) for holding USD value and making payments, with yield delivered through Stellar DeFi. **Real-World Asset Tokenization:** Franklin Templeton's OnChain U.S. Government Money Fund (FOBXX)—one of the first tokenized funds—operates on Stellar. [Ondo Finance](https://www.alchemy.com/dapps/ondo-finance) (USDY), RedSwan (real estate), and others are actively issuing and trading RWAs onchain. About $2 billion in RWA value currently lives on Stellar. **DeFi:** SushiSwap V3 launched on Stellar in February 2026. Other key protocols include Blend (lending), [Aquarius](https://www.alchemy.com/dapps/aquarius-stellar) (AMM liquidity), [Upshift](https://www.alchemy.com/dapps/upshift) (vault infrastructure), and Rails (perps DEX). **Stablecoins:** USDC (Circle), PYUSD (PayPal) and EURC (Circle) are some of the Stablecoins with many more live on Stellar. **Enterprise and Disbursements:** The Stellar Disbursement Platform powers large-scale payment operations for enterprises and NGOs, including UNHCR aid distribution. ## What's coming in 2026 Several major milestones are on the horizon: **x402 Protocol Launch:** A new machine-to-machine payment protocol created by Coinbase, enabling [AI agents](https://www.alchemy.com/dapps/best/ai-agents) to make real-time payments over HTTP. Launched in 2026 with partners including [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin), PayAI, and [Crossmint](https://www.alchemy.com/dapps/crossmint) with more improvements to come over the course of the year. **[LayerZero](https://www.alchemy.com/dapps/layerzero) Integration:** Bringing priority assets including Ethena (USDe/sUSDe) and WBTC to Stellar, dramatically expanding DeFi TVL. **Faster Finality:** Targeting 2.5-second ledger close times (down from 5 seconds) and 5,000 TPS throughput. **Privacy and ZK Expansion:** X-Ray (Protocol 25) is live with native BN254 and Poseidon ZK primitives. An open-source private payments layer is now available (SPP). **Meridian 2026:** SDF's flagship annual conference in Lisbon, Portugal on October 28–29—a major moment for ecosystem and integration announcements. ## Start building > “By making Stellar a first-class chain in Alchemy's environment, it's much easier for developers to experiment with Stellar's unique financial primitives on Stellar—native assets, Stellar smart contracts, and built-in compliance tooling—without leaving the tools they already trust.” > > — Tomer Weller, Chief Product Officer at Stellar Development Foundation As one of the infrastructure providers on Stellar, Alchemy provides: - 99.99% uptime with global redundancy - World-class RPC and websocket support - Battle-tested infrastructure that processes $1T+ in onchain transactions, with SOC 2 Type II certification Stellar is now available on Alchemy with the same reliability and developer experience across all our supported networks. Whether you're building payments infrastructure, DeFi protocols, RWA platforms, neobank apps, or enterprise disbursement tools, the infrastructure is ready. Ready to build on Stellar? [Start here](https://www.alchemy.com/docs/reference/stellar-api-quickstart) or [contact us](https://www.alchemy.com/contact) to discuss how we can support your project. ## Frequently asked questions ### Does Alchemy support Stellar? Yes, Stellar support is now live on Alchemy with indexing, enhanced APIs, and developer tools natively supporting the network. ### What infrastructure does Alchemy provide for Stellar developers? Alchemy provides 99.99% uptime with global redundancy, RPC and websocket support, and battle-tested infrastructure with SOC 2 Type II certification. ### What makes Stellar different from other Layer 1 blockchains? Stellar combines smart contracts (Rust + WebAssembly), sub-5-second finality with sub-cent fees, and native access to institutional financial rails including partnerships with Franklin Templeton, MoneyGram, and PayPal. ### What types of applications are developers building on Stellar? Developers are building payments and cross-border settlement, neobank apps, RWA tokenization platforms, DeFi protocols, [stablecoin infrastructure](https://www.alchemy.com/dapps/best/stablecoin-infrastructure), and enterprise disbursement tools. ### What is Soroban? Soroban is the high-performance smart contract platform on Stellar, built in Rust and compiled to WebAssembly. It offers parallel transaction processing, predictable fees, built-in authorization with account abstraction, and a state archival mechanism that eliminates ledger bloat. ### What stablecoins are available on Stellar? USDC (Circle),EURC (Circle) and PYUSD (PayPal) are live on Stellar with many more available for different use cases. ### What major events are coming for Stellar in 2026? The x402 machine-to-machine payment protocol is live, LayerZero integration is expanding DeFi assets, and Meridian 2026 takes place October 28–29 in Lisbon. ### How do I start building on Stellar with Alchemy? You can start building by visiting Alchemy's [Stellar API quickstart documentation](https://www.alchemy.com/docs/reference/stellar-api-quickstart) or [contacting their team](https://www.alchemy.com/contact) to discuss your project needs. --- # Growing the ecosystem with 15+ new chains URL: https://www.alchemy.com/blog/summer-of-chains.md We’re kicking off The Summer of Chains ☀️⛓️😎 Over the next 12 weeks, we will launch support for new 15 chains across [Supernode](https://www.alchemy.com/supernode) and other products web3 developers know and love.  Read on for more, or [follow along on X](https://x.com/Alchemy) to see which chains we’ll be launching this summer. 🕵️ ## Why 15 new chains? In 2021, the top projects in web3 supported around two chains on average. Today, those same projects support an average of _eight_ chains each, with many supporting upwards of twenty!  The 4x growth in supported chains is faster than the growth of both ETH and BTC market caps during that same time period 🤯 Reasons: more users, more liquidity, lower fees, greater throughput, but fundamentally chains have found a way, time and time again, to provide technological and business value to applications that support them. With rollup frameworks \(like [OP Stack](https://www.alchemy.com/dapps/op-stack), Orbit, and CDK\) and rollup-as-a-service products like our newly announced [Rollups platform](https://www.alchemy.com/rollups) taking off, the trend is set to accelerate. ## So which chains are coming?! We have incredible partners that we’ll be announcing \(and launching simultaneously 🚀\) over the next 12 weeks.  From mainstays of web3 with millions of users, to the buzzing hubs of DeFi activity, to explosively growing newcomers, our goal is to support the ecosystems that developers need, and a few that the ecosystem has been sleeping on.  We’ve been lucky to work with the best minds in web3 and the greatest partners to make this push a reality. We’ll be unveiling new chain partners one-at-a-time. ☀️ ## The best infrastructure for multichain Years of investing in web3 infrastructure has allowed us to build a tech stack designed to make development simple and powerful. Our team has been grinding on one of our biggest efforts: making our platform nimble and extensible to new chains.  Those investments, combined with our industry-leading web3 infrastructure ensure the most reliable, scalable, and high-performance infra for every chain. ## Simplifying multichain development In addition to launching support for each new chain, we’re excited to fundamentally improve the way developers build multichain applications.  Coming soon: Alchemy apps will be multichain by default! Starting in the next few days, when you create a new app, we will generate a single API key for all available networks.  This means that you will soon be able to: - Develop on any available network with just one API key - Easily turn networks on or off as needed - Leverage our product suite for each chain ### Unlock the power of Web3 With Alchemy, you get the best-in-class infrastructure, developer tools and products to every chain you build on. Stay tuned to discover which chains we'll be launching next. Happy \(multichain\) building 🎉 --- # 3 Steps to Fix Slow Metamask Transactions, For Free URL: https://www.alchemy.com/blog/supercharge-metamask.md Have you ever experienced slow transactions on Metamask? Dropped transactions? Inaccurate gas price recommendations? We feel you... To supercharge your Metamask wallet for free, follow these three simple steps below! _pssst if you already have an Alchemy account and API key, skip to step \#3. Yes, that means it’s literally one step 🤩_ **NOTE:** These steps will only work for Polygon, Arbitrum, and Optimism. For instructions on how to do this for Ethereum Networks, skip to the second section. ## 1. Make a free Alchemy account To begin with, we'll have to create a free [Alchemy account](https://www.alchemy.com/). Creating the account will give us an API key that we can use to connect to any network in Metamask. ## 2. Create an API key We need to create an application to get our API key. Check out [this guide](https://www.alchemy.com/docs/alchemy-quickstart-guide) for instructions on this. Make sure to create a key for the network you wish to connect to! NOTE: These steps will only work for Polygon, Arbitrum, and Optimism. For instructions on how to do this for Ethereum Networks, skip to the second section. ## 3. Click “add to wallet” in your dashboard Navigate to your app details page in your [dashboard](https://dashboard.alchemy.com/) and click the “Add to Wallet” button in the top right corner. After this, your Metamask should pop open and prompt you to use this RPC to connect to the network. Once you approve this question you’re all set! Enjoy the faster transactions ✅ ## Supercharge your MetaMask on Ethereum First off, if you want this to be as easy as the three steps above, upvote [this issue](https://github.com/MetaMask/metamask-extension/issues/13269)! But in the meantime, follow the steps below! ### 1.  Open your MetaMask wallet and click on “network” at the top Navigate to your [MetaMask](https://www.alchemy.com/dapps/metamask) wallet and click the network dropdown at the top, scroll down and click “**Add Network**” at the bottom. ### 2. Fill in the details for the network **1. Network Name**‍ ##### You can name the network anything to remind you which chain you’re connecting to. For example, if you're connecting to Ethereum Mainnet, you can call this configuration "Alchemy - Ethereum mainnet". **2. New RPC URL** Grab the HTTP API key URL from your [Alchemy Dashboard](https://dashboard.alchemy.com/). If you don't have a dashboard account, go back up to the "Set up a free Alchemy account" step and set up your account. Make sure your Alchemy app’s chain matches the chain you want to connect to. **3. Chain ID** Each network has a unique Chain ID, add the one you want to connect to: - [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) - 1 - Ropsten Testnet - 3 - Rinkeby Testnet - 4 - Goerli Testnet - 5 - Kovan Testnet - 42 - Polygon \(Matic\) Mainnet - 137 - Mumbai Testnet - 80001 - Arbitrum One - 42161 - Optimism \(Optimistic Ethereum\) - 10 - Optimistic Kovan - 69 **4. Currency Symbol** & **Block Explorer URL** These are are optional inputs, however, for the layer 2s and side-chains, setting these can be useful. - Ethereum          Currency Symbol - ETH           Block Explorer URL - [https://etherscan.io/](https://etherscan.io/) - Polygon:           Currency Symbol - MATIC .         Block Explorer URL - [https://polygonscan.com/](https://polygonscan.com/) - Arbitrum:           Currency Symbol - AETH           Block Explorer URL - [https://arbiscan.io](https://arbiscan.io) - Optimism:           Currency Symbol - ETH           Block Explorer URL - [https://optimistic.etherscan.io](https://optimistic.etherscan.io) _You might get a warning that this network is already in use, feel free to ignore it - you’re allowed to have multiple of the same networks!_ **5. Once all the required fields are filled out, save it and you’re done!** ## 3. Enjoy the better transaction experience 😄 That’s it! You should now have a way better time transacting using Metamask! To learn about even more unlocked features from using Alchemy as your Metamask endpoint, check out [this article](https://www.web3.university/article/why-you-should-configure-your-metamask-node-provider). --- # Taking NFTs to the Mainstream URL: https://www.alchemy.com/blog/taking-nfts-to-the-mainstream.md What’s holding NFTs back from mass adoption? We finally have an ownership model that works in the digital world, but despite all the buzz around NFTs, the people using them are still a pretty small population. So what’s the roadblock? What needs to change to get millions more using them?  The answer is pretty simple – complexity. Using NFTs requires technical skills that often go beyond the abilities of even experienced developers.  Today, we’re launching an API to solve this, to make integrating NFTs into existing platforms as easy as possible. Right now, we’re in phase one of the NFT world. if you buy a NFT, there isn’t much you can do with it. You can see it on the marketplace where you bought it, like Opensea or [Rarible](https://www.alchemy.com/dapps/rarible), or in your wallet, like Metamask. Maybe you use it as your avatar on Twitter, and hope that just having it there is proof enough of your ownership. The NFT itself is on the chain but it’s hard to access and interact with. It’s not truly part of your full digital life, it's part of one small part of your digital life.  Alchemy NFT API provides developers with the tools they need to move NFTs to phase two, the integration of Web3 and Web2. This is where developers working on websites and apps have easy access to blockchain innovations like NFTs, and blockchain developers are able to more easily use NFTs in their creations. Social platforms will allow you to use your NFT as your avatar with clear proof of ownership that’s updated as properties of the NFT change. Creator platforms will open up minting and display of NFTs to millions more artists and expand those artists’ potential market to the entire internet.   Phase three is the metaverse, where digital ownership will be a fundamental building block. Immense resources are being poured into the creation of the metaverse, and central to the entire concept is the idea that your identity and the things you own in the digital world should always be present, no matter where you go. NFTs provide the framework to make that work. And now, with Alchemy NFT API, developers have a simple to use toolset to make this all happen.  By adopting the API, even the most experienced developers can eliminate hundreds of hours of work and the need to develop their own custom solutions to make NFTs usable in their projects. With Alchemy NFT API, developers will now have instant access to all the information they need about NFTs and their metadata. Fetching even the most in-demand properties of an NFT, like it’s image, forces developers to dig deep into the specifics of thousands of smart contracts and build mountains of custom logic and infrastructure. The NFT API distills this impossibly difficult task down to a single call. Even more complicated workflows, like verifying NFT ownership or inspecting an asset’s transfer history are made similarly accessible by our API. A single call, and you can confidently display a user’s full NFT collection, with ownership fully verified on chain. As assets change properties and change hands, Alchemy NFT API will update your application in real time with a suite of NFT-enabled webhooks. We also recognize that the demand for NFTs hasn’t been limited to any single chain, and the problems developers face only grow exponentially as they try to understand and build with assets from different ecosystems. Alchemy NFT API will support both Ethereum and Flow from Day 1, and will provide a simple, unified API into NFTs across all major blockchains in the near future. *Want a quick example of what’s possible with Alchemy NFT API? Take two minutes to watch this [video](https://www.loom.com/share/aa3f3d50da4f4bdbb9012dab1d3ab849).* --- # Tempo Mainnet Is Live: Machine Payments Protocol on Alchemy URL: https://www.alchemy.com/blog/tempo-mainnet-alchemy.md Tempo Mainnet is officially live, and with it, a new open standard for how [AI agents](https://www.alchemy.com/dapps/best/ai-agents) pay for services across the internet. Since supporting [Tempo's public testnet](https://www.alchemy.com/blog/tempo-testnet-is-live-on-alchemy-the-payments-native-blockchain) in December, Alchemy has been working closely with the Tempo team to bring enterprise-grade infrastructure to the payments-native blockchain. Today, that partnership deepens with mainnet launch and full support for the **Machine Payments Protocol (MPP)** — an open standard for machine payments co-authored by Stripe and Tempo. ## What is tempo? Backed by Stripe and Paradigm, and working with design partners including Visa, Mastercard, Shopify, DoorDash, and others, [Tempo](https://tempo.xyz/) is a Layer 1 blockchain purpose-built for real-world payments at internet scale. Unlike general-purpose chains that bolt on payment functionality, Tempo is architected from the ground up around the requirements of production payment systems: predictable fees, sub-second finality, high throughput, and dedicated payment lanes that guarantee blockspace for transfers even during network congestion. Tempo also ships with native account abstraction, a compliance-ready token standard (TIP-20), and the ability for users to pay transaction fees in [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) — removing the need to hold volatile gas tokens. ## What is MPP? The Machine Payments Protocol is an open standard that defines how AI agents and automated services request, authorize, and settle payments programmatically. Instead of every service building its own billing integration, MPP provides a shared protocol layer that any agent or service can plug into. Here's how it works in practice: an agent requests a resource from a service, the service responds with a payment request, the agent authorizes payment from its wallet, the transaction settles instantly on Tempo, and the service delivers the resource. No human in the loop. ### Sessions and streaming payments One of MPP's most powerful primitives is **sessions** — persistent payment authorizations that let agents transact continuously within defined limits. An agent opens a session, sets aside funds upfront, and defines spending limits. As the agent consumes resources (API calls, model inferences, data queries), payments stream continuously without requiring a separate on-chain transaction for each interaction. Thousands of micro-transactions get aggregated into a single settlement, making true pay-per-use viable at scale. MPP also supports **streams**, enabling granular usage-based billing — down to a per-byte basis. This unlocks patterns like paying stablecoin tokens for LLM tokens, or stablecoin tokens for RPC data, with settlement happening through efficient one-way payment channels. ## How Alchemy powers tempo Alchemy provides Day 1 mainnet infrastructure for Tempo, just as we did for testnet. As the leading blockchain infrastructure provider processing $1T+ in annual transactions with 99.99% uptime, Alchemy delivers the reliability that payment-grade applications demand. Our support for Tempo includes: - **Ultra-Reliable RPC Infrastructure:** Enterprise-grade blockchain connectivity with global redundancy and 24/7 availability for mission-critical payment operations. - **Complete Protocol Coverage:** Full support for Tempo's unique primitives including TIP-20 tokens, TempoTransactions, and payment lane features, with comprehensive API access across WebSockets, RPC, Trace, and Debug APIs. - **Developer Tools at Scale:** Proven tooling for high-throughput payment workloads with observability and debugging capabilities, backed by 8+ years at enterprise scale. ## Agents can now pay for Alchemy via MPP With MPP live on mainnet, AI agents can now autonomously access Alchemy's blockchain data APIs — including [Core RPC APIs](/rpc-api), [Prices API](https://www.alchemy.com/docs/reference/prices-api-quickstart), [Portfolio API](https://www.alchemy.com/docs/reference/portfolio-apis), and [NFT API](/nft-api) — and pay for them programmatically using stablecoins on Tempo. Agents can also purchase Alchemy credits using Stripe credit cards, giving builders flexibility regardless of how their agents are funded. This means an AI agent can query blockchain data, pay per call or per byte via MPP sessions, and never require a human to manually manage billing. It's infrastructure access as a native capability of the agent itself. > "Alchemy has been a critical infrastructure partner since day one. Their enterprise-grade support for MPP on Tempo reflects what reliable, payments-ready infrastructure looks like in the agentic economy." > > — Nischay Upadhyayula, GTM, Tempo ## What this means for builders The rise of agentic commerce is creating entirely new payment patterns. A single AI workflow might involve dozens of small payments across different services — for compute, data, model inference, and more. MPP on Tempo provides the settlement layer for this new class of commerce, and Alchemy is the infrastructure making it reliable and accessible. Whether you're building AI agents that need to transact autonomously, payment applications that require predictable throughput, or embedded finance products on stablecoins — Tempo and Alchemy provide the foundation. ## Get started - Explore MPP through the [Machine Payments Protocol docs and SDKs](https://docs.tempo.xyz). - Start building on Alchemy: [Sign up](https://dashboard.alchemy.com/signup?utm_source=blog&utm_medium=blog&utm_campaign=tempo_mainnet) or [contact sales](https://www.alchemy.com/contact-sales?utm_source=blog&utm_medium=blog&utm_campaign=tempo_mainnet) to discuss your Tempo integration. --- # Tempo: Layer 1 Blockchain for Payments & Stablecoins URL: https://www.alchemy.com/blog/tempo-testnet-is-live-on-alchemy-the-payments-native-blockchain.md Backed by Stripe and Paradigm, and working with design partners including Visa, Klarna, Shopify, and DoorDash, [Tempo](https://tempo.xyz/) is a new Layer 1 blockchain purpose-built for institutional-grade payments and [stablecoin infrastructure](https://www.alchemy.com/dapps/best/stablecoin-infrastructure). [Alchemy](/fintech) provides Day 1 support across mission-critical blockchain infrastructure to enable apps on Tempo innovate with faster, more predictable, and accessible payments. ## About tempo Unlike general-purpose chains that attempt to support payments, Tempo is architected from the ground up to solve the specific challenges that have prevented blockchain from becoming production-ready for real-world payment flows: unpredictable gas costs, inclusion uncertainty, and the complexity of integrating compliance and treasury operations at scale. At the heart of Tempo's innovation are three breakthrough features that remove friction from payment development: - **TIP-20 Token Standard:** Tempo's native token standard extends ERC-20 with payment-focused primitives like `transferWithMemo`, built-in role-based access control, and compliance hooks through the TIP-403 policy registry. Developers can also pay transaction fees in any USD-denominated TIP-20 token via Tempo's Fee AMM, eliminating the need for users to hold volatile gas tokens. - Native Account Abstraction: Tempo ships with TempoTransactions, a native EIP-2718 transaction type that brings account abstraction features directly into the protocol. This enables passkeys and WebAuthn signatures, transaction batching, fee sponsorship, and gasless experiences without complex smart contract implementations. - **Payment-Grade Infrastructure:** With path to 100,000 TPS throughput, sub-second finality, and dedicated payment lanes that guarantee blockspace for transfers, Tempo ensures that payment transactions remain predictable and unaffected by network congestion—even during periods of high general-purpose activity. ## Powering the next generation of payment applications Tempo is designed to power critical financial applications across key verticals: - Stablecoin Infrastructure: Native stablecoin launches with design partners, leveraging TIP-20's built-in compliance and control features to meet institutional requirements while maintaining the programmability developers need. - Merchant & Payroll Rails: High-frequency settlement capabilities and predictable fees enable merchant payout systems and enterprise payroll operations that require deterministic execution at scale. - Cross-Border Remittances: Tempo's sub-second finality and optimized payment lanes make international transfers fast and cost-effective, addressing one of the most persistent pain points in global finance. - Embedded Finance: FinTech platforms and enterprises can integrate Tempo's payment rails directly into their products, leveraging native account abstraction for seamless user experiences without blockchain complexity. - DeFi Settlement: Decentralized exchanges, lending protocols, and yield-bearing products built on Tempo benefit from payment-optimized execution and the ability to settle in multiple [stablecoins](https://www.alchemy.com/dapps/top/stablecoins). ## Why tempo is partnering with Alchemy Tempo is partnering with  Alchemy for mission-critical blockchain infrastructure to power the reliable, scalable foundation needed for global payment applications. As the leading blockchain provider processing $1T\+ in annual transactions with 99.99% uptime and SOC 2 Type II compliance, we deliver the enterprise-grade capabilities Tempo requires with: - **Ultra-Reliable RPC Infrastructure:** Enterprise-grade blockchain connectivity with global redundancy, ensuring 24/7 availability for payment applications that demand constant uptime for mission-critical treasury and settlement operations. - Complete Protocol Coverage: Full support for Tempo's unique primitives including TIP-20 tokens, TempoTransactions, and payment lane features, with comprehensive API coverage \(WebSockets, RPC API, Trace API, Debug API\) that gives developers complete visibility into payment flows. - Developer Tools at Scale: Developer-friendly tooling, proven at enterprise scale for over 8 years, handling high-throughput payment workloads while maintaining the observability and debugging capabilities teams need to build, test, and deploy payment applications efficiently. - Gasless Transaction Support: Enabling fee sponsorship and gas abstraction features that allow developers to create frictionless user experiences where end users can pay fees in stablecoins rather than managing native tokens. "Our partnership with Alchemy is critical to realizing Tempo's vision of payments-native infrastructure at global scale," said Nischay Upadhyayula, GTM at Tempo. "Alchemy's infrastructure exposes Tempo's protocol primitives with the reliability and developer experience our ecosystem partners expect. Together, we're building a payments network that delivers on blockchain's promise for real-world financial applications." ## Start building the future of payments Tempo represents a fundamental shift in blockchain architecture: one that prioritizes payments as a protocol-level concern rather than an application-layer feature. With its public testnet now live, now is the time to explore what's possible when payment primitives are native, execution is optimized for transfers, and infrastructure is enterprise-grade. **Ready to build on Tempo?** - [Start building on Tempo](https://www.alchemy.com/docs/reference/tempo-api-quickstart): Explore how we help you deploy payment applications with enterprise-grade infrastructure. - [Contact us](/contact-sales) to discuss how we can support your blockchain initiatives on Tempo and help you create the next generation of digital payment experiences. ## Frequently asked questions ### What is Tempo? Tempo is a new Layer 1 blockchain purpose-built for institutional-grade payments and stablecoin infrastructure, backed by Stripe and Paradigm and working with design partners including Visa, Klarna, Shopify, and DoorDash. ### What makes Tempo different from general-purpose blockchains? Tempo is architected specifically for payments with dedicated payment lanes that guarantee blockspace for transfers, ensuring payment transactions remain predictable and unaffected by network congestion from other activities like NFTs or trading. ### What is the TIP-20 token standard? TIP-20 is Tempo's native token standard that extends ERC-20 with payment-focused features like `transferWithMemo`, built-in role-based access control, and compliance hooks, plus the ability to pay transaction fees in any USD-denominated TIP-20 token. ### Does Tempo support account abstraction? Yes, Tempo ships with TempoTransactions, a native transaction type that brings account abstraction features directly into the protocol, enabling passkeys, WebAuthn signatures, transaction batching, fee sponsorship, and gasless experiences without complex smart contract implementations. ### What are Tempo's performance capabilities? Tempo offers a path to 100,000 TPS throughput with sub-second finality and dedicated payment lanes, ensuring predictable execution for payment transactions even during high network activity. ### How does Alchemy support Tempo? We provide Day 1 mission-critical infrastructure for Tempo including ultra-reliable RPC infrastructure with 99.99% uptime, complete protocol coverage for Tempo's unique features, developer tools at scale, and gasless transaction support. ### What types of applications is Tempo designed for? Tempo is designed to power stablecoin infrastructure, merchant and payroll rails, cross-border remittances, embedded finance platforms, and DeFi settlement applications that require institutional-grade payment capabilities. ### How can I start building on Tempo testnet? You can start building on the Tempo testnet now through our infrastructure, with access to enterprise-grade blockchain connectivity, full API coverage, and developer tools for deploying payment applications. --- # Enterprise Blockchain Infrastructure at Scale | Alchemy URL: https://www.alchemy.com/blog/the-infrastructure-behind-the-worlds-most-important-blockchain-applications.md Since 2017, Alchemy has provided the blockchain infrastructure that enterprises and developers rely on to build, scale, and operate with confidence. Today, we power $1T\+ in annual transactions, support 100\+ chains, and serve customers across 260\+ countries. Every year, more of the world's critical applications move onchain. Alchemy's infrastructure has grown with that demand. We process billions of requests daily. As our customers' applications grow, our infrastructure scales to meet them — without requiring teams to rearchitect or migrate. ## Trusted by industry leaders The companies that depend on Alchemy represent some of the most demanding use cases in both crypto and traditional finance. [Our customers](/case-studies) include Robinhood, Coinbase, Visa, Stripe, Circle, Polymarket, Uniswap — along with thousands of teams at every stage, from early-stage startups to publicly traded institutions. These companies chose Alchemy because they need an infrastructure partner that performs at their scale, meets their security and compliance requirements, and is available when it matters most. ## 99.99% uptime especially under pressure Reliability is measured in the moments that matter. In October 2025, crypto markets experienced their largest single-day liquidation event — approximately $19 billion wiped in hours. Infrastructure providers across the industry went down. Transactions failed and users couldn't close positions. Alchemy maintained the [highest uptime in the industry](/blog/best-uptime-biggest-liquidation-event-in-crypto) throughout the event. For current public performance data, compare [RPC provider benchmarks](https://www.alchemy.com/benchmarks) across latency, success rates, and failed requests. Consistent performance during market stress isn't incidental. It reflects eight years of engineering investment in redundancy, failover systems, and operational discipline, manifested in the world's first intelligent blockchain engine, [Cortex](/cortex). Our 99.99% uptime means fewer than 53 minutes of total downtime per year — a standard we've maintained through multiple market cycles. ## Across every major vertical Alchemy serves teams across the full spectrum of onchain applications: - [**Financial services**](/fintech) — [stablecoin infrastructure](https://www.alchemy.com/dapps/best/stablecoin-infrastructure), payment processing, tokenized assets - [**DeFi**](/defi) — trading, lending, liquidity protocols - [**Consumer applications**](/nfts) — wallets, gaming, NFT platforms, loyalty programs - **Enterprise and Web2** — brands and institutions entering crypto for the first time We've processed over **600 million gasless transactions**, reducing the complexity of onchain interactions for end users and enabling applications that feel indistinguishable from traditional software. Our platform reaches** 100 million\+ end users** through the applications we power. ## Eight years of reliability and innovation at scale 2017

", tooltip: "", icon: "" }, "2": { title: "

First teams got access to managed Ethereum infrastructure — no more running your own nodes.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

2018

", tooltip: "", icon: "" }, "2": { title: "

Built Vox Nodi, a consistency layer guaranteeing identical blockchain state across nodes. Teams no longer had to worry about inconsistent data between requests.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

2019

", tooltip: "", icon: "" }, "2": { title: "

Opened the platform to all developers — previously invite-only. At launch: 70% of top Ethereum apps, $7.8B in annual onchain transactions, 4M end users. Any team could now access enterprise-grade infrastructure from day one.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

2020

", tooltip: "", icon: "" }, "2": { title: "

20,000+ developer teams on the platform. Went multichain — teams could build across Ethereum, Polygon, Arbitrum, and more from a single provider.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

2021

", tooltip: "", icon: "" }, "2": { title: "

Enhanced API requests grew 1,000% YoY as teams moved from basic node calls to production-grade data queries. NFT API usage grew 10x as developers integrated NFTs into consumer products at scale.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

2022

", tooltip: "", icon: "" }, "2": { title: "

Launched industry-leading gasless infrastructure — enabling seamless one-click user experiences. Teams could now build apps that felt like web2 but were fully onchain.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

2023

", tooltip: "", icon: "" }, "2": { title: "

Expanded European infrastructure and support. Surpassed 50+ supported chains — teams could build multichain without managing multiple providers.

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

2024

", tooltip: "", icon: "" }, "2": { title: "

2.57 trillion requests served. Delivered industry-best uptime through crypto's largest liquidation event. Powered World Chain to 30M+ users via Alchemy Rollups. Supported J.P. Morgan's first USD deposit token on a public blockchain. Launched Cortex, our intelligent blockchain engine supporting 100K+ TPS with global edge infrastructure.

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

2025

", tooltip: "", icon: "" }, "2": { title: "

100+ chains. $1T+ in annual transactions. Customers in 260+ countries. Working alongside financial institutions, fintechs, and AI-native companies to ensure Alchemy's platform evolves with how the world builds onchain.

", tooltip: "", icon: "" }, id: 8, }, ], }} /> ## Why teams choose Alchemy Infrastructure decisions are high-stakes and long-term. Teams choose Alchemy because they need a partner they can depend on — one that scales with their growth, maintains performance through market volatility, and continues to invest in the platforms and chains that matter. That's what we've delivered for eight years. And it's what we'll continue to deliver. - [Get started for free](https://dashboard.alchemy.com/) - [Talk with our team](/contact-sales) for enterprise needs, specialized pricing, integration support and more ## Frequently asked questions ### What is Alchemy? Alchemy is a blockchain infrastructure provider that has been powering enterprise and developer applications since 2017, processing $1T+ in annual transactions across 100+ chains and serving customers in 260+ countries. ### What types of companies use Alchemy? Alchemy serves industry leaders including Robinhood, Coinbase, Visa, Stripe, Circle, Polymarket, and Uniswap, along with thousands of teams ranging from early-stage startups to publicly traded institutions across financial services, DeFi, consumer applications, and enterprise Web2 companies. ### What is Alchemy's uptime guarantee? We maintain 99.99% uptime, which equates to fewer than 53 minutes of total downtime per year, and have maintained the highest uptime in the industry through multiple market cycles including major liquidation events. ### How many chains does Alchemy support? We support 100+ blockchain networks, enabling developers and enterprises to build applications across every major blockchain ecosystem. ### What is Cortex? Cortex is Alchemy's intelligent blockchain engine, built on eight years of engineering investment in redundancy, failover systems, and operational discipline to ensure consistent performance during market stress. ### How many requests does Alchemy process? We process billions of blockchain requests daily and have powered over 600 million gasless transactions, reaching 100 million+ end users through the applications built on our infrastructure. ### What industries does Alchemy serve? Alchemy serves financial services (stablecoin infrastructure, payments, tokenized assets), DeFi (trading, lending, liquidity), consumer applications (wallets, gaming, NFTs, loyalty programs), and enterprise Web2 brands entering crypto. ### How does Alchemy handle high-traffic market events? During the October 2025 crypto market liquidation event that wiped approximately $19 billion in hours, Alchemy maintained the highest uptime in the industry while other infrastructure providers experienced outages. --- # Save 53% in wallet costs with Alchemy Smart Wallets URL: https://www.alchemy.com/blog/the-most-affordable-smart-wallet.md Here are some things that might be keeping you up at night. - **Security vulnerabilities** that put your users and reputation at risk - **Painful migrations** when you discover vendor lock-in or can’t rely on a provider - **Expensive tooling** that makes scaling financially unsustainable As developers ourselves, we relate, and are committed to building tools to help you avoid these nightmares. That's why we’re offering you the most cost-efficient, secure, and flexible smart wallet so you can focus on shipping and scaling. ## What is a smart wallet? Anyone building in web3 understands the limitations of [traditional EOA](/overviews/best-ethereum-wallets-for-developers-complete-evm-guide-2025) \(Externally Owned Account\) wallets like [MetaMask](https://www.alchemy.com/dapps/metamask). Seed phrases, gas fees, browser extensions —the entire experience creates friction that hinders users from onboarding and transactions from completing. [Smart wallets](/smart-wallets) represent a significant advancement in this space. They are programmable accounts powered by smart contracts that exist on the blockchain, and leverage a standard called [ERC-4337](/overviews/what-is-account-abstraction). This fundamental difference enables capabilities that traditional EOA wallets simply can't provide: - **Account recovery** - Eliminate permanent loss from forgotten seed phrases - **Batch transactions** - Execute multiple operations in one go - **Gas sponsorship** - Allow applications to cover gas fees for users - **Custom authorization** - Implement granular permission systems beyond the all-or-nothing approach For developers, this means creating web2-caliber onchain experiences. For users, it means interacting with blockchain applications without needing to understand the underlying technical complexity. [Smart wallets](/smart-wallets) bridge the gap between blockchain's potential and mainstream adoption—serving as the gateway enabling seamless web3 experiences. Alchemy is the [\#1 smart wallet provider](https://www.bundlebear.com/erc4337-factories/all), powering over 16 million smart wallets today and has co-authored standards like [ERC-6900](https://erc6900.io/) with the Ethereum Foundation. Now we're putting that expertise to work for you. Here’s how we built it and how you can leverage it to build winning apps. ## The tl;dr We know time is precious, so we’ve summarized. Here's what matters: - **Lowest account creation cost**: Our smart wallet is ~53% cheaper to deploy than industry averages \(0.56¢ vs. 0.26¢ across major L2s\) so you can onboard millions without breaking the bank - **Lowest transaction costs:** Our smart wallet saves you ~5-10% compared to alternatives for all transactions. - **Maximum security**: Fully [audited](https://github.com/alchemyplatform/modular-account/tree/develop/audits) by [Quantstamp](https://www.alchemy.com/dapps/quantstamp), Chainlight, and 500\+ security researchers - **True modularity**: Execution functions, validations, and hooks that let you extend functionality endlessly. - **Developer-friendly**: A [simple SDK](https://www.alchemy.com/docs/wallets/smart-contracts/modular-account-v2/overview) that doesn't require you to be a smart contract expert [**Smart wallets**](/smart-wallets) are designed to onboard millions of users to your app. Do it securely and cost-efficiently and never worry about scale. Keep reading for a deep dive on how we've achieved these industry-leading results. ## Core design principles Many providers force you to compromise. Want security? Say goodbye to flexibility. Need it cheap? Prepare for complexity. We believe you shouldn’t have to compromise. The smart contracts powering smart wallet functionality were built with three core principles in mind: - **Security**: Your assets stay safe, period. - **Cost**: Ultra gas-efficient — cheap to deploy and cheap to use. - **Flexibility**: These are _smart_ wallets. Easily add the features you need with granular control. And, all of this is made easy to use with a best-in-class SDK that just works. No “smart contract wizard” prerequisite. ### Security Security isn't just a feature for us – it's our foremost priority. Our contracts have been audited by two leading firms, [Quantstamp](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-11_quantstamp_14afcd8.pdf) and [Chainlight](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-03_chainlight_14afcd8.pdf), and via [Cantina](https://www.alchemy.com/dapps/cantina)’s community of over 5,000 security researchers. There are three possible execution paths — 1. The UserOp path. 1. The runtime validation path \(via `executeWithRuntimeValidation\(\)`\). 1. The direct call path. While each path works differently, they all maintain the same security standards. This implementation maximizes flexibility _and_ security through **validations**. Let’s explore. #### Validations Normally, when sending a standard transaction, the user's EOA signs the transaction details to prove they're really the one sending it. With account abstraction \([ERC-4337](/overviews/what-is-account-abstraction)\), however, users might not directly send transactions, or even use a standard EOA to sign transaction details. So, how do we authenticate a user operation? Enter _validations._ Conceptually, a validation is an authentication method associated with one or more potential actions that a smart account can do. **What's the difference between a smart account and smart wallet?** A smart wallet is a wallet that leverages smart account functionality - giving you programmable features like social recovery, batched transactions, and customized security rules directly through a seamless interface. Validations add granular security to smart accounts. You could have a validation that acts as an all-powerful super-validation, capable of doing anything— just as you could have a dozen or more validations, each with a different, narrow scope. By default, accounts have a fallback validation that comes pre-installed, allowing the original signer \(the “owner” of the account\) to execute anything. This is entirely configurable, and this validation can be entirely disabled. Validations must abide by the following rules: - Validations must be “installed” into the account to be used. - Validations can be selector-specific, or global. - Validations can have any number of “hooks” associated with them, allowing for granular access control. - Validations can be used to validate any combination of: userOps, runtime calls \(via `executeWithRuntimeValidation\(\)`\), and EIP-1271 signatures. - Installing a validation with a special identifier allows the address associated with that validation to directly call into the account for the specified functionality. - This can be used to allow other EOAs to execute limited actions on your smart account. Validations provide a powerful system to granularly manage access control and permission delegation. Furthermore, beyond being an authorization method, validations enable apps to securely request permissions from users, where additional guarantees would be provided by the user’s wallet \(in the form of hooks\) outside of the app’s control. The design space is quite literally endless. ### Flexibility True smart wallets should adapt to your needs, not the other way around. Our smart contracts are modular by design through three key components: #### Execution functions Execution functions allow calls into the account to be relayed to specified addresses. For example, if you're building an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), you might want to support transfers of tokens that require a callback to the receiving address \(like `onERC721Received\(\)`\). With our execution functions, that's a single installation call—no complex custom code needed. #### Validations Validations, as previously mentioned, are authorization methods that can be global or function-specific. The power here is that the account isn't tied to any single signature scheme—it works with any authorization method you choose. Want to support passkeys? Social logins? Multisig with different thresholds for different actions? All possible through the validations. #### Hooks Hooks are where modularity truly shine. They let you attach custom logic to any function or validation in your smart wallet. You could create a validation that only permits transfers of a specific token, with a maximum amount per day—perfect for dollar-cost averaging or subscription payments. Or picture hooks that implement advanced security checks before high-value transactions. --- Together, these components make our smart wallet future-proof. As new authorization methods emerge or your application's needs evolve, your wallet infrastructure can adapt without forcing users through painful migrations. ### Cost Alchemy

", tooltip: "", icon: "" }, "2": { title: "

0.036¢

", tooltip: "", icon: "" }, "3": { title: "

0.074¢

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Biconomy Nexus

", tooltip: "", icon: "" }, "2": { title: "

0.074¢

", tooltip: "", icon: "" }, "3": { title: "

0.076¢

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

ZeroDev Kernel v3.1

", tooltip: "", icon: "" }, "2": { title: "

0.067¢

", tooltip: "", icon: "" }, "3": { title: "

0.085¢

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Safe v1.4.1

", tooltip: "", icon: "" }, "2": { title: "

0.104¢

", tooltip: "", icon: "" }, "3": { title: "

0.081¢

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Coinbase Smart Wallet

", tooltip: "", icon: "" }, "2": { title: "

0.067¢

", tooltip: "", icon: "" }, "3": { title: "

0.075¢

", tooltip: "", icon: "" }, id: 4, }, ], }} /> Gas efficiency isn't just a nice-to-have—it's the difference between a product that scales and one that doesn't. Our smart wallet costs less gas to deploy than a single [Uniswap](https://www.alchemy.com/dapps/uniswap) V2 swap. We achieved this breakthrough by leveraging [Solady](https://github.com/vectorized/solady)'s Clone ERC1967 proxy with immutable arguments. Instead of storing the owner's address in expensive contract storage, we append it directly to the proxy's bytecode. This acts as your fallback validation that you can modify or remove at any time. The result? Deterministic deployment for under 100k gas on any supported chain, with immediate usability and zero compromise on features. #### The total cost advantage When benchmarked against industry competitors in usage scenarios, our wallet delivers significant savings: - **~53% cheaper account creation** than competitors - **66% cheaper than Safe** and **46% cheaper than ZeroDev Kernel** for account creation - **~10% savings for transactions** across all operation types \(native transfers, ERC-20 transfers, and swaps\) - **Substantial savings at scale**: Deploying 1M accounts with 100 transactions each saves you ~$30k \(on L2s\) compared to alternatives. The math is simple. Our dramatically lower account creation and transaction costs means real savings that compound as your user base grows. Beyond deployment, we've engineered efficiency into every operation. The smart contracts are built using highly optimized memory management techniques, including reusable in-memory buffers that significantly reduce gas consumption during execution. We know cost matters at every stage—from deployment to daily operations—so we've pushed gas efficiency to the limit. This means you don't have to choose between powerful features and affordability as your application scales. Check out our full benchmark analysis [here](https://github.com/alchemyplatform/aa-benchmarks). ### Ease of use There’s no point in having the best possible account if it’s impossible to use. We’ve abstracted all the complexity away, and provide a clean, documented interface that gets out of your way. Set up your client, and sending a userOp is as simple as: Our SDK abstracts intricacies such as encoding validations into the UserOp nonce, signing messages with [ERC6492](https://eips.ethereum.org/EIPS/eip-6492), and more general considerations when working with smart accounts. This ease of use allows you to focus on what matters most: shipping the absolute best experience for your users as efficiently as possible. ## Implementation Let’s take an even deeper dive into how these core design principles are implemented. ### A closer look: cost efficiency Cost efficiency is built in everywhere. Let’s explore a few key areas - account creation, session key creation, and user operations. #### Lowest account creation cost _What we achieved:_ - Industry-leading efficiency: Only 98k gas per account from the factory - 250k gas in a user operation with a simple execution - Up to 46% cheaper than ZeroDev and 84% cheaper than Safe for account creation Instead of regular account initialization, `SemiModularAccountBytecode` uses the contract-as-storage pattern to achieve the lowest smart account creation costs in the industry. This was done by adding native support for ECDSA into the account and appending the owner address to the proxy bytecode using [Solady](https://www.alchemy.com/dapps/solady)’s `LibClone.createDeterministicERC1967` instead of using storage. Skipping the initialization call removes performing 2 zero-to-nonzero EVM storage operations for a total reduction of 51k gas. Removing the initialization step also additionally enables [EIP-7702 compatibility](/overviews/eip-7702-ethereum-pectra-hardfork). These optimizations translate to real cost savings that compound with each user you onboard. #### Cost optimizations for session keys **What is a session key?** A temporary and limited access credential that lets apps perform specific actions on behalf of a user's wallet without requiring the user's main keys or repeated approvals for each transaction. Session keys are a popular feature for smart wallets. We lowered costs significantly for creation and usage of them through **deferred actions**, which reduces costs by 40k gas by allowing creation and first usage to be combined in a single operation. Imagine your app allows users to subscribe to a premium service with monthly payments. With traditional EOA wallets, the user experience is painful: 1. User signs up and approves the first payment 1. Next month, they must manually approve another transaction 1. If they forget or aren't available, their subscription lapses 1. You lose revenue and they lose access to your service To solve this, you want to implement session keys that allow your app to process monthly payments without requiring the user to approve each one. But with other smart wallet providers, setting this up is frustrating: 1. User must sign a transaction to create the subscription session key 1. Wait for blockchain confirmation \(could be minutes\) 1. Sign another transaction to set up the first payment 1. Wait again for confirmation This clunky experience happens because other providers only support naive batch execution, which requires a **single** validation to be used across all operations. This means they can't combine operations that require different types of authentication in a single transaction. With **deferred actions**, this becomes a 1-click experience. Users create a payment session key and process their first payment in a single seamless transaction. This is achieved through an additional validation \+ execution step is implemented within user operation validation to be performed only when the deferred action flag in the user operation nonce is set. - We combine session key creation and first payment in one operation, saving steps and costs. - We handle the owner validation \(for creating the key\) and the session key validation \(for the payment\) together - We implemented specialized processing triggered by flags in the transaction data Additionally, we designed deferred actions with security top of mind. When designing deferred actions, we implemented multiple layers of protection: **Replay attack prevention** We use the transaction nonce \(a unique identifier\) to also serve as the deferred actions nonce. This prevents anyone from copying and replaying a deferred action multiple times **Tamper-resistance** Deferred actions are stored in the signature field of transactions which creates potential vulnerability to modification by transaction processors \(bundlers/relayers\). We solve this through two critical safeguards: 1. Validation Binding - The transaction nonce contains information about which validation method to use - This ensures deferred actions can only be executed by their intended validation function - **Result**: Even if extracted, a deferred action cannot be used with a different validation method 1. Removal Protection - The presence of specific data in the nonce signals that deferred actions should be present - This prevents middlemen from removing deferred actions from transactions - **Result**: The complete transaction is always processed exactly as the user intended These safeguards work together to ensure deferred actions remain secure throughout the transaction lifecycle, from creation to execution on the blockchain. #### Cost optimizations for user operations **What is a user operation?** User operations are transaction objects that let smart wallets execute transactions on behalf of users, enabling more flexible blockchain interactions without changing Ethereum's core protocol. We use a call buffer feature to further reduce gas costs of user operations by 3-6k gas for simple user operations, and higher savings are expected for more complex user operations. One design quirk about the [Solidity](https://www.alchemy.com/overviews/solidity) compiler today is that it produces bytecode that only allocates memory, never deallocating it even when variables in memory are not used anymore, causing unnecessary expansions of memory. Although memory operations tend to be insignificant compared to storage or call costs, the EVM has a quadratic cost of memory expansion so this becomes very significant for complex applications or calls. For the hooks that can be implemented on user operations and on executions, Solidity would create a memory expansion per hook or validation call. We instead implement call buffers in Yul, the low-level language used as inline assembly within Solidity, to allocate a segment of memory for all hook calls to be reused across all hook calls that are performed. ### A closer look at security: session keys Session keys are a common feature of smart wallets, allowing users to delegate specific permissions to external applications or services. While this functionality enables greater flexibility and usability, it requires careful implementation to maintain security. Here's how our ERC-6900 compliant accounts deliver comprehensive protection for users through session key configuration. **1. Contract and Selector Allowlisting** The ability to make unrestricted contract calls through session keys can expose accounts to significant risk, particularly with [ERC20](https://www.alchemy.com/overviews/erc20-solidity) tokens. Since token ownership and balances are managed at the contract level, an unlimited session key could effectively give unrestricted access to all ERC20 tokens. We addresse this by implementing strict contract and selector allowlisting, enabling users to precisely define which contracts and functions a session key can interact with. **2. Multi-layered Spending Controls** Beyond contract-level restrictions, granular spending controls are essential for comprehensive security. We allow you to set: - Native token spending caps - ERC-20 token spending limits - Gas usage restrictions The gas limit implementation is particularly noteworthy, as it’s the only _secure_ way to enforce during the user operation validation phase. This is crucial because the ERC4337 Entrypoint contract uses validation success to determine payment responsibility between the bundler and the account. By implementing these checks through additional pre-validation hooks, Alchemy Prism offers protection that many other smart accounts lack. **3. Advanced Execution Hooks** For sophisticated use cases like token swaps, monitoring the execution context is vital. Alchemy Prism accounts support both pre- and post-execution hooks, enabling: - Balance delta calculations - Custom oracle price comparisons - Slippage tolerance enforcement This feature allows users to implement precise controls over swap operations performed on their behalf, providing a level of transaction configuration that sets Alchemy Prism apart from many other smart account implementations. Through these security measures, our accounts provide amazing session key functionality that maximizes both flexibility and protection, setting a high standard for smart account security. ### Upgradeability Our accounts are upgradeable and use the [ERC-1967 proxy pattern design](https://eips.ethereum.org/EIPS/eip-1967) which supports account upgrades that can only be initiated by users by default. It is important that this is something only a user can perform since an account upgrade operation could be used to override existing security settings and configurations on the user’s account. ## Save costs and scale with Alchemy smart wallets [**Smart wallets**](/smart-wallets) are the key to bringing millions of users onchain without the usual friction. We've built ours so you can: - Deploy accounts at less than half the cost of alternatives \($0.38 vs industry average $0.79\) - Forget about painful migrations with truly modular architecture that adapts as you grow - Sleep better knowing your users' assets are protected by multiple audits and 500\+ security researchers We've done the hard work optimizing gas, implementing security validations, and making everything developer-friendly so you can ship fast and scale. **Want to see how much you'll save?** Our [pricing calculator](https://wallet-calculator.alchemy.com/) helps you estimate costs as you scale. **Ready to start building?** [Dive into the docs](https://www.alchemy.com/docs/wallets/react/quickstart) and deploy your first smart wallet in under 5 minutes. **More questions? We're here for you.** Learn more about [smart wallets](/smart-wallets) or [get in touch](/contact-sales) with our team. ## Frequently asked questions ### What is a smart wallet? A smart wallet is a programmable account powered by smart contracts on the blockchain that enables features like account recovery, batch transactions, gas sponsorship, and custom authorization, capabilities that traditional EOA wallets cannot provide. ### How much does it cost to deploy our smart wallets? Our smart wallets cost approximately $0.26 to deploy across major L2s, which is ~53% cheaper than the industry average of $0.56 and up to 84% cheaper than alternatives like Safe. ### What is ERC-4337 and how does it relate to smart wallets? ERC-4337 is an account abstraction standard that smart wallets use to enable programmable features without requiring changes to Ethereum's core protocol, using user operations that are processed by bundlers. ### How are our smart wallets secured? Our smart wallets have been audited by Quantstamp, Chainlight, and over 500 security researchers through Cantina, with multiple execution paths that all maintain the same security standards through a validations system. ### What are validations in smart wallets? Validations are authentication methods that provide granular security and access control for smart accounts, allowing you to configure different permission levels for different actions rather than an all-or-nothing approach. ### What are session keys and how do they save costs? Session keys are temporary credentials that let apps perform specific actions on behalf of a user without repeated approvals. Our deferred actions feature reduces session key creation costs by 40k gas by combining creation and first usage in a single operation. ### Can I customize the functionality of our smart wallets? Yes, our smart wallets are fully modular with three key components: execution functions, validations, and hooks that allow you to extend functionality and adapt to your specific needs without migrations. ### How much can I save at scale with our smart wallets? Deploying 1 million accounts with 100 transactions each saves approximately $30,000 on L2s compared to alternatives, with ~53% savings on account creation and 5-10% savings on all transaction types. --- # The Stablecoin Landscape Across Different Chains URL: https://www.alchemy.com/blog/the-stablecoin-landscape-across-different-chains.md [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) are the first crypto product to hit true, global product-market fit. What began as a tool for traders to move funds between exchanges has evolved into the most widely used application of blockchain technology - the onchain dollar. As Robinhood CEO Vlad Tenev puts it, tokenization is an “[unstoppable freight train](https://www.cnbc.com/2025/10/02/tokenization-of-assets-is-freight-train-coming-to-markets-robinhood-ceo.html)” set to become the default for global stock access and reshape the financial system & stablecoins are the first step in tokenization. As of October 2025, [more than $305B](https://defillama.com/stablecoins/chains) of stablecoins circulate across public blockchains, powering everything from global remittances to [institutional tokenization](https://www.alchemy.com/overviews/digital-asset-tokenization). Over the past year, on-chain dollar transfers exceeded [$15.6 trillion](https://getblock.net/en/news/stablecoin-transfer-volume-reached-156-trillion-in-q3-2025), reflecting both the scale and maturity of stablecoins as real financial infrastructure rather than speculative assets. Fortune 100 companies are increasingly exploring stablecoins for cross-border payments and other product offerings, lending additional legitimacy to the sector. As more companies aim to issue their own stablecoins or adopt existing ones, competition for volume is likely to intensify. This competitive landscape could lead to decreased fees as issuers vie for market share, potentially benefiting end users while challenging profitability for stablecoin providers. While [Ethereum](https://www.alchemy.com/ethereum) continues to anchor the market—with its L1 and L2 ecosystem accounting for well over half of all stablecoin supply—the landscape has become distinctly multi-chain. [Solana](https://www.alchemy.com/solana) leads for high-throughput payments, Tron dominates low-fee remittances in emerging markets, [BNB Chain](https://www.alchemy.com/bnb-smart-chain) hosts exchange-linked liquidity, and a wave of new entrants like [Base](https://www.alchemy.com/base), [Arbitrum](https://www.alchemy.com/arbitrum), and [Polygon](https://www.alchemy.com/polygon) extend Ethereum’s reach to cheaper settlement layers. Each chain now caters to different users and geographies: Western institutions and fintechs gravitate toward Ethereum and its rollups, while retail activity in Asia, the Middle East, and Africa increasingly flows through Tron and BSC. In this blog, we map the stablecoin transformation chain by chain, examining where stablecoins live, where volume flows, and which institutions are building where. ## Ethereum Ethereum dominates the stablecoin landscape with supply higher than all other chains combined. Across [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) alone, the stablecoin market cap is about $161B, and the trailing-[30-day transfer volume](https://visaonchainanalytics.com/transactions) is roughly $2.09T, the largest of any chain by a wide margin. Ethereum’s stablecoin user base is also broad and growing. In 2025, Ethereum has averaged around 720,000 unique _stablecoin-sending_ addresses per week, with two recent weeks topping 1 million—fresh highs that are a clean, chain-agnostic signal of steady, global demand for on-chain dollars Ethereum shows the [broadest](https://electriccapital.substack.com/p/how-stablecoin-usage-varies-across) global footprint with especially strong Western working-hours usage, which points Western fintechs and asset managers plugging into the Ethereum L1 and its EVM ecosystem first. In terms of tokens, [USDT](https://tether.to/) is the most popular stablecoin on Ethereum, with about 50–53% of Ethereum’s stablecoin supply \(≈ $80–85 billion\), followed by [USDC](https://www.circle.com/usdc) at ~29% \(≈ $45–50 billion\). The rest is split among DAI, USDe, FRAX, GHO, crvUSD, and other stables. Ethereum is also the preferred network for regulated issuers. BlackRock’s [BUIDL fund](https://securitize.io/learn/press/blackrock-launches-first-tokenized-fund-buidl-on-the-ethereum-network), PayPal’s [PYUSD](https://www.paypal.com/us/digital-wallet/manage-money/crypto/pyusd), Ripple’s [RLUSD](https://ripple.com/solutions/stablecoin/), Société Générale’s [EURCV and USDCV](https://www.sgforge.com/), and [MetaMask](https://www.alchemy.com/dapps/metamask)’s [mUSD](https://metamask.io/news/introducing-metamask-usd-your-dollar-your-wallet) all launched on Ethereum — confirming its role as the trusted foundation for tokenized money and on-chain finance. ## Ethereum L2s ### Arbitrum Arbitrum is the leading Ethereum L2 in stablecoin supply, with ~$10B in stablecoins live on the network and about $154B in 30-day transfer volume. In 2025, Robinhood launched [tokenized U.S. stocks and ETFs](https://cointelegraph.com/news/robinhood-expands-tokenization-500-us-stocks-etfs-arbitrum) for European users on Arbitrum, showing how mainstream fintechs are beginning to leverage public L2s for real asset settlement. With more institutions exploring tokenized assets, stablecoins on Arbitrum have become both collateral and settlement rails used in DeFi protocols, DEX liquidity, and now mainstream fintech applications. ### Base Base has quickly become the “commerce L2” — built for scale, payments, and consumer-facing apps. Its stablecoin supply sits around $4.6 billion, largely in USDC, backed by Coinbase’s liquidity network and a fast-growing developer ecosystem. Although transparent [30-day volume](https://app.artemisanalytics.com/stablecoins) figures aren’t consistently published, Base has repeatedly ranked among the top chains by daily stablecoin throughput, reflecting strong organic usage. In 2025, several major fintechs and enterprises began building directly on Base. [J.P. Morgan's launched USD deposit](https://www.alchemy.com/blog/alchemy-smart-wallets-jp-morgan-token?utm_source=x&utm_medium=social&utm_campaign=2506_jpm_announcement) token proof of concept on a Base L2 \(supported by Alchemy\), Shopify [turned on USDC](https://www.shopify.com/news/stablecoins-on-shopify) on Base inside Shopify Payments in June 2025, and Stripe followed by [enabling USDC subscriptions](https://stripe.com/blog/introducing-stablecoin-payments-for-subscriptions) on Base, putting stablecoin checkout, recurring billing, and payouts a click away for mainstream merchants. ### Polygon \(PoS\) Polygon still remains one of the top choices for institutional pilots on public chains because of its performance, scalability, EVM compatibility, and long track record of reliability. Today it carries around $2.7B in stablecoins with about $45–46B in 30-day transfer volume. Across Ethereum and its L2s, these EVM ecosystems account for around $174B in stablecoin supply, about 56.5% of the total $307B market \(as of Oct 16, 2025\). ## Solana Solana has become one of the top three blockchains for stablecoins, with over $16 billion in circulating supply and nearly $500 billion in 30-day transfer volume. Solana’s fast block times and sub-second finality make it ideal for high-speed, low-cost [stablecoin payments](https://www.alchemy.com/dapps/best/stablecoin-payments) and settlement. Institutional adoption has followed that performance. Visa began [supporting USDC settlement](https://usa.visa.com/about-visa/newsroom/press-releases.releaseId.19881.html) on Solana in 2023, while PayPal expanded [PYUSD to the network](https://newsroom.paypal-corp.com/2024-05-29-PayPal-USD-Stablecoin-Now-Available-on-Solana-Blockchain,-Providing-Faster,-Cheaper-Transactions-for-Consumers) in May 2024 to speed up consumer payments. Together, these integrations have turned Solana from a DeFi chain into a true payment rail used by both fintechs and global merchants. Most of Solana’s stablecoin activity is concentrated in USDC and USDT, which together handle more than 90% of all stablecoin transfers onchain, roughly $10 billion in daily value. That stablecoin liquidity flows through wallets like Phantom \(for mobile payments and swaps\) and powers apps like Pump.fun \(social and memecoin trading\), making Solana one of the busiest networks for both retail and institutional on-chain dollar usage. ## TRON Tron is the workhorse of the stablecoin world and is the backbone for low-cost, high-frequency transfers, especially across emerging markets. It currently holds around $79 billion in stablecoins and records nearly $714 billion in 30-day transfer volume, ranking second only to Ethereum in total usage. USDT overwhelmingly dominates Tron’s ecosystem, accounting for more than 95% of its stablecoin supply. The network’s consistently low fees \(often less than a cent per transaction\) have made it the preferred choice for cross-border remittances, merchant settlements, and peer-to-peer payments in [regions](https://electriccapital.substack.com/p/how-stablecoin-usage-varies-across) such as Asia, the Middle East, Africa, and Latin America. Independent reports in 2025 highlight how Tron-based stablecoins have effectively become everyday money rails in high-inflation and capital-controlled economies used for salary payments, import settlements, and even informal savings. This role as the “cash equivalent” of crypto gives Tron a unique position: it’s less about DeFi or speculation, and more about global, dollar-denominated utility at the edge of the financial system. ## BNB chain BNB Chain \(BSC\) is the third largest stablecoin hub, with around $14 billion in stablecoin supply and roughly $59.5 billion in 30-day transaction volume. Its strength lies in its exchange-driven liquidity, anchored by [Binance](https://www.alchemy.com/dapps/binance) integrations and the rapid growth of [FDUSD](https://firstdigitallabs.com/) - a fiat-backed stablecoin issued by [First Digital Labs](https://www.alchemy.com/dapps/firstdigitallabs), now the dominant non-USDT asset on the network. According to analysis of $13.6T in stablecoin transactions done by [Electric Capital](https://electriccapital.substack.com/p/how-stablecoin-usage-varies-across), the data reveals geographic differences in how the world uses stablecoins across chains. In particular, BSC and Tron are heavily concentrated in Asian, Middle Eastern, and African markets, with minimal Western activity \(\<3% activity during Western working hours\). ## Hyperliquid Hyperliquid is a new high-performance Layer-1 chain that grew out of the Hyperliquid derivatives DEX, and is now dominating the on-chain perpetuals market. The network holds over $5 billion in total stablecoin supply and commands an estimated 83% share of all on-chain perp trading volume. Recently, Hyperliquid introduced [USDH](https://finance.yahoo.com/news/usdh-stablecoin-goes-live-hyperliquid-150836389.html), a native stablecoin designed to serve as the core settlement asset across its ecosystem. USDH was launched through Native Markets after a governance vote where it prevailed over competing proposals from Paxos and Agora. This move solidified Hyperliquid’s intent to own its own payment and collateral layer rather than rely solely on external issuers like USDC or USDT. By combining ultra-low latency with a vertically integrated stablecoin, Hyperliquid has positioned itself as both a trading platform and a self-contained financial layer. It’s a clear sign that next-generation appchains are no longer just DeFi venues, they’re building full economic stacks with native stable assets at the center. ## Plasma [Plasma](https://www.alchemy.com/plasma) is a new stablecoin-native Layer-1 chain built specifically for payments and settlements. It launched its mainnet in late September 2025 and made an immediate impact surpassing $5 billion TVL within its first week, making it the 7th largest blockchain globally by total value locked. At launch, Plasma attracted over $2 billion in day-one stablecoin liquidity, thanks to strong integrations with issuers and payment providers. The network rolled out its flagship consumer app, [Plasma One](https://www.plasma.to/one), targeting emerging markets where users rely on stablecoins for daily transactions and remittances. Plasma’s key differentiator is its focus on fee-free stablecoin transfers and built-in compliance tooling, allowing users and businesses to transact cheaply while remaining regulatory-friendly. It’s still early, but the approach signals a clear ambition: to specialize at the payments layer, making stablecoins as seamless to use as traditional digital cash. ## The future is stable-coded Stablecoins are no longer just for DeFi users: they’re becoming the foundation of global payments and digital finance. The next chapter is about adoption, not speculation. Whether its Ethereum continuing to assert its dominance as the leading stablecoin ecosystem, Tron dominating low-cost remittances across emerging markets, or newer chains like Hyperliquid and Plasma unlocking new stablecoin use cases, the demand for stablecoins is only getting louder. As stablecoins move into checkout systems, payroll, and cross-border commerce, they’re blending into the world’s financial infrastructure. Better tooling and clearer regulation will only speed that process up. For builders, the stablecoin opportunity is wide open. The on-chain dollar is now everywhere, and [Alchemy](https://www.alchemy.com/fintech) supports every major chain helping make it real. ## Frequently asked questions ### What is the total stablecoin market cap across all blockchains? As of October 2025, more than $305 billion of stablecoins circulate across public blockchains, powering everything from global remittances to institutional tokenization. ### Which blockchain has the largest stablecoin supply? Ethereum dominates with about $161 billion in stablecoin market cap on mainnet alone, higher than all other chains combined, with the Ethereum L1 and L2 ecosystem accounting for well over half of all stablecoin supply. ### What are the most popular stablecoins on Ethereum? USDT is the most popular stablecoin on Ethereum with about 50–53% of supply, followed by USDC at around 29%, with the rest split among DAI, USDe, FRAX, GHO, crvUSD, and others. ### How much stablecoin transfer volume occurred in the past year? Over the past year, on-chain dollar transfers exceeded $15.6 trillion, with Ethereum mainnet alone recording roughly $2.09 trillion in trailing 30-day transfer volume. ### Which blockchain is preferred for low-cost remittances? Tron dominates low-fee remittances in emerging markets, holding around $79 billion in stablecoins with nearly $714 billion in 30-day transfer volume, ranking second only to Ethereum in total usage. ### What role does Solana play in the stablecoin ecosystem? Solana has become one of the top three blockchains for stablecoins with over $16 billion in supply and nearly $500 billion in 30-day transfer volume, making it ideal for high-speed, low-cost payments with sub-second finality. ### Which stablecoins has PayPal launched and on which chains? PayPal launched [PYUSD](https://www.alchemy.com/dapps/paypal-usd) on Ethereum and expanded it to Solana in May 2024 to speed up consumer payments with faster, cheaper transactions. ### What is Base's role in the stablecoin landscape? Base has quickly become the "commerce L2" with around $4.6 billion in stablecoin supply, largely in USDC, and has attracted major integrations including Shopify's USDC payments and Stripe's stablecoin subscriptions. --- # Inside Cortex: Engineering Sub-50ms Blockchain Infrastructure URL: https://www.alchemy.com/blog/the-tech-behind-cortex.md Reliable blockchain connectivity is non-negotiable. [Cortex](https://www.alchemy.com/cortex) is the intelligent blockchain engine powering the Alchemy platform: [RPC APIs](https://www.alchemy.com/docs/reference/node-api-overview), [data APIs](https://www.alchemy.com/docs/reference/data-overview), [rollups](https://www.alchemy.com/docs/reference/rollups-quickstart), and the infrastructure behind the rest of the developer platform. It was built from first principles, trained on trillions of requests and more than seven years of data, with one goal: deliver infrastructure that performs reliably at any scale. The result is sub-50ms average response times, 99.995% uptime, and throughput that scales to tens of millions of users without migrations, new tooling, or configuration changes on your end. For a public cross-provider view, see Alchemy's [RPC performance benchmarks](https://www.alchemy.com/benchmarks) for latency, success rates, and failed requests. This post takes a closer look at the engineering decisions behind Cortex: the systems-level work across latency, throughput, and reliability that makes those numbers possible. ## How does Cortex reduce latency? ### Pod colocation with kubernetes affinity When your app sends a request, that request travels through several internal services before it gets a response. Every time it moves from one server to another, it pays a latency cost. Pod colocation means placing the services that communicate most frequently on the same physical machine. Kubernetes supports affinity rules that make this possible, so latency-sensitive workloads run together instead of spreading across machines or racks. The result: requests stay local, which reduces network hops and cuts response time. ### Istio locality-aware routing Even within a single data center, services are distributed across nodes and racks. Istio is the networking layer that manages how internal services communicate. With locality-aware routing, Istio knows the physical location of each service instance and routes traffic to the closest available one whenever possible. If the service handling your request is running on the same node, traffic stays there instead of crossing the network to a farther instance. This reduces unnecessary network hops without requiring any changes to application code. ### Microkernel proxy architecture As infrastructure grows in complexity, tightly coupled systems become harder to change safely. Updating one component can introduce risk across the rest of the stack. A microkernel approach keeps the core small and stable, responsible only for the critical path. Everything else, including logging, rate limiting, authentication, and routing logic, is implemented as modular components layered on top. Our proxy layer sits between incoming requests and backend systems. Because it is built on a microkernel model, individual modules can be updated and deployed independently without touching the core request path. That makes it easier to iterate quickly while reducing the risk of regressions. ### Direct-to-datacenter routing For enterprise workloads, routing traffic over the public internet introduces variability: inconsistent latency, packet loss, and congested paths that shift based on conditions outside your control. Direct-to-datacenter routing avoids that by sending enterprise traffic over private, optimized network paths that connect directly to our infrastructure. This removes the unpredictability of shared public routing and delivers more consistent low-latency performance at every hop. ## How does Cortex scale? ### Thousands of globally deployed bare-metal servers Most cloud infrastructure runs on virtual machines. Virtualization is flexible, but it adds overhead because CPU, memory bandwidth, and I/O are shared with other workloads on the same host. Bare-metal means running directly on physical hardware with no hypervisor in between. Every resource is dedicated to your requests. That removes the performance variability of shared environments and gives Cortex consistent throughput under heavy load. ### Java virtual threads Handling large numbers of concurrent requests puts pressure on a server's threading model. Traditional OS-level threads are memory-intensive, and the cost of managing context switching grows as concurrency rises. Java Virtual Threads, introduced in Java 21, are lightweight threads managed by the JVM rather than the operating system. The cost of creating and switching between them is far lower than traditional threads, which lets a single machine handle far more concurrent tasks without the memory and CPU overhead that usually limits throughput. In practice, that means more efficient use of existing hardware and more headroom to absorb traffic spikes without degrading performance. ### Predictive scaling logic Standard auto-scaling watches a threshold like CPU usage and adds capacity after that threshold is crossed. That makes it reactive by design: demand rises first, infrastructure catches up second. Our scaling logic monitors multiple signals at once, including CPU, memory, disk I/O, and traffic patterns, then uses historical data to anticipate spikes before they happen. Capacity is provisioned ahead of demand instead of after it, which narrows the gap between a traffic increase and the infrastructure's ability to absorb it. ### AI-managed node fleet Our node fleet is managed by a fully automated agentic system that handles upgrades, testing, and monitoring. Updates are detected and applied in real time, with automated testing built into the pipeline, so mandatory network upgrades and hard forks are never missed. That improves uptime and removes the risk of human delay when critical chain events happen. ## Why do these systems compound? These are not isolated optimizations. Pod colocation reduces latency. Locality-aware routing reduces it further. The microkernel architecture makes it possible to improve both without introducing instability. Bare-metal hardware gives Java Virtual Threads the resources they need to operate efficiently. Predictive scaling makes sure capacity is available before it is needed. Each layer was designed to make the layers above it faster and more resilient. That is what it means to rethink infrastructure from first principles, and that is what Cortex is built on. All of this runs under the hood. There is no migration, no new tooling, and no configuration required on your end. We keep building the infrastructure so you can keep building your product. [Start building](https://dashboard.alchemy.com/) today and [contact sales](https://www.alchemy.com/contact-sales) for custom pricing, integration questions, and more. ## Frequently asked questions ### What is Alchemy Cortex? Cortex is the intelligent blockchain engine powering Alchemy's developer platform, including RPC APIs, data APIs, rollups, and infrastructure. It was built from first principles and trained on trillions of requests and over seven years of data to deliver sub-50ms response times, 99.995% uptime, and throughput that scales without requiring migrations or configuration changes. ### How does Cortex achieve sub-50ms response times? Cortex uses pod colocation with Kubernetes affinity to place frequently communicating services on the same physical machine, Istio locality-aware routing to direct traffic to the closest service instance, a microkernel proxy architecture for stable core performance, and direct-to-datacenter routing for enterprise traffic over private networks. ### What is Cortex's microkernel proxy architecture? The microkernel approach keeps the core request-handling system small and stable, while logging, rate limiting, authentication, and routing logic are implemented as modular components that can be updated independently without touching the critical path or introducing risk across the stack. ### How does Cortex handle scaling differently? Cortex uses predictive scaling logic that monitors multiple signals including CPU, memory, disk I/O, and traffic patterns, then uses historical data to provision capacity ahead of demand spikes instead of reacting after thresholds are crossed. ### Why does Cortex use bare-metal servers instead of virtual machines? Bare-metal servers run directly on physical hardware without a hypervisor, dedicating every resource to requests and removing the performance variability and overhead of shared virtualized environments, which delivers consistent throughput under heavy load. ### What are Java Virtual Threads and why does Cortex use them? Java Virtual Threads are lightweight threads managed by the JVM rather than the operating system, with far lower creation and context-switching costs than traditional threads, allowing a single machine to handle more concurrent tasks without the memory and CPU overhead that typically limits throughput. ### How does Cortex manage blockchain node upgrades? Cortex uses a fully automated agentic system that handles upgrades, testing, and monitoring in real time, with automated testing built into the pipeline so mandatory network upgrades and hard forks are never missed, improving uptime and removing human delay risk. ### Do I need to migrate or configure anything to use Cortex? No migration, new tooling, or configuration is required on your end, Cortex runs under the hood and delivers infrastructure improvements automatically while you continue building your product. --- # TheFungiNFT Partners with Alchemy URL: https://www.alchemy.com/blog/thefunginft-partner-with-alchemy-to-leverage-nft.md ### _TheFungiNFT and Alchemy collaborate to help raise awareness for mental health._ As NFT projects continue to grow in creativity and popularity, TheFungiNFT team plans to use this growing excitement to help fund promising research while increasing awareness about societal acceptance of psychedelic treatment related to mental wellbeing. While some communities within the NFT space aim to primarily benefit their creators and the artists, TheFungiNFT team is making charitable contributions a core component of their roadmap. Alchemy is proud to be the exclusive developer platform powering the TheFungiNFT team’s drop.   TheFungiNFT minting will take place on **Saturday, December 11th, 5 PM ET** with 10,000 mints priced at .05 ETH / mint and will include a total of 134 unique traits. The team will be pledging half of its initial proceeds and a third of their future royalties to the MAPS Foundation \(Multidisciplinary Association for Psychedelic Studies\). Using the remaining proceeds TheFungiNFT team will fund new developments like airdrops, partnerships, DAO governance, live events, and custom swag to further advance their core mission. As their drop date approaches, TheFungiNFT team has selected Alchemy as their exclusive node provider after extensive research into alternatives. It quickly became clear to their team that with Alchemy’s extensive knowledge of the Web3 ecosystem and ultra scalable infrastructure they’d be set up to support a massive amount of traffic on launch day. Additionally, access to Alchemy’s 24/7 customer success team, a Web3 industry gold standard, has helped TheFungiNFT team shorten its product development life cycles.   “Conducting a vendor evaluation and due diligence process for any IT solution would normally be a very difficult decision. When selecting Alchemy, we knew exactly what we were getting; industry-leading Blockchain technology, unparalleled customer support, and a long term strategic partner.” - TheFungiNFT Project Team The research around psychedelics, specifically psilocybin, and its ability to combat depression, PTSD, and other debilitating mental health issues has shown promise; TheFungiNFT team hopes that with more visibility and funding they can help accelerate this important work. Alchemy is always actively looking to collaborate with creators building new and exciting use-cases within Web3. This partnership will aim to make a positive impact for all of those seeking mental health support. While TheFungiNFT team creates new altruistic incentives for their NFT drop, Alchemy is here to support them with a developer platform to help make this happen in a meaningful way. Enthusiasm surrounding and attributed to psychedelic research and treatment has never been stronger. It is our shared belief that we can all come together and help change the lives of millions of people around the world. ### About TheFungiNFT TheFungiNFT’s primary objective is to help raise awareness and increase applicable societal action highlighting the powerful methods of healing associated with advancing safe and legal use of psychedelics. TheFungiNFT team believes that a global pandemic has only fueled an increase in social pressures and/or seclusion; increasing the need for dependable and complementary direction for those seeking a healthier mental wellbeing outside of conventional medicine. TheFungiNFT team established the [MAPS Foundation](https://maps.org/) as a terrific partner; MAPS fully aligns with the team’s values, vision, and mission. Furthermore, MAPS will receive 50 percent of the project’s initial Ethereum distribution as well as 33 percent of all royalties thereafter. This approach ensures that financial support is allocated to the utmost appropriate channels and the advancement of a common mission remains in capable hands. TheFungiNFT project will also be reserving 33 percent of all secondary sales to a DAO which will maintain voting rights and decide on future initiatives collectively undertaken to benefit the world. The team encourages all projects with similar goals to reach out for collaborations, join their ever-growing community, and plan on being a part of a _mush larger movement_! -- Want to learn more about TheFungiNFT project? Here are the links to TheFungiNFT’s social pages - [Discord](http://discord.gg/TheFungiNFT), [Twitter](https://twitter.com/TheFungiNFT), and [Website](http://thefunginft.com). ### About Alchemy Alchemy provides the leading blockchain development platform powering millions of users for 99% of countries worldwide. Our mission is to provide developers with the fundamental building blocks they need to create the future of technology and lower the barrier to entry for developers to build blockchain applications. Alchemy currently powers 70% of the top Ethereum applications and over $30 billion in on-chain transactions and has been featured on TechCrunch, Wired, Bloomberg, and numerous other media outlets. The Alchemy team draws from decades of deep expertise in massively scalable infrastructure, AI, and blockchain from leadership roles at technology pioneers like Google, Microsoft, Facebook, Stanford, and MIT. -- Ready to start building your own decentralized apps? [Sign up](https://alchemy.com/?a=ce3f12a05c) for a free Alchemy account and get started building. For the latest news, follow us on [Twitter](https://x.com/Alchemy). --- # Transfers API: Fetch Historical Transactions 500x Faster URL: https://www.alchemy.com/blog/transaction-history.md ### From "0x0" to "latest" real quick the fastest, most efficient way to access historical ETH, ERC20, and ERC721 transfers in a single API call. Imagine if there was a method that could answer: “How much ETH, SUSHI, USDT, … \(you get the picture\), has Vitalik Buterin sent to Elon Musk?” Well, with [Alchemy’s Transfers API](https://www.alchemy.com/docs/reference/transfers-api-quickstart), now there is \(provided that you know their wallet addresses\). With a single API call, you can fetch historical transactions for _any_ address and any tokens, without having to scan the entire chain for each of your users. Whether you're a developer for the newest DEX or the hottest gaming dApp, you know the struggle is real when it comes to accessing historical transactions. If you're using the native Ethereum client methods, you're probably querying for each block to get ETH transfers, then filtering for [ERC20](https://www.alchemy.com/overviews/erc20-solidity) and ERC721 transfers by parsing through thousands of logs, and keeping all of this information in some underlying datastore. Aside from being a mouthful, the process of building out this infrastructure in a way that is scalable and consistent takes up a lot of engineering resources and is extremely slow. Don't even get me started on parsing transaction traces to access internal transactions from contract addresses - as Nikola Vuković from DefiSaver puts it, "internal transfers are almost impossible to get". After learning about this painful process for such a simple and universal use case, we decided to build out our Transfers API that does all of this work behind the scenes. Now, all you have to do is make a call to a single endpoint and watch as the ETH, ERC20 and ERC721 transfers come rolling in. As an added bonus and optimization, this API supports pagination so that you can reduce network latency and fetch results sequentially without hitting timeouts or having to stitch together the results yourself. Transfers API Infrastructure Once you've accessed all of the transactions your users have made in the past, you can easily set up[ Address Activity Notifications](https://www.alchemy.com/docs/reference/notify-api-quickstart) to continue to receive ETH, ERC20 and ERC721 in real time. Together, Alchemy's Transfers API and Address Activity Notifications are a powerful tool set for any developer interested in building a backend for user transactions. Okay, now for the cool stuff - a live demo. To see our Transfers API in action, checkout this[ example query](https://www.alchemy.com/composer?composer_state=%7B%22network%22%3A0%2C%22methodName%22%3A%22alchemy_getAssetTransfers%22%2C%22paramValues%22%3A%5B%7B%22excludeZeroValue%22%3Atrue%2C%22fromBlock%22%3A%220x0%22%2C%22toBlock%22%3A%22latest%22%2C%22fromAddress%22%3A%220x7a250d5630B4cF539739dF2C5dAcb4c659F2488D%22%2C%22toAddress%22%3A%220x2D407dDb06311396fE14D4b49da5F0471447d45C%22%7D%5D%7D) in our Public Composer to view transfers sent from Uniswap V2: Router 2 to Yearn: Deployer - it's super simple and will help you get started! Our results show that a call to alchemy_getAssetTransfers is up to 500x faster \(and for some use cases literally 1,000,000x faster\) than using the [geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) methods eth_getBlockByNumber and eth_getLogs concurrently to query 10K blocks for all ETH, ERC20 and ERC721 transfers sent to WETH. Don't believe us? A skeptic - I like it. Good thing you can always test the performance yourself with this [script](https://github.com/alchemyplatform/alchemy-asset-transfers-benchmark). If you want to see the optimization really kick in, try querying for more blocks. If there's a 500x speed up for 10K blocks, imagine the speed up you'll see for 10M blocks 🚀! ‍ If you’re interested in exploring the Transfers API you can get started today by [signing up with Alchemy for free](https://dashboard.alchemy.com/signup?referral=affiliate:18a41366-5a36-4300-8b7b-31bfc8cda175) and checking out the [documentation](https://www.alchemy.com/docs/reference/transfers-api-quickstart). ‍ --- # Tribe Partners Alchemy To Spark Blockchain Startup Growth URL: https://www.alchemy.com/blog/tribe-is-partnering-with-alchemy-to-spark-blockchain-startup-growth.md Tribe is a blockchain ecosystem accelerator based in Singapore, one of the leading blockchain development countries in the world. Tribe has the distinction of being the first government-supported blockchain accelerator in Singapore, but reaches far beyond its borders to mentor and promote promising blockchain companies worldwide. Teams accepted to the program receive top-tier technical resources, networking opportunities with leading corporate partners, and a [demo tour](https://tribeaccelerator.co/global-demo-tour) where participants pitch their project to influencers with access to capital in major cities in Asia,the Middle East, and the United States. In this way Tribe acts as a pipeline to funding for founders fortunate enough to be accepted in their program. Tribe’s mission is clear: drive blockchain adoption by enabling collaboration between promising blockchain startups, and public and private partners with product development expertise. Though they offer an array of services to their participants, Tribe is individual team focused. They see every startup in their accelerator as a unique combination of talent and objectives, and tailor the program to best help bring their product to market, given each team’s specific circumstances. What Tribe offers is a truly boutique program for founders looking for full product development and go-to-market support. ## Tribe and Alchemy advance global blockchain adoption Tribe’s scope is global blockchain adoption, yet in order to achieve it Tribe’s leadership knows they must take a personal approach to mentoring their startups. They believe blockchain technology will only fulfill its promise if the use cases that leverage the tech are creating value by solving real problems for its users. Tribe is determined to give them the assistance and encouragement they need to do it. That’s why we at Alchemy are thrilled to partner with Tribe and the passionate teams they mentor. Our mission is parallel to theirs; to make blockchain development easy in order to help usher in the next wave of groundbreaking tech. It’s what attracted Alchemy to Tribe in the first place. Widespread adoption will only occur if talented teams can laser-focus on what they do best, building their product. Tribe gives them that opportunity by providing help with all the rest, from technical mentoring to product marketing. ## Blockchain founders have unique challenges The Tribe team knows full well the difficulties blockchain founders face. The technology is still so new that the infrastructure to support it is being built concurrently. Unlike legacy tech firms who can rely on regulatory certainty, public funding, a solid hardware and software framework, and other benefits that come from a developed industry, blockchain teams are largely on their own. They must often mature all this infrastructure themselves while simultaneously working to get their product market ready.  And even after they account for all of this, there’s still the challenge of making their product as customer-friendly as their legacy counterparts. Otherwise, their product, and blockchain in general will fail to take off. It’s truly an uphill battle, but Tribe is attempting to make much less steep in many ways, including linking blockchain teams with legacy firms who share strategic goals. We get it. Alchemy is a blockchain startup too, and we had to face the same challenges Tribe participants are currently confronted with. The difference is now we are in a position to do something about it; to assist these up-and-coming teams in a meaningful way.  ## How Alchemy is supercharging blockchain startups While every blockchain startup is unique, they all have similar technical adversity to overcome on the platform level. And that’s where Alchemy is contributing industry-wide, but specifically as a partner offering Tribe Accelerator startups exclusive benefits. Startup teams get premium access to Alchemy Supernode, our supercharged Ethereum API, and Alchemy Build, our no-code, no-configuration suite of developer tools, for a significantly reduced rate, and oftentimes free.  Teams that employ Alchemy tools get industry-best infrastructure that scales as they do. We also provide dedicated support channels to help them with everything from painlessly spinning up their nodes, to working through any technical problems they encounter.  Founders of blockchain firms confront a set of challenges particular to the blockchain sphere, and it’s imperative they receive the same level of guidance and support as startups in other sectors. Together with Tribe it’s our job to meet some of these challenges for them, so they can better concentrate on their core mission, and in doing so drive worldwide blockchain adoption. Would you like to pitch Tribe Accelerator? [Check them out here](https://tribeaccelerator.co/). Alchemy supports blockchain infrastructure in 197 countries. [Get to know us better here.](https://dashboard.alchemy.com/signup?referral=affiliate:747e6db1-1a8f-4601-98b2-b0dc56486ac1) Ready to build the next killer app? [Get started free with Alchemy.](https://dashboard.alchemy.com/signup?referral=affiliate:747e6db1-1a8f-4601-98b2-b0dc56486ac1) --- # TRON Support Is Live on Alchemy URL: https://www.alchemy.com/blog/tron-support-is-live-on-alchemy.md [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) have quietly become one of the clearest real-world success stories of crypto. They move trillions of dollars a year, power payments and remittances in emerging markets, act as the base asset for trading, and provide dollar exposure where local currencies are volatile. A huge amount of blockchain’s promise—[permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) money, global access, 24/7 settlement—is playing out through stablecoins. That’s why we’re excited to share that TRON support is now live on Alchemy. TRON isn’t just “another chain” for us. It’s: - The second-largest blockchain by stablecoin market , after Ethereum - A chain that’s seeing some of the largest stablecoin supply inflows in the world - Frequently the \#1 blockchain by protocol fees, largely driven by stablecoin transfers In other words: if you care about stablecoins, you have to care about TRON—and now you can build on it with Alchemy. ## TRON is the second largest stablecoin blockchain When it comes to stablecoins, two chains clearly dominate: Ethereum and TRON. TRON is currently the second-largest blockchain by stablecoin market capitalization, with roughly $75–80B in stablecoins live onchain. The network is overwhelmingly driven by USDT, which accounts for ~98%\+ of TRON’s stablecoin supply. In fact, close to half of all circulating USDT globally exists on TRON. What this means for builders: if your users already hold stablecoins, there’s a good chance many of them are on TRON. With Alchemy, you can read balances, move funds, and build on top of that liquidity using the same abstractions you use on other chains. ## TRON leads the market in stablecoin inflows It’s not just the size of the stablecoin supply on TRON, it’s the momentum. TRON consistently ranks among top blockchains for stablecoin inflows, often absorbing hundreds of millions of dollars in net inflows in a single day. This trend reflects how TRON is being used in practice: - Cross-border transfers - P2P payments - Exchange settlement rails - Remittances and merchant payments Most of these transactions are small-ticket transfers, a clear signal of real-world usage rather than purely speculative flows. For builders: inflows = new users, new balances, and new transaction opportunity. Whether you’re building payments, savings, or trading experiences, Alchemy’s TRON support lets you build right on top of that growing base. ## TRON is frequently the top chain by fees Despite having extremely low per-transaction costs, TRON regularly ranks as the top blockchain by total fees generated, often surpassing Ethereum, Bitcoin, and Solana. This happens because: - Transaction fees on TRON are near-zero for end users - Stablecoin transfers happen at massive scale - High transaction volume more than compensates for low fees Even after reducing base fees by ~60%, TRON’s network revenue increased, driven by continued growth in usage. Fee revenue on TRON is largely powered by USDT transfers, reinforcing its role as a high-throughput stablecoin settlement network. High fee revenue paired with low transaction costs is one of the clearest indicators of sustained, organic demand. For builders: this is a network where people are actually transacting. A lot. With Alchemy’s infra, you get WebSocket support to stream that activity, robust rate limits, and analytics to understand how your app behaves in a high-throughput environment. ## Millions of daily users, millions of daily transactions TRON is one of the most actively used blockchains in the world: - 2–3M daily active addresses - 8–10M transactions per day - 350M\+ total accounts created - Average transaction fees around $0.0003 This activity profile looks very different from many DeFi-first ecosystems. TRON is optimized for volume, speed, and cost efficiency, making it attractive for applications serving large retail user bases. As a result, TRON has become a dominant settlement layer in regions such as Asia, Africa, Latin America, and the Middle East, where stablecoins are used as everyday digital dollars. For builders: if you’re building for global audiences, especially in regions like LatAm, MENA, Africa, and Asia, TRON is often where those users already are. Alchemy gives you a single, consistent interface to reach them, right alongside your existing Ethereum, L2, and other chain deployments. ## What developers actually build on TRON TRON’s onchain activity is driven by clear, real-world use cases: - **Remittance and payout rails.** Move USDT on TRON between exchanges, wallets, and users with low fees and high reliability. - **Agent and automation flows.** Let agents or backend services programmatically handle stablecoin transfers on TRON using familiar Alchemy APIs. - **Multi-chain experiences.** Bridge value via TRON for last-mile delivery while orchestrating business logic on Ethereum, L2s, or other Alchemy-supported networks. Rather than competing directly with Ethereum’s DeFi depth, TRON excels as the last-mile settlement layer for stablecoins—fast, cheap, and globally accessible. That makes it a critical chain for developers building payment infrastructure, fintech rails, consumer apps, and global money movement tools. ## What TRON being live on Alchemy unlocks With TRON now live on Alchemy, developers get access to TRON with the same reliability, scalability, and developer experience they expect across Alchemy-supported networks. As stablecoins continue to expand globally, infrastructure needs to meet users where they already are. TRON is one of the most important chains in that story today and now it’s available on Alchemy. Ready to build on TRON? - Start building on [TRON](https://www.alchemy.com/docs/reference/tron-api-quickstart) - [Explore how Alchemy helps you](https://www.alchemy.com/fintech) deploy payment applications with enterprise-grade infrastructure. - [Contact us](https://www.alchemy.com/contact-sales) to discuss how Alchemy can support you on TRON and help you create the next generation of digital payment experiences. ## Frequently asked questions ### Does Alchemy support TRON? Yes, TRON support is now live on our platform, giving developers access to TRON with the same reliability and developer experience they expect across all our supported networks. ### Why is TRON important for stablecoin applications? TRON is the second-largest blockchain by stablecoin market capitalization with roughly $75-80B in stablecoins, hosts close to half of all circulating USDT globally, and consistently ranks among the top blockchains for stablecoin inflows. ### What are TRON's transaction fees? Average transaction fees on TRON are around $0.0003, making it extremely cost-efficient for high-volume stablecoin transfers and payments. ### How many daily transactions does TRON process? TRON processes 8-10M transactions per day with 2-3M daily active addresses, making it one of the most actively used blockchains in the world. ### What types of applications are developers building on TRON? Developers are building remittance and payout rails, agent and automation flows for programmatic stablecoin transfers, and multi-chain experiences that use TRON as a last-mile settlement layer. ### Which regions primarily use TRON? TRON has become a dominant settlement layer in Asia, Africa, Latin America, and the Middle East, where stablecoins are used as everyday digital dollars. ### How does TRON compare to other blockchains by fees? Despite having extremely low per-transaction costs, TRON regularly ranks as the top blockchain by total fees generated, often surpassing Ethereum, Bitcoin, and Solana, driven by massive transaction volume. ### What makes TRON suitable for payments and remittances? TRON excels as a last-mile settlement layer for stablecoins with fast transactions, extremely low fees, and global accessibility, making it ideal for cross-border transfers, P2P payments, and merchant payments. --- # Unichain - Powered by Alchemy’s Full-Stack Platform URL: https://www.alchemy.com/blog/unichain-powered-by-alchemy-s-full-stack-platform-makes-defi-95-cheaper-and-faste.md Ship production-ready DeFi apps from day one of mainnet with Alchemy’s infrastructure support for Unichain, the L2 that's set to transform how we think about onchain liquidity. ## Momentum is building The testnet numbers show builder excitement is already here: - 88 million test transactions processed - 12 million test contracts deployed Unichain is primed for growth.  With over 80\+ apps committed to launch of Unichain, it is quickly becoming a home for DeFi. ## The road ahead Unichain has outlined a [methodical path](https://www.unichain.org/blog/wen-unichain-mainnet?1) to ensure a stable and secure development after mainnet launch. Their sequence begins with core features essential for builders, followed by the strategic activation of Rollup-Boost and Flashblocks to enable revert protection,verifiable priority ordering for transactions, and 250ms sub-blocks. Later in the year Unichain will launch the Unichain Validation Network allowing anyone to run a node and verify blocks. By aligning our infrastructure support with each phase of this rollout, we ensure you'll have the tools and resources needed to build effectively at every stage. 📚 Check out more info on Rollup-Boost in our [video tutorial](https://www.youtube.com/watch?v=Gje9XOBL3_Y) and [blog article](https://www.alchemy.com/blog/Rollup-Boost). 📚 ## Build and scale on Unichain with Alchemy Ship your onchain projects for half the cost. With our [new pricing](https://www.alchemy.com/blog/pay-as-you-go-pricing?utm_source=blog&utm_medium=pricing&utm_campaign=unichain) taking effect February 1st, 2025, you'll join thousands of developers who are building more while spending less. Enjoy new developer-friendly pricing and build faster and smarter with with one platform that helps you do everything. Position your project at the forefront of DeFi's evolution. [Start building for free](https://dashboard.alchemy.com/chains/unichain?utm_source=blog&utm_medium=dashboard&utm_campaign=unichain). --- # Usage Data in the Alchemy CLI | Alchemy URL: https://www.alchemy.com/blog/usage-data-alchemy-cli.md Usage data is now queryable in the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli#usage). You can pull your team's compute and cost data, both totals and a breakdown over time, straight from the terminal. The same data is available to AI agents through the [Alchemy MCP Server](https://www.alchemy.com/docs/alchemy-mcp-server), so an agent can see what your team is consuming without a custom integration. Until now, checking usage meant logging into the [Dashboard](https://dashboard.alchemy.com/) and reading the charts manually. There was no first-class programmatic way to get at the numbers. Now there is. ## What you can do Two commands cover most of what you'll reach for. - `alchemy usage summary` gives you month-to-date, last 7 days, or last 30 days totals, in both compute units and USD. - `alchemy usage timeseries` gives you the same numbers plotted over time, so you can see when traffic and spend moved. Both render as a readable chart in your terminal. Add `--json` and you get structured output instead, ready to pipe into a script, a dashboard, or an alert. For machine-readable output: ## Slice it the way the Dashboard does You can group usage by network, app, method, or request type, and filter on any of them, so you can answer questions like which app is driving compute or which method spiked overnight. Pick hourly or daily granularity with `--granularity`. This is full parity with the Dashboard's usage view, which stays the visual source of truth. A few examples: --methods eth_getLogs`} /> ## Give your agents usage awareness The same usage data is exposed through the Alchemy MCP Server as two tools: `get_usage_summary` and `get_usage_time_series`. Point an agent at your MCP server and it can reason about consumption and cost as part of its context, so an agent monitoring your infrastructure also knows what that infrastructure is costing. If you already connected the MCP server to Cursor, Claude Code, or Codex — see the [MCP setup guide](https://www.alchemy.com/docs/alchemy-mcp-server) or our [MCP announcement](/blog/alchemy-mcp-server) — these tools show up alongside the rest of the Alchemy surface. Pair them with [Agent Skills](https://www.alchemy.com/docs/alchemy-agent-skills) if you want your agent to know how to call Alchemy APIs in code; MCP is what gives it live usage data in the conversation. ## Who this is for If you're building agents or you just want programmatic, scriptable visibility into what your team consumes, this is for you. Monitor spend while you develop. Wire usage into an agent's context. Build your own cost dashboard or a budget alert. Track down which network, app, or method is responsible for a jump in compute. All of it now lives where you already work. ## Getting started Make sure you're on Node 22 or later, then install or update the CLI: Then run `alchemy usage summary` and you're looking at your numbers. See the [usage docs](https://www.alchemy.com/docs/alchemy-cli#usage) for flags and filters, or our [12 things you can do faster with the Alchemy CLI](/blog/12-things-faster-with-alchemy-cli) walkthrough for the full command surface. Usage in the CLI and the MCP server is one more step toward a platform that agents and developers can both operate directly. Update the CLI, run a command, and tell us what you'd want to see next. --- # How User Operation Fees are Estimated and Charged URL: https://www.alchemy.com/blog/user-operation-fee-estimation.md In our series of posts on ERC-4337 gas estimation, starting with [how ERC-4337 gas estimation works](https://www.alchemy.com/blog/erc-4337-gas-estimation), we’ve discussed step 2 of the “User Operation Flow,” `eth\_estimateUserOperationGas`, and its complications including the [gas token transfer problem](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers) and challenges [estimating L2 gas](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators). This post will focus on step 3 of the flow, detailing how gas fees are estimated and charged. For the purpose of this post, we will assume that we are working with a chain that supports EIP-1559. Understanding of [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) is required background to grasp the fee fields in a user operation. User operations have the same fee fields as EIP-1559 transactions: - `maxFeePerGas`: the maximum total amount a user bids to pay \(base fee \+ priority fee\) - `maxPriorityFeePerGas`: the maximum priority fee or “tip” the user bids The entry point uses the following formula to [calculate the resulting gas price](https://github.com/eth-infinitism/account-abstraction/blob/033b4be2a606defd5cd5226bdde3afcea21db5fa/contracts/core/EntryPoint.sol#L600) from these two fields: As you can see, `maxFeePerGas` acts as an absolute cap on the gas price, while `maxPriorityFeePerGas` acts as a tip on top of the base fee of the block. ## Bundle transactions When [bundlers send bundle transactions](https://www.alchemy.com/overviews/what-is-a-bundler) to the entry point they are also subject to a gas price derived via EIP-1559 dynamics. Bundlers set a `maxFeePerGas` and a `maxPriorityFeePerGas`. The final gas price is calculated from those and the base fee of the block the transaction is included in. Bundlers submit a transaction at one gas price, and then are compensated at a, potentially different, gas price set by each user operation in the bundle. If the user operation gas price is higher, the bundler will profit, else the bundler incurs a loss on that user operation. The `maxPriorityFeePerGas` isn’t just a tip to the bundler, its also helping the bundler compensate for the tip it had to pay to the block builder to get the bundle transaction included \(unless the bundler is a builder itself\). ### How are bundlers financially incentivized? Bundling can be an expensive task, mainly due to the complex simulations needed to ensure bundler safety. To allow bundlers to recoup for these compute costs, and to incentivize a healthy marketplace for user operations \(which improves UX by lowering time to inclusion\), it is required for there to be financial incentives for bundlers in the form of excess revenue. This revenue can take multiple forms: priority fees, MEV, and off-chain deals. #### 1. Priority fees Bundlers may require senders to include a priority fee on their operations that is greater than the priority fee the bundler paid on its transaction. Senders who want to improve their chances of being bundled during high congestion periods may increase their priority fee bid. #### 2. MEV revenue Bundlers can extract MEV from operations in the mempool as they have ordering rights in the bundle. They are free to back-run and sandwich operations to pocket this profit. #### 3. Off-chain Bundlers can run private mempools \(with features like MEV protection\) and make off-chain deals with user operation senders. The fees would be enforced by some off-chain mechanism. To ensure a healthy network, we’d argue that \(1\) is a required option for most user operations. Positive MEV is not available to extract from every user operation type. If we only rely on this incentive, bundlers won’t pick up most user operations. Off-chain deals are centralizing and many users will want to avoid this vector. This leaves Priority Fees. Alchemy’s Rundler currently defines a dynamic priority fee required for bundling. This fee is based on the current estimated network fees. If a user operation bids less than the estimated network fee, plus a small overhead tip for the bundler, it won’t get bundled and will be left in the mempool. 💡 When the P2P network emerges, this will look more like a marketplace, similar to that of transactions. Senders can analyze previously mined user ops to gauge what the minimum price is. Bundlers can provide hints to users based on the current mempool contents. MEV searchers may also pick user operations out of the mempool that have high associated MEV, but potentially pay less \(or zero\) in gas \(or even require the searcher to [pay them](https://github.com/blunt-instruments/MevWallet)\). This MEV marketplace could be facilitated by an [Orderflow Auction](https://frontier.tech/the-orderflow-auction-design-space) \(OFA\). ## How do bundlers estimate gas fees? Before [bundling](https://www.alchemy.com/overviews/what-is-account-abstraction), the bundler must perform its own estimation of the fees that it will submit to ensure inclusion of the bundle transaction through the bundle marketplace. Typically a bundler will build for inclusion in the next block, and will bid a decent price to ensure inclusion. To estimate base fees the bundler can query the network for the current block’s base fee. Typically adding at least a 25% overhead \(the max amount the fee can increase in the next 2 blocks\) is desirable to ensure the transaction does not get stuck. To estimate the priority fee the bundler can use `eth\_maxPriorityFeePerGas`. Similar to base fee, adding a percentage overhead to this is desirable to ensure the transaction gets picked up. With these fees estimated, the bundler can then query the mempool and filter for user operations that bid enough to be included \(including the small bundler “tip”\). 💡 This section describes a Bundler that utilizes a bundle marketplace to submit its bundles. Bundlers must use bundle marketplaces \(i.e. [Flashbots](https://www.alchemy.com/dapps/flashbots)\) in order to ensure that their bundle of user operations doesn’t get front-run, causing it to revert on chain and leaving the bundler paying for gas itself. The dynamics change if a bundler is part of a block builder. ### How should senders estimate user operation fees? Client-side, senders must estimate the fees required for bundling. If they estimate too low, their user operation may be stuck in the mempool. If they estimate too high, specifically for the priority fee, they may be overpaying for inclusion. **We recommend the following approach when interacting with Rundler pre-p2p network:** 1. Estimate the base fee. Add an overhead that you’re comfortable with to ensure mine if the price moves against you. We recommend at least 25%. 1. Estimate the priority fee using `eth\_maxPriorityFeePerGas`. Add an overhead you’re comfortable with. We recommend at least 10% 1. Add the network-dependent bundler “tip” overhead to the priority fee. 1. Add priority fee to base fee to get `maxFeePerGas`, `maxPriorityFeePerGas` is the estimated fee from 2. ### Arbitrum fee estimation The Arbitrum sequencer ignores priority fees and `eth\_maxPriorityFeePerGas `always returns 0. To compensate the bundler we require a priority fee that is a fixed percentage of the bundler’s estimated max base fee. We currently charge 5%. ### Optimism fee estimation Optimism has an edge case, described in our previous post of [estimating L2 gas](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators), that impacts fee estimation. On Optimism we set `maxPriorityFeePerGas = l1\_gas / l2\_base\_fee`. However, since in a normal Optimism transaction priority fees only apply to the L2 gas component, they may be orders of magnitude higher than the L2 base fee. Thus, we require a bundle’s priority fee to be a fixed percentage of the estimated base fee. We currently charge 5% 💡 More details about Alchemy’s [bundler fee logic](https://www.alchemy.com/docs/reference/bundler-api-quickstart) can be found in our documentation. ## P2p mempool Once the P2P mempool is running, a separate market will emerge for user operation fees. This may substantially simplify fee estimation for user operations. Instead of running static calculations for priority fee as described above, user can use the fee history to estimate their bid. It no longer matters the criteria that a single bundler is using for choosing user operations, just that _some_ bundler sees a user operation as valuable enough to bundle. Rundler will support a `rundler\_userOperationFeeHistory` method \(or something similar, could be standardized\) similar to `eth\_feeHistory` that users can query to estimate their bids based on previously bundled operations. 🦀 ## Continue reading If you missed the first three articles in this technical exploration of ERC-4337 gas estimation, learn how ERC-4337 gas estimation and how we overcame complications to provide accurate gas estimations for user operations. - [How ERC-4337 Gas Estimation Works](https://www.alchemy.com/blog/erc-4337-gas-estimation) - [Dummy Signatures and Gas Token Transfers](https://www.alchemy.com/blog/dummy-signatures-and-gas-token-transfers) - [L2 Gas and Signature Aggregators](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators) --- # Introducing User Operation Overrides URL: https://www.alchemy.com/blog/user-operation-overrides.md [Account Abstraction](/overviews/what-is-account-abstraction) lets users use smart contract accounts as wallets instead of traditional Externally Owned Accounts \(EOAs\). When initiating transactions from a smart contract account, [User Operations](/overviews/user-operations) \(UserOps or UOs\) contain the transaction details similar to regular transactions: `sender`, `to`, `calldata`, `maxFeePerGas`, `maxPriorityFee`, `signature`, and `nonce`. Because smart contract accounts rely on [Bundlers](/overviews/what-is-a-bundler) to execute transactions on their behalf, user operations also contain a new set of fields for estimating gas and sponsoring gas with paymasters including: `callGasLimit`, `verificationGasLimit`, `preVerificationGas`, and `paymasterAndData`. Today, we’re launching [User Operation Overrides](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides) to give developers fine grain control over gas fees. Gas fee markets move fast on L2s, and when that happens pending UOs might fail. UO Overrides enable you to override gas estimates to get stronger guarantees that UserOps are mined, regardless of [gas estimates](/blog/l2-gas-and-signature-aggregators) that are misaligned with actual gas costs. ## What user operation overrides do: By overriding a gas fee estimate, which incorporates a lot of complex inputs and therefore can be hard to estimate accurately, you can get stronger guarantees that your UserOp will successfully be mined regardless of gas fluctuations by setting absolute or multiplier-based override values. ## What are the benefits of user operation overrides? The two main developer benefits of UO Overrides are streamlining the complexity of estimating gas and paymaster values, and increasing the likelihood of UOs getting mined during periods of fee market volatility. ### 1. Streamline complexity Today, estimating the right gas fee means incorporating six different gas types, making it hard to get a gas estimate “right”. With Fee Overrides, devs set the parameter to override gas estimates at a certain threshold, so UserOps are mined, regardless of how accurate your estimate was. ### 2. Own your outcomes One pain point of using the [aa-sdk](https://www.alchemy.com/docs/wallets) to date has been that when the network got busy, teams would ask Alchemy engineers to take care of gas estimation and UserOp success for them. With User Operation Overrides, teams can now choose what UserOps are most important, and set custom override values with greater control to increase the likelihood that their UOs are mined successfully. ## What are the features of user operation overrides? User Operation Overrides allow the specification of override values for: 1. `maxFeePerGas` 1. `maxPriorityFeePerGas` 1. `callGasLimit` 1. `preVerificationGas` 1. `verificationGasLimit` 1. `paymasterAndData` Developers building with Alchemy's AA SDK can use User Operation Overrides with any [Bundler](/bundler) or [Paymaster](/gasless-transactions)! ## How do user operation overrides work? Override values are available from each middleware of the `SmartAccountProvider`. For example, the default [`middlewares`](https://www.alchemy.com/docs/wallets/concepts/middleware) such as `gasEstimator` or `feeDataGetter` apply the overrides values to the estimated values if the override values are provided. Other than the `paymasterAndData` field, the override fields could be either the **absolute value** or the **multiplier value**. In the default middlewares, if the override value is an absolute value, it simply overrides the estimated value. If the override value is a multiplier value, the estimated value is _bumped_ with the indicated multiplier value. For example, if the override value is `\{ multiplier: 1.1 \}` for the `maxPriorityFeePerGas` field, then a 1.1 multiplier, or a 10% increase, is applied to the estimated `maxPriorityFeePerGas` of the user operation. To get started, explore the [User Operation Override docs](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides)! --- # Simplify ERC-4337 transaction signing URL: https://www.alchemy.com/blog/user-operation-simulation.md We’re thrilled to announce the launch of UserOp Simulation. Transaction simulation has helped make web3 safer and more user-friendly. Today, we’re excited to bring that capability to ERC-4337 UserOps for smart accounts. By simulating a UserOp, you can predict the expected outcome and display it in a human readable format. The UserOp Simulation API returns all asset changes, approval changes, and onchain reversions. Developers can use Account Kit to add UserOp Simulation with a single line of code today! Ready to learn more? Let’s dive in! ## A recap: transaction simulation for externally owned accounts Back in January, [Transaction Simulation](https://www.alchemy.com/transaction-simulation/?a=8b181d81d6) made transaction signing less opaque, by giving users full visibility into the expected outcome of their transactions. Without simulation, users would sign transactions blindly and trust that the app was initiating the intended transaction. ‍The suite of [Transaction Simulation APIs](https://www.alchemy.com/docs/reference/simulation/?a=36867e6c68) solved this problem for EOA wallet users by greatly simplifying the user experience for signing a transaction. It also helped keep users safe by making malicious transactions more obvious But a new type of wallet is taking the ecosystem by storm: ERC-4337 smart accounts. ## Launching today: UserOp simulation for ERC-4337 smart accounts ERC-4337 smart accounts have taken off this year with [over 1.3M accounts deployed onchain](https://dune.com/niftytable/account-abstraction).  Smart accounts are the best way to build web2 UX in a web3 app, and simulation is a critical component. The trick is that smart accounts don’t send transactions like a normal EOA wallet. Instead, they send User Operations – a meta transaction defined by the [ERC-4337 standard](https://eips.ethereum.org/EIPS/eip-4337). Today, we’re releasing the first ERC-4337 UserOp Simulation API to help developers build mainstream checkout experiences for users. ## With UserOp simulation: 🔶 Unlock transparency, clearly displaying to users the expected outcomes of their UserOps. 🔶 View results in a format that is ABI decoded, human readable, and inclusive of all relevant metadata. 🔶 Use Account Kit to integrate UserOp Simulation with just one line of code. 🔶 Access improved security and avoid submitting UserOps that are predicted to fail. UserOp Simulation is the newest addition to a suite of APIs and tools, built to make using SCAs easy. ## How it works There are two ways that Account Kit supports UserOperation simulation: 1. Use the [withAlchemyUserOpSimulation](https://www.alchemy.com/docs/wallets/concepts/middleware) middleware to simulate every UserOp before sending. 1. Use the [simulateUserOperationAssetChanges](https://www.alchemy.com/docs/wallets/api/bundler-api/useroperation-simulation-endpoints/alchemy-simulate-user-operation-asset-changes) method to simulate UserOps selectively, an alternative to always running simulation. ## The account abstraction product suite Alchemy's [Account Kit](https://www.alchemy.com/docs/wallets/) is a complete toolkit for developers to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. Here's everything that's included: 🟧 [aa-sdk](https://www.alchemy.com/docs/wallets): a flexible library to integrate, deploy, and use smart accounts 🟧 [Light Account](https://www.alchemy.com/docs/wallets/smart-contracts/other-accounts/light-account): a gas-optimized ERC-4337 smart contract account 🟧 [Signers](https://www.alchemy.com/docs/wallets/signer/what-is-a-signer): integrations with your favorite social login and passkey providers 🟧 [Gas Manager APIs](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm): a programmable API to sponsor gas fees in your app 🟧 [Bundler APIs](https://www.alchemy.com/docs/reference/bundler-api-quickstart): built in Rust to achieve high performance and high-reliability 🟧 [Custom Webhooks](https://www.alchemy.com/docs/custom-webhooks): notify users when their user operations complete ## Start simulating today Start simulating ERC-4337 UserOps today with Alchemy's developer tools. --- # Announcing the first-ever Web3 30 award winners 🏆 URL: https://www.alchemy.com/blog/web3-30-winners-2023.md ## Winners of web3’s community choice awards revealed! Today’s the day! We’re thrilled to announce the winners of the Web3 30: community-driven awards celebrating the best and brightest web3 projects, as voted by you. Over the past couple of months, we’ve received thousands of nominations and votes for chains, apps, tools, [DAOs](https://www.alchemy.com/dapps/top/daos), protocols and more - all loved and valued by web3 enthusiasts across the globe. But only thirty made the final cut! Ready to find out who they are? Drumroll please, fam… 🥁 ## dapps and dapp tooling The “Dapps and Dapp Tooling” category was the most competitive category for this year’s Web3 30 because it included the following categories from the [Alchemy Dapp Store](https://www.alchemy.com/dapps): DeFi dapps and tools, NFT dapps and tools, and trading tools. **The top 10 dapps and dapp tooling winners for the 2023 Web3 30 awards are:** - [1inch](https://1inch.io/) - Decentralized exchange aggregator powering flexible swaps and trades - [Aave](https://aave.com/) - A best-in-class borrowing and lending platform for digital assets built on Ethereum - [Binance](https://www.binance.com/en) - The largest [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) in the world in terms of daily crypto trading volumes - [Blur](https://blur.io/) - [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) for professional traders - [Collab.Land](https://www.collab.land/) - Community management tool that curates membership based on token ownership - [Mirror World](https://mirrorworld.fun/) - A web3 app development platform helping devs build, grow and monetize - [OpenSea](https://opensea.io/) - The most popular and widely used NFT marketplace - [Slingshot](https://slingshot.finance/) - A popular Ethereum-based swapping protocol with 0% fees - [Uniswap](https://uniswap.org/) - The first Ethereum-based DEX enabling ERC-20 token swaps with liquidity pools - [Zapper](https://zapper.fi/) - Explore and discover opportunities across NFTs, DAOs and DeFi ## Developer and infra In the second-most competitive category for “Developer and Infra,” nominees spanned the following Dapp Store categories: [Solidity](https://www.alchemy.com/dapps/solidity) tools, infrastructure tools, web3 developer tools, and blockchains. **The top 8 developer and infrastructure winners for the 2023 Web3 30 awards are:** - [101](https://101.xyz/home) - An education platform for anyone to learn about blockchain technology - [Alchemy University](https://university.alchemy.com) - The best Solidity bootcamp for learning Ethereum development - [Arbitrum](https://offchainlabs.com/) - Low-cost, layer 2 solution that is ideal for building secure Ethereum apps - [BNB Chain](https://www.bnbchain.org/) - One of the largest blockchains in terms of transaction volume and DAUs - [Ethereum](https://ethereum.org/en/) - Leading layer 1 blockchain that powers 1000s of decentralized applications - [Layer 3](https://beta.layer3.xyz/) - Layer3 is a community platform to learn about web3 - [Optimism](https://www.optimism.io/) - Low-cost and lightning-fast Ethereum L2 blockchain - [Polygon](https://polygon.technology/) - Ethereum sidechain offering low transaction fees and fast transaction speeds ## Wallets and security With the proliferation of EOA wallets, the rise of smart contract wallets, and new wallet security tools meant to protect users and prevent the loss of funds, we are proud to highlight the teams leading the effort. **The top 6 wallet and security winners for the 2023 Web3 30 awards are:** - [Argent](https://www.argent.xyz/) - A leading smart contract wallet on Ethereum and Layer 2s - [Coinbase Wallet](https://www.coinbase.com/wallet) - An EVM software wallet built by the leading US crypto exchange - [ENS](https://ens.domains/) - Decentralized usernames for wallets, websites, and more - [MetaMask](https://metamask.io/) - The most popular Ethereum wallet in the world - [Phantom](https://phantom.app/) - The \#1 Solana wallet with multichain support for Ethereum and Polygon - [Zerion](https://zerion.io/) - Cryptocurrency wallet that lets users manage their DeFi and NFT portfolios ## DAOs and tooling Communities are the backbone of web3. The “DAOs and DAO Tooling” category celebrates the stewards of decentralized autonomous organizations and the tools that empower distributed communities to work together in a safe and scalable way. **The top 3 DAO and DAO tooling winners for the 2023 Web3 30 awards are:** - [Guild](https://guild.xyz/) - An automated community creation and management tool - [Snapshot](https://snapshot.org/#/) - A gasless decentralized voting protocol for DAOs - [Tally](https://www.tally.xyz/) - An all-in-one tool that helps DAOs govern better ## Gaming and social With the close of the Game Developers Conference in San Francisco last week, we’ve seen an incredible surge of interest in web3 gaming and web3 social. Like many people in web3, we are excited by the potential of bringing millions of new people into web3 through play-to-earn games and decentralized social media. **The top 3 gaming and social winners for the 2023 Web3 30 awards are:** - [Lenster](https://lenster.xyz/) - Decentralized and permissionless social media app built with Lens Protocol - [Mirror](https://mirror.xyz/dashboard) - A web3 publishing platform similar to Medium built on blockchain technology - [The Sandbox](https://www.sandbox.game/en/) - A 3D play-to-earn \(P2E\) game that allows users to create and monetize NFTs ## Prizes incoming 🚀 Winners and nominees share in epic prizes, including trophies, NFTs providing access to events and co-working visits, shout-outs to 500K\+ web3 enthusiasts, Lens Protocol handles, and swag! Keep an eye out for their celebratory posts on Twitter and LinkedIn to congratulate all of these awesome builders. **Didn’t make the cut this year? No sweat!** We have a bunch of exciting opportunities to help take your project to the next level in time for next year’s Web3 30. Check out our [WAGBI Developer Grants](https://www.alchemy.com/developer-grant-program) and [Alchemy Amplify](https://www.alchemy.com/amplify) for all the deets! And don’t forget to [join our community on Twitter](https://x.com/Alchemy) for all the latest web3 tools and alpha. --- # 2023 Web3 Development Report (Year in Review) URL: https://www.alchemy.com/blog/web3-developer-report-2023.md ### Web3 developer activity reaches all-time-highs as rollup frameworks and account abstraction take root Last year’s headlines were captivating, but they didn’t tell the whole story. Against a backdrop of corporate scandal, impending regulation and spot Bitcoin ETF rumors, web3 developers were busy quietly deploying new projects more than ever before. For the fifth year in a row, the number of Ethereum and wallet SDKs installs reached all-time highs, up 31% and 126% YoY respectively. Similarly, the number of EVM smart contracts created across [Ethereum Mainnet](/ethereum), Arbitrum, Optimism and Polygon was 303% YoY in 2023. This steady ramp of developer activity helped drive new rollup frameworks that allowed chains to settle more efficiently, improved UX using account abstraction, and promising new use cases spanning logistics, restaurants, and content authentication. In this “year-in-review” edition of our [Web3 Development](https://www.alchemy.com/overviews/how-to-learn-web3-development) Report [\(PDF\)](https://media.alchemy.com/1706671435-2023-web3-development-report-alchemy.pdf), we take a look back at developer activity across major blockchains in 2023 to determine where ecosystem growth is occurring, and what that might portend for the year ahead. As usual, we analyze the cornerstone metrics of web3 development \(like library installs, smart contract deploys, testnet activity\) to bring the increasingly complex web3 landscape into focus. In this latest edition, however, we take a closer look at two areas that we’re particularly excited about: account abstraction and rollup frameworks. [Account Abstraction](/blog/smart-accounts-adoption-accelerated-in-q4-2023) was introduced in Q3 and introduced new features like sponsored gas and social login to simplify user experiences. By Q4, over 960,000 new ERC-4337 accounts were created, representing 53% of the total 1.8 million deployments to date. Today, companies including Visa, Wipro/Shell and Circle have already begun integrating [smart accounts](/smart-wallets), [Bundler](/bundler), and [Gas Manager](/gasless-transactions). In 2023, Ethereum’s rollup-centric roadmap came to fruition, as new frameworks from L2s like [OP Stack](https://www.alchemy.com/dapps/op-stack), [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit) and Polygon’s CDK allowed new chains to launch as either L2s \(settling to Ethereum\) or L3s \(settling to the layer 2\). One of the buzziest examples of this was the launch of Base, built on OP Stack, which aimed to bring exciting new use cases like gaming and music onchain. Of course, these are just a few highlights of the full 2023 Web3 Development Report, which can be [downloaded for free](https://media.alchemy.com/1706671435-2023-web3-development-report-alchemy.pdf) or read in more detail below. As you’ll see in the report, there is still much building to do in 2024 and beyond, but there is plenty to be excited about. Enjoy! ## What did developers build in 2023? 2023 introduced more real-world uses cases than ever. Polygon introduced the [Value Prop](https://polygon.technology/blog/introducing-the-value-prop-the-open-database-of-blockchain-use-cases), a database tracking more than 300\+ web3-powered use cases. Base championed use cases with [Onchain Summer](https://onchainsummer.xyz/), a celebration of art, gaming, and music use cases, all onchain. Big brands and institutions began weaving web3 aspects into their platforms to create innovative and enhanced experiences for their customers. Here’s just a few examples: - [**Pudgy Penguins**](https://pudgypenguins.com/) launched its toy and collectible line in collaboration with Walmart and [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era), generating new licensing opportunities for Pudgy holders. - [**WiPro**](https://polygon.technology/blog/wipro-deploys-falcon-supply-chain-management-platform-on-polygon-pos-2) deployed Falcon, a new supply chain platform incubated by Shell and powered by Polygon PoS, which allows manufacturers, buyers, and operators to track heavy equipment through its full life cycle. - [**Franklin Templeton**](https://www.franklintempleton.com/press-releases/news-room/2023/franklin-templeton-money-market-fund-launches-on-polygon-blockchain) launched the [Franklin](https://www.alchemy.com/dapps/franklin) OnChain U.S. Government Money Fund on Polygon, the first U.S.-registered mutual fund to use a public blockchain to process transactions and record share ownership. ## What were developers focused on learning in 2023? Aspiring developers used [Alchemy University](https://www.alchemy.com/university) to learn web3 basics including Javascript, Solidity, and EVM fundamentals. - More than **69,000 students** enrolled in Alchemy University - Students completed more than **674,000 lessons** - JS for Ethereum is by far the most popular course with **359k lessons** completed And devs put their skills to practice at industry events and top hackathons, logging in record attendance. - Solana’s 2023 Hyperdrive hackathon received **900\+** final projects, a 63% increase compared to Solana’s Riptide Hackathon in 2022 - In 2023, ETH Denver’s attendance grew 50%, recording its largest attendance in history with a total of **48,000 attendees** - More than **6,000 developers** competed in ETH Denver’s \#BUIDLathon. ## What happened with testnets in 2023? In Q1 of 2023, Goerli began its official deprecation which briefly spurred a secondary market for Goerli ETH due to fear of scarcity. Fast forward to Q2, devs began transitioning to Sepolia testnets, and the trend has continued into 2024. Still using Goerli? [Get free Sepolia testnet ETH](/faucets) from our faucets and migrate today! ## Major chain milestones in 2023 Despite market tailwinds, there was a lot to celebrate in 2023. Here are some of the notable achievements from web3's most popular blockchain ecosystems. ### Polygon's new Web3 use cases for NFTs and DeFi [Polygon](/polygon)'s technical leadership continues to drive interest from web3 builders and enterprises alike. Some of the most noteworthy accomplishments last year include the launching of their [Polygon zkEVM](/overviews/zkevm), the transition to Polygon 2.0 \(a zero-knowledge validium\), and the launch of their Chain Development Kit \(CDK\) for launching Polygon rollups. ### Arbitrum released new, powerful developer tooling [Arbitrum](/arbitrum) launched many innovations to attract serious application developers. A few notable achievements include: - Arbitrum Stylus, a programming environment adding C, C\+\+ and Rust support for Arbitrum One and Arbitrum Nova - Launched Orbit, a toolkit for launching Arbitrum chains - Developed BOLD, a challenge protocol supporting permissionless validation These innovations, along with a sought after token airdrop, attracted many new users and builders to the [Arbitrum ecosystem](https://www.alchemy.com/dapps/ecosystem/arbitrum). ### Optimism launched new upgrades and Base support Most notably in 2023, [Optimism](/op-mainnet) helped power [Base](/base), Coinbase’s L2 network in August, making it one of its first OP Stack chains. Optimism also successfully implemented the Bedrock network upgrade and later in the year announced the Optimism Superchain for their network of interoperable OP Stack chains. ### Solana had a breakout year Toward the end of the year, [Solana](/solana) quickly gained momentum in Q4 with DEX and NFT volume topping Ethereum for the first time. The Solana community began planting seeds early on with its $BONK airdrop in December 2022 and launch of its [Saga](https://www.alchemy.com/dapps/saga) phone in April 2023, but it wasn’t until meme coin mania kicked in driving DEX volumes on Solana to reach a monthly high of over $28 billion in December 2023. ### StarkNet's technical innovations continue to attract builders [Starknet](/starknet) continues to push the boundaries with their Cairo programming language, native account abstraction, and sophisticated provers to attract skilled developers. ### Astar brought big brands and devs together [Astar](/astar), Japan's leading blockchain, held its first global hackathon in 2023 with Toyota and its second global hackathon with Mazda and Mitsubishi Estate. Astar Foundation partnered with Sony Network Communications to create a web3 incubation program that incubated 19 projects and adopted more than 200 applications. ## Download the full report \(free\) Thanks for reading the highlights from our 2023 developer report! The full report and insights can be downloaded for free using the link below! --- # Web3 Development Report (Q1 2023) URL: https://www.alchemy.com/blog/web3-developer-report-q1-2023.md ### As ETH recovers and undergoes a major upgrade, Web3 development achieves new milestones Not even the implosion of Silicon Valley Bank, and the ensuing contagion that roiled broader tech and financial markets, could stymie developers’ commitment to web3. In fact, the opposite may be true despite some genuine headwinds. Last quarter, ETH prices rebounded from June 2022 lows, and the number of web3 developer teams building on the Alchemy platform reached all-time highs. Developer activity surged across the board year-over-year, as the adoption of optimistic layer 2 rollups and new zero knowledge \(zk\) protocols supercharged the next chapter of Ethereum scaling. #### [Get every insight from the Q1 2023 Web3 development report](https://uploads-ssl.webflow.com/6086f3afee58e6430b6c8041/643eba21ddb20a59e684a409_final-Web3-development-report-q1-23.pdf). For this quarter’s report, we examined cornerstone web3 metrics \(namely libraries installs, smart contracts, and [apps](https://www.alchemy.com/dapps/top/defi-dapps)\) to get an unbiased view of developer activity across the ecosystem.  We then married those developer signals with marquee tech and web3 events like the SVB collapse, Arbitrum’s airdrop, and security breaches like Kevin Rose’s hack, to see how these events impacted one another and the industry in aggregate. Let’s dive in! Testnets offer a unique perspective on ecosystem health. As a “sandbox” for devs to test new apps before deploying them into production, Goerli and Sepolia testnet activity is a strong indicator of what’s to come.  Here are the key takeaways: - Devs continued building on Goerli as smart contracts deployed increased 577% Y/Y - Limited Goerli supply invoked a liquid price market for the test token, driving up prices - Sepolia quickly became the popular [free alternative testnet to Goerli](https://sepoliafaucet.com/), ballooning to nearly 80K visitors to sepoliafaucet.com in just one month, an all-time high. Other hallmark metrics that point to an incremental upward trend include Ethereum SDK installs climbing 47% and wallet SDK installs soaring 788% Y/Y — an all-time high for wallet SDK installs. The first quarter also saw a layer-2 and sidechain boom: activity across mainstays Arbitrum Optimism and Polygon showed strong growth with smart contracts deployed on the three networks growing 160% Y/Y. Similarly, Polygon zkEVM and [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) launches in March resulted in immediate interest among developers and end-users. First-party insights from Alchemy’s own ecosystem and community pointed to a groundswell of developer interest - with Alchemy University seeing 46K\+ registrations for [free web3 education courses](https://university.alchemy.com/) during the quarter, and Alchemy Ventures startup investments remaining steady Q/Q. All of these data points underscore web3’s long-term resiliency amid short-term market volatility, and its willingness to embrace new innovations and tools to solve web3’s growing pains. With major network upgrades like Shanghai taking effect, it’s difficult to imagine a future where the pace of innovation, and developer devotion to web3, decline. #### Our aim This report aims to provide an accurate and useful representation of web3 development. The following sources were used for data collection purposes: Dune \(verified smart contracts\), DappRadar \(dapp count\), Github and NPM \(SDK installations and metadata\), CoinGecko \(token prices\), and npmtrends.com. ## Phase 1: ideation and interest Developer sentiment and an increasing desire to learn about blockchain development signal growing interest in building web3 products. This section looks at a few areas of the ecosystem which can be used as proxies to highlight growing interest in web3 development. ### Alchemy Ventures statistics [Alchemy Ventures](https://www.alchemy.com/ventures) invests in the most promising web3 startups that are committed to building tools and infrastructure to help the entire blockchain industry scale. #### What types of Web3 startups are raising money in 2023? The types of web3 startups raising money in 2023 are DeFi startups \(26%\), developer tooling companies \(25%\), account abstraction startups \(16%\), infrastructure providers \(13%\), zero knowledge technologies \(10%\), and rollups-as-a-service \(RaaS\) companies \(10%\).  **Some of Alchemy’s Q1 2023 investments include:** - **Shadow** - get control over on-chain event data for any contract with shadow events - **Ostium** - open-source software to enable on-chain exposure to Real World Assets - **Cata Labs** - open-source liquidity protocol to permissionlessly swap across chains In addition to a consistent number of investments since Q1 2022, Alchemy Ventures launched a web3 accelerator program to incubate pre-seed startups. DeFi

", tooltip: "", icon: "" }, "2": { title: "

26%

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Developer tools

", tooltip: "", icon: "" }, "2": { title: "

25%

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Account abstraction

", tooltip: "", icon: "" }, "2": { title: "

16%

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Infrastructure

", tooltip: "", icon: "" }, "2": { title: "

13%

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Roll-ups as a service

", tooltip: "", icon: "" }, "2": { title: "

10%

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Zero-knowledge tech

", tooltip: "", icon: "" }, "2": { title: "

10%

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Alchemy University statistics Alchemy University offers [a free Ethereum Developer Bootcamp](https://university.alchemy.com/) and a free JavaScript Fundamentals crash course to train aspiring smart contract engineers on beginner through to advanced skills in of web3 development. #### How many people enrolled in Alchemy University? Over 46,000 people enrolled in Alchemy University, 25,000 students registered in Q1 2023, and 20,000 students are currently completing the curriculum. Launched in October 2022 for Early Access students, Alchemy University is now open to the public. Every aspiring web3 developer can now learn [Solidity](https://www.alchemy.com/dapps/solidity) for free with friends at AU. ### Web3 30 statistics In Q4 2022, Alchemy launched the Alchemy Dapp Store, a directory of web3 developer tools and consumer applications to help increase the visibility of projects.  To celebrate the best applications in web3, Alchemy hosted the first community choice awards for web3 called the [Web3 30](https://www.alchemy.com/web3-awards). Over 500 projects were nominated and over 7,000 votes were cast, and eventually the top 30 were chosen. Winners included best-in-class apps like Lens Protocol, and emerging platforms like [Mirror World](https://www.alchemy.com/dapps/mirror-world). ### Create Web3 dapp statistics [Create Web3 Dapp](https://createweb3dapp.alchemy.com/) is a beginner-friendly developer tool that allows anyone to create a fully-functioning dapp in less than 4 minutes from their terminal.  With some many new web3 developers entering the industry, tools like Create Web3 Dapp have risen in popularity, leading to: - 4,800 Q1 2023 downloads - 655 GitHub stars - 161 GitHub forks ## Phase 2: local development Before launching projects on testnets or mainnet blockchains, devs build on their personal computers \(i.e. locally\) to test and iterate before shipping. ### How fast are Ethereum SDK installs growing? Ethereum SDKs like Ethers.js, Web3.js, Hardhat and Web3.py grew 8% Q/Q with a total of 1.9 million downloads in Q1 2023, which is up 46% compared to Q1 2022. ### How fast are Web3 wallet SDK installs growing? Web3 wallet SDK installs grew 33% Q/Q in Q1 2023 with a total of 438,500 weekly downloads, and increased over 350% since Q1 2022. Wallet SDKs analyzed include Coinbase Wallet, Rainbow, Web3 Onboard, and Web3 Modal which developers use to connect consumers to the Ethereum blockchain. #### How fast is MetaMask SDK growing? [MetaMask](https://www.alchemy.com/dapps/metamask)’s wallet SDK had 14,307 installs in Q1 2023, which is a 325% Q/Q growth. The MetaMask wallet has support for JavaScript, iOS, React native and Unity SDKs. As more use cases for web3 emerge, a greater number of decentralized applications need an interface for customers to connect their wallet to their dapp.  Wallet SDKs are developer-friendly ways for engineers to add wallet support for their dapp, signaling an increase of new apps entering the market. ## Phase 3: Testnet deploys After testing locally, web3 devs typically deploy applications on test networks \(i.e. testnets\) to test, iterate, and refine their product on a blockchain that mirrors a production environment without spending real ETH tokens which cost engineers money. ### How fast is Goerli Testnet development growing? In Q1 2023 the Goerli testnet saw a 577% year-over-year increase compared to Q1 2022. Compared to Q4 2022, Goerli experienced a 46% decrease in smart contract deployments. #### How is the Goerli ETH shortage impacting smart contract deployments? The headwinds of the Goerli ETH token supply shortages and new liquid price markets \(i.e. developers having to pay for test ETH\) have slowed down Goerli app development. While the Y/Y increase of smart contract deployments on Goerli signals strong developer growth, the supply crunch is encouraging more developers to migrate to Sepolia. #### How fast is the Sepolia Testnet growing? Since its launch in March 2023, Alchemy’s [Sepolia faucet](https://sepoliafaucet.com/) has seen all-time-highs of over 70,000 daily active website visitors, signaling a massive demand for free test ETH. Developers are migrating their smart contract testing activities to new [testnets like Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) which don’t have the same fixed-supply limitations or liquid price markets. One reason why Sepolia traction is not faster may be because important smart contracts that developers interact with are still only deployed on Goerli, meaning devs cannot adequately test their applications on Sepolia. ## Phase 4: Mainnet deploys Once developers sufficiently test their applications on testnets, developers deploy their smart contracts on the Ethereum Mainnet to serve real users in a production environment. ### How fast are smart contract deployments growing on Ethereum Mainnet? Ethereum smart contract deployments grew 48% year-over-year compared to Q1 2022, and decreased 53% Q/Q compared to Q4 2022. The anomaly spike in Q4 2022 was predominantly driven by a single EOA account with a negative difference of 2 million smart contracts from Q4 2022 to Q1 2023. The EOA account is called Cointool Xen Batcher that creates multiple contracts every time it is interacted with. Adjusting for this outlier, the Q/Q difference would be -19% \(2.1M in Q1 2023 vs. 2.6M in Q4 2022\) compared to -53% if the outlier’s additional 2M contracts were included. ### How fast are smart contract deployments growing on layer 2s and sidechains? Smart contracts on layer 2 \(L2\) blockchains like Optimism, Arbitrum, and sidechains like Polygon grew 160% Y/Y compared to Q1 2022, and saw a 30% decrease compared to Q4 2022. With cheaper transaction fees, faster confirmation times, and more users, developers deploying apps on L2s and sidechains continues to show a promising upward trend. ### How fast is layer 2 bridging growing? Users bridging tokens to layer 2s grew 44% Q/Q compared to Q4 2022, and saw a 518% increase Y/Y compared to Q1 2022.  More bridging to L2s suggests cheaper, more scalable blockchains are resonating with end-users vs. using mainnet applications. With the second Optimism airdrop and the first Arbitrum token airdrop happening in Q1 2023, users are bridging tokens to L2s and using applications to receive airdropped tokens. ## Phase 5: scaling usage As web3 products attract real users and find product-market fit, developers need to scale their systems to support the increased consumer demand. ### How fast are Polygon developers growing on Alchemy? In Q1 2023, active Polygon developer teams [building on Alchemy](https://www.alchemy.com/polygon) grew 116% Y/Y since Q1 2022. Polygon builders also grew: - Total Requests Sent Through Alchemy - 126% Y/Y - Total Free Tier Requests - 207% Y/Y - Total Enhanced API Requests -1,313% Y/Y In addition to the total number of creators \(i.e. a wallet address that deployed a smart contract\) building on Polygon has grown, in Q1 2023 the average number of smart contracts deployed by creators approximately tripled from just over 2 contracts to over 6 contracts/creator. ### How fast are Arbitrum developers growing on Alchemy? In Q1 2023 active Arbitrum developer teams building on Alchemy grew 2,779% Y/Y since Q1 2022. Arbitrum devs also grew: - Total Requests Sent Through Alchemy - 286% Y/Y - Total Free Tier Requests - 676% Y/Y - Total Enhanced API Requests - 6,286% Y/Y In Q1 2023 Arbitrum’s airdrop of their $ARB token generated a 3X increase in daily active teams using [Arbitrum on Alchemy](https://www.alchemy.com/arbitrum) in March 2023. ### How fast are Optimism developers growing on Alchemy? In Q1 2023 active [Optimism development](https://www.alchemy.com/optimism) teams building on Alchemy grew 2,779% Y/Y since Q1 2022. Optimism developers also grew: - Total Requests Sent Through Alchemy - 2,044% Y/Y - Total Free Tier Requests - 4,880% Y/Y - Total Enhanced API Requests - 27,791% Y/Y In Q1 2023 Optimism’s second $OP token airdrop delivered 10 million $OP tokens to 195 teams in their Retroactive Public Goods Funding program, which provides grants to projects contributing meaningful value to the Optimism ecosystem. As another signal of growth, over 500,000 attestations have been made since the start of 2023. Attestations are statements by a creator about a subject, which are used as a sybil resistant identity solution for participants on the Optimism network. ### How fast are Solana developers growing on Alchemy? In Q1 2023 active Solana dev teams building on Alchemy grew 17% Y/Y since Q1 2022, and free tier teams saw an 18% Y/Y growth rate. Another signal of Solana developer growth is the attendance of the latest Solana hackathon, Grizzlython. Grizzlython is Solana’s largest hackathon to date, and was attended by over 10,000 builders, which submitted a record 813 final projects. Despite the bear market, devs are still [building on Solana](https://www.alchemy.com/solana) hackathons, and the Grizzlython is a great example showing the resilience and bullishness of Solana developers. ### How fast are apps growing? In Q1 2023, DappRadar saw 9% Q/Q growth in registered apps, reaching 17,564 across all chains compared to Q4 2022. The fastest growing categories for apps on DappRadar include: - Web3 Collectibles - 25% - DeFi and Exchanges - 19% - Web3 Social - 17% - Marketplaces - 11% - Web3 Games - 7%  - Other - 5% ## Q1 2023 trends and analysis Silicon Valley Bank, Zero Knowledge L2s, and wallet hacks helped define the narrative in the first quarter or 2023. Here are some insights on defining moments in the first 3 months! ### Uniswap sets record trading volumes after silicon valley bank collapse On March 11th, one day after the collapse of Silicon Valley Bank and takeover by the FDIC, trading volume of [Uniswap](https://www.alchemy.com/dapps/uniswap)’s decentralized exchange hit ATHs. - $11.8B - highest trading volume day in history on March 11th, 2023 - $77M - total trading fees earned by liquidity providers \(LPs\)  in March - 35% - the total volume of Uniswap volumes happening on L2s The elevated trading volumes on Uniswap was largely driven by traders selling USDC and buying other [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) like USDT \([Tether](https://www.alchemy.com/dapps/tether)\) and DAI because ~$3 billion worth of assets that backed USD Coin were held in Silicon Valley Bank. ### ZK rollups launched on Mainnet Polygon zkEVM and zkSync Era launched their layer 2 Ethereum scaling solutions in Q1 2023, and welcomed in a new generation of rollups built on Zero Knowledge proofs. zkSync Era went live on March 24th, and by the end of the quarter, saw over 200M in total value locked \(TVL\) on mainnet. [Polygon zkEVM](https://www.alchemy.com/overviews/zkevm) went live on March 27th, and by the end of the quarter, saw over 6,000 depositors.  ### Demand for wallet security tools skyrockets after the kevin rose hack On January 26th, Kevin Rose, the popular NFT creator behind Moonbirds and the Proof Collective, had a large collection of NFTs stolen \(including 25 Chromie Squiggles\) from his wallet because of a bad smart contract. In the weeks after the hack, web3 security tools like Alchemy’s suite of [Transaction Simulation APIs](https://www.alchemy.com/transaction-simulation) gained traction from wallet developers to give users more confidence. ### Project spotlight: planet IX Despite market headwinds, web3 gaming startup [Planet IX](https://www.alchemy.com/dapps/planet-ix) continued to ship new features, retain an active base of players, and increase on-chain transactions. Planet IX is an NFT-based strategy game on Polygon, where players restore a fallen planet through collecting NFTs, developing new territories, and gaining in-game leverage.  In Q1 2023, Planet IX had over 200,000 weekly active users \(WAUs\), and processed close to 35 million transactions which resulted in over 1.2M in gas. #### [Get every insight from the Q1 2023 Web3 development report](https://uploads-ssl.webflow.com/6086f3afee58e6430b6c8041/643eba21ddb20a59e684a409_final-Web3-development-report-q1-23.pdf).‍ #### ‍**Legal disclaimer** This report is for informational purposes and does not constitute investment, legal, or tax advice. You should not put undue reliance onany statements of historical trends or interpret them as guarantees of future performance or results. In addition to providing information based on our internal sources, this report contains statistical data and estimates that are based onpublic information. You should not give undue weight to such data or estimates as we have not verified them. We make no representations or warranties as to the accuracy or completeness of the data presented nor do we commit to updating such data after the date of this report. By reviewing, sending, receiving, or sharing this report, you acknowledge that you will be solely responsible for your own assessment of the market, our company, and the other organizations mentioned, and you will conduct your own analysis and be solely responsible for forming your own view of any potential future performance. As indicated on our website ([www.alchemy.com](https://www.alchemy.com/)), we have a business relationship with certain chains including Ethereum, Polygon,Optimism, Arbitrum, and Solana. However, this report is not intended to promote the token of any particular chain. @2023 Alchemy Insights, Inc. All rights reserved worldwide. --- # Web3 Development Report (Q2 2023) URL: https://www.alchemy.com/blog/web3-developer-report-q2-2023.md ### Web3 developer activity soars, driving 302% q/q growth in EVM chain contracts and rapid account abstraction adoption Even as NFT and DeFi trading volume contracted from their all-time highs, web3 developer activity continued to climb in Q2 pointing to long-term ecosystem growth. Smart contracts deployed on EVM chains including Ethereum, Arbitrum, Optimism, and Polygon were up 302% quarter over quarter. During the same time, Ethereum and wallet SDK installs – one of the leading indicators of ecosystem health – were up 7% and 22% respectively, reaching a new all-time high. These three data points alone are encouraging, but there’s more to be excited about. #### [Get every insight from the Q2 2023 Web3 development report](https://res.cloudinary.com/alchemyapi/image/upload/v1691086454/web3-developer-report-q2-23-updated.pdf). In the 2023 Q2 blockchain developer report we aim to provide an objective snapshot of the web3 industry’s health by examining the trends and behaviors of the group tasked with defining its future: developers. We analyzed key metrics including library installs, smart contract deploys, and testnet activity to measure developer activity, then overlay that data with key moments and trends to better understand what’s happening under the hood in web3. One of those key moments happened in June when Vitalik published[ The Three Transitions](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html), a vision for Ethereum’s next steps as a mature tech stack. The paper highlights: 1. L2s moving to rollups 1. Wallets moving to smart contract wallets 1. A renewed focus on privacy-preserving technology **Developers were quick to respond to his call to action:** - Arbitrum One, an optimistic rollup, hit 9.5M unique addresses and more than doubled in Q2 - Polygon saw a 541% increase in monthly active smart contract accounts - On-chain active Account Abstraction users surged 27,360% Q/Q According to our survey of 600\+ developers, [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices), account abstraction, and ZK-rollups were the top three topics they were most interested in, indicating that developers are all in on scaling Ethereum. Testnets also offer unique insights into the industry. The Goerli and Sepolia “sandboxes” allow devs to test new [apps](https://www.alchemy.com/dapps/top/defi-dapps) before deploying. Activity on these testnets typically portent trends to come. Testnet activity showed that smart contracts deployed on Goerli were up year over year by 282%. However, this quarter painted a different picture with Goerli supplies running scarce due to the emergence of pricey secondary markets and faucets running dry. As a result, Sepolia made huge headway toward becoming the favored testnet of choice. The entirety of the Q2 2023 Web3 Development Report can be downloaded for free or read in more detail below. As you’ll see, the report offers a much deeper dive into the emerging trends driving the blockchain industry forward. When taken in aggregate, we think the web3 market data provides well-founded grounds to be bullish. #### Our aim This report aims to provide an accurate and useful representation of web3 development. The following sources were used for data collection purposes: Dune \(verified smart contracts\), DappRadar \(dapp count\), Github and NPM \(SDK installations and metadata\), CoinGecko \(token prices\), and npmtrends.com. ## What are blockchain developers building in 2023? Emerging trends among blockchain developers in 2023 include web3 data products, smart contract wallets and [Account Abstraction infrastructure](https://www.alchemy.com/account-abstraction), and zero knowledge infrastructure like generalized provers. In this section of the report, we review data from Alchemy Ventures, Alchemy's annual developer survey, and trends we're observing from the Alchemy Dapp Store, a community-supported directory for discovering web3 applications. ### Alchemy Ventures statistics Alchemy Ventures invests in early-stage blockchain startups that are committed to building products, tooling, and infrastructure to help the entire blockchain industry scale. Alchemy Ventures typically invests during the earliest funding rounds including pre-seed, seed, and series A rounds. #### In what verticals are Web3 startups building products and raising capital in 2023? The types of blockchain startups raising money in 2023 are web3 data and analytics \(40%\), web3 security \(20%\), and 10% each for DeFi, Layer 3, Zero Knowledge, and wallet tech. **Some of Alchemy’s Q1 2023 investments include:** - **Intmax** - stateless zero knowledge rollup - **Risc Zero** - a general purpose zero knowledge virtual machine - **Cymbal** - a human-readable block explorer Security

", tooltip: "", icon: "" }, "2": { title: "

20%

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Infrastructure

", tooltip: "", icon: "" }, "2": { title: "

30%

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Transaction Infra

", tooltip: "", icon: "" }, "2": { title: "

20%

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Layer 3 Technology

", tooltip: "", icon: "" }, "2": { title: "

10%

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

ZK Tech

", tooltip: "", icon: "" }, "2": { title: "

10%

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Decentralized Identity

", tooltip: "", icon: "" }, "2": { title: "

10%

", tooltip: "", icon: "" }, id: 5, }, ], }} /> If you're a blockchain developer interested in funding from Alchemy, applying for our web3 accelerator program, or receiving a web3 developer grant, reach out to our team through the Alchemy Ventures website! ### Alchemy Dapp Store statistics In Q4 2022, Alchemy launched the Alchemy Dapp Store, a [directory of web3 developer tools and applications](https://www.alchemy.com/dapps) to help increase the visibility of projects. In Q2 2023, over 330 new applications were approved, and the platform today hosts over 2,000 apps across the most popular blockchains. Some of the fastest growing web3 niches include: 1. **Web3 Data Tools** - tools for reading, storing, indexing, and transforming blockchain data 1. **Blockchain Auditing Companies** - companies that verify the security of smart contracts 1. **Smart Contract Wallets** - [crypto wallets](https://www.alchemy.com/dapps/top/wallets) that use Account Abstraction infra **Popular companies that recently launched on the Dapp Store include:** - Space and Time - Arbitrary Execution - Verichains - Subsquid - Token Terminal ### Alchemy developer survey results Every years Alchemy sends out a web3 developer survey to our free, growth, and enterprise customers to get insights into what engineers are building, their challenges, and ways we, as an industry, and support emerging needs. **This year, 625 respondents provided feedback on what their most interested in:** - Smart contract security - Account abstraction - ZK-rollups - Smart contract development - AI **And also what their biggest challenges are:** - Funding - Awareness - Regulation - Resource Bandwidth With the increased scrutiny from regulators and sideways price movement through the current bear market, it's not surprising to see many young web3 startups concerned about raising money and optimizing their runways until they find product-market fit \(PMF\). ## What libraries and SDKs are growing the most in 2023? Developers use web3 libraries like ethers.js and SDKs like the Alchemy SDK to build decentralized applications. Measuring the activity and usage for the most popular open-source libraries is a helpful proxy for the overall developer community's activity. ### How fast are Ethereum SDK installs growing? Ethereum libraries like Ethers.js, Web3.js, Hardhat and Web3.py grew 37% Y/Y with a total of 26.8 million downloads in Q2 2023 compared to Q2 2022 despite the crypto market spending the last 12 months in a horizontal bear market. **Here's how the installations compare Y/Y since 2019:** - **2019 Q2** - 2.9 million - **2020 Q2** - 4.7 million \(\+66% Y/Y\) - **2021 Q2**- 7.4 million \(\+58% Y/Y\) - **2022 Q2** - 19.5 million \(\+163% Y/Y\) - **2023 Q2** - 26.8 million \(\+37% Y/Y\) ### How fast are Web3 wallet SDK installs growing? Web3 wallet SDK installs grew 196% Y/Y in Q2 2023 with a total of 11.1M downloads. Wallet SDKs analyzed include Coinbase Wallet, Rainbow, Web3 Onboard, and Web3 Modal which developers use to connect consumers to blockchain networks. **Here's how the installations of wallet SDKs compare Y/Y since 2019:** - **2019 Q2** - 4,800 - **2020 Q2** - 80,400 \(\+1565% Y/Y\) - **2021 Q2** - 546,300 \(\+579% Y/Y\) - **2022 Q2** - 3,800,000 \(\+588% Y/Y\) - **2023 Q2** - 11,100,000 \(\+196% Y/Y\) ## What testnets are growing the most in 2023? After testing locally, blockchain devs typically [get test ETH from a faucet](https://www.alchemy.com/faucets) and deploy applications on test networks \(i.e. testnets\) to validate, iterate, and refine their product on a test blockchain that mirrors a production environment without spending real money on the gas required to execute transactions. ### How fast is the Sepolia Testnet growing? In Q2 2023 the Sepolia testnet approach parity with the total number of requests sent through Alchemy compared to the Goerli testnet. With the deprecation of the Goerli testnet, monetization of Goerli ETH, many developers are migrating towards Sepolia as the default testnet. If you're still building on Goerli, learn [how to migrate to Sepolia](https://www.alchemy.com/overviews/migrate-to-sepolia) and how to get Sepolia ETH tokens from Alchemy's [free SepETH faucet](https://sepoliafaucet.com/). #### How fast is the Goerli Testnet declining? The scarcity of Goerli ETH and the emergence of secondary markets for buying and selling test ETH in Q1 2023 led to 34% less smart contract deployments on the Goerli testnet in Q2 2023 compared to the previous quarter. If you're unsure about switching off of Goerli, explore the [differences between the Sepolia and Goerli testnets](https://www.alchemy.com/overviews/goerli-vs-sepolia). ## How fast are Ethereum and L2 smart contract deployments growing in 2023? Once developers confirm that their applications are working as designed, they are ready to deploy their app onto a live blockchain. Popular blockchains include L1s like Ethereum and L2 blockchains like Polygon, Optimism, and Arbitrum. ### How fast are Ethereum smart contract deployments growing? Ethereum smart contract deployments grew 64% Q/Q compared to Q1 2023 and 277% Y/Y compared to Q2 2022. The resurgence from Q2 2022 and continued growth from last quarter is a healthy signal that [Ethereum development](https://www.alchemy.com/ethereum) velocity is increasing. ### How fast are smart contract deployments growing on layer 2s and sidechains? Smart contracts on layer 2 \(L2\) blockchains like Optimism, Arbitrum, and sidechains like Polygon grew 1106% Y/Y compared to Q2 2022, and saw a 302% increase Q/Q compared to Q1 2023. Layer 2 blockchains provide users with cheaper transaction fees, more transactions per second, and faster confirmation times. These features, along with a maturing ecosystem of applications and adoption from users is one explanation for continued strength from L2 smart contract deployments. ### How much L1 gas usage is being used by L2s? L1 gas being used by Layer 2 blockchains is increasing at a rapid rate: 88% Q/Q compared to Q1 2023 and 383% Y/Y compared to Q2 2022. With the rise of L2 developer and user activity, the total amount of L1 gas being consumed by L2s is expected to continue to increase. ### How fast is layer 2 bridging growing? Users bridging tokens to layer 2s remained flat Q/Q, decreasing only 0.25% Q/Q. This flat volume of L2 bridging despite low NFT and DEX trading volumes gives confidence that while trading activity across the industry is down, the adoption of L2s has real staying power. ## How much is developer activity growing across L2s, EVM chains, and networks supported by Alchemy? As web3 products attract real users and find product-market fit, developers need to scale their systems to support the increased consumer demand. Much of today's scaling involves developing applications on Layer 2 blockchains. ### How fast are Polygon developers growing on Alchemy? In Q2 2023, active Polygon developer teams building on Alchemy grew 74% Y/Y since Q2 2022. Polygon builders also grew: - Total Requests Sent Through Alchemy: \+33% Y/Y - Total Free Tier Requests: \+70% Y/Y - Total Enhanced API Requests: \+535% Y/Y Polygon also saw momentum on [ERC-4337](https://www.alchemy.com/overviews/what-is-account-abstraction) smart contract accounts with a 541% increase in monthly active smart contract accounts \(SCAs\) since Q1 2023: For more information about building with AA infrastructure, explore our documentation for [Polygon Bundler](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart) and [Polygon Gas Manager APIs \(i.e. Paymaster\)](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm). ### How fast are Arbitrum devs growing on Alchemy? In Q2 2023 active Arbitrum developer teams building on Alchemy grew 213% Y/Y since Q2 2022. Arbitrum devs also grew: - Total Requests Sent Through Alchemy: \+295% Y/Y - Total Free Tier Requests: \+485% Y/Y - Total Enhanced API Requests: \+7,589% Y/Y ### How fast are Optimism devs growing on Alchemy? In Q2 2023 active [Optimism developer](https://www.alchemy.com/optimism) teams building on Alchemy grew 205% Y/Y since Q2 2022. Optimism developers also grew: - Total Requests Sent Through Alchemy: \+110% Y/Y - Total Free Tier Requests: \+637% Y/Y - Total Enhanced API Requests: \+4,983% Y/Y With the proliferation of the the [OP Stack](https://www.alchemy.com/dapps/op-stack) and rollups-as-a-service \(RaaS\), Optimism developer activity continues to skyrocket! ### How is StarkNet development progressing on Alchemy? Alchemy made [Starknet development](https://www.alchemy.com/starknet) support publicly available in May 2023, and early demand from developers is promising due to their rich ecosystem of devs, tooling, and applications, along with native account abstraction. While still early to provide Alchemy developer statistics, Starknet saw 10x TPS performance gains due to focused optimizations led by their core development team. ### How fast are Solana devs growing on Alchemy? In Q2 2023 active Solana dev teams building on Alchemy grew 56% and their total requests grew 164% Y/Y since Q2 2022 with free tier teams seeing 197% Y/Y growth. Despite the bear market, builders are still developing products on Solana. ### How fast are Astar devs growing on Alchemy? In Q2 2023 active [Astar developer](https://www.alchemy.com/astar) teams building on Alchemy grew 175% Y/Y since Q2 2022 and the total number of requests sent through Alchemy grew 7%. **Astar hit additional milestones including:** 1. Eclipsed 500k holders 1. Reached 20k stakers 1. Launched smart contracts 2.0 ## How is account abstraction adoption growing? Quarterly [user operations \(UserOps\)](https://www.alchemy.com/overviews/user-operations) grew 11,837%, users grew over 27,000%, and [Paymaster](https://www.alchemy.com/overviews/what-is-a-paymaster) volume grew 5,182% in Q2 2023 compared to the previous quarter. [The best way to enter the Account Abstraction paradigm is with Alchemy's new Account Kit](https://www.alchemy.com/docs/wallets/)! Account Abstraction was a major theme in Q2 2023 with many infrastructure providers, smart contract wallets, and consumer applications getting to market at the same time. With such explosive growth the desire for AA support on Ethereum and L2s is evident. ## Discover more Q2 2023 blockchain trends In addition to the data and analysis provided on this page, [download the Q2 2023 blockchain development report](https://res.cloudinary.com/alchemyapi/image/upload/v1691086454/web3-developer-report-q2-23-updated.pdf) to get additional insights such as: - DeFi Volume and User Statistics - NFT Volume and User Statistics - Web3 Use Cases and Verticals ### Previous Web3 development reports To explore previous reports, find them on our blog: 1. [Q1 2023](https://www.alchemy.com/blog/web3-developer-report-q1-2023) 1. [Q4 2022](https://www.alchemy.com/blog/web3-developer-report-q4-2022) 1. [Q3 2022](https://www.alchemy.com/blog/web3-developer-report-q3-2022) ‍ ‍ ‍ #### ‍**Legal disclaimer** This report is for informational purposes and does not constitute investment, legal, or tax advice. You should not put undue reliance onany statements of historical trends or interpret them as guarantees of future performance or results. In addition to providing information based on our internal sources, this report contains statistical data and estimates that are based onpublic information. You should not give undue weight to such data or estimates as we have not verified them. We make no representations or warranties as to the accuracy or completeness of the data presented nor do we commit to updating such data after the date of this report. By reviewing, sending, receiving, or sharing this report, you acknowledge that you will be solely responsible for your own assessment of the market, our company, and the other organizations mentioned, and you will conduct your own analysis and be solely responsible for forming your own view of any potential future performance. As indicated on our website ([www.alchemy.com](https://www.alchemy.com/)), we have a business relationship with certain chains including Ethereum, Polygon,Optimism, Arbitrum, and Solana. However, this report is not intended to promote the token of any particular chain. @2023 Alchemy Insights, Inc. All rights reserved worldwide. --- # Web3 Developer Report (Q3 2022) URL: https://www.alchemy.com/blog/web3-developer-report-q3-2022.md #### **‍**Web3 developers are building faster than ever despite market headwinds Despite the crypto winter, with both Bitcoin and Ethereum down roughly 70% from their November 2021 highs, web3 developers are more active than ever. In fact, 2022 has been the biggest year yet. We took a deep dive into the data, with the help of some of our friends at [Etherscan](https://www.alchemy.com/dapps/etherscan), DappRadar, Github, NPM JS, CoinMarketCap, and the Internet Archive, to see if we could paint a clearer picture of what the web3 developer landscape looks like amid wild macro-market volatility.  We started by analyzing the usage of two critically important web3 libraries: Ethers.js and Web3.js. These libraries let developers read blockchain data through providers like Alchemy and send transactions on behalf of their users to facilitate deposits into DeFi protocols, create NFTs, and much more. They’re an essential tool to build web3 products.  In 2018, only 146,000 developers installed either of these libraries on a weekly basis. But that has increased steadily every year and in 2022, that number had increased 10x: a whopping 1,536,548 downloads per week. Compared to Q3 2021, the number of downloads increased by 3x this quarter.  This metric alone points to a large and growing interest in [building applications on Ethereum](https://www.alchemy.com/ethereum), but we didn’t stop there. Smart contracts represent the core logic for DeFi protocols and NFT minting contracts, similar to how server logic determines application and database behavior for many internet products today. In other words, an increase in smart contract deployment indicates healthy developer activity and growth.  In September, developers submitted more than 17,376 smart contracts to the popular block explorer, Etherscan, up 160% YoY, showing a surging interest in decentralized protocols. Lastly, another hallmark of ecosystem health is the number of [apps](https://www.alchemy.com/dapps/top/defi-dapps), or end-user applications with a decentralized backend, deployed in the ecosystem. DappRadar estimates that 12,495 apps currently exist across all chains, up from around 1,000 in 2018. What’s more, approximately 2,500 of these apps have at least 1 active user in the last 24 hours. **A few other highlights from the report include:** - 36% of all smart contracts ever deployed and verified have been in 2022 - In the 2 weeks following The Merge, smart contract deployment increased by 14% - Despite Ethereum prices being down 62%, smart contract deployments have surged 40% to all-time highs - Over 16,000 waitlist sign ups in less than 1 week for Alchemy University, the new [platform for learning how to build in web3](https://university.alchemy.com/) Since the start of 2022, Alchemy has seen the number of developer teams building on its platform increase 3x, but it’s important for us to step outside our own ecosystem to get a broader, more objective view of web3 developer health.  What we found, as you’ll see in the report, is that this vibrant community of web3 developers is still building useful, lasting products that change the way we connect with each other and the internet — all despite the wildest market conditions in a generation.  ## Methodology This report strives to provide an accurate and useful representation of web3 development.The following sources were used for data collection purposes: Etherscan \(verified smart contracts\), DappRadar \(dapp count\), Github and NPM JS \(SDK installations and metadata\), CoinMarketCap \(token prices\), and the Internet Archive \(fetching historical versions of aforementioned pages to provide timestamped data sources\). web3 Javascript library weekly downloads were used as a proxy for developer activity here. This metric is helpful but imperfect due to the ability for the library to be downloaded multiple times by the same user intentionally or unintentionally. However, it provides one signal for directional guidance. Additionally, the growth of various blockchains on Alchemy is purely relative; certain chains are significantly larger as measured by active teams and daily requests.‍ ## [Get all of the insights from the Web3 development report.](https://uploads-ssl.webflow.com/6086f3afee58e6430b6c8041/63482db985c12e0f4b1fe631_web3%20development%20report%20q3%2722-compressed.pdf) ## How do you measure Web3 developer activity? **There are three primary ways to measure web3 developer activity: \(i\) libraries, \(ii\) smart contracts, and \(iii\) dapps.** 1. **Libraries** - developer tools to easily read and write data to the blockchain 1. **Smart Contracts** - Computer programs stored and executed on a blockchain 1. **dapps** - decentralized end-user-ready applications running on a blockchain These three indicators reveal developers that are building, deploying, and growing. ## How much is Ethereum down since Q3 2021? Since the third quarter of 2021, Ethereum's native token, Ether \(ETH\), is down 56% Y/Y. The Decentralized Finance and NFT markets were also heavily impacted by the market crash. Since 2021, the total value locked \(TVL\) in DeFi applications has decreased 69% \(Y/Y\) and [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) trading volumes are down 88% Y/Y. Total Value Locked \(TVL\) is a measure of how many digital assets are held in smart contracts used in Decentralized Finance such as borrow/lending protocols like [Compound](https://www.alchemy.com/dapps/compound) and Aave. ## How many times have Web3 developers downloaded Ethereum libraries? **In Q3 2022, web3 developers downloaded the Ethers.js and Web3.js libraries more than 1,536,548 times per week, a 178% increase Y/Y.** Since 2018, developers installing either of these libraries on a weekly basis, has increased every year and in 2022, that number had increased 10X since 2018's high of 145,799 weekly downloads. ### Total combined downloads - **2018**: 145,799 - **2019**: 180,231 \(\+24%\) - **2020**: 325,056 \(\+80%\) - **2021**: 552,272 \(\+70%\) - **2022**: 1,536,548 \(\+178%\) Industry analysts keep an eye on the Ethers.js and Web3.js libraries because these are core tools for building web3 products. These libraries let developers read blockchain data through providers like Alchemy and send transactions on behalf of their users to facilitate deposits into DeFi protocols, creating NFTs, and much more. ### Ethers.js vs. web3.js: which Ethereum library is more popular in 2022? **In 2022, web3 developers downloaded the Ethers.js library 948,981 times, a 212% increase since 2021, compared to [web3.js](https://www.alchemy.com/dapps/web3-js) which was downloaded 587,567 times, a 137% increase since 2021.** Web3 developers have a choice of using either [ethers.js](https://www.alchemy.com/dapps/ethers-js) or web3.js as their library for sending and receiving data from the blockchain. Because Ethers.js has more downloads and is growing at a faster rate than web3.js, it is the more popular Ethereum javascript library for developers in 2022. #### Web3.js downloads Web3.js was the original library used by Ethereum developers, which is demonstrated by its higher number of total downloads between 2018 and 2020 compared to ethers.js. - **2018**: 91,936 - **2019**: 113,272 \(\+23%\) - **2020**: 161,257 \(\+42%\) - **2021**: 247,999 \(\+54%\) - **2022**: 587,567 \(\+137%\) #### Ethers.js downloads The rapid adoption of ethers.js between 2021 and today highlight's the market's growing preference of this library compared to web3.js. - **2018**: 53,863 - **2019**: 66,959 \(\+24%\) - **2020**: 163,799 \(\+145%\) - **2021**: 304,273 \(\+86%\) - **2022**: 948,981 \(\+212%\) ## How many smart contracts were published in Q3 2022? **48,689 verified smart contracts were published in the third quarter of 2022, a 143% increase Y/Y compared to 20,040 verified smart contracts that were published in Q3 2021.** **‍**Smart contracts represent the core logic for DeFi protocols and NFT minting contracts, similar to how server logic determines application and database behavior for many internet products today. Over the last three months, Ethereum saw consecutive records for new All-Time-Highs of smart contract deployments: - **July**: 14,615 smart contracts - **August**: 16,698 smart contracts - **September**: 17,376 smart contracts The all-time highs for smart contract deployment in each month of Q3’2022, peaking at 17,3775 in September, an increase of 2.6 times Y/Y, signals an acceleration in web3 development. ### How many smart contracts have been published in 2022? **117,922 verified smart contracts were deployed to date in 2022 despite Ethereum's token price being down over 50% since 2021, and the year only being 75% complete, marking it the largest year to date.** **Here are the raw numbers:** - 323,749 smart contracts have been deployed ever - 117,922 smart contracts were deployed in 2022 alone - **36%** of all verified smart contracts were deployed this year ### How much have smart contracts grown since 2015? **Ethereum smart contracts have risen from 0 smart contracts in 2015 to a high of 44,023 smart contracts during the 2018 bull market, to All-Time-Highs in 2022 with 117,922 smart contracts, a 50% increase since 2021.** **Here are the raw numbers:** - **2015**: 0 - **2016**: 808 \(∞\) - **2017**: 9,438 \(\+1068%\) - **2018**: 44,023 \(\+366%\) - **2019**: 24,281 \(-45%\) - **2020**: 48,471 \(\+100%\) - **2021**: 78,806 \(\+63%\) - **2022**: 117,922 \(\+50%\) Besides one down year during the 2019 bear market, Ethereum smart contract development has accelerated at an incredible rate. ### Smart contract development is not tied to crypto prices During the third quarter of 2022, Ethereum prices are still down 62%, and yet smart contract deployments have surged 40% to new All-Time-Highs \(ATHs\). For example, when the price of Ethereum decreased 70% from $3,450 to $1,035 during Q2 2022 smart contract deployments only dropped by 4%. With prices decreasing 17.5 time larger than smart contract deployments, the prices and smart contract development aren't correlated. ## How many apps exist in 2022? **According to DappRadar, there are 12,495 apps across all chains with at least 1 active user in the last 24 hours, which is up 1200% since 2018 when there were only 1,000 active apps.** With the accelerated development of NFT APIs, enhanced APIs, and developer tooling, it is easier than ever to start building web3 apps. ### Q3 2022 NFT development statistics **According to data from [Alchemy's NFT API](https://www.alchemy.com/nft-api), there has been a 10X increase in the total number of NFT API request this year to date,** suggesting more use of NFTs in user facing products and analytics. While NFT marketplace activity is down almost 90% Y/Y, NFT developer activity remains high. ### Q3 2022 enhanced API statistics In Q3 2022, Alchemy's Enhanced API requests have 10Xed year-to-date confirming expansions in DeFi, [DAOs](https://www.alchemy.com/dapps/top/daos), and gaming and from core node APIs to more advanced infrastructure. Alchemy's[ Enhanced APIs](https://www.alchemy.com/enhanced-apis) are a suite of APIs specifically built for developers who need tools for working with blockchain transfers, token metadata, token balances, transaction receipts, traces, debugging, and other web3 use cases. ### Q3 2022 archive node requests **This year to date, Alchemy archive node requests have increased two-fold**, suggesting more developers are leveraging historical chain data for their apps and web3 developer tooling. An archive node is a full Ethereum node that contains all blockchain data starting from the first genesis block. ## Polygon developer statistics Q3 2022 [Polygon](https://www.alchemy.com/polygon) is an Ethereum sidechain that is compatible with the Ethereum Virtual Machine. Polygon offers inexpensive gas fees and fast transaction times, making it a popular choice among web3 and web2 companies like Starbucks. **Here are the numbers:** - 335% growth in active developer teams YTD - 804% growth in active developer teams Y/Y - 153% growth in API consumption YTD ## Optimism developer statistics Q3 2022 [Optimism](https://www.alchemy.com/optimism) is a layer 2 \(L2\) scaling solution for Ethereum that uses optimistic rollups to enable up to 2000 transactions per second \(TPS\) with dramatically lower fees than deploying smart contracts directly on Ethereum. Growth in active developer teams YTD

", tooltip: "", icon: "" }, "2": { title: "

>1000%

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Growth in active developer teams Y/Y

", tooltip: "", icon: "" }, "2": { title: "

>1000%

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Growth in API consumption YTD

", tooltip: "", icon: "" }, "2": { title: "

>460%

", tooltip: "", icon: "" }, id: 2, }, ], }} /> **Here are the numbers:** - \>1000% growth in active developer teams YTD - \>1000% growth in active developer teams Y/Y - 460% growth in API consumption YTD ## Arbitrum developer statistics Q3 2022 [Arbitrum](https://www.alchemy.com/arbitrum) is an Ethereum layer two scaling solution that uses optimistic rollups to increase Ethereum's scalability and decrease smart contract execution costs. In the third quarter of 2022 Arbitrum launched Arbitum Nitro, which increases the scalability of their blockchain for developers and users. **Here are the numbers:** - 516% growth in active developer teams YTD - 795% growth in active developer teams Y/Y - 121% growth in API consumption YTD ## Solana developer statistics Q3 2022 [Solana](https://www.alchemy.com/solana) is a layer one smart contract development platform built using the Rust programming language. Alchemy started supporting Solana developers in Q3 2022. To date, Solana's active developer teams have grown over 1000% Y/Y and Year-to-Date with a 500% increase in API consumption YTD. Growth in active developer teams YTD

", tooltip: "", icon: "" }, "2": { title: "

>1000%

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Growth in active developer teams Y/Y

", tooltip: "", icon: "" }, "2": { title: "

>1000%

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Growth in API consumption YTD

", tooltip: "", icon: "" }, "2": { title: "

>500%

", tooltip: "", icon: "" }, id: 2, }, ], }} /> **Here are the numbers:** - \>1000% growth in active developer teams YTD - \>1000% growth in active developer teams Y/Y - \>500% growth in API consumption YTD ## Download the Q3 2022 Web3 developer report [Download the full report](https://uploads-ssl.webflow.com/6086f3afee58e6430b6c8041/63474cac85f7227804fc46e1_Web3%20Developer%20Report%20-%20Q3%202022%20-%20Alchemy-min.pdf) to access additional web3 metrics including: - Wallet and DeFi infrastructure growth - Social infrastructure growth - Data infrastructure growth For inquires, please contact: press@alchemy.com --- # Web3 Development Report (Q4 2022) URL: https://www.alchemy.com/blog/web3-developer-report-q4-2022.md ## Web3 dev activity surges 453% in Q4 while consumer confidence in crypto crashes Even in an industry known for its relentless pace of innovation and turn-on-a-dime market conditions, the last quarter of 2022 was wilder than anyone could have imagined.  Web3’s hallmark highs and lows were on full display in Q4. On one hand, developers leaned into trustlessness – deploying smart contracts at rates resembling the peaks of 2021. On the other, the implosion of major [crypto exchanges](https://www.alchemy.com/dapps/best/crypto-exchanges) rocked the foundations of consumer trust. To borrow a line, it was the best of times and it was the worst of times. Allow us to explain. By examining three core indicators \(libraries, smart contracts, and [apps](https://www.alchemy.com/dapps/top/defi-dapps)\) we can extrapolate an accurate measure of developer activities across every vertical. Layer in macro-market conditions, industry milestones and consumer trends from trusted resources like CoinMarketCap, DappRadar, Dune, [Nansen](https://www.alchemy.com/dapps/nansen) and [SolScan](https://www.alchemy.com/dapps/solscan), and the state of the web3 landscape quickly comes into focus.  ### [Get every insight from the Q4 2022 Web3 development report.](https://assets-global.website-files.com/6086f3afee58e6430b6c8041/63c62976dec6c0015f5073c7_alchemy-Web3-development-report-q4-2022.pdf) As a refresher: - **Libraries:** Developer tools to easily read/write to the blockchain - **Smart contracts:** Computer programs stored and executed on a blockchain - **Dapps:** End-user ready applications with decentralized backends While assets on centralized exchanges plummeted 45%, smart contracts deployed skyrocketed 453% \(4.6 million total\), according to [Dune Analytics](https://www.alchemy.com/dapps/dune-analytics) – showing a stark contrast between trust in custodians vs. trustless products being built on-chain.  At the same time, crypto consumers are driving unprecedented outflows across the industry’s largest exchanges. Across the top centralized exchanges alone, more than $2.6B of ETH was withdrawn, according to Dune. Additional quarter-over-quarter comparison highlights include: - SDK installs \(building\): 16% increase in Ethereum SDK installs, totaling 1.8M per week - Testnet deployments \(testing\): 187% increase in Goerli Testnet smart contracts, a leading indicator of future apps, totaling an all-time high of 2.7M in Q4 - **Bridge users \(multichain interactions\):** 43% increase in Ethereum bridge activity with 443K unique users Our own platform and survey data confirmed increased dev activity and highlighted a positive outlook despite being in the thick of crypto winter. In December we surveyed 985 Alchemy developers, and of those, 94% said they were committed to building in web3. What’s more, following the launch of Alchemy University in October and November – as FTX unraveled – more than 100k applications poured in, indicating strong interest in building [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) skills. If there’s one key takeaway from the above analysis it’s this: despite the schemes and scandals that bruised consumer confidence in crypto throughout Q4, the ecosystem is growing as a result of developer resilience, creativity and belief in blockchain-based technology. ### Methodology This report strives to provide an accurate and useful representation of web3 development. The following sources were used for data collection purposes: - Dune \(smart contracts, CEX outflows\) - DappRadar \(dapp count\) - Github and NPM JS \(SDK installations and metadata\) - CoinMarketCap \(token prices\) - Internet Archive \(fetching historical versions of aforementioned pages to provide timestamped data sources\) Web3 Javascript library weekly downloads were used as a proxy for developer activity here. This metric is helpful but imperfect due to the ability for the library to be downloaded multiple times by the same user intentionally or unintentionally. However, it provides one signal for directional guidance. Additionally, the growth of various blockchains on Alchemy is purely relative; certain chains are significantly larger as measured by active teams and daily requests. ## Phase 1: ideation and interest Before building web3 applications, developers signal interest in building through means including education and market surveys. This section highlights data points around developer sentiment. ### Alchemy developer survey In Q4 2022, Alchemy surveyed developers across Alchemy’s Free, Growth, and Enterprise tiers to gather insights into platform usage and web3 market outlook. In total, approximately 1,000 respondents \(985 to be exact\) provided feedback, yielding insights during an unpredictable time in the industry. #### Are developers bullish or bearish on the future of Web3 in 2023? 58.2% of  web3 developers surveyed by Alchemy are “To the Moon 🚀” and another 36% respond “bullish”, while the remaining 5.8% of respondents expressed “Bearish” and “Dumpster Fire” sentiments. #### What are the major concerns Web3 developers face in 2023? 58% of 947 free and growth tier customers are concerned about funding, 31% are concerned about tooling, 25% about staffing, and 8% of respondents listed other sources of stress in 2023. ### Alchemy University Alchemy University offers [free web3 development courses](https://university.alchemy.com/) including a free, 3-week JavaScript crash course and free, 7-week Ethereum Developer Bootcamp.  #### How many people signed up for Alchemy University’s free Web3 development courses? Alchemy University was launched in October 2022, and since it then over 100k applications were received and more than 20,000 people enrolled in the early access programming. This interest from web3 developers desiring to [learn Ethereum development](https://www.alchemy.com/overviews/learn-solidity) suggests sentiment remains positive regardless of token price action since the market downturn in 2022. ### Alchemy Ventures Alchemy’s company mission is to provide developers with the fundamental building blocks they need to create the future of technology. [Alchemy Ventures](https://www.alchemy.com/ventures) accelerates this mission by dedicating financing and resources to the most promising teams growing the web3 ecosystem. #### What types of Web3 products are developers building in 2023? According to Alchemy Venture portfolio companies, the next generation of promising web3 portcos are focused on building developer tools \(35%\), infrastructure \(15%\), security \(15%\), gaming \(15%\), DeFi \(15%\), and wallets \(5%\). Despite macro headwinds, investment velocity continued with a steady pipeline of seed stage investments including 20 deals in Q4, which is on par with Q3’s 20 new Alchemy Venture investments. ## Phase 2: local Web3 development Once developers have an idea of what they want to build, they typically start building on their local computer because it is faster and easier than building directly on a testnet or a mainnet blockchain. This section of the report analyzes how much the most broadly used web3 developer tools have grown in the 4th quarter among developers including [web3 libraries](https://www.alchemy.com/dapps/best/web3-libraries) like ethers.js, web3.js, web3.py, and [Integrated Developer Environments \(IDEs\)](https://www.alchemy.com/dapps/best/web3-ides) like Hardhat. ### How many Ethereum SDK installs happened in 2022? In 2022, Ethereum SDK installs, which includes ethers.js, web3.js, hardhat, and web3.py grew 87% compared to 2021, and installs grew 16% in Q4 compared to the third quarter of 2022. #### Total Ethereum core tool downloads by year - **2022**: 1,800,000 downloads \(\+87% Y/Y, \+16% Q/Q\) - **2021**: 968,100 downloads \(\+127% Y/Y,  \+52% Q/Q\) - **2020**: 426,000 downloads\(\+63% Y/Y,  \+25% Q/Q\) - **2019**: 261,600 downloads \(\+55% Y/Y, \+7% Q/Q\) - **2018**: 168,600 downloads **Source**: NPM Trends ### What is the most popular Ethereum SDK in 2022? In 2022, [ethers.js](https://www.alchemy.com/dapps/ethers-js) was installed 1.1 million times, which is a 122% increase compared to 2021 and an 11% increase in Q4 compared to Q3. Compared to the second most popular Ethereum SDK, ethers.js was used 92% more than web3.js in 2022 \(571,600 downloads\). #### Ethers.js downloads by year - **2022**: 1,100,000 downloads \(122% Y/Y, 11% Q/Q\) - **2021**: 474,300 downloads \(122% Y/Y, 38% Q/Q\) - **2020**: 214,000 downloads \(72% Y/Y, 22% Q/Q\) - **2019**: 124,200 downloads \(\+155% Y/Y, 6% Q/Q\) - **2018**: 48,600 downloads **Source**: NPM Trends ### How many times was Web3.js downloaded in 2022? In 2022 [web3.js](https://www.alchemy.com/dapps/web3-js), the second most popular Ethereum SDK used in local development, was installed 571,600 times, which is a 32% increase since 2021 and in Q4 a 3% decrease in total installs compared to Q3 2022.  #### Web3.js downloads by year - **2022**: 571,600 downloads \(32% Y/Y, -3% Q/Q\) - **2021**: 434,100 downloads \(118% Y/Y, 30% Q/Q\) - **2020**: 199,200 downloads \(47% Y/Y, 23% Q/Q\) - **2019**: 135,400 downloads \(14% Y/Y, 8% Q/Q\) - **2018**: 118,600 downloads **Source**: NPM Trends ### What is the most popular Python SDK for Ethereum development? The most popular Python-based Ethereum library is [web3.py](https://www.alchemy.com/dapps/web3-py), which was downloaded 18,600 times in 2022, a 127% increase compared to 2021, which saw 8,200 downloads, and a 34% increase compared to Q3 2022 installs. #### Web3.py downloads by year - **2022**: 18,600 downloads \(127% Y/Y, 34% Q/Q\) - **2021**: 8,200 downloads \(93% Y/Y, 29% Q/Q\) - **2020**: 4,200 downloads \(109% Y/Y, -12% Q/Q\) - **2019**: 2,000 downloads \(\+73% Y/Y, 55% Q/Q\) - **2018**: 1,200 downloads  **Source**: NPM Trends ### What is the fastest growing integrated developer environment \(IDE\) in 2022? [Hardhat](https://www.alchemy.com/dapps/hardhat) is the fastest growing web3 IDE in 2022, in which it amassed 163,200 installations, a 217% increase since 2021 when it was downloaded 51,500 times, and Hardhat saw a 12% increase in Q4 2022 compared to the 3rd quarter. #### Hardhat downloads by year - **2022**: 163,200 downloads \(217% Y/Y, 12% Q/Q\) - **2021**: 51,500 downloads \(502% Y/Y, 36% Q/Q\) - **2020**: 8,500 downloads \(13,697% Y/Y, 20,737% Q/Q\) - **2019**: 122 downloads \(-49% Y/Y, 13% Q/Q\) - **2018**: 62 downloads  **Source**: NPM Trends ## Phase 3. Testnet developer activity Before launching applications into a production environment on mainnet blockchains, web3 developers will deploy applications from their local development environment to a testnet \(i.e. test network to refine their product on a blockchain that mirrors the mainnet environment without spending real ETH. Increased testnet activity is a signal of more developers bringing products out of proof-of-concept stages and getting their products ready for real users and production use cases.  ### How many Goerli Testnet smart contracts were deployed in Q4 2022? In the fourth quarter of 2022 Goerli, [the primary testnet after The Merge](https://www.alchemy.com/overviews/goerli-faucet), saw an all-time high of 2.7 million smart contracts deployed, which was a 187% increase compared to Q3 2022 and a 721% Y/Y increase compared to 2021. #### Goerli smart contract deployments by quarter - **Q4 2022**: 2,700,000 smart contracts deployed \(721% Y/Y, 187% Q/Q\) - **Q3 2022**: 900,000 smart contracts deployed \(61% Y/Y, 281% Q/Q\) - **Q2 2022**: 245,700 smart contracts deployed \(-87% Y/Y, 15% Q/Q\) - **Q1 2022**: 213,200 smart contracts deployed \(-20% Y/Y, -35% Q/Q\) - **Q4 2021**: 327,100 smart contracts deployed \(26% Y/Y, -44% Q/Q\) #### Goerli faucet website visits by quarter Alchemy’s [Goerli faucet](https://goerlifaucet.com/) \(goerlifaucet.com\) saw an all-time high in visits growing 154% in Q4 2022 compared to Q3 2022. Much of this demand for Goerli ETH and Goerli testnet development was a result of multiple test networks being deprecated throughout The Merge \(e.g. Ropsten, Kovan, and Rinkeby\), which forced developers to migrate their applications to Goerli. In 2022 popular Ethereum layer 2 blockchains also migrated their testnets to Goerli such as the [Arbitrum Nitro Testnet](https://www.alchemy.com/overviews/arbitrum-nitro-testnet) and [Optimism’s Goerli testnet](https://www.alchemy.com/overviews/migrate-from-kovan-to-goerli-on-optimism). ### How much Goerli ETH was distributed to Web3 developers in 2022? Alchemy received 7.6 million requests for Goerli ETH from 2.9 million unique wallet addresses, and delivered over 1.1 million gETH to web3 developers in 2022. Requests for Goerli ETH

", tooltip: "", icon: "" }, "2": { title: "

7.6M

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Unique wallet addresses

", tooltip: "", icon: "" }, "2": { title: "

2.9M

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Goerli ETH delivered

", tooltip: "", icon: "" }, "2": { title: "

1.1M

", tooltip: "", icon: "" }, id: 2, }, ], }} /> Although it is free to use, developers need to request free Goerli ETH to pay for gas on Goerli testnets across Ethereum, Arbitrum, Optimism, etc. **Source:** Alchemy ## Phase 4. Mainnet developer activity Developers deploy tested applications to the Ethereum Mainnet when the product is ready to serve real users in a live environment. This section of the report focuses on smart contract deployments on Ethereum, Solana Programs \(i.e. smart contracts on Solana\), and layer 2 bridging activity from Ethereum to Optimism, Arbitrum, Starknet, and zkSync. ### How many smart contracts were deployed on Ethereum in 2022? In 2022, over 7.75 million smart contracts were deployed on Ethereum, including 4.6 million in the fourth quarter alone, which represents a 453% increase in smart contract deployments compared to Q3 2022. #### Ethereum smart contract deployments by quarter - **Q4 2022**: 4,600,000 smart contracts deployed \(293% Y/Y, 453% Q/Q\) - **Q3 2022**: 826,900 smart contracts deployed \(-53% Y/Y, -11% Q/Q\) - **Q2 2022**: 932,300 smart contracts deployed \(-84% Y/Y, -35% Q/Q\) - **Q1 2022**: 1,400,000 smart contracts deployed \(-39% Y/Y, 24% Q/Q\) - **Q4 2021**: 1,200,000 smart contracts deployed \(-78% Y/Y, -34% Q/Q\) ### How many Solana programs were deployed in 2022? As of January 1st, 2023 there were 1,148 unique Solana programs with at least one unique interaction, which represents a 173% increase since January 1st 2022 \(421 unique Solana programs\) meeting the same criteria. A Solana program is executable code that performs a specific set of instructions. Solana programs are similar to how smart contracts work on Ethereum, and provide similar insights regarding the developer growth on Solana. **Source:** Solscan Analytics ### How many users bridged from Ethereum to a layer 2 blockchain in 2022? In 2022, 1,021,000 unique users bridged from Ethereum to Optimism, Arbitrum, Starknet, or zkSync, and 443,000 unique users bridged during the 4th quarter of 2022, a 155% increase compared to Q3 2022. With cheaper transaction fees and more scalable transactions per second, many developers and consumers are using layer 2 blockchains. To build and use L2s, users must bridge ETH and other ERC20 assets to L2 blockchains. These statistics highlight a growing interest in using L2s to perform tasks that have been historically done on Ethereum mainnet. **Source**: Dune ## Phase 5. Scaling developer usage As web3 products attract real users and find product-market-fit, developers need to scale their systems to support the increased consumer demand. This section looks at production-grade usage from Alchemy products, new apps, and data points from Alchemy chain partners. ### How fast is the Alchemy SDK growing in Q4 2022? SDK requests using Alchemy’s SDK were up 433% Q/Q showing the interest in simpler web3 developer tooling. While web3 libraries like ethers.js and web3.js support the main Ethereum API methods, the [Alchemy SDK](https://www.alchemy.com/sdk) simplifies the process of using core Ethereum libraries into a single line of code, while adding additional functionality through the NFT API and Enhanced API endpoints. ### How fast is the Alchemy NFT API growing in Q4 2022? NFT API requests grew \>1000% Y/Y and 132% Q/Q showing the increased interest from NFT product developers and consumers. Alchemy’s [NFT API](https://www.alchemy.com/nft-api) makes it easy for developers to query NFT-related API endpoints across Ethereum, L2s Arbitrum and Optimism, sidechains like Polygon, and the popular Ethereum testnets. ### How fast are Alchemy enhanced APIs growing in Q4 2022? Enhanced API requests grew \> 1000% Y/Y and 75% Q/Q showing developers are using complex blockchain queries to build products. Alchemy’s [Enhanced APIs](https://www.alchemy.com/enhanced-apis) are a suite of API endpoints such as Trace APIs, debugging APIs, webhooks, websockets, token APIs, transaction APIs, and transfers APIs. ### How many Web3 apps exist in 2022? As of December 2022, DappRadar has registered 16,102 apps across all chains, which is a 16-fold increase since 2018, and a 32% increase compared to Q3 2022. The top three dapp categories on Dapp Radar are: - DeFi \(7,649 or 48%\) - Games \(2,603 or 16%\) - Collectibles \(1,506 or 9%\) The fastest growing category is social apps which saw a 105% increase Y/Y and a 58% increase compared to Q3 2022. **Source**: DappRadar ### Alchemy Dapp Store growth Q4 2022 also saw the release of the Alchemy Dapp Store, a [free directory of web3 developer tools](https://www.alchemy.com/dapps) and consumer applications. To date, the Dapp Store has published over 1,300 apps and tools across 10 blockchains and 100s of categories with new products being added every week. ## Alchemy chain partner growth \(2022\) Alchemy supports multiple blockchains in addition to Ethereum including Polygon, Arbitrum, Optimism, Solana, and their test networks. This section of the report highlights the growth observed from each chain partner on the Alchemy platform. Arbitrum

", tooltip: "", icon: "" }, "2": { title: "

718% growth Y/Y

", tooltip: "", icon: "" }, "3": { title: "

>900% Y/Y

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Optimism

", tooltip: "", icon: "" }, "2": { title: "

>1,000% growth Y/Y

", tooltip: "", icon: "" }, "3": { title: "

>1,000% Y/Y

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Polygon

", tooltip: "", icon: "" }, "2": { title: "

389% growth Y/Y

", tooltip: "", icon: "" }, "3": { title: "

>200% Y/Y

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Solana

", tooltip: "", icon: "" }, "2": { title: "

>1,000% growth Y/Y

", tooltip: "", icon: "" }, "3": { title: "

>1,000% Y/Y (277% Q/Q)

", tooltip: "", icon: "" }, id: 3, }, ], }} /> ### How fast are Polygon developers growing on Alchemy? Active teams[ developing on Polygon](https://www.alchemy.com/polygon) grew 389% compared to 2021, and Polygon API usage grew 200% Y/Y. One standout application on Polygon is **Lens Protocol** which saw more than 110,000 new profiles and 99,000 NFT holders since their 2022 launch. Source: Alchemy & Polygon ### How fast are Arbitrum developers growing on Alchemy? Active teams[ developing on Arbitrum](https://www.alchemy.com/arbitrum) grew 718% Y/Y and Arbitrum API usage on Alchemy grew 900% compared to 2021.  One popular application on Arbitrum is the decentralized exchange aggregator,[ Slingshot](https://www.alchemy.com/dapps/slingshot-finance), which saw more than 56,000 wallets swapping tokens on their L2 DEX aggregator in November 2022, up 80x Y/Y. **Source**: Alchemy & Slingshot ### How fast are Optimism developers growing on Alchemy? Active teams[ developing on Optimism](https://www.alchemy.com/optimism) and using the Optimism API grew 1000% year-over-year compared to 2021. Optimism Quests are simple educational activities users can complete in exchange for rewards. Since the program launched in September 2022, over 421,000 people participated and over 3.1 million NFTs were minted. **Source**: Alchemy & Optimism ### How fast are Solana developers growing on Alchemy? Active teams[ developing on Solana](https://www.alchemy.com/solana) grew 1000% Y/Y, and doubled in Q4 compared to 2022 Q3. Solana API usage also grew 1000% Y/Y and 277% in Q4 compared to Q3 2022. **Source**: Alchemy ## Sources - **Developer activity**: Alchemy - **Smart contracts, bridging, and programs**: Dune and Solscan - **Market and prices**: CoinGecko, DappRadar, Defi Pulse, CoinMarketCap,Dune - **SDKs**: NPMTrends.com - **Historical webpages**: Internet Archive ## Disclaimer This report is for informational purposes and does not constitute investment, legal, or tax advice. You should not put undue reliance onany statements of historical trends or interpret them as guarantees of future performance or results. In addition to providing information based on our internal sources, this report contains statistical data and estimates that are based onpublic information. You should not give undue weight to such data or estimates as we have not verified them. We make no representations or warranties as to the accuracy or completeness of the data presented nor do we commit to updatingsuch data after the date of this report. By reviewing, sending, receiving, or sharing this report, you acknowledge that you will be solelyresponsible for your own assessment of the market, our company, and the other organizations mentioned, and you will conduct yourown analysis and be solely responsible for forming your own view of any potential future performance. As indicated on our website ([www.alchemy.com](https://www.alchemy.com/)), we have a business relationship with certain chains including Ethereum, Polygon,Optimism, Arbitrum, and Solana. However, this report is not intended to promote the token of any particular chain. --- # Get Faster, More Reliable MetaMask Transactions For Free URL: https://www.alchemy.com/blog/why-you-should-configure-your-metamask-node-provider.md ## What is MetaMask? How does it work? [**MetaMask**](https://www.alchemy.com/dapps/metamask) is one of the most popular Ethereum tools out there. As a cryptocurrency wallet, it allows users to access multiple accounts through a browser extension or mobile app. Developers use MetaMask to test [apps](https://www.alchemy.com/dapps/top/defi-dapps), traders use it to lend and borrow on DeFi protocols, and collectors use it to purchase NFTs. It's a staple in today's Web3 world! But... do you know how MetaMask processes all of these transactions? As a wallet, it needs to show users key information such as the account balance, a history of transactions, estimated gas fees, and more. It's also responsible for sending transactions to the blockchain on behalf of users. So how does MetaMask process all this important information? #### TLDR: we suggest you use Alchemy's free, personal RPC endpoints! MetaMask reads and writes information to the blockchain by connecting to a node! It makes a connection by using a default [**node provider**](https://www.alchemy.com/overviews/blockchain-node-providers) that shares resources across all MetaMask users. While having a default shared provider means that it’s easy for users to get set up, there are lots of downsides. - your transaction processing time might [feel slow](https://twitter.com/Maahesrah/status/1429887080084254720?s=20)[‍](https://twitter.com/Maahesrah/status/1429887080084254720?s=20) - you might see [inconsistent block data](https://ethereum.stackexchange.com/questions/109768/how-does-ethereum-network-keep-consistent)[‍](https://ethereum.stackexchange.com/questions/109768/how-does-ethereum-network-keep-consistent)‍ - you might pay more gas than necessary due to [out-dated gas fee estimations](https://twitter.com/nicksdjohnson/status/1425223355502718979?s=20)‍ - and worst of all, [the default node provider may stop working completely](https://www.theblockcrypto.com/post/84232/ethereum-infrastructure-provider-infura-is-down) When there’s an outage, you do not want to be stuck, unable to send important transactions right when you need it the most. ## What are the benefits of using Alchemy as the node provider? [**Alchemy**](https://alchemy.com/?a=991c4e82df) has created an entirely new Web3 infrastructure technology known as [**Supernode**](https://www.alchemy.com/supernode) that solves for data consistency, scalability, and outage issues -- problems that are common in other node providers. By hooking Alchemy up with your MetaMask wallet, you also unlock game-changing tools for monitoring and debugging such as the** Mempool Visualizer** and [**Alchemy** **Notify**](https://www.alchemy.com/notify). Let me illustrate with two quick scenarios: #### Scenario 1: minting NFTs Let’s say you’re using MetaMask to send transactions to a dapp to mint the latest NFT drop. What do you do if time has passed, your transaction has not completed, and you don’t know why? With Alchemy's mempool watcher, you get to see your pending transactions before they’re even broadcast to the rest of the network! You can click into each transaction in the mempool and see detailed information, including whether your transaction failed to include enough gas fees, or whether you have transactions with conflicting nonce values. Having this visibility is crucial if you want maximum control over your trades because you can see when your transactions are getting stuck and why. #### Scenario 2: alerting on transactions Now let’s say you want to send yourself an alert when key transactions occur \(e.g. transfers from your wallet of greater than 1 ETH\), or you might want to know when your transactions are mined but then dropped. Normally, you might make your MetaMask transactions, and then use a blockchain explorer to manually sift through your history… but this would be time-consuming and error-prone. With Alchemy Notify, you get webhook functionality that automatically pushes any on-chain transaction data over to your own apps as your transactions are happening! **With this power you can bring blockchain data over to where you need it most** – Slack, Discord, a tax accounting application – the possibilities are endless :\) ## So how do I change my MetaMask node provider? Alright so now you’re wondering how to get all these cool benefits from your MetaMask wallet. You’re in luck :\) The process is super easy. Let’s go through it together. ### Set up a free Alchemy account This is a very important step. [Just do it. **Here.**](https://alchemy.com/?a=991c4e82df) ### Now create a custom RPC configuration in MetaMask Ready for the fun part? 1. Navigate to your MetaMask wallet and click the network dropdown at the top, selecting **Custom RPC** at the bottom. Let's fill in these custom RPC information fields. 2. You can name your **Network Name** anything to remind you which chain you’re connecting to. For example, if you're connecting to Polygon Mainnet, you can call this configuration "Alchemy - Polygon Mainnet". 3. For the **New RPC URL field**, grab the HTTP API key URL from your [Alchemy Dashboard](https://dashboard.alchemy.com/). If you don't have a dashboard account, go back up to the "Set up a free Alchemy account" step and set up your account. 4. Look up the **Chain ID** for the network you want to connect to. - [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) - 1 - Ropsten Testnet - 3 - Rinkeby Testnet - 4 - Goerli Testnet - 5 - Kovan Testnet - 42 - Polygon \(Matic\) Mainnet - 137 - Mumbai Testnet - 80001 - Arbitrum One - 42161 - Optimism \(Optimistic Ethereum\) - 10 - Optimistic Kovan - 69 5. **Currency Symbol** and Block Explorer URL are optional. For most chains, no input is needed here. For the L2s and side-chains, setting these can be useful. Polygon:  - Currency Symbol - MATIC - Block Explorer URL - [https://polygonscan.com/](https://polygonscan.com/) Arbitrum: - Currency Symbol - AETH - Block Explorer URL - [https://arbiscan.io](https://arbiscan.io) Optimism: - Currency Symbol - ETH - Block Explorer URL - [https://optimistic.etherscan.io](https://optimistic.etherscan.io) And don’t worry if you get a warning like: *This Chain ID is currently used by the Polygon network.* This is just MetaMask reminding you that you have another configuration for the same chain, which is totally allowed. Once you have these info boxes filled out, just hit **Save**! ### Now sit back, relax, and send your transactions! Just use MetaMask as you usually would :\) ### And then... Leverage the Alchemy developer platform With [Alchemy](https://alchemy.com/?a=991c4e82df) connected, you can visit your app in the [**Alchemy Dashboard**](https://dashboard.alchemy.com/) and see the API calls MetaMask is making:  Or track your pending and mined transactions in the **Mempool Watcher**:  Or even set up webhooks with **Alchemy Notify** to automatically get alerts on your wallet activity: As you can see, whatever you want to do with your MetaMask transactions, Alchemy has you covered! If this guide was useful to you, give us a shoutout on Twitter [@Alchemy](https://x.com/Alchemy) :\) --- # World Chain Is Open to the World — Powered by Alchemy URL: https://www.alchemy.com/blog/world-chain-is-open-to-the-world.md ## World Chain is now open to every human Starting today, builders can deploy apps on World Chain, enabling access to the vastest user base of verified humans that exists anywhere onchain. All ~15 million World ID holders and World App users have either migrated or are in the process of migrating to [World Chain](https://worldcoin.org/world-chain)—a blockchain designed to prioritize humans. On Day 1, World Chain is supported by Alchemy. Ready to build on World Chain? [Get started](https://dashboard.alchemy.com/services?chains%5B0%5D=WORLDCHAIN&utm_source=blog&utm_medium=blog&utm_campaign=world_chain&utm_id=World_Chain)! ## Unlock access to real people, all over the world World Chain is a new blockchain tailored for human-centric applications. It will seamlessly integrate with the World Network and work alongside Optimism and the broader [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) as part of the Superchain. For builders, World Chain offers you the opportunity to reach the vastest user base of verified humans that exists anywhere onchain. - World ID holders span the globe: ~15 million people across 160 countries can explore and use onchain applications through compatible, non-custodial wallets like World App. - In addition, with the introduction of Mini Apps and Minikit, announced today, your application will benefit from direct in-app distribution. ## World Chain is built for every human Despite broad utility, World Chain will be prioritizing two kinds of use cases above all else to start: ### Anonymous human verification World Chain natively integrates with World ID, the only anonymous identity verification protocol onchain today. This is a new primitive that has never existed before. If you want to engage with real people, World Chain is the best possible place to build. ### Stablecoins and financial access Today, World ID holders are predominantly in countries where stablecoin adoption is growing the fastest, often because they provide true utility in users' lives. World Chain will accelerate this trend by allowing builders to create reliable products that unlock access to new levels of financial freedom. ## An invitation for real people into a blockchain economy The World Network puts verified humans first, at every level of the stack. They're productionizing this vision by building on [Alchemy Rollups](https://www.alchemy.com/rollups?utm_source=blog&utm_medium=blog&utm_campaign=world_chain&utm_id=World_Chain). Alchemy Rollups enables World Chain, and teams like World Chain, to launch their own chain, leveraging reliable, scalable infrastructure, while accessing the complete developer platform of APIs and tools. At Alchemy, we're in a unique position to support the World Chain vision: with over 7 years of battle-tested systems, 0 multi-hour outages, and 150\+ devs manning the infrastructure, 24/7, Alchemy is the best platform for enabling World Chain to scale as it onboards more users, apps, and developers across the globe. > “World Chain is a new blockchain designed for humans focused on financial access for all. With over 5 million monthly active users, reliability and scalability are at the forefront of everything we do. In addition to an unmatched web3 developer toolset, Alchemy’s world-class enterprise level support and experience running blockchain infrastructure at scale made them the obvious choice for World Chain.” > > — Steven Smith, VP of Engineering, Protocol, Tools for Humanity As part of this partnership, we will integrate the comprehensive Alchemy platform into World Chain, including core Node APIs, Account Abstraction for smart wallets, Data Indexing and APIs, and key Developer Experience Tools. ## Ready to start? We're thrilled to be the infrastructure powering the World Chain revolution. Starting today, all Alchemy builders have immediate access to World Chain directly in your dashboard. Ready to go? [Get started](https://dashboard.alchemy.com/services?chains%5B0%5D=WORLDCHAIN&utm_source=blog&utm_medium=blog&utm_campaign=world_chain&utm_id=World_Chain)! ## Want to learn more? [Check it out](https://www.youtube.com/live/Ey5bSeUeqqU). --- # Build World Mini Apps, Get 4 Months Free | Alchemy URL: https://www.alchemy.com/blog/world-mini-app-builder-program.md Everyone building onchain agrees on one thing: we need more users. [**World**](https://world.org/) has over 26M. ## It’s time to build mini apps on world app World App connects apps directly to real people through its robust infrastructure, powered by World Chain and secured by [World ID](https://world.org/world-id), a digital proof of human that enables people to anonymously verify their unique humanness online. For developers aiming to reach real users with practical apps, the World ecosystem is an ideal choice. Proof of human technology protects Mini Apps from manipulation by bots or malicious actors, unlocking new use cases across DeFi, identity, onchain credit, and more. ## Introducing the mini to major program: _Major_ incentives for mini app builders There’s no easier, more affordable way to build Mini Apps than with us. Here’s what you get: ### Affordable pricing - **Enterprise Plans: Receive 4 months free** on any new 12-month Enterprise contract - **Pay-As-You-Go Plans: Get 3 months free** when starting a new self-serve plan ### Bonus incentives Builders can unlock even more value for the following use cases and goals: ###### Earn **500m CUs \($500 value\)** when you: - Integrate World ID's Sybil resistance directly into your app - Launch a confirmed DeFi Mini App ###### Earn **1b CUs \($1,000 value\)** when your mini app exceeds $1m in protocol TVL ### Comprehensive GTM support - Co-marketing and partnership opportunities - IRL building and networking sessions at our offices See the full details [here](https://www.notion.so/Mini-to-Major-The-World-Mini-App-Builder-Fund-1df069f2006680dcb115d89581c8e144?pvs=21). ## How to deploy your first mini app Ready to start building? Watch Dan Nolan, Developer Relations at Alchemy, walk you through building and deploying your first Mini App step-by-step:  You can also find the [World App Mini App developer docs on world.org](https://docs.world.org/mini-apps). ## Products your mini app will love Some of the biggest Mini Apps use these products to create the best user experience: - [Supernode](/rpc-api): The \#1 trusted blockchain RPC - [Webhooks](/webhooks): Fast, consistent push notifications - [Token API](/token-api): The complete token data users expect ## Ready to get started? If you’re ready to build in the World ecosystem, we’d love to speak with you. Reach out to the team! ## Frequently asked questions ### What is the Mini to Major Program? The Mini to Major Program offers developers building Mini Apps on World App up to 4 months free on our platform, bonus compute unit incentives for integrating World ID or launching DeFi apps, and comprehensive go-to-market support including co-marketing opportunities. ### How much can I save by building World Mini Apps with us? Enterprise plan customers receive 4 months free on any new 12-month contract, while pay-as-you-go plan users get 3 months free when starting a new self-serve plan. ### What bonus incentives are available for World Mini App builders? You can earn 500M compute units ($500 value) for integrating World ID's Sybil resistance or launching a confirmed DeFi Mini App, and 1B compute units ($1,000 value) when your Mini App exceeds $1M in protocol TVL. ### What is World App and why should I build Mini Apps on it? World App connects apps directly to over 26M real users through World Chain infrastructure, secured by World ID, a digital proof of human that protects apps from bots and malicious actors while enabling use cases across DeFi, identity, and onchain credit. ### Which of our products work best with World Mini Apps? The biggest Mini Apps use Supernode for blockchain RPC, Webhooks for fast push notifications, and Token API for complete token data to create the best user experience. ### Where can I find documentation to start building World Mini Apps? You can find the World App Mini App developer documentation at docs.world.org/mini-apps, and we offer a step-by-step video tutorial to help you build and deploy your first Mini App. ### How do I get started with the Mini to Major Program? Reach out to our team through the website to discuss building in the World ecosystem and access the program benefits. --- # Priority Blockspace for Humans Launches on World Chain URL: https://www.alchemy.com/blog/world-pbh-mainnet.md Last year, World [introduced](https://world.org/blog/engineering/introducing-pbh-priority-blockspace-for-humans) Priority Blockspace for Humans \(PBH\), a novel way for World ID holders to receive prioritized transaction inclusion in World Chain blocks. PBH is designed to counter the proliferation of bots onchain by reserving guaranteed blockspace for real, verified humans. According to[ L2Beat](https://l2beat.com/scaling/summary), World Chain has consistently been in the top 10 in total value secured \(at over $450M\) and top 5 of user operations per second \(typically greater than 25 UOPS\). With its flagship application, [World App](https://world.org/world-app), there are few infrastructure projects in the crypto space that have so many real humans moving real value. It’s imperative that those real humans have a reliable way to access World Chain blockspace, a resource that could become one of the cornerstones of the human-centric internet. Since its inception,[ Tools for Humanity](https://www.toolsforhumanity.com/) \(the primary contributor to World\),[ Flashbots,](https://www.flashbots.net/) and our team have worked closely to bring PBH to life. This week, PBH officially launches on World Chain mainnet. As the [Rollup-as-a-Service \(RaaS\)](/rollups) provider for World Chain and the [ERC-4337 bundler](/smart-wallets) powering World App, we've played a central role in building, testing, and scaling the infrastructure that powers PBH. This post dives into how PBH works and the work that went into making it real. ## PBH basics: the high-level flow When a user downloads World App, they are given a World ID. They can then choose to verify their World ID at an Orb, which is an advanced camera that takes pictures of a user’s face and eyes. These are encrypted and stored only on a user’s phone. Permanently encrypted codes are generated by the photos, which are then stored across secure databases. The private portion of  World ID, stored on the user’s device, is used to prove membership in the onchain identity data set. . Users can use World ID to prove they’re a verified human by confirming its existence in the onchain merkle tree. This is done using zero-knowledge proofs with private inputs such that the verifier doesn’t learn anything about the user other than that they are previously verified. Tools for Humanity designed a[ custom block builder](https://github.com/worldcoin/world-chain/tree/main) that can detect and prioritize onchain user operations carrying a proof of human bound to that operation. This zero-knowledge proof of human bound to a transaction is built with: - A private identity and a private Merkle proof proving the existence of that identity in the World ID set. - A public signal hash binding the proof to the specific transaction. - A public nullifier used to rate-limit proof usage and prevent abuse. Here’s the flow: 1. The user generates a World ID proof bound to their transaction and submits it alongside the transaction. 1. The block builder checks: - The validity of the proof on its public inputs: current Merkle root of the ID set, the operation hash as the signal, and the nullifier. - That the nullifier hasn’t exceeded usage limits. 1. If checks pass, the builder includes the operation at the[ top of the block](https://worldcoin.github.io/world-chain/pbh/architecture.html#block-production-on-world-chain). ## RaaS reliability with PBH Our RaaS team runs[ industry](https://x.com/ProbablyNoam/status/1925608653228278112)[ leading](https://x.com/wangandyy/status/1926514180204405050) sequencer infrastructure, designed for high availability and low latency. In extending support for PBH at the sequencer level, our goal was to maintain the level of reliability our users expect. To make this possible, we integrated [Rollup-Boost](https://github.com/flashbots/Rollup-Boost), a system developed by [Flashbots](https://www.flashbots.net/) and Tools for Humanity. It enables external block production while preserving the safety and liveness guarantees of a standard op-[geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one)-based sequencer. In this setup, blocks are built externally by the World Builder using novel PBH ordering and then validated locally by op-geth. Rollup-Boost provides a fallback path, allowing the sequencer to switch from the custom World Builder to the standard one if needed. This architecture introduces a new tradeoff: Rollup-Boost becomes a potential single point of failure. ### Our high-availability sequencer stack To address single points of failure in the op-stack, we use an[ op-conductor](https://docs.optimism.io/operators/chain-operators/tools/op-conductor)-based high-availability sequencer architecture. This setup allows the sequencer to: - Run three replicas of each component \(World Builder, Rollup-Boost, and the op-stack pair: op-node and op-geth\). - Use Raft-based leader election and automatic failover when a replica becomes unhealthy. - Continue building blocks using op-geth if all World Builders are unavailable. Additional routing layers, including proxies, relays, and load balancers, isolate the sequencer from external traffic while maintaining low latency. The introduction of Rollup-Boost doubled the number of block builders in the system, and PBH complicated the transaction validity checks. Tools for Humanity \(TFH\) developed a custom[ transaction proxy](https://github.com/worldcoin/tx-proxy) for World Builder traffic. We worked closely with TFH to design and integrate this proxy while maintaining high-availability for PBH validations and non-PBH traffic. The result of all this infrastructure is that PBH runs on the most customizable high-availability sequencer stack in the industry, giving the World team the freedom to iterate on its builder logic with 99.999% availability. ### Making Mainnet launch a success together Ahead of the mainnet launch, our team and Tools for Humanity collaborated on a series of simulations to test this infrastructure under stress. Over three days, 40\+ hours of meetings, and 100\+ hours of engineering time, the teams halted nodes, dropped peers, forced failovers, and documented anomalies. All bugs and gaps in observability were addressed, resulting in an infrastructure stack that both teams are confident can handle production workloads with the reliability users expect from a leading L2. As a result of learnings from these simulations we: - Hardened the automatic sequencer failover process removing undesired failovers and tuning health checks. - Right sized all of the block-building hardware to achieve maximum throughput. - Aligned transaction pool settings across all of the block builders in the system, World and op-geth, to improve transaction propagation through the system. ## Priority blockspace for humans \+ ERC-4337 World App uses [ERC-4337 user operations \(UOs\)](/overviews/user-operations) to sponsor gas for its users. It accounts for nearly all UOs on World Chain, which consistently processes over 35 million UOs per month and represents two-thirds of all ERC-4337 activity across all chains. It is essential that PBH integrate fully with ERC-4337, enabling developers to submit user operations with PBH proofs for their end users with top-of-block inclusion. We maintain the leading ERC-4337 bundler infrastructure, powered internally by[ Rundler](https://github.com/alchemyplatform/rundler), which processes over[ 75% of all mined user operations](https://www.bundlebear.com/erc4337-bundlers/all) across tracked chains. We collaborated with Tools for Humanity to design a PBH integration that: 1. Allows the bundler to detect PBH-eligible user operations and submit PBH-only bundles for top-of-block inclusion. 1. Preserves full ERC-4337 compatibility, maintaining its core [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) design. 1. Avoids unnecessary bundler logic, reducing maintenance overhead. ### How it works PBH user operations include the proof in the signature field. Using this, the bundler must: - Detect valid PBH UOs. - Build bundles that exclusively contain valid PBH UOs. A naive solution would hardcode PBH-specific logic into Rundler, but this is brittle and hard to maintain. Instead, the teams used ERC-4337’s signature aggregator feature, a lightly used and often misunderstood mechanism. In this design: - PBH UOs return a specific PBH aggregator address from their validation function. - Rundler detects this and calls the aggregator’s validation method to check the proof. - Bundles are built per aggregator, ensuring PBH UOs are grouped together. Proofs are stripped from each UO and concatenated together. - Aggregated proof data is passed onchain to the aggregator for verification. The aggregator verifies each proof before user operations are able to execute. This approach: - Requires no changes to Rundler’s core logic and is compatible with other aggregators, including BLS. - Works with standard bundler APIs. - Encapsulates PBH support behind a standard interface that any bundler could adopt. ### One roadblock: EntryPoint v0.7 and stateful aggregators PBH uses nullifiers to rate-limit usage. To enforce this, the aggregator must track state. But EntryPoint v0.7 only allows view calls to aggregators, making stateful logic impossible. To work around this, a custom PBHEntrypoint was deployed to wrap v0.7 and track nullifiers onchain. The PBHEntrypoint coordinates with the PBHSignatureAggregator to ensure that the bundler calls through the PBH entry point prior to executing the bundle: - Before calling into the ERC-4337 entry point, PBHEntrypoint stores a hash of all user ops in transient storage. - The signature aggregator later verifies this hash when it is called by the ERC-4337 entry point, reverting if it doesn't match. Thanks to feedback from TFH and our team, the view restriction has been removed in EntryPoint v0.8, paving the way for cleaner implementations. ### Next block inclusion Priority blockspace only matters if it’s fast. Leading up to PBH mainnet, our bundler team made several performance improvements to ensure next-block inclusion: 1. Scaled EOA relays and native gas balances. 1. Optimized bundling latency. 1. Improved relay assignment to reduce mempool queuing. Results on World Chain show results that are directly comparable with raw transactions, showing that the bundler adds negligible overhead. - P50 time-to-mine: \< 3s - P95 time-to-mine: \< 4s ### Offchain validity and future optimizations PBH proofs are large and can be expensive to verify onchain. To reduce gas costs, the PBH system supports both onchain and offchain proof verification. In offchain mode, the World Builder verifies the proofs offchain before granting top-of-block priority. They are always included onchain so that any observer can check that the World Builder is ordering correctly. This improves efficiency and leaves room for potential future optimizations to reduce calldata footprint or transaction size. On top of these proof optimizations, our teams are also exploring sequencer/network enhancements, including: - Using Flashblocks for L2 pre-confirmations. This could move the P50 time to mine from 3s to 500ms - Modifying fee markets to ensure fees stay low for end users while bots are still appropriately charged to combat spam. ## Final thoughts PBH redefines how blockspace is allocated by putting humans first. But it’s more than a protocol upgrade; it’s an infrastructure challenge. Our commitment to best-in-class sequencer reliability and Rollup-Boost integration to bundler optimizations and ERC-4337 compatibility made it possible to bring PBH from idea to mainnet. With PBH live, World Chain is now the first L2 where being human actually matters. We’re here to help you achieve milestones onchain just like World has. - Start building with [smart wallets](/smart-wallets) and [rollups](/rollups) - [Reach out to our team](/contact-sales) anytime for integration questions, pricing at scale, and more. ## Frequently asked questions ### What is Priority Blockspace for Humans (PBH)? Priority Blockspace for Humans is a mechanism on World Chain that reserves guaranteed blockspace for verified World ID holders, ensuring real humans receive prioritized transaction inclusion over bots without needing to pay high gas fees. ### How does PBH work on World Chain? Users with verified World IDs generate a zero-knowledge proof bound to their transaction, which the custom block builder validates and prioritizes at the top of the block, ensuring inclusion without revealing user identity. ### Who can access Priority Blockspace for Humans? Only verified World ID holders who have completed Orb verification can access PBH priority inclusion on World Chain. ### How fast are PBH transactions on World Chain? PBH transactions achieve a P50 time-to-mine of less than 3 seconds and P95 time-to-mine of less than 4 seconds, comparable to raw transactions. ### Is PBH compatible with ERC-4337 user operations? Yes, PBH fully integrates with ERC-4337, allowing developers to submit user operations with PBH proofs for top-of-block inclusion through standard bundler infrastructure. ### What infrastructure powers PBH on World Chain? PBH is built on Rollup-Boost developed by Tools for Humanity and [Flashbots](https://www.alchemy.com/dapps/flashbots), running on our high-availability sequencer stack with 99.999% availability and automatic failover capabilities. ### Does PBH verification happen onchain or offchain? PBH supports both onchain and offchain proof verification, with the World Builder verifying proofs offchain before granting priority while including them onchain for transparency. ### When did PBH launch on World Chain mainnet? PBH officially launched on World Chain mainnet in 2025, following extensive testing and infrastructure simulations by our team, Tools for Humanity, and Flashbots. --- # Zero Downtime Solana gRPC Streaming: Architecture Deep Dive | Alchemy URL: https://www.alchemy.com/blog/zero-downtime-zero-gaps-solana-grpc-streaming.md For teams building trading infrastructure, MEV searchers, liquidation bots, and real-time indexers, their products are only as fast as the data feeding them. A stream that spikes or drops means a missed trade or an incomplete index. That's why we built our [Solana gRPC streaming product](https://www.alchemy.com/solana-grpc) on a multi-node redundancy layer, so spikes and drop-offs get absorbed before they hit your pipeline, and you don't have to engineer failover logic on top of a service that's supposed to be managed. This is how we architected it. ## Why gRPC matters on Solana Solana's data output is massive: over 4 petabytes annually at peak speeds. Traditional polling over JSON-RPC introduces unnecessary overhead: repeated requests, wasted bandwidth, and inherent latency from the request-response cycle. For workloads that need every account update or transaction the moment it's confirmed, polling doesn't cut it. gRPC streaming over Protobuf/HTTP2 inverts the model. The server pushes data to the client as it's produced. Builders subscribe to exactly the data they need — specific accounts, programs, transaction patterns — and receive a continuous, filtered stream with zero polling latency. For Solana, where block times are sub-second and data volume is enormous, this is the ideal solution for apps that prioritize delivering the most current data to users. The Yellowstone gRPC interface has become the de facto standard for Solana streaming. Builders have existing client libraries in Rust, TypeScript, Go, and anything that compiles a `.proto` file. We leveraged that standard, so migration from any Yellowstone-compatible provider is a URL change, not a rewrite. ## The architecture: from shreds to streams Our streaming pipeline has four layers, each designed with built-in redundancy for reliable performance at scale. ### Shred ingestion Shreds are the fundamental unit of data propagation on Solana — MTU-sized frames (~1,280 bytes) containing fragments of block entries. The network broadcasts shreds via Turbine, a multi-hop protocol where validators relay data through layered neighborhoods. Turbine is fast, but it's probabilistic. Packet loss accumulates across hops, and a node deep in the tree can wait hundreds of milliseconds for gap repair before assembling a complete block. We ingest shreds from multiple independent sources simultaneously — including services that collect shreds directly from high-stake validators, bypassing Turbine's multi-hop latency. Each source covers different geographic paths and validator neighborhoods. Gaps in one stream are filled by another, which means faster block assembly with fewer repair cycles. This matters because a node needs a minimum number of shreds to assemble each slot. If it doesn't receive enough within roughly 250ms, it falls back to the repair protocol — requesting missing shreds from peers, which adds significant latency. Getting enough shreds before repair kicks in is critical. That's why we ingest from multiple independent sources: more coverage means the node hits that threshold faster, assembles entries sooner, and fires Geyser notifications earlier. Every millisecond saved here cascades downstream. ### The Richat engine At the core of our streaming service is Richat, an open-source engine that runs as a Geyser plugin on the Solana node. It captures account updates, transaction notifications, slot status, block metadata, and entry updates as they're produced by the Agave client, then streams them to a Richat server that acts as the aggregation and fan-out layer. The key design decision: each Richat server connects to multiple upstream Solana nodes simultaneously. It deduplicates updates across sources and delivers the fastest healthy result downstream. When one upstream node falls behind on a slot, the aggregation layer serves data from the next-fastest node. This is what gives us latency spike attenuation. Single-node deployments have a long tail on p99 and p999 latency because every bad moment on the upstream node passes through to every consumer. Multi-node aggregation flattens that tail — the builder's stream reflects the best-performing node at any given moment, not the only one. ### The builder's stream Builders connect with standard Yellowstone client libraries. Once connected, they can subscribe to account updates (with program, owner, and data-slice filters), transaction updates (with account-include/exclude and signature filters), and slot, block, block-meta, and entry updates. Commitment levels (`processed`, `confirmed`, `finalized`), Zstd compression, and server-side keepalive are all supported natively. Multiple concurrent subscriptions can be composed with AND/OR semantics on a single connection. Bidirectional streaming lets builders subscribe, modify, and cancel without reconnecting. ### Replay on reconnect Brief disconnections and client restarts are inevitable. The question is whether they cost the builder data. We store a rolling window of recent updates in Richat's ring buffer. When a client reconnects, it can subscribe with a `from_slot` parameter and backfill everything it missed before picking up the live stream. No separate backfill pipeline. No gap-detection logic to maintain. No reconciliation service running alongside the consumer. This is a simpler operational model for builders who need gap-free streams over long time horizons — indexers, analytics platforms, and anyone running a stateful consumer that can't afford to miss an update. ## What's next The current architecture is the foundation, not the ceiling. We're actively working on: **Extended replay window.** Growing the reconnect backfill window significantly for builders who need longer recovery coverage. **Hardware and network optimizations.** Ongoing infrastructure improvements to reduce latency across the critical path. **Additional regions.** Expanding coverage to bring streams closer to more builders and more validators. **Dedicated deployments.** For the small number of teams where co-location and isolation are requirements, not preferences. ## Get started [Alchemy Solana gRPC](https://www.alchemy.com/solana-grpc) is available today on all paid plans starting at $75/TB with no plan gate and no monthly minimum. If you're already running a Yellowstone client, migration is a URL change. - [Read the docs](https://www.alchemy.com/docs/reference/yellowstone-grpc-quickstart) - [Talk to our team](https://www.alchemy.com/contact-sales) - [Apply for the $20M Solana Fund](https://www.alchemy.com/solana-20m-fund) for up to $25k in credits to accelerate your app on Solana. --- # What are Zero-Knowledge Rollups (ZK-rollups)? URL: https://www.alchemy.com/blog/zero-knowledge-rollups.md Blockchains have limited real estate, and as more users come onchain, businesses want to find ways to minimize their transactions costs and onchain footprint. Some optimize their business at the L1, others launch new L1s altogether \(hey Stripe\). Some build on L2s to minimize their L1 costs, and others launch their own \([hey World](https://www.alchemy.com/case-studies/world-onchain-performance)\). In the landscape of L2s, there are a variety of different L2 designs that are popular today, each with their own set of tradeoffs. One design that has been growing in popularity are rollups, of which there are two main types: [optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups) and zero-knowledge rollups. In this post, we’ll explain everything you need to know about the latter. Whether you're a developer choosing the right scaling solution for your app or just want to understand the market landscape, this guide breaks down everything you need to know about ZK-rollups in plain English. ## Tl;dr: ZK-rollups in 2025 - **ZK-rollups** bundle transactions off-chain and prove their validity using zero-knowledge proofs. Those bundled transactions are then broadcasted onchain. - **Market momentum**: The rollups market today is dominated by optimistic designs \(such as Optimism and Arbitrum\), but as ZK technology matures, that balance may start to shift. - **Key advantage**: ZK-rollups offer instant finality \(no 7-day withdrawal delays like optimistic rollups\). - **Major players**: Matter Labs \(creators of the [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) framework\), Starknet, Polygon Labs \(operators of Polygon zkEVM\), and Scroll \(operates Scroll zkEVM\) are leading the zkEVM race. In addition, teams like RISC Zero and OP Succinct are expanding the reach of ZK proving by building integrations into existing frameworks such as Optimism’s OP Stack. - **Best for**: Zk-rollups are well suited for gaming, DeFi, and other applications requiring fast settlement and privacy. ## What exactly are ZK-rollups? A **zero-knowledge rollup \(ZK-rollup\)** is a Layer 2 scaling solution that executes transactions off the main layer 1 chain \(e.g. Ethereum\), then submits a cryptographic proof \(not the raw transaction data\) back to the L1 for verification. Think of it like this: instead of showing a teacher your entire math homework to prove you got the right answer, you provide a mathematical proof that demonstrates you solved the problem correctly without revealing your work. That's the "zero-knowledge" part: proving the validity of the answer/data without exposing the details. ### The core components of a ZK-rollup Every ZK-rollup system has a few core pieces: 1. **On-chain contracts** \(on Ethereum\): there are two contracts on the L1. A **main contract**, which stores the rollup blocks and tracks state updates, and a** verifier contract**, which validates zero-knowledge proofs. 1. **Off-chain virtual machine:** This machine manages the state of the rollup and executes transactions. It also generates validity proofs for batched transactions. This machine has operators that are called “sequencers”, which sequences and processes user transactions. 1. **Validity proofs:** These proofs are the cryptographic evidence that the off-chain computations are correct. These proofs come in 2 flavors: zk-SNARKs or zk-STARKs. ## How do ZK-rollups work? At a high level, rollups \(both optimistic and ZK\) unlock cheaper transactions and better onchain scalability by combining a large number of transactions into a single transaction that gets mined on [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) \(or whichever L1 the rollup is built on\). ZK-rollups specifically add cryptographic proofs \(zero-knowledge validity proofs\) to guarantee the correctness of those transactions, which reduces trust assumptions and can enable faster finality compared to optimistic rollups. That single transaction takes form as a validity proof, otherwise known as a succinct, non-interactive argument of knowledge \(SNARK\) or succinct, transparent argument of knowledge \(STARK\). [SNARKs and STARKs](https://github.com/matter-labs/awesome-zero-knowledge-proofs) are the same concept as a cryptographic transaction hash. Even though there are many components to a typical Ethereum transaction, they can all be represented in a unique transaction hash without revealing the transaction data, as seen in the example below.‍ A screenshot of a transaction from [Etherscan.](https://etherscan.io/tx/0x40a453611aea7f3ff915210ab691a3a9ba7dc4170ff372d4eb48f6f0f824801b) Ultimately, mining this one transaction instead of hundreds of Ethereum transactions is what makes ZK-rollups significantly cheaper than using Ethereum’s Layer 1 chain. Let's walk through a typical ZK-rollup transaction flow to better understand how these rollups work: ### Step 1: transaction submission A user submits a transaction to a ZK-rollup operator \(called a sequencer\). The execution of that transaction happens off-chain on the Layer 2 network. ### Step 2: batch processing The operator collects hundreds or thousands of transactions, executes them in sequence, and bundles them into a batch, the latest version of the rollup state. ### Step 3: proof generation The operator then generates a validity proof—a mathematical guarantee that: - All transactions in the batch are valid - The new state root is correct - No double-spending or other fraud occurred in any of that batch’s transactions ### Step 4: on-chain verification The rollup’s current end state \(as of the latest batched transactions\) and the corresponding validity proof get submitted to Ethereum, or whichever L1 chain the rollup is built on. The verifier contract checks the proof in milliseconds and either accepts or rejects the entire batch. ### Step 5: finality Once Ethereum accepts the proof, all transactions in that batch are final. No waiting periods, no fraud challenges. Just instant settlement. ## ZK-rollups vs. optimistic rollups: the real differences As we touched on in the intro, there are 2 main flavors of rollups on the market today. So what is the difference between the ZK-rollup described above and optimistic rollups? Finality

", tooltip: "", icon: "" }, "2": { title: "

Instant (12 seconds)

", tooltip: "", icon: "" }, "3": { title: "

7 days for withdrawals

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Security

", tooltip: "", icon: "" }, "2": { title: "

Mathematical proofs

", tooltip: "", icon: "" }, "3": { title: "

Economic incentives + fraud proofs

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

EVM Compatibility

", tooltip: "", icon: "" }, "2": { title: "

Complex but improving

", tooltip: "", icon: "" }, "3": { title: "

Native

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Transaction Costs

", tooltip: "", icon: "" }, "2": { title: "

More expensive (zk proofs are computation-intensive, though becoming cheaper)

", tooltip: "", icon: "" }, "3": { title: "

Cheap

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Market Share (2025)

", tooltip: "", icon: "" }, "2": { title: "

Growing (~15-20%)

", tooltip: "", icon: "" }, "3": { title: "

Dominant (~80%+)

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Best use cases

", tooltip: "", icon: "" }, "2": { title: "

Gaming, bridging, interoperability (fast confirmations)

", tooltip: "", icon: "" }, "3": { title: "

General DeFi, easy migration

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Why ZK-rollups are gaining momentum **Instant finality** is the killer feature. In optimistic rollups like Arbitrum or Optimism, withdrawing funds to Ethereum requires a 7-day challenge period. ZK-rollups eliminate this entirely—your funds are available as soon as the proof is verified on Ethereum. **Enhanced security** through math instead of economics. Optimistic rollups rely on validators and economic incentives to catch fraud, but ZK-rollups make fraud mathematically impossible. **Privacy potential:** while most current ZK-rollups don't fully utilize the privacy aspects promised by their design \(zk tech is very much on the cutting edge and still a work in progress\), the underlying technology enables private transactions—something optimistic rollups can't offer. ## The evolving ZK scaling landscape Early narratives often focused on how the biggest barrier to ZK-rollup adoption has been developer experience. Early implementations required learning new programming languages \(like Starknet's Cairo\) or dealing with limited smart contract functionality. **zkEVMs solve this problem** by recreating the Ethereum Virtual Machine within a zero-knowledge environment, allowing developers todeploy existing [Solidity](https://www.alchemy.com/overviews/solidity) contracts with minimal or no modifications. Over time, teams like **RISC Zero** and **OP Succinct** are integrating zk proving directly into existing stacks such as Optimism’s OP Stack, which already offers strong EVM compatibility. Finally, zkEVMs have advanced significantly. Projects have steadily improved EVM equivalence. ## The zkEVM compatibility spectrum Type 1 (Ethereum-equivalent)

", tooltip: "", icon: "" }, "2": { title: "

Perfect compatibility but slower proof generation

", tooltip: "", icon: "" }, "3": { title: "

n/a

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Type 2 (EVM-equivalent)

", tooltip: "", icon: "" }, "2": { title: "

Minor modifications for better performance

", tooltip: "", icon: "" }, "3": { title: "

Polygon zkEVM, Linea, Scroll

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Type 3 (EVM-compatible)

", tooltip: "", icon: "" }, "2": { title: "

Supports Solidity but with some limitations

", tooltip: "", icon: "" }, "3": { title: "

zkSync Era

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Type 4 (High-level language compatible)

", tooltip: "", icon: "" }, "2": { title: "

Custom VM with familiar languages

", tooltip: "", icon: "" }, "3": { title: "

Starknet

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Most projects are converging on Type 2, which offers the best balance of compatibility and performance. ## The major ZK-rollup players in 2025 ### Polygon zkEVM - the ZK rollup of a popular L2 - **TVL**: $330M\+ - **Approach**: Type-2 zkEVM \(near-perfect EVM equivalence\) - **Proof System**: PLONK - **Standout Feature**: Easiest migration from Ethereum - **Use Cases**: DeFi protocols seeking familiar development environment ### Linea - ConsenSys's enterprise zkEVM - **TVL**: $840M\+ - **Approach**: Type-2 zkEVM with enterprise focus - **Proof System**: PLONK with lattice-based cryptography - **Standout Feature**: ConsenSys ecosystem integration, seamless [MetaMask](https://www.alchemy.com/dapps/metamask) integration - **Use Cases**: Enterprise DeFi, institutional applications ### zkSync era - a zk pioneer - **TVL**: $280M\+ - **Approach**: EVM-compatible using custom zkEVM - **Proof system**: PLONK \(zk-SNARKs\) - **Standout feature**: Native account abstraction and gasless transactions - **Use Cases**: DeFi protocols like [Yearn Finance](https://www.alchemy.com/dapps/yearn), FRAX ### StarkNet - the cairo-centric experience - **TVL**: $275M\+ - **Approach**: Custom VM with Cairo programming language - **Proof System**: zk-STARKs \(quantum-resistant\) - **Standout Feature**: Highest throughput potential - **Use Cases**: [dYdX](https://www.alchemy.com/dapps/dydx) \(perpetual trading\), ImmutableX \(NFT gaming\) ### Scroll - an Ethereum foundation collaboration - **TVL:** $180M\+ - **Status**: Recently launched mainnet - **Approach**: Type-2 zkEVM focused on security - **Proof System**: PLONK - **Standout Feature**: Built with Ethereum Foundation's privacy team - **Use Cases**: Security-first applications --- ## Building on ZK-rollups: developer considerations ### When to choose ZK-rollups ✅ **Your app needs instant finality** \(trading, gaming, real-time applications\) ✅ **Transaction volume is high with small individual values** \(micropayments, social apps\) ✅ **Security is paramount** \(financial applications, high-value assets\) ✅ **Future privacy features matter** \(compliant DeFi, enterprise applications\) ### When to stick with optimistic rollups ✅ **You need perfect EVM compatibility today** \(complex DeFi protocols\) ✅ **Development speed matters more than optimal performance** \(rapid prototyping\) ✅ **Your users primarily deposit and rarely withdraw** \(long-term staking, liquidity provision\) ### Getting started: deployment guide Most zkEVMs support standard tools like Hardhat, Foundry, and MetaMask with minimal configuration changes. ## What's coming next: the ZK-rollup roadmap ### 2025 developments to watch - **zkEVM maturation**: Type-1 zkEVMs achieving production readiness - **Shared sequencers**: Decentralized block production across multiple ZK chains - **ZK bridges**: Native interoperability between different ZK-rollup networks - **Privacy features**: Actual zero-knowledge transactions for compliant privacy ### The elastic chain future zkSync's vision of an "elastic chain"—a network of interconnected ZK rollups—represents the likely future of blockchain scaling. Instead of competing isolated chains, we're moving toward a unified ecosystem where: - **Native interoperability** between chains eliminates bridge risks - **Shared liquidity** across the entire network - **Modular scaling** where new chains can be added as needed ## Why ZK-rollups matter for your project ZK-rollups aren't just another scaling solution—they could become the foundation for the next generation of blockchain applications. While optimistic rollups dominated the early Layer 2 era with their simplicity, ZK-rollups are rapidly closing the gap on developer experience while offering superior properties for many use cases. If you're building an application that needs instant finality, high transaction throughput, or potential privacy features, ZK-rollups should be at the top of your evaluation list. The developer tooling is finally mature enough for production use, and the ecosystem incentives are aligning around ZK-first development. **Ready to start building?** The ZK-rollup ecosystem is evolving rapidly, but the core technology is production-ready. Whatever zk stack you choose, Alchemy offers product support for most of them. For a full list of supported chains, check out our [chain directory](https://www.alchemy.com/rpc). ## Want to launch your own rollup? Alchemy's Rollup as a Service platform makes it easy to deploy custom ZK-rollup networks with enterprise-grade infrastructure and developer tools. [Learn more here](https://www.alchemy.com/rollups). ## Frequently asked questions ### What are zero-knowledge rollups (ZK-rollups)? ZK-rollups are Layer 2 scaling solutions that execute transactions off-chain, then submit cryptographic proofs back to Layer 1 for verification, enabling cheaper transactions and better scalability without revealing transaction details. ### How do ZK-rollups differ from optimistic rollups? ZK-rollups use validity proofs to guarantee transaction correctness immediately, while optimistic rollups assume transactions are valid and require a 7-day challenge period for withdrawals. ZK-rollups offer instant finality, whereas optimistic rollups rely on economic incentives to catch fraud. ### How does a ZK-rollup transaction work? Users submit transactions to a sequencer, who batches hundreds or thousands of transactions together, generates a validity proof, and submits it to Ethereum. Once the proof is verified on-chain, all transactions in the batch are instantly final. ### What are validity proofs in ZK-rollups? Validity proofs are cryptographic evidence (either zk-SNARKs or zk-STARKs) that confirm off-chain computations are correct. They work like a transaction hash, representing all transaction data in a unique proof without revealing the details. ### What are the main ZK-rollup projects in 2025? Major players include Polygon zkEVM ($330M+ TVL), Linea ($840M+ TVL), zkSync Era ($280M+ TVL), Starknet ($275M+ TVL), and Scroll ($180M+ TVL), each offering different approaches to EVM compatibility and proof systems. ### What is a zkEVM? A zkEVM recreates the Ethereum Virtual Machine within a zero-knowledge environment, allowing developers to deploy existing Solidity contracts with minimal or no modifications, solving the early developer experience challenges of ZK-rollups. ### When should I build on a ZK-rollup instead of an optimistic rollup? Choose ZK-rollups when your application needs instant finality, handles high transaction volumes with small values, requires strong security, or may need future privacy features like trading, gaming, or real-time applications. ### Are ZK-rollups secure? Yes, ZK-rollups make fraud mathematically impossible through cryptographic proofs rather than relying on economic incentives, offering enhanced security while inheriting the base layer's consensus security. --- # ZetaChain is live on Alchemy URL: https://www.alchemy.com/blog/zetachain-on-alchemy.md Today marks the launch of our support for ZetaChain, the first universal L1 blockchain. Leveraging ZetaChain’s Universal EVM Stack and Alchemy’s best-in-class web3 infrastructure, we are empowering developers to build scalable [Universal Apps](https://www.zetachain.com/docs/developers/apps/intro/). These apps can both natively access and be accessed from any connected chain without requiring users to switch networks. Starting today, you can deploy on ZetaChain Mainnet and ZetaChain Testnet, and can access to Alchemy Node API and our full suite of developer tools. ## What is ZetaChain? ZetaChain is a omnichain network that enables developers to build universal applications accessible from any connected blockchain. **Key features include:** - Universal liquidity access across all connected networks from a single deployment - Full compatibility with both existing and new chain integrations - Users can access Universal Apps from any connected chain using a single wallet - Native support for the Bitcoin network ## Why build on ZetaChain with Alchemy? By choosing to build on Alchemy, you gain access to: - [Node API](/rpc-api), the most reliable and scalable infrastructure to build web3 [apps](https://www.alchemy.com/dapps/top/defi-dapps) - Powerful developer tools and a user-friendly [dashboard](https://dashboard.alchemy.com/) - 24/7 support from the Alchemy team to help you build ## ZetaChain use cases ZetaChain is ranked among the top blockchains by active users, has generated over 135 million transactions, built an ecosystem of 260\+ developers and partners, and has seen more than 7,300 dapp contracts deployed. We're particularly excited about [DeFi](/defi), social, Super Aggregator apps, and [web3 gaming](/gaming) verticals: ### 1. DeFi primitives [Eddy Finance](https://app.eddy.finance/) is a new Omnichain DEX that powers native cross-chain asset transfers and stableswaps across any blockchain. With built in Bitcoin connectivity, [Eddy Finance](https://www.alchemy.com/dapps/eddy-finance) enables Bitcoin trades directly with other assets without the wrapped version or derivative and all with a single transaction. ### 2. Super aggregator apps Super Aggregator apps will be possible with Omnichain Accounts as part of the [ZetaChain 2.0 roadmap](https://blog.zetachain.com/zetachain-2-0-the-first-universal-blockchain-8709116a411d). Learn more about this feature proposal [here](https://github.com/zeta-chain/node/issues/1779). ### 3. Social apps SugarFi is a new multichain-first social networking app that lets anyone create content, monetize, and socialize with the broader community across any chain. With ZetaChain, Sugar onboards users and their assets from any chain and powers payments and transfers to friends in a simple UX. This solves the challenge of chain fragmentation in web3, historically limiting a fluid social networking experience. ### 4. Gaming apps [Upcade](https://upcade.xyz/) is a web3 gaming hub enabling seamless, multi-player game experiences from any chain. Users can even deposit native BTC for in-game activities like [play-to-earn](/overviews/play-to-earn-games) and digital asset shopping. ZetaChain enables [Upcade](https://www.alchemy.com/dapps/upcade) users to play games across chains, including Bitcoin, and to participate in omnichain matchmaking. --- # ZKsync is live on Alchemy URL: https://www.alchemy.com/blog/zksync-is-live.md We're thrilled to announce that we’re rolling out [support for ZKSync](/zksync), a cutting-edge, EVM-compatible zero-knowledge rollup L2 solution. By combining ZKsync’s hyperscalable zk-powered technology with Alchemy's powerful developer tools, we're empowering developers to build fast, affordable, and user-friendly onchain apps. Starting today, developers can begin building on ZKsync Mainnet and ZKsync Sepolia Testnet, and will have access to Alchemy Supernode, enhanced APIs and Alchemy Signer for embedded accounts. Explore our [ZKsync quickstart guide](https://www.alchemy.com/docs/reference/zksync-api-quickstart) to get started! ## zkSync: scaling freedom [ZKsync](https://zksync.io/) is an L2 solution that scales Ethereum's security and values through zero-knowledge proofs. It offers improved security and fast finality, allowing developers to build and deploy onchain apps more easily, while users benefit from lower transaction costs and enhanced security. ## Why build on zkSync with Alchemy? ### Seamless scaling with best-in-class infrastructure ZKsync offers the highest recorded TPS and cheapest rollup costs during high load periods. Powered by the advanced Boojum prover and state-difference architecture, ZKsync Era ensures unmatched performance and cost-efficiency at scale. By building on ZKsync Era with Alchemy, you'll benefit from our reliable, scalable, and accurate web3 infrastructure, ensuring a seamless developer experience. ### Account abstraction As the first EVM-compatible chain with native account abstraction, ZKsync lets you enable your users to pay gas fees in any ERC20 token, or even subsidize transaction costs for your users. You can also program customizable security parameters and wallet recovery options for your users. [Alchemy Signer](https://www.alchemy.com/docs/wallets/signer/what-is-a-signer) takes this further by providing secure signers for smart accounts and enabling you to build [embedded accounts](/smart-wallets) using only an Alchemy API key. Together, ZKsync Era and Alchemy make it easier than ever to onboard new users to web3. ### High EVM compatibility ZKsync is the first EVM-compatible rollup secured by zero-knowledge proofs. You can just copy and paste your [Solidity](https://www.alchemy.com/overviews/solidity) code and deploy on ZKsync with your existing Ethereum infrastructure. Alchemy supports all major EVM chains, providing a unified platform to build and scale your onchain apps on ZKsync Era and other EVM chains. If you're new to Solidity, [Alchemy University's course](https://www.alchemy.com/university/courses/solidity) will help you get up to speed quickly. ### Security ZKsync is one of the most secure L2s through its commitment to security audits and a robust ZK proof system. They have invested over $5 million in audits from OpenZeppelin and Halborn among others, as well as competitive audits through Code4Arena and Immunefi. Additionally, ZKsync has had a working ZK proof system live since day one, setting them apart from other L2s that may not have fraud proofs activated. Alchemy, being **SOC 2 Type 2 compliant**, reinforces the [security infrastructure](https://www.alchemy.com/security) by conducting regular security testing, employing encryption both at rest and in transit, and implementing DDoS protection. > ZKsync is one the most exciting and fast-growing ecosystems in the web3 space. We're thrilled to bring the power of our full developer platform to their dedicated developer community. With our best-in-class RPCs, enhanced API and Alchemy Signer, we'll make it easier than ever for ZKsync developers to build and scale their [dapps](https://www.alchemy.com/dapps/top/defi-dapps). > > — Monica Garde, Product Lead at Alchemy ## Building on zkSync? Alchemy is your go-to solution ZKsync and Alchemy share a vision: to empower developers with the best-in-class infrastructure and tools they need to build fast, affordable, and innovative apps. Leading dapp developers across DeFi, NFT marketplaces, and web3 games are already building on ZKsync with Alchemy, such as [Across Protocol](https://across.to/), an interoperability protocol powered by intents, secured by UMA’s Optimistic Oracle. > The [Across](https://www.alchemy.com/dapps/across) bridge relies on having highly accurate and live data from many networks, and therefore Alchemy has been essential to Across’ ability to support new chains quickly without experiencing liveness issues on existing chains. Our private developer support channel has been critical to our great experience with Alchemy. > > — Nick Pai, Engineer at Across Protocol ### Building with Alchemy gives zkSync developers immediate access to: - [Supernode](/rpc-api), the most reliable and scalable infrastructure to build web3 apps - Alchemy’s suite of products, including NFT API, [Token API](/token-api), Transfers API, and [Webhooks](/custom-webhooks) - Developer tools like alerts, sandbox, logs, and a [user-friendly dashboard](https://dashboard.alchemy.com/) interface - World-class 24/7 engineering support ## zkSync use cases ZKsync has emerged as a top choice for developers looking to build fast, secure, and cost-effective web3 apps. Here are a few top use cases in the [ZKsync ecosystem](https://www.alchemy.com/dapps/ecosystem/zksync). ### Decentralized finance DeFi is blossoming on ZKsync. As of April 30, 2024, the ZKsync ecosystem achieved a Total Value Locked \(TVL\) exceeding $725M, with more than $150M being locked in DeFi projects. ZKsync Era’s higher throughput and lower costs for developers and users have attracted top DeFi projects like [SyncSwap](https://www.alchemy.com/dapps/syncswap), zkSwap, zerolend.xyz, koi.finance, and HoldStation. ### NFT collectibles and marketplaces [Pudgy Penguins](https://www.alchemy.com/dapps/pudgy-penguins) has partnered with Walmart to sell Pudgy Toys, which grants access to Pudgy World, an immersive digital experience built on ZKsync and Ethereum. By leveraging ZKsync's zero-knowledge blockchain technology, Pudgy World offers fast, affordable, and accessible Web3 experiences to mainstream consumers. ### Government-issued digital identity Buenos Aires is collaborating with QuarkID to issue self-sovereign digital identification services to its citizens, powered by ZKsync. This initiative aims to provide secure, transparent, and privacy-preserving digital identity solutions to Argentina. Start [building on ZKsync with Alchemy](https://www.alchemy.com/docs/reference/zksync-api-quickstart) today! # Overviews --- # 20+ Blockchain Development Tools (2023) URL: https://www.alchemy.com/overviews/20-blockchain-development-tools.md According to [reports](https://blockchaintrainingalliance.com/blogs/news/blockchain-career-job-outlook-in-2022), blockchain development is among the fastest-growing sectors. With the explosion of projects built on blockchains \(DeFi, NFTs, [DAOs](https://www.alchemy.com/dapps/top/daos)\), demand for blockchain developers has skyrocketed.  When you are already building on the blockchain, or plan to [create a free blockchain developer account with Alchemy](https://alchemy.com/?a=8704ab65af), here is a comprehensive guide to some of the best tools for creating blockchain applications. Let's dive in! ## Programming languages To develop blockchain applications, you need to learn a programming language. These languages allow you to create smart contract code that functions as the backend for your application.  ### Solidity  For now, [Solidity](https://docs.soliditylang.org/en/latest/) is the most popular programming language for blockchain development. Solidity is a high-level, object-oriented language that borrows several elements from other languages, notably C\+\+.  Many developers prefer to learn Solidity because Ethereum, considered the _de facto_ blockchain, uses Solidity for writing smart contracts. Besides that, Solidity is Turing-complete, allowing you to create complex applications with rich functionality. Learning Solidity is a great way to get started with your journey as a blockchain developer. Solidity's popularity means you can access useful tutorials, guides, and documentation designed to onboard beginners.  Solidity programs can also work on other blockchains, so long as they're compatible with the [Ethereum Virtual Machine \(EVM\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm). This means you can deploy projects on EVM-compatible blockchains, such as [Binance](https://www.alchemy.com/dapps/binance) Smart Chain, Avalanche, Polygon, Matic Network, and more. ### Vyper  Solidity is hardly the only language for creating smart contracts. A popular alternative is Vyper—a Python-based and EVM-compatible language.  While [Vyper](https://vyper.readthedocs.io/) doesn't have as much functionality or popularity as Solidity, it can be ideal for developers familiar with Python. Moreover, Vyper's simple architecture reduces software errors and eases smart contract auditing.  ### Rust  [Rust](https://tomusdrw.github.io/rust-web3/web3/index.html) is a newer programming language that's gaining traction in the blockchain development community. It's a low-level language for writing smart contracts and is prized for its memory efficiency, simplicity, and reliability.  The catch is that Rust is non-EVM compatible, so you cannot deploy projects on Ethereum and EVM-compatible chains. But newer chains like Solana, Terra, NEAR, Polkadot, and Elrond use Rust, so learning this language is still a good investment.  ## Frameworks Building a decentralized application \(dApp\) from scratch can be a difficult task, especially if you have to handle every tiny detail yourself. Fortunately, you can benefit from software frameworks that provide plug-and-play infrastructure for creating apps easily.  Frameworks come with resources \(libraries and tools\) useful for creating, testing, and deploying code. Coding your dApp from the ground up is unnecessary since you can take a ready-made package and add extra functionality. Besides, most frameworks are developed and optimized by experienced engineers, making them robust, efficient, and versatile. ### Truffle  First on our list of blockchain development frameworks is Truffle. [Truffle](https://trufflesuite.com/) is a JavaScript-based framework for developing, testing, and deploying smart contracts. It’s remained one of the blockchain industry's most-used frameworks—and for good reason.  Truffle comes packed with resources you need to create a fully functional dApp, from built-in smart contract creation tools to test blockchain environments. It also comes out-of-the-box with libraries that make building your Ethereum dApp’s frontend easier. ### Hardhat  [Hardhat](https://hardhat.org/) is another highly recommended framework for smart contract developers. Like Truffle, Hardhat is a JavaScript-based framework for creating, testing, deploying, and debugging applications on Ethereum.  Hardhat is a comprehensive tooling platform that abstracts away most low-level, generic functions associated with blockchain software development. Therefore, you can focus on more important tasks like building core infrastructure for your dApp.  ### Embark  [Embark](https://framework.embarklabs.io/) is a full-stack development framework that allows you to build your dApp’s frontend and backend simultaneously. Although last on the list, Embark is just as good as the other frameworks listed in this section.  Embark offers resources for dApp data storage, real-time code testing, and smart contract deployment. Plus, you’ll get access to important plugins like [Etherscan](https://www.alchemy.com/dapps/etherscan), Solc, Solium, and many more.  ## Integrated development environments \(IDEs\) An Integrated Development Environment \(IDE\) aids application development by combining core developer tools into one Graphic User Interface \(GUI\). Most IDEs come with code compiling, editing, syntax highlighting, build automation, and debugging capabilities, among others.  ### Remix IDE  Remix is considered the industry standard for IDEs by many blockchain developers. With [Remix IDE](https://remix-ide.readthedocs.io/en/latest/), you can compile, test, and debug smart contracts—all from one intuitive interface.  Remix IDE is written in JavaScript and you can use it from any browser, although you can also run it locally on your computer \(as a desktop application\). It offers a comprehensive suite of libraries, plugins, and other features to supercharge smart contract development.  ### EthFiddle  EthFiddle is a browser-based IDE for writing and debugging Solidity code. Developed by the Loom Network, [EthFiddle](https://ethfiddle.com/) is an excellent tool if you're collaborating with others on a project. With this software, you can easily edit, find, and share code snippets with others for feedback.  EthFiddle isn't as feature-rich as Remix IDE, but it's great for sharing code on a presentation. It offers well-designed testing and prototyping capabilities, making it a good tool for any blockchain developer.  ### Ethcode  We also recommend Ethcode, a Visual Studio Code plugin for Ethereum smart contract development. [Ethcode](https://ethcode.dev/) offers a beginner-friendly development environment for writing, debugging, and unit testing contract code.  The code is open-source, and new developers can ask for support when needed. Ethcode works for both Vyper and Solidity and can deploy your smart contract to Ethereum Mainnet and Goerli testnet, among others.  ## APIs and SDKs Besides frameworks and IDEs, APIs and SDKs are among the most important tools for Web3 developers. Both help blockchain engineers solve specific problems faced during development and aid dApp creation.  An Application Programming Interface \(API\) is designed to simplify the interaction between different software. You can build on existing functionality by using an API to request data to improve your dApp.  SDK is short for "Software Development Kit" and refers to a collection of software products for building applications for a particular platform. Blockchain development SDKs reduce the complexity of building platform-specific apps. ### Alchemy NFT API With the [value of non-fungible tokens \(NFTs\) skyrocketing](https://fortunly.com/statistics/nft-statistics/#gref), many developers are turning their attention toward this industry. If you plan to create an NFT app, Alchemy's NFT API is the perfect tool.  [Alchemy NFT API](https://www.alchemy.com/nft-api/?a=8704ab65af) lets developers display metadata for different NFTs in a user-friendly interface. And it works across multiple chains \(Ethereum, Polygon, Flow, etc.\), so buyers have greater flexibility in choosing NFTs.  The NFT API abstracts away most technical tasks involved in interacting with NFTs. With the NFT API integrated into your platform, buyers don’t have to read smart contracts before verifying and buying NFTs.  ### thirdweb SDK The [Thirdweb](https://www.alchemy.com/dapps/thirdweb) SDK is useful for building Web3 apps or integrating Web3 features into an existing application. For example, you can add a "Connect Wallet" feature to your application without needing to write code.  Thirdweb can be used for the following: - Creating NFT marketplaces  - Launching NFT drops without writing code  - Creating tokens for governance, community membership, and other purposes - Programming royalty splits into NFTs  Thirdweb currently supports Fantom, Avalanche, Ethereum, and Polygon—and promises support for more chains in the future. While smart contracts are free to use, Thirdweb makes money by charging a 5% fee on future royalties earned from token contracts.  ### Moralis API and SDK [Moralis](https://www.alchemy.com/dapps/moralis) is a Web3 development platform with API and SDK offerings to speed the blockchain development cycle. The Moralis SDK reduces the complexity of building a fully functional dApp by providing ready-made functionality such as: - Authenticating users - Sending and fetching transactions - Listening to smart contract events - Pulling user balances  - Interacting with smart contracts Moralis' cross-chain Web3 API can also aggregate comprehensive information about account balances, tokens, on-chain transactions, and more. And it supports the most popular chains, including Avalanche, Polygon, Ethereum, and Binance Smart Chain.  ## Test blockchain networks By default, most smart contracts are immutable, ruling out any modifications once the code is deployed on the blockchain. As such, testing on Ethereum Mainnet is discouraged since you cannot make changes post-deployment.  To combat this problem, Ethereum developers can use a [test blockchain network](https://trufflesuite.com/ganache/) \(testnet\) for testing apps. A test network lets you see how your smart contract works on a blockchain, allowing you to find any flaws before launching it.  ### Local blockchain \(ganache\) Ganache is a local blockchain for Ethereum development and is available as a command-line tool or desktop application. Blockchain developers can use [Ganache](https://trufflesuite.com/ganache/) for deploying smart contracts and performing tests.  The Ganache tool boasts a user-friendly interface where you can access debugging information and blockchain data \(accounts, blocks, transactions\). You can also configure other elements, like block times, to suit your development needs.  ### Public testnets \(goerli/sepolia\) You can use a public testnet like Goerli, or  in place of Ganache. The main difference is that Ganache can be used offline and doesn't require online access.  Some developers prefer public Testnets because they simulate Ethereum's behavior and may be better for testing assumptions. While testnets are free to use, you'll need test ether \(ETH\) in your browser wallet to complete transactions. The easiest way to get test ether is by using a faucet, like the [Alchemy Goerli Faucet](https://goerlifaucet.com/).  ## Oracles While smart contracts have exciting applications, their functionality is limited since they can only access information stored on-chain. This creates problems for any developer building a smart contract that relies on external information to execute functions.  This is where oracles come into the picture.  Blockchain oracles collect real-world information from different sources and pass it on to smart contracts running on the blockchain. This information can take many forms: live price feeds, weather information, sports results, and many more.  It's important to choose a decentralized oracle, as they are harder to manipulate by malicious actors and provide \(mostly\) reliable information. Many popular apps like Kyber, Synthetix, and [Compound](https://www.alchemy.com/dapps/compound) use decentralized oracles to execute smart contracts.  ### Chainlink  Currently, [Chainlink](https://chain.link/) is the leading decentralized oracle solution by market share. Launched in 2017, [Chainlink](https://www.alchemy.com/dapps/chainlink) offers "reliable and tamper-proof" data for smart contracts across multiple blockchains.  With Chainlink, you can connect your smart contracts to an assortment of real-world data feeds. For example, you can create a betting dApp that rewards users for predicting outcomes of real-world events.  Other decentralized oracle solutions include [Band Protocol](https://bandprotocol.com/), [Witnet](https://witnet.io/), and [Universal Market Access \(UMA\)](https://umaproject.org/). These applications incentivize selected oracles to provide accurate information, preserving the integrity of off-chain data.  ## Blockchain node providers When building a dApp, you’ll need to interact with the blockchain—whether that’s reading on-chain data or writing data to the blockchain. To do that, connecting with a blockchain node is necessary; blockchain nodes hold the entire blockchain history and can send/query blockchain data.  The problem is that maintaining a full Ethereum node is expensive, time-intensive, and complex. For this reason, blockchain developers are advised to [use a blockchain node provider](https://www.alchemy.com//overviews/blockchain-node-providers) \(node-as-a-service\). Node providers handle the blockchain infrastructure for clients, freeing you up to focus on building and scaling your dApp.  ### Alchemy Supernode  If you’re looking for a suitable blockchain node provider, [Alchemy Supernode](https://www.alchemy.com/supernode/?a=8704ab65af) is worth trying. Supernode provides a fully developed suite of APIs for interacting with the blockchain and getting critical blockchain data.  With our tool, connecting to the blockchain network layer is as simple as signing up and receiving an API key. This service works for other projects, not just Ethereum—so you have full flexibility in terms of blockchains to use.  Alchemy’s node-as-a-service tool also offers the following benefits: 1. **Free sign-ups**: Start using Supernode for free and upgrade to access special features.  2. **Scale-as-you-go infrastructure**: As your dApp scales in usage, it becomes difficult to run a dedicated node. You could try spinning up more nodes, but that just compounds the problem and increases your overhead.  Supernode is designed to adapt to your needs and provides seamless scalability. That way, you don’t lose sleep over node infrastructure, and your users can enjoy a better experience.  3. **Enhanced APIs**: Alchemy Supernode comes with a collection of unique API endpoints to make querying blockchain data easier than ever. Get transaction history, token identifiers, transaction receipts, pending transactions, and more.  4. **Reliability**: Standard nodes often run into various problems that cause apps to crash. With Supernode, you get peak reliability, ensuring that your blockchain application can run without downtimes.  There are other node providers you can check out, if you want to have an idea of available options. Other names in this product category include QuickNode, Infura, GetBlock, BlockDaemon, and Chainstack.  ## Analytics When building apps, many Web3 developers soon find out that tracking on-chain activity is difficult. In most cases, you need to do heavy lifting before getting critical application information like real-time usage information, user adoption rates, and token metrics. However, analyzing these data points is important if you want to improve your dApp and grow your user base. To this end, you want to use a tool like [Alchemy Monitor](https://www.alchemy.com/monitor/?a=8704ab65af) which makes it easier to get analytics for your Web3 application.  ### Alchemy monitor Alchemy Monitor is a powerful, purpose-built tool for monitoring dApp infrastructure and gaining insights into user activity. Alchemy Monitor offers real-time updates on your dApp's health and can show API calls, error rates, and response times.  The Alchemy Monitor dashboard also tracks dApp usage and can provide useful insights into user behavior. And it has a nifty automated alert system to flag issues early before your dApp suffers critical malfunctions.  ### Alchemy notify Developers aren’t the only ones who need real-time information about dApp activity; users need to know what’s happening with the dApp, too. For instance, a user may want to know if a transaction executed within the dApp was successful.  This is why using the [Alchemy Notify](https://www.alchemy.com/notify/?a=8704ab65af) push notification service is an excellent idea. Adding push notifications to your dApp may be the difference between excellent and poor user experience. Notify provides application users with the following information: - Transaction notifications; - Address activity alerts; - Gas price alerts, and more.  When combined, Alchemy Monitor and Notify provide better analytics and allow developers to improve usability of blockchain applications. You may combine these tools with a blockchain explorer, like [Etherscan](https://etherscan.io/), which supplies information about the Ethereum blockchain itself \(average gas prices, block times, etc.\).  ## Security tools If this year has revealed anything, it’s that security should be \#1 priority for any blockchain project. Strengthening [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices) is a bigger consideration than adding bells and whistles to your new dApp. For context, here are some of the biggest exploits this year:  - Axie Infinity \(hacked for $615 million\) - Inverse Finance \(hacked for $15 million\) - Elephant Money \(hacked for $11.2 million\) There are even more [hacks](https://rekt.news/), but these should give you the basic idea that smart contract security is serious business. Without the right security measures, you risk creating breeding grounds for malicious exploits, which can tank your reputation and discourage user adoption.  ### Octopus First on our list of tools for beefing up smart contract security is [Octopus](https://www.alchemy.com/dapps/octopus), a solution for conducting a detailed analysis of smart contract code. [Octopus](https://github.com/pventuzelo/octopus) offers symbolic execution, call flow analysis, and control flow analysis—all of which help you discover contract errors and fix them before it’s too late.  ### Mythril  Next up is [Mythril](https://www.alchemy.com/dapps/mythril), a ConsenSys-backed smart contract security tool. [Mythril](https://github.com/eth-sri/securify2) is useful for analyzing Ethereum Virtual Machine \(EVM\) bytecode and uses taint analysis, symbolic execution, and taint solving to identify bugs in Ethereum software.  ### Securify  To round up the list, we have Securify—a smart contract scanner supported by the Ethereum Foundation. [Securify](https://github.com/eth-sri/securify2) can detect up to 37 different software vulnerabilities and implements context-specific analysis for Solidity-based smart contracts.  ## Wallets If you’re going to be building apps, you’ll need a wallet to hold funds, even if it's test ether \(ETH\). To this end, you can set up a cryptocurrency wallet in minutes from your browser.  ### MetaMask  We recommend using [MetaMask](https://metamask.io/), as it provides additional functions than holding ETH. Available as a browser extension, MetaMask injects Web3js API to sites, which allows users to interact with apps directly from their browser. MetaMask can also perform other functions like key management, reading blockchain data, and more.  ## Final thoughts Blockchain development can be an exciting journey, but only if you have the right tools to begin with. Creating a robust development stack makes it easier to create applications and improves the quality of your output.  This article has covered the top developer tools you need to start building blockchain applications, including frameworks, IDEs, security tools, test networks, blockchain oracles, and node services. To start building with these tools, [open a developer account with Alchemy for free](https://www.alchemy.com/?a=8704ab65af). --- # Account Abstraction vs. Meta Transactions URL: https://www.alchemy.com/overviews/4337-vs-2771.md [Meta Transactions](https://www.alchemy.com/smart-wallets) and Account Abstraction are techniques for improving the user experience of Ethereum. Meta Transactions require a smart contract update, which is why they're being phased out. ## How is account abstraction different from meta transactions? Account Abstraction aims to abstract away more complexities of the Ethereum Account than just gas fees.  From a technical perspective, the difference between meta transactions and Account Abstraction lies in the structure of the message and its backwards compatibility. ## Learn more about account abstraction ### What are UserOps in account abstraction? In the case of Meta Transactions, the industry standard was to use EIP712-based messages, which required all smart contracts to be upgraded.  Account Abstraction standardizes a special transaction format called _UserOperations_. UserOperation contains all the information needed to figure out what transaction the user intends to perform, including fields to decide which Paymaster to use, how much the user is willing to pay \(in case of self-sponsorship\), and the signed UserOperation. ### What are paymasters in account abstraction? The Gas abstraction portion of the ERC-4337 Account Abstraction standard introduces _Paymasters_. Paymasters are **onchain smart contracts that have arbitrary validation logic** which can be used to define a valid gas sponsorship. Again, the difference here is *the execution is onchain*. [DAOs](https://www.alchemy.com/dapps/top/daos), [apps](https://www.alchemy.com/dapps/top/defi-dapps), and other teams can deploy their own custom paymasters with features such as ERC-20 gas payments and more. These custom Paymasters can use ERC-4337 to plug and play with existing Bundler Services. This is different from Meta Transactions which require Provider adoption. ### Relayers vs. paymasters While Relayers in the Meta Transaction concept are private keys under the control of Infra providers, Account Abstraction Bundlers are standardized nodes. Switching between different Bundlers is as simple as changing API keys and API URLs. There is no concept of MinimalForwarder in Account Abstraction as sponsorship validation is done onchain inside the Paymaster contract. Instead of having only one transaction inside a native transaction in the case of Meta Transaction, Bundlers bundle multiple _UserOperations_ into one bundle \(one native transaction\)! ## 5 benefits of account abstraction over meta transactions ### 1. No smart contract changes are required While Meta Transactions require updates to all existing contracts that would adopt them, Account Abstraction builds on existing infrastructure. This means that all smart contracts by default support Account Abstraction, which makes it a preferred option over Meta Transactions. ### 2. Frictionless switching between bundler and paymaster services Under ERC-4337, all Bundlers and Paymasters communicate following specific standards. Teams can even create their own Paymasters with conditional logic for their application. ### 3. No need to adopt proprietary relayers Proprietary Relayers lack consistency; each Relayer can have their own message format for their use case. This leads to smart contract changes being required to become compatible with each different Relayer. ### 4. More decentralization As more providers make their Bundler services available, the developer gains the ability to decentralize their transaction flow. This also affords the developer the opportunity to abandon any sub-par Bundlers.  ### 5. No developer tooling lock-in When using Meta Transactions you also need to use the Infra provider’s SDK. This leads to tooling lock-in that adds to the friction when migrating Relayers. In the case of Account Abstraction, all the standard functionality is supported by all SDKs allowing one to select based on their expertise and switch based on preference! Moreover, since the UserOperation standard is to be adopted by every vendor, building tools like UserOperation Explorers is also feasible. ## How to update meta transactions to account abstraction? If you have already made changes to your smart contracts in order to support Meta Transactions, the migration process is simple to revert those changes. Unlike Meta Transactions, msg.sender and msg.data can be used as-is with Account Abstraction. If custom Paymasters or Account Factories are desired, their development becomes the next step in migrating. For standard implementations, we recommended using well-audited, existing AA providers in order to reduce development time and self-imposed bugs. [Alchemy’s Gas Manager](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm) provides granular controls like _Per Address Gas Usage limits_, _Max number of UserOperations to sponsor,_ _Allowlisting addresses, Sponsorship deadlines, and Domain level allowlisting_! [Gas Manager Admin API](https://www.alchemy.com/docs/wallets/api/gas-manager-admin-api/admin-api-endpoints/create-policy) allow programmatically creating, reading and updating the Gas policies. On top of everything, the developer gets a great visual dashboard of every UserOperation sponsored! ### **Conclusion** Account Abstraction \(ERC-4337\) is the new and better way of incorporating gasless transactions into your apps with benefits like avoiding contract-level code changes, frictionless vendor switching, composability with other existing infrastructure, and more decentralization. --- # A Guide to Web3 Authentication URL: https://www.alchemy.com/overviews/a-guide-to-web3-authentication.md Web3 authentication verifies users through their public keys rather than traditional emails or passwords. While this cryptographic approach eliminates centralized password databases and gives users true ownership of their digital credentials, the complexity of seed phrases, hexadecimal addresses, and key management has created significant barriers to mainstream adoption. Recent innovations in embedded wallets, account abstraction, and smart contract accounts are solving these challenges. This guide explains how web3 authentication works, explores the technical solutions making it more accessible, and shows you how to implement production-ready authentication using modern smart wallet infrastructure. ## How does Web3 authentication work? Traditional web authentication relies on credentials stored on centralized servers. You enter a username and password, the server checks its database, and grants access if the credentials match. This model requires users to trust the service provider with their authentication data. Web3 authentication flips this model. Users authenticate by connecting web3 wallets to applications, typically by [signing a transaction](https://thirdweb.com/learn/guides/web3-authentication-explained). Here's the technical flow: **1. Wallet Connection** When a user clicks "Connect Wallet," the app initiates a connection request to the user's wallet software \(like [MetaMask](https://www.alchemy.com/dapps/metamask), Phantom, or [Rainbow](https://www.alchemy.com/dapps/rainbow-wallet)\). This connection doesn't grant any permissions yet. It simply establishes a communication channel. **2. Challenge Generation** The app generates a unique challenge message. This is typically a random nonce or a formatted message that includes the app domain, timestamp, and purpose of the authentication request. This prevents replay attacks. **3. Cryptographic Signing** The user's wallet signs the challenge message using their private key. A private key, which is kept secret, is used to prove ownership of a corresponding public key. The signature proves that the user controls the private key associated with their wallet address without revealing the key itself. **4. Signature Verification** The app verifies the signature using the user's public key \(wallet address\). If the signature is valid, the app confirms the user owns that wallet address and grants access. This verification happens client-side or on your backend, depending on your architecture. **5. Session Management** Once authenticated, the app typically issues a session token for subsequent requests, similar to traditional web sessions. This prevents users from signing messages for every action. The cryptographic foundation makes this process more secure than password-based authentication in several ways. There's no password to steal from a database breach. Phishing attacks require tricking users into signing malicious transactions, which is more visible than stealing a password. Users maintain control over their authentication credentials rather than trusting a centralized provider. ## What are the current problems with Web3 authentication? Despite its cryptographic advantages, web3 authentication presents significant user experience challenges that limit mainstream adoption. Understanding these problems is essential for building solutions that work for broader audiences. ### How do seed phrases impact user experience? Web3 requires users to set up a wallet, manage private keys, store seed phrases, and often work with messy browser extensions or mobile apps. The seed phrase model, where users must write down and securely store 12-24 random words, is fundamentally incompatible with mainstream user expectations. Data shows that [35% of users](https://metamask.io/news/metamask-embedded-wallets-frictionless-web3-onboarding-built-in) never back up their wallet seed phrases, putting them at serious risk of losing access to their funds. This isn't user error, it's a design problem. For years, we've been able to reset passwords through email recovery. With cryptocurrency wallets, seed phrases work differently: if you lose them, there's no reset option. This is a key difference that's worth understanding before getting started. ### Why is wallet UX confusing? Signing in crypto feels like reading a user license agreement, except instead of legal jargon, you get hex code and raw function calls. When users click "Sign" in their wallet, they're often presented with: - Raw transaction data in hexadecimal format - Gas fee estimates in Gwei - Contract addresses they don't recognize - Function calls like `approve\(address,uint256\)` Users lack the context to evaluate whether these transactions are legitimate or malicious. This information asymmetry creates security vulnerabilities. Users click "Confirm" without understanding what they're authorizing. ### What technical barriers do users face? Users are faced with multiple blockchain networks, hexadecimal addresses, and gas fees before they can even attempt to log in. Consider the cognitive load: - **Network selection**: Should they use [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), Polygon, Arbitrum, Base, or Optimism? - **Address management**: Understanding that `0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb` represents their account - **Gas fees**: Needing to hold native tokens \(ETH, MATIC, etc.\) just to authenticate - **Browser extensions**: Installing and managing separate wallet software Each of these represents a point of friction where users drop off. ### How does wallet fragmentation affect users? Many Web3 users manage multiple wallets with separate keys and recovery phrases, each requiring protection. A user might have: - One wallet for Ethereum and EVM chains - A separate [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) - Different wallets for different apps or use cases - Hardware wallets for high-value assets Managing this fragmentation requires technical knowledge and organizational discipline that most users don't have. ### What security risks does current authentication create? Smart contracts and DeFi platforms are [frequently targeted by hackers](https://www.alchemy.com/overviews/top-5-security-strategies-for-defi-wallets-in-2025), with phishing attacks tricking users into revealing their private keys. The authentication mechanism itself becomes the attack surface when: - **Approval phishing**: Users unknowingly sign unlimited token approvals - **Domain spoofing**: Fake sites that mimic legitimate apps - **Social engineering**: Attackers impersonate support to obtain seed phrases - **Malicious contracts**: Users interact with contracts that drain their wallets The security of private keys is paramount in Web3, since losing access to a private key can mean losing access to your digital identity and assets. This creates a high-stakes environment where a single mistake can be catastrophic. ## How is Web3 authentication improving? The onchain ecosystem is actively addressing these challenges through several technical innovations that dramatically improve authentication UX without sacrificing security or decentralization. ### What are embedded wallets? Embedded wallets are built directly into Web3 applications, have a familiar login experience, and don't require a seed phrase to be memorized and kept. Instead of requiring users to install a browser extension or separate wallet app, the wallet functionality is integrated directly into your application. With embedded wallets, a user can choose to log in with their Google, Apple ID, or X account, and behind the scenes, a self-custodial wallet is created on their behalf. This approach provides several key benefits: **Familiar Authentication Flows** Users authenticate using methods they already understand: email, OAuth, or biometrics. Wallet creation and recovery are handled using familiar authentication flows, eliminating the need for users to understand or manage private keys directly. **No Browser Extensions** The wallet exists within your app's context. Users don't need to install MetaMask or any other third-party software. This removes a major onboarding barrier and gives you complete control over the authentication experience. **Seamless UX** Because the wallet is embedded into your app's UI, you maintain full control over the look, feel, and flow, with no pop-ups or redirect screens. The authentication happens inline with your existing user experience. ### How do social logins enable Web3 access? Social login integration bridges the gap between Web2 and Web3 by leveraging existing authentication providers. Here's how the technical architecture works: **Key Splitting via MPC** TSS-MPC, or Threshold Signature Scheme with Multi-Party Computation, is a cryptographic method that allows multiple parties to jointly generate a single digital signature, enhancing security by distributing the signing power among participants without revealing the private key to any single party. When a user signs in with Google: 1. Your app authenticates the user via OAuth 1. The system generates a private key split across multiple parties 1. No single party \(including your application\) has access to the full key 1. Transaction signing requires threshold cooperation between parties 1. The user maintains self-custody without managing keys directly **Passkey Authentication** [Passkeys](https://www.alchemy.com/docs/wallets/react/login-methods/passkey-login) are a type of passwordless authentication designed to be more secure and convenient than traditional passwords, based on the WebAuthn standard. Passkeys use public key cryptography where: - The private key is stored in the user's device secure enclave \(like Apple's Secure Enclave or Android's Trusted Execution Environment\) - The public key is stored on your authentication server - Unlike traditional passwords, which create friction and pose phishing risks, passkeys leverage a familiar pattern of using a biometric to securely create and store a credential to the user's device. This provides strong security \(private keys never leave the device\) with familiar UX \(FaceID or TouchID\). ### What is account abstraction and why does it matter? Account abstraction \(ERC-4337\) represents a fundamental shift in how onchain accounts work. Smart contract wallets that use Account Abstraction create a wallet that is managed using a smart contract instead of a wallet that is managed by a single private key. Traditional Ethereum accounts \(Externally Owned Accounts or EOAs\) are controlled by a single private key. [Smart contract accounts](https://www.alchemy.com/docs/wallets/smart-contracts/choosing-a-smart-account) are controlled by code, which enables significantly more functionality: **Gas Sponsorship** With account abstraction, a user’s wallet or account becomes programmable, enabling developers to sponsor gas fees on behalf of the user. This means: - Users don't need to hold ETH to interact with your app - You can sponsor onboarding transactions to reduce friction - Users can pay gas fees in [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) or other ERC-20 tokens - You can set specific policies for which transactions to sponsor **Batched Transactions** As programmable smart accounts, transactions can be batched, simplifying UX enormously and cutting latency. Users can: - Approve a token and swap it in a single transaction - Mint an NFT and list it for sale atomically - Execute multi-step DeFi strategies without multiple wallet confirmations **Social Recovery** Smart contract accounts can implement recovery mechanisms that don't depend on seed phrases: - Designate trusted contacts who can help recover your account - Use email or phone-based recovery flows - Implement time-locked account recovery processes **Programmable Security** Because the account is a smart contract, you can implement custom logic: - Multi-signature requirements for high-value transactions - Spending limits per day or per transaction - Whitelisted addresses for automatic approval - Time-based restrictions on certain operations Vitalik, the co-founder of Ethereum, sees a [transition](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html) from EOAs to Smart Wallets as a requirement for getting mainstream users onchain. Account abstraction isn't a nice-to-have feature—it's foundational infrastructure for mainstream adoption. ### How do passkeys improve authentication security? [Passkeys](https://www.alchemy.com/docs/wallets/react/login-methods/passkey-login) come with multiple built-in security benefits. Specifically, unlike a password or passcode, a user doesn't have to remember information with a passkey, and that information can't be phished from the user. The security model works as follows: **Device-Bound Credentials** The private key is generated and stored in the device's secure hardware \(Trusted Platform Module, Secure Enclave, etc.\). It never leaves the device, eliminating the risk of key theft through network attacks. **Phishing Resistance** Because passkeys are bound to the domain that created them, they can't be used on phishing sites. Even if a user is tricked into visiting a fake site, the passkey won't work because the domain doesn't match. **No Shared Secrets** Unlike passwords, which are shared secrets between user and server, passkeys use asymmetric cryptography. The server only stores the public key, which is useless to attackers even if the database is breached. **Biometric Authentication** In addition, because passkeys are tied to your iCloud or Google accounts, they are protected by Apple and Google's security. This provides: - Multi-factor authentication by default \(possession of device \+ biometric\) - Protection against SIM swapping attacks - Backup and sync across devices ## What developer solutions make Web3 auth easy? Several providers offer infrastructure to simplify web3 authentication implementation. Here's what you need to know about the landscape. ### What third-party authentication providers are available? **Web3Auth** A simple, non-custodial auth infrastructure that enables Web3 wallets and applications to provide seamless user logins to both mainstream and native Web3 users. [Web3Auth](https://web3auth.io/) supports social logins, email authentication, and integrates with multiple wallet providers. **Magic** Offers email-based wallet creation with multi-party computation for key management. Magic handles the complexity of key splitting and recovery while providing a simple API for developers. **Dynamic** Provides non-custodial embedded wallets with support for social login and account abstraction integrations. [Dynamic](https://www.dynamic.xyz/) offers both embedded wallets and support for external wallet connections. **Privy** Powers hardware-secured, SOC 2-compliant wallets for any user across EVM, Solana, Bitcoin, and more. [Privy](https://www.privy.io/) focuses on seamless login with enterprise-grade security with passkey and hardware token support. ### How does Alchemy's smart wallet infrastructure work? We built Smart Wallets to provide vertically integrated wallet and transaction infrastructure. Instead of stitching together multiple services, you get everything you need to implement production-ready authentication in a single SDK. **Embedded Wallets for Zero-Friction Onboarding** Smart Wallets makes it possible to build products that feel like web2 but are fully web3 under the hood. Here's what this means in practice: Users can sign up using: - Email authentication - Social logins \(Google, Apple, Twitter\) - Passkeys \(FaceID, TouchID\) - Custom authentication \(bring your own authentication method\) - Traditional wallet connections for crypto-native users The implementation is straightforward. [Here's a guide](https://www.alchemy.com/docs/wallets/authentication/login-methods/email-otp) that will help you get started. **Smart Contract Account Creation** Once authenticated, you create a [smart contract account](https://www.alchemy.com/docs/wallets/smart-contracts/choosing-a-smart-account) for the user. All our smart contract accounts are audited by [Quantstamp](https://www.alchemy.com/dapps/quantstamp) and battle-tested in production with over 380M\+ transactions: The smart contract account provides all the benefits of account abstraction—gas sponsorship, batched transactions, and programmable security. **Gas Sponsorship Configuration** [Sponsor gas](https://www.alchemy.com/docs/wallets/transactions/sponsor-gas) through programmable policies. You control exactly which transactions to sponsor and do it with any ERC-20. Set policies via our dashboard: - Spending limits per wallet or globally - Allowlist/blocklist specific addresses - Sponsor specific contract interactions - Set daily/monthly spending caps **Multi-Chain Support** Smart Wallets are available on 30\+ chains including Ethereum, Polygon, Base, Optimism, Arbitrum, and more. Write your authentication logic once and deploy across multiple chains. **Production-Ready Infrastructure** Built on Alchemy's best-in-class, reliable infrastructure, so smart contract wallet primitives are always available to users. We provide: - 99.99% uptime SLA - Sub-second response times - Automatic scaling - 24/7 support for enterprise customers Alchemy Smart Wallets have powered over 380B\+ transactions are the \#1 most used smart wallet, powering applications from small startups to large enterprises. ## How should you implement Web3 authentication? Based on building authentication for thousands of apps, here are the patterns that work in production. ### Should you start with social login or wallet connect? For apps targeting mainstream users, start with social login. For apps targeting crypto-native users, support both. - **Social Login First Pattern:** This approach maximizes conversion for new users who don't own [crypto wallets](https://www.alchemy.com/dapps/top/wallets). You can always add an "export to MetaMask" feature later for users who want full wallet control. - **Wallet Connect First Pattern:** This works well for DeFi apps, NFT marketplaces, or other apps where users likely already have wallets. ### How should you handle gas fees? Don't make users buy ETH before they can use your app. Sponsor gas so users can try your app for free, no ETH required. Configure sponsorship policies based on your business model: **Freemium Model:** - Sponsor first N transactions per user - Require payment or staking after free tier - Monitor spend per wallet to prevent abuse **Subscription Model:** - Sponsor all gas for paying subscribers - Limit sponsorship for free tier users **Transaction-Based Model:** - Take a fee on each transaction - Sponsor gas as part of the transaction cost Set global spending limits to control costs while providing smooth UX. ### Should you use transaction batching? Yes, whenever users need multiple operations to complete a flow. The transactions are executed sequentially as they appear in the array, allowing you to: **Improve UX:** - One confirmation instead of multiple wallet popups - Atomic execution \(all operations succeed or all fail\) - Lower total gas costs **Common Patterns:** - Approve \+ Swap: Let users approve and execute swaps in one click - Mint \+ List: Create and list NFTs atomically - Multi-token operations: Interact with multiple contracts in one transaction ### How should you handle mobile users? Dynamic spent time optimizing to mobile flows, leveraging passkeys for easy FaceID and TouchID login and wallet creation. Mobile-first authentication is critical because: - Most users access apps from mobile devices - Biometric authentication is more accessible on mobile - Mobile wallet apps \(MetaMask Mobile, Rainbow\) require deep linking **Mobile Best Practices:** 1. **Prioritize passkeys:** FaceID and TouchID provide the best mobile UX 1. **Support [WalletConnect](https://www.alchemy.com/dapps/walletconnect):** For users with mobile wallet apps 1. **Test deep linking:** Ensure smooth handoffs to wallet apps 1. **Design for small screens:** Authentication UI should work on 320px viewports 1. **Minimize redirects:** Keep users in your app context when possible ### What about progressive disclosure? Don't overwhelm new users with advanced features. Design your own checkout flow and sign transactions in the background initially, then gradually expose more control. **Phase 1: Invisible Wallet** - Social login only - All transactions auto-signed - No wallet terminology visible - Gas sponsored completely **Phase 2: Basic Control** - Show transaction confirmations - Let users view their wallet address - Display transaction history - Explain gas sponsorship **Phase 3: Advanced Features** - Allow exporting to external wallets - Show advanced transaction details - Enable manual gas payment - Support hardware wallet signing This approach maximizes conversion while still providing power users with control. ## What does the future of Web3 authentication look like? The trajectory for onchain authentication is clear: invisible by default, powerful when needed. ### Will smart accounts replace EOAs? Vitalik, the co-founder of Ethereum, sees a transition from EOAs to Smart Wallets as a requirement for getting mainstream users onchain. This isn't speculation—it's the technical roadmap. Smart wallets provide: - Better security through programmable permissions - Superior UX through gas abstraction and batching - Account recovery without seed phrases - Cross-chain interoperability The ecosystem is moving toward smart wallets as the default. EOAs will remain supported for backward compatibility, but new apps should build on smart wallet infrastructure. ### How will chain abstraction impact authentication? Chain abstraction solves problems by letting users sign up in one go, with no keys, recovery phrases, or multiple wallets. Users shouldn't need to know which chain they're using. Future authentication will: - Use the same account address across all chains - Abstract away chain-specific details - Route transactions to optimal chains automatically - Handle cross-chain operations transparently This requires coordination between wallet providers, bridges, and applications, but the technical foundations are being built now. ### Will biometric authentication become standard? Users can generate a self-custodial wallet via biometrics with Face ID or Touch ID. Passkeys are already supported by Apple, Google, and Microsoft, with adoption accelerating. Within 2-3 years, expect: - Passkeys as the default authentication method - Seed phrases only for advanced users who request them - Biometric authentication across all devices - Seamless sync via iCloud/Google accounts ### What role will AI play? [AI agents](https://www.alchemy.com/dapps/best/ai-agents) can turn chaotic DeFi spaghetti into seamless, human-friendly finance, and they can make crypto usable, not just technically possible. AI will impact authentication through: **Transaction Intent Parsing:** - Users describe what they want to do in natural language - AI generates the appropriate transactions - Users approve with simple confirmations **Fraud Detection:** - AI analyzes transaction patterns for anomalies - Warns users before they approve suspicious transactions - Learns from previous attacks to prevent new ones **Personalized Security:** - Adaptive authentication based on risk levels - AI-recommended security settings - Automated security monitoring ## How can you start building today? The gap between web3's promise and its user experience is closing rapidly. Modern authentication infrastructure makes it possible to onboard mainstream users without sacrificing decentralization or security. We built Smart Wallets to make this accessible to every developer. You get: - **Embedded wallets** with social login and passkeys - **Smart accounts** with gas sponsorship and batching - **Enterprise-grade infrastructure** with 99.99% uptime - **Multi-chain support** across EVM and Solana Thousands of builders use our infrastructure to onboard millions of users. The future of authentication isn't about teaching users how blockchains work. It's about building systems so intuitive that users don't need to think about the underlying technology. Ready to implement modern web3 authentication? [Sign up](https://dashboard.alchemy.com/) for a developer account, get started with the [docs](https://www.alchemy.com/docs/wallets/react/quickstart), and contact us for more information or integration help. ## Frequently asked questions ### What are the basic steps to add wallet-based authentication to my app? Integrate a wallet connection flow, have the user sign a unique message, verify that signature on your backend, then create a session token so the user stays logged in without re-signing every request. ### How does signing a message prove a user owns a wallet? The app sends a challenge message that only the holder of the wallet's private key can sign; the app then verifies the signature with the wallet's public address to confirm the user controls that address. ### Should I use social login, wallet login, or both for Web3 authentication? For mainstream audiences, start with social login and optionally create a wallet behind the scenes, while crypto-native apps often prioritize direct wallet connection and may add social login as a fallback. ### How do I manage sessions after a user authenticates with a wallet? After verifying the signed message, issue a session token or cookie for subsequent API requests, similar to traditional web sessions, so users don't need to sign every action. ### What are embedded wallets and how do they improve authentication? Embedded wallets are built directly into applications, allowing users to authenticate with familiar methods like Google or Apple ID while a self-custodial wallet is created behind the scenes. This eliminates the need for browser extensions or seed phrase management. ### How do passkeys make Web3 authentication more secure? Passkeys use device-bound credentials stored in secure hardware that never leave the device, are resistant to phishing attacks, and provide biometric authentication without sharing secrets with servers. ### What is account abstraction and why does it matter for authentication? Account abstraction enables smart contract accounts that can sponsor gas fees, batch transactions, and implement programmable security features like social recovery, eliminating many barriers that prevent mainstream adoption. ### Should I sponsor gas fees for user authentication? Yes, sponsoring gas fees removes a major barrier for new users who don't own crypto, allowing them to try your app without needing to buy ETH first. --- # A Primer On Decentralized Storage Networks URL: https://www.alchemy.com/overviews/a-primer-on-decentralized-storage-networks.md Humans have come a long way from storing data on physical hardware. In modern computing, cloud storage—a system of storing information in remote locations—is the default option for hosting files, websites, and applications.  Cloud storage has benefited individuals and enterprises by eliminating the need to manage storage infrastructure. However, its centralized data management introduces new risks for users, including censorship, privacy violations, data theft, and poor information integrity.  To remedy the problems of centralized data storage, some have turned to blockchain technology. Blockchain-based storage or “decentralized storage” systems provide an efficient, robust, scalable, secure, and cost-effective means of storing information.  This article offers an introduction to decentralized storage networks. We’ll explore how the decentralized storage model operates, what benefits it offers, and common blockchain storage services to use.  ## How does decentralized storage work? The decentralized storage model works by sharing the responsibility for storing information among different participants in a peer-to-peer network. This is unlike centralized storage where a piece of information is stored on a single server.  By storing information redundantly across multiple nodes \(computers\), decentralized storage protects the accessibility and security of information. If a node cannot provide requested content, the same information can be retrieved from other storage nodes.  Contrast this with centralized storage systems that keep your files in one location—if a server goes offline, the information becomes inaccessible. Centralized storage also introduces single points of failure, such that malicious actors can steal information from servers or block access through denial-of-service \(DoS\) attacks. Many decentralized storage services are modeled after decentralized blockchains, meaning that users can transact in a trustless, pseudonymous, and secure fashion. These platforms use cryptoeconomic incentives to ensure everyone contributes positively to the ecosystem.  The decentralized storage model works off the idea that not everyone will utilize the storage on their devices. Thus, individuals are incentivized to rent out unused hard disk space to users in return for compensation.  Typically, decentralized storage marketplaces use blockchain-enabled smart contracts to facilitate interactions between users and storage providers. These smart contracts will often define some or all of the following: - The size of information the user wants to store - The duration for which the storage provider is obliged to hold the information - The compensation paid to the storage provider in exchange for their service Like blockchains, decentralized storage platforms run on a distributed architecture. As such, they need a consensus mechanism to keep the system functional and to punish/incentivize specific actions.  To this end, most decentralized storage systems use some variation of the proof-of-storage \(PoStorage\) consensus algorithm. Notably used by [Filecoin](https://www.alchemy.com/dapps/filecoin), proof-of-storage selects miners based on how much data storage contributed to the network. The mechanism also uses a random verification system to confirm if miners are indeed holding the data as promised.  The process of storing information on a decentralized cloud storage \(DCS\) platform is different from a traditional cloud storage provider, like Google Drive, Amazon Web Services \(AWS\), or Dropbox: Initially, uploaded files are encrypted using cryptographic hashing mechanisms and then split into several bits \(sharding\). Then these fragments are redundantly stored on different storage nodes populating the network. To retrieve the file, users will request the file using the content hash and reassemble the returned fragments to recreate the original information.  ## Six benefits of using decentralized storage Decentralized cloud storage \(DCS\) offers the following six advantages: ### 1. Security Information security is a critical consideration for individuals, enterprises, and developers of [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps). Centralized storage systems hardly provide robust security guarantees. If anything, using traditional cloud storage exposes user information to safety risks.  Traditional cloud storage services mostly store information in a handful of data centers around the world. Those same data havens are, however, honeypots for malicious actors who can effectively [pilfer stored information](https://www.csoonline.com/article/2130877/the-biggest-data-breaches-of-the-21st-century.amp.html). It’s also easy to prevent users from accessing information by spamming servers via [DoS attacks](https://www.cloudflare.com/learning/ddos/famous-ddos-attacks/) or hijacking admin access.  Decentralized storage benefits from the security guarantees of blockchain technology and offers safer storage alternatives. Copies of information are held by various nodes in the network, eliminating single points of failure. Moreover, stealing user data or restricting access is theoretically impossible due to the distributed architecture of DCS networks.  This has several implications for users: Individuals can trust that their data is stored securely and safe from unauthorized control. Companies will spend less time worrying about the safety of customer information and preempt malicious attacks and costly data breaches. DApp developers can create robust, secure, and censorship-resistant applications and websites.  ### 2. Efficiency While modern cloud storage has brought certain benefits, efficiency isn’t one of them. These platforms still rely on a handful of data farms worldwide to deliver content to users across the world. The result is an inefficient storage model that makes information retrieval unappealing.  Users in remote areas may have to expend more bandwidth to download information since they lack proximity to data centers. Not only does this incur higher connection costs, but it also affects download speeds.  Due to the client-server architecture used in centralized storage, such systems are prone to service failures. This can happen if too many users try to access the same server or a malfunction affects physical hardware. Facebook’s [crash in 2021](https://www.theverge.com/2021/10/4/22708989/instagram-facebook-outage-messenger-whatsapp-error), GitHub’s [extended outage](https://www.theverge.com/2020/6/29/21306674/github-down-errors-outage-june-2020) in 2020, and Microsoft’s [multi-week downtime issues](https://www.zdnet.com/article/microsoft-cloud-services-outages-continue-into-week-two/) in 2020 are all proof of the inefficiencies of centralized data management.  What makes decentralized storage different is that it uses peer-to-peer networks for sharing files. Every node can store, request, or send information to other users. As a result, the loss of one node \(i.e., a “mini-server”\) cannot affect the system. This assures users that information will always be available without interruptions.  Thanks to the global distribution of storage nodes, decentralized storage platforms can reduce bandwidth usage for users. Instead of sending information requests to distant servers, DCS users can connect to nearby nodes to share files.  The result? Faster file retrieval speeds and less money spent on bandwidth costs.  ### 3. Cheaper data storage Another problem of traditional cloud storage relates to the high cost of usage. In many cases, storage services are offered via rigid price plans—leaving developers to pay for unused storage space. Further compounding the problem is an acute lack of alternatives and widespread vendor lock-in.  Decentralized storage fixes the problem by operating on a pay-as-you-go basis. Users have control over how much  they pay storage nodes for storing files, potentially reducing the cost of storage for developers.  Moreover, DCS providers are rewarding people to rent out underutilized storage. The implication is that decentralized application \(dApp\) users can pay lower fees because storage providers don’t incur the overhead of running dedicated data centers.  ### 4. Trustlessness When using a cloud storage solution, you’re trusting the company to keep your information intact and available. But, as a Web3 developer, you likely understand the dangers of putting trust in centralized intermediaries.  Files can mysteriously disappear from a server, websites can be censored, and applications shut down by rogue governments. Blockchain technology removes the need for trust, making decentralized storage for developers necessary.  Many DCS platforms have built-in mechanisms, such as smart contracts, for ensuring storage providers and users adhere to agreements. For instance, Filecoin [uses proof-of-replication \(PoRep\) and proof-of-spacetime \(PoSpacetime\) protocols](https://filecoin.io/blog/posts/what-sets-us-apart-filecoin-s-proof-system/) to verify that nodes are holding copies of stored files as agreed.  With decentralized storage for developers, you don’t have to trust anyone to keep your files, applications, or websites accessible. As long as the platform is running, your information is always ready to be served on request.  ### 5. Privacy “Privacy” and “centralized cloud storage” are two words that rarely mix well. As explained before, centralized servers are frequently targets of coordinated hacks, leading to the [loss and theft of sensitive information](https://www.propublica.org/article/identity-theft-surged-during-the-pandemic-heres-where-a-lot-of-the-stolen-data-came-from). But the problem is more than just servers and boils down to the lack of privacy-protecting features.  Most decentralized storage services use encryption to prevent information from unauthorized access. Furthermore, they all use a sharding mechanism to split files into multiple fragments, which are held by randomly assigned nodes.  This has several benefits for privacy. First, only the holder of the cryptographic keys—that is, you—can decrypt the files. Second, no peer has access to the complete file. You can, however, choose to fetch the various file shards and reconstruct the file.  Privacy is a huge consideration for Web3 users, and the least any decentralized application developer can do is assure users their information is kept away from prying eyes. As such, decentralized cloud storage is a core part of the [Web3 development stack](https://www.alchemy.com/overviews/web3-stack). Building a dApp on a centralized storage infrastructure defeats the purpose of decentralization in every sense.  ### 6. Information integrity A common problem you’ll likely confront while using a centralized storage provider is poor information integrity. According to [Digital Guardian](https://digitalguardian.com/blog/what-data-integrity-data-protection-101), data integrity refers to “ \[the\] accuracy and consistency \(validity\) of data over its lifecycle.” It adds that: “Compromised data, after all, is of little use to enterprises, not to mention the dangers presented by sensitive data loss.” Centralized data management cannot guarantee data integrity for the simple fact that storage assumes a ‘location-centric’ approach. To find a file, you’ll need a URL or Universal Resource Locator that points to where it’s stored. Take, for example, this link to a picture: [https://example.com/dog.jpeg](https://example.com/dog.jpeg)  We assume that this link points to where an image of a cute puppy is stored. But what if that isn’t the case?  There’s no way you’ll know if the file hasn’t moved, nor can you tell if the file has been altered or replaced, whether due to human error or malicious activity. This explains why users often run into broken links \(Error 404\) or get served a file wildly different from what they expected.  If you’re building in Web3, you want to make sure data, such as NFT metadata, retains integrity forever. Decentralized storage can make this possible because they adopt a ‘content-centric’ approach to information storage and retrieval.  A content-centric approach means that DCS platforms address resources by content, not location. Each file is run through a hashing algorithm, with the resulting hash \(a long string of alphabets and numbers\) serving as its unique ‘fingerprint’ or Content Identifier \(CID\).  Instead of using unreliable URLs, users can find information using CIDs. With a CID, you can request a specific file from peers in the network—and it encourages accuracy since you can cross-check the CID against the hash of the file you received.  More importantly, this approach can eliminate problems like [missing NFTs](https://interestingengineering.com/nfts-are-mysteriously-disappearing-heres-how) for Web3 users. With well-designed incentive structures, DCS providers can ensure your files remain intact for as long as possible.  Here's a guide on [how to mint NFTs with IPFS](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity).  ## What are some of the most popular decentralized storage networks? ### InterPlanetary file system \(IPFS\) The [InterPlanetary File System \(IPFS\)](https://docs.ipfs.io/concepts/what-is-ipfs/) is a peer-to-peer file-sharing protocol that wants to solve the Internet’s fragile data storage architecture. IPFS uses ‘content-addressing’, which addresses information by content, instead of location, to preserve the integrity and availability of information. It also uses encryption to safeguard user privacy.  Nodes on the IPFS platform can choose to store only files that they are interested in—so access to your information isn’t guaranteed. However, you can use a ‘pinning’ service that incentivizes IPFS nodes to keep your data online—[Pinata](https://www.pinata.cloud/), [nft.storage](https://nft.storage/), and [Crust](https://wiki.crust.network/docs/en/buildFileStoringWithGWDemo) are good options.   ### Filecoin Created by the team behind IPFS \(Protocol Labs\), [Filecoin](https://filecoin.io/) is a blockchain dedicated to decentralized data management. You can think of Filecoin as an incentive layer built on the IPFS platform.  With Filecoin, you can pay nodes using the network’s token \(FIL\) to keep your files stored for a specific period. If the duration elapses, you’re required to renew the payment. Filecoin uses random-check mechanisms like proof-of-replication to audit nodes and gives users assurance that their data is still available.  ### Arweave  [Arweave](https://www.arweave.org/) is an ambitious project to build a ‘global hard drive’ for users to store applications, websites, and other valuable information indefinitely. Users pay storage providers with AR tokens for storage space and can request information whenever they want it.  Arweave is an excellent solution for individuals, developers, and enterprises who need decentralized storage. Because it has a dedicated blockchain with built-in incentives and a consensus mechanism \(proof-of-access\), Arweave offers a secure information storage system.  ### Storj  As a decentralized storage marketplace, [Storj](https://www.storj.io/) connects people with extra bandwidth and storage capacity to those who need cheap, accessible, and private file storage. Storj users and storage providers conduct transactions using STORJ, an ERC-20 token.  Storj is targeted at developers, companies, and other entities in need of custom storage solutions. You can choose the best storage plan for your needs, which reduces money wasted on underutilized cloud storage.  ### Sia  Like other DCS providers, [Sia](https://docs.sia.tech/) works by rewarding individuals to rent out unused hard disk space to users. Those who provide storage services on Sia’s marketplace earn rewards in the form of Siacoin \(SIA\), the platform’s utility token.  The Sia network is highly decentralized and resistant to outages or censorship attempts. This allows users to store their information securely while keeping control of their data.  ## Conclusion As the need for data privacy, integrity, and security grow, so will the demand for decentralized storage networks. Decentralized cloud storage providers can usher in a new era where information storage is efficient, cheap, reliable, and safe.  By providing flexible pricing plans for developers and startups, DCS services reduce costs passed on to end-users. And the [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) nature of such platforms means everyone can become a storage provider, thereby supporting the vision of a decentralized web. --- # Account Abstraction Part 4: Aggregate Signatures URL: https://www.alchemy.com/overviews/account-abstraction-aggregate-signatures.md ## Aggregate signatures Our current implementation validates each user op in the bundle separately. This is a very straightforward way to think of validation, but potentially wasteful. Checking signatures can end up on the expensive side gas-wise because doing so requires quite a bit of cryptographic arithmetic. **Wouldn’t it be nice we could validate many ops at the same time with just one signature instead of many?** To do so depends on a concept from cryptography, **aggregate signatures**. A signature scheme that supports aggregation provides a way, given multiple messages signed with different keys, to generate a single combined signature such that verifying the combined signature implies that all the constituent signatures are also valid. A common example of a signature scheme that supports aggregation is [BLS](https://en.wikipedia.org/wiki/BLS_digital_signature). This optimization is particularly useful for implementing rollups, since the main goal of a rollup is data compression, and signature aggregation lets us compress the signature portion. For more about space savings from signature aggregation, see [Vitalik’s tweet on the subject](https://twitter.com/VitalikButerin/status/1554983955182809088). ### Introducing aggregators Right away, we see that not all user ops in a bundle can have their signatures aggregated together. Remember that a wallet is permitted to use whatever arbitrary logic it wants to validate the signature it’s given, and so there may be various signature schemes present in the same bundle. Since we likely can’t aggregate signatures from different schemes, our bundle will end up with groups of ops, each group using a distinct aggregation scheme or no aggregation scheme at all. Since we need to have various aggregation schemes represented on chain each with its own logic, we’ll have each aggregation scheme represented by a contract that we’ll call an **aggregator**. An aggregation scheme is defined by how it combines multiple signatures into one and by how it validates the combined signature, so an aggregator exposes these two functions as methods: Since each wallet is defining its own signature scheme, it’s up to each wallet to decide which aggregator it’s compatible with, if any. **If a wallet wants to participate in aggregation, it exposes a method to choose its aggregator:** Using this new `getAggregator` method, the bundler can group together ops that have the same aggregator and use that aggregator’s `aggregateSignatures` method to compute a combined signature for them. **A group might look like this:** 💡 If a bundler has off-chain knowledge about a particular aggregator, it can optimize by hardcoding a native version of the signature aggregation algorithm instead of running `aggregateSignatures` as EVM code. Next, we need to update the entry point contract to make use of the new aggregators. Recall that the entry point has a `handleOps` method that takes a list of ops. **We’ll give it a new method,** `handleAggregatedOps`**, which does the same thing but takes in the ops grouped by aggregator:** The new method, `handleAggregatedOps`, works largely the same as `handleOps`. The only difference is in its validation step. While `handleOps` performs validation by calling each wallet’s `validateOp` method, `handleAggregatedOps` will instead call the aggregator’s `validateSignatures` method on each group’s combined signature using that group’s aggregator. We’re almost done! But there’s one issue here that’s pretty familiar by now. The bundler wants to simulate validation and check that the aggregator will validate a group of ops before it includes those ops in the bundle, because if validation fails the bundler is forced to pay for gas. But an aggregator with arbitrary logic can easily succeed during simulation but fail during execution. We’ll solve this in exactly the same way we did for paymasters and factories: we restrict what [storage](https://www.alchemy.com/docs/smart-contract-storage-layout) the aggregator can access and what opcodes it can use, and require that it stake ETH in the entry point unless it doesn’t access storage. And that’s that for aggregated signatures! ### Wrap up What we’ve created here is more or less the [full architecture of ERC-4337](https://eips.ethereum.org/EIPS/eip-4337)! There are some differences in the details, such as the names and arguments of some of the methods, but there is nothing left that I would consider an architectural difference. If I’ve done my job well, you should now be able to read the real ERC-4337 and understand what’s going on. If you’ve made it this far, thanks so much for reading my explanation! I hope it helped you as much as it helped me to write it. ## Addendum: differences from ERC-4337 While we’ve got the overall architecture of account abstraction down, the smart people behind ERC-4337 thought of some things that are slightly different from what we described above. Let’s go over some of them! ### 1. Validation time ranges Above, I was pretty vague about the return type of the wallet’s `validateOp` and the paymaster’s `validatePaymasterOp`. ERC-4337 finds a good way to make use of this. Something that a wallet would very much like to do is only allow a user op to be valid for a certain amount of time. Otherwise, a rogue bundler could sit on that operation for a very long time, and then include it in a bundle much later at a time advantageous to the bundler. The wallet might want to defend against this by checking the `TIMESTAMP` during validation to make sure it’s not too far in the future, but it can’t, because we’ve banned `TIMESTAMP` during validation to stop simulations from being inaccurate. This means the wallet needs another way to indicate at what times the operation is valid. **Thus, ERC-4337 gives** `validateOp`** a return value that the wallet can use to choose a time range:** This return value represents the time range at which the operation is valid as two 8-byte integers one after the other. One other note from ERC-4337: wallets should return a sentinel value from validateOp rather than reverting in the case of validation failure, which helps out with gas estimation because [eth_estimateGas](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-estimate-gas) doesn’t tell you how much gas was used in a transaction that reverts. ### 2. Arbitrary call data for wallets and factories We said that the interface of our wallet was: In ERC-4337, wallet’s don’t actually have a method named `executeOp`. **Instead, the user operation has a** `callData`** field:** This is passed to the wallet as call data. For a typical smart contract, the first four bytes of this data will be interpreted as a function selector and the rest as function arguments. This means that other than the required `validateOp` method, wallets can define their own interface, and user operations can be used to call arbitrary methods on the wallet. Along the same lines, in ERC-4337 the factory contracts don’t actually have a `deployContract` method. They too receive arbitrary call data, in this case from the op’s `initCode` field. ### 3. Compact data for paymasters and factories Above we said that the user operation contained fields to specify a paymaster as well as what data to pass to it: **In ERC-4337, these are combined into one field as an optimization, where the first 20 bytes of the field are the paymaster address and the rest is the data:** The same is true for factories and the data sent to them: while we used two fields `factory` and `factoryData`, ERC-4337 combines these into a single field `initCode`. Ok, you did it! We hope you learned a lot about Account Abstraction. ### You could have invented account abstraction Missed the beginning of this 4-part series? Go back and read from the beginning! 1. [Account Abstraction Part 1: Protect Our Assets](https://www.alchemy.com/overviews/what-is-account-abstraction) 1. [Account Abstraction Part 2: Sponsoring Transactions with Paymasters](https://www.alchemy.com/overviews/what-is-account-abstraction-paymasters) 1. [Account Abstraction Part 3: Wallet Creation](https://www.alchemy.com/overviews/what-is-account-abstraction-wallet-creation) --- # A Guide to Agentic Finance in 2026 URL: https://www.alchemy.com/overviews/agentic-finance.md Finance is about to get a new kind of user: software that can move money. For decades, finance software helped humans make decisions. The next shift is software that can take financial action on its own. Across the economy, agents are starting to act on behalf of humans. They recommend products, compare vendors, book trips, write code, and shop for users. Finance is the next frontier of that same shift. Soon, agents will not just answer questions about money. They will help users move funds, manage budgets, monitor risk, and execute transactions on their behalf. That shift is what we mean by agentic finance: systems that can understand intent, evaluate risk, and execute financial workflows without waiting for a human to click every button. In 2026, the category is moving fast. Banks and finance teams are experimenting with [AI agents](https://www.alchemy.com/dapps/best/ai-agents) for forecasting, compliance, travel, procurement, and cash operations. Brokerages are starting to let agents monitor portfolios and place trades. Crypto-native teams are pushing even further into [payments](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web), treasury automation, onchain execution, and [AI agents for DeFi](https://www.alchemy.com/overviews/defi-ai-agents). But there is a deeper point that many broad industry pieces miss. True agentic finance is not just AI inside finance workflows. It is AI plus rails. If a software agent is going to hold value, move money, pay for services, settle instantly, and coordinate with other software, it needs financial infrastructure designed for machines. That is why agentic finance requires crypto rails. Once you see the category that way, the stack gets much easier to understand. ## What is agentic finance? Agentic finance is the shift from software that informs financial decisions to software that can take financial action. Traditional finance software has mostly operated in one of three modes: recordkeeping, analytics, or automation. It stores transactions, surfaces recommendations, or executes narrow rules a human already defined. Agentic finance goes further. An agent can take a goal like "reduce idle cash, stay within policy, and maximize yield" and turn it into a multistep workflow. It can gather data, reason over tradeoffs, choose tools, execute within guardrails, and adapt as conditions change. That broader pattern is already visible in the market. [IBM](https://www.ibm.com/think/insights/finance-teams-operationalize-agentic-ai-scale), [PwC](https://www.pwc.com/gr/en/technology/artificial-intelligence/agentic-ai-financial-services.html), and [Moody's](https://www.moodys.com/web/en/us/creditview/blog/agentic-ai-in-financial-services.html) all frame agentic AI in finance as a move from task-level automation to multistep, decision-heavy workflows. Products like [Payhawk](https://payhawk.com/en-us/platform/ai-agents) focus on finance operations such as travel, procurement, approvals, and expense management. [Public](https://www.prnewswire.com/news-releases/public-becomes-the-first-brokerage-to-introduce-ai-agents-for-your-portfolio-302729050.html) is starting to let investors create portfolio agents that monitor markets and execute based on instructions. Those examples matter. But they also show where the conversation is still incomplete. Much of the mainstream discussion is still about AI copilots inside existing systems of record. Useful, yes. Fully agentic, not quite. A copilot can draft a recommendation. An agentic financial system has to do something risk-bearing: pay, settle, allocate, rebalance, transfer, hedge, or enforce a policy in motion. The moment software moves from advice to action, infrastructure becomes as important as the model. ## Why does agentic finance matter in 2026? Three shifts are colliding at once. First, LLM models are now good enough to plan and operate across multistep workflows. They are no longer limited to summarizing reports or answering questions. Second, the market is moving from simple question-response chat interfaces to products that can execute multistep workflows. It is no longer enough for software to tell a user what to do. The product needs to do the work. Third, money itself is becoming more programmable. [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins), tokenized deposits, onchain settlement, and machine-readable payment standards are turning financial infrastructure into something software can interact with directly. That is why 2026 feels different from the prior wave of "AI in finance" announcements. The real opportunity is not just better forecasting or faster back-office work. It is building systems where software can become an economic actor. Think about the categories that become possible once agents can transact, not just recommend: - Treasury systems that rebalance funds based on policy and liquidity conditions - Payment flows that settle per use, per task, or per session - Portfolio agents that watch markets and act inside defined risk limits - Onchain finance products that convert a plain-language goal into a transaction sequence - Internal finance agents that coordinate approvals, data, and settlement across systems That is a much larger design space than "add a chatbot to finance software." ## Why AI agents in finance need crypto rails If you want software agents to take financial action, you need rails that are programmable, internet-native, and machine-friendly. Crypto rails are the only rails natively suited to that job today. Why? Because agents need five things that legacy financial infrastructure does not handle well. First, they need native digital identity. An agent needs a persistent, machine-usable way to identify itself, authenticate requests, and hold permissions. Onchain wallets already do this. Second, they need programmable money. It is much easier to build autonomous systems when value can move through software-native rules, smart contracts, and tokenized balances rather than manual banking flows and human approval chains. Third, they need real-time settlement. Agents work at software speed. Waiting on office hours, correspondent banks, batch files, or manual reconciliation does not just slow the loop down. It limits the kinds of workflows agents can run and the efficiency gains they can deliver. Fourth, they need pay-per-use economics. Agents do not think like human buyers. They will increasingly buy APIs, data, compute, and financial services one request at a time. Standards like [x402](https://x402.org/) and [MPP](https://www.alchemy.com/overviews/x402-vs-mpp-comparing-agent-payment-protocols) show what that looks like in practice: a service returns payment terms, the client pays programmatically, and the workflow continues. Fifth, they need composability. Agentic finance works best when identity, payments, data access, and execution can all be stitched into the same programmable system. This does not mean every finance workflow will move onchain tomorrow. It does mean that the fully agentic end state points toward crypto rails. Legacy finance systems can host parts of the workflow. Crypto rails make the workflow executable by software. That is the difference between "AI in finance" and "agentic finance." One helps humans operate financial systems. The other gives software its own financial operating environment. ## What does the agentic finance stack look like? Once you see how agentic financial systems actually work, the stack gets clearer. This is where many high-level industry explainers stop too early. They spend most of their time in the top two layers: models and workflow automation. Those layers matter, but they do not complete the stack. The bottom layers are what make the system real. If an agent cannot access reliable financial state, pay for services, or execute transactions inside clear guardrails, it is still a copilot with better UX. Crypto matters here because it compresses the distance between software and settlement. A wallet can act as identity. A stablecoin can act as settlement. A standard like x402 can act as the payment handshake. Smart contracts can act as programmable financial logic. And onchain data can be queried in real time by the same software that will act on it. Put differently: crypto rails make money legible to software. ## Who is building agentic finance right now? The market is forming in three layers. One layer is incumbent finance software adding agents to existing workflows. IBM, PwC, Moody's, and Payhawk all point to a real shift inside finance operations: less manual routing, more autonomous coordination, and better decision support. A second layer is agent-driven financial products. Public's new portfolio agents are a good example. Instead of asking users to sit in front of a trading screen all day, the product lets them describe intent and let the system monitor and act. The third layer is crypto-native infrastructure and agent commerce. This is where the category becomes most interesting. Teams like [t54](https://docs.t54.ai/docs/core-beliefs/agentic-finance) are explicitly framing a move from human-directed finance to agent-executed finance. Standards like x402 are turning payments into an API primitive. Products like [AgentCard](https://agentcard.ai/) are pushing machine purchasing into the real world. And the broader market is starting to recognize that agents are not just assistants. They are becoming buyers, operators, and transactors. This third layer is where the long-term category gets defined. The first two layers are important. They will drive near-term adoption. But the deepest version of agentic finance happens when agents can do more than automate forms inside legacy systems. It happens when agents can hold context, hold value, and complete financial actions end to end. ## How does Alchemy fit into the stack? We fit at the point where agentic systems need reliable data, payments, and execution. If you are building agentic finance on crypto rails, the hard part is not training the model what task or workflow you want to accomplish. The hard part is everything the model needs around that task in order to actually execute against the user's goal: - reliable access to blockchain state - real-time pricing, balances, and portfolio data - event-driven infrastructure for monitoring and triggers - payment flows that agents can use without human intervention - gasless transaction flows that remove user-facing blockchain friction - execution rails that can survive production workloads That is why we have been building toward agents as first-class users. With [Alchemy Agents](https://www.alchemy.com/agents), developers can give agents access to blockchain data across 100+ networks. Our [AI agents page](https://www.alchemy.com/ai-agents) shows how we package that story for builders. With our [agentic signup flow](https://www.alchemy.com/blog/ai-agents-can-now-sign-up-for-alchemy), agents can use an onchain wallet as identity and prepay for compute using crypto payment standards. With [AgentPay](https://www.alchemy.com/agentpay), currently in private beta, businesses can accept payments from agents through a single integration rather than handling each protocol one by one. With [Gasless Transactions](https://www.alchemy.com/gasless-transactions), teams can simplify the onchain payment and execution flows that would otherwise add friction for users. [x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web) is one of the clearest signals of where the web is heading. That does not make Alchemy the whole stack. It makes us a key part of the infrastructure layer. We help agents see onchain state, pay programmatically, and interact with crypto systems as economic actors instead of as awkward add-ons to human workflows. **Builder quickstart:** install the [CLI](https://www.alchemy.com/docs/alchemy-cli), add [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills), and connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): Follow the [MCP server docs](https://www.alchemy.com/docs/alchemy-mcp-server) to connect your coding agent to `https://mcp.alchemy.com/mcp`. That is how you go from idea to production: keep building in your editor, and give the agent a live way to read balances, prices, and portfolios before it acts. When the agent needs to move funds, not just read them, use the same CLI to approve a scoped wallet session so the private key never sits in the agent process: Full surface area and examples live at [alchemy.com/agents](https://www.alchemy.com/agents). For teams building in this category, that matters. The model may define the experience. The rails define whether the product can actually run. ## What should banks, fintechs, and builders do next? The most useful question is not "Should we use AI agents in finance?" That answer is already yes. The better question is: which part of the stack do you want to own? Some teams will use agents to improve internal finance workflows. Some will ship customer-facing products that turn plain-language intent into financial actions. Some will build onchain payment and treasury systems that give software more autonomy than legacy rails ever allowed. And some will build the tools, infrastructure, and workflows that make those products possible in the first place. But regardless of the path, the strategic choice is the same. You need to decide whether you are building on infrastructure designed for human-operated finance, or on infrastructure designed for machine-operated finance. That is why crypto rails matter even for traditional institutions. They are not just about speculative assets or crypto-native products. They are about programmable settlement, software-native identity, and financial systems that can be operated by agents. [Stablecoin treasury yield](https://www.alchemy.com/overviews/stablecoin-treasury-yield), the [enterprise stablecoin stack](https://www.alchemy.com/overviews/enterprise-stablecoin-guide), and [deposit tokens for banks](https://www.alchemy.com/blog/deposit-tokens-for-banks-a-practical-playbook) all point in the same direction. For banks, the decision will often start with stablecoin rails, tokenized deposits, or onchain settlement before it reaches fully autonomous agent workflows. But that is still the same transition. The rails come first. The agents expand from there. [Digital Assets: A Complete Guide for Banks](https://www.alchemy.com/resources/digital-assets-for-banks) walks through stablecoin rails, deposit tokens, implementation paths, and the build versus buy decisions financial institutions need to make now. [Deposit Tokens for Banks: A Practical Playbook](https://www.alchemy.com/blog/deposit-tokens-for-banks-a-practical-playbook) shows one path in more detail. ## Frequently asked questions ### What is agentic finance? Agentic finance is the shift from software that informs financial decisions to software that can take financial action. In practice, that means AI agents that can gather data, reason over goals and constraints, and execute payments, transfers, trades, treasury actions, or policy-driven workflows with human oversight. ### What is agentic AI in finance? Agentic AI in finance refers to the same broader shift: AI systems that move beyond analysis or chat and into multistep financial action. The key difference from standard AI tooling is autonomy. The system is not just helping a human think. It is helping complete financial work. ### How is agentic finance different from AI in finance? AI in finance is the broader category. It includes copilots, forecasting tools, fraud models, and workflow automation. Agentic finance is narrower and more action-oriented. It refers to systems that can do financial work, not just analyze it. ### Why do AI agents in finance need crypto rails? Because agents need programmable identity, programmable money, real-time settlement, and software-native payment flows. Crypto rails provide those primitives today in a way legacy financial systems generally do not. ### Are DeFi agents the same as agentic finance? No. DeFi agents are one important branch of agentic finance, especially around trading, yield, and treasury automation. But the category is broader. It also includes payments, banking, compliance, portfolio management, and internal finance operations. ### What is the agentic finance stack? At a high level, the stack includes reasoning, identity and trust, orchestration and guardrails, payments and settlement, and data plus execution infrastructure. Most industry coverage focuses on the top of the stack. The bottom layers are what make the system truly agentic. ### How can banks prepare for agentic finance? Start by understanding the rail decisions. Stablecoins, tokenized deposits, onchain settlement, and programmable payment infrastructure are not side topics. They are foundational to the next generation of agent-driven financial products and workflows. ### Where does Alchemy fit into agentic finance? We fit into the infrastructure layer. We give agents access to blockchain data, machine-native payment flows, and the APIs needed to interact with crypto systems in production. --- # Agentic payments and x402, explained | Alchemy URL: https://www.alchemy.com/overviews/agentic-payments-x402-explained.md For thirty years, software could recommend a purchase but never make one on its own. A program could tell you which API to call or which dataset to license, then it stopped and waited. A human entered a card, approved the charge, or set up the subscription. [AI agents](/agents) break that pattern. An agent can plan a task, pick a service, and pay for it in the same motion, with no person at the checkout. That shift has a name. Agentic payments let software pay for what it uses. Once an agent can hold funds and settle a charge by itself, it stops being a tool that drafts the order and becomes the thing that places it. This is the money layer underneath [agentic commerce](/overviews/agentic-finance), the fast-growing world where agents buy data, compute, and services on your behalf. ## What are agentic payments? Agentic payments are transactions an AI agent makes on its own, inside limits you set in advance. The agent buys an API call, a dataset, a unit of compute, or a service, and settles the bill without routing every charge back to a human. You may also see this called agent payments. The terms point at the same idea. The real change is who holds spending authority. In a normal app, the software prepares a payment and a person confirms it. In an agentic system, you grant the agent a budget and a set of rules once, and from then on it pays as it works. Think of it like a corporate card with a strict limit and an approved-vendor list, handed to an employee who can now buy what the job needs. It helps to separate two terms that travel together. Agentic payments are the broad category, any payment an agent makes autonomously. [x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) is a specific protocol for making those payments over the web. The category is settling on shared rails, and x402 is the one most builders reach for first. ## Why don't normal payment rails work for AI agents? Card networks and checkout flows assume a human is present. Someone reads the total, clicks approve, and clears the occasional fraud check. Hand that flow to an agent and it stalls at the first confirmation screen, or the first time a card gets flagged for unusual activity. Subscriptions and API keys have the opposite problem. They assume a person signed up ahead of time, agreed to a plan, and put a card on file. An agent that wants to try a new data source for a single query cannot wait for someone to create an account and approve a monthly bill for one request. Then there is size. Agents tend to make many tiny purchases, sometimes fractions of a cent for a single API call. Card fees alone can cost more than the call itself, which makes micro-purchases on the traditional rails uneconomical. The gap is easier to see side by side: Who approves the charge

", tooltip: "", icon: "" }, "2": { title: "

A person at checkout

", tooltip: "", icon: "" }, "3": { title: "

The agent, within limits set in advance

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

What you set up first

", tooltip: "", icon: "" }, "2": { title: "

An account, a card on file, or a subscription

", tooltip: "", icon: "" }, "3": { title: "

Nothing; the agent pays per request

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Smallest practical charge

", tooltip: "", icon: "" }, "2": { title: "

Cents to dollars, once card fees are counted

", tooltip: "", icon: "" }, "3": { title: "

Fractions of a cent

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Settlement speed

", tooltip: "", icon: "" }, "2": { title: "

Seconds to days

", tooltip: "", icon: "" }, "3": { title: "

Under a second

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Availability

", tooltip: "", icon: "" }, "2": { title: "

Tied to business hours on some rails

", tooltip: "", icon: "" }, "3": { title: "

Always on

", tooltip: "", icon: "" }, id: 4, }, ], }} /> Agents need to pay per request, instantly, without a human account behind every charge. That is the gap x402 was built to close. ## What is x402? x402 is an open standard for paying over the web one request at a time, using digital dollars. It revives a piece of the internet that sat unused for decades. The HTTP 402 status code, labeled "Payment Required," has been in the web spec since the 1990s but never had a payment system behind it. (An HTTP status code is the short signal a web server sends back with every response, like 404 for "not found.") x402 finally gives 402 a job. When a server wants payment, it answers a request with a 402 that states the price and where to pay. The agent pays in a stablecoin, a crypto token pegged to a real-world currency like the US dollar, then repeats the request. No account, no API key, no subscription. The payment rides along with the request. Because it is an open standard rather than one company's product, any service can accept x402 and any agent can pay it. Since launching in 2025, x402 has processed [over 100 million payments](/blog/how-x402-brings-real-time-crypto-payments-to-the-web), and an industry group now stewards the standard with backing from major payment and technology companies. x402 turns a single web request into something an agent can pay for on its own, which is exactly the unit agents work in. ## How does an x402 payment work? The flow is short enough to follow end to end: - The agent requests a resource, say a market-data endpoint. - The server replies with a 402 and the price, plus the address to pay. - The agent pays the small amount in stablecoins from its own wallet. - The agent repeats the request with proof of payment, and the server returns the data. All of this happens in the background, in well under a second, with no human in the loop. The agent never browses to a checkout page or types in a card. It reads the price, checks the purchase against its budget, pays, and moves on. For a deeper walkthrough of the mechanics, sessions, and facilitators, see [how x402 brings real-time crypto payments to the web](/blog/how-x402-brings-real-time-crypto-payments-to-the-web). From the agent's point of view, paying for a service is just one more step in finishing the task, no different from making the request itself. ## Why do agentic payments settle in stablecoins? Traditional bank transfers were built for people and businesses, not software. They clear in batches, often pause outside business hours, and slow to a crawl at borders, where a payment can take days and pick up fees along the way. A person planning a purchase can wait for all of that. An agent in the middle of a task cannot, because its next step depends on the payment finishing first. Stablecoins fit the way agents work. Because a stablecoin holds a steady value pegged to a real currency like the dollar, it can move at internet speed without the price swinging in the seconds it takes to pay. Payments settle in seconds, at any hour, across borders, in amounts as small as a fraction of a cent. Just as important, the balance lives somewhere software can read and move on its own, without waiting on a bank to act for it. That last point is the one that quietly matters. Crypto rails make money something software can handle directly, the way it already handles data. Once a payment is just another value an agent can check and send, paying for a service stops being a special case that needs a person in the loop. ## How do agentic payments power agentic commerce? Paying for an API is the narrow case. The same rails let agents take part in commerce more broadly, which is why agentic commerce is climbing as both a search term and a business priority. Once an agent can hold funds and settle a charge, it can compare options, buy the one that fits, and pay, without handing control back to a person at the final step. x402 is not the only way to do this. Other payment standards are emerging for different needs, some built for high-volume sessions, others designed to ride traditional card rails. Most solve the same core problem from a different angle, and a business that wants to accept agent traffic should not have to bet on a single winner. We compare two of the leading approaches in [x402 vs MPP, comparing agent payment protocols](/overviews/x402-vs-mpp-comparing-agent-payment-protocols). The protocol is plumbing. What matters is that money has become something software can move on its own, and that unlocks a commerce layer that did not exist when every purchase needed a human. ## What can you build with agentic payments? A few patterns are already common: - **Research agents that buy their own data.** An agent assembling a report can pay for a premium dataset or a single API call the moment it needs one, then keep going, instead of failing because no one pre-purchased access. - **Services that meter agents by usage.** An API provider can charge per call over x402 and serve agent customers who never sign up, never hold a key, and pay only for what they use. - **Autonomous workflows that pay as they run.** A pipeline can call paid tools and buy compute, settling each cost in real time, so the work never blocks waiting on a human to approve a vendor. The common thread is removing the human bottleneck at the moment of payment, which is the one place agents could not previously act on their own. ## What do you need to get right? Giving software the ability to spend money raises an obvious question. What stops it from spending too much, or being tricked into it? The answer starts with how an agent's identity works. An agent pays from a wallet, and that wallet is controlled by a private key, the secret credential that proves ownership and authorizes every transaction. Whatever the agent can sign with that key, it can spend. So the wallet should be scoped: funded with a small balance, limited to approved recipients, and capped per transaction and per day. Tools like [agent wallets in the Alchemy CLI](/blog/agent-wallets-alchemy-cli) exist to give an agent a wallet it can use without ever holding the raw key itself. The second risk is instruction. Agents act on text, and text can be manipulated. A malicious prompt buried in a web page or a tool response can try to talk an agent into paying the wrong party. Spending limits and an approved-vendor list turn the worst case from "drained account" into "small, capped loss," which is why those guardrails are not optional. The rule is simple. Give an agent only the spending authority the task requires, and assume any authority you grant can be misused. Design the limits first, the capability second. ## How do you start building agentic payments? We make both sides of an agentic payment straightforward to stand up. If you run a service and want to accept agent traffic, [AgentPay](https://agentpay.alchemy.com/) lets you take payments across x402 and the other emerging protocols through one interface, so you can accept agents today without betting on which standard wins. If you are building the agent, our infrastructure speaks x402 directly. An agent can pay for blockchain data and [RPC access](/rpc-api) across 100+ networks using USDC on Base, starting from as little as $1 in credits and topping up on its own when the balance runs low, with no dashboard signup and no API key. The [Alchemy CLI](https://agents.alchemy.com/) gives an agent a scoped wallet to sign and pay with, our guide to [building onchain agents](/blog/how-to-build-onchain-agents) walks through wiring it together, and agents can even [sign up for Alchemy on their own](/blog/ai-agents-can-now-sign-up-for-alchemy). If you want the bigger picture first, our explainers on [what agent payments are](/overviews/what-are-agent-payments) and [agentic finance in 2026](/overviews/agentic-finance) go deeper on each piece. Money is becoming something software can move on its own. The agents are ready. Now the rails are too. ## Frequently asked questions ### What is the difference between agentic payments and x402? Agentic payments are the broad category, any payment an AI agent makes on its own within limits you set in advance. x402 is a specific open protocol for making those payments over the web, built on the HTTP 402 status code. Most agents that pay autonomously today use x402, but the category is larger than any single protocol. ### What do AI agents use to pay for x402 requests? Agents pay in stablecoins, crypto tokens pegged to a real currency like the US dollar, so the amount holds its value while it settles in seconds. On Alchemy, an agent can pay for blockchain data across 100+ networks using USDC on Base, starting from as little as $1 in credits and topping up on its own. ### How much does an x402 payment cost? There is no subscription or account fee. An agent pays only the price the server sets for each request, which can be a fraction of a cent, plus a small network fee to settle the payment onchain. That makes tiny, per-call purchases practical in a way traditional card rails are not. ### How do you stop an AI agent from overspending? Fund the agent's wallet with a small balance and scope what it can do. Cap spending per transaction and per day, and limit it to approved recipients. Because the wallet is controlled by a private key the agent signs with, the safe rule is to grant only the spending authority the task actually needs. ### Which blockchains does x402 work with? x402 began on Base and, since its V2 update in December 2025, works across several networks including Solana, Ethereum, and Polygon. Because it is an open standard rather than one company's product, any service can accept it and any agent with a funded wallet can pay. ### Do you need a crypto background to accept agent payments? No. A service can accept agent traffic without writing blockchain code. Alchemy's AgentPay handles payments across x402 and other emerging protocols through one interface, so you can start accepting agents without picking a winning standard or managing wallets and settlement yourself. --- # AI agent crypto glossary: x402, ACP, MCP & 20+ terms | Alchemy URL: https://www.alchemy.com/overviews/ai-agent-crypto-glossary.md AI agents are starting to do real work onchain. They call APIs, buy data, pay for compute, and move value without a human clicking approve. That shift brought a wave of new vocabulary, and most of it is scattered across protocol docs, launch threads, and standards drafts. This glossary collects the terms you actually need to follow agentic crypto. We grouped them by what they do, gave each one a plain definition first, then added context. If you are new to the space, read top to bottom. If you came from a search for x402 protocol explained or another single term, jump to it. ## What are agent payments? Agent payments are transactions an AI agent initiates and settles on its own, within spend limits set by a human or system in advance. Instead of a person entering payment details, the agent can pay directly for API calls, datasets, compute, and other services. Just as human payments rely on rails like ACH, debit, and credit, agent payments are emerging around new protocols designed for autonomous agents. Alchemy AgentPay helps merchants accept agent-native payments across supported agent payment protocols ## Agentic Payment Protocols ### What is x402? [x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) is an open standard for paying for web resources using the HTTP 402 Payment Required status code. When an agent or person requests a paid resource, the server can respond with a 402 and a price for that resource, the agent resends the request with the payment included, and the request completes. x402 lets agents pay per request without accounts or stored cards. ### What is ACP (Agentic Commerce Protocol)? ACP is an open standard developed by OpenAI and Stripe to make online checkouts agent-ready. It allows a business to define how an AI agent can initiate a purchase using the merchant's existing commerce and payment infrastructure. ACP is another protocol for agent-driven commerce that defines how an agent discovers, negotiates, and pays for goods and services. It is one of several agent payment protocols that agents could use to make payments. ### What is MPP (Machine Payments Protocol)? MPP is an emerging standard for how merchants accept agent-initiated payments built by Tempo and Stripe. An agent can request a resource from a service, API, Model Context Protocol (MCP), or any HTTP addressable endpoint, and the service responds with a payment request. The agent authorizes the payment, and the resource is delivered to the agent. ### What is a Stablecoin? A stablecoin is a token designed to hold a steady value, usually pegged to a currency like the US dollar. Agents lean on stablecoins because predictable value makes automated spending and accounting far simpler than using a volatile asset. ## Agent tooling ### What is MCP (Model Context Protocol)? MCP is an open protocol that lets AI models call external tools and data sources through a standard interface. An MCP server exposes capabilities, and an MCP client, like a coding assistant or chat model, can use them. For crypto, an MCP server can give an agent safe, structured access to onchain data and actions. Our own [Alchemy MCP Server](https://www.alchemy.com/docs) exposes Alchemy's tools to agent clients this way. ### What are agent skills? Agent skills are machine-readable instructions that tell an agent how to perform a specific task or set of tasks. Skills can bundle scripts, reference materials, templates, and other resources. ### What is tool calling? Tool calling is the mechanism by which an agent or user invokes an external function, returns the result into the context where the tool was called, and continues reasoning. It is the foundation under MCP and most agent frameworks. ## Identity, auth, and security ### What is agent identity? Agent identity is how a system proves which agent is acting and what it is allowed to do. Without it, you cannot safely let software move money or access private data on its own. ### What are spend limits? Spend limits are caps a human or system places on what an agent can pay, over a period or per transaction. They are the core safety control that makes autonomous payments acceptable in production. ### What is an allowlist? An allowlist is a defined set of addresses, merchants, or destinations an agent is permitted to transact with. Pairing allowlists with spend limits narrows the blast radius if an agent misbehaves. ### What are network tokens? Network tokens are payment credentials that can substitute for primary account numbers for online purchases so that the underlying payment credentials are never exposed. These matter for agent commerce because they bridge agent payments and onchain payments into traditional card networks. ## Infrastructure ### What is RPC (Remote Procedure Call)? RPC is a protocol that allows a computer program to execute a procedure or function on another computer or server, without the need for the developer to code the communication details. With RPC, you can call functions on remote computers as if they were local, making it easier to develop distributed applications. RPC is the request-response interface to read from and write to a blockchain. Agents depend on reliable RPC the same way any distributed application does, just without any human in the loop. ### What is a bundler? A bundler is a service that packages account-abstraction operations and submits them onchain. It is part of how smart accounts, which many agents use, get their transactions executed. ### What is gas? Gas is the fee paid to execute a transaction on a blockchain. Agents need an efficient gas solution, such as a gas manager that sponsors fees, so a low balance does not silently stall their work. ### What is account abstraction? Account abstraction lets a smart contract act as a user account, which enables features like gas sponsorship, batched actions, and programmable spending rules. Those features map almost perfectly onto what an autonomous agent needs. ## How these terms fit together Most agentic systems combine several of these at once. An agent uses MCP or a framework like GOAT to reach tools, an identity and spend-limit layer to stay inside guardrails, a payment standard like x402 to settle, and reliable infrastructure underneath so none of it stalls. We think the teams that win here treat agents as a new kind of user on the same platform that already serves apps and businesses, not as a separate stack bolted on the side. ## FAQs ### What is the x402 protocol in simple terms? It is a way for software to pay for a web resource the moment it is asked to, using the HTTP 402 Payment Required response. The agent gets a price, pays, and the request goes through, with no account setup. ### What are the most important AI agent crypto terms to know first? Start with agent payments, x402, MCP, stablecoins, spend limits, and account abstraction. Those six cover how agents pay, how they reach tools, and how they stay inside safe limits. ### Why do AI agents use crypto rails instead of normal payments? Crypto rails let an agent pay per request, in small amounts, without accounts or human checkout, and stablecoins keep the value predictable. Many real systems bridge both crypto and card rails rather than picking one. ### Where can I learn how agent payments actually work? See our companion explainer on [agent payments](/blog/agentpay-openbeta), which walks through how agents pay for APIs, data, and compute, and where standards like x402 fit. ## Build agentic products on Alchemy Alchemy is the blockchain platform behind many of crypto's biggest products, and we are extending the same rails to agents. Explore what is possible at [alchemy.com/agents](https://www.alchemy.com/agents) or read the [docs](https://www.alchemy.com/docs). --- # Alchemy vs. Ankr - Multichain RPC & API Provider Comparison URL: https://www.alchemy.com/overviews/alchemy-vs-ankr.md Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Ankr. Alchemy and Ankr are [multichain blockchain node providers ](https://www.alchemy.com/overviews/blockchain-node-providers)that enable web3 developers to build decentralized applications. This article will compare these companies across multiple categories to help you [choose a web3 node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider). In this article, Alchemy and Ankr will be compared across nine key categories: 1. Supported Blockchains 1. Node Latency 1. Data Accuracy 1. Node Reliability 1. Pricing 1. Enhanced APIs 1. Developer Tools 1. User Experience 1. Customer Support ## **Alchemy vs. Ankr comparison** In this section, we will compare Alchemy and Ankr, evaluating both platforms across several key dimensions. This will provide a comprehensive overview of their strengths and weaknesses, allowing readers to decide which platform is best suited to their needs. ### **What is Alchemy?** Alchemy is the world’s leading developer platform for blockchain and [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development). This platform empowers developers with a suite of tools, including analytics, [monitoring](https://www.alchemy.com/monitor), etc., to enhance [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) while leveraging infrastructure that can scale to multi-nodes while maintaining data accuracy. With an emphasis on high reliability, Alchemy has established itself as a fundamental asset in the Web3 tech stack for developers and enterprises alike. The combination of quality and reliability ensures customers an avenue for continuous growth. The Alchemy developer suite consists of numerous enhanced APIs, contributing significantly to the developer experience. The numerous tools consisting of the NFT API, Trace API, [Token API](https://www.alchemy.com/dapps/ankr), Debug API, etc., offer a powerful approach to development in Web3. ### **What is ankr?** [Ankr is a Web3 infrastructure provider](https://www.alchemy.com/dapps/ankr) simplifying decentralized development and staking across multiple blockchains. Its node network supports many Proof-of-Stake blockchains, allowing for easy global node deployment. With simplified node deployment, multiple API endpoints, and utility-driven staking, Ankr makes it easier for users to get started. The launch of Ankr Network 2.0 introduced new products designed to increase the decentralization of Web3 services. These include development projects that use the Ankr Network and can access it through a [decentralized RPC layer](https://www.alchemy.com/overviews/rpc-node). The ANKR token will also have additional utility, allowing access to on-chain data, earning as independent node providers, and staking for network security. Ankr will also be transitioning into a consensus-based model unveiling the Ankr DAO. Its objective will be to leverage its community for fund allocation, operational decisions \(i.e., pricing, revenue, etc.\), and strategic product development decisions \(i.e., future RPC onboarding\). Now, we'll dive deep into 9 important considerations. ### **1. Supported blockchains** Alchemy provides RPC and Enhanced APIs for: - Ethereum - Optimism - Arbitrum - Polygon PoS - Starknet - Solana - Base - Astar \(Polkadot\) Alchemy also supports the following testnets: - Goerli \(Ethereum, Optimism, Arbitrum\) - Sepolia \(Ethereum\) - Mumbai \(Polygon\) Ankr's decentralized model allows for supporting more chains than Alchemy, however, the same quality assurances cannot be made across every network. Developers should opt for Alchemy when available, and use Ankr for chains that aren't supported by Alchemy. ### **2. Node latency** During the second week of August 2022, we queried eth_blockNumber and measured the time between the origination of the request and the receipt of the response on the [Ethereum mainnet](https://www.alchemy.com/ethereum) for Alchemy. The results of this test showed that Alchemy averaged 39.2 ms for the US East location over the course of a week. Ankr's independent node providers create a globally distributed network that differs depending on where you located, and which chain you are requesting data from. The multi-region support allows availability globally, with nodes in nearly all continents. For current cross-provider data, use Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks) to compare latency, success rates, and failed requests across popular chains and regions. ### **3. Data accuracy** Blockchain data accuracy is a measure of how many requests to the blockchain returned correct and consistent data. Incorrect data can occur because nodes receive new information at different times, and don't always have the same view of the network as the [**newest blocks propagate across the network**](https://www.alchemy.com/overviews/transaction-propagation). While low request latency is important, it becomes less significant if the [**information returned by blockchain nodes is incorrect**](https://www.alchemy.com/blog/data-accuracy). Without accurate data, your dapp may experience several issues, such as: 1. Requests return different answers to the same question 1. Apps may retrieve incorrect transaction nonces 1. Users have a poor experience when tokens and NFTs appear incorrectly Alchemy specializes in providing the most accurate blockchain data across all products with an explicit consistency layer called [Vox Nodi](https://www.alchemy.com/blog/data-accuracy), enabling a sustainable system. By diverting away from the load balancer infrastructure, Alchemy ensures that data accuracy is the top priority for Web3 development. Compared to other centralized node providers, Alchemy sets the industry standard. Ankr's decentralized model leads to more data inconsistency on average according to [a benchmarking tool](https://www.alchemy.com/blog/data-accuracy/) that showed 0 incorrect pieces of data served by Alchemy's Ethereum nodes versus 11 incorrect pieces of data served by Ankr's nodes. Try it for yourself, as results may vary! ### **4. Node reliability** **Alchemy**: Compared to competitors that provide 72% reliability with standard nodes, the Alchemy Supernode ensures a 99.9% up-time for blockchain accessibility. All Alchemy plans offer access to the Supernode. **Ankr**: The global presence of Ankr’s nodes has granted this network to be a strong and reliable node provider. Following a similar structure of telecommunication network providers, Ankr emphasized an expansion approach to target 24\+ regions creating a globally distributed network. ### **5. Pricing** Pricing plays a pivotal role when selecting a web3 node provider. Let's delve into the cost structures of both Alchemy and Ankr to determine which offers the best value. #### Alchemy pricing Alchemy offers four [value-packed plans](https://www.alchemy.com/pricing), each tailored to meet the specific needs of developers and enterprises. These plans provide targeted solutions that perfectly cater to the unique requirements of each user group. ##### Alchemy free \($0/month\) - 300 million compute units \(CUs\)/month - 330 compute units per second \(CUPS\) - All developer tools - Enhanced APIs and SDK - Full archive data - Multichain mainnets and testnets - No daily request limits - 5 apps - 24/7 Discord Support ##### Alchemy growth \($49/month\) In addition to everything included in Alchemy's free version, growth tier customers receive: - 400 million compute units \(CUs\)/month - Auto-scaling compute units at $1.2 per 1 million additional CUs - Parity Trace and [gETH](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) debug - Enhanced transaction propagation - 2x higher throughput \(660 CUPS\) - 15 apps - 24/7 dedicated Discord support **Alchemy Scale Tier \($199/month billed annually\)**‍ For teams with big goals who want to move quickly, the [new Scale tier](https://www.alchemy.com/blog/scale-tier) provides Alchemy's best products and prices at the click of a button. - 1.5 billion compute units \(CUs\)/month - 3,000 compute units per second - Auto-scaling compute units at $1 per 1 million additional CUs. - Ability to purchase discounted additional CUs at $0.7 per 1 million on the annual plan. - 30 apps - 24/7 dedicated Discord support ##### Enterprise \(custom pricing\) For enterprise-scale web3 applications like [OpenSea](https://www.alchemy.com/dapps/opensea), [The Graph](https://www.alchemy.com/dapps/the-graph), and 0x, Alchemy’s enterprise tier offers customized scale, throughput, and support to manage the largest apps in web3. - Committed use discounts - Custom SLAs - Pay with crypto - Custom throughput - Unlimited apps - 24/7 VIP support Additionally, large web2 corporations transitioning to web3, such as Meta, Shopify, and Adobe, with millions of users, opt for Alchemy to fulfill their scalability, dependability, and low latency demands. #### Ankr  pricing ‍ Ankr provides three distinct plans, each designed to cater to the diverse needs of developers and businesses. ##### Free \($0/month\) - 30 requests per second - 23 chains - 10 regions - Community support ##### Premium \($10 per 100m credits\) - 1500 requests per second - 30 chains - 40 regions - Support portal ##### Enterprise \(from $1000\) - 15000 requests per second - Custom chains - Custom regions - Engineering team support ### **6. Enhanced APIs** Besides blockchain node services, Alchemy and Ankr both offer [enhanced APIs](https://www.alchemy.com/enhanced-apis), SDKs, and other blockchain developer tools. #### **NFT API** The [Alchemy NFT API](https://www.alchemy.com/nft-api) is designed to streamline NFT development, including searching, verifying, and displaying on all major blockchains. It is the most trusted NFT API among top NFT platforms due to its ease of use in both Web2 and Web3, lightning-fast speed, availability on all major chains, and production-grade quality. While Ankr also offers an NFT API, it has limitations in terms of availability on major chains and developer-friendliness. #### **Web3 SDK** Alchemy’s SDK is the easiest way to start developing in the Web3 space. Once connected to a dapp, just two lines of code are needed to extend Ether.js and gain access to the NFT and Enhanced APIs, multi-chain support, and more. The [Ankr SDK](https://www.alchemy.com/dapps/ankr-sdk) also provides access to the NFT, Query, and Token APIs, allowing for reduced requests, lower cost per request, and querying multiple chains simultaneously. However, the Alchemy SDK offers additional developer tools from the beginning to the production stages of development. #### Alchemy's account abstraction SDK The [**Account Abstraction SDK**](https://www.alchemy.com/docs/wallets/reference/aa-sdk/core) can be used to simplify the interaction with account abstraction primitives \([**user operations and bundlers**](https://www.alchemy.com/overviews/what-is-a-bundler)\). It's a complete solution that implements an EIP-1193 provider, handling gas estimation, signing the tx, and fetching paymaster data \(if you use one\) with one method call. If you're using **eth_sendTransaction**, the SDK converts that into a user operation for you and sends it along. ### **7. Developer tools** Alchemy strives to provide the best tools for developers as the all-in-one solution platform for Web3 development. Developers are encouraged to leverage the various solutions with the flexibility to build with confidence for unlimited scaling, additional features via the enhanced APIs, no request limitation, and an established community of builders. Alchemy’s suite of developer tools includes extensive documentation, tutorials, and articles, allowing developers to focus on what’s important without searching for information. ### **8. User experience** **Alchemy:** Alchemy's interface is streamlined and intuitive, tailored for developers. The dashboard provides quick insights into application metrics, and tools like Alchemy's composer simplify blockchain requests. The platform's design ensures easy navigation and efficient development. **Ankr:** Ankr emphasizes ease of use, focusing on making decentralized development straightforward. The launch of Ankr Network 2.0 highlights its dedication to user-centric enhancements. Their platform combines functionality with community engagement, making it user-friendly and community-driven. ### **9. Customer support** **Alchemy:** Alchemy offers 24/7 Discord support, even for its free tier users. Their extensive documentation and active community further enhance the support experience, ensuring developers have the resources they need. **Ankr**: Ankr offers customer support via Discord. With the launch of the Ankr DAO, they demonstrate a dedication to community-driven support, placing importance on feedback and user contributions. Premium users also have access to custom SLA support. ## **Which node provider is better - Alchemy or ankr?** Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Ankr. The key difference between Alchemy and Ankr lies in their structural and operational differences. Ankr operates on a decentralized model, has its own token \(ANKR\), and also provides app chains. On the other hand, Alchemy adopts a centralized approach, supports a variety of public blockchains, offers an extensive array of APIs, and equips teams with a broader suite of developer tools to facilitate their building process. The best web3 node provider and blockchain development platform vary for each team based on their product, budget, and tooling needs. When deciding between Alchemy and Ankr, it’s important to determine which features are most important for the success of your project and assess which node provider will offer the best experience both now and as you scale. Developers may also want to [consider Alchemy vs. Quicknode](https://www.alchemy.com/overviews/alchemy-vs-quicknode) before making a final decision. With the most powerful free tier, web3 startups would be wise to [**bootstrap on Alchemy**](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT) to gain access to an extensive set of developer tools and APIs. --- # Alchemy vs. Chainstack URL: https://www.alchemy.com/overviews/alchemy-vs-chainstack.md Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Chainstack. Nodes play a crucial role in the architecture of a blockchain, maintaining decentralization and holding a copy of the entire transaction history of a given chain. Just as many large web companies use AWS as their cloud platform instead of hosting their own, [blockchain node providers](https://www.alchemy.com/overviews/blockchain-node-providers) host and manage nodes on behalf of their clients. Information requests about the blockchain are routed through the provider to the blockchain, and the information is then returned via the provider. These providers are critical to developing more advanced blockchain technologies and [apps](https://www.alchemy.com/dapps/top/defi-dapps), as they facilitate scalability. More fragile infrastructures can be overwhelmed by a sudden surge in requests \(such as a popular NFT drop\) and may fail, resulting in lost profits and dissatisfied customers. There are a [number of providers](https://www.alchemy.com/overviews/blockchain-node-providers) in the industry, but this article will focus on comparing Alchemy and Chainstack. Alchemy and Chainstack will be compared across nine categories: 1. Supported Blockchains 1. Node Latency 1. Data Accuracy 1. Node Reliability 1. Pricing 1. Enhanced APIs 1. Developer Tools 1. User Experience 1. Customer Support ## Alchemy vs. Chainstack comparison [Choosing the correct node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) for your project is mission critical. Reliability, speed, efficiency, and accuracy are all important factors to consider.  ### What is Alchemy? Alchemy is a multichain node provider offering specialized APIs, developer tools, and support to individual blockchain developers and larger companies. It is used to build [NFT marketplaces](https://www.alchemy.com/dapps/best/nft-marketplaces), [DAOs](https://www.alchemy.com/dapps/top/daos), Web3 wallets, DeFi protocols, and data analytics.  By outsourcing their node infrastructure to Alchemy, builders can focus on more critical aspects of their projects. [Alchemy's SDK](https://www.alchemy.com/sdk) makes it easy to make calls and implement any necessary tools for a project with just a few lines of code. While many high-profile web3 companies use Alchemy's platform, it is particularly popular among NFT marketplaces. ### What is chainstack? [Chainstack](https://www.alchemy.com/dapps/chainstack) offers a service similar to Alchemy, providing access to Ethereum and Bitcoin nodes and a range of hosting solutions for developers. They describe their platform as a “control panel for blockchains.”  Chainstack tends to focus more on enterprise and business-level clients than individual developers. It supports multiple chains and offers hybrid options, allowing clients to choose how much they want to manage in-house based on their customization needs and computing capabilities. ### 1. Supported blockchains Both providers support a variety of blockchains. Alchemy supports the following chains: - Ethereum - Optimism - Arbitrum - Polygon PoS - Starknet - Solana - Base - Astar \(Polkadot\) Alchemy supports the following testnets: - Goerli \(Ethereum, Optimism, Arbitrum\) - Sepolia \(Ethereum\) - Mumbai \(Polygon\) Chainstack supports a slightly broader range of blockchains, including: - Ethereum - Polygon - BNB Chain - Avalanche - Fantom - Solana - Harmony - StarkNet - Tezos - Fabric - Corda - Bitcoin - Quorum - MultiChain - and more Scalability is a critical aspect of blockchain systems. The challenges associated with blockchains only become more pronounced at scale, and adding more nodes to a system can negatively impact accuracy and speed. [Alchemy’s Supernode](https://www.alchemy.com/supernode) is designed to handle any number of requests and can instantly scale to meet the needs of its users. For instance, one of Alchemy’s clients, Polygon, has grown 95x since it began using Alchemy, yet its systems remain as fast and efficient as ever. Chainstack’s primary scaling solution is Warp Transactions. By utilizing a global server network, nodes are propagated through the Blockchain Distribution Network \(BDN\), allowing for faster validation. This increases transaction speed and enables a more rapid mempool service. ### 2. Node latency The two main types of web3 node latency are block discovery latency - the time it takes to discover a new block, and request latency - the time between sending an RPC request and receiving a response. #### Node latency test: Alchemy vs. Chainstack In this test, we measured the time between the origination of the request and the receipt of the response on the Ethereum mainnet by querying **eth_blockNumber**. We ran this query every 15 minutes, aggregated the results, and averaged the number. In our most recent test between August 10th, 2022, - August 17th, 2022, **Alchemy averaged 38.72 ms** and Chainstack averaged 426.28. ms for the US East location. Even after taking Alchemy's secondary infrastructure, which provides additional data accuracy and reliability guarantees, **Alchemy is 10x more performant**. For current provider data, compare latency, success rates, and failed requests in Alchemy's [RPC latency benchmarks](https://www.alchemy.com/benchmarks). ### 3. Data accuracy Blockchain data accuracy is a measure of how many requests to the blockchain returned correct and consistent data. Incorrect data can occur because nodes recieve new information at different times, and don't always have the same view of the network as the [**newest blocks propagate across the network**](https://www.alchemy.com/blog/data-accuracy). While low request latency is important, it becomes less significant if the [**information returned by blockchain nodes is incorrect**](https://www.alchemy.com/blog/data-accuracy). Without accurate data, your dapp may experience several issues, such as: 1. Requests return different answers to the same question 1. Apps may retrieve incorrect transaction nonces 1. Users have a poor experience when tokens and NFTs appear incorrectly The [reorganization](https://www.alchemy.com/overviews/what-is-a-reorg) of blockchain data can sometimes result in consistency issues for users. Alchemy’s Supernode maintains accuracy even in the face of such reorganization, ensuring 100% data correctness. In contrast, Chainstack uses a fault-tolerant load balancer that employs an aggregated API running on top of Ethereum, Polygon PoS, [Binance](https://www.alchemy.com/dapps/binance) Chain, Avalanche, Fantom, and Bitcoin nodes, as well as elastic Solana RPC nodes, to prevent inaccuracies. ### 4. Node reliability The Alchemy Supernode ensures reliability even as developers scale their projects by utilizing a more distributed system rather than running directly on nodes, which reduces overall latency. Through its proprietary coordinator service, Alchemy provides accurate and up-to-date data. Compared to competitors that provide 72% reliability with standard nodes, the Alchemy Supernode ensures a 99.9% up-time for blockchain accessibility. All Alchemy plans offer access to the Supernode. ### 5. Pricing Price is an important consideration when choosing either Alchemy or Chainstack. Here are the main pricing tiers for each company and a few key features. #### **Alchemy pricing** Alchemy has four main [pricing tiers](https://www.alchemy.com/pricing): Free, Growth, Scale, and Enterprise. ##### Alchemy free \($0/month\) - 300 million compute units \(CUs\)/month - 330 compute units per second \(CUPS\) - All developer tools - Enhanced APIs and SDK - Full archive data - Multichain mainnets and testnets - No daily request limits - 5 apps - 24/7 Discord Support ##### Alchemy growth \($49/month\) In addition to everything included in Alchemy's free version, Growth tier customers receive: - 400 million compute units \(CUs\)/month - Auto-scaling compute units at $1.2 per 1 million additional CUs - Parity Trace and gETH debug - Enhanced transaction propagation - 2x higher throughput \(660 CUPS\) - 15 apps - 24/7 dedicated Discord support **Alchemy Scale \($199/month billed annually and $289/month billed monthly\)** For teams with big goals who want to move quickly, Scale tier provides Alchemy's best products and prices at the click of a button. - 1.5 billion compute units \(CUs\)/month - 3,000 compute units per second - Auto-scaling compute units at $1 per 1 million additional CUs. - Ability to purchase discounted additional CUs at $0.7 per 1 million on the annual plan. - 30 apps - 24/7 dedicated Discord support ##### Alchemy enterprise \(custom pricing\) - Committed use discounts - Custom SLAs - Pay with crypto - Custom throughput - Unlimited apps - 24/7 VIP support #### Chainstack  pricing ‍ Chainstack has four main pricing tiers: Free, Growth, Business, and Enterprise. ##### Free \($0/month\) - Full nodes - Consortium nodes - Unlimited users/projects - Analytics - Platform API - 3 million full nodes per month - 0 archive nodes per month ##### Growth \($49/month\) - Archive Nodes - Warp Transactions - Dedicated nodes - Bolt turbocharged sync - 20 million full node requests per month - 3 million archive node requests per month ##### Business \($349/month\) - Debug and trace APIs on - Elastic archive nodes - [BNB Smart Chain](https://www.alchemy.com/bnb-smart-chain) dedicated nodes - Hybrid hosting - 140 million full node requests per month - 20 million archive node requests per month ##### Enterprise \($990/month\) - Custom configuration - Tailored load balancing - White label branding - Custom monitoring - Private networking - Priority support option - 400 million full node requests per month - 60 million archive node requests per month The primary difference between the two providers lies in [the level of access provided in their free tiers](https://www.alchemy.com/overviews/free-ethereum-rpc). Alchemy allows for 9 million more transactions per month and offers unlimited access to archive nodes, which can be challenging to implement otherwise. Alchemy’s business tier is also more customizable, allowing customers with intermediate needs to avoid paying full business and enterprise pricing, as they would with Chainstack. ### 6. Enhanced APIs It is relatively straightforward to connect the Alchemy SDK to your existing project, requiring only two lines of code to install, and it is fully compatible with Ethers.js if that is already in use in a given project. In addition to RPC services, Alchemy and Chainstack offer [APIs to enhance the functionality of your dApp](https://www.alchemy.com/enhanced-apis). Instead of writing complex code to utilize APIs and SDKs, you can deliver improved functionality more quickly. Alchemy and Chainstack each have their own collection of APIs for their developers to use. #### Alchemy APIs The additional APIs and SDKs offered by Alchemy include: - NFT API - Web3 SDK - Trace API - Notify API \(Webhooks\) - Subscription API \(Websockets\) - Flashbots API \(send private transactions\) - Token API - Transfers API - Transaction Receipts API #### Chainstack APIs Chainstack provide developers APIs to access the following: - Blocks info - Transactions info - Executing transactions - Debug & trace - Chain info - Gas data - Accounts info - Logs and events - Client information #### NFT API Because both Alchemy and Chainstack offer an NFT API, let's compare the comprehensiveness of the API endpoints. ##### **Alchemy’s NFT API** [Alchemy's NFT API](https://www.alchemy.com/nft-api) is one of the most widely used in the industry, powering marketplaces such as Opensea, Makersplace, [SuperRare](https://www.alchemy.com/dapps/superrare), and many others. When used in combination with Alchemy's SDK, it is both easy to use and effective.  The API supports 19\+ different methods usable in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). For more information, check out the detailed [documentation](https://www.alchemy.com/docs/reference/nft-api-quickstart) of all available Alchemy NFT methods. Alchemy offers the following [NFT API endpoints for Ethereum](https://www.alchemy.com/docs/reference/nft-api-quickstart): - getNFTs - getNFTMetadata - getContractMetadata - getNFTsForCollection - getOwnersForToken - getOwnersForCollection - getSpamContracts - isSpamContracts - reingestContract - getFloorPrice - computeRarity - summarizeNFTAttributes - reportSpam ##### **Chainstack NFT API** Chainstack provides NFT APIs that allow developers to: - Fetch NFTs - Search NFTs - Mint NFTS - Manage NFTs **Any builders in the NFT space will find Alchemy to be far superior compared to Chainstack.** #### Alchemy's account abstraction SDK The [**Account Abstraction SDK**](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart) can be used to simplify the interaction with account abstraction primitives \([**user operations and bundlers**](https://www.alchemy.com/overviews/what-is-a-bundler)\). It's a complete solution that implements an EIP-1193 provider, handling gas estimation, signing the tx, and fetching paymaster data \(if you use one\) with one method call. If you're using **eth_sendTransaction**, the SDK converts that into a user operation for you and sends it along. ### 7. Developer tools In addition to APIs, Alchemy and Chainstack offer a range of developer tools. The Alchemy dashboard is a powerful developer tool that eliminates the need to build a logging system for user requests. It automatically logs and categorizes all user requests, making debugging and software improvement easier. The dashboard also displays request success rates and current response times. Alchemy Notify can also alert users and developers about specific user actions, transaction states, or gas fees. ##### Alchemy developer tools: - Alchemy AI - generate web3 code quickly to supercharge your development cycle - **Explorer** - see historical request information to quickly identify patterns - **Mempool Visualizer** - monitor the current status of confirmed, stuck, and dropped transactions - **Composer** - troubleshoot RPC requests, replay failed transactions for easier debugging - **Debug Toolkit** - scan recent requests and quickly detect errors while debugging - **Dashboard** - get high-level analytics on your dapp performance - **Usage Analytics** - get dapp’s usage over different timeframes, app versions, and individual methods. - **Command Center** - get high-level app health, requests per second, response times, and error rates - **User Insights** - get geographic usage, traffic, and activity data, all without compromising user privacy or data security - **Alerts & Digests** - get automated alerts of error points, and a daily digest reporting all key health metrics of your dapp - **Faucets** - Alchemy provides multiple testnet faucets, including [Sepolia faucet ](https://www.alchemy.com/overviews/sepolia-eth)and [**Mumbai faucet**](https://www.alchemy.com/overviews/mumbai-faucet) Chainstack offers organized viewing of historical ledger data, as well as notifications about specific transactions and infrastructure alerts. They also list tools created by other developers on their website, along with their best use cases. ### 8. User experience Both Alchemy and Chainstack provide a relatively straightforward user experience. As mentioned earlier, implementing Alchemy’s SDK requires only a few lines of code. Alchemy provides a clear and detailed explanation of usage in its documentation. Chainstack offers a high degree of customization in its nodes and deployment options, particularly at the enterprise level. Depending on their needs, clients can use all or part of Chainstack’s infrastructure. ### 9. Customer support Alchemy provides 24/7 support from its engineers to all users and maintains a 98 CSat score. Chainstack offers 24/5 customer support to some customers and priority support \(24/7\) to enterprise-level customers. Both companies also offer community assistance and support through fairly active Discord servers. ## Which node provider is better - Alchemy or chainstack? Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Chainstack. Alchemy’s Supernode is particularly noteworthy, as it is unique to the company and extremely powerful in terms of scalability and accuracy. While Chainstack offers unique customization options in its enterprise tier, Alchemy’s free/developer tier allows for approximately nine million more transactions per month and provides unlimited access to archive nodes, which require significant computing power. For large enterprises, the customization options offered by Chainstack may be attractive. However, web3 development is largely driven by individual innovators, and for the average developer, Alchemy is likely the better choice due to the enhanced capabilities of its free tier and the power of its Supernode. By providing a single solution to the many challenges faced by node providers rather than separate ones \(such as an enhanced load balancer or elastic nodes\), Alchemy positions itself as both more reliable and useful as blockchain technology evolves. Therefore, there is no one correct answer to which node provider is best for your web3 project. To decide which multichain node provider is the right choice, determine the non-negotiable areas of your project \(e.g., blockchains\), test both options and choose the one that works best. With its extremely powerful free tier, developers can [get started on Alchemy](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT) with zero risk. Begin using Alchemy now to gain access to an extensive set of developer tools available for developers. --- # Alchemy vs. Infura - Blockchain Node Provider Comparison URL: https://www.alchemy.com/overviews/alchemy-vs-infura.md Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Infura. Alchemy and Infura are two [popular blockchain node providers](https://www.alchemy.com/overviews/blockchain-node-providers) that offer access to critical blockchain infrastructure as a service. [Self-hosting nodes](https://www.alchemy.com/overviews/running-your-own-node) is expensive due to the rising costs of cloud hosting, the cost of dedicated engineering resources to maintain them, and the lost opportunity costs when a node goes down due to CPU spikes, memory leaks, disk issues, bugs, and more. In this article, we'll help you decide which node provider is right for your needs by [comparing Alchemy and Infura](https://www.alchemy.com/infura-alternative) across nine categories: 1. Supported Blockchains 1. Node Latency 1. Data Accuracy 1. Node Reliability 1. Pricing 1. Enhanced APIs 1. Developer Tools 1. User Experience 1. Customer Support ## Alchemy vs. Infura comparison Alchemy and Infura are two blockchain node providers that help web3 startups build [apps](https://www.alchemy.com/dapps/top/defi-dapps) without running their own nodes. [Choosing the right blockchain node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) is a crucial step in the [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) process, as you want to use a developer platform that offers the most cost-effective requests, the best tools, reliable service, accurate data, and the ability to scale on demand to grow with your project. ### What is Alchemy? Alchemy provides blockchain APIs and node infrastructure, supporting over 10 million end users and powering some of [the world's top blockchain apps](https://www.alchemy.com/dapps), including [OpenSea](https://www.alchemy.com/dapps/opensea), [Trust Wallet](https://www.alchemy.com/dapps/trust-wallet), and 0x, and the largest web2 companies, such as Shopify and Adobe. Alchemy offers a suite of developer tools to help developers build, debug, and ship products faster and [monitor dashboards](https://www.alchemy.com/monitor) to track errors, user insights, and trends. Alchemy is one of the biggest venture-backed startups in web3 with investors including Pantera, Coatue, A16z, Redpoint, Lightspeed, [Coinbase](https://www.alchemy.com/dapps/coinbase), and some of the most accomplished individuals in tech, including Naval Ravikant, Peter Thiel, and Reid Hoffman. [Alchemy Supernode](https://www.alchemy.com/supernode) is the infrastructure engine that powers some of the world's top blockchain apps. It offers a one-line infrastructure API that does all the jobs of a single node and comes with the uptime, availability, and necessities to run a production application. The architecture uses dedicated distributed systems to power each node functionality and maintains real-time data correctness with a proprietary coordinator service. ### ‍ What is Infura? [Infura is another popular blockchain node provider](https://www.alchemy.com/enhanced-apis) offering APIs and developer tools for building on web3, focusing on Ethereum, Ethereum Layer 2s, Polygon, and IPFS. Infura is owned by ConsenSys, a software development company founded by Joe Lubin, an original co-founder of Ethereum. ConsenSys also owns projects such as [MetaMask](https://www.alchemy.com/dapps/metamask), an Ethereum wallet, and Truffle, a blockchain development environment. Infura uses a cloud architecture model, including syncing directly from object storage, a parity backend that runs in AWS Elastic Container Service \(ECS\), and a "Source of Truth" node that creates a snapshot of chain data and pushes it to an S3 bucket. Next, we'll dive in deep on 9 key factors to consider when evaluating Alchemy and Inufra. ### 1. Supported blockchains When searching for a new node provider, companies should consider the networks supported by providers to ensure that they support their current app, the chains they want to expand to immediately, and the chains on the provider's roadmap. Alchemy supports the following 8 blockchain networks: - Ethereum - Optimism - Arbitrum - Polygon PoS - Starknet - Solana - Base - Astar \(Polkadot\) Alchemy supports the following testnets: - Goerli \(Ethereum, Optimism, Arbitrum\) - Sepolia \(Ethereum\) - Mumbai \(Polygon\) Infura supports the following additional blockchains:: - Avalanche - Aurora - NEAR - Palm - Celo - Linea Alchemy and Infura both support multiple blockchains. Choosing one option versus the other should depend on whether either of them supports your primary and secondary expansion chains. For example, Alchemy would be a good choice if you're looking for a [Solana RPC provider](https://www.alchemy.com/overviews/solana-rpc/?a=c95ab3dab3), whereas Infura would be better if you want to build a dapp on Avalanche. ### 2. Node latency There are two kinds of blockchains latency. **Block discovery latency** is the amount of time a node provider uses to discover a new block, and **request latency** is the time difference between sending a blockchain request and receiving a response. Alchemy engineers recently conducted a side-by-side comparison of Alchemy and Infura to measure request latency. In this test, we queried **eth_blockNumber** and measured the time between the origination of the request and the receipt of the response on the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). We then aggregated and averaged this number across approximately 250 total queries, each at 15-minute intervals for Alchemy and Infura. In our most recent test, August 12th, 2022 - August 15th, 2022, **Alchemy averaged 39.96 ms**, and Infura averaged 38.18 ms for the US East location. For current public data across providers, compare latency, success rates, and failed requests in Alchemy's [live RPC provider benchmarks](https://www.alchemy.com/benchmarks). While Infura's request latency is 4% faster than Alchemy's in this test, Alchemy's secondary infrastructure, such as synchronizing 30% of Ethereum nodes before confirming a block, offers web3 developers higher guarantees for data accuracy, node reliability, and scalability. ### 3. Data accuracy It is essential for node providers to provide users and apps with [accurate blockchain data](https://www.alchemy.com/blog/data-accuracy), as incorrect information can negatively impact the web3 user experience: 1. Requests return different answers to the same question 1. Apps retrieve incorrect transaction nonces 1. Users have a poor experience when tokens and NFTs appear incorrectly In a recent data accuracy benchmarking experiment, we queried **eth_blocknumber** on the Ethereum mainnet over 1 million times in 24 hours and found that **Infura returned 705 inaccurate** block numbers, while **Alchemy returned 0 inaccuracies**. Alchemy Supernode allows Alchemy's API to act as a single node, enabling 100% accuracy. This is achieved with an explicit consistency layer called **Vox Nodi**, a consensus algorithm that allows each node to vote on the data it receives, and the data is only returned to the user when it is accurate. While Infura has 4% lower request latency than Alchemy, returning blockchain information faster at the expense of data accuracy can lead to a degraded web3 user experience. ### 4. Node reliability Node reliability is a measure of uptime, and it is an important category to compare when choosing a node provider because it directly impacts a dapp's ability to serve customers at any time of the day. Alchemy and Infura both have highly reliable systems. However, when examining historical uptimes on each node provider's status page, we find that, on average, Alchemy's systems have better uptime.  The [node reliability status page ](https://www.alchemy.com/pricing)shows the following comparisons for the Ethereum Mainnet from January 2022 to July 2022. - **January** - Alchemy \(100%\) vs. Infura \(100%\) - **February** - Alchemy \(100%\) vs. Infura \(99.98%\) - **March** - Alchemy \(100%\) vs. Infura \(99.97%\) - **April** - Alchemy \(99.97%\) vs. Infura \(99.91%\) - **May** - Alchemy \(100%\) vs. Infura \(100%\) - **June** - Alchemy \(100%\) vs. Infura \(100%\) - **July** - Alchemy \(99.92%\) vs. Infura \(99.99%\) In addition to overall uptime, there have been historical outages on Infura that have rendered many apps including MetaMask wallets unusable, even though the main Ethereum network was operational. In November 2020, Infura experienced a 7-hour outage that impacted millions of users due to a bug that affected their nodes running geth v1.9.9 and v1.9.13, two outdated versions of the geth node client. As recently as April 2022, Infura experienced a 3-hour outage due to an internal configuration change. ### 5. Pricing Compared to Infura, **Alchemy provides approximately 400% more free requests per month than Infura's free tier**, does not cap Archive node access, and doesn't require users to add a credit card on file to access Layer 2s, and sidechains like Optimism, Polygon, and Arbitrum. Alchemy and Infura both have four main [pricing tiers](https://www.alchemy.com/pricing): Free, Growth, Scale, and Enterprise. Here are the main pricing tiers for each company and a few key features: #### Alchemy pricing ##### Alchemy **free tier \($0/month\)** - 300 million compute units \(CUs\)/month - 330 compute units per second \(CUPS\) - All developer tools - Enhanced APIs and SDK - Full archive data - Multichain mainnets and testnets - No daily request limits - 5 apps - 24/7 Discord Support **Alchemy Growth Tier \($49/month\)** In addition to everything included in Alchemy's free version, growth tier customers receive: - 400 million compute units \(CUs\)/month - Auto-scaling compute units at $1.2 per 1 million additional CUs - Parity Trace and gETH debug - Enhanced transaction propagation - 2x higher throughput \(660 CUPS\) - 15 apps - 24/7 dedicated Discord support **Alchemy Scale Tier \($199/month billed annually\)**‍ For teams with big goals who want to move quickly, the [new Scale tier](https://www.alchemy.com/blog/scale-tier) provides Alchemy's best products and prices at the click of a button. - 1.5 billion compute units \(CUs\)/month - 3,000 compute units per second - Auto-scaling compute units at $1 per 1 million additional CUs. - Ability to purchase discounted additional CUs at $0.7 per 1 million on the annual plan. - 30 apps - 24/7 dedicated Discord support **Alchemy Enterprise Tier \(Custom\)** - Committed use discounts - Custom SLAs - Pay with crypto - Custom throughput - Unlimited apps - 24/7 VIP support #### Infura pricing Infura has four main pricing plans: Free, Developer, Team, and Growth. ##### Free \($0/month\) - Requests: 100,000 Requests/Day - Number of Apps: 5 - Features: Ethereum Mainnet and Testnets, Community Support Forum, and other basic features ##### **Developer \($50/month\)** - Requests: 200,000 Requests/Day - Number of Apps: 10 - Features: Everything in the Core plan plus Direct Customer Support, Archive Data \(additional $250 per Month\) ##### **Team \($225/month\)** - Requests: 1,000,000 Requests/Day - Features: Everything in the Developer plan plus 24hr Support Response Time ##### **Growth \($1000/month\)** - Requests: 5,000,000 Requests/Day - Features: Everything in the Team plan plus 8hr Support Response Time Interestingly, builders who choose to provide their credit card information to Alchemy will receive an additional 1,000,000 compute units per month on the free tier. ### 6. Enhanced APIs Besides node services, Alchemy and Infura provide additional developer tools and [expanded API functionality ](https://www.alchemy.com/enhanced-apis)to enable developers to build better technology with Token APIs, Trace APIs, WebSockets, and more. This section will review a few of the most important APIs and developer tools offered by Alchemy and Infura. #### **Alchemy's enhanced APIs** - NFT API - Web3 SDK - Trace API - Notify API \(Webhooks\) - Subscription API \(Websockets\) - Flashbots API \(send private transactions\) - Token API - Transfers API - Transaction Receipts API - Gas Manager API - Bundler API #### **Alchemy vs. Infura NFT API comparison** One expanded API offered by both Alchemy and Infura is an [NFT API](https://www.alchemy.com/nft-api) that gives developers access to new API endpoints for getting NFT data from the blockchain. Both NFT APIs offer helpful endpoints including: - getNFTs - isHolderOfCollection - getNFTsForCollection - getContractMetadata - getNFTSales Alchemy's NFT API takes it to the next level and currently supports the following additional [NFT API endpoints](https://www.alchemy.com/docs/reference/nft-api-quickstart) not supported by Infura: - getOwnersForCollection - getNFTMetadata - getOwnersForToken - getOwnersForCollection - getSpamContracts - isSpamContracts - reingestContract - getFloorPrice - computeRarity - summarizeNFTAttributes - reportSpam It should be noted that **Infura's NFT API is being deprecated on November 1, 2023** and will no longer be usable at that point. Infura's website recommends switching to a new provider, such as Alchemy! #### **Web3 SDK** [Alchemy SDK ](https://www.alchemy.com/sdk)is a drop-in replacement for Ethers.js that makes it simpler to build apps and has been battle-tested in production by leading wallets and applications. It offers many advantages over [ethers.js](https://www.alchemy.com/dapps/ethers-js), including resilient event delivery and lowered failure rate. #### Alchemy's account abstraction SDK The [**Account Abstraction SDK**](https://www.alchemy.com/docs/wallets/reference/aa-sdk/core) can be used to simplify the interaction with account abstraction primitives \([**user operations and bundlers**](https://www.alchemy.com/overviews/what-is-a-bundler)\). It's a complete solution that implements an EIP-1193 provider, handling gas estimation, signing the tx, and fetching paymaster data \(if you use one\) with one method call. If you're using **eth_sendTransaction**, the SDK converts that into a user operation for you and sends it along. ### 7. Developer tools Alchemy offers several developer tools to help developers build, debug, and ship products faster. These include: - Alchemy AI - generate web3 code quickly to supercharge your development cycle - **Explorer** - see historical request information to quickly identify patterns - **Mempool Visualizer** - monitor the current status of confirmed, stuck, and dropped transactions - **Composer** - troubleshoot RPC requests, replay failed transactions for easier debugging - **Debug Toolkit** - scan recent requests and quickly detect errors while debugging - **Dashboard** - get high-level analytics on your dapp performance - **Usage Analytics** - get dapp’s usage over different timeframes, app versions, and individual methods.  - **Command Center** - get high-level app health, requests per second, response times, and error rates - **User Insights** - get geographic usage, traffic, and activity data, all without compromising user privacy or data security - **Alerts & Digests** - get automated alerts of error points, and a daily digest reporting all key health metrics of your dapp - **Faucets** - Alchemy provides multiple testnet faucets, including [Sepolia faucet ](https://www.alchemy.com/overviews/mumbai-faucet)and [Mumbai faucet](https://www.alchemy.com/overviews/mumbai-faucet) Infura offers developers an IPFS API and a transactions tool, **ITX**, to help transactions get included in a block by proactively updating transactions with competitive gas prices in case they are at risk of being dropped from the mempool. ### 8. User experience Alchemy aims to make it easy for developers to build in web3. The company offers several features to help improve the user experience, including a one-line infrastructure API, enhanced APIs, developer tools, and more. Infura also focuses on providing a good user experience for developers. The company offers scalable systems, key NFT metadata, tools, and templates to help developers deliver a better user experience. Infura's multichain ecosystem also allows developers to choose a network that meets their requirements. ### 9. Customer support Alchemy and Infura offer user documentation, a 24/7 Discord channel, and educational content to help developers build apps. However, some key differences include: - VIP support for Enterprise customers - Custom Service Level Agreements \(**SLAs**\) for Enterprise customers - Alchemy's **Road to Web3** developer course - **Hackathon Handbook** for Beginners - A repository of educational developer content With Alchemy, support is available even to users on the free tier. In contrast, Infura only offers direct customer support to paying users, as seen on their pricing page. ## What are the main differences between Alchemy and Infura? The main differences between Alchemy and Infura are: - **Reliability** - Alchemy is more reliable on average, with less significant outages compared to Infura - **Data accuracy** - Alchemy offers 100% accuracy, while Infura does not - **Pricing** - Alchemy provides a more robust free tier than Infura - **Enhanced APIs** - Alchemy offers more enhanced APIs than Infura - **Customer support** - Alchemy provides support for customers on all tiers ## Which node provider is better - Alchemy or Infura? Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Infura. If both companies support your preferred chains, try using each platform to experience what it's like building on each platform, using their native tools, docs, and features to improve your building process. With its extremely powerful free tier, developers can [get started on Alchemy](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT) with zero risk. Begin using Alchemy now to gain access to an extensive set of developer tools available for developers. --- # Alchemy vs. Moralis - Which web3 API is best? URL: https://www.alchemy.com/overviews/alchemy-vs-moralis.md Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Moralis. Alchemy and Moralis provide web3 developers with tools and services to create decentralized applications. This article will compare Alchemy and Moralis across multiple categories to help you [choose the best web3 developer platform](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) and tools for your web3 developer stack. Alchemy and Moralis will be compared across nine categories: 1. Supported Blockchains 1. Node Latency 1. Data Accuracy 1. Node Reliability 1. Enhanced APIs 1. Developer Tools 1. User Experience 1. Customer Support 1. Pricing If you're looking for an alternative to Moralis, this article will compare and contrast the differences between two leading developer platforms. ## Alchemy vs. Moralis comparison Blockchain development platforms like Alchemy and Moralis play an essential role in the lifecycle of web3 startups. Choosing the right platform will enable teams to reduce overhead, ship faster, and scale bigger. ### What is Alchemy? **Alchemy** is one of the [best web3 node providers](https://www.alchemy.com/overviews/blockchain-node-providers). It offers builders an extensive developer platform known for extensive developer tooling, robust APIs, and a new software development kit \(SDK\) to make building apps faster, easier, and more secure. Alchemy was founded by two Stanford University graduates, **Nikil Viswanathan** and **Joe Lau**, in 2017. Alchemy is a Series C-backed blockchain infrastructure startup with investors including Pantera, Coatue, and a16z, and includes top clients such as OpenSea, Trust Wallet, and Dapper Labs. ### What is moralis? [Moralis is a web3 development platform](https://www.alchemy.com/dapps/moralis) that offers various APIs and an SDK to assist builders in creating apps. While they previously provided RPC nodes for their customers, they have recently deprecated this service to concentrate on their core products. Founded by YouTube influencers and web3 educators Ivan Liljeqvist and Filip Martinsson, Moralis closed their seed funding in October 2021 and their Series A funding in May 2022. Investors in Moralis include EQT Ventures, [Coinbase Ventures](https://www.alchemy.com/dapps/coinbase-ventures), and Fabric Ventures. ### 1. Supported blockchains Alchemy supports the following blockchains: - Ethereum - Optimism - Arbitrum - Polygon PoS - Starknet - Solana - Base - Astar \(Polkadot\) Alchemy supports the following testnets: - Goerli \(Ethereum, Optimism, Arbitrum\) - Sepolia \(Ethereum\) - Mumbai \(Polygon\) Moralis supports the following blockchains: - Ethereum - Polygon - Avalanche - BNB Chain - Solana - Fantom - CRONOS - Arbirum - Palm - Aptos Alchemy and Moralis both support multiple blockchains. Choosing one option versus the other should depend on whether either of them supports your primary and secondary expansion chains. For example, if you're looking for a [Solana RPC provider](https://www.alchemy.com/overviews/solana-rpc/?a=c95ab3dab3), Alchemy would be a good choice, whereas Moralis would be better if you want to build a dapp on the BNB chain. ### 2. Data accuracy In web3, data accuracy is a concern as it can result in users and apps receiving incorrect information, leading to negative user experiences. This is often due to load balancers querying nodes with inconsistent information, resulting in poor data accuracy. #### Data accuracy benchmark test: Alchemy vs. Moralis According to a [data accuracy benchmark test ](https://www.alchemy.com/blog/data-accuracy/)that queried JSON RPC method eth_blockNumber 1,072,000 times over 24 hours on 4 node providers - Alchemy, Infura, Quicknode, and Moralis - found that Moralis had the lowest score, with 819 inconsistent blocks. Although this represents a small fraction of over a million, each inconsistency has the potential to frustrate an end user. Over the same 24-hour span and 1,072,000 transactions, Alchemy had 0 inconsistent blocks. With **Supernode**, Alchemy APIs act as a single node, which makes their 100% data accuracy unmatched in the blockchain node provider space. This is achieved through a secondary infrastructure that runs an additional consensus layer across all nodes,** Vox Nodi**, to ensure correct information. ### 3. Node reliability Node reliability, or uptime, is an important metric to compare between two blockchain developer platforms because it directly impacts a builder's ability to write and read data from the blockchain, or use tools during the development workflow. Here is [Alchemy's historical reliability](https://status.alchemy.com/) for the first seven months of 2022: - **January** - Alchemy \(100%\) - **February** - Alchemy \(100%\) - **March** - Alchemy \(100%\) - **April** - Alchemy \(99.97%\) - **May** - Alchemy \(100%\) - **June** - Alchemy \(100%\) - **July** - Alchemy \(99.92%\) Moralis' status page does not share historical reliability metrics. When node providers go down, even for a minute, it can cost projects revenue and churned users \(i.e., users who abandon their application\). Since Moralis' deprecated their Speedy Node service on July 11th, 2022, and removed access to archive node data, Alchemy is the only choice for those in need of RPC. ### 4. Node latency The two main types of web3 node latency are block discovery latency - the time it takes to discover a new block, and request latency - the time between sending an RPC request and receiving a response. #### Node latency test: Alchemy vs. Chainstack In this test, we measured the time between the origination of the request and the receipt of the response on the Ethereum mainnet by querying **eth_blockNumber**. We ran this query every 15 minutes, aggregated the results, and averaged the number. In our most recent test between August 10th, 2022, - August 17th, 2022, **Alchemy averaged 38.72 ms**, and the node provider Moralis recommends, Chainstack, averaged 426.28. ms for the US East location. Even after taking Alchemy's secondary infrastructure, which provides additional data accuracy and reliability guarantees, Alchemy is 10x more performant than Moralis' recommended node provider. For current public provider data, use Alchemy's [RPC provider comparison benchmarks](https://www.alchemy.com/benchmarks) to evaluate latency, success rates, and failed requests. ### **5. Pricing** Pricing plays a pivotal role when selecting a web3 node provider. Let's delve into the cost structures of both Alchemy and Moralis to determine which offers the best value. #### Alchemy pricing Alchemy offers four [value-packed plans](https://www.alchemy.com/pricing), each tailored to meet the specific needs of developers and enterprises. These plans provide targeted solutions that perfectly cater to the unique requirements of each user group. ##### Free \($0/month\) - 300 million compute units \(CUs\)/month - 330 compute units per second \(CUPS\) - All developer tools - Enhanced APIs and SDK - Full archive data - Multichain mainnets and testnets - No daily request limits - 5 apps - 24/7 Discord Support ##### Growth \($49/month\) In addition to everything included in Alchemy's free version, growth tier customers receive: - 400 million compute units \(CUs\)/month - Auto-scaling compute units at $1.2 per 1 million additional CUs - Parity Trace and gETH debug - Enhanced transaction propagation - 2x higher throughput \(660 CUPS\) - 15 apps - 24/7 dedicated Discord support **Scale \($199/month billed annually and $289/month billed monthly\)** For teams with big goals who want to move quickly, Scale tier provides Alchemy's best products and prices at the click of a button. - 1.5 billion compute units \(CUs\)/month - 3,000 compute units per second - Auto-scaling compute units at $1 per 1 million additional CUs. - Ability to purchase discounted additional CUs at $0.7 per 1 million on the annual plan. - 30 apps - 24/7 dedicated Discord support ##### Enterprise \(custom pricing\) For enterprise-scale web3 applications like OpenSea, GMX, and 0x, Alchemy’s enterprise tier offers customized scale, throughput, and support to manage the largest apps in web3. - Committed use discounts - Custom SLAs - Pay with crypto - Custom throughput - Unlimited apps - 24/7 VIP support Additionally, large web2 corporations such as Shopify and Adobe opt for Alchemy to fulfill their scalability, dependability, and low latency demands, for their millions of users. #### **Moralis pricing** There are four pricing tiers in Moralis’s node service: Starter, Pro, Business, and Enterprise. ##### Starter \($0/month\) - 4000 CU/day - 25 CUs/second - Community support ##### Pro \($50/month\) - 15 million CUs/month - 60 CUs/second - Request auto-scaling ##### Business \($249/month\) - 30 million CUs/month - 100 CUs/second - Dedicated account manager ##### Enterprise \(custom pricing\) - Over 50 million CUs/month - 200\+ CUs/second - SLAs - Premium onboarding and support #### Compute unit comparison Because no documentation is available that shows the number of compute units \(CUs\) for requests sent through Moralis to compare to [Alchemy Compute Units \(CUs\)](https://www.alchemy.com/docs/reference/compute-units), we cannot directly compare how much compute is given away in Moralis' free tier. However, with approximately 12 million requests for Alchemy's free tier and 120,000 CUs for Moralis, even if every Moralis API method, both cheap and expensive, is priced at one CU, Alchemy's free tier would still be the better option. ### 6. Enhanced APIs Besides node provider services, Alchemy offers [enhanced API endpoints](https://www.alchemy.com/enhanced-apis), and since Moralis deprecated their Speedy Node service, they have continued to focus efforts on developing web3 APIs. This section will compare each company's additional APIs beyond the standard endpoints supported by [ethers.js](https://www.alchemy.com/dapps/ethers-js). #### **Alchemy’s enhanced APIs** Alchemy has many enhanced APIs, making the development process easier and more efficient for web3 developers. Here are some of Alchemy’s APIs: - **NFT API** - instantly find, verify, and display any NFT across most major blockchains. - **Trace API** - get deeper insights into how transactions interact with smart contracts and wallets. - **Notify API** - use webhooks for Ethereum, Polygon, Optimism, and Arbitrum, including wallet activity and NFT webhooks. - **Subscription API** - get full transaction receipts for all new pending transactions instead of just the transaction hash. - Transfers API - get the transaction history for a specific address over any block range. - **Token Metadata API** - get token metadata for a given contract address. - **Token Balances API** - get token balances for a user address given a list of token contracts. - **Token Allowance API** - returns the amount of a given token that a spender is allowed to withdraw from the token owner. - **Transaction Receipts API** - get the full transaction receipt for each transaction contained within a specified block - **Debug API** - run a transaction in the same manner as it was executed on the network, replaying each transaction along the way. #### **Moralis’s enhanced APIs** Moralis has several useful APIs listed on its website and in its documentation. Some of their most frequently used APIs include: - **NFT API** - powers apps and web3 services. - **EVM API** - enables developers to query any data from any EVM chain. - **Auth API** - enables anyone to integrate web3 wallet authentication. - Solana API - query data from the Solana blockchain, such as fetching user token balances, fetching NFT metadata, and more. - **Metaverse SDK** - integrate apps and games with like XBOX, Unity, iOS, and Android. - **Price API** - real-time token prices. - **Wallet API** - an API designed for building wallets. - **Block API** - search, filter, and fetch blocks and its contents. - **Market Data API** - trending NFT collections and coins. Overall, Alchemy offers a more comprehensive set of API endpoints for web3 developers. Still, Moralis has a unique metaverse SDK made explicitly for developers building blockchain games for XBOX, Unity, iOS, or Android. #### Alchemy NFT API vs. Moralis NFT API Because both Alchemy and Moralis offer an [NFT API](https://www.alchemy.com/docs/reference/nft-api-quickstart), let's compare the comprehensiveness of the API endpoints. ##### Alchemy NFT API endpoints These are the [NFT API endpoints ](https://www.alchemy.com/sdk)supported by Alchemy across one or more blockchains, including Ethereum and Polygon, and their testnets. - getNFTs - getFloorPrice - getNFTSales - computeRarity - getNFTMetadata - getNFTMetadataBatch - getContractMetadata - searchContractMetadata - getContractsForOwner - getNFTsForCollection - getOwnersForToken - getOwnersForCollection - getSpamContracts - isSpamContracts - reingestContract - isHolderOfCollection - reportSpam - summarizeNFTAttributes An NFT API endpoint unique to Alchemy includes endpoints for getting and filtering spam NFTs. All Alchemy NFT API endpoints are also supported in the Alchemy [web3 SDK](https://www.alchemy.com/sdk). ##### Moralis NFT API endpoints These are the NFT API endpoints supported by Moralis: - getNFTTransfersByBlock - getNFTs - getNFTTransfers - getNFTsForContract - getNFTTrades - getNFTLowestPrice - searchNFTs - getNFTTransfersFromToBlock - getAllTokenIds - getContractNFTTransfers - getNFTOwners - getNFTMetadata - reSyncMetadata - syncNFTContract - getTokenIdMetadata - getTokenIdOwners - getWalletTokenIdTransfers Moralis has more NFT API endpoints than Alchemy and has additional support for BNB Chain, Avalanche, Fantom, and CRONOS. Depending on your  application, these factors may be important. #### Alchemy's account abstraction SDK The [**Account Abstraction SDK**](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart) can be used to simplify the interaction with account abstraction primitives \([**user operations and bundlers**](https://www.alchemy.com/overviews/what-is-a-bundler)\). It's a complete solution that implements an EIP-1193 provider, handling gas estimation, signing the tx, and fetching paymaster data \(if you use one\) with one method call. If you're using **eth_sendTransaction**, the SDK converts that into a user operation for you and sends it along. ### 7. Developer tools Better tools enable builders to create better applications. In addition to core API products, Alchemy offers the following web3 developer tools: - Alchemy AI - generate web3 code quickly to supercharge your development cycle - **Explorer** - see historical request information to quickly identify patterns - **Mempool Visualizer** - monitor the current status of confirmed, stuck, and dropped transactions - **Composer** - troubleshoot RPC requests, replay failed transactions for easier debugging - **Debug Toolkit** - scan recent requests and quickly detect errors while debugging - **Dashboard** - get high-level analytics on your dapp performance - **Usage Analytics** - get dapp’s usage over different timeframes, app versions, and individual methods. - **Command Center** - get high-level app health, requests per second, response times, and error rates - **User Insights** - get geographic usage, traffic, and activity data, all without compromising user privacy or data security - **Alerts & Digests** - get automated alerts of error points, and a daily digest reporting all key health metrics of your dapp - **Faucets** - Alchemy provides multiple testnet faucets, including [Sepolia faucet ](https://www.alchemy.com/overviews/sepolia-eth)and [**Mumbai faucet**](https://www.alchemy.com/overviews/mumbai-faucet) Besides Moralis' APIs and metaverse SDK, Moralis offers a few plugins made by "Moralis experts," such as: - Pinata IPFS - enables interaction with the Pinata IPFS API. - Covalent - provides access to data from different blockchains. - Rarible NFT Tools - allows users to lazy mint NFTs and put them up for sale without paying gas fees. - OpenSea - integrates the full power of OpenSea into Moralis apps. - [1inch](https://www.alchemy.com/dapps/1inch) - integrates the DeFi/DEX aggregator 1inch to any project that uses Moralis. - Fiat [Onramp](https://www.alchemy.com/dapps/best/fiat-onramps) \(By [Onramper](https://www.alchemy.com/dapps/onramper)\) -  enables a quick fiat to crypto swap. ### 8. User experience When selecting Alchemy or Moralis, builders should consider the developer's experience building with each platform and tool. Evaluation points should include the following: - User interface design - Documentation - Guides and tutorials - Support Alchemy and Moralis are both built by developers for developers, which enables them to understand what builders need to create incredible applications. Both companies offer extensive documentation, written guides, video tutorials, and educational resources to help new, transitioning, and advanced web3 devs. Because Ivan on Tech \(Ivan Liljeqvist\) is a [web3 YouTube influencer](https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers), Moralis has a larger catalog of video tutorial content. ### 9. Customer support Customer support is an essential consideration because if you get stuck building apps, you want to have some guarantees that you will be able to get answers to your questions quickly and comprehensively. Alchemy has excellent customer support through multiple channels:  - Documentation - Support tickets - Discord support - Discussion forum - Customer Product Engineers \(CPEs\) - Slack support - Telegram support \(enterprise\) Moralis also has high-quality customer support through the following channels: - Moralis forum - Documentation - Discord support - Senior account manager \(business tier\) - technical account manager \(enterprise\) - Dedicated Live Support Channel \(enterprise\) ## Alchemy vs. Moralis: which platform is better? Alchemy's blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, and more web3 tools and APIs compared to Moralis. The main difference between Alchemy and Moralis is that Alchemy is a blockchain node provider with an expansive catalog of APIs and support for a web3 SDK, and Moralis offers a similar suite of APIs with an NFT API that supports more EVM chains, a unique metaverse gaming SDK, plugins, and does not offer RPC node support. Choosing between Alchemy and Moralis for your infrastructure, web3 API, or developer tooling needs should be decided based on your needs. Alchemy is the right choice if you're looking for an all-in-one solution that supports the most popular blockchains and is trusted by the largest apps in web3. Moralis is a good option if you want to build using a Metaverse SDK or need support for a unique chain like CRONOS or Fantom. Alchemy's [free tier is the most robust place to start](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT) if you're just getting an app off the ground. Then, when your app finds product-market fit, you can instantly scale your product on the platform you used to refine your skills. --- # Alchemy vs. Quicknode: Web3 Node Provider Comparison in 2025 URL: https://www.alchemy.com/overviews/alchemy-vs-quicknode.md Alchemy’s blockchain development platform provides RPC nodes with more accurate and reliable blockchain data, enhanced developer tooling, and more APIs compared to Quicknode. Now, Alchemy’s RPC API is powered by [Cortex](https://www.alchemy.com/cortex)—the intelligent blockchain engine trained on trillions of requests to deliver unmatched speed, accuracy, and reliability for developers. Companies building web3 products have two choices: 1. Run web3 infrastructure by themselves 1. Use a web3 infrastructure provider Because running your own nodes can incur significant maintenance, operational, and opportunity costs, many companies elect to use web3 infrastructure providers. To [evaluate web3 infra providers](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider), it is important to assess companies on a range of performance metrics including latency, accuracy, and reliability. You can also compare current provider latency, success rates, and failed requests in Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). This article will help you choose the best provider by comparing Alchemy and Quicknode, two of the leading [web3 developer platforms](https://www.alchemy.com/overviews/blockchain-node-providers) across nine categories 1. Node Latency 1. Data Accuracy 1. Node Reliability 1. Enhanced APIs 1. Developer Tools 1. Supported Blockchains 1. User Experience 1. Customer Support 1. Pricing ## Alchemy vs. QuickNode comparison Alchemy and Quicknode are two blockchain node providers that assist web3 startups in building apps without the need to [self-host their own nodes](https://www.alchemy.com/supernode), which can be a costly alternative due to the ongoing resources required for maintenance. With a thorough understanding of these characteristics, you can decide which node provider will work best for your app. ## What is Alchemy? Alchemy is the leading blockchain development platform — powering the fastest, most reliable apps for millions of people worldwide. From [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) and tokenization to real-world assets and beyond, the most innovative companies in web3 and traditional finance — including Visa, Stripe, Uniswap, OpenSea, Chainlink, and Circle — build on Alchemy. Our platform delivers the lowest latency, industry-best reliability, and unlimited elastic throughput so developers can scale instantly, without compromise. With global availability across 197 countries, Alchemy provides the fundamental building blocks for creating the future of technology. Founded in 2017 by Stanford graduates Nikil Viswanathan and Joe Lau, Alchemy is now a Series C company valued at over $10 billion. Our mission has remained the same since day one: to give developers the tools to build everything on blockchain. ## What is QuickNode? [Quicknode ](https://www.alchemy.com/dapps/quicknode)is a multichain node provider and blockchain development platform founded by Alex Nabutovsky, Dmitry Shklovsky, Manuel Kreutz, and Auston Bunsen in 2017. Quicknode raised $60 million during their Series B round in January of 2023 at an $800M valuation. ## 1. Node latency In 2025, Alchemy delivers sub-50 ms latency across the globe, giving developers faster, more reliable responses than ever before. This leap forward is powered by [Cortex](https://www.alchemy.com/cortex), the world's first intelligent blockchain engine that uses smart routing algorithms trained on trillions of blockchain requests to optimize performance in real time. The result is up to 2.5x faster queries without compromising accuracy or reliability. This milestone is the result of years of rigorous tracking and improvement. Back in 2022, our benchmark tests on the [Ethereum mainnet](https://www.alchemy.com/ethereum) showed Alchemy averaging 39.2 ms in the US East region compared to Quicknode’s 26.3 ms. While our secondary infrastructure contributed to higher latency at the time, it also ensured more accurate data for developers. From those 2022 benchmarks to today’s unmatched performance, we’ve continually invested in latency improvements year over year. The progress speaks for itself: what started as a gap in 2022 has become a global performance advantage in 2025 — enabling developers everywhere to build faster, more reliable web3 experiences. ## 2. Data accuracy Blockchain data accuracy is a measure of how many requests to the blockchain returned correct and consistent data. Incorrect data can occur because nodes recieve new information at different times, and don't always have the same view of the network as the [newest blocks propagate across the network](https://www.alchemy.com/blog/data-accuracy). While low request latency is important, it becomes less significant if the [information returned by blockchain nodes is incorrect](https://www.alchemy.com/blog/data-accuracy). Without accurate data, your app may experience several issues, such as: 1. Requests return different answers to the same question 1. Apps may retrieve incorrect transaction nonces 1. Users have a poor experience when tokens and NFTs appear incorrectly ### Data accuracy test Using a [web3 data accuracy benchmarking tool](https://www.alchemy.com/blog/data-accuracy/), we tested a Quicknode [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) node against Alchemy’s Ethereum Mainnet node to measure how many responses were incorrect over the course of a 24-hour period. The benchmark sends repeated eth_blockNumber calls to each node, looking for failed calls. Below are the results of Alchemy vs. Quicknode. After more than 1 million eth_blocknumber queries in 24 hours, the results showed that Quicknode returned 712 inaccurate block numbers compared to Alchemy which returned zero incorrect block numbers. While 712 inaccurate block numbers out of approximately 1,000,000, or 0.07%, may seem small, it still represents over 700 instances per day where a user or app could receive false information from the blockchain. Although Quicknode has lower latency, the tradeoff of delivering data quickly at the expense of sending incorrect information is something developers need to consider carefully. And this wasn’t a one-off outcome. Even in 2025, Alchemy continues to maintain zero inconsistent blocks across its infrastructure, ensuring developers always get accurate, reliable data to power their apps. While competitors may trade accuracy for speed, Alchemy has consistently delivered both — pairing sub-50 ms global latency with uncompromising data integrity. ## 3. Node reliability Node reliability is a measure of uptime, and it is an important category to compare when choosing a node provider because it directly impacts an application's ability to serve customers at any time of the day. Alchemy’s infrastructure is designed for global availability, with multi-region redundancy, autonomous failovers, and AI-based threat detection that keep your apps performant even under extreme conditions. The results speak for themselves: Alchemy delivers 99.995% uptime — 5x more reliable than competitors. This level of reliability ensures that developers can trust their apps to stay online, even as traffic scales or unexpected events occur. Previously, from January to July 2022, the [node reliability status page](https://status.alchemy.com/) tracked Polygon Mainnet uptime for both Alchemy and Quicknode. The data showed both providers with strong performance, but with noticeable gaps — for example, in March 2022, Alchemy maintained 99.84% uptime compared to Quicknode’s 95.97%. Alchemy's distributed systems ensure that there is always a redundant backup in the event of a failure in part of your node’s functionality. These systems have the same power at scale as those used by companies like Facebook and Amazon, allowing your app to maintain its functionality even as it grows.\` ## 4. Enhanced APIs and SDKs In addition to core RPC services, Alchemy and Quicknode offer [APIs to expand your app's functionality](https://www.alchemy.com/enhanced-apis). Rather than writing complex code to use APIs and SDKs, ship improved functionality faster. Some of the core APIs and tools that Alchemy offers that Quicknode does not offer include: [Smart Wallets](https://www.alchemy.com/smart-wallets), [Rollups](https://www.alchemy.com/rollups), Reinforced Transactions, and Transaction Simulations. The APIs and SDKs offered by Quicknode include:‍ ### NFT API comparison Both Alchemy and Quicknode offer an [NFT API](https://www.alchemy.com/nft-api) with helpful endpoints such as: - getNFTs - isHolderOfCollection - getNFTsForCollection - getContractMetadata - getNFTSales However, Alchemy's NFT API offers **over a dozen additional** endpoints compared to Quicknode's NFT API. #### Alchemy NFT API The Alchemy NFT API supports methods usable on Ethereum, Polygon, Arbitrum, Optimism, Base and more. For more information, check out the detailed [documentation](https://www.alchemy.com/docs/reference/nft-api-quickstart) of all available Alchemy NFT methods. In addition to the endpoints mentioned above, Alchemy offers the following [NFT API endpoints for Ethereum](https://www.alchemy.com/docs/reference/nft-api-quickstart): - getOwnersForCollection - getNFTMetadata - getOwnersForToken - getOwnersForCollection - getSpamContracts - isSpamContracts - reingestContract - getFloorPrice - computeRarity - summarizeNFTAttributes - reportSpam All of these endpoints are unique to Alchemy's API, and are not possible with Quicknode. #### QuickNode NFT API Quicknode offers its own NFT API that supports six methods, with one method, qn_fetchNFTsByCreator, exclusive to Solana. Quicknode also acquired the Icy Tools company in May 2022, which gives users access to other NFT API methods supported by Icy Tools' GraphQL NFT API. There are no Quicknode NFT API endpoints that Alchemy does not offer. ### Alchemy smart wallets [Alchemy Smart Wallets](https://www.alchemy.com/smart-wallets) make crypto accessible to all with seamless onboarding and transacting flows with no seed phrases or gas fees required. - Onboard everyone no matter who they are with familiar email/social login or their existing web3 wallet. - Drive transactions by hiding transaction signing and removing gas fees for users through batched, 1-click swaps, purchases, and more. It is the [most widely used smart wallet](https://www.bundlebear.com/erc4337-factories/all) in the ecosystem and helps builders [save 53% in costs](https://www.alchemy.com/blog/the-most-affordable-smart-wallet) compared to alternatives. ## 5. Developer tools In addition to node services and API endpoints, web3 developers choosing a developer platform should evaluate the tools that make the development process easier to manage. ### Alchemy developer tools Alchemy offers an extensive suite of developer tools, including: - Alchemy AI - generate web3 code quickly to supercharge your development cycle - **Explorer** - see historical request information to quickly identify patterns - **Mempool Visualizer** - monitor the current status of confirmed, stuck, and dropped transactions - **Composer** - troubleshoot RPC requests, replay failed transactions for easier debugging - **Debug Toolkit** - scan recent requests and quickly detect errors while debugging - **Dashboard** - get high-level analytics on your app performance - **Usage Analytics** - get app’s usage over different timeframes, app versions, and individual methods.  - **Command Center** - get high-level app health, requests per second, response times, and error rates - **User Insights** - get geographic usage, traffic, and activity data, all without compromising user privacy or data security - **Alerts & Digests** - get automated alerts of error points, and a daily digest reporting all key health metrics of your app - **Faucets** - Alchemy provides multiple testnet faucets, including [Sepolia faucet ](https://www.alchemy.com/overviews/sepolia-eth)and [Mumbai faucet](https://www.alchemy.com/overviews/mumbai-faucet) Alchemy's developer tools provide an extremely robust control center for guaranteeing you control your app's behavior every step of the way. ### QuickNode developer tools Quicknode offers developers a set of tools covering a similar functionality for apps using their node services. However, Quicknode’s developer tools do not cover all the same uses as Alchemy’s. Quicknode developer tooling includes: - **EtherFlow** - easily compose RPC calls and test nodes - **Node Metrics** - get a graphical representation of node usage, latest blocks, number of method calls used, and more - **Security** - customize the security of your endpoint - **Webhook** \(add-on\) - efficiently monitor real-time changes to application data ## 6. Supported blockchains Alchemy and Quicknode support different layer 1 blockchains, sidechains, and layer 2 blockchains. ### Alchemy Alchemy supports over 100 blockchain networks, including almost every major chain like Ethereum, Solana, Base, Optimism, Arbitrum, Hyperliquid, and more. For a full list of chains, [view our chain directory](https://www.alchemy.com/rpc). ### QuickNode [Quicknode's chain directory](https://www.quicknode.com/chains) lists support for 78 blockchains and 130\+ networks. Overall, Alchemy supports more unique blockchains than Quicknode. When deciding between Alchemy and Quicknode, it's important first to consider the blockchains you're planning to build on and any chains you may want to expand to in the future. ## 7. User experience When deciding between Alchemy and Quicknode, it’s important to consider the developer experience, as it’s a tool that will be used frequently. Some aspects of the user experience \(UX\) to compare include: 1. User interface design 1. Product design 1. Onboarding flow 1. Documentation 1. Discord channels 1. Educational resources 1. Tutorials 1. Guides Alchemy and Quicknode feature modern user interfaces, are designed for simplicity, and provide educational content. Two distinctions include documentation and tooling. Alchemy recently updated its documentation to improve the user experience, increase page speeds, and use the OpenAPI specification. Additionally, Alchemy's additional tooling makes the developer platform easy to navigate and not crowded. ## 8. Customer support Support for both Alchemy and Quicknode varies based on your membership tier, ranging from community Discord support to custom Service Level Agreements and VIP support via Telegram. In the free tier, Alchemy developers get 24/7 support through Discord. In the Pay As You Go tier, users are upgraded to 24/7 Discord support by a *dedicated* team. 24/7 VIP support is provided to all app development teams through Telegram and/or Slack in the highest tier. Quicknode's platform and documentation should be sufficient to answer most questions, but their support team is available as a final line of defense against user issues. Support differs between community support, 24-hour response times, and at best, 8-12 hour response times for enterprise clients. ## 9. Pricing Price is an important consideration when choosing either Alchemy or Quicknode. Alchemy and Quicknode both support a free, growth, and enterprise tier. ### Alchemy free tier \($0/month\) Alchemy has four main pricing tiers: Free, Pay As You Go, and Enterprise. - 30 million compute units \(CUs\)/month - 25 requests per second - All developer tools - 5 apps - 24/7 Discord Support ### QuickNode discover \($0/month\) - 10 million API Credits/month - 25 requests / sec - 1 endpoint - Single region - Community support - NFT API ### Which platform offers the best free tier - Alchemy or QuickNode? Alchemy offers the best free blockchain node provider tier. Alchemy and Quicknode use two usage scales: Compute Units \(CUs\) and API Credits. We can compare the two scales by calculating the total number of requests that can be made for standard RPC requests. - **eth_call** - 30 million transactions \(Alchemy\) vs. 10 million transactions \(Quicknode\) - **eth_getLogs** - 15 million transactions \(Alchemy\) vs. 5 million transactions \(Quicknode\) - **eth_sendRawTransaction** - 3.45 million transactions \(Alchemy\) vs. 1.67 million transactions \(Quicknode\) If you are a new web3 developer looking to build a minimum viable product, [see exactly why Alchemy offers the best free tier compared to Quicknode in our in-depth overview](http://www.alchemy.com/overviews/free-ethereum-rpc). ### Alchemy pay as you go tier In addition to everything included in Alchemy's free version, growth tier customers receive: - Only pay for what you use. No monthly fees - As low as $0.40/1M CUs - 300 requests per second - 30 apps & 100 webhooks - Priority support ### QuickNode build tier \($49/month\) - 20 million API Credits/month - Auto scaling at $20 / additional million API Credits - 100 requests / sec - 10 endpoints - Debug / Trace API - Multiple Regions - 24hrs support response time Alchemy offers the [most developer-friendly pricing](https://www.alchemy.com/pricing) in the market, with the most powerful free tier and simple usage-based pricing — so developers never pay unnecessary monthly fees. For enterprises, Alchemy delivers more value than alternatives like Quicknode, making it the best choice at every scale. ## Which blockchain node provider is better: Alchemy or QuickNode? Alchemy’s blockchain development platform delivers the strongest combination of speed, accuracy, reliability, and value in the market. With sub-50 ms global latency powered by Cortex, zero inconsistent blocks even in 2025, and 99.995% uptime \(5x more reliable than competitors\), Alchemy sets the industry standard for performance. Beyond infrastructure, Alchemy also provides developers with more APIs, SDKs, and tooling than Quicknode — from advanced NFT endpoints to Smart Wallets and AI-powered developer tools — giving builders everything they need in one platform. Combined with the most powerful free tier and usage-based pricing that eliminates unnecessary monthly fees, Alchemy offers better value at every stage of growth, from early startups to global enterprises. For any team choosing between providers, the difference is clear: Alchemy is the fastest, most reliable, and most developer-friendly platform to build on. ## Frequently asked questions ### What are the main differences between Alchemy and QuickNode for developers? Alchemy provides a comprehensive blockchain development platform with broader developer tooling, more APIs, and enhanced features like Smart Wallets and AI-powered tools, while Quicknode focuses primarily on high-performance managed nodes with fast access to multiple blockchain networks. ### How do Alchemy and QuickNode compare on free tier usage limits? Alchemy's free tier offers 30 million compute units per month compared to Quicknode's 10 million API credits, allowing significantly more requests—for example, 30 million eth_call transactions on Alchemy versus 10 million on Quicknode. ### Which platform offers better performance and data accuracy? Alchemy delivers sub-50 ms latency globally powered by Cortex and maintains zero inconsistent blocks, while benchmark tests showed Quicknode returned 712 inaccurate block numbers out of approximately 1 million requests over 24 hours. Alchemy also provides 99.995% uptime, which is 5x more reliable than competitors. ### How do the NFT APIs compare between Alchemy and QuickNode? Alchemy's NFT API offers over a dozen additional endpoints compared to QuickNode's NFT API, including exclusive methods like getOwnersForCollection, computeRarity, summarizeNFTAttributes, and spam detection features that Quicknode doesn't provide. ### What unique developer tools does Alchemy offer that QuickNode doesn't? Alchemy provides a comprehensive toolkit including enterprise-grade RPC infra, websockets, enhanced data APIs, rollups, and app analytics and admin management in the dashboard. ### Which platform supports more blockchain networks? Alchemy supports over 100 blockchain networks while Quicknode supports 78. ### How do the pricing models differ between Alchemy and QuickNode? Alchemy offers usage-based pricing with no monthly fees in their Pay As You Go tier \(starting at $0.40/1M CUs\), while Quicknode's Build tier starts at $49/month with 20 million API credits and charges $20 for each additional million credits. ### Which provider is better for teams that need both performance and comprehensive tooling? Alchemy is better suited for teams requiring both high performance and extensive tooling, offering the fastest global latency, perfect data accuracy, and the broadest suite of Web3 APIs and developer tools in a single platform. --- # How to Setup an Alternative RPC URL: https://www.alchemy.com/overviews/alternative-rpc-endpoint.md ## What is a remote procedure call \(rpc\)? A remote procedure call \(RPC\) is a technique in which software is able to remotely communicate with other systems on the same network to access software or data. In the RPC methodology, a client requests something \(e.g. data\) and a server fills the request remotely.  In blockchain, this technology has been adapted in the form of [RPC nodes](https://www.alchemy.com/overviews/what-is-an-ethereum-node), an API in which blockchain developers can interact with blockchain servers \(i.e. nodes\). As a result, blockchain developers have the capability to create web3 software like [apps](https://www.alchemy.com/dapps/top/defi-dapps) that necessitate RPC nodes to link to the blockchain. In this article, we’re going to explain the importance of [using a blockchain node provider](https://www.alchemy.com/overviews/blockchain-node-providers) and configuring an alternative RPC endpoint as well as the various reasons why an alternative or backup RPC endpoint is important. Furthermore, we’ll walk you through the different methods of setting up an alternative RPC endpoint in case you want to integrate alternative RPC endpoints into your current blockchain project. ## What is an alternative RPC endpoint? An alternative remote procedure call \(RPC\) endpoint is a backup endpoint for when the primary RPC endpoint fails or goes down. The risk of an RPC endpoint failure can mean the failure of 1000s or potentially millions of transactions failing. As a solution, developers have begun to look for backup plans in the event that the primary RPC endpoint fails. One solution is to set up alternative RPC endpoints which act as a fail safe in the event that a primary RPC endpoint fails to function properly. An alternate RPC endpoint is similar to a [private RPC endpoint](https://www.alchemy.com/overviews/private-rpc-endpoint) which is a dedicated endpoint for an application or wallet, but it is different in it's implementation. An alternate RPC endpoint refers to a backup, whereas a private RPC endpoint simply means a non-public endpoint. ## When is a good time to use an alternative RPC endpoint? Alternative RPC endpoints have a variety of potential use cases for blockchain developers ranging from [public RPC endpoints being unreliable](https://www.alchemy.com/infura-alternative), to fixing common transaction problems like inaccurate data. In this section, we’ll tackle some of the common situations in which alternative RPC endpoints may be useful. ### 1. Your primary RPC provider is down One of the primary use cases of setting up an alternative RPC endpoint is as a backup option in case the primary RPC is completely down, leading to a loss of connection between blockchain-enabled software and the blockchain. This can lead to the temporary malfunction of blockchain-powered software if an RPC alternative is not immediately available. For example, in July of 2022, there was a network-wide failure of Polygon's public RPC endpoint hosted by Ankr, and the Chief Information Security Officer \(CISO\), **Mudit Gupta**, recommended using an alternative Polygon RPC provider like Alchemy that was not experiencing downtime. ### 2. Transactions aren't going through your primary RPC provider Another important application of alternative RPC endpoints is a backup option in case the primary RPC endpoint is congested or slow, leading to delayed transactions. This can be particularly disastrous for apps which heavily rely on instantaneous communication with the blockchain. Before choosing a backup provider, compare current latency and success-rate data in Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). When transactions fail, using an alternative RPC endpoint can be a good backup option to ensure the web3 user experience isn't negatively impacted by unstable nodes. ### 3. Your primary RPC provider's data is not accurate Because blockchains are globally distributed systems, [some node providers return inaccurate data](https://www.alchemy.com/blog/data-accuracy) from the blockchain because their network of nodes is out of sync with the public blockchain. When a node provider's fleet of servers are out of sync, it leads to the users receiving inaccurate data such as inaccurate balances, missing NFTs, and overall a poor user experience. In this situation, having alternative RPC endpoints integrated in your blockchain application means having the option to easily switch from your primary node provider to a secondary, fallback node provider to avoid returning inaccurate data. ### 4. Your primary RPC provider is not scalable Lastly, alternative RPC endpoints can be useful when your primary RPC endpoint has scalability challenges during times of high traffic such as a token airdrop, high profile NFT drop, or incentivized on-chain activity. As a result, an alternative RPC endpoint can be used to offset the high traffic in order to avoid the primary RPC endpoint from collapsing under the scalability stress. ## 3 ways to approach faulty endpoints When you're dealing with a faulty RPC endpoint, there are three main ways to try to resolve the situation: retrying the transaction on the same endpoint, cycling transactions between a list of RPC endpoints, or changing your primary RPC provider. ### 1. Retry transactions using the same RPC endpoint One approach to dealing with faulty RPC endpoints is sending additional requests to the same RPC endpoint. In this methodology, developers will repeatedly send requests to the same RPC endpoint using a small delay between each retry. This technique works best when a RPC endpoint may temporarily be down for a small period of time, allowing developers to send requests until that RPC endpoint is back online. ### 2. Rotate through a list of RPC endpoints Another approach is to connect to one or more alternative RPC endpoints and sending a series of RPC requests between a list of different RPC endpoints. In this technique, developers can avoid the issue of having a singular faulty RPC endpoint ruin their blockchain application by having multiple options to retry transactions with instead of retrying the same transaction on the same endpoint. In the event of a faulty RPC endpoint, developers that use a list of alternative RPC providers can simply connect to a different endpoint on their approved list.  ## How to set up a fallback RPC provider on Ethereum Because setting up a list of alternative RPC endpoints can be challenging, a simpler option, depending on how your application is built, is to [switch out your primary RPC endpoint with a more reliable backup provider](https://www.alchemy.com/?a=c4273aa140) such as Alchemy. In this approach, instead of cycling through multiple different endpoints, or retrying transactions on the same endpoint, you can replace your RPC endpoint URL with a reliable backup entirely. --- # Arbitrum NFT API: Overview and Quickstart Guide URL: https://www.alchemy.com/overviews/arbitrum-nft-api.md ## ‍**Arbitrum ecosystem growth** [Arbitrum](https://www.alchemy.com/arbitrum?a=956074bef3) is a Layer 2 \(L2\) scaling solution for Ethereum that increases transaction speeds and lowers gas costs relative to the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), making it an attractive choice for Solidity developers familiar with the Ethereum Virtual Machine. Arbitrum is the leading layer 2 Ethereum scaling solution that uses optimistic rollups \(ORUs\), and based on [Arbitrum statistics](https://www.alchemy.com/overviews/arbitrum-statistics), is showing healthy growth. Although the entire market has been in a down trend since the beginning of 2022, the [Q3 Web3 Developer report](https://www.alchemy.com/blog/web3-developer-report-q3-2022) shows the [Arbitrum ecosystem](https://www.alchemy.com/dapps/ecosystem/arbitrum) has grown: - 516% growth in active teams YTD - 795% growth in active developer teams Y/Y - 121% growth in API consumption YTD Some of the most popular [apps](https://www.alchemy.com/dapps/top/defi-dapps) on Arbitrum include: - **Aave** - one of the biggest Peer-to-Peer lending protocols in DeFi - **[1inch](https://www.alchemy.com/dapps/1inch)** - a decentralized exchange \(DEX\) aggregator that helps users find the best value when swapping tokens - **Yearn** **Finance** - a DeFi protocol focused on yield optimization when lending crypto assets Additionally, platforms like Uniswap, Sushi, [Balancer](https://www.alchemy.com/dapps/balancer), and [OpenSea](https://www.alchemy.com/dapps/opensea) have recently integrated Arbitrum support to bring more mainstream apps to the Arbitrum network. With so much demand for faster and cheaper EVM-compatible blockchains, Arbitrum provides developers with an attractive blockchain. Because developers face time and resource constraints when indexing and querying NFT metadata, Alchemy extended NFT API support so developers can create high-end NFT projects on Arbitrum. ## **What is an Arbitrum NFT API?** **An Arbitrum NFT API is a suite of API endpoints for querying non fungible tokens \(ERC721\) and semi-fungible tokens \(ERC1155\) tokens on the Arbitrum blockchain including getNFTs, isHolderForCollection, and more.** To communicate with [Arbitrum nodes](https://www.alchemy.com/overviews/arbitrum-node) using Alchemy's multichain NFT API, developers can use JSON-RPC methods to read and write data to and from Arbitrum through a self-hosted node or an [Arbitrum node provider](https://www.alchemy.com/overviews/blockchain-node-providers). The Arbitrum NFT API supports on-chain and off-chain NFTs in JSON, SVG, UTF-8 format, IPFS gateways like Pinata, and encoded Base64 pictures. ## **Arbitrum NFT API supported methods** Alchemy' Arbitrum NFT API offers a variety of powerful endpoints for querying everything from the most fundamental [getNFTs](https://www.alchemy.com/overviews/getnfts) call to calls for ownership and metadata. Common use cases include dashboards, wallets, [NFT viewers](https://www.alchemy.com/overviews/nft-viewer), NFT search, rarity tools, and analytics tools. ### **Arbitrum NFT API endpoints for ownership and token gating** The following Arbitrum NFT API endpoints are often used by developers to determine the holders of a particular NFT or collection. These endpoints are useful for [setting up token gating](https://www.alchemy.com/overviews/nft-token-gating) mechanisms on platforms like Discord or Shopify. - **getNFTs** - find Arbitrum NFTs owned by a specific wallet  - **getOwnersForToken** - get Arbitrum owners for a token  - **getOwnersForCollection** - get Arbitrum NFT owners for collection - isHolderOfCollection - check if the Arbitrum wallet holds a specific NFT - **getNFTsForCollection** - get NFTs for that are part of an Arbitrum NFT collection ### **Arbitrum ERC-721 and ERC-1155 metadata** Metadata includes information such as collection name, supply, attributes, and symbol. The Arbitrum NFT metadata is helpful for developers building analytics tools and traders analyzing data. - **getNFTMetadata -** get Arbitrum NFT metadata - **getContractMetadata** - get Arbitrum NFT smart contract metadata ## **How to start building with the Arbitrum NFT API** The [Alchemy SDK](https://www.alchemy.com/sdk) is the most comprehensive and powerful Javascript SDK available today to interact with Arbitrum. Alchemy's web3 SDK supports the exact same syntax and functionality of the Ethers.js AlchemyProvider and WebSocketProvider, making it a 1:1 mapping for anyone using the Ethers.js Provider. It gets better! The Alchemy SDK adds a significant amount of improved functionality on top of Ethers, such as: 1. Access to Alchemy’s Enhanced APIs 1. Access to Alchemy's NFT APIs 1. Robust WebSockets support 1. Automated retries The SDK leverages Alchemy's resilient node infrastructure, guaranteeing best-in-class node reliability, scalability, and [data correctness](https://alchemy.com/blog/data-accuracy), and is undergoing active development by Alchemy's engineers. ### 1. Install the SDK For full instructions on [how to get started using the web3 SDK](https://www.alchemy.com/docs/alchemy-quickstart-guide), read our official documentation. Simply running this script will install the SDK: ### 2. Get an Arbitrum API key If you don't have an Alchemy account, create a new account and [create an Arbitrum app](https://dashboard.alchemy.com/signup/?a=956074bef3). You will need the API Key and the URL to import the SDK. ### 3. Import and run the SDK You can then import and use the SDK. Before running the script in your terminal, make sure to replace your: - **apiKey** - you can get this by creating a new Arbitrum app in Alchemy and copying the API Key - network - you can copy and paste this from your Arbitrum app settings You can also copy the example code provided directly within the Alchemy dashboard and run it in your terminal: That's it! Now you're running Alchemy's SDK and connected to the Arbitrum network. Now, you have full access to the most powerful NFT API for Arbitrum in web3! --- # How to Migrate to the Arbitrum Nitro Testnet on Goerli URL: https://www.alchemy.com/overviews/arbitrum-nitro-testnet.md Arbitrum Nitro is an important innovation to the optimistic rollup layer 2 scaling solution that promises [Arbitrum](https://www.alchemy.com/arbitrum) users faster transactions and lower costs, and the Arbitrum Nitro Rollup Testnet is officially live on the Goerli testnet. **Arbitrum Nitro is the next iteration of Arbitrum, which includes three major improvements over Arbitrum Classic:** 1. A new prover enables Arbitrum’s fraud proofs to run on Web Assembly \(WASM\), making a custom language and compiler unnecessary. 1. Arbitrum's custom-built-EVM emulator can now be replaced with [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), the default Ethereum client. 1. ArbOS was re-written in Go to lower L1 transaction costs using improved batching and compression. The Arbitrum Goerli testnet is an important step forward for Arbitrum Nitro and Arbitrum's preparation for [The Merge](https://www.alchemy.com/the-merge). ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/). ## **Why is Arbitrum migrating to the Goerli Testnet?** Arbitrum is migrating to Goerli for two reasons. The first is that the Ethereum core development team is deprecating the Rinkeby testnet in favor of the Goerli testnet. The Arbitrum team will do the same to maintain parity with the Ethereum roadmap . The second is that the Arbitrum team needs a sandbox in which to test Arbitrum Nitro before releasing it on mainnet. Thus, it makes sense to upgrade the Goerli devnet first. ### **When will the Arbitrum Rinkeby Testnet be deprecated?** The Ethereum team has announced their plans to[ wind down Rinkeby around Q2 or Q3 2023](https://blog.ethereum.org/2022/06/21/testnet-deprecation/), and the Arbitrum team officially stop supporting Rinkeby on **December 20th, at 11:00 AM CT**. Because unsupported testnets lose parity with their mainnet counterpart, it is recommended that Arbitrum developers migrate their applications on the new Arbitrum Nitro Rollup Testnet immediately. ## **How to add the Arbitrum Nitro Testnet to MetaMask** To start deploying smart contracts and interacting with test applications on the Arbitrum Nitro test network, the first step is to connect to the network in your wallet. To add the Arb-Goerli testnet to [MetaMask](https://www.alchemy.com/dapps/metamask), click the network button at the top of your wallet and change it to "Arbitrum Nitro Rollup Testnet." If the Arbitrum Nitro Goerli Rollup Testnet **is not listed**, click "Add Network," and enter the following Arb-Goerli testnet details: 1. **Network Name:** Arbitrum Testnet 1. **RPC URL:** https://arb-goerli.g.alchemy.com/v2/your-api-key 1. **ChainID:** 421613 1. **Symbol:** AGOR 1. **Block Explorer URL:** https://goerli.arbiscan.io/ To use the default, public RPC URL instead of a dedicate [Arbitrum Goerli testnet RPC](https://www.alchemy.com/chain-connect/chain/arbitrum-goerli) connection through Alchemy, and this RPC URL: https://goerli-rollup.arbitrum.io/rpc Because the default RPC URL is a public RPC endpoint hosted by Arbitrum, anyone transacting on the Nitro testnet can use it. To avoid public endpoints, create a reliable and dedicated RPC endpoint just for your Arbitrum Nitro testnet transactions by signing up for Alchemy. ### **Bridging to Arbitrum** If you are bridging assets from Ethereum to Arbitrum, the following resources may be helpful: 1. **Token Bridge:** https://bridge.arbitrum.io/ 1. **Retryable Dashboard:** https://retryable-dashboard.arbitrum.io/ The token bridge allows you to send tokens from Ethereum to Arbitrum, and the Retryable Dashboard allows you to paste your transaction to understand what is happening with its status. ### **How to create a private Arbitrum Goerli RPC endpoint** Arbitrum developers can create a private RPC endpoint that is exclusive just for them instead of using the same public RPC endpoint. **Here's how to create a private Arbitrum Nitro RPC endpoint:** 1. Sign up for a [free Alchemy account](https://www.alchemy.com/layer2/arbitrum?a=8bc1e8807d) or sign in 2. Create a new Arbitrum App from the Alchemy dashboard 3. Replace the default RPC URL in MetaMask with your personal Arbitrum RPC endpoint: https://arb-goerli.g.alchemy.com/v2/YOUR-API-KEY After updating your Arbitrum network settings in MetaMask your team will be able to send calls on a dedicated RPC endpoint hosted by Alchemy. ## **How to bridge Goerli ETH to the Arbitrum Nitro Testnet** To execute transactions on the Goerli testnet you’ll need testnet ETH. Read on to learn how to get Goerli ETH and bridge it to Arbitrum. **Here's how to bridge Goerli ETH to Arbitrum:** The first step is to enter your Ethereum wallet address for the Goerli network to Alchemy's [Goerli Faucet to get free Goerli ETH](https://goerlifaucet.com/). If this is your first time getting testnet ETH, follow this [step-by-step guide to using a Goerli Faucet](https://www.alchemy.com/overviews/goerli-faucet). Next, open your MetaMask wallet and change your network to Arbitrum's Nitro Rollup Testnet. After changing your network, bridge your Goerli L1 ETH to Arbitrum’s Goerli Testnet on layer 2 by connecting your wallet to the [Arbitrum Goerli bridge](https://bridge.arbitrum.io/). Now, you should see Arbitrum Goerli ETH in your wallet, and will be able to use your Arb-Goerli testnet ETH to execute contracts on the Arbitrum Nitro Rollup Testnet. Arbitrum Nitro is the next iteration of Arbitrum, and the Arb-Goerli testnet is a key piece of Arbitrum node infrastructure necessary to support the next period of growth for one of Ethereum's most popular L2 blockchains. For more information, read the [Arbitrum developer documentation](https://developer.offchainlabs.com/) by Offchain Labs. --- # Arbitrum Nodes: Everything You Need to Know (2023) URL: https://www.alchemy.com/overviews/arbitrum-node.md [Arbitrum](https://www.alchemy.com/arbitrum) is a layer 2 scaling solution for Ethereum that aims to solve Ethereum's scalability challenges of low transaction throughput and high transaction fees using [optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups) to maintain Ethereum's layer one security. To start building Arbitrum applications, developers will need to connect to an Arbitrum node provider or setup their own Arbitrum node. In this guide, we will explain how to use Alchemy's infinitely scalable Arbitrum RPC node services, and how to get started running your own Arbitrum full node. **‍**‍ ## **What is an Arbitrum node?** An Arbitrum node is a computer that serves as a point of connection within the Arbitrum blockchain, many of which are interdependent on one another. To have a better understanding of Arbitrum nodes, it is essential to understand what nodes are, their roles in [propagating transactions](https://www.alchemy.com/overviews/transaction-propagation), and how blocks are validated. Transactions are submitted to a global pool of pending transactions, and broadcast to other nodes on the network before they are arranged into blocks. To ensure fairness, nodes in a network have to agree \(i.e. reach consensus\) on the transactions that were included in a block before that block of transactions is added to the network. Nodes help in the approval or rejection of block proposals, and also store the historical transaction data of the network.  ## **What is an Arbitrum node provider?** An [**Arbitrum node provider**](https://www.alchemy.com/overviews/blockchain-node-providers) is a company that runs Arbitrum nodes, and enables both everyday users and developers to send and receive requests from the blockchain without having to set up and manage nodes on their own. An Arbitrum node provider would have set up and maintained one or more Arbitrum nodes but would open it up for everyone to utilize it by creating some APIs or RPC. Put in another form, an Arbitrum node provider is in the business of giving Arbitrum-node-as-a-service.  Once the users get access to the Arbitrum API of an Alchemy node provider, they can interact with the Arbitrum blockchain in real-time.  While there are quite a [handful of Arbitrum node providers](https://www.alchemy.com/overviews/blockchain-node-providers), Alchemy is the leading provider. Later on in this guide, we will go over how you can tap into the Alchemy Arbitrum node.  ## **What is the difference between running your own Arbitrum node and using an Arbitrum node provider?** **Running your node requires you to install the requisite programs so your computer or device can be connected to Arbitrum mainnet and oversee the operating, while using a node provider manages the operations for you.** Thus, the main difference between running your own Arbitrum node and using an Arbitrum node provider is management in terms of setting the node up and maintaining it accordingly.  When you take advantage of an Arbitrum node provider, you have pushed the responsibility to a third party. [Selecting a reliable node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) can take a bit of initial effort but after that, you don’t need to bother about the hardware to maintain it. ## **What are the challenges of running your own Arbitrum node?** **The challenges of running your own Arbitrum node include needing proper storage space, a large lead time and the bandwidth required to manage a full-time node.** However, if you’re thinking of spinning your own node, it might appear to be a good idea at first. And of course, your own node has its benefits.  An in-house node means you are a direct stakeholder in maintaining the security and health of a particular chain. This, makes it tough for malicious actors to execute hacks on the chain. Secondly, you will have access to the state of the chain; the entire data of the network.  However, the [challenges of running your own node](https://www.alchemy.com/overviews/running-your-own-node) are not always discussed, and we shall address them here.  ### 1. Storage space You need a large space on your computer before you can run a full node. While there is no specific space required to run an Arbitrum node, the range is always between 200 GB to 300 GB among all blockchain networks.  ### 2. Set-up time When you attempt to run a full node, your computer will have to download the ledger of the blockchain right from the first block that was mined up to the one mined a second ago. This always takes time; it may be days, weeks, or a month at worst depending on the chain and some other relative factors.  ### 3. Node management Once you have eventually set up your full node, there is a need to manage it - and this is where the actual challenges lie. Running a full node is time-demanding, not only because you will have to be online for long hours, but you will also have to keep up with upgrading and debugging most of the time.  Now, let's consider how you can connect to an Arbitrum node on Alchemy — the foremost node provider in Web3.  ## How to connect to an Arbitrum node on Alchemy Here is a step-by-step guide on how you can connect to an Arbitrum node using Alchemy as the node provider so you can [start developing on Arbitrum](http://www.alchemy.com/overviews/how-to-start-developing-on-arbitrum): ### **Step 1. Sign up for Alchemy** The first step you need to take is to [go to the Alchemy website](https://dashboard.alchemy.com/signup/) to sign-up and fill in a few details. If you had already signed up before, simply log in. ### **Step 2. Create a new Arbitrum app** Once you have logged in, go ahead to create an app on Alchemy. In this case, select the Arbitrum mainnet. ### **Step 3. Install the npm package and Alchemy SDK** You will need the [npm package](https://nodejs.org/en/download/) moving forward if you do not have it already. Then, run this command to install the Alchemy SDK. ### **Step 4. Connect and make node requests to the Arbitrum Mainnet** Using Ether.js or Web.js, you will need to import the Alchemy SDK and make a node request. Paste this command to import the SDK: Now, you should configure your object by inputting your [Alchemy Arbitrum API key](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart). To know your API key, go to your dashboard on Alchemy and click the _view key_ on the app. Run this command in your environment: , network: Network.ARB_MAINNET, }; const alchemy = new Alchemy(settings); alchemy.core.getBlockNumber().then(console.log);`} language="text" theme="dark" /> ### **Step 5. Node request analytics and report** You will be able to monitor whether or not your requests were successful and the speed of execution — everything will be displayed on your dashboard. ## **How to set up your own Arbitrum full node** Perhaps you want to set up your own Arbitrum full node and run it, you can take the steps below. ### Step 1. Get the Arbitrum node Docker image Before you can run an Arbitrum node, you need to get some dependencies and libraries which are contained in a docker image. ### Step 2. Get an Ethereum node RPC endpoint There are two options for you to get this; either you use an [Arbitrum RPC endpoint provider](https://www.alchemy.com/chain-connect/chain/arbitrum-one) or you build your own Ethereum node — which is another process entirely.  If you want to leverage an [Arbitrum RPC node provider](https://www.alchemy.com/layer2/arbitrum?a=9e8867d1b6), you can use Alchemy.  `} language="text" theme="dark" /> ### Step 3. Connect with the Arbitrum Mainnet Once you have your dependencies set, you can run this code to make a node request to the Arbitrum main network: At this point, don't be alarmed when you run these programs and they don't work on your computer. There is no standard way of running a full Arbitrum node at the moment.  The Offchain Labs, the team behind Arbitrum, have not yet released official detailed documentation on how to run their nodes.  Thus, your ability to successfully run the node depends on how compatible your device might be and how well you have mastered CLI.  ### Get your Arbitrum nodes up and running today! Running an Arbitrum full node is a time-consuming and financially-demanding activity that has no direct impact on what you’re working on as a developer. You need to acquire a device with the proper hardware requirements, wait for the complete blockchain ledger to download and then manage it on a day-to-day basis.  Most developers often choose to skip this tedious process and opt to enjoy the service of a node provider. Alchemy is the go-to node service provider that can help you set-up Arbitrum nodes within a few clicks! Get started with Alchemy today. --- # Arbitrum Statistics (2022) URL: https://www.alchemy.com/overviews/arbitrum-statistics.md [Arbitrum](https://www.alchemy.com/layer2/arbitrum/?a=bd84eff1a9) is the leading [layer 2 Ethereum scaling solution](https://www.alchemy.com/overviews/ethereum-scaling-solutions) that uses optimistic rollups \(ORUs\). In this article, we curated data points from multiple public dashboards to highlight the trends and chain activity statistics on [Arbitrum](https://www.alchemy.com/arbitrum). ## How many unique addresses does Arbitrum have? As of May 19, 2022, there were a total of 621,841 unique addresses on Arbitrum. On May 19, 2022, there were 3,634 new unique addresses added, for the week of May 19th, 2022, there were 24,338 new unique addresses added, and there were 101,322 new [unique addresses on Arbitrum](https://arbiscan.io/chart/address) added in the past month. ## How many daily transactions does Arbitrum process? **On average Arbitrum processes 39,138 transactions a day.** On May 19, 2022, 90,118 transactions were processed on Arbitrum**.** This is a 32.61% decrease from the monthly high, which occurred on May 9th, with 133,735 transactions. The highest ever number of [daily transactions on Arbitrum](https://arbiscan.io/chart/tx) occurred on Sunday, September 12, 2021, with 267,608 transactions. ## How many transactions does Arbitrum process a day compared to Ethereum? On May 19, 90,118 transactions were processed on Arbitrum. Meanwhile, 1,093,367 transactions were processed on Ethereum during the same time period, which is 12 times as many transactions as Arbitrum.  While this is a daily snapshot, from the historical chart below, this difference in [transaction volume between Arbitrum and Ethereum](https://pro.nansen.ai/multichain/eth-vs-arbitrum) has been consistent since February of 2022. ## How many verified contracts does Arbitrum execute per day? **On average Arbitrum executes 20 verified contracts per day.** On May 19, 2022, 24 verified contracts were executed on Arbitrum. This is a 57.14% decrease from the monthly high, which occurred on May 1st, with 56 executed contracts.  The highest ever number of [verified smart contracts that were executed in one day](https://arbiscan.io/chart/verified-contracts) occurred on Sunday, September 12, 2021, with 149 executed contracts. ## How much gas is paid on Arbitrum per day? Daily Arbitrum Gas prices have been trending between local highs and lows of $4.57 and $0.42 respectively since March 19th excluding an outlier on May 1st, 2022. ## How much gas is paid on Arbitrum per day? On average, [daily Arbitrum gas prices](https://pro.nansen.ai/multichain/eth-vs-arbitrum) are approximately 10 times cheaper than daily Ethereum gas prices. Daily Ethereum gas prices have been trending between local highs and lows of $44 and $4.98 respectively since March 19th compared to $4.57 and $0.42 for Arbitrum. ## How many total deposits have been made on Arbitrum? **A total of 396,583 deposits have been made on Arbitrum as of May 19th, 2022.** Over the previous 30 days, 49,219 total deposits were made, which is an increase of 101% from the previous month, which had 24,468 deposits. Over the previous week, 13,798 total deposits were made, a 77% increase from the previous week, which had 7,776 deposits. ## How many unique deposit addresses are on Arbitrum? **A total of 279,892 unique deposit addresses are on Arbitrum as of May 19th, 2022.** There have been 12,565 total unique deposit addresses added in the last week. This is an increase of 95.5% from the previous week, which had 6426 unique deposit addresses added. There have been 41,387 total unique deposit addresses added in the last month. This is an increase of 134% from the previous month, which had 17,690 unique deposit addresses added. ## How much is Arbitrum's total value locked \(tvl\)? As of May 19th, 2022, Arbitrum’s TVL is 2.65B. This is a 35.8% decrease from the peak [Arbitrum TVL](https://l2beat.com/projects/arbitrum/), which was 4.13B on Apr 5, 2022. ## What protocol has the highest TVL on Arbitrum? [Multichain](https://www.alchemy.com/dapps/multichain) protocol has the highest TVL on Arbitrum of $252,759,670. This is 10x higher than the protocol with the 10th highest TVL, [Balancer](https://www.alchemy.com/dapps/balancer) \(25,127,300\). ## 2022 Arbitrum statistics show healthy ecosystem growth Arbitrum is the leading layer 2 Ethereum scaling solution that uses optimistic rollups \(ORUs\), and based on the latest 2022 statistics, is showing healthy growth in terms of: - unique addresses - transaction volume - deposit addresses - total deposits Although the entire market has been in a down trend since the beginning of the year, user-based statistics show that Arbitrum’s ecosystem, user activity, and developer communities and growing despite lower TVL and token prices. Sign up for a free Alchemy account to [start developing on Arbitrum](https://www.alchemy.com/layer2/arbitrum/?a=bd84eff1a9). --- # How to Create Arbitrum Webhooks URL: https://www.alchemy.com/overviews/arbitrum-webhooks.md Alchemy now supports **webhooks for [Arbitrum](https://www.alchemy.com/arbitrum)**, an [optimistic rollup-based layer-2 scaling solution](https://www.alchemy.com/layer2/arbitrum?a=15abf7f4ce) for Ethereum. Arbitrum webhooks make the receiving important web3 notifications easy to set up and initiate. In this article, we show you how to create and launch a webhook on Arbitrum, explore the events that can be tracked using Arbitrum webhooks, and share several use-cases.     ## What is a webhook? A webhook is a term used to provide real-time information for applications. Webhooks are also called web callbacks or web callbacks or HTTP push API. With [webhooks](https://www.alchemy.com/overviews/what-is-a-webhook), you’ll be able to receive data fast and frequently, and are often used by users to receive notifications on certain events. Webhooks have the ability for real-time data for providers and consumers.  The only drawback of using webhooks is setting it up for the first time. Webhooks work by using a URL to send notifications once an event occurs. Fortunately, Alchemy enables Arbitrum developers to create webhooks quickly and easily. ## What Arbitrum events can be tracked with webhooks? There are three main types of notifications developers can create using [**Alchemy Notify for Arbitrum webhooks**](https://www.alchemy.com/docs/reference/notify-api-quickstart): mined transaction, dropped transaction, and address activity notifications. ### **1. Mined transactions** Mined transactions are used to notify that the transactions sent through your API get successfully mined. This is useful if you want to notify customers once their transactions process such as receiving tokens, completing mints, or sending tokens. ### 2. Dropped transactions Dropped transactions are used to notify your application users when a transaction sent through your API key fail or are dropped from the mempool. Transacation anxiety occurs when users are unaware of the current state of their transaction. By using Arbitrum webhooks, dApp developers can notify users that their transaction was dropped, and allow them to retry their transaction. ### 3. Address activity Address Activity is used to track tokens that are ETH, [ERC20](https://www.alchemy.com/overviews/erc20-solidity), and ERC721. These are all transfer events that are used for as many Ethereum addresses as you’d like. Using this webhook would enable real-time changes whenever a certain address sends or receives a token.  #### Types of address transfers 1. **Token transfers** - display logs for any ERC20, ERC721, and ERC1155 transfers. 1. **External transfers** - these transfers are used for top-level transactions that occur with a from address being the user-created, or external address. External addresses have private keys and are accessed by users. 1. **Internal transfers** - transfers that occur from the _fromAddress_, which is an internal smart contract address \(i.e. a smart contract calling another smart contract, or a smart contract calling another external address.\) 1. **Gas prices** - get current gas prices and get notified when the gas prices go above or below a threshold.  ## Arbitrum webhook examples There are many use case examples for using Arbitrum webhooks. Below is a list containing a few: - Arbitrum wallet notifications for transaction status updates - NFT airdrop updates when you receive a new Arbitrum NFT - A Discord bot that enables notifications whenever an Arbitrum whale moves tokens - A Twitter bot that tweets every time an Arbitrum NFT is from a specific collection Arbitrum webhooks give developers the necessary tools to keep users informed of their transaction status. ## How to set up webhooks on Arbitrum Alchemy makes it extremely easy to create webhooks to track events, in fact, it's as simple as adding a new URL to your application. There are two primary ways to activate Alchemy Notify: from the dashboard and programatically. Below, we show the steps to set up a webhook using Alchemy’s dashboard. ### Step 1 - create a free Alchemy account To create your webhooks, if you haven’t already, be sure to [create a free Alchemy account](https://dashboard.alchemy.com/signup/?a=c3e69d5930).  ### Step 2 - create a webhook from the Alchemy dashboard Make sure you are in the “Ethereum \+ L2” ecosystem on the upper left of the Alchemy dashboard. Navigate to the “Notify” tab and click the “Create Webhook” button in the “Address Activity” section.  ### Step 3 - choose Arbitrum and Mainnet to add notifications Next, fill in these fields to create the webhook: - Select “Chain” to be “Arbitrum,” - Select “Network” to be “Mainnet,_”_ Then, paste in the webhook URL you copied from your app as well as the address you want to track. ### Step 4 - add your Arbitrum webhook URL Here, you would add in your unique webhook URL, this can be the link where you want to receive requests \(your server, Slack, etc.\). ‍Note: that the webhook payload might not always be compatible with 3rd party integrations. ### Step 5 - test your Arbitrum webhook If you want to test if the Alchemy webhook successfully sends requests before confirming the creation, click on “Test Webhook” next to the webhook URL. Or if you have already created the webhook but want to test again, click on the three dots by your webhook and select “Send Test Notification.” ### Step 6 - hit "create webhook" From here, you should check if your responses are rolling through. If you want to make your webhooks even more secure with [Webhook Signature and Security](https://www.alchemy.com/docs/reference/notify-api-quickstart), you could generate an HMAC SHA-256 hash code using your unique webhook signing key. This verifies that the webhooks originate from Alchemy. To learn more about setting up webhooks programmatically, refer to our [Notify API](https://www.alchemy.com/docs/reference/webhooks-overview) page in the docs. --- # Archive Nodes - Everything You Need to Know URL: https://www.alchemy.com/overviews/archive-nodes.md A public blockchain like Ethereum or Polygon is a global peer-to-peer network of computers. Nodes, as each peer device is known, store and process blockchain information on the blockchain and verify the network state, among other things.  While nodes can interact with other peers on the blockchain, they have different capabilities and use-cases. For example, archive nodes—discussed in this article—can store the complete historical data for the blockchain and serve it on request. These are different from full nodes that only store the recent blockchain state and light nodes that primarily request data from full nodes.  This overview covers archive nodes in detail and explains how they work in Ethereum. You’ll learn why running an archive node matters, what clients to use, and how to build your archive node to query historical blockchain data.  ## What is an Ethereum archive node? An Ethereum archive node is a full node with the capacity to store the entire blockchain history, even up to the genesis block, or the first block ever created. We cover all the nodes in-depth in our [guide to blockchain nodes](http://www.alchemy.com/overviews/what-is-an-ethereum-node), so here we’ll just give a quick overview of each type: ### Full nodes Full nodes store the current and most recent blockchain states \(up to the last 128 blocks\) and participate in validating newly added blocks. They can process transactions, execute smart contracts, and query/serve blockchain data. They can also access some historical data \(via tracing\) but are inefficient for this task.  ### Light nodes \(aka “light clients”\) Light clients only store block headers, giving them access to minimal blockchain data \(e.g., block timestamp, hash, mining difficulty, etc.\). However, they can also interface with full nodes to get necessary data and validate information \(e.g., checking transaction status or querying balances\). Running a light node requires the least investment in hardware, running costs, and technical expertise. Block Headers

", tooltip: "", icon: "" }, "2": { title: "

Block Headers

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Full Block State

", tooltip: "", icon: "" }, "2": { title: "

Full Block State

", tooltip: "", icon: "" }, id: 1, }, ], }} /> ### Archive nodes Archive nodes store the same information as full nodes and all previous states of the blockchain. Running an archive node requires the most investment in hardware, running costs, technical expertise, and experience. Archive nodes build archival blockchain data quickly and efficiently, and they’re useful for querying arbitrary historical data, like a user’s balances on a specific block. Archive nodes require more space than other nodes \(since they store more data\), but the investment is worth it in specific cases. In the next section, we explore how archive nodes work and how their architecture is different from other node types.  ## How do archive nodes work? Archive nodes store all historical states of a blockchain between blocks. An archive node essentially contains snapshots of the network at different points in time. ### What data does an archive node synchronize?  **An archive node performs a “full sync”, which downloads full block data from the genesis block including block headers, transactions, and receipts.** Like all nodes, an archive node must 'synchronize' with the blockchain's current state to store and verify data on the network. Syncing requires recovering state data from peers, verifying transactions, and building a local instance of the blockchain.  Archive nodes verify all downloaded blocks, re-execute all transactions, and write all intermediate states to your disk. The last part explains why archive nodes provide an “archive” of the blockchain’s state at different moments.  #### How long does it take to sync an archive node?  **The average estimate for syncing an archive node varies, but expect anything from one month to three months \(or more if the process runs into problems\).** [Archive nodes take longer to sync](https://www.palkeo.com/en/projets/ethereum/parity_archive_node.html) than regular full nodes or light clients. That's simply because an archive node will recover the complete dataset for the blockchain since inception.  Full nodes and light nodes require far less time to sync, as they prune historical and unnecessary blockchain data. For example, a full node only syncs to the latest block and possibly a few hundred blocks before that block \(light clients only sync the latest block headers\).  This slow rate of synchronization can stall development projects, which is why [using a blockchain node provider](https://www.alchemy.com/overviews/blockchain-node-providers) is advisable. Node providers allow you to deploy fully-synced archive nodes on demand and save you the stress of running an archive node.  #### What is the size of an archive node?  As at the time of writing, archive nodes running the two major clients \(Geth and OpenEthereum\) store [**more than 10 TB of data**](https://etherscan.io/chartsync/chainarchive). For context, full nodes running Geth only store a little over 700GB of blockchain data. We’ve previously explained the reason for this disparity—namely, the need to recover blockchain data from genesis with archive nodes, unlike full nodes that regularly prune old data.  ## Why use archive nodes? Archive nodes provide a gateway for accessing historical information about the blockchain. This can be useful if you need older data than those contained in the recent 128 blocks \(which would be available via full nodes\). Here are two use-cases for Ethereum archive nodes: ### 1. Auditing historical information for blockchains If you're building a service to audit a blockchain or gather specific pieces of historic data, an archive node is ideal. A good use-case would be if you were building a blockchain explorer \([Etherscan](https://www.alchemy.com/dapps/etherscan)\), an on-chain analytics tool \([Dune Analytics](https://www.alchemy.com/dapps/dune-analytics)\), or a cryptocurrency wallet.  These services rely on archive nodes to query and serve up old state data for users. For example, you can get information about the first block mined on Ethereum using Etherscan. Similarly, Dune Analytics can show you the [total Uniswap users from inception](https://dune.com/queries/2740).  ### 2. dapp development Running your own node is usually a minimum requirement for building a dApp. A full node is useful if you only need to do things like submitting transactions, analyzing transaction mempools, listening to smart contract events, and calling recent blockchain information.  However, calling any information beyond the first 128 blocks using a full node will throw an error. Full nodes prune blockchain data and only keep the minimal data necessary to verify the network's state.  Your dApp project needs to run an archive node to query older blockchain data _quickly_. The last part is important because, while you can build archival data with full nodes, it takes longer to do. With an archive node, things like getting an account's balance at a certain block number, are seamless and fast operations.  Examples of [apps](https://www.alchemy.com/dapps/top/defi-dapps) that may need access to an archive node include: - On-chain reputation services \(e.g. DegenScore\) that track user activity over a large period of time.  - Governance platforms \(e.g., Tally, [Snapshot](https://www.alchemy.com/dapps/snapshot)\) that allow users to discuss and vote on governance proposals.  The common thread that joins these dApp examples and others like them is **the need to look at historical on-chain data**.  ## How do you run an archive node? Running an archive node requires a node client and beefier hardware compared to the hardware needs of full nodes or light clients. Archive nodes _are_ useful for retrieving historical state data without relying on third-party providers. They can put you in control of your information, especially if you need it for specific purposes \(like tax compliance\). But because of this massive amount of information they need to store and interact with, meeting the proper hardware requirements is a necessity.   ### What is an archive node client? **An archive node client is an implementation of the blockchain that you can run locally.** Clients allow nodes \(including archive nodes\) to interact with other peers and access blockchain data. To run an Ethereum archive node without issues, you need a reliable and performant node client. ### What are some popular archive node clients? The most popular and trusted archive node clients are Go Ethereum \(Geth\), Erigon, Nethermind, and Besu. We can understand these clients better if we look at each of them more in-depth: #### Geth archive node Geth is one of the earliest client implementations developed for the Ethereum blockchain. It is also the main client used by Ethereum nodes. Geth boasts a large pool of tooling and features for users. It is written in Go and is publicly available under the GNU Lesser Public License. Learn more about [running archive node with Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one). #### Erigon archive node Erigon is another Go-based Ethereum client for node users. Erigon provides access to efficient state storage, faster sync times, Grafana dashboard analytics, and a useful JSON-RPC daemon. Learn more about[ running an archive node with Erigon](https://github.com/ledgerwatch/erigon).  #### Nethermind archive node Nethermind is an implementation of the Ethereum protocol built using the C\# .NET framework. Nethermind claims to be the fastest Ethereum client available and offers stability, security, reliability, and data integrity. Learn more about[ running an archive node with Nethermind](https://docs.nethermind.io/nethermind/ethereum-client/sync-modes#archive-sync).  #### Besu archive node Hyperledger Besu is an Ethereum client designed for enterprise users, although it can work for individuals as well. Besu is written in Java and offers useful features, including tracing, GraphQL API, and extensive monitoring. Learn more about [running an archive node with Besu](https://besu.hyperledger.org/en/stable/Concepts/Node-Types/#run-an-archive-node). ### What hardware do you need to run an archive node? Because archive nodes perform more read-write operations and use more RAM and CPU than other types of nodes, they may demand investing in specialized hardware to compensate for their computation-heavy duties. Below is a list of requirements for running an Ethereum archive node: Operating system: Windows, Linux, or macOS Processor: Intel i7 or equivalent Storage: Solid State Drive \(SSD\) with at least 8-10 TB of space RAM: RAM disk with at least 16-32GB **CPU:** CPU with 4\+ cores  **Bandwidth:** Speeds of 25\+ MB/s  Once you set up your node hardware and configure the client, you can start with the Ethereum blockchain using frontend libraries \(ethers.js/[web3.js](https://www.alchemy.com/dapps/web3-js)\) and [JSON-RPC calls](https://www.wallarm.com/what/what-is-json-rpc). For example, you can try to get the balance for an old address by calling the \`eth_getBalance\` function. ## Free archive node access on Alchemy As we’ve explained, running an Ethereum archive node requires a huge investment. This doesn’t take into account the time and energy you need to manage the archive node itself, especially if it goes out of sync. But you can skip on all of that by connecting to an archive node endpoint managed by a node provider, like Alchemy.  Alchemy's [Supernode](https://www.alchemy.com/supernode?a=b4f033deab) supports unlimited requests for archive data and provides access to all the historical blockchain information you need. The good part? You can connect to an archive node _for free_.  Alchemy [offers unrestricted archive node access](https://www.alchemy.com/blog/more-capacity-lower-prices) even for users on Supernode’s free tier. This means you can get past on-chain data and even fork the entire chain from genesis, without paying additional fees. Alchemy includes access to [archive nodes for Polygon](https://www.alchemy.com/blog/polygon-archive-node-limit), Ethereum, and many other popular chains.  ### How to connect to full archive nodes on Alchemy?  Here is a step-by-step process for connecting to archive nodes with Alchemy: 1. [Sign up](https://dashboard.alchemy.com/signup?a=b4f033deab) for an account \(it's free!\) and create your first project.  2. [Create your Alchemy key](https://www.alchemy.com/docs/alchemy-quickstart-guide). This is the URL endpoint for connecting to your archive node.  3. Start sending requests from the command-line interface to the Ethereum blockchain for archival data.  ### Conclusion Archive nodes can store past blockchain states extending beyond the most recent 128 blocks. If your dApp or Web3 service requires accessing historical blockchain data, running an archive node is a no-brainer. But be aware that the demands of running a fully functional archive node can discourage developers and stall development plans.  Alchemy’s [Supernode](https://www.alchemy.com/supernode?a=b4f033deab) solves this problem by connecting users with archive nodes that use free URL endpoints. With Alchemy, running an Ethereum archive node has never been easier! --- # What is an Associated Token Account on Solana? URL: https://www.alchemy.com/overviews/associated-token-account.md The [Solana Account Model](https://www.alchemy.com/overviews/solana-account-model) organizes and stores all on-chain data, and Associated Token Accounts \(ATAs\) are one of the key pieces of that model. This article will explain what an ATA is, how it works, and how to create an Associated Token Account for yourself. ## **What is an associated token account?** **An Associated Token Account is created via the Solana Associated Token Account Program, which holds information about a specific token, its balance, and its owner.** It is a variant of a [Program Derived Address](https://www.alchemy.com/overviews/program-derived-address). Here’s what each term means: - **Associated** **Token** **Account** - an account that is associated with a token \(think of Solana Token Program\) - **Program** **Derived** **Address** - an address that has been “derived” \(created\) from a Solana Program, namely, the Associated Token Account Program ### How do associated token accounts and transfers between them work? **Transfers between Associated Token Accounts occur directly between the accounts, and indirectly through their wallet addresses.** Token accounts are the equivalent of an ERC-20 token on Ethereum, but with a foundational difference: Ethereum smart contracts own its state and code, and a token account on Solana contains only its code and “exports” its state \(e.g. token balance\) into an Associated Token Account, which is created for each owner of that token. **Let’s quickly examine USDC for an overview of what we’ve learned so far:** - USDC on Solana is a token account - A token account is created by the [System Program](https://www.alchemy.com/overviews/solana-data-vs-program-accounts) but initialized as Token mint by the SPL Token Program - Once the USDC token has been initiated, users can start making transfers - Users with USDC tokens have Associated Token Accounts that are created through the Associated Token Account Program \(ATP\) - The exchange of USDC between two people happens between the users’ ATAs USDC transfers directly occur between the users’ ATAs and indirectly between their wallet addresses on [Solana nodes](https://www.alchemy.com/overviews/solana-nodes). These transfers must be between users, whose ATAs have been created with the same token mint seed. ## **What is the associated token account program?** Being part of the [**Solana Program Library**](https://www.alchemy.com/overviews/solana-program-library), the Associated Token Account Program is the parent program for every ATA, that maps a user’s wallet to the ATAs that he has authority over. Additionally, the ATA Program ensures that if a user wants to send a token to another user, the recipient will get it, even if he does not have an ATA for the corresponding token. The program will automatically create an ATA account in this case while the smart contract is executed on an [RPC node](https://www.alchemy.com/overviews/solana-rpc). The source code for the Associated Token Account Program is written in Rust and can be checked on[ GitHub](https://github.com/solana-labs/solana-program-library). Here’s how an ATA is created under the hood on TypeScript: ### **How does the associated token account program work?** Here's what is happening in the ATA program: #### **1. Get IDs for constants** First, we get the \`TOKEN_PROGRAM_ID\` and \`SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID\` constants. A program ID is a fancier name for the program’s address. #### **2. Get the findAssociatedTokenAddress function** Then, we proceed with the \`findAssociatedTokenAddress\` function, which returns publicKey, which will be the address of the newly created ATA. #### **3. Invoke the findProgramAddress method** In the body of the function, the \`findProgramAddress\` method is invoked and two arguments are passed to it: - An Array of Seeds - SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID Since ATA is a form of a Program Derived Address \(PDA\), the account can be created by passing arguments to the program. The creation of a PDA involves passing seeds as arguments and in this case, they are: 1. ‍**wallet_address** - the address of the account, which will own the funds in the ATA \(authority\)**‍** 1. **token_program_id** - the program ID of the SPL Token Program 1. ‍**token_mint_address** - the address of the Token account that will be stored in the ATA The ID of the Associated Token Account Program is SPL_ASSOCIATED_TOKEN_ACCOUNT_PROGRAM_ID. ## **How to create an associated token account** Creating an Associated Token Account is as simple as calling create-token using the spl-token-cli on Solana. Creating an ATA also assumes that the token with which it will be “associated” already exists. ‍The code invokes the \`create-account\` command, which accepts \`<TOKEN_MINT_ADDRESS>\` as an argument. To create an Associated Token Account, you must follow these four steps: 1. Transfer SOL - the System Program initializes the ATA and makes it rent-exempt 1. Create Free Space - the System Program assigns free space for the ATA. 1. Transfer Ownership - he System Program transfers ownership of the account to the SPL Associated Token Account Program 1. Initialize the Account - the process summarizes the account initialization and sets the token address, the newly created ATA address, and its owner ### **What's the difference between owners and authorities?** *Owner* is the type of Solana program that controls the ATA, while _authority_ is the account \(wallet\), that sends a transaction to the owner program, which then changes the data in the ATA on behalf of the authority. ### **What is the cost of an associated token account?** By default, Associated Token Accounts must be marked as [**rent-exempt**](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs) upon their creation, so the minimum amount that an account must hold should be at least 0.00203928 SOL. The System Program transfers this SOL to the ATA, which is deducted from the account that initiating the transaction. Other than that initial fee, any further interaction will cost no more than an ordinary transaction on Solana. ### **How to check an associated token account** **You can check an Associated Token Account through clients like Phantom that automatically derive all the ATAs that a user’s wallet has authority over.** Additionally, since the blockchain is public, you can also access this information with the help of an explorer like Solscan.io. Paste the address of the wallet that you’d like to check and its ATAs will be visualized under Token Accounts: ### **Can you link an associated token account to an existing account?** **Linking an Associated Token Account to an existing account is done by default behind the scenes. Due to the way an ATA is created,** **a program or a client can easily see the seeds of every account.** They could be regarded as ‘links’ to: - the wallet that has authority over the ATA. - the address of the Token account \(i.e. the token type that the ATA holds\). ## **Build your Solana app with Alchemy** Learning about the Associated Token Account is one of the first steps to becoming a fully-fledged Solana developer. You can use our user-friendly[ Solana API](https://www.alchemy.com/docs/reference/solana-api-quickstart) to get a head start on building your first dApp once you've mastered Solana nodes and selected an RPC provider. ## Frequently asked questions ### What is an associated token account \(ATA\) on Solana? An Associated Token Account is created via the Solana Associated Token Account Program and holds information about a specific token, its balance, and its owner. It is a variant of a Program Derived Address that maps a user's wallet to specific tokens. ### How does an ATA differ from a regular token account? Token accounts on Solana contain only code and "export" their state into Associated Token Accounts, which are created for each owner of that token. ATAs are deterministically derived addresses linked to both a wallet and a specific token mint. ### What is the associated token account program? The Associated Token Account Program is part of the Solana Program Library that maps a user's wallet to the ATAs they have authority over. It automatically creates ATA accounts when users send tokens to recipients who don't have an ATA for that token. ### How much does it cost to create an associated token account? ATAs must be rent-exempt upon creation, requiring a minimum balance of 0.00203928 SOL. This amount is transferred from the account initiating the transaction and covers the ongoing rent requirements. ### What seeds are used to derive an ATA address? ATA addresses are derived using three seeds: the wallet address \(authority\), the token program ID, and the token mint address. These are passed to the Associated Token Account Program to create the deterministic address. ### How do I create an associated token account? You can create an ATA using the spl-token-cli by calling the \`create-account\` command with the token mint address as an argument. The process involves transferring SOL, creating space, transferring ownership, and initializing the account. ### How can I check my associated token accounts? You can view your ATAs through wallets like Phantom that automatically derive all ATAs your wallet has authority over, or use blockchain explorers like Solscan.io by searching your wallet address and viewing the Token Accounts section. ### What happens when I send tokens to someone without an ATA? The Associated Token Account Program automatically creates the recipient's ATA during the transfer if it doesn't exist, deducting the rent-exempt SOL amount from the sender's account to fund the new ATA. --- # Autonomous Onchain Actions: What AI Agents Can Do Onchain | Alchemy URL: https://www.alchemy.com/overviews/autonomous-onchain-actions.md An AI agent now opens a Polymarket position, refills its own API balance in USDC, and rebalances across Aave markets without a person clicking confirm. The gap between what agents could do onchain a year ago and what they ship every day now is wider than most product pages admit. The shift is the moment an LLM stops suggesting actions and starts signing them. An LLM that writes code is a copilot. An LLM that holds a wallet is an [agent](https://www.alchemy.com/ai-agents). Once the wallet is real and the agent can spend from it, every onchain primitive becomes a tool the model can call: read state, sign a transaction, pay for an API, swap and bridge, vote, attest. This post walks the six primitives, names the live agents using each one, and points at the stack that lets us treat them as production users instead of edge cases. ## What is an autonomous onchain action? An autonomous onchain action is any [transaction](https://www.alchemy.com/docs/understanding-transactions) an agent signs and submits without a human approving that specific call. The agent operates inside a permission envelope set up ahead of time, a session key with a spend cap and a contract allowlist, or a policy on a custodial wallet, and acts freely inside that envelope. Reading state is not an autonomous onchain action. Sending a transfer the user has not pre-authorized is also not an autonomous onchain action. The signing has to happen, and it has to happen without a per-action prompt. That definition matters because it sorts the market. A chatbot that produces a transaction payload for a human to sign in a wallet is not an onchain agent. A cron job that signs and broadcasts on its own already is, even if no LLM sits anywhere in the loop. The bar is autonomous signing, not the presence of a model. ## What primitives does an onchain agent use? Six primitives cover almost every onchain action an agent runs in 2026. Each one corresponds to a tool the model calls, and each one has a separate failure mode worth knowing about. - **Read.** Query state, prices, balances, events. The agent uses an [RPC endpoint](https://www.alchemy.com/rpc-api), an indexed [Data API](https://www.alchemy.com/docs/data), or an [MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) that wraps both. Read access is the cheapest primitive and the most reliable. It is also where most "agent" volume on dashboards comes from, which is why headline transaction counts can be misleading. - **Sign.** Submit a transaction from a wallet the agent controls. This is where autonomy starts. Sign requires a custody pattern (embedded wallet, MPC, smart account, or raw key) and a policy engine that decides whether to sign now. A raw key signs whatever it is handed; the policy is the only thing that can say no. - **Pay.** Settle for offchain compute and APIs. Agents pay in USDC over [x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web) for crypto-native services and over Stripe's [Machine Payments Protocol](https://www.alchemy.com/overviews/x402-vs-mpp-comparing-agent-payment-protocols) when the merchant is on cards or stablecoins. Without a per-call cap, the agent pays whatever a 402 asks. - **Swap and bridge.** Move value across pools and chains. Agents call Jupiter on Solana, Uniswap or 0x on [EVM](https://www.alchemy.com/rpc-api), and bridges like Across or deBridge to land funds on the chain where the next action makes sense. Broadcast a naive swap and it can get sandwiched for its size. - **Govern.** Cast a vote, delegate, propose. Less common than the trading primitives in volume, more interesting in shape: a single agent can run a tracking strategy across hundreds of DAOs that human voters never have time for. The risk is a policy that keeps voting after it has drifted from the holder's intent. - **Prove.** Attest to an identity, post a reputation receipt, register inside [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004). This is the youngest primitive and the one that turns one-off agents into composable services other agents can hire. An attestation is only worth as much as the issuer behind it. The order is not arbitrary. Read and sign are the universal core. Pay is what makes the agent economic. Swap, bridge, and govern are what give the agent reach. Prove is what makes one agent legible to another. Skip a primitive and an entire category of action falls off the menu. ## What can agents actually do onchain today? The concrete inventory, organized by category. ### DeFi positions and yield DeFi agents take two common shapes. Some run as swarms of specialized roles working a shared treasury. Others run as single-purpose rebalancers that do one job well. The recurring mechanic: the agent reads positions through an indexed [Data API](https://www.alchemy.com/docs/data), computes a target allocation, signs supply or withdraw calls on Aave, Morpho, or Pendle, and re-checks on a heartbeat. The hard part is not the math. It is staying inside the permission envelope when a new market looks better but is not on the allowlist. That loop is not hypothetical. In the demo below, an agent compares Aave USDC yields across L2s, bridges from Base to the best chain, and supplies, all from the terminal with no ETH on hand and only a scoped key. ### Trading and rebalancing Trading agents now run across the major venues. Some sit behind natural-language interfaces on Farcaster and X, routing swaps on Base, Solana, or Polygon through 0x or Uniswap. Others run skills-based stacks against Hyperliquid perps, with trailing stops and smart-money scoring across hundreds of markets. [Hyperliquid](https://www.alchemy.com/rpc/hyperliquid) is the densest agent surface in the perpetuals market, with [builder-code](https://hyperliquid.gitbook.io/hyperliquid-docs/trading/builder-codes) revenue running into eight figures. The agent's edge in this category is not better signals. It is the willingness to act on a signal at 3 a.m. without second-guessing. ### Prediction markets Autonomous Polymarket positions are a real category now. [CoinDesk's March 2026 readout](https://www.coindesk.com/tech/2026/03/15/ai-agents-are-quietly-rewriting-prediction-market-trading) tracked Polystrat agents at 4,200-plus trades in their first month, with more than a third showing positive P&L, against about half that rate for human traders. Broader networks of prediction agents have logged millions of lifetime transactions on Gnosis. The category looks small in dollar terms and large in transaction-count terms, which is the shape of agent behavior in general: many small bets, evaluated continuously. ### NFTs and collectibles [NFT](https://www.alchemy.com/nfts) activity from agents is less mature and mostly composite. The shape is: an agent identifies a target, swaps to ETH or SOL, buys through a marketplace plugin, then lists at a markup. [Solana Agent Kit](https://github.com/sendaifun/solana-agent-kit) ships Metaplex mint actions for the launch side and Tensor or Magic Eden for the marketplace side. Composite "buy and relist" lives at the agent's tool loop, not in a single contract call. ### Payments, top-ups, and treasury This is the use case x402 was designed for. An agent hits a paid endpoint, gets a 402 with the price, signs a USDC payment, retries, and proceeds. [Cloudflare reports roughly 1B 402 responses served per day](https://developers.cloudflare.com/agents/agentic-payments/x402/) across its agents network. The [x402 Foundation](https://www.x402.org/ecosystem) formalized under the Linux Foundation in April 2026 with 22 launch members including Visa, Mastercard, Stripe, AWS, Google, and the Solana and Base foundations. The under-discussed counterpart goes the other direction: the autonomous top-up. An agent watches its USDC balance, and when it crosses a threshold, signs a transfer from a treasury wallet to refill itself. We document this pattern end to end in [the agent wallets feature of the Alchemy CLI](https://www.alchemy.com/blog/agent-wallets-alchemy-cli). Payments turn the agent into an economic actor; top-ups keep it solvent without a human signing off. ### Governance and identity DAO voting is the smallest category by volume and the most interesting by shape. An agent that holds a delegated voting position can vote across hundreds of proposals while applying a consistent policy. Several agent platforms now expose governance-action skills as first-class actions in their tool surface. Identity is younger but moving fast. ERC-8004 registers an agent's address and capabilities so other agents can discover and hire it. Combined with x402, an agent can list a paid service, take payment in USDC, and route the work through a downstream agent it does not own. ## How do agents sign without a human in the loop? Custody is the load-bearing choice. These five patterns run production agents today: The pattern that has won the last twelve months is embedded wallet plus policy engine. [Turnkey's delegated agent signing](https://docs.turnkey.com/features/policies/delegated-access/agentic-wallets) evaluates every signing request against a contract allowlist, recipient list, function-selector check, and per-transaction limit inside the enclave. [Privy's agentic wallet docs](https://docs.privy.io/recipes/agent-integrations/agentic-wallets) cover both developer-owned and user-owned agent signers with similar policy guards. [Coinbase Agentic Wallets](https://www.coinbase.com/developer-platform/discover/launches/agentic-wallets), launched in February 2026, combine MPC custody with session caps and native x402 settlement. [Agent Wallets](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) in the Alchemy CLI is another option: create a wallet from the dashboard, grant the CLI scoped, time-bound access, and let the agent transact from the command line. What none of these solve is the permission envelope itself. A wallet that signs anything within a $1,000 daily cap can still be drained inside that cap. The choice of custody pattern is upstream of every other agent decision, and it is the one most teams short-cut on the way to a demo. ## How does Alchemy support onchain agents? We treat agents as production users, not edge cases. Three surfaces matter: - **Wallet and signing.** The [Alchemy CLI](https://www.alchemy.com/agents) gives an agent a scoped wallet on first run. Wallet custody is delegated to Privy; the agent operates inside a session bounded by chain, contract allowlist, and spend cap. The same CLI handles sends, swaps, bridges, and contract calls through `alchemy evm send`, `alchemy wallet connect`, and `alchemy agent-prompt`. - **Payments.** Agents pay for our RPC, NFT, and [Data API](https://www.alchemy.com/docs/data) surfaces via [x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web), with USDC. No dashboard signup, no API key, no contract. Stripe's MPP is interoperable for cases that need a card fallback; we walk through both protocols side by side in our [x402 versus MPP comparison](https://www.alchemy.com/overviews/x402-vs-mpp-comparing-agent-payment-protocols). - **Discoverability.** [Alchemy Skills](https://github.com/alchemyplatform/skills) are machine-readable docs that an agent can install to learn how to call our APIs without a human reading anything. Combined with the Alchemy MCP server, the effect is that an agent in Claude or Cursor can authenticate, pay, and execute against 100-plus chains without leaving its tool loop. Here is the pay-and-retry shape an agent runs against a 402-gated endpoint: { const headers = new Headers(init?.headers); headers.set("Authorization", \`SIWE \${siwe}\`); return fetch(input, { ...init, headers }); }; const paidFetch = wrapFetchWithPayment(authedFetch, client); const res = await paidFetch("https://x402.alchemy.com/eth-mainnet/v2", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id: 1, jsonrpc: "2.0", method: "eth_blockNumber" }), });`} /> `buildX402Client` runs the pay-and-retry loop: it catches the 402, signs the USDC payment, and replays the request. `signSiwe` handles the gateway's authentication. The agent calls `paidFetch` like any other fetch and never sees the payment step. ## What is still hard? Three things to keep in mind when shipping an onchain agent today, all of them load-bearing on security: - **Prompt injection is the dominant attack surface.** Anything text-shaped that enters the agent's context can carry instructions. In May 2026, an attacker sent a Bankr-themed NFT to a target wallet whose agent had Grok in the loop, then asked the agent to "translate this Morse code." The decoded text was a transfer instruction. Around $150K-$200K drained on Base before the funds were returned ([OECD's AI incident database](https://oecd.ai/en/incidents/2026-05-04-4a73) carries the post-mortem). Mitigations sit at the policy layer, not the model layer: tighter contract allowlists, narrower session keys, second-signer approvals for contracts the agent has not used before, and clear separation between trusted system prompts and untrusted tool output. - **The permission envelope is the product, and most envelopes are too loose.** A wallet that signs anything within a $1,000 daily cap can still be drained inside that cap. Scope the contract allowlist tightly, scope the function-selector allowlist tighter, and never grant infinite ERC-20 approval to a router or aggregator the agent might route through. If the agent encounters a new market or contract, it should pause for an explicit approval rather than expand the envelope on its own. - **The supply chain runs through tools, skills, and MCPs.** An agent's tool surface is third-party code that runs with the agent's keys and context. Skills loaded at runtime from a registry, MCP servers connected over the network, plugins installed via npm: each one is an avenue for a malicious upstream commit to reach a wallet that signs transactions. Pin versions. Read code before installation. Treat the agent's plugin manifest the same way you treat a `package.json` in production, because that is what it is. None of these block the category. They shape how a responsible builder ships into it. The envelope is the product; the agent is the user. ## Where to start The shortest path from this post to a working onchain agent is two commands and a payment: `alchemy auth` returns a session token. `alchemy wallet connect` returns a scoped wallet bounded by chain, contract allowlist, and spend cap. From there, the agent reads through our [RPC](https://www.alchemy.com/rpc-api), pays for premium endpoints over x402, and signs transactions inside the session. No API key, no dashboard signup, no contract minimum. The agent installs [Alchemy Skills](https://www.alchemy.com/agents) on first run so it knows how to call our APIs across 100-plus chains. If you are building for enterprise constraints, the same surface is available through dedicated infrastructure and committed plans. An LLM that writes code is a copilot. An LLM that holds a wallet is an agent. The infrastructure to ship the second one is here, the action inventory is real, and the next year of the category will be measured in transactions signed, not posts written. --- # Becoming a blockchain developer: What you need to know URL: https://www.alchemy.com/overviews/become-a-blockchain-developer.md Imagine you're back living in the late 90's, the internet is on the verge of becoming a household name, and you have a chance to get in early on the action.  Let’s say, you have an offer to be one of the first 12 hires at Yahoo. Would you take it? Knowing what you know now, chances are high you probably would.  While we can't go back in time, fortunately there continue to be amazing opportunities for those on the forefront of tech innovation. And truth be told, we're now at a similar moment in history.  Cryptocurrencies, and blockchain-based technologies such as DeFi \(decentralized finance\), NFT \(Non-fungible token\) and [DAOs](https://www.alchemy.com/dapps/top/daos) \(decentralized autonomous organizations\) continue to play a large role in the way we do business and interact in 2022.  Billions upon billions of investment fund dollars are flowing into the crypto space with no signs of slowing down.  Below are just a few of the many up and coming companies looking to build the future of Web3.  Decentralized Applications

", tooltip: "", icon: "" }, "2": { title: "

DeFi

", tooltip: "", icon: "" }, "3": { title: "

UNISWAP, AAVE, SUSHISWAP

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Decentralized Applications

", tooltip: "", icon: "" }, "2": { title: "

Identity & Auth.

", tooltip: "", icon: "" }, "3": { title: "

ENS, METAMASK, ARGENT

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Decentralized Applications

", tooltip: "", icon: "" }, "2": { title: "

NFTs

", tooltip: "", icon: "" }, "3": { title: "

OPENSEA, NIFTY GATEWAY, RARIBLE

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Decentralized Applications

", tooltip: "", icon: "" }, "2": { title: "

Data

", tooltip: "", icon: "" }, "3": { title: "

HANSEN, CHAINLINK, THE GRAPH

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Presentation Layer

", tooltip: "", icon: "" }, "2": { title: "

Web3 Native Libraries

", tooltip: "", icon: "" }, "3": { title: "

ETHER.JS, WEB3.JS, ALCHEMY WEB3

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Presentation Layer

", tooltip: "", icon: "" }, "2": { title: "

Developer Environments

", tooltip: "", icon: "" }, "3": { title: "

HARDHAT, TRUFFLE, BROWNIE

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Presentation Layer

", tooltip: "", icon: "" }, "2": { title: "

File Storage

", tooltip: "", icon: "" }, "3": { title: "

IPFS, FILBASE, ARWEAVE

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Blockchain Interaction Layer

", tooltip: "", icon: "" }, "2": { title: "

Data Access

", tooltip: "", icon: "" }, "3": { title: "

SUPERNODE, BUILD, MONITOR, NOTIFY, APIS, NFT API

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

Blockchain Interaction Layer

", tooltip: "", icon: "" }, "2": { title: "

Self-Hosted Nodes

", tooltip: "", icon: "" }, "3": { title: "

Self-Hosted Nodes

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

Blockchain Interaction Layer

", tooltip: "", icon: "" }, "2": { title: "

Block Explorers

", tooltip: "", icon: "" }, "3": { title: "

SNOWTRACE, ETHERSCAN, POLYGONSCAN

", tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

Network Layer

", tooltip: "", icon: "" }, "2": { title: "

EVM Blockchains

", tooltip: "", icon: "" }, "3": { title: "

ETHEREUM, POLYGON, ARBITRUM, AVALANCHE, STARNET, CRONOS, OPTIMISM, ZK SYNC

", tooltip: "", icon: "" }, id: 10, }, { "1": { title: "

Network Layer

", tooltip: "", icon: "" }, "2": { title: "

Non-EVM Blockchains

", tooltip: "", icon: "" }, "3": { title: "

NEAR, FLOW, SOLANA, TERRA

", tooltip: "", icon: "" }, id: 11, }, ], }} /> According to CoinGecko, a price-tracking website for crypto assets, the combined market cap of cryptocurrency globally is just shy of 2 trillion USD \(as of H1 2022\).  But enough about the numbers. What does this mean for you?  ## Is blockchain development a good career? One of the most **lucrative career paths right now** is becoming a blockchain developer. According to Talent, [an average blockchain developer makes $145k a year](https://www.talent.com/salary?job=blockchain+developer). With the demand for blockchain developers only continuing to grow, now is the time to get involved. As a blockchain developer, you're also in the unique position to get a head start on many opportunities, for example, investing in early stage projects.  Developing the blockchain helps you recognize projects likely to succeed, and avoid ones that have no traction. You're seeing in real time what works and what doesn't, and you’re building the future of Web3 first hand.  ## What do blockchain developers need to know? Some of the skills you need to know as a blockchain developer include programming languages like Javascript, Python, and [Solidity](https://www.alchemy.com/overviews/solidity) and knowledge of some key concepts like blockchains, consensus mechanisms, hashing functions, gas, and more. If you have the knack for learning new technologies and are a developer at heart there's no shortage of opportunities to succeed professionally. But you’re going to need some skills and need to understand some key concepts in blockchain development to get you the rest of the way. Here are some of the basics you’ll want to focus on.  ## 5 skills you need to know to become a blockchain developer ### 1. Popular blockchain programming languages As a blockchain developer, you're likely going to need to learn multiple programming languages, but there's no getting around mastery of Javascript. Javascript is a versatile and portable language, widely used in the blockchain ecosystems. For instance, you can just use Javascript libraries to build [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) that interact with already existing [smart contracts](https://www.web3.university/article/a-developers-guide-to-securing-ethereum-smart-contracts). It’s great if you're also proficient in other languages: C\+\+ \(the legendary Bitcoin was coded in this very flexible language for example\) or Python. The latter is very useful if you want to focus on backend development and advanced scripting. We highly recommend you spend some time going through the [Ethereum Javascript ](https://www.web3.university/article/web3-stack)resources to help you get up to speed. Of course, you'll also want to invest in learning Solidity which we cover in-depth [here](https://www.web3.university/article/web3-stack).  The fun doesn't stop with learning multiple coding languages.  ### 2. The fundamentals of blockchain technology Understanding the foundations of blockchain technology is crucial for blockchain developers. Reading [Bitcoin](https://ethereum.org/en/whitepaper/) and [Ethereum](https://ethereum.org/en/whitepaper/) whitepapers are a must. But you also need to understand a few key concepts. For example, it's important to know that at its core, a blockchain is a type of **distributed ledger technology \(DLT\)**. It’s a protocol that enables the functioning of a database with no central administrator, with blocks of data spread across multiple locations or entities. Blockchains can be used for cryptocurrency, yes, but the use cases don't stop there. In the future, we'll likely continue to see organizations and perhaps even countries use the blockchain to hold elections and decide how various government funds are spent. Blockchains also provide a sense of accountability in the sense that most are public ledgers that can be viewed by anyone. One can imagine how this can affect the political and business climate as their use becomes more widespread. While blockchains won't solve all of the world's problems, we're only just getting started understanding the many powerful use cases they can provide.  ### 3. Blockchain consensus mechanisms The pivotal invention of blockchain and cryptocurrencies is the consensus mechanism. It’s the procedure by which a decentralized peer-to-peer system with no central authority makes decisions. It’s a way to agree which transactions to add and in what order to the ledger. Here's a simple example: Proof of Work and Proof of Stake While blockchains typically have many consensus mechanisms as discussed above, they all serve the same goal —to ensure that records in the ledger are trustworthy  The two most prevalent consensus mechanisms:  - [Proof of Work \(PoW\) ](https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/) - [**Proof of Stake \(PoS\).**](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/) Most well known for powering the Bitcoin network, proof of work, describes the process of using computational power \(via miners\) to solve complex mathematical equations, helping ensure the blockchain is both secure and accurate.  In return, miners, who invest the resources needed to solve these equations are rewarded Bitcoin.  While proof of work powers Bitcoin, it has been proven to be fairly energy intensive, something many new blockchains such as Solana are trying to avoid. That said, blockchains that use proof of work, tend to have a high level of security and provide a decentralized way of verifying transactions on the network.  Proof of stake, on the other hand, is an alternative to proof of work with significantly less energy costs. Instead of using energy to validate transactions, Proof-of-Stake uses monetary penalties to enforce correct behavior from validators. "_Energy consumption is one major difference between the two consensus mechanisms. Because proof-of-stake blockchains don’t require miners to spend electricity on duplicative processes \(competing to solve the same puzzle\), proof of stake allows networks to operate with substantially lower resource consumption,_" [writes Coinbase.](https://www.coinbase.com/learn/crypto-basics/what-is-proof-of-work-or-proof-of-stake#:~:text=In%20proof%20of%20work%2C%20the,in%20the%20network%27s%20best%20interests.) Ethereum, which originally launched using proof of work, is now using Proof-of-Stake. Here's a further breakdown of how both consensus mechanisms compare.  Proof of work is a requirement to define an expensive computer calculation, also called mining

", tooltip: "", icon: "" }, "2": { title: "

Proof of stake, the creator of a new block is chosen in a deterministic way, depending on its wealth, also defined as stake.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

A reward is given to the first miner who solves each blocks problem.

", tooltip: "", icon: "" }, "2": { title: "

The PoS system there is no block reward, so, the miners take the transaction fees.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Network miners compete to be the first to find a solution for the mathematical problem

", tooltip: "", icon: "" }, "2": { title: "

Proof of Stake currencies can be several thousand times more cost effective.

", tooltip: "", icon: "" }, id: 2, }, ], }} /> Full Name

", tooltip: "", icon: "" }, "2": { title: "

Proof of Stake

", tooltip: "", icon: "" }, "3": { title: "

Proof of Work

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

How It Works

", tooltip: "", icon: "" }, "2": { title: "

Owners of the cryptocurrency can stake their coins, then the protocol selects a validator who adds a new block of transactions and earns rewards.

", tooltip: "", icon: "" }, "3": { title: "

The first miner to solve the puzzle (finding a target hash) gets to add a block of transactions and earn rewards.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Energy Usage

", tooltip: "", icon: "" }, "2": { title: "

Low

", tooltip: "", icon: "" }, "3": { title: "

High

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Equipment & Resources Required

", tooltip: "", icon: "" }, "2": { title: "

PoS doesn't require validators to purchase specialized equipments or to solve complex equations.

", tooltip: "", icon: "" }, "3": { title: "

PoW requires hardwares and energy, because mining capacity depends largely on a miner's computational power.

", tooltip: "", icon: "" }, id: 3, }, ], }} /> There's plenty of [great resources online](https://www.youtube.com/watch?v=3QCykHU89To) for you to understand the basics of both consensus mechanisms, which we highly recommend you spend time studying. Of course, as crypto and blockchains continue to evolve, there are most certainly going to be [additional consensus mechanisms created and used](https://www.youtube.com/watch?v=3QCykHU89To).  ### 4. Hashing functions Beyond consensus mechanisms, you're also going to need to understand hash functions.  [Hash functions](https://www.youtube.com/watch?v=jmtzX-NPFDc) are used to write new transactions into the blockchain and to ensure the data encoded is secure.  Hashing is the operation of turning a random input of data into a fixed size string of text, using a mathematical function. In simple terms, this means that a string of text will be changed into a settled array of numbers and letters through an algorithm.  These functions ultimately ensure the immutability of the blockchain—the ability to remain a permanent history of transactions. But this is also why blockchain development is a bit more difficult than programming in centralized ecosystems.  Designing these protocols takes a long time, because you need to craft them with perfection.  In theory, after uploading code, you can’t change it with very few exceptions.  We recommend opting in to as many online courses as you can to get a better understanding of this technology. For starters:  - Princeton University has an excellent [free course on cryptocurrency](https://www.coursera.org/learn/cryptocurrency).  - MIT also has [some great courses](https://www.youtube.com/playlist?list=PLUl4u3cNGP63UUkfL0onkxF6MYgVa04Fn).  - [This lecture](https://www.youtube.com/watch?v=gjwr-7PgpN8) by Vitalik Buterin \(co-founder of Ethereum\) also gives a great explanation and introduction to some of the technical aspects of blockchains.  Beyond video lectures and courses there are also some great books.  - [The Basics of Bitcoins and Blockchains by Antony Lewis ](https://www.amazon.com/dp/B08RWTV6BW/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) - [The Blockchain Developer by Elad Elrom](https://www.amazon.com/Blockchain-Developer-Implementing-Distributed-Blockchain-based/dp/1484248465) - [Cryptoassets by Chris Burniske and Jack Tatar](https://www.amazon.com/dp/B0743MPV9R/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1) By no means is this an exhaustive list, but if you read and apply the material from above, you'll be well on your way to becoming a blockchain developer.  ### 5. Gas, miners, and the cost of running smart contracts As a blockchain developer, you're also going to need to understand the role "gas" plays in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum).  The Ethereum Virtual Machine \(the place where all transactions execute computationally\) has a very limited amout of space. At any point in time, there is a varying level of demand for the limited supply of computational space. A constant auction is occurring, where users can pay for "gas", or a unit of computational power on Ethereum. As a user, [knowing how to save on gas fees](https://newsletter.banklesshq.com/p/6-ways-to-save-on-ethereum-gas-fees?s=r) is better for your crypto portfolio. Working towards making gas more cost friendly while also supporting miners fairly,  is a priority for many developers in the crypto space.  ## How do you connect with the blockchain developer community? The best way to connect with the blockchain developer community is by joining Discord servers and communities, engaging web3 developers and thought leaders on Twitter, and participating in web3 hackathons and conferences. It's no secret that knowing how to program is going to play the largest role in blockchain developer success, but there are many things you can do that don't involve a single line of code.  The community of blockchain creators meets primarily in two places on the web: Discord [and Twitter](http://www.meetbunch.com/the-twitter-guide). The most important discussions take place there, and that’s also where you can build relationships and look for jobs.  Unlike the traditional workplace, you don’t need to have a serious suit photo on LinkedIn. In the world of Web3, what matters most is your substantive knowledge—your blockchain sweat equity mainly gained from practice, tracking crypto influencers, taking courses, participating in hackathons etc.  If you post interesting content about crypto and blockchain, you can meet people and get noticed even if you are anonymous with a funny picture as an avatar. Here are some great Discord servers and communities where you should be present: - [Ethereum.org](https://twitter.com/VitalikButerin) - [Solidity](https://zpl.in/discord) - [CryptoDevHub](https://discord.gg/FRVxrbFKT9)  - [Openzeppelin](https://zpl.in/discord)  - [Bankless](https://discord.com/invite/mMGsVgd) - [Alchemy](https://discord.com/invite/mMGsVgd) And here are some top crypto and blockchain thought leaders you should consider following: - [Vitalik Buterin](https://twitter.com/VitalikButerin) - [Arianna Simpson](https://twitter.com/ariannasimpson) - [Elizabeth Stark](https://twitter.com/LexSokolin) - [Lex Sokolin](https://twitter.com/LexSokolin) - [Brian Armstrong](https://twitter.com/brian_armstrong) - [Laura Shin](https://twitter.com/laurashin) - [Charlie Lee](https://twitter.com/SatoshiLite) - [Roger Ver](https://twitter.com/rogerkver) - [Tyler Winklevoss](https://twitter.com/tyler) - [Andreas M. Antonopoulos](https://twitter.com/aantonop) - [Anthony Pompliano](https://twitter.com/APompliano) Additionally, while not everyone's cup of tea, attending conferences can be a great way to connect in person and develop professional relationships. We couldn't possibly list them all, but here is an [extensive list to get you started](https://crowdcreate.us/best-crypto-blockchain-conference-events-in-2022/). ## You’re a future blockchain developer in the making Whether you're new to the world of programming, or just want to level up your blockchain career, there's no way around it—you're going to need to put in the work. That said, crypto and blockchain technology is transforming the world of finance, business, culture and more and the opportunities are endless. Following the suggestions and tips in this guide, will get you well on your way to becoming a developer at the forefront of this global transformation. Alchemy is one of the leading node service providers in Web3. Our other offerings include [Enhanced APIs](https://www.alchemy.com/enhanced-apis), [Notify API](https://www.alchemy.com/notify) and our newest addition [NFT API](https://www.alchemy.com/nft-api). --- # What are the benefits of accepting crypto payments? URL: https://www.alchemy.com/overviews/benefits-of-accepting-crypto-payments.md Crytocurrency and [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) are an increasingly popular payment option for businesses and consumers. Before [choosing a crypto payments provider](https://www.alchemy.com/overviews/how-to-choose-a-crypto-payments-provider), explore four primary benefits and three potential downsides of using digital currencies to accept payments. ## **What are the benefits of accepting crypto payments?** The primary benefits of crypto payments are lower transaction fees, instant settlement times, a reduction in fraudulent chargebacks, and access to an affluent and growing consumer base. ### **1. Lower transaction fees** If your business is accepting credit or debit card payments today, you are likely paying approximately 3% in transaction fees. This means that for every $1,000 your customers spend, you are paying a credit card processor $30. While some countries have regulations lowering card transaction fees, this is still a significant expense for businesses, especially those with international customers who may incur additional foreign exchange fees. Depending on the blockchain network used to process transactions, crypto payments can dramatically decrease transaction costs for domestic and international consumers. While gas fees can be high on Layer 1 blockchains like Ethereum, processing a payment on a Layer 2 network like Optimism or Arbitrum is inexpensive and often cost just a few cents, regardless of how large the purchase is. ### **2. Instant settlement** Utilizing crypto rails for payments enables almost instant settlement. With third parties removed from the process, funds are typically available in minutes or seconds. Unlike traditional payment methods like credit cards, there is no 24 to 48 hour waiting period before funds become available in your bank account. For businesses focused on managing cash flow closely, this near-instant settlement time can be a critical advantage. ### **3. Reduced fraudulent chargebacks** Dealing with fraudulent chargebacks is a time-consuming process and adds risk that the funds from a legitimate customer purchase can be pulled back. With crypto payments, the immutability of blockchain transactions removes this risk. While it is still important to establish a process for handling refunds and errant payments, businesses gain greater control of this process rather than being subjected to chargebacks. ### **4. Access to an affluent and growing consumer base** According to Triple-A, a crypto payments provider, there are now over 420 million crypto users worldwide. According to JP Morgan, [crypto user demographics](https://www.jpmorganchase.com/institute/research/financial-markets/dynamics-demographics-us-household-crypto-asset-cryptocurrency-use) and those looking to spend crypto skew young and affluent. Offering crypto as a payment method is a way to appeal to this emerging cohort and meet customer demands. In addition to the growth of individual users, there has been an explosion in the number of decentralized autonomous organizations \([DAOs](https://www.alchemy.com/dapps/top/daos)\). These new entities typically hold digital assets in their treasury and need to spend these assets to support their business operations, making them good prospects for paying with crypto. ## **What are the downsides of accepting crypto payments?** The main downsides of crypto payments are difficult user experiences, the back-office hassle for finance and accounting teams, and managing refunds. ### **1. Difficult user experience** The biggest downside historically has been the user experience \(UX\). Asking clients to create a crypto wallet, acquire crypto, and then figure out how to send that crypto to the correct place is challenging. When customers are accustomed to Amazon’s one-click check-out, it can be hard to convince them to go through extra steps to pay in crypto. Fortunately, the UX problem is being addressed by a number of solutions that are making it simpler and more intuitive for users to pay with crypto. To start, we are seeing a number of innovations around wallet infrastructure, such as [smart contract wallets](https://www.alchemy.com/dapps/best/smart-contract-wallets), making it more secure and ideally simpler to manage and sign transactions. Beyond wallet architecture, we are beginning to see native crypto checkout experiences. There are new solutions being offered by a range of players from large institutions like [Stripe](https://stripe.com/) and [Coinbase](https://www.alchemy.com/dapps/coinbase) Commerce to more crypto-native projects like [Loop Crypto](https://www.loopcrypto.xyz/?utm_medium=partner&utm_source=partner&utm_campaign=alchemy+newsletter), [Unlock-Protocol](https://www.alchemy.com/dapps/unlock), and [Superfluid](https://www.alchemy.com/dapps/superfluid). ### **2. Back-office hassle** The problem of tracking and reconciling crypto payments with the rest of a business’s finances has been a challenge keeping many businesses from accepting crypto. If a business is accepting crypto and fiat, tracking payments in both currency types can pose logistical problems for legacy web2 accounting and finance products. Crypto accounting solutions like [**Tres.Finance**](https://www.alchemy.com/dapps/tres-finance),** [Bitwave](https://www.alchemy.com/dapps/bitwave)**,** Tactic**,** Coinbooks**, and others are making it easier to track wallet activity and report crypto revenue in a streamlined manner. Some of the payment solutions noted above also provide dunning flow automation, meaning that they will generate invoices, receipts, and send payment reminders to customers when a bill is due. ### **3. Refunds** While crypto offers the benefit of reducing fraudulent chargebacks, it does require that businesses create a refund policy and process. If a refund needs to be processed, a business will need to establish procedures for handling this. Typically, this will simply entail sending a one-time transaction directly to the customer’s wallet once proof for the refund is provided. ## Start accepting crypto payments Businesses and individuals looking to spend crypto online, in-store, and on mobile should consider the pros and cons of using cryptocurrency for payments. --- # Best blockchain API for stablecoin payments and monitoring | Alchemy URL: https://www.alchemy.com/overviews/best-blockchain-api-stablecoin-payments-monitoring.md Stablecoin payments are becoming software-driven. Apps send them across borders, treasuries move them between chains, and AI agents now pay for API calls with USDC on their own. Once money moves without a human watching, your blockchain API needs to do two things: send a stablecoin, and watch it. Most only do one. A stablecoin API has two jobs: moving money and watching it. Pick one on chain count and fees alone, and you find out later which job it skipped, usually when a payment lands and nothing in your system notices. Everything below follows from those two jobs, including what changes when the spender is an AI agent. ## What does a stablecoin payments API actually need to do? A stablecoin payments API does two kinds of work. - **Moving money.** Submit the transfer, cover the gas, and get funds from one address to another, on whatever chains the sender and receiver use. - **Watching it.** Know the instant a payment settles, track balances as they change, and pull full history for reconciliation. Moving is a write path built for reliable submission. Watching is a read path built for fast event delivery and accurate history. Most providers build one well and bolt on a thin version of the other. Payments-first APIs move money but their webhooks lag; data-first APIs stream events but leave you to build the transfer yourself. A stablecoin payment is not done when the transaction confirms. It is done when your system knows it confirmed, updated the right balance, and can prove it later. Whether you run payments on an existing coin or are [building a stablecoin](/blog/how-to-build-a-stablecoin) of your own, the same split applies. Move money without watching it and you have half a payment system. ## How do you monitor stablecoin payments in real time? Monitoring is where stablecoin integrations quietly fall short, so it is worth being precise about the options. There are three ways to monitor stablecoin transactions and balances in real time, and they trade off latency, infrastructure, and which chains they cover. Webhooks

", tooltip: "", icon: "" }, "2": { title: "

Your server gets an HTTP POST when a transfer touches an address you watch

", tooltip: "", icon: "" }, "3": { title: "

Settlement confirmation, payout status, no infra to run

", tooltip: "", icon: "" }, "4": { title: "

Any supported chain

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

WebSockets

", tooltip: "", icon: "" }, "2": { title: "

Your client subscribes to an open connection and receives events as blocks land

", tooltip: "", icon: "" }, "3": { title: "

Live dashboards, balance tracking, in-app updates

", tooltip: "", icon: "" }, "4": { title: "

EVM chains via eth_subscribe

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

gRPC streaming

", tooltip: "", icon: "" }, "2": { title: "

A typed, high-throughput stream of account and transaction data

", tooltip: "", icon: "" }, "3": { title: "

High-frequency monitoring, trading, settlement at scale

", tooltip: "", icon: "" }, "4": { title: "

Solana

", tooltip: "", icon: "" }, id: 2, }, ], }} /> For most payment flows, [webhook notifications](/webhooks) are the right default. You register the addresses you care about, and your server gets a push the moment a stablecoin transfer settles, with no connection to keep alive and no blocks to poll. That covers the "did the payment land?" question that a payments app actually asks. When you need real-time stablecoin tracking rather than a one-off notification, the [WebSocket subscription API](/docs/reference/subscription-api) streams events over an open connection as blocks confirm. Here is a minimal real-time watch on USDC transfers into a treasury address, using [viem](https://viem.sh) pointed at our WebSocket endpoint: "), }); // Stream every USDC transfer into the treasury address as blocks land client.watchEvent({ address: USDC, event: parseAbiItem( "event Transfer(address indexed from, address indexed to, uint256 value)" ), args: { to: "0xYourTreasuryAddress" }, onLogs: (logs) => { for (const log of logs) { console.log(\`received \${log.args.value} from \${log.args.from}\`); } }, });`} /> Or have Claude, Codex or any agentic tool write it for you. Copy this prompt: On Solana, the equivalent real-time surface is [gRPC streaming](/solana-grpc), a typed high-throughput stream built for exactly the settlement-tracking and payment-monitoring cases that can't afford to miss a single update. Pick the delivery method by the question you are answering. "Tell me when a payment settles" wants a webhook. A live balance view wants a WebSocket, and high-volume settlement tracking that can't afford to miss an update wants a stream. A provider that only offers one of the three is forcing every question into the same answer, which is how you end up polling for events that should have been pushed to you. ## Why does monitoring need accurate history too? Real-time delivery handles what is happening now. Reconciliation handles what already happened, and a stablecoin system needs both. When finance closes the books, when a customer disputes a payout, or when an agent's owner audits where the money went, you query history, not the live stream. This is the read surface that the [Data API](/docs/data) covers. [Transaction history](/docs/reference/transfers-api) reconstructs every stablecoin movement for an address without you building an indexer. The [Token API](/token-api) and [Portfolio APIs](/docs/reference/portfolio-apis) return balances and holdings across chains in one call, and the [Prices API](/docs/reference/prices-api-quickstart) attaches a dollar value so a USDC balance and a USDT balance can be reported in the same currency. Monitoring, then, is two paths, a live one and a historical one, and a stablecoin API earns the word only when it serves both from the same place you send the payment. ## Why does multi-chain orchestration matter? USDC and USDT live on many chains at once, and your users do not coordinate which one they hold. A sender pays in USDC on Base, a recipient wants it on Polygon, and your treasury settles on Ethereum. The work of moving value across those chains, and reading balances that are scattered across them, is orchestration. It is also where a cross-border flow often becomes a [stablecoin sandwich](/overviews/what-is-the-stablecoin-sandwich), fiat into a stablecoin on one side and back out to fiat on the other, with the chain-hopping in the middle. Orchestration across chains is the part teams underestimate. The naive version is one integration per chain, each with its own endpoint, its own quirks, and its own monitoring setup. That fragmentation is where bugs and blind spots live. The version that scales is a single API surface that speaks to [40+ blockchains](/payments) the same way, so adding a chain is a config change, not a new integration project. Monitoring compounds this. A balance check that has to fan out to a different provider per chain is slow and inconsistent. A unified portfolio read returns the whole picture in one request. For a stablecoin product, "which chains do you support?" translates to "how many integrations am I maintaining?" The right answer is one. ## How do agents pay with stablecoins? When the spender is an AI agent rather than a person, the requirements sharpen. An agent has no browser to click "approve" in, no human to top up gas, and no patience for a checkout flow. It needs to pay inline, the moment it hits a paywall, and keep working. That is the problem [x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) solves. It uses the HTTP 402 Payment Required status code so an agent can pay for an API call in the same request that makes it, with no account setup and no key exchange. Stablecoins are the natural settlement asset because the amount is predictable and the value does not move while the request is in flight. Three pieces make agent stablecoin payments work in production, and they map onto the same two jobs as before. - **A wallet the agent can sign with.** [Agent wallets in the Alchemy CLI](/blog/agent-wallets-alchemy-cli) give an agent a scoped signer with spend controls, so a compromised prompt can't drain the balance. - **Gas it doesn't have to think about.** [Gas sponsorship](/gasless-transactions) covers the network fee so the agent moves a stablecoin without first acquiring the chain's native token. - **A way to get paid, not just pay.** On the merchant side, [AgentPay](/agentpay) lets a service accept agent payments across standards without betting on one protocol winning. Monitoring matters even more here, because no human is watching. The system itself has to know the instant an agent's payment settles and react. For a deeper view of the building blocks, our overview of the [best blockchain APIs for autonomous onchain agents](/overviews/best-blockchain-apis-for-autonomous-onchain-agents) walks through the full stack. And the same rule holds across all of it. An agent that can spend but can't confirm its own spending is running unsupervised. ## How should you choose? The right API depends on what you are building, and the honest answer is that the two jobs, moving and watching, point you to different starting features. Cross-border payments or payouts

", tooltip: "", icon: "" }, "2": { title: '

Stablecoin Payment APIs plus webhooks

', tooltip: "", icon: "" }, "3": { title: "

Send across chains, get pushed a settlement confirmation per payment

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Treasury or reconciliation system

", tooltip: "", icon: "" }, "2": { title: "

Transaction history + Portfolio APIs + WebSockets

", tooltip: "", icon: "" }, "3": { title: "

One unified read of balances and movement, live and historical

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

An AI agent that spends stablecoins

", tooltip: "", icon: "" }, "2": { title: "

x402 + agent wallets + gas sponsorship

", tooltip: "", icon: "" }, "3": { title: "

Inline payment, scoped signing, no native-token dependency

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

High-frequency monitoring on Solana

", tooltip: "", icon: "" }, "2": { title: "

gRPC streaming

", tooltip: "", icon: "" }, "3": { title: "

Typed, high-throughput stream that can't miss an update

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Notice that none of these rows is a different vendor. They are different entry points into the same platform, which is the actual argument for a single provider: the chain you launch on, the second chain you add, the agent you wire up later, and the monitoring that ties it together all speak the same API. ## Building stablecoin payments and monitoring on Alchemy We built our [stablecoin payment APIs](/payments) to do both jobs from one place: send USDC, USDT, or any stablecoin across 100+ chains, and watch every movement in real time through webhooks, WebSockets, and streaming, with full history for reconciliation. When the spender is an agent, the same platform handles [inline x402 payments](/overviews/what-are-agent-payments), scoped agent wallets, and gas sponsorship. You can start on the [free tier](https://www.alchemy.com/) and add chains from the dashboard on day one. No contracts, no waitlist, no minimum commitment. When you need single-tenant isolation, regional latency, or enterprise controls, the same APIs scale into a committed plan without a rewrite. A stablecoin moves in seconds. Make sure your system knows the moment it does. --- # Best Blockchain APIs for Building Autonomous Onchain Agents URL: https://www.alchemy.com/overviews/best-blockchain-apis-for-autonomous-onchain-agents.md [AI agents](https://www.alchemy.com/dapps/best/ai-agents) are signing up for blockchain infrastructure through [agentic payment protocols like x402 and MPP](/overviews/x402-vs-mpp-comparing-agent-payment-protocols) and executing onchain actions without a human touching a dashboard. The API provider you choose determines whether your agent can do this out of the box or needs months of custom plumbing. This guide compares the top blockchain API providers for building autonomous onchain agents, covering agent-native capabilities, chain support, pricing, and the features that matter when your user is a machine. ## What are autonomous onchain agents? Autonomous onchain agents are software systems that combine AI reasoning (typically large language models) with blockchain execution. They hold their own wallets, read onchain state, submit transactions, and make decisions without continuous human input. A portfolio rebalancing agent monitors token prices, detects drift from target allocations, and executes swaps across decentralized exchanges. A governance agent reads proposals, evaluates them against predefined criteria, and casts votes. A payment agent receives invoices, verifies delivery, and settles in [stablecoins](https://www.alchemy.com/dapps/top/stablecoins). ## What do onchain agents need from a blockchain API? Human developers and autonomous agents use the same underlying blockchain protocols, but their requirements differ in one critical way: agents cannot log into dashboards, manage API keys through email verification, or navigate pricing pages. They need machine-native access. x402 protocol uses HTTP 402 responses to trigger agent payments.", tooltip: "", icon: "", }, id: 1, }, { capability: { title: "MCP server", tooltip: "", icon: "" }, why: { title: "The Model Context Protocol (MCP) provides a structured tool interface that lets LLM-based agents discover and call APIs programmatically.", tooltip: "", icon: "", }, id: 2, }, { capability: { title: "Machine-readable docs (Skills)", tooltip: "", icon: "", }, why: { title: "Agent-parseable API specifications for autonomous integration, installable with a single command.", tooltip: "", icon: "", }, id: 3, }, { capability: { title: "Enhanced data APIs", tooltip: "", icon: "" }, why: { title: "Pre-indexed token balances, decoded transactions, and portfolio views reduce the dozens of raw RPC (Remote Procedure Call) calls an agent would otherwise need.", tooltip: "", icon: "", }, id: 4, }, { capability: { title: "Gas sponsorship", tooltip: "", icon: "" }, why: { title: "Paymasters that abstract gas fees so agents and their end users don't need to hold native tokens on every chain.", tooltip: "", icon: "", }, id: 5, }, { capability: { title: "Real-time streaming", tooltip: "", icon: "" }, why: { title: "WebSockets, webhooks, or gRPC (high-performance streaming) for instant onchain event detection.", tooltip: "", icon: "", }, id: 6, }, { capability: { title: "Multi-chain support", tooltip: "", icon: "" }, why: { title: "Agents operating across ecosystems need one provider, not five.", tooltip: "", icon: "", }, id: 7, }, ], }} /> ## What can autonomous onchain agents do? Onchain agents are already handling work that used to require dedicated teams or manual intervention. The use cases fall into a few categories. **DeFi operations.** Agents monitor liquidity pools, rebalance portfolios when allocations drift, execute swaps across decentralized exchanges, and move funds to higher-yield positions. A lending agent can watch collateral ratios and top up positions before liquidation triggers, running 24/7 without a human checking dashboards. On Solana, where transaction fees are fractions of a cent, agents can execute hundreds of daily trades at negligible cost. **Payments and settlement.** Agents receive invoices, verify that goods or services were delivered by checking onchain proofs, and settle in stablecoins. Cross-border payments that take days through traditional rails settle in seconds when an agent routes USDC through the right chain. The x402 protocol makes this native: agents pay for API access, compute, and data from other services using the same USDC flow. **Portfolio and treasury management.** Corporate treasuries and crypto funds use agents to track balances across chains, generate reports, and execute predefined strategies. An agent connected to [Alchemy's Portfolio API](/ai-agents) can pull multi-chain wallet views in a single call and act on what it finds. **Monitoring and alerting.** Agents subscribe to real-time blockchain events through WebSockets or webhooks, watch for specific contract interactions (large transfers, suspicious activity, price movements), and trigger automated responses. A security agent can detect anomalous transaction patterns and pause a smart contract before damage spreads. The common thread: every one of these use cases requires a blockchain API that the agent can access autonomously, pay for programmatically, and query for rich, decoded data. The choice of API provider determines how many of these use cases your agent can handle out of the box. ## The 10 best blockchain APIs for autonomous onchain agents The comparison below evaluates each provider on the dimensions that matter for agent builders: autonomous access, data richness, chain coverage, and cost. Alchemy", tooltip: "", icon: "", }, chains: { title: "100+", tooltip: "", icon: "" }, signup: { title: "Yes (SIWE or SIWS)", tooltip: "", icon: "" }, x402: { title: "Yes", tooltip: "", icon: "" }, mcp: { title: "Official", tooltip: "", icon: "" }, enhanced: { title: "Token, Portfolio, Prices, Tx, NFT", tooltip: "", icon: "", }, gas: { title: "Yes", tooltip: "", icon: "" }, id: 0, }, { provider: { title: "QuickNode", tooltip: "", icon: "", }, chains: { title: "80+", tooltip: "", icon: "" }, signup: { title: "Yes (SIWE or SIWS)", tooltip: "", icon: "" }, x402: { title: "Yes", tooltip: "", icon: "" }, mcp: { title: "Official", tooltip: "", icon: "" }, enhanced: { title: "Marketplace add-ons, Swap API", tooltip: "", icon: "", }, gas: { title: "No", tooltip: "", icon: "" }, id: 1, }, { provider: { title: "Helius", tooltip: "", icon: "", }, chains: { title: "Solana", tooltip: "", icon: "" }, signup: { title: "Yes (SIWS)", tooltip: "", icon: "" }, x402: { title: "Yes (Solana only)", tooltip: "", icon: "" }, mcp: { title: "Official", tooltip: "", icon: "" }, enhanced: { title: "DAS, LaserStream, Sender", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 2, }, { provider: { title: "Moralis", tooltip: "", icon: "", }, chains: { title: "30+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "Official", tooltip: "", icon: "" }, enhanced: { title: "Data API, Streams, Cortex", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 3, }, { provider: { title: "Infura", tooltip: "", icon: "", }, chains: { title: "~20", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "Community", tooltip: "", icon: "" }, enhanced: { title: "Gas API", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 4, }, { provider: { title: "Chainstack", tooltip: "", icon: "", }, chains: { title: "70+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "Official (2 servers)", tooltip: "", icon: "" }, enhanced: { title: "Debug/Trace on dedicated", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 5, }, { provider: { title: "dRPC", tooltip: "", icon: "", }, chains: { title: "100+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "No", tooltip: "", icon: "" }, enhanced: { title: "No (RPC only)", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 6, }, { provider: { title: "Ankr", tooltip: "", icon: "", }, chains: { title: "80+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "Via web3-mcp", tooltip: "", icon: "" }, enhanced: { title: "Advanced API", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 7, }, { provider: { title: "Tatum", tooltip: "", icon: "", }, chains: { title: "130+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "Official", tooltip: "", icon: "" }, enhanced: { title: "Unified Data API", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 8, }, { provider: { title: "GetBlock", tooltip: "", icon: "", }, chains: { title: "100+", tooltip: "", icon: "" }, signup: { title: "No", tooltip: "", icon: "" }, x402: { title: "No", tooltip: "", icon: "" }, mcp: { title: "No", tooltip: "", icon: "" }, enhanced: { title: "No (raw RPC)", tooltip: "", icon: "" }, gas: { title: "No", tooltip: "", icon: "" }, id: 9, }, ], }} /> Three providers stand out with full agent-native stacks: Alchemy, QuickNode, and [Helius](https://www.alchemy.com/dapps/helius). ### Alchemy Alchemy offers the most complete agent infrastructure across the widest chain coverage. The [Alchemy agent platform](/ai-agents) lets [agents sign up via SIWE](/blog/ai-agents-can-now-sign-up-for-alchemy), [pay through x402](/blog/how-x402-brings-real-time-crypto-payments-to-the-web) (USDC on Base), and access Core RPC, NFT, Token, Portfolio, and Prices APIs across [100\+ chains](/rpc) without a human in the loop. These features set Alchemy apart for agent builders: 1. [Alchemy Skills](https://github.com/alchemyplatform/skills) provide machine-readable API specifications that give coding agents (Claude Code, Cursor, Codex) full knowledge of every endpoint, authentication method, and error pattern. 2. [Alchemy MCP](/docs/alchemy-mcp-server) exposes 160+ tools through the Model Context Protocol across token prices, NFT metadata, transaction history, smart contract simulation, tracing, account abstraction, and Solana DAS. Any MCP-compatible agent can discover and call Alchemy across [100\+ networks](/rpc), including Ethereum, Base, Polygon, Arbitrum, Optimism, Solana, and Starknet. 3. [Gas Manager](/gasless-transactions) uses paymasters (smart contracts that sponsor transaction fees on behalf of users) with granular policy controls: per-address limits, spending caps, contract allowlists, and time-based expiration. Agents can sponsor gas for their users or pay gas in USDC instead of native tokens. 4. [AgentPay](/agentpay) is a payment-acceptance layer for businesses serving agentic customers, currently in private beta. It closes the loop so agents and merchants can transact through Alchemy in both directions. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) with the [CLI](https://www.alchemy.com/docs/alchemy-cli), then connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server): Follow the [MCP server docs](https://www.alchemy.com/docs/alchemy-mcp-server) to connect your coding agent to `https://mcp.alchemy.com/mcp`. After that, your assistant can call Alchemy tools the same way it already works against your codebase: ### QuickNode QuickNode supports x402 payments and SIWE-based agent signup across 80\+ chains. Its Marketplace model adds flexibility: agents can access specialized add-ons for swaps (covering 17\+ chains), NFT data, and DeFi analytics beyond core RPC. QuickNode also publishes Blockchain Skills and an official MCP server. Its Streams product delivers real-time blockchain data through customizable pipelines, useful for agents that need to react to onchain events. The tradeoff: many enhanced data features come as paid Marketplace add-ons rather than built-in APIs, which adds integration complexity for agents that need multiple data types. ### Helius Helius supports \$1 USDC agent signup, x402 on Solana, and publishes both an official MCP server and Agent Skills. Helius focuses only on Solana-specific capabilities. LaserStream delivers low-latency gRPC streaming from multiple endpoints. The DAS API provides unified access to NFTs, compressed NFTs, fungible tokens, and Token-2022 assets through a single interface. [The Sender](https://www.alchemy.com/dapps/thesender) product handles transaction landing with MEV protection through [Jito](https://www.alchemy.com/dapps/jito) integration. The limitation is scope. Helius only supports Solana. Agents operating across multiple chains need a separate provider for everything else. ### Moralis [Moralis](https://www.alchemy.com/dapps/moralis) takes a data-first approach. Its Web3 Data API returns decoded token balances, NFT ownership, DeFi positions, and profit-and-loss data in single cross-chain calls across 30\+ chains. For agents that read blockchain state more than they write transactions, Moralis reduces the number of API calls by an order of magnitude compared to raw RPC. Moralis publishes an official MCP server and an ElizaOS plugin, making it straightforward to integrate with popular agent frameworks. Its Cortex API connects verified onchain data to LLMs, and Streams deliver real-time events with guaranteed delivery. The gap: Moralis does not support x402 or autonomous agent signup. Agents still need a human to provision an API key. ### The rest of the field Infura, Chainstack, dRPC, Ankr, Tatum, and GetBlock round out the list. None support autonomous signup or native x402, so an agent still needs a human to provision access. Infura is the legacy EVM default with ~20 networks and no agent tooling beyond gas estimation. Chainstack pairs price-competitive shared nodes with debug and trace on dedicated plans, plus two MCP servers. dRPC flat-prices 40\+ decentralized operators at \$6 per million requests, useful as a cost-driven RPC fallback. Ankr's Advanced API offers pre-indexed multi-chain queries across 80\+ chains. For niche or non-EVM coverage, Tatum spans 130\+ blockchains; for uniform per-chain pricing with crypto payment, GetBlock is the standard pick. Any of them can sit behind Alchemy as a cost- or coverage-driven fallback. ## How to choose the right blockchain API for your agent For most agent builders, Alchemy is the starting point. It is the only provider that combines autonomous signup, x402 payments, enhanced data APIs, and gas sponsorship in a single platform across [100\+ chains](/rpc). No other provider covers all four. That said, some use cases call for supplementary providers: - **Solana transaction landing with MEV protection.** Helius Sender integrates with Jito for aggressive block inclusion, a genuine specialization if your agent's profit depends on landing rates in volatile markets. Alchemy's [Solana infrastructure](/blog/how-to-build-solana-ai-agents-in-2026) handles the rest (gRPC streaming, archival data, DAS). - **Deep cross-chain wallet analytics.** Moralis's Cortex API and P&L data fill a niche for read-heavy research agents that synthesize holdings across chains without executing transactions. - **Cost-sensitive RPC fallback.** High-volume basic calls can route through dRPC (\$6 per million requests) or Chainstack as a secondary endpoint behind Alchemy. - **Niche or non-EVM chains.** Tatum's 130\+ chain coverage extends into long-tail networks Alchemy does not yet support. ## What agent frameworks work with Alchemy? Most onchain agents run on a framework that handles AI orchestration and delegates blockchain calls to an API provider. How Alchemy plugs into the frameworks developers ship with today: **First-party integrations:** - [Coinbase AgentKit](https://github.com/coinbase/agentkit) ships an [official Alchemy action provider](https://github.com/coinbase/agentkit/blob/main/typescript/agentkit/src/action-providers/alchemy/README.md) with `token_prices_by_symbol` and `token_prices_by_address` actions. Drop in an Alchemy API key and your agent can price tokens across 100\+ chains without custom code. - [ElizaOS](https://github.com/elizaOS/eliza) lists Alchemy as a selectable EVM and BSC wallet RPC provider with a dedicated onboarding step. Agents route wallet calls through Alchemy by setting `ALCHEMY_API_KEY` at setup. - [LangChain (Python)](https://python.langchain.com/docs/integrations/providers/alchemy/) ships a community `BlockchainDocumentLoader` that pulls NFT data through Alchemy across Ethereum, Polygon, Arbitrum, Optimism, Base, Blast, [zkSync](https://www.alchemy.com/overviews/how-to-start-developing-on-zksync-in-5-steps), and Zora. **Framework-agnostic (Alchemy slots in as the RPC endpoint):** - [GOAT SDK by Crossmint](https://github.com/goat-sdk/goat) and [Solana Agent Kit by SendAI](https://github.com/sendaifun/solana-agent-kit) accept any RPC URL. Alchemy handles EVM and Solana endpoints respectively, and [Crossmint](https://www.alchemy.com/dapps/crossmint)'s wallet examples ship with Alchemy URLs. - [Rig](https://github.com/0xPlaygrounds/rig) (Rust, popular in crypto-native projects), [Vercel AI SDK](https://ai-sdk.dev/), [CrewAI](https://github.com/crewAIInc/crewAI), [Virtuals Protocol G.A.M.E.](https://github.com/game-by-virtuals/game-python), and [uAgents](https://github.com/fetchai/uAgents) all accept arbitrary RPC providers. Point them at Alchemy and enhanced APIs, gas sponsorship, and x402 payments become available through standard HTTP calls. ## Build autonomous onchain agents with Alchemy The [Alchemy agent platform](/ai-agents) gives your agent everything it needs to operate onchain: autonomous signup, x402 payments, enhanced APIs across 100\+ chains, gas sponsorship, and AgentPay for cross-protocol interoperability. Start with as little as \$1 in USDC and scale from there. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills) with the [CLI](https://www.alchemy.com/docs/alchemy-cli): Connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server) using the client setup steps in the MCP docs. Get started at [alchemy.com/agents](https://www.alchemy.com/agents). ## FAQs ### What are autonomous onchain agents? Autonomous onchain agents are software systems that combine AI reasoning (typically large language models) with blockchain execution, holding their own wallets, reading onchain state, submitting transactions, and making decisions without continuous human input. ### Why do autonomous agents need specialized blockchain APIs? Agents require machine-native access capabilities like autonomous signup via SIWE or SIWS, pay-per-request using onchain USDC through protocols like x402, and machine-readable documentation, since they cannot log into dashboards or manage API keys through email verification like human developers. ### What can autonomous onchain agents do? Agents handle DeFi operations like portfolio rebalancing and swap execution, process payments and settlement in stablecoins, manage multi-chain treasuries, and monitor blockchain events 24/7 to trigger automated responses without human intervention. ### Does Alchemy support autonomous agent signup and payments? Yes, Alchemy's agent platform lets agents sign up via SIWE or SIWS and pay through x402 using USDC on Base, enabling fully autonomous access to Core RPC, NFT, Token, Portfolio, and Prices APIs across 100\+ chains. ### What is the Model Context Protocol (MCP) and why does it matter for agents? MCP provides a structured tool interface that lets LLM-based agents discover and call APIs programmatically; Alchemy's MCP server exposes 160+ tools across token prices, NFT metadata, transaction history, smart contract simulation, and account abstraction. ### What are Alchemy Skills? Alchemy Skills are machine-readable API specifications that give coding agents full knowledge of every endpoint, authentication method, and error pattern. Install them with `npx skills add alchemyplatform/skills --yes`. ### How does Alchemy's Gas Manager help autonomous agents? Gas Manager uses paymasters with granular policy controls (per-address limits, spending caps, contract allowlists) so agents can sponsor transaction fees for their users or pay gas in USDC instead of requiring native tokens on every chain. ### Which agent frameworks work with Alchemy? Alchemy integrates with [Coinbase](https://www.alchemy.com/dapps/coinbase) AgentKit (official action provider), ElizaOS (selectable RPC provider), LangChain Python (blockchain document loader), and accepts RPC connections from GOAT SDK, Solana Agent Kit, Rig, Vercel AI SDK, CrewAI, and other frameworks. ### How much does it cost to get started building agents with Alchemy? You can start with as little as \$1 in USDC and scale from there, with agents paying per request through x402 rather than traditional credit card or invoicing models. --- # The Best Blockchain APIs for Onchain Apps URL: https://www.alchemy.com/overviews/best-blockchain-apis-for-building-onchain-applications.md Building onchain applications requires reliable infrastructure that can handle millions of user requests, maintain consistent uptime, and scale with your growth. Users expect snappy experiences, and whether you're launching a DeFi protocol, an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), or a crypto wallet, choosing the right blockchain API provider can make or break your product. After powering thousands of web3 applications and processing trillions of requests, at Alchemy, we've seen firsthand what developers need from their blockchain infrastructure. In this guide, we'll break down the best blockchain APIs available today, what makes each unique, and how to choose the right provider for your project. ## What are blockchain APIs and why do they matter? A blockchain API \(Application Programming Interface\) acts as the bridge between your application and blockchain networks. Instead of running your own blockchain node\(s\) to connect to the network \(which requires substantial technical expertise, maintenance, and overhead costs as you scale\), you can instead simply connect to the network via 3rd party API endpoints that handle all the complexity of that connection for you. Think of blockchain APIs as your gateway to reading and writing data onchain. You use blockchain APIs to check wallet balances, send transactions, query smart contracts, fetch NFT metadata, and much more. Without reliable APIs, your app might show users out-of-date information, fail to land transactions onchain, and offer a broken UX. The difference between a good and great blockchain API provider shows up directly in your app’s user experience: load times can drop from seconds to milliseconds, the reliability of your app can go from 99% \(3.5 days of outages annually\) to 99.99% \(less than an hour of outages annually\), and your engineering team can spend more cycles on building features and interfacing with customers directly rather than building our your infrastructure to maintain a reliable connection to the network. ## What are the different types of blockchain APIs? Not all blockchain APIs serve the same purpose or offer the same data. Understanding the different types can help you pick the right tools for your specific needs: **RPC \(Remote Procedure Call\) APIs** form the foundation of blockchain interaction. Every blockchain node comes with an RPC API, and 3rd party providers build advanced infra on top of these nodes to offer you the best reliability and lowest latency \(by doing things like running a fleet of nodes, storing onchain data in custom Postgres databases for faster retrieval, caching, load balancing, and much much more\). These RPC APIs let you send transactions, query blockchain state, and subscribe to events. Every onchain application needs robust RPC endpoints to function. **Enhanced data APIs** go beyond the basic API functionality of RPC nodes and offer processed, indexed data that’s ready for use in production. For example, a Token API might index and parse onchain data related to token activity \(such as token metadata, ownership information, trading activity, and more\), and the provider of that API might proactively clean and enrich that data, so you don’t have to do any work to process the onchain data yourself. You can find all sorts of specialized APIs on the market today, including token APIs, NFT APIs, portfolio APIs, transaction APIs, and much more. **Specialized infrastructure APIs** handle specific use cases that RPC APIs do not have the functionality to handle. For example, a specialized API might offer MEV protection for DeFi applications, priority fee estimation for transactions on high-throughput chains, or cross-chain data aggregation for multichain applications. **WebSocket APIs** enable real-time data streaming for applications that need instant updates on blockchain events, new blocks, or pending transactions. A general rule of thumb is that every blockchain ecosystem will offer RPC APIs out of the box. In some cases, you might find the foundation runs nodes that you can call, or in the absence of a publicly available resource, you can simply run a node yourself and access RPC API functionality for your application. But if you’re building an application that needs to scale, that’s just the starting point. Third-party providers give you what the base layer can’t: consistent uptime, faster response times, unlimited scalability, and developer-friendly APIs — alongside enriched data and specialized infrastructure to accelerate your roadmap. With that understanding, let’s take a closer look at what blockchain API providers are available on the market today. ## The 12 best blockchain APIs in 2025 ### 1. Alchemy [Alchemy](https://www.alchemy.com/) eliminates the infrastructure headaches that slow down web3 development and is the leading blockchain API provider on the market today. In the summer of 2025, we launched [Cortex](https://www.alchemy.com/cortex), a new blockchain engine that transformed Alchemy’s product suite and unlocked a new level of performance for our API product lines, driving sub-50ms response times and 99.99% uptime across 50\+ different chains. Not only does Alchemy provide industry-leading reliability and performance, but it also offers unique features like unlimited range getLogs so you can scan the whole chain for your events with just a single request, shuffle sharding so performance spikes from your neighbors don’t impact your business, and much more. Alchemy APIs power the biggest builders in crypto, including giants like [Robinhood](https://www.alchemy.com/dapps/robinhood), [World](https://www.alchemy.com/case-studies/world-onchain-performance), Stripe, Chainlink, [Polymarket](https://www.alchemy.com/case-studies/polymarket), [OpenSea](https://www.alchemy.com/dapps/opensea), 0x, Aave, and Circle. Plus, the company offers a suite of additional products so you can easily build onchain, including enriched data APIs, smart wallets, webhooks, and even rollups as a service. **Chain support:** Alchemy supports [50\+ different blockchains](https://www.alchemy.com/rpc), including Ethereum, Solana, Arbitrum, Base, Polygon, and many more. **Pricing:** Alchemy offers the [industry's most generous free tier](https://www.alchemy.com/pricing) \(30M CU/month\) to get you started quickly. From there, we offer a fully transparent and predictable pay-as-you-go pricing model that offers discounts as you scale, as well as enterprise plans for apps that need unmatched performance and strategic partnership with our team. **Best for:** Production applications that can't afford downtime, apps that require snappy user experiences, teams building complex DeFi products, developers who need a range of devtools and want infrastructure that "just works." ### 2. QuickNode [QuickNode](https://www.quicknode.com/) is one of the largest blockchain API providers in the space today, supporting 200B\+ monthly API requests. They emphasize speed and reliability; you can compare current RPC provider latency and success rates in Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). Alongside their blockchain API product line, QuickNode offers data streaming, enriched data APIs, dedicated node clusters, and more. In addition to their product suite, QuickNode offers an add-on marketplace \(think of it like an app store for blockchain APIs\), where you can find a number of products from various partners, including Flashbots, Blockscout, Covalent, and others. QuickNode customers include [crypto.com](http://crypto.com), LG, Binance, Dune, Nansen, and more. **Chain support:** QuickNode supports [76 chains across 125 networks](https://www.quicknode.com/chains), making it one of the broadest coverages available. **Pricing:** QuickNode offers a one month free trial, and its paid plans begin at $42/month and scale all the way up to $849/month and beyond. **Best for:** Teams wanting plug-and-play tools, multichain projects, developers who value ecosystem over raw performance ### 3. Infura As part of the Consensys ecosystem, [Infura](https://www.infura.io/) positions itself as the reliable workhorse for Ethereum development and for a period of time Infura dominated the API market, serving 400,000\+ developers. Their deep integration with Ethereum gave them an early head start, but since then competition has grown, and developers now have many options on the market. Infura offers a centralized service \(as do most of the providers on this list\), but they’ve been progressively decentralizing their network with a “decentralized infrastructure network” \([DIN](https://www.infura.io/solutions/decentralized-infrastructure-service)\) effort that brings various API providers together. In addition to APIs that offer 99.99% reliability, Infura offers a Gas API powered by MetaMask, which gives Infura comprehensive insights into network congestion and gas pricing. **Chain support:** Infura supports [20 networks](https://www.infura.io/networks), including Ethereum and many popular Ethereum L2s. **Pricing:** Infura offers a free plan with 3M daily free credits \(which translates to roughly 1M transactions per month\), and the company offers paid plans beginning at $50/month to support you as you scale. **Best for:** Joe Lubin, MetaMask integration, Ethereum purists, teams needing IPFS alongside blockchain data ### 4. Ankr [Ankr](https://www.ankr.com/) positions itself as Web3's decentralized infrastructure leader, operating one of the first DePIN \(Decentralized Physical Infrastructure\) networks. Their network of independent nodes serves 8\+ billion daily requests while maintaining decentralization. In addition, Ankr itself is a DAO, and decision making is spread across holders of the ANKR token. Ankr also uses this token to enable a two-sided marketplace where node operators earn ANKR tokens for serving requests while developers pay ANKR tokens to make requests. Optimized for decentralization over performance, Ankr’s customers include Sentora, SushiSwap, Chiliz, and more. **Chain support:** Ankr supports [79 different blockchains](https://www.ankr.com/web3-api/). **Pricing:** Ankr’s free plan limits users to 30 reqs/sec, but 200M free monthly credits \(which translates to ~$20 in value\). For higher throughput and additional support, Ankr’s paid plans begin at $10/month and scale up to custom enterprise pricing \(think $3,000\+ monthly\). **Best for:** Ideological decentralization advocates, projects needing many chains, ANKR token holders ### 5. Chainstack [Chainstack](https://chainstack.com/) offers a range of different blockchain APIs across its Global Nodes, Unlimited Nodes, Dedicated Nodes, and Trader Nodes, making sure that whether you are experimenting or an enterprise power user, you have a product that meets your needs. Alongside those various node parameters, Chainstack offers impressive tooling for landing transactions at a 99% success rate within just a couple blocks, useful for high frequency trading and DeFi apps. Chainstack also offers subgraphs, data streaming for Solana, and fast access to archival data. Chainstack’s users include [Axelar](https://www.alchemy.com/dapps/axelar), [Trust Wallet](https://www.alchemy.com/dapps/trust-wallet), Kenshi, [Chainalysis](https://www.alchemy.com/dapps/chainalysis), Mantle, and more. **Chain support:** Chainstack supports [70\+ blockchains](https://chainstack.com/protocols/). **Pricing:** Chainstack’s free plan offers 3M requests/month with 25 reqs/sec. Paid plans begin at $49/month and scale to enterprise plans, which start at $990/month. **Best for:** Trading firms, MEV searchers, enterprises needing custom configurations ### 6. Helius [Helius](https://www.helius.dev/) has carved out a dominant position in Solana with its first mover advantage. Built by Solana natives who understand the chain's unique architecture, they offer performance and features that are hard to match: 99.99% transaction landing rate, with just 1.5 second confirmation time. Helius is also more than just an API provider. They offer a Solana validator that takes 0% fees, a shred delivery product that gives you the earliest possible access to raw onchain data, enhanced APIs for asset and transaction data, data streams and notifications, and more. Helius customers include the largest builders on Solana, including Phantom, Pump.fun, [Jupiter](https://www.alchemy.com/dapps/jupiter), [Raydium](https://www.alchemy.com/dapps/raydium), and more. **Chain support:** Helius exclusively offers Solana support \(and is proud of it\). **Pricing:** Helius offers 1M free credits monthly at 10 reqs/sec, with paid tiers beginning at $49/month. **Best for:** Serious Solana builders, high-frequency trading, NFT and memecoin platforms on Solana, anyone who needs Solana transactions to land reliably ### 7. Blockdaemon [Blockdaemon](https://www.blockdaemon.com/) is a staking provider for enterprise, focusing on MPC wallets, vaults, and staking as a service. But as part of that work, they also offer institutional nodes and APIs for businesses at scale, helping them land transactions, track user balances, and more. Blockdaemon also offers enhanced API experiences that collate data from various networks and return all of that data via a single API interface. Blockdaemon customers include MetaMask, Circle, Goldman Sachs, Citi, Microsoft, and more. **Chain support:** Blockdaemon supports [40\+ blockchain networks](https://www.blockdaemon.com/protocols), with strong non-EVM coverage. **Pricing:** Given their institutional focus, Blockdaemon offers opaque pricing that requires contacting sales for more information. **Best for:** Institutions needing compliance, projects on niche chains, white-label infrastructure needs ### 8. GetBlock [GetBlock](https://getblock.io/) offers API access to 50 different networks and also offers plans for dedicated nodes and node clusters. They also offer “blockchain-as-a-service” and support 150\+ different appchains. With 24/7 service support and 99.99%, GetBlock is trusted by customers like Chainlink, Elliptic, Trust, and Near. **Chain support:** GetBlock supports [50\+ blockchains](https://getblock.io/nodes/). **Pricing:** GetBlock offers a free plan with 50K CU at 5 rps, and paid plans begin at $39/month scaling up to enterprise at $799/month. **Best for:** Variable workloads, developers who want a solid all-around provider ### 9. dRPC [dRPC](https://drpc.org/) takes a unique architectural approach: instead of running their own nodes, they orchestrate a network of 50\+ independent providers through intelligent load balancing. Think of them as the "Uber for RPCs,” matching your requests with the best available node in real-time. dRPC has built a fault-tolerant load balancer for 50\+ different blockchain API providers that considers node location, sync state, and recent performance for every request to make sure that your API response is as fast and snappy as it can be. Today, 3,000 apps are powered by dRPC, and the network processes 4B requests per day. dRPC customers include Lido, OpenZeppelin, PancakeSwap, Safe, [Dex Screener](https://www.alchemy.com/dapps/dex-screener), and more. **Chain support:** dRPC supports [100 different chains across 187 networks](https://drpc.org/chainlist). **Pricing:** dRPC offers a free plan that limits your access to the public nodes in its network, and its growth plan is a dead simple $6 per 1M requests, regardless of chain or method. **Best for:** High-volume applications, cost-conscious teams needing predictable pricing, projects requiring true decentralization without performance sacrifice ### 10. Coinbase developer platform Leveraging [Coinbase](https://www.alchemy.com/dapps/coinbase)'s exchange infrastructure, [Coinbase](https://www.coinbase.com/developer-platform) has made a number of developer tools available to developers to help bring the world onchain. Those tools include fiat ramps, wallets, blockchain APIs, and more. Coinbase offers these various tools for free. Its blockchain APIs in particular offer free RPC access to Base, as well as APIs for user balances, history, transactions, verifying a user’s account, and more, all of which you can pull directly into your app. Users of Coinbase Cloud include Phantom, Metamask, [Uniswap](https://www.alchemy.com/dapps/uniswap), and Trust. **Chain support:** Most of Coinbase’s tooling is for Base, but some of the APIs, including wallet history, are multichain. **Pricing**: Free! **Best for:** Wallets, traders, simple trading apps ## How to choose the right blockchain API provider Selecting the best blockchain API for your project depends on several critical factors: ### Performance requirements If you're building a trading platform, DeFi protocol, or any application where milliseconds matter, prioritize providers with proven low-latency infrastructure. Look for published response times, global server distribution, and specific optimizations for your use case. We've seen projects cut their response times by 60% just by switching to optimized infrastructure. ### Reliability and uptime Downtime doesn't just frustrate users—it costs money and damages trust. Check uptime guarantees \(99.9% vs 99.99% makes a big difference at scale\), understand failover mechanisms, and verify how providers handle chain [reorganizations](https://www.alchemy.com/overviews/what-is-a-reorg) and node syncing issues. ### Chain coverage Multichain strategies require providers that support all your target blockchains with consistent quality. Some providers excel at EVM chains but struggle with Solana, while others specialize in specific ecosystems. Match your chain requirements with provider strengths. ### Developer experience The best infrastructure becomes useless if it's painful to implement. Evaluate documentation quality and the complexity of common operations. Enhanced APIs that abstract complex blockchain operations can save weeks of development time. ### Scaling considerations Your infrastructure needs will change as you grow. Free tiers help you start building, but understand the pricing curve as you scale. Some providers offer usage-based pricing, so costs scale with your traffic and you even enjoy discounts as your usage increases. Other providers rely on complex credit systems or flat monthly fees that force you to guess your consumption up front, making it harder to predict and manage costs. ### Support and community When production issues arise, responsive support becomes critical. Consider support channel availability \(tickets, Discord, dedicated Slack\), response time guarantees, and the size of the developer community for peer assistance. ## Getting started with blockchain APIs Ready to start building? Here's your quickest path to production: 1. **Start with the fundamentals.** Get an API key and try out RPC endpoints for basic blockchain interactions. Many providers offer free tiers perfect for development and testing. 1. **Layer in enhanced APIs.** Add Token APIs, Portfolio APIs, NFT APIs, and more, based on what you need for your use case. 1. **Implement proper error handling.** Blockchain networks have unique failure modes. Build in retry logic, handle rate limits gracefully, and plan for chain reorgs. 1. **Monitor everything.** Track response times, error rates, and usage patterns from day one. This data guides optimization and helps you catch issues before users notice. 1. **Plan for growth.** Choose providers that scale with you. Switching infrastructure mid-growth can be painful, and often isn’t done until you experience an outage that impacts your users.. ## Build your next application with confidence The blockchain API landscape has matured significantly, with providers now offering enterprise-grade reliability, developer-friendly tooling, and the scale to support millions of users. The key is matching your specific needs with the right provider's strengths. We built Alchemy's infrastructure to eliminate the common pain points that slow down web3 development. With Cortex powering sub-50ms response times, 99.995% uptime, and intelligent scaling, you can focus on building great products instead of managing infrastructure. Ready to experience the difference? Join thousands of developers who trust us to power their applications, from experimental prototypes to production systems processing billions of requests. [Get started here](http://dashboard.alchemy.com/). ## Frequently asked questions ### What are blockchain APIs and why do developers need them? Blockchain APIs act as the bridge between your application and blockchain networks, eliminating the need to run your own nodes. They enable you to check wallet balances, send transactions, query smart contracts, and fetch NFT metadata with reliable infrastructure. ### What types of blockchain APIs are available for developers? There are four main types: RPC APIs for basic blockchain interaction, enhanced data APIs that offer processed and indexed data, specialized infrastructure APIs for specific use cases like MEV protection, and WebSocket APIs for real-time data streaming. ### How does Alchemy compare to other blockchain API providers? Alchemy offers sub-50ms response times and 99.99% uptime across 100\+ chains through its Cortex blockchain engine. It provides unique features like unlimited range getLogs and shuffle sharding, powering major companies like Robinhood, Stripe, and OpenSea. ### Which blockchain API providers offer the broadest chain support? dRPC leads with 100\+ chains across 187 networks, followed by Alchemy in second, which supports 90 chains. Rounding out the top providers, Ankr supports 79 blockchains, and QuickNode supporting 76 chains across 125 networks. ### What should I consider when choosing a blockchain API provider? Key factors include performance requirements, reliability and uptime guarantees, chain coverage for your target blockchains, developer experience quality, scaling considerations and pricing models, and available support channels. ### Do blockchain API providers offer free tiers for development? Yes, most providers offer generous free tiers. Alchemy provides 30M compute units monthly, Infura offers 1M transactions per month, and Ankr gives 200M monthly credits to help developers get started. ### Which blockchain API is best for Solana development? Helius and Alchemy are the two most popular blockchain APIs on Solana. ### How do blockchain APIs improve application performance? Quality blockchain APIs reduce response times from seconds to milliseconds, increase reliability from 99% to 99.99% uptime, and let engineering teams focus on features rather than infrastructure maintenance. --- # Best Online Blockchain Courses for Web3 Developers URL: https://www.alchemy.com/overviews/best-blockchain-courses.md Blockchain development is difficult and at times quite scary. In this article, we’ll discuss important courses that make blockchain development easier to learn for new developers.  First, we’ll discuss some essential resources and then we’ll get into some more specialized resources that are important for specific areas of Web3 development. ## Essential blockchain courses Two essential blockchain courses for aspiring programmers are Alchemy University and the Road to Web3. ### Alchemy University [Alchemy University](https://www.alchemy.com/university) currently offers two free courses for learning blockchain development. The first free course is a 7-week [Ethereum Developer Bootcamp](https://www.alchemy.com/university/courses/ethereum) that covers everything from cryptography fundamentals to writing smart contracts and building apps. The second free course is a [Javascript crash course for beginners](https://www.alchemy.com/university/courses/js). Before writing smart contracts, aspiring blockchain developers will need to know the fundamentals of Javascript like syntax and functions. ### Road to Web3 Alchemy’s [Road to Web3](https://www.alchemy.com/docs/alchemy-quickstart-guide) is a 10-week, asynchronous blockchain development program that helps builders of all backgrounds transition into a Web3 developer role. Road to Web3 includes tutorials on common web3 developer projects including: - How to develop an NFT smart contract - How to make a token swap dApp - How to create a dynamic NFT - How to build a game on Optimism - How to create an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) - How to make a DeFi dApp You can follow along with written tutorials or watch [guided web3 tutorials on Youtube](https://www.youtube.com/playlist?list=PLMj8NvODurfEYLsuiClgikZBGDfhwdcXF). - Price: Free - Creator: Alchemy ## Best blockchain courses for beginners ### CryptoZombies [CryptoZombies](https://cryptozombies.io) is a free introductory Solidity course that teaches the basics of Solidity in a fun and gamified manner. This course is included in this list because of its simplicity and accessibility.  The course is provided by Loom Networks and is fully automated/gamified. The general premise of the program is to learn how to write Solidity smart contracts by making a crypto collectible game. - Price: Free - Creator: Loom Networks ### Introduction to Ethers.js ChainShot is a web3 education company that offers a variety of online web3 courses for developers including [introductory courses to Ethers.js](https://www.chainshot.com/learn/ethers), Solidity, Chainlink, and Aave.  If you want more than a single online course, ChainShot also offers an Ethereum developer bootcamp that offers developers looking to transition to a career in web3 with a remote bootcamp complete with live classes, group activities, supplemental tutorials, readings, and assessments. - Price: Free - Creator: ChainShot ### LearnWeb3's freshman track LearnWeb3 is a web3 education platform and Decentralized Autonomous Organization \(DAO\), focused on teaching developers basic and advanced web3 concepts. For beginners, [LearnWeb3's Freshman track](https://www.learnweb3.io/tracks/freshman) offers training on basic programming concepts, crypto wallets, Remix, which is an Integrated Developer Environment \(IDE\), Solidity, building apps, creating NFTs, and more! Once you're done with the Freshman track, you can move from beginner to intermediate with their Sophomore, Junior, and Senior tracks which dive deeper into web3 concepts like [DAOs](https://www.alchemy.com/dapps/top/daos), ENS, [The Graph](https://www.alchemy.com/dapps/the-graph), MEV, and gas optimizations. - Price: Free - Creator: LearnWeb3 DAO ## Best blockchain courses on Solidity ### Learn blockchain, Solidity, and full stack Web3 development with JavaScript Patrick Collins, a smart contract developer and Developer Advocate at Chainlink Labs, created a comprehensive course on [everything Solidity-based smart contract developers need to know](https://www.youtube.com/watch?v=gyMwXuJrbJQ) to start developing in Web3. This free, 32-hour course covers topics including Remix, Ethers.js, Hardhat, NextJS, ERC20s, NFTs, DeFi, DAOs, and even covers [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices) - a must have for new web3 developers. - Price: Free - Creator: Patrick Collins ### 10 days of Solidity Metaschool is a platform where over 50,000 web3 developers have signed up to learn the fundamentals of web3 in a collaborative, group environment. Metaschool offers [a series of online Solidity courses](https://metaschool.so/#all-courses) including two of their most popular courses: "10 Days of Solidity," and "Writing your first Hello World contract in Solidity." - Price: Free - Creator: Metaschool ### Ethereum and Solidity: the complete developers guide Alongside CryptoZombies, this [Ethereum and Solidity developer’s guide](https://www.udemy.com/course/ethereum-and-solidity-the-complete-developers-guide/) is one of the most comprehensive Solidity guides for developers. Available for $50 on Udemy and created by Stephen Grinder, this developer's guide not only teaches engineers how to deploy Solidity smart contracts but also gives insight into the reasoning behind why one might want to write these contracts in the first place.  Additionally, individuals who take this course can learn how mining works through practical examples and can learn how to use the latest versions of Ethereum web development tools. - Price: $95 - Creator: Stephen Grinder ### Blockchain specialization This [blockchain specialization course](https://www.coursera.org/specializations/blockchain) provides an in-depth understanding of developing using the Ethereum Virtual Machine and the Solidity language overall. It is a more advanced course offered by Bina Ramamurthy at the University at Buffalo.  Alongside learning conceptual cryptographic knowledge, a key element of this course is that participants get to work on higher-level Solidity projects. Amongst these is deploying an instance of a blockchain, carrying out peer-to-peer transactions, and programming and testing Solidity smart contracts for decentralized applications. - Price: Free - Creator: University at Buffalo - Instructor: Bina Ramamurthy ## Best blockchain courses on NFTs ### How to develop NFTs on Ethereum Buildspace has a great online NFT development course to help web3 devs learn [how to create NFTs on Ethereum](https://buildspace.so/build-nfts). With over 60,000 builders using buildspace, their courses are some of the best NFT courses available to developers from all backgrounds. If you're more inclined to build on Solana, they also have a Solana NFT course! - Price: Free - Creator: buildspace ### NFT fundamentals When it comes to NFTs, it's often quite confusing to understand even the non-technical aspects of the technology. Navigating through platforms like Opensea, figuring out how to mint NFTs, and other actions in the NFT space are often difficult to understand.  This [NFT fundamentals course](https://www.udemy.com/course/nft-fundamentals/?ranMID=39197&ranEAID=JVFxdTr9V80&ranSiteID=JVFxdTr9V80-rfLbGKRh0ZPQXZeD6G7ZuA&LSNPUBID=JVFxdTr9V80&utm_source=aff-campaign&utm_medium=udemyads) simplifies this experience for the developer and non-developers alike. In particular, this course gives an in-depth walk-through of how NFTs are minted and discusses ERC-721 tokens, which are the technical representations of NFTs. The course is presented and created by George Levy, an instructor who has released a variety of other blockchain-related courses on the Udemy platform.  - Price: $90 - Creator: George Levy ### The complete NFT web development course The [Complete NFT Web Development Course ](https://www.udemy.com/course/the-complete-nft-web-developer-course-zero-to-professional/?ranMID=39197&ranEAID=CuIbQrBnhiw&ranSiteID=CuIbQrBnhiw-nu7AOvRRkto04JLgaNz8Kw&LSNPUBID=CuIbQrBnhiw&utm_source=aff-campaign&utm_medium=udemyads)is a comprehensive guide that takes developers from almost zero knowledge to a thorough understanding of the engineering behind NFTs.  This course teaches the basics of Solidity alongside introductory forms of React and Truffle, each of which is essential for NFT web development. The end goal of this 24-hour-long course is to build a fully functioning NFT marketplace.  In the process of building this marketplace, participants will use the most up-to-date NFT development tools such as the Remix IDE and will learn how to debug NFT-related code. The volume of content in this course makes it a perfect fit for those hoping to rapidly accelerate their NFT development skills. The course is developed by Clarian North and TJ Walker, both of whom have extensive prior experience teaching computer programming courses online. - Price: $95 - Creator: Clarian North and TJ Walker ## Best blockchain courses on Solana ### Sol dev - intro to Solana Sol Dev’s [introductory Solana course](https://soldev.app/course) is a dedicated Solana development course that is comprehensive in what it covers and makes building on Solana significantly simpler for newer developers To build in the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana), one must use the Rust language, which is not a dedicated smart contract language like Solidity and has existed for far longer than the existence of the Solana network. The course is quite technical and covers reading and writing data into the network, how to swap tokens using Rust code, and more. The course is created by the Sol Dev community.  - Price: Free - Creator: Sol Dev ### Solana blockchain developer bootcamp with Rust \+ JavaScript This [Solana bootcamp](https://www.udemy.com/course/solana-developer/) course goes into significant detail about the nuances of the Solana ecosystem and the Rust language. First, this course discusses the conceptual elements of Solana–particularly what its advantages are over other blockchains like Ethereum. Next, participants use Javascript and Rust, alongside extensive command line work, to dive deep under the hood of the Solana blockchain. Lastly, this course allows participants to create a variety of projects in focus areas such as NFTs and apps.  Only beginner-level programming experience is required for the course, making it perfect for developers of all skill levels. The course is created by Learn with Arjun, who has many years of experience teaching computer programming on Udemy. - Price: $85 - Creator: Learn with Arjun ## Conclusion Using the resources above, developers will find the road to Web3 easier to travel and make strides forward in their understanding of key concepts and programming best practices when developing on the blockchain. Alchemy provides a platform that has all you need to start developing for Web3. [Sign up for a free Alchemy account](https://dashboard.alchemy.com/signup/?referrer_origin=DIRECT&_gl=1*yv7gdl*_gcl_aw*R0NMLjE2NTI5MDc5ODguQ2owS0NRandzcEtVQmhDdkFSSXNBQjJJWXV1cUdvVGZDNGlKT25Dalp0YUFZbWlJalRCT2MyMURQcHJaR3RiWFZsb2J5cWN1MUdKUm1kQWFBaFZrRUFMd193Y0I.) and start building your first Web3 project today. --- # Best DAOs for Web3 Developers in 2023 URL: https://www.alchemy.com/overviews/best-daos-for-web3-developers.md ## What is a DAO for Web3 developers? A DAO or decentralized autonomous organization is a community-led structure with no centralized authority where individuals with voting rights can shape the direction of the underlying organization. The term “DAO” has joined the everyday lexicon used by the broader crypto community as the number of [DAOs](https://www.alchemy.com/dapps/top/daos) and their balance sheets have surged dramatically in the past 24 months. Developers [create DAOs](https://www.alchemy.com/overviews/the-definitive-guide-to-starting-a-dao) on many different blockchains, with the Ethereum blockchain network proving to be popular. A DAO’s financial and operational outcomes are typically dictated by a governance token, which is issued at the genesis of the DAOs creation and grants holders access to voting power and exclusivity. In its truest sense, decision-making power is placed in the hands of end-nodes within an automated system and crowdsourced processes.  While there are many [pros and cons of creating a DAO](https://www.web3.university/article/the-pros-and-cons-of-building-a-dao), they have endless use cases and because of this have become an increasingly popular vehicle for launching all kinds of Web3 applications and businesses. For instance, DAOs could serve as a pool of capital to purchase an expensive item such as the US constitution. Or they could establish a members-only gated community where prospective members have to purchase a particular NFT to gain access.  In general, there are [several types of DAOs](https://www.alchemy.com/overviews/types-of-daos), and each of them serves a different purpose. ## The top DAOs for Web3 developers Here are some of the best DAOs for web3 developers: 1. Developer DAO 1. LearnWeb3DAO 1. DXdao 1. Odyssey DAO 1. Women Build Web3 1. VectorDAO 1. SuperteamDAO 1. MolochDAO 1. Buidl Guidl ### 1. Developer DAO The [Developer DAO](https://developerdao.notion.site/Getting-Started-with-Developer-DAO-2bddd332c51a4957b0b83f60f9fa4ebe#3a69c31d94b442b6b3495e5d6441dcbd) is a community-oriented organization for developers interested in participating, learning, and contributing to the future of Web3. The organization’s mission is to accelerate the education and impact of a new wave of Web3 developers, and its foundations lie on top of four core values: transparency, diversity and inclusion, responsibility and kindness, and empathy.  Developer DAO boasts a membership of 5,000 unique members and to join, interested individuals need to purchase a genesis NFT on the open market or from another member. For those interested but unable to afford or acquire a token on the open market, Developer DAO provides free memberships in the form of scholarships. ### 2. LearnWeb3DAO Similar to Developer DAO in its ambition to onboard as many developers into Web3 as possible, [LearnWeb3DAO](https://dxdao.eth.link/) is a community-oriented DAO that addresses current knowledge gaps to learn Web3. With structured tracks and free content, the decentralized community is laser-focused on teaching the fundamental building blocks of this new wave of technological development.  To bring diversity to those who benefit from Web3, the grassroots organization intends to create a fully-fledged Web3 ecosystem and advocates for women, people of color, and other underrepresented minorities in the technology sector.  The DAO offers 4 learning tracks, from freshman to senior, each dedicated to uncovering a specific topic such as gas optimizations and [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices). The DAO has over 50,000 members, and interested developers can easily join through LearnWeb3DAO’s official Discord. The team is composed of co-founders **Haardik**, a protocol engineer at [Ceramic](https://www.alchemy.com/dapps/ceramic) Network,** Sneh**, a software engineer at [Coinbase](https://www.alchemy.com/dapps/coinbase), and** Kacie**, a technical writer at Hashnode and blockchain developer at the Musicoin Foundation.  ### 3. Dxdao Established in May 2019, [DXdao](https://dxdao.eth.link/) is a scalable collective focused on developing, governing, and growing DeFi projects. The 2,830\+ member strong DAO leverages reputation-based governance and holographic consensus to coordinate and manage funds, meaning no one can buy their way into influencing its future.  Developers who are looking to make an impact in the decentralized finance ecosystem can learn more about the DAO through its manifesto and potentially consider contributing to the project. In addition, DXdao operates six unique products: 1. **Swapr** - A multi-chain AMM with a suite of unique features including LP governance, DIY farming, and more 1. **Carrot** - A community-driven programmable incentives platform to distribute rewards alongside set criteria 1. **Omen** - A fully decentralized multi-chain prediction market platform 1. **Mesa** - A permissionless DEX that enables ring trades to maximize liquidity ### 4. Odyssey DAO Producing quality Web3 educational articles and courses, [Odyssey DAO’s ](https://www.odysseydao.com/)long-term objective is to onboard 1 million people into the Web3 ecosystem. Today, the community boasts 6,750\+ members, many of whom have made the grand leap into full-time employment in Web3. The DAO is sponsored by firms such as Polygon, [Thirdweb](https://www.alchemy.com/dapps/thirdweb), Phantom, and Aave.  The DAO is centered around three important principles, namely, quality over quantity, delightful onboarding, and paying it forward. Developers can subscribe to their free newsletter to receive the best of Web3 insights in their mailbox. Moreover, the community provides six free learning paths including an introduction to NFTs, breaking into Web3, and learning the building blocks of DeFi.  ### 5. Women build Web3 A global collective of women and non-binary developers learning and building in Web3, [Women Build Web3](https://www.womenbuildweb3.com/) boasts 215\+ active members. The community could also be perceived as an accelerator for women-led engineering projects, helping developers unlock their potential through the provision of education, opportunities, funding, and a network of like-minded peers. The community spans eight countries, sixteen cities, and nine time zones.  According to the group’s official whitepaper, the community works closely with Developer DAO as a “sister” DAO and works cross-steam on all initiatives. If you happen to be eligible for membership with interests in smart contracts, NFTs, DAOs, DeFi, and more, then go ahead and introduce yourself to the community.  This year, Women Build Web3 has an ambitious goal to onboard 1,000 developers, ship 100 projects, complete 10 hackathons, and form 1 DAO. This might just be the time to join and kickstart the community’s DAO creation efforts.  ### 6. VectorDAO According to its official blog entry, [VectorDAO](https://vectordao.com/) is a decentralized collective of designers, brand experts, and creatives pioneering a new way of working that tilts the scales back towards builders. The DAO’s unique organizational structure makes it easy for contributors to earn equity and tokens for their work. VectorDAO is focused on combating three primary challenges: ownership, diversification, and flexibility. #### 1. Ownership, not cash VectorDAO only accepts equity or tokens as compensation in exchange for services provided with the DAO handling all paperwork and legal undertakings required for members. #### 2. Diversification Provision of a wide-ranging portfolio of projects for members through its seasons model. #### 3. Scheduled flexibility Members can sign up for the level of commitment they deem appropriate for themselves. Unlike traditional startups, there is no cliff with VectorDAO.  Aspiring Web3 designers, visual artists, and other creatives can apply for membership online or if people are interested in collaborating with the collective, that’s also a possibility.  ### 7. SuperteamDAO [Superteam DAO’s mission](https://superteam.fun/) is to help promising Solana-based projects in emerging economies launch and grow. The organization is organized as a co-operative of creatives, developers, and operators who have previously launched and developed technology businesses.  The DAO’s Discord channel has over 3,800 members and those looking to get involved can complete bounties to earn crypto and obtain membership. You can check out roles on [Superteam](https://www.alchemy.com/dapps/superteam) DAO’s jobs board. ### 8. MolochDAO Branded as the original grant-giving DAO, [MolochDAO](https://molochdao.com/) is a DAO deployed on the Ethereum mainnet in early 2019. Members contribute capital with the sole purpose of donating it to fund Ethereum infrastructure as an essential public good. Since its inception, Moloch has awarded roughly $700,000 in grants to multiple projects and research initiatives.  It’s simple to get started:  - Read through the DAO’s mission statement and values, their vision of Web3, and underlying beliefs  - Familiarize yourself with the 1,100\+ members on Discord  - Tell the group how you would like to get involved. There are three major ways:  1. Pledge 10 - 100 wETH  2. Share your proposal and request sponsorship  3. Do work for the DAO to earn your way in  ### 9. BuidlGuidl [Buidlguidl](https://buidlguidl.com/) is a curated group of Ethereum builders creating products, prototypes, and tutorials to enrich the scaffold-eth and broader [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). The DAO is member-managed and utilizes a Gnosis Safe smart contract to make important decisions. In total, there are over 700 builders and each DAO member has equal voting rights. ## Conclusion With the rise of DAOs in Web3, getting involved in one of these projects is one of the best things a Web3 developer can do if they want to understand how DAOs function and what to do to implement a DAO project successfully. For more inspiration, find out how [Stake DAO partners with Alchemy](https://www.alchemy.com/blog/pentonium-x-alchemy) to power DeFi applications and how [Pentonium uses Alchemy](https://www.alchemy.com/blog/pentonium-x-alchemy) to build and operate their freelancer DAO. With DAOs, the possibilities are endless and just beginning to take shape. --- # Best EVM Wallets for Ethereum Developers in 2025 URL: https://www.alchemy.com/overviews/best-ethereum-wallets-for-developers-complete-evm-guide-2025.md Let's face it – wallet integration can make or break your app. With Ethereum's Pectra upgrade dropping May 7, 2025, developers need to understand how this game-changing update transforms what's possible with wallets and how users interact with onchain experiences. This guide cuts through the noise to explain what makes wallets "EVM compatible," how Pectra reshapes the landscape, and which wallet solutions actually make sense for your specific use case. Whether you're building DeFi, NFTs, or games, you'll find practical answers to your wallet questions. ## What is an EVM wallet? An EVM wallet is your bridge to the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) – the engine powering Ethereum and dozens of compatible blockchains. But what exactly makes a wallet work with the EVM? ### Technical foundations At its core, an EVM wallet handles five critical functions: - **Key management** using secp256k1 cryptography \(the standard for Ethereum\) - **Address generation** in Ethereum's format \(those 0x-prefixed hex strings\) - **Transaction signing** with Ethereum's specific structure - **Smart contract interactions** using Ethereum's application interface standards - **Token standards support** for ERC-20, ERC-721, and other Ethereum assets Unlike Bitcoin wallets or other non-EVM wallets, EVM wallets speak the language of gas fees, nonces, and smart contracts – the fundamental building blocks of Ethereum's architecture. ### EVM vs. non-EVM wallets Here are the high-level differences between EVM vs. non-EVM wallets. **EVM Wallets** - Use 0x-prefixed hex addresses that work across the ecosystem - Handle gas calculations for every operation - Process smart contract data fluently - Support a rich ecosystem of tokens and standards **Non-EVM Wallets \(like Bitcoin\)** - Use entirely different address formats and cryptography - Operate with simpler transaction models \(no gas or complex execution\) - Lack the programmability that makes EVM so powerful With EVM wallets, you can build once and deploy everywhere. Your integration works across Ethereum, L2s like Arbitrum and Optimism, and alternative L1s like Avalanche and BNB Chain with minimal tweaking. ## The evolution of EVM wallets Wallets have transformed dramatically since Ethereum's early days. This evolution tells us where we're headed next. ### Basic EOA wallets \(2015-2021\) The foundation of Ethereum – simple [Externally Owned Accounts](https://www.alchemy.com/docs/ethereum-accounts) \(EOAs\) controlled by private keys with no internal logic. **Key Characteristics** - One private key - No programmability inside the account - Every transaction needs a separate approval - Security relies entirely on keeping one key safe These wallets onboarded the first wave of users but created massive friction. Instead of seamless one-click experiences, users faced an obstacle course: acquiring ETH through fiat onramps just to pay gas fees, approving token access in one transaction before making an actual swap in another, and managing complicated seed phrases. While EOAs offer universal compatibility and straightforward integration, their rigid structure blocks builders from expanding beyond crypto-natives or web3 power users. The result? Limited growth, frustrated users, and significantly fewer transactions – especially from mainstream audiences who expect web2-caliber UX. ### ERC-4337 smart wallets \(2022-now\) The ecosystem recognized a critical need: to deliver web2-caliber experiences that could onboard mainstream users. Enter ERC-4337, the standardized approach to account abstraction that transformed what's possible with onchain applications. **User Experience Breakthroughs:** - Email/social logins replace seed phrases entirely - Sponsored transactions eliminate the need for users to hold ETH - Single-click approval and execution for complex actions - Customizable recovery options beyond seed phrases - Multiple keys and devices can access one account securely The impact of the UX improvements enabled by ERC-4337 are profound. Over 26 million smart wallets are deployed today, and teams are finding massive success and growth. Take a look at Azuki's success story: they secured [anime.com](http://anime.com) and used smart wallets to onboard the global anime fanbase. The results speak for themselves – over 13 million NFTs minted by users with zero blockchain knowledge, maintaining impressive engagement with ~26,000 daily active users and ~670,000 monthly active users. While ERC-4337 wallets represent a huge leap forward, early implementations required separate contract deployments and coordination with specialized infrastructure. This created some complexity for developers compared to traditional EOAs – but the adoption gains have proven worth the investment. ### EIP-7702 smart EOAs \(2025-\) With Ethereum Pectra, [EIP-7702](https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets) allows EOAs to gain smart wallet capabilities. Think of EIP-7702 as a bridge – EOAs can access smart wallet features while maintaining compatibility with existing systems. It's not the final destination \(EOA keys remain a single point of failure\), but it represents an important step toward the fully programmable future of Ethereum accounts. ## Choosing your wallet strategy **EOAs → Smart EOAs \(EIP-7702\) → Smart Wallets** Each step brings better user experiences, stronger security, and more flexibility. Let's help you decide which wallet strategy makes the most sense for your app. ### Key decision factors When selecting a wallet architecture, consider these five critical factors: 1. **User onboarding friction** – How smoothly can new users get started with your application? 1. **Transaction complexity** – Does your application involve multi-step processes that could be simplified? 1. **Security requirements** – What level of protection does your use case and your users' assets demand? 1. **Development resources** – What can your team realistically implement and maintain? 1. **Future-proofing** – How important is alignment with Ethereum's evolution toward account abstraction? ### Comparing wallet types #### **Traditional EOA wallets** **Choose when:** You’re trying to cast the widest net to existing native web3 users in the most cost-efficient manner. **Advantages** - Works everywhere in the ecosystem - No deployment costs whatsoever - Lower gas for simple transactions - Familiar territory for crypto veterans **Disadvantages** - Really big barriers for first-time users \(need ETH/native token for gas\) - Multi-step flows that kill conversion rates - Seed phrases as the only recovery option - Security limited to "don't lose your key" #### **Smart EOAs \(EIP-7702\)** **Choose when:** You have an existing app with users and want to level-up existing EOAs or need a smooth transition path toward full account abstraction. **Advantages** - No separate contract deployment needed - Plays nice with current wallet infrastructure - No multi-step approval flows - Gas sponsorship - Lighter on gas than full smart wallets **Disadvantages** - The EOA key is still a single point of failure - Ecosystem support still early in 2025 #### **Smart wallets \(ERC-4337\)** **Choose when:** You’re launching an app and want future-proof secure wallets that can onboard both web2 and web3 users and drive transaction growth with gasless transactions. **Advantages** - Multiple keys and rotation for true security - Gas abstraction that makes web3 feel like web2 - Social login without seed phrase headaches - Programmable security and features **Disadvantages** - Slight increase in deployment costs - Slightly more gas for transactions - Integration has more moving parts ### The tl;dr For most teams building in 2025, here’s a quick Q&A to help you choose the right wallet for your app. ### **Which EVM wallet is best for mainstream adoption?** Start with smart wallets. The UX and security benefits far outweigh the minimal additional complexity. ### **Which EVM wallet should I use if I already have users with EOAs?** Smart EOAs \(EIP-7702\) offer a quick win to improve UX without rebuilding everything and are a step towards full account abstraction. ### **Which EVM wallet is best if my app has security requirements?** Smart wallets give you programmatic security, multi-sig, and recovery options that EOAs simply can't match. ### **Which EVM wallet minimizes gas costs?** Traditional EOAs might still make sense if absolute gas minimization trumps all other concerns. Pectra marks a huge moment for EVM wallets, bringing smart wallet capabilities to traditional accounts and laying groundwork for full account abstraction. We’re here to help you. **Dive into smart wallets and smart EOAs.** [Learn more](https://www.alchemy.com/smart-wallets?utm_source=evm_wallet&utm_medium=blog&utm_campaign=imc_2504) and [start building](https://dashboard.alchemy.com/accounts?utm_source=evm_wallet&utm_medium=blog&utm_campaign=imc_2504)! **Integration questions or need a consult on your wallet strategy?** [Set up a chat with our team](https://www.alchemy.com/contact-sales?utm_source=evm_wallet&utm_medium=blog&utm_campaign=imc_2504). The wallet you choose fundamentally shapes how users experience your application. With Pectra's arrival, you have more options than ever to create seamless, secure interactions that feel as natural as traditional web experiences. ## Frequently asked questions ### What is an EVM wallet? An EVM wallet is a bridge to the Ethereum Virtual Machine that handles key management, address generation, transaction signing, smart contract interactions, and token standards support (ERC-20, ERC-721, etc.) using Ethereum's specific cryptography and structure. ### What's the difference between EVM and non-EVM wallets? EVM wallets use 0x-prefixed hex addresses, handle gas calculations, process smart contract data, and support Ethereum's token ecosystem, while non-EVM wallets (like Bitcoin) use different address formats, simpler transaction models, and lack programmability. ### What are smart wallets and how do they differ from traditional EOA wallets? Smart wallets (ERC-4337) enable email/social logins, sponsored transactions, single-click approvals, customizable recovery, and multi-key access, while traditional EOAs require managing private keys, seed phrases, holding ETH for gas, and multi-step transaction flows. ### What is EIP-7702 and how does it work? EIP-7702, introduced with Ethereum's Pectra upgrade in May 2025, allows traditional EOAs to gain smart wallet capabilities while maintaining compatibility with existing systems, serving as a bridge toward fully programmable accounts. ### Which wallet type should I choose for my application? Choose smart wallets for mainstream adoption and future-proofing, smart EOAs (EIP-7702) for upgrading existing EOA users, or traditional EOAs if you need maximum compatibility with crypto-native users and minimal gas costs for simple transactions. ### How many smart wallets are currently deployed? Over 26 million smart wallets are deployed today, with significant adoption success stories like Azuki's anime.com minting over 13 million NFTs for users with zero blockchain knowledge. ### What are the main advantages of smart wallets for user onboarding? Smart wallets eliminate seed phrases through social login, remove the need for users to hold ETH through gas sponsorship, enable one-click complex actions, and provide flexible recovery options beyond traditional private key management. ### Do smart wallets work across different EVM-compatible blockchains? Yes, EVM wallet integrations work across Ethereum, Layer 2s like Arbitrum and Optimism, and alternative Layer 1s like Avalanche and BNB Chain with minimal adjustments. --- # Best Infrastructure for Agentic Payments: A 2026 Comparison URL: https://www.alchemy.com/overviews/best-infrastructure-for-agentic-payments.md AI agents are starting to spend real money. They pay for API calls, settle invoices, and move stablecoins without a human clicking approve, and the moment you give one that ability you choose where its keys live and how it pays. Endpoints can be swapped in minutes; moving an agent's wallet and spend policies to a new provider cannot. Agentic payment infrastructure is three layers: asset custody, a payment rail, and onchain data. Alchemy, Coinbase's Developer Platform, Circle, Crossmint, Privy, and Turnkey all promise some version of that stack. They overlap enough to look interchangeable. They are not. Pick a provider that covers custody but not data, or the rail but not gas, and you either hand the agent more signing power than it needs or spend weeks wiring a second vendor into the gap. This is a comparison of the infrastructure providers, not the payment protocols they speak. Protocols like x402 and MPP are open standards that define how an agent pays over HTTP; providers decide how you hold keys, sponsor gas, and read the chain. If you want the protocol layer first, start with [what agent payments are](https://www.alchemy.com/overviews/what-are-agent-payments) and [how x402 works](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web), then come back here to choose what you build on. ## What does an agent actually need to make a payment? Before comparing providers, it helps to separate the parts. These layers exist for humans too; the difference is that your wallet and the checkout UI absorb them, sometimes down to covering gas under the hood. An agent has no interface doing that work for it, so the provider you pick decides which parts you outsource and which you wire by hand. - **Custody.** The agent needs a wallet that actually holds the assets it spends, stablecoins for payments plus whatever else you allow it to touch, scoped so a hijacked prompt can't drain it. In practice that means a smart account (a programmable wallet contract, not a raw private-key account) or a server-held key behind a policy engine, with spending caps, allowlists, and time-bound sessions. The rule underneath every option is the same. The agent never sees a raw private key. If your design keeps one in memory, you have built a vulnerability, not an agent. - **A payment rail.** A way to actually move value, and there are two distinct motions. Paying an offchain service (an API, a data feed, compute) increasingly happens over [x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web), which revives the dormant HTTP 402 status code so a server can quote a price and the agent can pay it inline, no account or API key required. Paying onchain, transferring stablecoins or settling with a counterparty, is an ordinary blockchain transaction the agent signs. Which protocol handles the offchain motion is its own decision, covered in [x402 vs MPP](https://www.alchemy.com/overviews/x402-vs-mpp-comparing-agent-payment-protocols). - **Gas.** Onchain payments cost gas. A single-chain agent can simply hold that chain's native token, and for many builds that's the lowest-friction answer. It stops scaling when the agent works across several chains, or when you don't want to fund and monitor a native-token balance on each one. That's where a [paymaster](https://www.alchemy.com/overviews/what-is-a-paymaster) (a contract that pays gas on someone else's behalf) earns its place, sponsoring the fee or letting the agent pay it in the token it already holds. - **Onchain data.** The part most wallet comparisons skip. Wallet platforms ship the reads a wallet needs, meaning balances and activity for the addresses you control. Agents usually need more than their own ledger: prices before a swap, another contract's state, history beyond their own addresses, confirmation that a payment landed. Those general queries are a separate product, and if your provider doesn't ship one, you end up bolting a second data vendor onto the side. So the real question isn't "which wallet." It's how many of those four layers a provider gives you on one platform, and how much you assemble yourself. That's the axis the rest of this comparison sorts on. ## Full-stack platforms: wallet, rail, gas, and data in one place Two providers ship all four layers as one platform. For most teams building an agent that both pays and acts onchain, this tier is the shortest path to production. ### Alchemy We give an agent a wallet through the [Alchemy CLI](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) that runs in a scoped, revocable session, with key custody handled by Privy under the hood. The agent signs within limits you set, and the key is never exposed to the agent or pasted into a prompt. On top of that sit x402 support so the agent can pay for APIs over HTTP 402, and [gas sponsorship](https://www.alchemy.com/gasless-transactions) through the Gas Manager so it doesn't need to hold a gas token. The same platform serves [RPC and Data APIs](https://www.alchemy.com/docs/data) across 100+ networks, so the agent can read balances, prices, and history to decide what to pay for and confirm it landed. That last layer separates the field more than the wallet does. Onchain data is the oldest primitive in the stack, but among the payment platforms in this comparison only we and Coinbase ship general data APIs, and wiring a separate data vendor into an agent's decision loop is real integration work. On the acceptance side, AgentPay lets a business take agent payments across protocols without writing custom auth for each one. Where it falls short: free-tier gas sponsorship runs only on testnets (mainnets require a paid account), and scoped sessions are deliberately time-limited, which is the right default for autonomy but means long-lived agents re-authorize. Pick it when your agent needs to pay *and* read the chain it's acting on, and you'd rather not stitch a data provider onto a wallet SDK. See the full build in [how to build onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents). ### Coinbase Developer Platform (CDP) [Coinbase's Developer Platform](https://www.coinbase.com/developer-platform) (CDP) is the other genuine full-stack option, and credit where it's due: Coinbase created x402 and runs the reference facilitator for it, so the protocol is native here in the deepest sense. Server wallets hold keys inside secure enclaves, AgentKit wraps onchain actions for agent frameworks, a Paymaster sponsors gas, and CDP's own data APIs cover balances and history. Where it falls short, per its public docs: gas sponsorship through its Paymaster works only on Base, so agents on Solana, Hyperliquid, or any other EVM chain still cover their own gas. Smart accounts are limited to a set of EVM chains, and platform coverage overall stops at the EVM ecosystem plus Solana. The center of gravity is Base and the Coinbase ecosystem. Pick it when you're building on Base inside the Coinbase ecosystem and want the canonical x402 implementation from the team that wrote it. ## Payments and wallet platforms: strong on settlement, light on data The next two providers bundle a wallet, a rail, and gas, and like most wallet platforms they cover wallet-scoped reads, meaning the balances and activity of addresses you control. What they don't ship is a general data product for queries beyond the agent's own wallet. If your agent's decisions depend on prices, other contracts' state, or market-wide history, pair them with a data provider. ### Circle Circle issues USDC, the asset most of the other providers' payment flows move, which makes it less a competitor than a shared dependency. Its [programmable wallets](https://www.circle.com/) use multi-party computation (MPC, where no single machine ever holds the whole key), Gas Station and a USDC-denominated Paymaster cover fees, and the Agent Stack adds Nanopayments built directly on x402 for sub-cent API payments. Cross-chain USDC movement through CCTP is genuinely a strength few others match. The limit is the data layer: Circle documents wallet-scoped reads, not a general RPC or onchain-data product. An agent that needs broad chain data still needs a separate provider. Pick it when USDC settlement across many chains is the core of the product and you'll source data elsewhere. ### Crossmint Crossmint has the widest chain list of the wallet-first platforms: 50+ chains spanning EVM, Solana, Stellar, and others, with gas sponsored by default, x402 in production, and a [modular signer model](https://docs.crossmint.com/wallets/signers-and-custody) you can run non-custodial, custodial, or hybrid. It also ships the pieces closest to consumer commerce, agentic checkout and agent-issued virtual cards, which the crypto-native infra players mostly don't. Two things to know from its docs: custody is a modular signer architecture (passkey, device, server, cloud KMS), not MPC or an enclave-based signer, so evaluate the signer type you'd actually use. And data is a balance API only, not general onchain data. Pick Crossmint when chain breadth or a checkout and card layer matters more than a unified data stack. ## Wallet and signing primitives: maximum control, you bring the rest The last two providers are deliberately narrow. They solve custody and signing extremely well and leave the rail and the data to you. That's a feature if the signing security model is the hard part of your problem. ### Privy Privy, now a Stripe company, is a [wallet signer with a strong policy engine](https://www.privy.io/). Keys live in secure enclaves protected with Shamir secret sharing (a scheme that splits a secret into shares so no single party can reconstruct it), and you constrain the agent with spending caps, recipient allowlists, and time windows. It supports x402 at the authorization step, signing the payment header, while a third-party facilitator settles. It is the wallet, not the whole stack. Pick it when you want fine-grained custody control and are comfortable wiring the rail and data yourself, or you're already in the Stripe orbit. ### Turnkey Turnkey runs its [policy engine](https://www.turnkey.com/) inside the same secure enclave that holds the keys, so every signing request is evaluated against your rules before a signature is ever produced. It's the most control over the signing boundary of any option here and the least bundled, with no native x402 (you integrate it at the agent layer) and no data product. Pick it when the signing security model is the product and you're assembling the rest of the stack on purpose. Bonus: [Agent Wallets](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) in the Alchemy CLI is another option: create a wallet from the dashboard, grant the CLI scoped, time-bound access, and let the agent transact from the command line. ## Comparison table ## Which one should you pick? The frameworks and SDKs around these are interchangeable in a way the infrastructure underneath is not. You can swap one agent framework for another in an afternoon. Swapping how your agent signs, pays, and reads the chain is a re-architecture. Choose that layer first. ## Build agentic payments on Alchemy If your agent needs to pay and act onchain, you can wire all three layers on [Alchemy's infrastructure for AI agents](https://www.alchemy.com/ai-agents). Give it a scoped wallet through the Alchemy CLI, let it pay for APIs over x402 with no API key and no dashboard signup, cover its gas with [gas sponsorship](https://www.alchemy.com/gasless-transactions), and read balances, prices, and history through our [Data APIs](https://www.alchemy.com/docs/data) across 100+ networks. On the other side of the transaction, AgentPay lets your business accept agent payments across protocols without building custom auth for each one. Start on the free tier: no contract, no waitlist, no minimum commitment. The fastest way in is the [build guide for onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents), which wires custody, payments, and data end to end. Agentic payment infrastructure is custody, a payment rail, and onchain data. Pick the layer that gives you all three before you pick a framework on top of it. ## Frequently asked questions ### What is agentic payments infrastructure? Agentic payments infrastructure is the stack that lets an AI agent pay on its own: custody (a scoped wallet the agent signs with), a payment rail (x402 for offchain APIs, onchain transactions for settlement), gas sponsorship so it needs no native token, and onchain data to decide what to pay for and confirm it landed. ### What is the best infrastructure for agentic payments? It depends on how much of the stack you want in one place. Alchemy is the strongest full-stack option, pairing agent wallets, x402, gas sponsorship, and onchain data across 100+ networks. Coinbase CDP suits Base-first builds, Circle fits USDC settlement, and Privy or Turnkey suit teams that want custody control and assemble the rest. ### Do AI agents need a crypto wallet to make payments? Yes. An agent pays by signing transactions, so it needs a wallet, but never a raw private key. The safe pattern is a smart account or server-held key behind a policy engine, scoped with spending caps, allowlists, and time-bound sessions so a hijacked prompt cannot drain funds. ### What is x402 and how do agents use it? x402 is a payment standard that revives the HTTP 402 status code so an agent can pay for an API call inline, with no account or API key. The server quotes a price, the agent signs a stablecoin payment, and the request completes. Alchemy, Coinbase CDP, Circle, and Crossmint support it. ### How do you stop an AI agent from overspending? Scope the wallet, don't trust the prompt. Set per-transaction and total spending caps, restrict recipients and contracts with allowlists, and use time-bound sessions that expire and can be revoked. Keep the private key out of the agent's reach entirely, so a compromised prompt has hard limits it cannot exceed. ### Which providers support x402 for agent payments? Alchemy, Coinbase CDP, Circle, and Crossmint support x402 natively for paying offchain APIs. Privy supports it at the authorization step, signing the payment while a third-party facilitator settles. Turnkey does not support x402 natively; you integrate it at the agent layer on top of Turnkey's signing. --- # Best Newsletters for Web3 Developers URL: https://www.alchemy.com/overviews/best-newsletters-for-web3-developers.md Newsletters are a perfect way for web3 developers to stay informed of changes happening across the blockchain ecosystem. Here are a few specific newsletters that enable web3 devs to follow the trends, get the latest updates on their favorite blockchains, and get access to the best tools and tutorials web3 has to offer. Newsletters consolidate and curate information from Web3 experts and is directly mailed to your inbox or instantly notified you in Telegram so you can learn the best tips and tricks from the brightest web3 thought leaders. By subscribing to expert newsletters, you can stay abreast of new topics and quickly improve your knowledge.     ## What are the best Web3 newsletters for developers? **The best Web3 newsletters are Week in Ethereum, The Daily Bear, Starknet Roundup, Alchemy's Supercharged Newsletter, Odyssey DAO, Nader's Thoughts, [Developer DAO](https://www.alchemy.com/dapps/developer-dao), and more!** Some of the newsletters for learning Web3 listed here are from [crypto Twitter thought leaders](https://www.alchemy.com/overviews/best-web3-developers-on-twitter), others are from [web3 YouTubers](https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers), and [developer-focused DAOs](https://www.alchemy.com/overviews/best-daos-for-web3-developers) created specifically to educate the wider [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) community. ### 1. Week in Ethereum [Week in Ethereum News](https://t.me/s/thedailyape) is the best newsletters for web3 developers building on Ethereum because it covers everything you need to know including updates regarding The Merge, new node client upgrades, tools, testnet updates, Ethereum Improvement Proposals \(EIPs\), and so much more. Founded by Evan Van Ness, this Ethereum newsletter is a must-follow source for up-to-date information about Ethereum. While the coverage is on advanced topics, web3 developers just beginning to build on Ethereum are encouraged to subscribe for the newsletter's large supply of reading material and tutorials. - **Audience:** Ethereum developers moderate to advanced - Subject: Everything Ethereum**‍** - Released: Weekly ### 2. The daily bear The Daily Bear is a curated Telegram newsletter that lists interesting Twitter threads, tutorials, case studies, deep dives, and information across the entire web3 ecosystem. Once called The Daily Ape, The Daily Bear is run by Darren Lau. Some days, the newsletter will only link to an important Tweet, and other days will bring a huge list of resources from current news to project highlights, articles to read, and important videos to watch. [Sign up for The Daily Bear](https://www.odysseydao.com/) and scroll through their archives, which is a great repository of the best content in Web3.  - **Audience:** Web3 beginner to advanced - Subject: L1s, L2s, [DAOs](https://www.alchemy.com/dapps/top/daos), and more**‍** - Released: Daily ### 3. Alchemy Alchemy has two newsletters: the [Supercharged Newsletter and the NFT API Newsletter](https://www.alchemy.com/newsletter?a=8b1195736d) which offers web3 devs a great mixture of high-level tutorials, industry news, and Alchemy-specific information about the platform, enhanced APIs, product upgrades, and new product launches.  The newsletter also includes upcoming events in the Web3 community and a growing number of newly released guides to help developers start building in web3. The featured tutorials cover the basics that developers need to know about building in Web3, and also provides several tutorials that go deep like how to build an entire [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) from scratch that will rapidly level up your web3 development skills. - **Audience:** Web3 beginner to advanced - Subject: NFTs, Tutorials, Product Updates**‍** - Released: Weekly, Bi-weekly ### 4. Odyssey DAO Winner of Product Hunt’s 2021 Golden Kitty Awards, [Odyssey DAO](https://vitto.cc/newsletter-for-developers/) is a decentralized community committed to spreading effective Web3 education. Their 12-day email newsletter teaches the fundamentals of Web3 development to developers interested in getting into Web3.   After you’ve gone through the newsletter, go back to the site and check out the different development tracks the DAO offers. Learn the intricacies of Defi, NFTs, and DAOs, or go through various articles on these subjects as your interest and goals dictate.   - **Audience:** Web3 beginners - Subject: Intro to Web3**‍** - Released: Every day for 12 days ### 5. Vitto rivabella [Vitto Rivabella](https://vitto.cc/newsletter-for-developers/), a Developer Advocate at Alchemy, offers weekly tutorials in his newsletter to get startups and web3 developers up to speed on all aspects of blockchain development. With over 5,000 developers subscribed, this is a must-follow developer newsletter. Some of the recent tutorials include guides on developing cryptocurrencies, different roadmaps for developers wanting to break into the industry, and how to create and deploy ERC-20 tokens. No matter where you’re at in your blockchain development journey, there is something in this newsletter for everyone looking to build web3 applications. - **Audience:** Web3 beginners to advanced - Subject: Full-stack development**‍** - Released: Weekly ### 6. Developer DAO [Developer DAO](https://developerdao.substack.com/) is decentralized community of Web3 developers that publishes a newsletter aimed specifically at those wanting to participate in Web3 development projects. Its tagline “Build Web3 with friends,” is evident in all that they do to inspire and inform the wider web3 developer community. The tutorials and projects they link to are contributed by the community, many of them posted on Twitter, and they boast over 5,000 members. With so much talent and activity, there is no shortage of knowledge and example projects to draw inspiration from every week.  - **Audience:** Moderate to advanced builders - Subject: Building Web3 Projects**‍** - Released: Weekly ### 7. Web3 university [Web3 University](https://www.web3.university/#hero-section) provides a newsletter that offers a five-day intro to Web3 development. The website houses multiple online tutorials on how to build everything from cryptocurrencies to [Solidity](https://www.alchemy.com/dapps/solidity) contracts programmed in Python.  Both industry leaders and influential developers in Web3 teach these courses, with content ranging from beginners to advanced. Also onsite are a large number of articles written by technical writers that specialize in Web3 technologies. Web3 University is helping build out a knowledge-base of content, making it a university-like amount of information focused on blockchain development. - **Audience:** Web3 beginners - Subject: Intro to Web3**‍** - Released: Once a day for five days ### 8. StarkNet roundup [The Starknet Roundup](https://swagtimus.substack.com/) is focused entirely on an Ethereum layer 2 scaling solution called [Starknet](https://www.alchemy.com/starknet?a=8b1195736d). This newsletter, curates articles, resources, and happenings that a be of interest to the Starknet communty. Even if you’re not using Starknet as an L2 solution for your Ethereum projects, there is a lot of information relevant to [Zero Knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) and Layer 2 scaling solutions. As L2’s become more important in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), learning from the Starknet community about advancements in their protocol could benefit web3 developers by helping them craft better solutions to their own problems. Plus, all the projects Starknet highlights are great for inspiration.  - **Audience:** Starknet developers moderate to advanced - Subject: Starknet - Released: Weekly ### 9. Nader dabit Popular developer, Web3 instructor, and YouTuber, Nader Dabit also has a newsletter on Substack that he calls [Nader’s thoughts](https://nader.substack.com/). in June 2022, Nader posted his first post on Web3 development, which was also cross-posted to his Twitter account.  With this newsletter, Nader will discuss high-level theories of Web3 development and link to resources that extend those theories into practical, hands-on projects. But it might be too soon to tell how this resource will differ \(or if it will at all\) from other channels that Nader uses.  - **Audience:** Moderate to advance blockchain developers - Subject: Nader’s thoughts on Web3 - Released: Unreleased ## Conclusion   Newsletters are an important way for developers to learn and stay informed of things going on in Web3 across topics like DeFi, NFTs, Ethereum, Layer 2s, and Solana. Sign up for these newsletters, learn Web3, and [start building on Alchemy today](https://www.alchemy.com/?a=8b1195736d). --- # 30 Best Web3 Developer Twitter Accounts to Follow (2023) URL: https://www.alchemy.com/overviews/best-web3-developers-on-twitter.md Twitter is the best place for anyone new to Web3 to get started and dive deeper into the blockchain development ecosystem. Some of the best founders, developers, educators, and investors openly share their work and ideas making it easier than ever to learn and grow in Web3. While there are a ton of great accounts to follow on Twitter for any Web3 developer, here are some of the best Web3 Twitter accounts whose tweets you don’t want to miss. ## Best Web3 founders & developers to follow on Twitter Founders and developers are some of the best people for Web3 developers to follow on Twitter because of their experience building and scaling blockchain applications. ### 1. Vitalik buterin Handle: [@VitalikButerin](https://twitter.com/VitalikButerin) **Followers:** 4.9M\+  Vitalik is the co-founder of [Ethereum](https://www.alchemy.com/ethereum?a=ddab180718) and and influential thought leader in the [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) space. His tweets are filled with gems where he shares his vision for Ethereum and effortlessly articulates complex ideas and the underlying technology. ### 2. Gavin wood Handle: [@gavofyork](https://twitter.com/gavofyork?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) **Followers:** 393K\+ Gavin is a co-founder of Ethereum. He’s also active on the Polkadot project, an open-source project focused on blockchain interoperability. Gavin is also the founder and CTO of Parity, a blockchain infrastructure company with Ethereum-based products. ### **3. Anatoly yakovenko** **Handle**: [@aeyakovenko](https://twitter.com/aeyakovenko) **Followers:** 236K\+ Anatoly is the co-founder of [Solana](https://www.alchemy.com/solana?a=ddab180718), one of the most popular monolithic, Layer 1 blockchains, which promises cheap transactions, high throughput, and extremely fast settlement times. Anatoly spent a majority of his career at Qualcomm and tweets about ongoing development updates about the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). ### **4. Péter szilágyi** Handle: [@peter_szilagyi](https://twitter.com/peter_szilagyi) Followers: 64K\+ Péter is the team lead at Ethereum, and is a go-to source of insights about the latest updates and developments in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). For independent stakers, validators, and network participants running Ethereum infrastructure, Péter is a must-follow Twitter account. ### **5. Tim beiko** **Handle**: [@TimBeiko](https://twitter.com/TimBeiko) **Followers**: 114K\+ Tim Beiko is a core Ethereum developer who leads many of the major Ethereum upgrades including Ethereum’s upcoming merge to a Proof-of-Stake consensus mechanism. Ethereum builders should follow Tim for the latest information regarding The Merge. ### **6. Evan van ness** **Handle:** [@evan_van_ness](https://twitter.com/evan_van_ness) **Followers**: 101K\+ Evan is the founder of the “Week in Ethereum News” newsletter and website which is a curated list of all the most important news, updates, proposals, and developer content that is relevant to builders and users in the Ethereum ecosystem.   ### 7. Georgios konstantopoulos Handle: [@gakonst](https://twitter.com/gakonst) **Followers**: 92K\+ Georgios is the CTO and a Research Partner focused on [Paradigm](https://www.alchemy.com/dapps/paradigm)’s portfolio companies and research into open-source protocols. Georgios tweets about the intersection of cryptocurrency security, scalability, and interoperability. ### 8. Brendan eich Handle: [@BrendanEich](https://twitter.com/BrendanEich) **Followers**: 177K\+  Brendan is best known as the creator of JavaScript. He co-founded Mozilla and served as CTO until 2016. Then he launched Brave followed by the Basic Attention Token, a digital advertising token on the Ethereum blockchain. ## Best Web3 educators & advocates to follow on Twitter The best educators and developer advocates create and share amazing content and actively engage with the Web3 community on Twitter making them the perfect people to follow. ### 9. Patrick collins Handle: [@PatrickAlphaC](https://twitter.com/patrickalphac) Followers: 72K\+ Patrick is helping build Chainlink Labs as a Blockchain Engineer and  Developer Advocate. He consistently creates amazing free content including full courses introducing developers to all the core concepts related to blockchain, smart contracts, Solidity, ERC20s, full-stack Web3 [apps](https://www.alchemy.com/dapps/top/defi-dapps), DeFi, and more. Patrick’s Twitter account is a must-follow regardless of your level of experience in coding or Web3 as he communicates ideas in ways that connect with everyone. ### **10. Vitto rivabella** Handle: [@VittoStack](https://twitter.com/VittoStack) **Followers:** 111K\+ Vitto is a developer advocate at Alchemy, a blockchain developer platform focused on making blockchain development easy. Vitto’s Twitter is filled with the best Web3 to get started in blockchain and Web3 development. ### **11. Austin griffith** Handle: [@austingriffith](https://twitter.com/austingriffith) **Followers**: 52K\+  Austin works at the Ethereum Foundation, focusing on developer onboarding, mentoring, and tooling. His projects have explored the possibilities of Ethereum and he continues to build, teach, and bring new developers into Web3. His tweets are essential for anyone that wants to quickly learn the ropes of Ethereum development.  ### **12. Albert hu** Handle: [@thatguyintech](https://twitter.com/thatguyintech) **Followers:** 23K\+ Albert is a developer advocate at Alchemy. He loves exploring and teaching Web3 and blockchain tech. Alchemy is one of the best developers platforms, and there’s no better way to get started than learning from Albert and his team’s documentation. Follow him to learn about how to help build and scale your apps.  ### 13. Ivan liljeqvist Handle: [@IvanonTech](https://twitter.com/ivanontech) **Followers:** 410K\+ Ivan created his Youtube channel to help break down complex topics in Web3 and make them easy for anyone to understand. His informative but simple explanations are perfect for anyone new to the space, and he has amassed nearly half a million subscribers. ### 14. Preethi kasireddy Handle: [@iam_preethi](https://twitter.com/iam_preethi) **Followers:** 111K\+ Preethi worked at Goldman Sachs, A16Z, and Coinbase before starting DappCamp which teaches participants to architect, deploy, and scale apps on Ethereum. Her account is an excellent follow for anyone looking to learn about building their first dApp.  ### 15. Elan halpern Handle: [@0xElan](https://twitter.com/0xelan) **Followers:** 7K\+ Elan Halpern works on developer experience at [Alchemy](https://www.alchemy.com/?a=ddab180718), the world's leading blockchain developer platform. She is also the co-founder of [We3](https://twitter.com/hello_we3), helping to build a network to bring more women and non-binary professionals in the industry. Her tweets cut through the overwhelming clutter and jargon to make the space more accessible to anyone that wants to learn to build.  ### 16. Nader dabit Handle: [@dabit3](https://twitter.com/dabit3) **Followers:** 138K\+ Nader has had a diverse career, working as a web developer, mobile developer, and AWS cloud developer before transitioning to Web3. He is now the Director of Developer Relations at Aaveaave & Lensprotocol and previously worked as a Developer Relations Engineer at Edge & Node, the team behind the Graph Protocol.  Nader has written several free developer guides for those interested in Web3, including *The Complete Guide to Full-Stack Web3 Development*, *The Complete Guide to Full-Stack Ethereum Development*, and *The Complete Guide to Full-Stack Solana Development*. ### 17. Oliver jumpertz Handle: [@oliverjumpertz](https://twitter.com/oliverjumpertz) **Followers:** 119K\+ Olivier is a Web 3 developer that creates engaging content, exploring everything from blockchains to projects, from crypto to NFTs. His tweets cover everything from understanding the blockchain to practical advice on landing your first job in Web3. ### 18. Suhail kakar **Handle:** [@SuhailKakar](https://twitter.com/SuhailKakar) Followers: 47K\+ Suhail is a great person to follow for any developer interested in transitioning into Web3. He tweets daily about web development, useful tips, and how to get started in the space. His threads can help you find new projects, development resources, and useful tips. ## Best Web3 resources on Twitter While getting into Web3 might seem intimidating, there are supportive communities on Twitter, connecting like-minded people with resources to get started learning and building. ### **19. Developer DAO** Handle: [@developer_dao](https://twitter.com/developer_dao) Followers: 87K\+ [Developer DAO](https://www.alchemy.com/dapps/developer-dao) is a community of builders who believe in collective ownership of the internet. The community allows you to access many different projects spanning from creating educational content to developer conversations and real-life meetups. ### 20. Web3 university Handle: [@Web3university](https://twitter.com/web3university) Followers: 26K\+ Web3 University has curated articles to learn about blockchain development. Web3 University has over 100k\+ students since it launched 3 months ago and this account is a great way to learn everything you need to know about Web3 from a variety of experts. ### **21. Buildspace** Handle: [@\_buildspace](https://twitter.com/_buildspace) **Followers:** 80K\+  Buildspace is a platform for developers to learn about Web3 through projects. This community of Web3 developers comes together on Twitter to learn and build. ### 22. Alchemy platform Handle: [@Alchemy](https://x.com/Alchemy) Followers: 91K\+ Alchemy is a developer platform that empowers companies to build scalable and reliable decentralized applications without the hassle of managing blockchain infrastructure in-house.  ### 23. Smart contract programmer Handle: [@ProgrammerSmart](https://twitter.com/ProgrammerSmart) Followers: 22K\+ This Twitter account and their Youtube channel provide extensive free resources about smart contracts on open decentralized blockchains. It’s an ideal starting place for anyone from those just trying to figure out what a smart contract is, to those looking to keep up to date on innovations in smart contract programming, security, and applications. ### 24. LearnWeb3 Handle: [@LearnWeb3DAO](https://twitter.com/learnweb3dao) Followers: 105K\+ LearnWeb3 offers different tracks for developers learning about Web3. Their Twitter is a great place to find resources, connect, and learn alongside new friends. ## Best Web3 investors to follow on Twitter Following the best Web3 investors on Twitter is a great way to learn more about the startup landscape, industry trends, and where venture capital dollars are heading. ### **25. Paul veradittakit** Handle: [@veradittakit](https://twitter.com/veradittakit) **Followers:** 17K\+ Paul is a partner at [Pantera Capital](https://www.alchemy.com/dapps/pantera-capital), the first U.S. institutional asset manager focused exclusively on blockchain technology. His passion for the application of blockchain to achieve transparency, efficiency, and cost savings informs his advisory roles for the likes of Alchemy, Blockfolio, and Staked, while his Twitter provides valuable insights on what’s to come.  ### **26. Balaji srinivasan** Handle: [@balajis](https://twitter.com/balajis) Followers: 934K\+ Balaji is the former CTO of Coinbase and General Partner at Andreessen Horowitz. He is an early investor in a long list of notable companies and protocols in the space, including Alchemy, Ava Labs, Bitcoin, Cameo, Chainlink, Solana, XMTP, and many more. Balaji is quick to share exciting ideas about what the future might look like, making him a great account to follow for anyone thinking of what they might develop on Web3. ### **27. Chris dixon** Handle: [@cdixon](https://twitter.com/cdixon) **Followers:** 880K\+ Chris Dixon has been a General Partner at Andreessen Horowitz since 2012 and founded and leads a16z Crypto, which invests in Web3 across multiple funds. Follow Chris to read about the companies he’s investing in and how the space is evolving. ### **28. Fred ersham** **Handle:** [@FEhrsam](https://twitter.com/FEhrsam) **Followers:** 213K\+ Fred co-founded Coinbase in 2012 alongside Brian Armstrong to provide crypto enthusiasts with an effective trading platform. He was President of Coinbase until 2017, helping grow the company into the largest cryptocurrency market. Then he co-founded Paradigm, a Web3 investment firm that closed the largest ever crypto VC fund in November of 2021. Follow Fred for insights on everything from surviving crypto cycles to the future of NFTs.  ### **29. Katherine wu** Handle: [@katherineykwu](https://twitter.com/katherineykwu) **Followers:** 69K\+ Katherine is a venture partner at Archetype, leading early-stage investments in Web3. She advocates for a decentralized future driven by greater inclusivity by way of education, using her Twitter as one means of doing so. As the first Research Fellow at the Crypto Council for Innovation, her tweets also provide an informed perspective on US government regulation of crypto.   ### **30. Ali yahya** Handle: [@alive_eth](https://twitter.com/alive_eth) **Followers:** 42K\+ Ali has been closely following crypto since 2010 when he discovered the Bitcoin whitepaper while working as a researcher at Stanford’s Computer Security Lab. He later worked as a software engineer at GoogleX and Google Brain before joining Andreessen Horowitz as a General Partner. In this role, he worked with numerous portfolio companies, including [Dapper Labs](https://www.alchemy.com/dapps/dapper-labs), Flow, [Compound](https://www.alchemy.com/dapps/compound), Avalanche, Near, Rally, and Dfinity. Ali is now a General Partner at a16zcrypto. ## Additional Web3 people to follow on Twitter Besides the aforementioned list, here are some additional people for new web3 developers to follow on Twitter: - @edatweets\_ - web3 developer on the community & DevRel team for Helium - @camiinthisthang - Dev Rel at Edge & Node and [The Graph](https://www.alchemy.com/dapps/the-graph) - @snoopies_eth - web3 developer educator who previously worked at Coinbase, Metamask, and consensys - @GargEtisha - YouTuber and DevRel at Arcana Network - @solangegueiros - blockchain developer focused on Ethereum and smart contracts - @haardikkk - web3 education helping developers break into Web3 at LearnWeb3 DAO - @CatMcGeeCode - Cat McGee is the Dev Rel lead at Hype and works with Algorand, NEAR, and Flow - @saminacodes - Samina is on the Developer Relations team at Third Web - @Haezurath - Kacie Ahmed is the co-founder of LearnWeb3 DAO - @0xNiveda - Niveda Krishnamoorthy is a Software Engineer at Alchemy working on the NFT API ## Conclusion While it’s easy to be overwhelmed by all the knowledge being shared by the best Web3 Twitter accounts, the best way to learn is to jump right in. [Sign up for an Alchemy account](https://www.alchemy.com/?a=ddab180718) and get started building right away! If you’re interested in learning more about how Alchemy can help you in your journey to build in Web3, check out our [Getting Started with Alchemy documentation](https://www.alchemy.com/docs/alchemy-quickstart-guide) and reach out to us 24/7 on Discord. --- # Best GitHub Repos for Web3 Developers (2023) URL: https://www.alchemy.com/overviews/best-web3-github-repos.md When new web3 developers are [learning blockchain development](https://www.alchemy.com/overviews/become-a-blockchain-developer), there are few common steps including finding the best web3 developer influencers on Twitter, subscribing to the best web3 developer YouTube channels, [exploring the best web3 tutorials](http://www.alchemy.com/overviews/best-web3-tutorials), joining web3 [DAOs](https://www.alchemy.com/dapps/top/daos), browsing [the best online web3 development courses](http://www.alchemy.com/overviews/best-blockchain-courses), and signing up for web3 newsletters among other things. Once web3 developers have a grasp of how to start building, it's helpful to discover the web3 tooling and Github repositories \(repos\) that builders are using to create amazing [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps). In this article we curated some GitHub repos that will help you level up your Web3 dev skills. ## What is GitHub? **Founded in 2008, GitHub is a California-based source-code platform where developers can host their code for the public to see and contribute.** At present, GitHub has more than 83 million developers and 4 million organizations on it. As of last year, GitHub was the foremost code-hosting platform globally. ### What is git? **Git is a version control system that helps developers manage project repositories from the command line.**  For Git-specific commands, this [Git reference guide ](https://git-scm.com/docs)can help those who want to use the command line. For others, who would rather have a point-and-click solution, you can do most things in GitHub using a mouse.   ## What is a GitHub repository? A GitHub repository \(repo\) is a larger folder where users can store their development files—including code bases and other necessary details—and track any latest developments to the code base. ‍ Anyone can create repos both as an individual or for a team. Depending on your preferences, you can select whether you would like to keep your repo private or open to everyone.  ## 4 reasons why GitHub as a good resource for Web3 developers Over the years, GitHub has proven to be highly resourceful for the entire developer community including Web3 developers. Here is why: ### 1. Access to the source code of Web3 protocols Seeing how other developers build smart contracts for Web3 protocols can empower novice web3 developers make successful replicas, and better understand how smart contracts work. For example, the source code of [Uniswap](https://www.alchemy.com/dapps/uniswap) is publicly available, allowing anybody to see what a successful Automated Market Maker \(AMM\) is built. One of the ways to improve as a Web3 developer is by reading the code of both senior developers and contemporaries. This will expose you to several cutting-edge frameworks, functions, [web3 dev tools](https://www.alchemy.com/overviews/20-blockchain-development-tools), clean code, and this can all serve as a stepping stone to code more sophisticated smart contracts.  ### 2. Ability to contribute to projects GitHub is not only for reading source code. You can also contribute.  By contributing to the code of others, you fortify your understanding and help open-source web3 protocols provide better solutions. Perhaps you notice a bug or something that could be improved in a code file, you can work with other developers to make it better. The more you contribute to projects, the more you build your reputation in the Web3 developers' community, which can help your career in the long run.  #### Here are simple steps to contribute to open-source projects on GitHub: 1. Fork a repository  1. Clone the fork to your PC or computer  1. Implement your contributions  1. Create a branch 1. Create a pull request ### 3. A platform to collaborate There are always instances when developers will need to work on projects together. GitHub Collaboration helps developers create a closed group where they can roll up their sleeves and code together regardless of different timezones.  ### 4. A place to network and close jobs Over time, GitHub has evolved beyond being only a version-control system. It is now a platform for developers to host their contact information, create a live resume, network, follow thought leaders, and display their accomplishments for web3 teams and recruiters to discover. ## Star these GitHub repositories to become an expert Web3 developer If you want to become a blockchain developer and you're building out your [Web3 tech stack](https://github.com/foundry-rs/foundry), star these GitHub repositories as resources to help you achieve your goals:  ### 1. Foundry-rs/foundry Foundry is an essential GitHub repo that offers web3 developers a suite of [Ethereum application development tools written in the Rust programming language](https://github.com/foundry-rs/foundry) that is known for it's speed and performance. ### 2. Dabit3/full-stack-Ethereum This repo is a great resource for any dApp developer who wants to [be proficient in Solidity, Ether.js and Hardhat](https://github.com/dabit3/full-stack-ethereum). Nader Dabit, now a member of the Developer Relations team at Celestia Labs, goes even further and provides resources on how to use indexers such as [The Graph](https://www.alchemy.com/dapps/the-graph).  If you aren't already following Nader, he's one of the best web3 devs to follow on Crypto Twitter. ### 3. OpenZeppelin/openzeppelin-contracts With close to 19,000 stars and 10,000 forks, [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) is the best [repo for launching NFTs on Ethereum](https://github.com/OpenZeppelin/openzeppelin-contracts). The OpenZeppelin smart contract library standardizes ERC20 and ERC721 \(NFT\) implementations and has a collection of reusable [Solidity](https://www.alchemy.com/dapps/solidity) components new web3 developers can use to build apps. ### **4. Omgwinning/nft-marketplace-tutorial** There is no better place to start your Web3 development journey than the [Alchemy NFT tutorial repository](https://github.com/OMGWINNING/NFT-Marketplace-Tutorial). Using Solidity, Tailwind, and Ether.js, you will get to learn how to build an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) from scratch.  More importantly, this repo highlights how to call the [Alchemy NFT API](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) for faster development.  ### 5. Rainbow-me/rainbowkit Every dApp you create will require wallets for the users to interact with. The [Rainbowkit repository](https://github.com/rainbow-me/rainbowkit) is a library that makes it easy for you to integrate wallets with your decentralized applications.   ### 6. Matter-labs/awesome-zero-knowledge-proofs ZK proofs help Ethereum scale using rollups while ensuring privacy with zero knowledge technology. This [collection of ZK Proof resources](https://github.com/matter-labs/awesome-zero-knowledge-proofs) goes deep into ZK-Snarks, ZK-STARKs, Snorks, and other forms of validity proofs.  You are more likely to understand ZK proofs with this repository because it has a lot of high-quality articles, courses, and projects to check out.  ### 7. Smart contract kit/full-blockchain-Solidity-course-py Solidity is one of the main languages used to write smart contracts on the Ethereum protocol. Patrick Collins, a Developer Advocate at Chainlink offers a [deep dive into Solidity](https://github.com/smartcontractkit/full-blockchain-solidity-course-py); going from the basics to advanced skills, including how to integrate and call the Alchemy API.  This repo also has a video version for faster comprehension on YouTube. Patrick Collins is also one of [the best web3 developers to subscibe to on YouTube](https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers). ### 8. llSourcell/Learn_Blockchain_in_2_months [Learn Blockchain In 2 Months](https://github.com/llSourcell/Learn_Blockchain_in_2_months) is a pragmatic and well-planned roadmap to becoming a Web3 developer. Starting with cryptography, the repo covers L1 protocols and how to build DeFi projects with Solidity.  ### 9. Metaplex foundation/metaplex Metaplex is the go-to [GitHub repo for launching NFTs on Solana](https://github.com/metaplex-foundation/metaplex). With a variety of implementations, NFT creator tools such as Candy Machine and Auction House, Metaplex is a must-use repository for builders and NFT creators planning to launch on Solana. ### 10. Polygon academy The academy has a [list of Polygon repositories](https://github.com/orgs/Polygon-Academy/repositories) where you can learn how to build an NFT marketplace, a Web3 game, and a DAO. It also includes a couple of resources to better understand how to build on Ethereum with Polygon.  ### **11. Developer-dao/create-dao** [Developer DAO](https://www.alchemy.com/dapps/developer-dao), one of the foremost [Decentralized Autonomous Organizations \(DAOs\) for Web3 devs](https://www.alchemy.com/overviews/best-daos-for-web3-developers), created this repo to help developers [learn how to build a DAO](https://github.com/Developer-DAO/create-dao). You’ll learn how to use Chakra UI, Next.js, [Hardhat](https://www.alchemy.com/dapps/hardhat), and Solidity.  ### 12. Developer-dao/web3-UI Developer DAO also created [a repository of frontend UI components](https://github.com/Developer-DAO/web3-ui) that every Web3 developer should be familiar with because a well-designed frontend is important for end-users to have a good experience interacting with Web3 products. ### 13. FrancescoXX/Free-Web3-resources In this repo, Francesco gives links to a lot of [high-quality web3 content](https://github.com/FrancescoXX/free-Web3-resources) starting from both the Ethereum documentation and several other practical roadmaps.  He also provides a link to an exhaustive article on Web3 development by one of our Developer Relations team members at Alchemy, Vitto. [**‍**](https://github.com/dabit3/full-stack-ethereum) ### **14. Cristina solana/solana-developer-resources** Solana is one of the most popular monolithic blockchains at the moment. Therefore, new web3 developers should add its languages and tooling to their web3 tech stack. Cristina curated a [list of helpful resources to understand Solana](https://github.com/CristinaSolana/solana-developer-resources) including its CLI, SDK, frameworks, and languages.  ### 15. Xel/blockchain-stuff This repository of Bitcoin and Ethereum blockchains includes resources spanning infographics, books, and YouTube channels. Study these resources, and you'll be well on your way to becoming a stellar Web3 developer.  ### **16. OffcierCia/DeFi-developer-road-map** In the DeFi Roadmap, Cia Officer addresses several topics like ZK-snarks, security, and a few other [basics in Web3 development](https://github.com/OffcierCia/DeFi-Developer-Road-Map). This repo also teaches smart contract creation with different token standards and essential web3 tools. ### 17. Protofire/blockchain-learning-path Apart from resources such as courses and best practices provided in this repo, Protofire also links to [games to practice web3 development](https://github.com/protofire/blockchain-learning-path). It also gives in-depth insights on how to build on the Ethereum protocol, especially with its libraries.  ### 18. Nambrot /blockchain-in-js Javascript is one of the most used languages in programming and is also relevant in Web3 development. This repository shows [how to use Javascript in Web3](https://github.com/nambrot/blockchain-in-js). It also gives an explain-like-I’m-five \(ELI5\) walk-through of blockchain technology.  ### 19. Nosequeldeebee/blockchain-tutorial A couple of blockchain protocols were implemented in the Go language. If you have always wanted to build your blockchain as a Web3 developer, this repo will show you a step-by-step approach to [building your blockchain in less than 200 lines of code](https://github.com/nosequeldeebee/blockchain-tutorial).  ### 20. Bkrem/awesome-Solidity As the name sounds, the [Awesome Solidity repository](https://github.com/bkrem/awesome-solidity) is a compendium of plugins, libraries, tools, and languages that are involved in Web3 development. Moreover, it includes how to audit smart contracts and enhance their security. ## Wrapping up the best GitHub repos for Web3 developers Web3 development might appear to be complicated on the surface, but with the right resources, anyone can become a battle-tested Web3 developer. There are no better resources to learn Web3 development than GitHub repos, as they always have real projects and helpful files. With the carefully-selected GitHub repos above, we are confident your Web3 development journey will make a quantum leap in understanding and the practical application of Web3 development. Learn more about [how Alchemy can help](https://www.alchemy.com/?a=bbe922a4a0) you develop your applications faster and move you forward toward your Web3 development goals. --- # The 4 Best Hackathons for Web3 Developers URL: https://www.alchemy.com/overviews/best-web3-hackathons.md Every year, there are dozens of hackathons hosted by a variety of companies in the Web3 space. For beginners and veterans in Web3, hackathons are a terrific way to learn blockchain development, turn [hackathon ideas](https://www.alchemy.com/overviews/web3-hackathon-ideas) into a reality, manage blockchain projects in hybrid work environments, use web3 GitHub repositories, and more.  Here are some reasons why you should consider [participating in a Web3 hackathon](https://www.alchemy.com/hackathons), and four of the greatest hackathons in the industry from this year. ## What is a hackathon? A web3 hackathon is an event hosted by blockchain protocols, web3 [apps](https://www.alchemy.com/dapps/top/defi-dapps), companies, or web3 hackathon event producers to give web3 developers resources, an environment, incentives, and direction for creating functional minimum viable products \(MVPs\).  ### **Hackathon tracks** Web3 hackathons typically offer incentives for blockchain projects centered on multiple different tracks such as niche \(e.g. NFTs, DeFi, Metaverse\), region \(e.g. US, Africa, Europe\), or technology \(e.g. a new library, protocol, or dApp\). Project submissions are commonly split up into multiple tracks, each focusing on a different use-case of blockchain. Aside from competing for track-specific rewards, hackathons may also feature _bounties_–rewards for projects that complete specific challenges designed by sponsors.  ### **Hackathon duration** Traditionally, hackathons take place over a week or weekend of hacking with a team of developers and designers. However, hackathons in web3 have also expanded to include month-long schedules to give teams ample time to learn new technologies, test their apps, and launch functional MVPs. ### **Hackathon location** Traditionally, hackathons take place in-person hacking, however, due to restrictions imposed by the COVID-19 pandemic and the rise of remote work, many hackathons also allow devs to participate online while collaborating with teams through Discord, Telegram, and other web3 team communication platforms. ### **Hackathon judging** At the end of the hackathon schedule, all the submitted projects will be judged by a panel of judges, typically web3 influencers, blockchain investors, and dApp founders, to award the best hackathon projects with cash prizes, grants, and exposure to big industry names.  Hackathons often offer plenty of developer support, guiding contestants of all backgrounds to learn new technologies and grow from the hacking experience. ## Web3 hackathon benefits Hackathons are an amazing opportunity for new and existing web3 developers to turn ideas into an actual product, and potentially a venture-backed Web3 startup.  Throughout the process developers get to: - Find a community of like-minded individuals, all highly motivated to create in Web3 - Learn how to build products using innovative technology and primitives - Attend educational events and hear talks from industry leaders - Find inspiration alongside cutting-edge blockchain project ideas - Win financial prizes for your accomplishments - Meet web3 investors, analysts, and fund managers - Network with builders and investors Above all, hackathons give developers an opportunity to put into practice the skills they've learned completing [online web3 developer courses](https://www.alchemy.com/overviews/best-blockchain-courses), scouring countless blockchain newsletters, and [learning through web3 tutorials](https://www.alchemy.com/overviews/best-web3-tutorials) to put their practice into action. With so many protocols using hackathons as a crypto marketing strategy and new organizations receiving funding to manage hackathon events throughout the entire year, getting started as a web3 developer at hackathons has never been easier. ## Best Web3 hackathons The best hackathons are determined by the quality of developers that attend, the quality of judges and investors in attendance, the quality of talks and side events, the prize pool, the resources provided to developers, and the technologies that builders are incentivized to use. Because there are so many hackathons and a limited amount of time to build applications, web3 developers must decide which hackathon is the best event to attend.  In this article we will explore four hackathons:  1. ETHDenver BUIDLathon 1. Solana Summer Camp 1. Polygon BUIDLit 1. ETHOnline **Update 2023**: While these hackathons listed below have passed, they happen each year, so you can start planning to attend them in the future. Check back again soon for an updated version! ### 1. Ethdenver buidlathon ‍[ETHDenver’s BUIDLathon hackathon](https://www.ethdenver.com/home#page-section-61b12d5ebdb0a67b8f14b59b) occurred from February 11th to 20th in 2022 where contestants participated both in-person and virtually, competing for separate rewards pools. Winners took part in over $1 million in bounties and prizes, and $2 million in investments. #### **Hackathon project categories** Here are the focus tracks from the ETHDenver BUIDLathon in 2022: 1. **Coloradojam** - Use Web3 to improve public infrastructure in Colorado 1. **[DAOs](https://www.alchemy.com/dapps/top/daos) & Communities** - Improve the technical capabilities of DAOs 1. **DeFi** - Transform TradFi with decentralized tech 1. **Impact** - Solve problems that promote social good 1. **Mobile** - Any service designed mobile-first. 1. **NFTs** - Anything related to Non-Fungible Tokens 1. **Gaming & Metaverse** - Building for gaming or the Metaverse 1. **Infrastructure & Scalability** - Improve the base usability and scalability of protocols 1. **Space & the New Frontier** - Anything you can imagine that is outside of the other tracks Regardless of what you’re building at ETHDenver, Web3 developers can [create a free account with Alchemy’s blockchain developer platform](https://www.alchemy.com/ethereum?a=d7a245dc01) to deploy apps on Ethereum’s mainnet, testnets, and most popular layer 2s. With the most robust free tier in the web3 infrastructure space, Alchemy can help hackathon teams build, test, debug, and scale incredible new apps. #### **Hackathon prizes** For each track, the top selected projects each win an equal share of a $15,000 prize pool. Additionally, a host of celebrity judges selects their “celebrity favorites,” awarding each project with $1,000. Rounding out the prizes was $246,000 in sponsor bounties. 2022’s BUIDLathon featured celebrity judges including the Ethereum Founder, **Vitalik Buterin**, himself amongst other [Ethereum and web3 influencers](https://www.alchemy.com/overviews/best-web3-developers-on-twitter). #### **In-person winners** Here is a short list and description of some of the most promising in-person winners from ETHDenver’s BUIDLathon in 2022: - ZKmaps - prove your physical location without revealing specific locations - DustSweeper - swap small amounts of ERC-20 tokens \(dust\) for ETH - Deus Ex Securitas - secure smart contracts using machine learning #### **Virtual winners** Here is a short list and overview of some of the most exciting winning projects from ETHDenver’s online BUIDLathon in 2022: - **Moloch Rises** - blockchain game where players fight robots and upgrade their NFTs - **22222.World** - NFT membership that integrates with myColoradoID and local businesses - **DoerDAO** - DAO tooling for growing and managing decentralized communities Although this year’s ETHDenver BUIDLathon has concluded, the event is a shining example of the value new web3 developers can get by participating in hackathons. Participants of the BUIDLathon were supported to create for any desired Ethereum application while connecting with other developers at the largest annual ETH event.  ### 2. Solana summer camp Solana’s newest hackathon, [Solana Summer Camp](https://solana.com/summercamp), opened registration on July 11th, and the hackathon will continue until August 16th. For the lucky winning projects, Solana has brought together over $5 million in prizes and seed funding. Solana Summer Camp is accepting builders working from anywhere in the world. Additional in-person workshops, expert panels, and mentorship opportunities can be found in cities including San Francisco, Salt Lake City, Chicago, London, Berlin, Singapore, Lisbon, Belgrade, and Amsterdam. #### **Hackathon project categories** Here are the focus tracks for the Solana Summer Camp in 2022: 1. **Mobile** - Build mobile-first projects using the [Solana Mobile](https://www.alchemy.com/dapps/solanamobile) Stack 1. **Payments** - Help globalize payments made with crypto 1. **DeFi** - Design decentralized financial applications for users 1. **Web3** - Create the new generation of web applications 1. **Gaming** - Build blockchain-based games, NFTs, and opportunities for players to participate in player-to-player markets 1. **DAOs** - Create new decentralized autonomous organizations #### **Hackathon rewards** Each track has its own host of prize-winners with rewards ranging from $50,000 for 1st place to $10,000 for 5th place projects.  Outside of the tracks, the grand champion will be rewarded $65,000 and a chance to present their project at the **2nd annual** **Solana Breakpoint** event in Lisbon, Portugal that is happening the first week of November in 2022.  Lastly, there is a $30,000 university award, $10,000 community choice award, and $10,000 climate award. Summer Camp is an opportunity to start developing on Solana and learn about their innovative blockchain technology through hands-on experience. Last year’s hackathon, Solana Season, saw over 13,000 participants with over 350\+ project submissions. After a year of growth and with over five times the prize pool, 2022’s Solana Summer Camp is not a hackathon to miss. #### **Solana hackathon RPC provider** Alchemy is a [Solana RPC partner](https://solana.com/summercamp/resources) for the Solana Summer Camp hackathon, giving web3 developers the most performant free [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) infrastructure and Solana developer tooling available. Sign up to [start building on Solana with Alchemy](https://www.alchemy.com/solana?a=d7a245dc01). ### 3. Polygon buidlit Running from June 15th to August 25th of 2022, [Polygon BUIDLit](https://buidlit.devpost.com/) is an ongoing hackathon centered on building with Polygon’s scalable technology. Global and completely remote, you can register for BUIDLit until August 1st and begin hacking immediately for a chance at the $500,000 prize pool. #### **Hackathon project categories** Here are the focus areas for the Polygon BUIDLit in 2022: 1. **DeFi** - Design decentralized financial \(DeFi\) applications for free users 1. **NFTs** - Build Polygon NFT apps 1. **Tooling/Infrastructure** - create developer tooling and infra for Polygon’s ecosystem 1. **Gaming** - develop on-chain Polygon games 1. **Web3 Integration in Web2** - bring your favorite Web2 product to Web3 on Polygon 1. **Public Goods** - develop a Polygon dApp with a social impact 1. **Everything ZK** - build Web3 apps using Polygon’s Zero Knowledge tools #### **Hackathon rewards** Each track’s top 3 projects will be rewarded $12,000, $8,000, and $5,000 in order with one exception: the top 3 projects in the Everything ZK track will see $15,000, $10,000, and $5,000 hackathon prizes while competing for a part of the $5,000 track pool.  The top three projects overall will receive $50,000, $30,000, and $15,000. Finally, the 50 best projects will win a share of a $50,000 prize pool. There is also a 7-day “designathon” for UI/UX designers to win a part of a separate $50,000 prize pool. While the Polygon BUIDLit hackathon’s opening events have already taken place, we are deep in the month of building. BUIDLit offers an opportunity to learn Polygon development with one of Ethereum’s primary scaling solutions. BUIDLers can experience the scalability of Polygon, without losing the network effects of Ethereum’s already massive ecosystem.  #### **Polygon RPC provider** If you’re looking to submit a project to the Polygon BUIDLit hackathon, build on [the best Polygon developer platform](https://www.alchemy.com/layer2/polygon?a=d7a245dc01), and the industry’s best free tier.  Alchemy’s suite of developer tools, including [Mumbai testnet support](https://www.alchemy.com/overviews/mumbai-testnet), a [Mumbai faucet for getting test MATIC](https://mumbaifaucet.com/), infinite scalability, and reliability means your development team can move fast, avoid disruptions, and start scaling as soon as you deploy to mainnet. ### 4. Ethonline Organization ETHGlobal has had a profound effect on the international Ethereum community, hosting hackathons and summits, facilitating project growth, and fundraising for growing companies. Their largest annual hackathon, [ETHOnline](https://online.ethglobal.com/), will take place September 2nd to September 28th of 2022. Detailed information about the hackathon and its prizes are still yet to be released, but on their blog you can find the [details of last year’s event and all of its finalists](https://ethglobal.medium.com/ethonline-2021-8bd473b78b99). ETHOnline 2022 saw over 1,000 participants from all over the world submit 218 projects for a chance at $350,000 in prizes.  Project finalists include, but are not limited to, NFT projects, DeFi protocols, and security solutions. ETHOnline partnered with many services such as Skale, Alchemy, Polygon, and Chainlink to offer numerous workshops and talks. This year’s hackathon is yet another promising chance to become involved in developing the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), with mentorship of industry-leading companies. #### **Ethereum RPC provider** Alchemy is the industry leader in Ethereum node infrastructure support and Ethereum APIs. To build apps that are reliable, scalable, and high performance on Ethereum and Ethereum testnets for the ETHOnline hackathon, [create a free Alchemy account](https://www.alchemy.com/ethereum?a=d7a245dc01).  ## Web3 hackathon organizers The above hackathons are by no means a comprehensive list of every hackathon out there. Here are some of the industry’s biggest hackathon event organizers where you can find local hackathons and hackathons organized by specific apps and alternative protocols. - ETHGlobal - Other than ETHOnline, ETHGlobal hosts hackathons regularly. There are eight more this year in locations all around the world. - Gitcoin Hackathons - Gitcoin provides grants to web3 developers, and there are two hackathons ongoing, and two more upcoming. These Gitcoin hackathons have focuses such as climate support and diversity, equity, and inclusion. - [DoraHacks](https://dorahacks.io/hackathon) - a recently funded by FTX, DoraHack has three ongoing hackathons, and two more are scheduled for later in 2022 - [Encode](https://www.encode.club/hack) - their Chainlink hackathon is running until September, with a Starknet hackathon scheduled to launch in a week. - [Hashnode Hackathons](https://townhall.hashnode.com/series/hackathons): A Hashnode hackathon is running until the end of July, and Hashnode hosts at least one event every couple months. Between these organizations, there is nearly always a hackathon running. If you are looking to get into Web3 development in any capacity, consider hackathons one of the best places to start! Gain development experience while working alongside like-minded creative, engineering individuals. There is no time to build like the present. --- # The 30+ Best Web3 Tutorials for Blockchain Development URL: https://www.alchemy.com/overviews/best-web3-tutorials.md Web3 tutorials are one of the primary ways for developers learning web3 development to understand blockchain programming. This overview is a curated list of some helpful tutorials across the ecosystem's most popular chains like Ethereum, Layer 2s, sidechains, and Solana and product spaces like NFTs and DeFi.  Tutorials can be part of a single course, or in a module in a larger bootcamp, such as the coding exercises throughout Alchemy University's free 7-week [Ethereum Bootcamp](https://www.alchemy.com/university/courses/ethereum) and Javascript crash course. Whether you’re looking for an NFT tutorial, how to create a smart contract on Ethereum, and much more, here’s what you need to know about the best Web3 tutorials.  ## What is a Web3 tutorial? A web3 tutorial is a guided experience, where participants can asynchronously learn how to complete a specific task by following written steps such as tutorials hosted in documentation and/or video walkthroughs hosted on the [web3 YouTube accounts](https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers). Tutorials have played a crucial role in the growth of the Web3 space because it makes education for developing Web3 projects accessible to anyone who wants to learn.  ### **Why are tutorials helpful ways to learn Web3 development?** Tutorials are helpful for developers because it empowers developers to learn by doing instead of only conceptually understanding how blockchain technology and developer tooling works to create smart contracts, NFTs, and decentralized finance applications. Learning from developers with more experience saves lots of time and effort because they can help you avoid common mistakes and oversights. While [online web3 developer courses and bootcamps](https://www.alchemy.com/overviews/best-blockchain-courses) are good ways to learn in a structured, educational manner, one-off tutorials enable learners to practice at their own pace and schedule. ### **What makes a good Web3 tutorial?** A good web3 tutorial is from a reputable source such as a Web3 developer thought leader, written guides are well-organized and easy to read, written guides are supplemented with visuals, diagrams, or videos, code snippets are explained, and developers are given additional resources to deepen their learning, receive help, or troubleshoot errors. ## Best Ethereum tutorials for developers Ethereum is the main blockchain used by Web3 developers to create [apps](https://www.alchemy.com/dapps/top/defi-dapps) because of their introduction of smart contracts. Smart contracts execute an action on the blockchain based on the contents and instructions inside an immutable contract written in code. Ethereum’s smart contracts make up the foundation for NFTs and many Web3 apps.  ### **How to deploy your own ERC-20 token** ERC-20 tokens are the standard tokens that are used on the Ethereum blockchain. [Learning how to deploy your own ERC-20 token](https://www.web3.university/article/how-to-deploy-your-own-erc-20-token) is an important skill for Web3 developers because of how commonly used this token is to create smart contracts.  This tutorial was developed by Web3 University, a website that provides many tutorials for Web3 developers. This tutorial walks you through setting up [Hardhat](https://www.alchemy.com/dapps/hardhat), setting up ERC-20 contracts and scripts, and deploying your ERC-20 token onto the Ethereum blockchain. The tools this tutorial uses are Hardhat and Alchemy.  ERC-20 tokens are a fundamental part of Web3 development on Ethereum and they are often used as a building block in more complex Web3 development projects.  ### **Build a Web3 app with Solidity \+ Ethereum smart contracts** Web3 apps are decentralized apps that use blockchain technology. [Learning how to develop Web3 apps ](https://buildspace.so/p/build-solidity-web3-app)is an important aspect of Web3 development because it allows you to use the blockchain for almost anything.  This tutorial was created by Buildspace, a website that provides great tutorials for developers looking to build their own Web3 projects. In this tutorial, you will be creating a website that allows anyone to send you an emoji. You will learn about creating a smart contract, connecting to your wallet, interacting with the contract, deploying a smart contract, and improving on the UI.  This tutorial also provides resources for help and the ability to communicate with other developers who are following the same tutorial \(you have to enroll in the project first\). Some prerequisites include:  - terminal skills - familiarity with JavaScript - familiarity with react.js.  This tutorial uses [MetaMask](https://www.alchemy.com/dapps/metamask) and Hardhat and the full code used in this tutorial can be found on Github.  ### **Hardhat tutorial for beginners** Hardhat is a blockchain developer tool that helps accelerate Ethereum development. For new Web3 developers looking to build on Ethereum, learning [how to use Hardhat](https://hardhat.org/tutorial) is a fundamental tutorial everyone should complete. This Hardhat tutorial explains how developers can:  - use Hardhat to create a new Hardhat project - configure a Node.js environment - develop smart contracts - use Ethers.js  - debug Solidity - deploy contracts to Hardhat and testnets  - and more. Hardhat is a core piece of [Web3 developer tooling](https://www.alchemy.com/overviews/20-blockchain-development-tools), and this is an essential tutorial for Web3 developers. ### **More great Ethereum tutorials:** Here are some more Ethereum tutorials:   - [How to Create an ERC-20 Token \(4 Steps\)](https://www.alchemy.com/docs/reference/transfers-api-quickstart) - this easy-to-follow tutorial walks you through how to deploy your own ERC-20 token on Ethereum \(testnet\). - [How to Integrate Historical Transaction Data into your dapp](https://www.alchemy.com/docs/reference/transfers-api-quickstart) - add historical block information to your dapp with the Alchemy Transfers API. - [How to Build a Staking dapp](https://www.alchemy.com/docs/alchemy-quickstart-guide) - learn how to develop your own dapp with interest accrual, slashing, and deposit and withdrawal functionality.  ## Best NFT tutorials for developers [Non-fungible tokens \(NFTs\)](https://www.alchemy.com/nfts?a=cc186cdc75) have significantly grown in popularity in recent years. NFTs are currently being used in a wide range of applications from virtual real estate to document verification. Knowing the basics of creating, minting, and selling NFTs is important for Web3 developers.  ### **How to create your first NFT smart contract** An NFT smart contract facilitates the sale of the NFT between the buyer and the seller. Developing an NFT smart contract is a crucial step in the process of creating and selling an NFT.  This tutorial was developed by [OpenSea](https://www.alchemy.com/dapps/opensea), Ethereum’s largest [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces). From the tutorial, the developer leaves with the ability to create an NFT smart contract, mint an NFT from the smart contract, add metadata to the smart contract, and add improvements. The tools you will need for this tutorial are:  - Solidity - Hardhat - Ethers.js - Etherscan - IPFS \(NFT.storage\) - MetaMask - Alchemy - and OpenZeppelin.  This tutorial can help you become more familiar with how NFT smart contracts work and how to refine them. These skills are important so that you can start selling your NFTs.  ### **How to create an NFT marketplace from scratch** An NFT marketplace is where NFTs can be bought and sold. [Learning how to create an NFT marketplace](https://www.alchemy.com/docs/alchemy-quickstart-guide) is a good project for developers because you can provide niche features that are ideal for a specific target audience or specialize in types of art that more popular NFT marketplaces don’t have.  This tutorial teaches you how to:  - Set up MetaMask - Set up your environment variables - Upload your data to IPFS - Write an NFT smart contract - Upload your NFT metadata The tools this tutorial uses are:  - Alchemy - IPFS - Hardhat - ethers.js.  While knowing how to develop an NFT marketplace is not essential for new Web3 developers, it allows developers to practice important skills like creating a smart contract, using Hardhat, and more. Developing an NFT marketplace can also be a really fun project for developers who are specifically interested in NFTs.  This tutorial focuses on developing the smart contract for the NFT marketplace and not the frontend. However, this tutorial does provide [frontend code on Github](https://github.com/OMGWINNING/NFT-Marketplace-Tutorial).  ### **How to build dynamic NFTs on Polygon** A dynamic NFT is an NFT that changes in response to external conditions or data that it reads. Learning [how to build dynamic NFTs on Polygon](https://blog.chain.link/how-to-build-dynamic-nfts-on-polygon/) is a fun project for Web3 developers who are specifically interested in NFTs. This tutorial was developed by [Chainlink](https://www.alchemy.com/dapps/chainlink), a Web3 company that also provides many tutorials for developers. In this tutorial, you build a dynamic NFT that changes based on weather data. It walks you through setting up environment variables and then seeing your dynamic NFT on Etherscan. The tool this tutorial uses is Truffle.  ### Additional NFT tutorials Here are some more NFT tutorials that you should check out:  - [NFT Minter Tutorial: How to Create a Full Stack Dapp](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) - build an NFT minter and a full stack dapp by connecting your smart contract to a React frontend. - [How to Mint an NFT with Ethers.js](https://www.alchemy.com/blog/how-to-mint-an-nft-with-ethers-js) - learn how to mint an NFT on the Ethereum blockchain using Ethers.js via the ethers.js library.  - [How to Mint an NFT Using Web3.js](https://www.alchemy.com/blog/how-to-mint-an-nft-using-web3-js) - learn how to mint an NFT on Ethereum using the Web3.js library. - [How to Build an NFT Website](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) - learn how to deploy your NFT minter to a live website.  - [How to Make NFTs with On-Chain Metadata](https://www.alchemy.com/docs/alchemy-quickstart-guide) - learn how develop fully dynamic NFTs with on-change metadata and how to deploy it on Polygon Mumbai. - [How to Create an NFT Gallery](https://www.alchemy.com/docs/alchemy-quickstart-guide) - learn how to develop an NFT gallery that displays NFTs by wallet address and smart contract.  - [How to Create a Dynamic NFT](https://www.alchemy.com/docs/alchemy-quickstart-guide)- learn how to build dynamic NFTs that change based on market data using Chainlink Oracles. ## Best DeFi tutorials for developers [Decentralized Finance \(DeFi\)](https://www.alchemy.com/defi?a=cc186cdc75) is one of the main applications of blockchain technology. DeFi is a broad topic with many aspects ranging from creating a decentralized exchange to fund management.  ### **Create and deploy a DeFi app** A DeFi app is any kind of app that allows people to engage in decentralized finance. [Learning how to develop a DeFi App](https://ethereum.org/en/developers/tutorials/create-and-deploy-a-defi-app/) is important because it will allow you to apply blockchain technology to new areas of finance.  This tutorial can be found on the Ethereum website that have been developed and shared by the community. This tutorial builds a DeFi app where users can create and exchange ERC-20 tokens for Farm Tokens using tools including Truffle and Ganache. For Web3 developers looking to get into DeFi, it is important to start with making simple DeFi apps because it provides a solid foundation for developing more complex DeFi projects.  ### **The ultimate cryptocurrency exchange programming tutorial** A cryptocurrency exchange is where people can buy and sell cryptocurrencies. [Creating a cryptocurrency exchange](https://youtu.be/d_XOWCoUAHY) is a fun project for DeFi developers looking to practice their skills.  This tutorial was developed by dapp University, a website and Youtube channel that makes Web3 tutorials. The tutorial is split into Part 1 and Part 2 and uses Node.js, Ganache, Truffle, and Metamask as tools. This tutorial covers how to write smart contracts using Solidity, test the contracts, deploy the contracts to the blockchain, then develop the client-side application. The code for this tutorial is available on Github. ### **Chainlink- blockchain fintech: borrowing and lending with Python** Borrowing and lending money in Web3 is a basic function that developers who wish to enter the DeFi space should be familiar with. [Learning how to borrow and lend money](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/) on the blockchain is incredibly useful for more complex DeFi projects.  This tutorial covers how to:  - Coding in Python to deposit collateral during the borrowing process - Taking out a loan - Repaying a loan This tutorial uses [Web3.py](https://www.alchemy.com/dapps/web3-py) and Brownie as tools. ## Best Polygon tutorials for developers [Polygon](https://www.alchemy.com/layer2/polygon?a=cc186cdc75) develops scaling solutions for the Ethereum blockchain that facilitates the development of Web3 apps. Incorporating Polygon into your Web3 projects means that your projects can scale better, since Polygon offers lower costs and faster transaction speeds.  ### How to create an ERC-20 token on Polygon As mentioned above, ERC-20 tokens are the standard tokens used on the Ethereum blockchain. For Web3 developers who want to use Polygon, [learning how to develop an ERC-20 token](https://blog.chain.link/how-to-create-an-erc-20-token-on-polygon/) is a foundational skill.  The tools this tutorial uses are:  - Remix - Brave Wallet - OpenZeppelin - Polygon Mumbai - Polygon Faucet.  This tutorial covers setting up all the tools, creating a smart contract, and deploying the smart contract for the ERC-20 token.  Once you have become confident in developing ERC-20 tokens, you can move onto more complex projects that require the use of smart contracts.  ### **How to create a hello world smart contract on Polygon** Smart contracts are contracts that run on blockchain and facilitate all kinds of interactions on Web3. Becoming familiar with [creating smart contracts](https://docs.polygon.technology/docs/develop/alchemy) significantly unlocks your Web3 development abilities.  The tools this tutorial uses are:  - Metamask - Solidity - Hardhat - Alchemy.  This tutorial covers:  - setting up the tools - writing the smart contract - connecting Metamask and Alchemy to your project - deploying the contract.  ### **How to create and sell NFTs on Polygon** Creating and selling NFTs on Polygon does not require any gas fees. NFTs transactions on Polygon are also faster than using the blockchain directly. for these reasons, it is important for Web3 developers in the NFT space to be familiar with Polygon.  This tutorial is incredibly straightforward and does not require any lines of code! The visuals walk you through creating an NFT, selecting the Polygon blockchain, and more. NFTs make up the foundation of many Web3 apps, especially games. Polygon is appealing to NFT developers because there are no gas fees and the transaction speed is higher.  ## Best Arbitrum tutorials for developers [Arbitrum](https://www.alchemy.com/layer2/arbitrum?a=cc186cdc75) is a kind of Ethereum scaling solution that uses Optimistic rollups to increase transaction speeds and reduce gas fees. Optimistic rollups contain many transactions at once and deploys them all onto the blockchain as one transaction. Becoming familiar with development on Arbitrum is very important for developers who wish to take advantage of Arbitrum’s features for their Web3 projects.  ### **How to build and deploy a smart contract on Arbitrum** Smart contracts operate slightly differently on Arbitrum than the regular Ethereum blockchain. Smart contracts in Arbitrum represent a multitude of transactions that were executed off-chain instead of just one transaction. Knowing [how to build a smart contract on Arbitrum](https://blog.chain.link/how-to-use-chainlink-price-feeds-on-arbitrum/) is very important for Web3 developers who wish to use Arbitrum for their Web3 projects.  This tutorial from Chainlink creates a smart contract that contains real time price data for ETH. This tutorial covers:  - Creating a smart contract on Arbitrum - Deploying a smart contract on Arbitrum - Testing a smart contract on Arbitrum This tutorial uses:  - Arbitrum Rinkeby Testnet - Chainlink faucets - Metamask  This tutorial also comes with a YouTube video that walks through the code.  ### Arbitrum MetaMask tutorial MetaMask is a wallet that can be used for Web3 apps, NFTs, and more. Learning Metamask is an essential skill for Web3 developers. For more information, read Alchemy's [tutorial on connecting Metamask to Arbitrum](https://www.alchemy.com/docs/add-alchemy-rpc-to-any-project). This tutorial goes over many important aspects of developing with Arbitrium like:  - Connecting Arbitrum to Metamask - Bridging Arbitrum to Ethereum - Withdrawing ETH to Arbitrum.  This tutorial uses: - Arbitrum - Metamask - Uniswap ### A beginner’s guide to the Arbitrum DeFi ecosystem Arbitrum’s lower gas fees and higher transaction speeds can make DeFi more efficient. [Learning the basics of DeFi on Arbitrum](https://www.youtube.com/watch?v=JrO-LkLtwIA) is important for DeFi developers who are interested in learning more about how Arbitrum can improve their projects.  This tutorial was developed by Infinite Bid, a Youtube channel that makes tutorials for Web3 developers. This tutorial covers:  - using Arbitrum for many aspects of decentralized finance like decentralized exchanges, lending, and borrowing. - the different options you have for bridging Arbitrum to the Ethereum blockchain. ### **Arbitrum NFTS: creating and deploying ERC-721** Developing NFTs is an important aspect of Web3 development. [Knowing how to develop NFTs on Arbitrum](https://rinkebyfaucet.com/) is important for developers who want to utilize Arbitrum’s features for their NFTs or projects that rely on NFTs.  This tutorial covers:  - Creating an Ethereum wallet using Metamask - Connecting to the Arbitrum testnet - Creating a Hardhat project - Creating an Arbitrum NFT smart contract This tutorial uses:  - Alchemy - Metamask - Hardhat - Ethers.js - Arbitrum Testnet - [Rinkeby ETH](https://rinkebyfaucet.com/) This tutorial is essential for developers in the NFT space looking for ways to improve the process of developing an NFT.  ## Best Optimism tutorials for developers [Optimism](https://www.alchemy.com/layer2/optimism?a=cc186cdc75) is another Ethereum scaling solution that uses Optimistic rollups. It is another option for developers looking to take advantage of layer-2 scaling solutions for their Web3 projects.  ### **Getting started developing for Optimism** Optimism is a Ethereum scaling solution that executes many transactions off-chain, then places all of them onto the main blockchain as a single transaction. Learning how to use Optimism is important for developers who wish to take advantage of the lower costs and faster transaction times that layer-2 solutions offer.  This tutorial was developed by Optimism to help developers get started with using Optimism. This tutorial walks you through: connecting to Optimism using many different kinds of tools like Hardhat, Truffle, Remix, and more.  Once you’ve completed this tutorial, you are ready to start using Optimism for Web3 development! ### **Deploying a basic contract on Optimism** Deploying a smart contract using Optimism is different from deploying a smart contract directly onto the Ethereum blockchain. Ethereum developers should be familiar with [deploying a contract on Optimism](https://community.optimism.io/docs/developers/build/basic-contract/) if they wish to use Optimism for more complex Web3 transactions or projects.  The tool this tutorial uses is Metamask. This tutorial covers:  - [Connecting to Optimism with Metamask](https://www.alchemy.com/docs/add-alchemy-rpc-to-any-project) - Writing the smart contract on Optimism - Deploying the contract - Viewing the contract on Etherscan ### **Bridging L1 and L2 on Optimism** Optimism is a Layer 2 \(L2\) blockchain that uses optimistic rollups to settle transactions on the Ethereum Mainnet \(Layer 1\). Therefore, [knowing how to bridge between L1 and L2 networks](https://community.optimism.io/docs/developers/bridge/basics/#) and send data between them is essential for developers who use Optimism for their projects.  This is a series of tutorials developed by Optimism teaching developers how to bridge Optimism to the Ethereum blockchain. The first tutorial covers the basics, the second tutorial covers using the Standard Token Bridge, while the third tutorial covers transferring data between the L1 and L2 blockchains.  There’s also a Discord community of Optimism developers and another link to receive help if you get stuck during the tutorial.  ## Best StarkNet tutorials for developers [Starknet](https://www.alchemy.com/layer2/starknet?a=cc186cdc75) is another layer-2 Ethereum scaling solution. Unlike Arbitrum and Optimism, Starknet uses zero-knowledge rollups which reduce gas fees, increase transaction speeds, and keep information private. The zero-knowledge proofs that Starknet has developed \(SNARKS\) mean that smart contracts can be verified without revealing the information the smart contracts contain. ### **StarkNet ERC 721 tutorial** An ERC 721 token is the standard Ethereum token used for NFTs. [Learning how to develop ERC 721 tokens](https://github.com/starknet-edu/starknet-erc721) is an important foundation for developing NFTs on Starknet.  This tutorial was developed by Starknet and can be found on their website. This tutorial covers:  - The basics of ERC 721 tokens - Minting and burning NFTs - Adding permissions and payments - Minting NFTs with metadata This tutorial also provides instructions to join the Starknet Discord server where you can reach out to Starknet for help if you get stuck during the tutorial.  ### **Compile, deploy and interact with a StarkNet contract** Learning how to develop smart contracts is a fundamental aspect of Web3 development. Knowing [how to compile, deploy, and interact with Starknet smart contracts](https://www.youtube.com/watch?v=0LXG1lLdJhQ) allows you to use Starknet for more complex Web3 projects. This video tutorial was developed by Starknet and uses the Cairo programming language. This tutorial covers:  - Using the Starknet Command Line Interface \(CLI\) to compile code - The Starknet CLI to deploy the contract to Starknet - Using the Starknet function call to look up the balance in the smart contract - Using Starknet functions to invoke an increase of the balance in the smart contract ## Best Solana tutorials for developers [Solana](https://www.alchemy.com/solana?a=cc186cdc75) is another blockchain that is often used for Web3 development than the Ethereum blockchain. Solana can process transactions significantly faster than Ethereum, however Ethereum still has many more developers and apps. Still, Solana is becoming more and more popular for Web3 developers. Being familiar with Web3 development on Solana, can improve your apps and your development skills. ### **An introduction to Solana programming** Before you start using Solana for Web3 development, [you need to be familiar with coding on Solana. ](https://paulx.dev/blog/2021/01/14/programming-on-solana-an-introduction/)This tutorial is the introduction that Solana provides for developers to start using Solana.  The Solana website provides many resources for developers. It requires no previous knowledge of programming with Solana. This tutorial uses the Solana dev tools and Rust. This tutorial covers some interesting concepts like program derived addresses and cross-program invocation. ### **The complete guide to full stack Solana development** Full stack development is software with both client side and server side. [Learning full stack Solana development](https://dev.to/edge-and-node/the-complete-guide-to-full-stack-solana-development-with-react-anchor-rust-and-phantom-3291) is important to practice your Solana development skills but also to build more complex Web3 projects that can carry out many different kinds of tasks.  This tutorial is also provided on the Solana website. This tutorial covers:  - How to set up your project - airdropping tokens to your personal development account - deploying the app to various networks.  The tools this tutorial uses are:  - React - Anchor - Solana/web3.js - Phantom - Node.js There is also a Q&A section at the bottom in addition to a discussion section where developers can post their questions and receive helpful answers.  ### **Build a Web3 app on Solana with react and Rust** As Solana gains popularity, being familiar with Web3 app development on Solana will take your Web3 projects to new heights. This guide from Buildspace walks you through [how to build a Web3 app on Solana](https://buildspace.so/p/build-solana-web3-app). The app developed in this tutorial displays GIFs. This tutorial covers:  - Connecting to a [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) - Writing a Solana program - Deploying the Web3 app The tools in this tutorial are:  - Phantom as the Solana wallet - React.js - Replit Prerequisites include terminal skills, javascript, and React.js. You can also receive support if you get stuck during the tutorial by enrolling in the project.  ## **Use the best Web3 tutorials to start building** Tutorials are a crucial part of learning to develop Web3 projects. Tutorials make the development process more efficient and more educational. Once you’ve completed these tutorials and are familiar with the basics of Web3 development, you are ready to start building your own projects! --- # The Best YouTube Channels for Web3 Developers in 2023 URL: https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers.md Youtube is a great resource for learning [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development). The creators listed below might vary in their depth of knowledge, the type of content they post, and the size of their audience, but they all provide great tutorials and information specifically geared to the Web3 developer community.   Their Youtube channels will overpower you with information and level up your Web3 developer skills no matter where you’re at in your development journey. Let’s check them out.  ## Eat the blocks [Eat The Blocks](https://www.youtube.com/c/EatTheBlocks) provides many informative resources for the aspiring Web3/blockchain developer. They offer videos covering [Solidity](https://www.alchemy.com/overviews/solidity) smart contracts, decentralized applications, DeFi development, and NFT development.  The videos tend to be brief topical introductions under five minutes, but Eat the Blocks also makes videos commenting on the recruiting process, lifestyle, and compensation of Web3 developers.  ### **Eat the blocks YouTube channel details** - Subscribers: 147K\+ subscribers  - Video Uploads: 870\+ videos - Channel Start Date: October 30, 2017 - Most Popular Video: Create a token on Binance Smart Chain ## Alchemy [Alchemy’s](https://youtube.com/c/AlchemyPlatform) own YouTube channel provides quality educational materials and a great selection of videos. Here you can learn how to build a staking application, how to verify a smart contract through [Etherscan](https://www.alchemy.com/dapps/etherscan), and even how to code an entire [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) from scratch.  ### **Alchemy platform’s YouTube channel details** - Subscribers: 15K\+ Subscribers - Video Uploads: 72\+ videos - Channel Start Date: October 5th, 2020 - Most Popular Video: [Alchemy Product and Dashboard Tour](https://youtu.be/8X7SkLM2sbA) ## Hashlips NFT [Hashlips NFT](https://www.youtube.com/c/HashLipsNFT/) regularly uploads in-depth technical tutorials on blockchain technology with a focus on project-specific tutorials \(many of which center around programming specific to the NFT art market\). The channel is great for new devs because it provides a lot of video content focusing on common questions those new to Web3 have.  Recently Hashlips is featuring more collaborative content with other YouTubers in the Web3 space, helping his audience familiarize themselves with discussions occurring around the broader Web3 community.  ### **Hashlip’s YouTube channel details** - Subscribers: 95K\+ subscribers - Video Uploads: 263\+ videos - Channel Start Date: March 20, 2021 - Most Popular Video: How to create an NFT collection - ultimate guide ## Patrick collins [Patrick Collins](https://www.youtube.com/c/PatrickCollins/) is a developer advocate on the [Chainlink](https://www.alchemy.com/dapps/chainlink) project who publishes tutorials on smart contracts, blockchain, DeFi, Fintech, and popular programming languages used by Web3 developers. In addition to technical tutorials, Patrick also regularly uploads interviews with industry insiders, as well as timely meta-commentary on the Web3 landscape.  ### **Patrick collins’ YouTube channel details** - Subscribers: 61K\+ subscribers - Video Uploads: 89\+ videos - Channel Start Date: September 3, 2019 - Most Popular Video: NFT, ERC-721, Collectible END-TO-END TUTORIAL ## Nader dabit [Nadir Dabit](https://www.youtube.com/c/naderdabit) provides an in-depth collection of Web 3 tutorials, live coding demos, and interviews surrounding modern web development, Web3, DeFi, cloud computing, and [GraphQL](https://www.alchemy.com/dapps/graphql). Nader’s videos are exceedingly technical but are a great resource for programmers new to Web 3 projects, given the high level of detail and care put into each of his tutorials and demos. His interviews with others in the Web3 community lean similarly on the more technical side, which provides insight that can be immediately applied to Web3 development, in contrast to the interview with investors and influencers that are favored by other channels.  ### **Nader dabit’s YouTube channel details** - Subscribers: 48K\+ subscribers - Videos Uploaded: 142\+ Videos - Channel Start Date: Sep 18, 2006 - Most Popular Video: How to Build Full Stack NFT Marketplace on Ethereum with Polygon and Next.js ## Smart contract programmer [Smart Contract Programmer](https://www.youtube.com/@smartcontractprogrammer) offers complete guides to Solidity 0.8 and Viper 0.8, an alternative smart contract programming language to Solidity, on their channel. They even have a playlist dedicated to Solidity exploits for developers to plan against.  As a bonus for developers the channel also has easy-to-understand but in-depth explanations of the math behind popular DeFi protocols like Curve and [Uniswap](https://www.alchemy.com/dapps/uniswap) and guides on how to write smart contracts that interact with these protocols.  The videos tend to be longer, allowing SCP to begin at an introductory level and advance over the course of the videos. ### **Smart contract programmer’s YouTube channel details** - Subscribers: 47K\+ subscribers - Videos Uploaded: 336\+ videos - Channel Start Date: April 21, 2019 - Most Popular Video Reentrancy \| Hack Solidity \(0.6\) ## Austin griffith [Austin Griffith](https://www.youtube.com/channel/UC_HI2i2peo1A-STdG22GFsA) is the creator of eth.build, a simulator, and has created many in-depth resources for new Web3 developers. Eth.build is a sandbox environment where code is represented with graphical diagrams, creating an intuitive understanding of what’s going on behind the code. Austin’s channel is the best place for new developers to begin their Web3 journey. ### **Austin griffith’s YouTube channel details** - Subscribers: 17K\+ subscribers - Video Uploads: 183\+ videos - Channel Start Date: October 30th, 2017 - Most Popular Video: Blockchain - ETH.BUILD ## Clever programmer [Clever Programmer](https://www.youtube.com/c/CleverProgrammer) creates detailed process run-throughs of various Web3 programming projects, allowing developers to reference his unique problem-solving process in undertaking similar projects. He also uploads videos on professional development for front-end Web3 developers looking to break into the field.  ### **Clever programmer’s YouTube channel details** - Subscribers: 1.27M\+ subscribers  - Video Uploads: 786\+ videos - Channel Start Date: March 12th, 2016 - Most Popular Video: JavaScript Tutorial for Beginners - Full Course in 8 Hours \[2020\] ## Fireship [Fireship](https://www.youtube.com/c/Fireship/) creates short but information-packed videos on how to be a better developer. Here you can find information on new tech stacks, cutting-edge technologies, languages, and brief but wide-ranging tutorials on JavaScript, Flutter, Firebase, and app development.  For developers curious about new buzzwords and concepts but not wanting to invest too much energy into researching their current use cases, Fireship is a great resource for efficient, high-intensity tutorials.  ### **Fireship’s YouTube channel detail** - Subscribers 2.26M\+ subscribers  - Video Uploads: 568\+ videos - Channel Start Date: April 7th, 2017 - Most Popular Video: Why do computers suck at math? ## Dapp University [Dapp University](https://www.youtube.com/c/DappUniversity) consistently uploads videos on the most important news on Web3 and also gives high-quality code tutorials. This channel updates developers on how to succeed in Web3 and teaches them many of the skills they need to get there. ### **Dapp University’s YouTube channel details** - Subscribers: 573K\+ subscribers - Video Uploads: 1.2K\+ videos - Channel Start Date: January 11, 2018 - Most Popular Video: The 6 WORST Cryptocurrency Investing Mistakes to Avoid ## Conclusion If you’re new to Web3, going through the playlists on these channels can help you acquire the developer skills you desire, no matter where you want to put your focus. You can just as easily learn how to mint an NFT, how to defend your Solidify contracts from evil hackers, and also learn what impermanent loss means in regards to Automated Market Makers \(AMMs\).  When you’re ready to start developing, check out [Alchemy](https://www.alchemy.com/?a=a4172bbe83). We’ve created the platform layer needed to empower developers like you to build great applications. --- # Blockchain Data Deep Dive URL: https://www.alchemy.com/overviews/blockchain-data.md Each Blockchain holds an immutable record of transactions and events. Web3 applications rely on blockchain data for alerts, dashboards, decision-making, or coming up with new features. It is critical to web3 as it powers everything from decentralized applications, to infrastructure, and NFTs.  This guide will cover all aspects of blockchain data, from onchain and offchain data, to blockchain indexing and subgraphs. By the end of this guide you should have a deeper understanding of how blockchain data is created, stored, and accessed. ## **What is onchain data?** Onchain data is simply all of the information stored on a blockchain network. It is the immutable record of all transactions that have ever occurred on the network and is publicly available for all to see. There are many different types of onchain data such as: - **Transaction data:** this covers information regarding each transaction on the blockchain such as the sender and receiver, value of transfer, and transaction fees. - Block data: this covers information about each block on the blockchain such as the hash of the previous block, transactions included within the block, the timestamp of the block, as well as miner fees and rewards. - **Smart contract data:** this covers information about all of the smart contracts that have been deployed on the blockchain such as the contract code itself, the state of the contract, and the events emitted by the contract.  Unlike offchain data, onchain data cannot be altered which is important in obtaining a holistic view of a blockchain network. This data can be used to track the movement of assets on a blockchain, verifying that transactions have gone through successfully, and generating insights into network activity.  The challenge with onchain data is that accessing it effectively can be cumbersome. Despite it being readily available, onchain data is encoded in a machine-readable format; this prioritizes security but sacrifices human-readability. Human-readable formats can be types like JSON and XML, which is where ABIs \(application binary interfaces\) come into play.  ### **How are data structures defined?** As mentioned previously, onchain data is not stored like regular data. Instead, it is often stored in machine-readable formats such as bytecode.  ABIs \(application binary interfaces\) help developers monitor and decode the data into a human-readable format. Data structures in smart contracts are defined using the ABI. The ABI acts as a function selector that helps define how to interact with smart contracts, as well as the data types that each function accepts and returns. In other words, it is a standard way to represent data structures in a way that is easily understood by both humans and machines.  ### **Where is blockchain data stored?** Blockchain data is generally stored in a distributed ledger meaning that it is not stored in a single location but rather on a network of nodes. Nodes are a fundamental component of storing and ensuring security of blockchain data as each node maintains a copy of the data. Outlined below are a few different types of nodes and how they work at a high level: - Full nodes: as the name suggests, full nodes store the entire blockchain history as well as the latest state of the network \(the latest 128 blocks\). The most recent state is what all clients need to verify incoming transactions. All previous states can theoretically be derived from a full node, however, this uses a significant amount of computational power. Developers should query full nodes for data when they need to access the most recent data and state of the blockchain. For context, on Ethereum the average time to produce a new block is about 13 seconds, you can only retrieve the chain states from the last 28-29 minutes. - Archive nodes: in addition to the complete blockchain history, [archive nodes also maintain a record of the historical state of every block](https://www.alchemy.com/overviews/archive-nodes). This allows archive nodes to serve requests for historical data a lot more efficiently compared to full nodes. Developers should query archive nodes when historical data is needed as it does not require state regeneration like full nodes do. For developers that create analytics tools and other tools that require fast history access, archive nodes are ideal. - Light nodes: these nodes are ones that only store block headers; the minimum data needed to transact on the network. Developers may choose to query from light nodes when retrieving basic blockchain data from block headers. Nodes are not the only way to store data. Data can also be stored offchain in databases, cloud storage services, or even on-premise servers. Storing data offchain may not be as secure as onchain, however, it is still useful for many applications as it is cheaper and faster to access. When data is stored offchain, typically only the information needed for locating the offchain data is stored on the blockchain. ### Smart contracts & blockchain storage Smart contracts are stored on the blockchain within nodes however, smart contracts themselves have mechanisms for data storage. Data is stored in smart contracts on something called contract storage layout. [Contract storage layout refers to the rules governing how contracts’ storage variables are laid out in long-term memory](https://www.alchemy.com/docs/smart-contract-storage-layout).  For [Solidity](https://www.alchemy.com/overviews/solidity) \(a high-level programming language for building smart contracts\), there are 3 different types of memory that can instruct the EVM on where to store their variables: memory, calldata, and storage. Memory: this is used to store temporary data this is needed during the execution of a function Calldata: this is a special data location that contains function arguments Storage: this is where data is permanently stored on the blockchain ### **Data storage vs. file storage** Data storage in its simplest form is the process of saving data so that it can be retrieved and used later. File storage on the other hand, is separate from data storage when the actual files are stored in a different location than the metadata about the files. This separation is typically done to improve performance, reduce costs, or improve security.  A common way to separate file storage from data storage is by using a decentralized file storage system such as IPFS or Arweave. These systems allow users to store files on a distributed network of computers and can be cost-effective by reducing the amount of data that needs to be stored on the blockchain itself.  At a high-level, metadata about the file is stored onchain, while the file itself is stored offchain. When an application needs to access the file, it can retrieve the IPFS or Arweave URL from the metadata. The application can then use this URL to download the file from IPFS or Arweave. #### **What is IPFS?** IPFS uses a content-addressed system where each file is identified based on a CID \(content identifier\). CIDs are unique hashes that always refer to the same file, regardless of where it is stored.  This means that if the file changes or gets updated, the hash will also change. This content-addressed system allows files to be stored and retrieved based on their CID, rather than their location.  The general flow for how IPFS works is as follows: 1. A CID is created for the file 1. File is then uploaded to the IPFS network 1. IPFS stores information about which node in the network possesses the file associated with the CID in a DHT \(distributed hash table\) 1. The DHT can then be queried with the hash to find the node storing the file 1. The CID is stored in the token smart contract #### **Arweave** Arweave is another distributed storage solution that also uses CIDs to store and access content, as well as reference content in metadata. The main difference is that Arweave takes a different approach to incentives and permanence by incentivizing nodes to hold the data permanently.  ### **Data publishing vs. data storage vs. data availability** To gain a better understanding of blockchain data, we must also understand what data publishing, storage, and availability mean. To define these terms simply: **data publishing** is the process of making data available to others on a blockchain, **data storage** is the process of keeping data on a blockchain, and **data availability** is the assurance that data can be accessed by all participants on a blockchain network.  Data availability is important because when validators add blocks to the Ethereum blockchain, they must broadcast all the transaction data for that block to the other validators on the network. Validators are tasked with executing all of the transaction data which means that blockchains can only handle as many transactions as its validators can execute - this, in a nutshell, describes the data availability problem.  One of the core data availability problems is knowing whether or not a block was published without having access to the entire block \(data publishing\).  The main challenges with data publishing are that block producers will not produce blocks on top of blocks containing unknown content. This means that blocks with non-published data may be ignored altogether. Data storage enters the picture once the data is published, however, it is unclear how long the data will be stored by full nodes.This can be concerning as we cannot force nodes to keep the data, thus adding more concerns towards data availability. #### Modular blockchains and alternative data availability Modular blockchains are blockchains that tackle specific functions. For example, a modular blockchain may focus on data availability while relying on other blockchains or systems for other tasks such as execution or consensus. Modular blockchains create alternative data availability layers to make publishing calldata cheaper than posting it to Ethereum by using a variety of techniques such as offchain data storage, data compression, sharding, and more. One example of a modular blockchain that uses an alternative data availability layer is EigenDA. EigenDA is a decentralized data availability layer that is built on top of Arweave. EigenDA allows users to publish calldata to Arweave and then prove to Ethereum that the calldata has been published. This allows users to publish calldata to Ethereum without having to pay the high gas fees associated with storing calldata onchain. ### **Types of onchain data** Now that we’ve covered what onchain data is, we’ll dive deeper into the different types of onchain data and how they are generated, stored, and accessed.  #### **What is transaction data?** Transaction data contains all information related to a transaction on the blockchain such as: - Sender  - Receiver - Amount of transfer - Transaction fee - Timestamp of the transaction  This data is generated whenever a user makes a transaction on a blockchain. It is then broadcasted to the network nodes to validate the transaction and add it to the ledger.  Transaction data can be stored and verified by a type of tree data structure called Merkle trees. Merkle trees are binary trees that allow for fast data verification, where each node in the tree is a hash of the data that it contains. To verify the integrity of the data in a Merkle tree, all you need is the root hash of the tree. Storing data in Merkle trees is helpful in keeping the size of the blockchain as small as possible. Since there is a lot more detail that can go into Merkle trees, you can read [more about Merkle trees in the Alchemy docs](https://www.alchemy.com/docs/merkle-trees-in-blockchains). For Ethereum in particular, data is stored using [Patricia Merkle Tries](https://www.alchemy.com/docs/patricia-merkle-tries)- a combination of a radix trie \(Patricia trie\) and a Merkle tree.  When it comes to quickly accessing transaction data, you can simply use a blockchain explorer such as [Etherscan](https://www.alchemy.com/dapps/etherscan) for Ethereum transactions. Blockchain explorers allow users to view and search for all transaction data and can be used to track the movement of tokens, identify fraudulent transactions, develop blockchain applications, and more. In order to find data about a specific transaction, you will need the transaction hash. If you need to routinely access blockchain data for your application, Alchemy can help. #### **Metadata** Metadata is data that provides additional information about the transactions and assets on a blockchain. This could include additional details such as:  - the name or symbol of an asset - the total supply of an asset - the ownership history of an asset - the contract address of an asset  Unlike transaction data, metadata is not essential for the operation of a blockchain but it is useful for developers in creating applications like block explorers, wallets, and dashboards to name a few examples. Metadata can be generated automatically as defined by the smart contract or blockchain \(e.g. transaction metadata\), or manually as defined by a user \(e.g. asset metadata\).  In order to access metadata, developers can use **getMetadata** queries. To use these queries, developers need to use a blockchain API such as the [Alchemy API](https://www.alchemy.com/docs/reference/nft-api-quickstart). By using **getMetadata** queries, developers can build a variety of applications that can help users to understand and interact with blockchain networks. #### **Events data** Events data refers to the data that is emitted by smart contracts when they execute transactions. This data can include information such as: - The type of event that occurred - The address of the smart contract that emitted the event - Details about the event \(e.g. the amount of tokens transferred, new owner of the asset, etc.\) This information is helpful in allowing developers to monitor the activity of a smart contract and can be accessed via logs. Logs are records of all the events that have occurred on a blockchain and are generated by smart contracts. These logs can be found on transaction receipts and can be viewed by making a request to [eth_getLogs](https://www.alchemy.com/docs/deep-dive-into-eth_getlogs).  #### **Calldata** Calldata is the data passed to a smart contract when a function is called. In other words, it is a form of temporary data storage where function arguments from an external caller are stored before being passed into the smart contract. Calldata can contain any type of data, whether that be integers, strings, arrays, and more. It is important as it allows smart contracts to communicate with each other and with users; for example, calldata could be used to transfer ownership of an NFT to a user in an NFT smart contract.  Gas fees are charged for all operations on the blockchain and using calldata is no exception. When an L2 transaction is posted to Ethereum, the call data is included in the transaction. This is because the call data is necessary for the Ethereum network to verify the transaction and to execute the smart contract function that is being called. The gas used by the call data is determined by the size of the call data and the type of data that is contained in the call data. For Ethereum, the max calldata each block can contain is [1,048,576 bytes](https://eips.ethereum.org/EIPS/eip-4488).  #### **Blobs** Blobs \(binary large objects\) are designed to make transaction verification more efficient through having the network confirm that the blob attached to a block carries the correct data. Blobs have been introduced in relation to [proto-danksharding](https://www.alchemy.com/overviews/danksharding), a proposal to reduce calldata costs and increase calldata size per block.  Proto-danksharding is said to make calldata cheaper in blockchain by introducing a new type of transaction called a blob-carrying transaction. Blob-carrying transactions are similar to regular transactions, but they can contain data blobs. Blob-carrying transactions are cheaper than regular transactions because they do not require as much gas to process. This is because the data blobs are stored offchain and do not need to be included in the transaction. The introduction of data blobs and blob-carrying transactions will make it possible to store and process large amounts of data on the Ethereum blockchain more cheaply.  ## **What is blockchain indexing?** An index in a book contains the page numbers where key words and ideas are mentioned. Similarly, blockchain indexing is the process of organizing and storing blockchain data in a way that makes it easy to search and query. This is important to understand when it comes to blockchain data because it allows users to access and analyze the data in a more efficient and effective way. Since blockchains follow a time-ordered structure, the data can be scattered across numerous blocks and can become entangled. Indexing aims to solve this problem by creating an index of blockchain *data*. This index is a database that stores a subset of the blockchain data in a way that is optimized for searching and querying. To index the data, there are multiple different indexing methods such as: indexing transactions-related information, indexing addresses, indexing smart contrat interactions, and more. The indexed data can then be accessed by developers through APIs provided by GraphQL, Alchemy, and other web3 protocols.  ### **Common indexing use cases** Now that we know how useful blockchain indexing is for developers to search and query data more efficiently, let’s look into a few common use cases of indexing. **Indexing transaction history** - this can be used to track the trading volume and liquidity of things like the [Uniswap](https://www.alchemy.com/dapps/uniswap) pool, as well as to identify the largest traders and whales.  **Indexing for analytics and reporting** - this can be used to generate reports on various metrics such as transaction volume, gas fees, and user activity. It can be especially helpful when tracking and analyzing the performance of a particular smart contract, cryptocurrency, market trend, or for understanding user activity \(e.g. number of active wallets, number of transactions processed, etc.\)  **Indexing metadata** - this can be used to track the ownership and transfer of NFTs. A practical example of this could be an NFT analysis tool where you can query against an index of transactions for a specific NFT collection to understand the purchase/ownership history among other relevant details.  **Indexing smart contract events** - this can be used to track the movement of tokens \(e.g. transfer events of a particular ERC-20 token\), lending and borrowing activity, or to better understand the [NFT market](https://www.alchemy.com/dapps/best/nft-marketplaces) to name a few specific examples. Overall, indexing smart contract events helps us monitor the activity of smart contracts which can help with identifying weaknesses or even opportunities for new applications and services.  #### **Offchain and onchain indexes** Indexes can be stored onchain or offchain, each with their own respective benefits and tradeoffs. Satsuma, for example, is an onchain indexing protocol acquired by Alchemy. Satsuma uses [GraphQL](https://www.alchemy.com/dapps/graphql), a query language for APIs and works by using subgraphs that scan network blocks and smart contracts to collect data from various sources in a single API call. Offchain indexing protocols work by either saving indexes in the local storage of a node \(e.g. SubQuery\) or through storing them in traditional cloud servers like AWS which can be faster than onchain indexing. With either offchain or onchain indexing protocols, developers can easily use querying languages: - **GraphQL** - a developer could use GraphQL to query subgraphs for the transfer history of a particular ERC20 token. - SQL - a developer could use SQL to query an offchain index for the list of all smart contracts that have been deployed on a particular blockchain. - Elasticsearch - a developer could use Elasticsearch to query an offchain index for the most popular NFTs on a particular blockchain. ## **How is blockchain data accessed?** Now that we’ve learned a bit about onchain data and how it’s stored, we can dig deeper into how blockchain data can actually be accessed by developers.  ### **Querying nodes** One of the most direct ways to access blockchain data is by querying nodes, however, this can also be the most resource-intensive. To query nodes, you must use JSON-RPC to access the data via full or archive nodes \(nodes that contain a complete copy of the blockchain as discussed earlier\). To query a node using JSON-RPC, developers must send a JSON object to the node that contains the method you want to call, the parameters for the method, and the JSON-RPC version. This can easily be done through solutions like Alchemy that provide a JSON-RPC API that can be used to query nodes.  Event filters can also be useful when querying nodes for specific blockchain events. To use an event filter you need to specify the type of event that you want to filter for and the parameters of the event. An easy way to use event filters is through [Alchemy's Node API](https://www.alchemy.com/supernode). Alchemy's Node API is a fully managed service that includes all the infrastructure to run a node as well as APIs and SDKs that make it easy to interact and query nodes.   ### **Streaming data with webhooks** Streaming data with webhooks is a way to receive real-time updates about blockchain data. Event data can be streamed using custom webhooks and webhook variables. This is done by choosing a blockchain indexing service such as Alchemy, creating a webhook endpoint on your server, subscribing to the events, and configuring the webhook variables. Alchemy in particular allows users to create [custom webhooks](https://www.alchemy.com/docs/reference/custom-webhook-variables) that can be triggered by a variety of blockchain events, such as new transactions, new smart contract deployments, and changes to smart contract state. Alchemy has also recently [upgraded their custom webhooks](https://www.alchemy.com/blog/custom-webhooks-variables-filters-block-freshness) to help developers narrow data streams for better precision, and easily update webhook queries using variables.  ### **Querying Subgraphs** Subgraphs are open-source APIs that are created by the community and are used for retrieving blockchain data from Indexers, Curators, and Delegators. Since subgraphs are built using GraphQL, developers can use the GraphQL API to query the subgraph. Subgraphs can be hosted or self-hosted. Hosted subgraphs can be queried by sending a GraphQL query to the GraphQL API URL. Self-hosted subgraphs can be queried by deploying the subgraph to the GraphQL server. This can be done through solutions like Satsuma that allow developers to deploy their own subgraphs.  ### **Querying data warehouses** Data warehouses are optimized for querying historical data, usually in a structured format. Data lakes on the other hand store large amounts of data that are typically unstructured or semi-structured. [Dune Analytics](https://www.alchemy.com/dapps/dune-analytics) is a tool that can be used to query, extract, and visualize data from data lakes. Dune does this by providing tools such as their dataset explorer, allowing you to explore data on different chains, datasets, raw blockchain data, and more. You can also create your own data lake by backfilling a database and streaming data via custom webhooks. ## **Conclusion** In summary, understanding blockchain data is useful for any developer looking to use or build web3 infrastructure or applications. Onchain data is stored on the blockchain and can be broken down into different types such as transaction data, metadata, events data, calldata, and blobs. This data is then stored in nodes and can be accessed through a variety of ways depending on one’s use case. --- # What is a blockchain indexer? URL: https://www.alchemy.com/overviews/blockchain-indexer.md Blockchains have a fundamental problem: their data is not searchable. In other words, onchain data cannot be queried by default. In a traditional database, data is organized in tables with indexes and relationships, letting developers instantly query their request without having to scan every record. In contrast, blockchains store data as a linear chain of blocks, optimized for immutability and security, not fast searches. This design means there's no SQL, no built in indexes, no convenient `"SELECT FROM transactions WHERE..."`functions that make it easy to query data. What blockchains provide instead are low level RPC methods like `eth\_getBlockByNumber` that return raw blocks, forcing you to fetch and scan them one by one to find what you need. For example, if someone wanted to find all transactions from a specific wallet, they’d need to start from block zero, loop through millions of blocks, check every transaction in each block, and hope the node doesn't rate limit halfway through. On [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) with over [20 million blocks](https://etherscan.io/), this could take hours or even days, and you'd still need to organize and store that data yourself to make it useful. That's where indexers come in, acting as a bridge between the blockchain's raw, sequential data and the fast queries that your application needs. Think of them as the search engine for onchain data: they continuously monitor the blockchain, extract relevant information, organize it into queryable databases, and serve it up through APIs that respond in milliseconds instead of hours. Without indexers, building responsive apps would be nearly impossible. Imagine a DeFi dashboard that takes 30 seconds to load your portfolio, or a neobank that doesn’t allow you to filter your transactions based on transaction types. Indexers solve this by pre-processing blockchain data so you don't have to scan every block manually. In this guide, we'll break down what a blockchain indexer is, how they work, and share some real world examples of indexers in practice. We'll keep it practical with code examples and link out to resources so you can dive deeper, so whether you're a junior dev building your first app or just refreshing your knowledge, this guide will get you up to speed on one of the most critical pieces of blockchain infrastructure. ## What is a blockchain indexer? A blockchain indexer is a specialized service that continuously watches the blockchain, extracts transaction data and smart contract events, transforms it into a structured format, and stores it in a database optimized for fast queries. Think of it as a three-step process: 1. **Extract**: The indexer monitors blockchain nodes in real-time, capturing every new block, transaction, and event as they're added to the chain. 1. **Transform**: It decodes the raw blockchain data, parsing transaction inputs, decoding smart contract events, tracking token transfers, and organizing state changes into meaningful records. 1. **Load**: Finally, it can store this processed data in a queryable database \(like PostgreSQL, MongoDB, or specialized graph databases\), allowing that data to be exposed through APIs that applications can use. For a solid deep dive into how this process works in depth, check out the [Ethereum Foundation’s intro on indexers.](https://www.youtube.com/watch?v=WgBab6kamtg) ## What are the components of an indexer? While indexers vary in implementation, most share a common architecture built around a few core components that work together to process and serve blockchain data. Here's how they fit together: ### 1. The data source \(blockchain connection\) This is the indexer's connection to the blockchain itself, typically a node \(like [Geth](https://geth.ethereum.org/) for Ethereum, or a [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) node\) or an infrastructure provider's API \(such as Alchemy\). The indexer continuously pulls raw data from this source: new blocks as they're added, transactions within those blocks, event logs emitted by smart contracts, and sometimes state changes. Some indexers process data in real-time \(listening for new blocks immediately\), while others work in batches to handle historical data or catch up after downtime. ### 2. Indexing engine \(the processing layer\) This is the brain of the operation. The indexing engine takes raw blockchain data and transforms it into something meaningful and searchable. At its core, the engine's job is decoding transactions and events. Raw blockchain data is encoded, making transaction inputs are hex strings and event logs are cryptographic hashes. The indexing engine uses contract [ABIs](https://docs.soliditylang.org/en/latest/abi-spec.html) \(Application Binary Interfaces\) to interpret what each transaction actually did: was it a token swap? An NFT mint? A governance vote? It decodes the parameters, extracts the meaningful values, and translates everything into human readable records. Beyond just decoding individual transactions, the engine must also track state changes over time. Blockchains don't store current state in an easily accessible way; instead they store a history of state transitions. So the indexer reconstructs current state by following the chain of events: tracking how token balances change with each transfer, monitoring NFT ownership as tokens move between wallets, and watching smart contract storage variables evolve with each interaction. This state tracking is crucial for queries like "what NFTs does this wallet currently own?" The answer isn't stored anywhere on-chain, it has to be computed from the complete transfer history. The engine also builds specialized indexes, which are efficient data structures that enable fast lookups. Think of it like a book's index: instead of reading every page to find mentions of "Ethereum," you check the index and jump straight to the relevant pages. The indexing engine creates lookup tables for addresses \(find all activity for wallet `0x123`\), token IDs \(find the owner and history of NFT \#5000\), transaction types \(find all [Uniswap](https://www.alchemy.com/dapps/uniswap) swaps\), timestamps \(find all activity in the past 24 hours\), and more. These indexes are what turn a sequential scan of millions of blocks into a sub-second query. Another critical responsibility for this engine is handling chain reorganizations. Occasionally, blockchain consensus results in a short section of recent blocks being replaced with an alternative set of blocks. This is often called a "[blockchain reorg](https://www.alchemy.com/overviews/what-is-a-reorg).” When this happens, the indexer must detect the reorg, roll back any data it indexed from the orphaned blocks, and re-index the new canonical blocks. Without proper reorg handling, the indexed data would contain transactions that never actually happened on the canonical chain. Finally, this indexing engine engine manages syncing and backfills. When an indexer first starts, it needs to process the entire blockchain history, potentially millions of blocks dating back years. This "backfill" process must be efficient, often parallelizing block processing and checkpointing progress to handle restarts. Once caught up, the indexer maintains continuous sync with new blocks as they're added, typically staying just a few seconds behind the chain tip. If the indexer goes offline or falls behind, it must catch up without missing any blocks. This is where the heavy computational work happens: parsing millions of transactions, filtering relevant events based on contract addresses and topics, decoding complex nested data structures, maintaining consistent state across reorgs, and structuring everything for fast storage and retrieval. ### 3. Database \(storage layer\) Once the data has been processed and structured by the engine, it needs to live somewhere queryable, typically an external database. The database choice depends on the indexer's use case and query patterns: - **Relational databases \(PostgreSQL, MySQL\)**: Relational databases are the most common choice for most blockchain indexers. They are ideal for structured data with complex relationships, like tracking wallet balances that change with each transaction, maintaining transaction histories with foreign keys linking to blocks and addresses, or querying token transfers with JOIN operations across multiple tables. SQL's powerful query language makes it easy to ask questions like "show me all addresses that received more than 10 ETH from this contract in the past week." The rigid schema ensures data consistency, which is critical when tracking financial information. - **NoSQL databases \(MongoDB, Cassandra\)**: NoSQL databases offer flexibility for semi-structured data where the schema might evolve over time: useful when indexing diverse smart contracts with varying event structures or storing raw transaction metadata that doesn't fit neatly into tables. These databases excel at horizontal scaling, distributing data across multiple servers to handle massive write volumes \(important when processing thousands of blocks per second\). They're often used when raw indexing speed is more critical than complex querying capabilities. - **Graph databases \(Neo4j\)**: Graph databases are purpose built for relationship heavy queries. Perfect for use cases like tracking token flows through multiple wallets \(follow the money\), analyzing DeFi protocol interactions \(which protocols are connected through liquidity pools\), or building social graphs \(which wallets interact with each other\). Instead of JOINs with relational databases, graph databases use native graph traversal, making "find all wallets within 3 hops of this address" orders of magnitude faster than in relational databases. - **Data warehouses \(BigQuery, Snowflake\)**: Data warehouses are designed for analytics and aggregations across massive datasets. These aren't for real-time queries: they're for answering questions like "what's the total trading volume across all DEXs this month" or "show me daily active addresses by chain for the past year." They can crunch through billions of records efficiently using columnar storage and distributed processing, but with higher latency than operational databases. Many production indexers use multiple database types in tandem: storing transactional data in PostgreSQL for fast, real-time queries that power application UIs, while simultaneously feeding the same data into BigQuery for analytics dashboards and historical trend analysis. This hybrid approach lets each database do what it does best. ### 4. API layer \(query interface\) The API layer is how applications are able to access the indexed data. The API exposes endpoints that let apps query the processed blockchain data without knowing how it's stored or organized underneath, abstracting away the complexity of the database schema, indexing logic, and data transformations. Common approaches include: - **GraphQL APIs**: GraphQL APIs are the most flexible option, letting clients request exactly the data they need in a single query. Instead of making multiple REST calls, an application can ask for nested, related data in one request: like "get all ERC-20 transfers for this address where value > $1,000, and for each transfer include the token's name, symbol, decimals, and current price." GraphQL lets the client specify which fields to return, avoiding over-fetching \(getting data you don't need\) or under-fetching \(requiring multiple round trips\). This is particularly powerful for complex queries across multiple entities. [The Graph protocol](https://thegraph.com/), for example, is built entirely on GraphQL. - **REST APIs**: Rest APIs are simpler and more predictable, with predefined endpoints for common queries. Each endpoint has a specific purpose like `/api/address/\{address\}/transactions` to get transaction history, or `/api/token/\{contract\}/holders` to get all current token holders. REST is easier to cache \(since each URL represents a specific resource\), simpler to document, and familiar to most developers. The trade-off is less flexibility, where if you need data the endpoint doesn't provide, you'll need multiple requests or wait for a new endpoint to be built. REST is ideal when query patterns are well-known and consistent. - **WebSocket streams**: Websocket streams are perfect for real-time updates as new blocks are indexed. Instead of polling the API every few seconds asking "anything new?", your app opens a WebSocket connection and receives push notifications the moment relevant data arrives like when a specific address receives a transaction. This is critical for applications that need instant updates, like live trading dashboards and real-time notification systems. WebSockets maintain an open connection, so they're more resource-intensive than occasional REST calls but eliminate latency for time-sensitive data. The API layer often includes crucial infrastructure features beyond just serving data: caching \(storing frequently-requested query results in memory to avoid hitting the database repeatedly, dramatically improving response times for popular queries\), rate limiting \(preventing any single user from overwhelming the system with too many requests, ensuring fair access for everyone\), and authentication \(API keys or tokens to track usage, enforce access controls, and potentially charge for premium tiers\). These features ensure the API remains fast, reliable, and economically sustainable, especially important when serving thousands of apps simultaneously. ## **How the indexer components work together** Here's a example flow in action. An indexer's data source pulls block \#18,500,000 from an Ethereum node. The indexing engine then decodes 200 transactions in that block, extracts 500 events \(including Uniswap swaps and NFT transfers\), and identifies which wallets were affected. After that, the database stores these records with indexes on addresses, token contracts, and timestamps. From there, your app queries the indexer’s API asking "show me all NFT purchases by address `0x123` this week." The API returns results in 50ms by querying the indexed database, not the blockchain. This architecture is what enables indexers to turn hours of blockchain scanning into milliseconds of query time. ## How does indexing work in practice? Now that we understand the components, let's walk through how indexing actually works in practice and show how an indexer turns raw blockchain data into instantly queryable information. ### A real example: indexing a DeFi lending protocol Let's look at a concrete example with a simplified lending protocol smart contract, similar to how platforms like [Aave](https://aave.com/) or [Compound](https://compound.finance/) work. This contract lets users deposit collateral and borrow assets: Position) public positions; uint256 public nextPositionId; event PositionOpened( uint256 indexed positionId, address indexed user, address collateralToken, uint256 collateralAmount, address borrowedToken, uint256 borrowedAmount, uint256 interestRate ); event PositionClosed( uint256 indexed positionId, address indexed user, uint256 amountRepaid ); event PositionLiquidated( uint256 indexed positionId, address indexed liquidator, uint256 collateralSeized ); function openPosition( address collateralToken, uint256 collateralAmount, address borrowedToken, uint256 borrowedAmount, uint256 interestRate ) external { uint256 positionId = nextPositionId++; positions[positionId] = Position({ user: msg.sender, collateralToken: collateralToken, collateralAmount: collateralAmount, borrowedToken: borrowedToken, borrowedAmount: borrowedAmount, interestRate: interestRate, timestamp: block.timestamp }); emit PositionOpened( positionId, msg.sender, collateralToken, collateralAmount, borrowedToken, borrowedAmount, interestRate ); } function closePosition(uint256 positionId, uint256 amountRepaid) external { require(positions[positionId].user == msg.sender, "Not position owner"); emit PositionClosed(positionId, msg.sender, amountRepaid); delete positions[positionId]; } }`} /> Without an indexer, answering questions about this protocol would be painful: - "What's the total value locked across all positions?" This would require scanning every block, find every `PositionOpened` event, decode each one, and calculate total collateral. - "Show me all positions for user 0x123" This would also require a full full scan, forcing filtering by user address. - "What's the average interest rate for ETH-collateralized loans?" Another full scan would be required here, filtering by collateral token, in order to aggregate interest rates. - "How many positions were liquidated this week?" This would require scanning a week's worth of blocks looking for `PositionLiquidated` events. Each of these queries could take minutes or hours, requiring you to process gigabytes of blockchain data. With an indexer, here's what happens: 1. **Event detection**: The indexer monitors the LendingProtocol contract address. When block \#18,500,000 includes a transaction that emits a `PositionOpened` event, the indexer immediately captures it. 1. **Data extraction**: Using the contract's ABI, the indexer decodes the event parameters: `positionId=42`, `user=0xabc...`, `collateralToken=0xWETH`, `collateralAmount=5000000000000000000` \(5 ETH in wei\), `borrowedToken=0xUSDC`, `borrowedAmount=8000000000` \(8,000 USDC\), `interestRate=500` \(5%\). 1. **Enrichment**: The indexer can enhance this data by fetching additional context, like looking up the current USD price of ETH and USDC to calculate the position's value in dollars, or storing the block timestamp for time-based queries. 1. **Storage**: It writes this to the database with multiple indexes: 5.** API serving**: Now those complex queries become simple, fast database lookups: - "Total value locked?" → `SELECT SUM\(collateral\_amount \* token\_price\) FROM lending\_positions WHERE status='open'` \(returns in 10ms\) - "User 0x123's positions?" → `SELECT \* FROM lending\_positions WHERE user\_address='0x123'` \(instant\) - "Average interest rate for ETH loans?" → `SELECT AVG\(interest\_rate\) FROM lending\_positions WHERE collateral\_token='0xWETH'` \(milliseconds\) The indexer continuously repeats this process for every new block, maintaining a real-time, queryable view of the protocol's complete state and history. When a `PositionClosed` event fires, it updates the status field. When prices change, it can recalculate position health ratios for liquidation monitoring. This transformation, from sequential blockchain scanning to indexed database queries, is what makes modern crypto fintech dashboards, analytics platforms, and risk monitoring tools possible. Without indexers, the user experience we expect from blockchain applications simply wouldn't exist. ## What problems do indexers solve? Now that you've seen how indexing works with our lending protocol example, let's summarize the fundamental problems indexers solve for developers: - **Data access and query performance**: Blockchains have no built-in search functions and require scanning millions of blocks sequentially to query data. Indexers extract and organize blockchain data into queryable databases with strategic indexes, turning hour-long scans into millisecond queries. - **Data analytics**: Understanding activity at scale \(trading volumes, user patterns, protocol health\) requires aggregating massive datasets. Indexers maintain historical state and pre-compute common metrics. Daily DEX volume is already summed; inactive wallets after protocol changes can be queried via indexed timestamps instantly, eliminating the need for custom data pipelines. - **Real time app development**: Modern apps must react to onchain events instantly, in order to provide accurate and performant experiences to users. Constantly polling blockchain nodes is slow and inefficient. Indexers use push-based architectures \(WebSockets\) that notify applications the moment events occur, making blockchain apps feel as responsive as web2. ## Common indexing use cases Understanding why indexers exist helps clarify what you can actually build with them. Here are real-world applications that leverage indexed blockchain data: - **DeFi dashboards and portfolio management**: Apps like [Zapper](https://zapper.xyz/), [Debank](https://debank.com/), and [Zerion](https://zerion.io/) aggregate user positions across dozens of protocols, lending positions on [Aave](https://aave.com/), liquidity pools on [Uniswap](https://uniswap.org/), staked assets on [Lido](https://lido.fi/), and more, into a single portfolio view with live USD valuations. Without indexers, each page load would require querying hundreds of smart contracts individually. - **Marketplaces with advanced search**: Platforms like [OpenSea](https://opensea.io) users filter collections by specific traits, sort by rarity rankings, view complete ownership histories, and track floor price movements over time. Indexers make these complex queries across millions of ERC-721s possible without scanning the entire blockchain for every search. - **Onchain analytics platforms**: Tools like [Dune](https://dune.com/home), [Nansen](https://www.nansen.ai/), and [Flipside Crypto](https://flipsidecrypto.xyz/home/) provide custom dashboards showing protocol metrics, tracking DEX trading volumes, lending protocol utilization rates, bridge flows between chains, and whale wallet movements. Analysts write SQL queries against indexed data rather than processing raw blockchain logs. - **Trading bots and MEV strategies**: Automated trading systems monitor mempool transactions for arbitrage opportunities, track liquidity pool reserves across multiple DEXs for optimal routing, and execute strategies within blocks of triggering events. These require sub-second data access that only indexers can provide at scale. - **Wallets**: Modern wallets like [MetaMask](https://metamask.io/), [Rainbow](https://rainbow.me), and [Phantom](https://phantom.com/) display complete transaction histories, token balances \(including tokens you didn't know you had\), pending transactions, and estimated gas fees. Each of these features relies on indexed data, directly querying blockchain nodes would make wallet interfaces unusably slow. - **Blockchain explorers**: [Etherscan](https://etherscan.io/), [Solscan](https://solscan.io/), and similar explorers let users search any address, transaction hash, block number, or token contract and immediately see complete details, related transactions, and historical activity. They're essentially UI layers on top of comprehensive blockchain indexers. - **DAO governance platforms**: Tools like [Snapshot](https://snapshot.org/) and [Tally](https://www.tally.xyz/) track proposal lifecycles, voting power calculations based on token holdings at specific blocks, delegation relationships, and voting histories. These platforms need indexed historical state to calculate who was eligible to vote on past proposals. - **Risk management and monitoring**: Protocols use indexers to monitor large positions that are at risk of being liquidated, track unusual wallet activity patterns for security alerts, identify potential smart contract exploits by analyzing transaction patterns, and generate alerts when specific onchain conditions are met. - **Cross-chain bridges**: Applications that facilitate asset transfers between chains or find optimal swap routes across multiple networks need real-time indexed data from each blockchain to calculate fees, compare rates, and track transfer status. ## Popular indexers in 2025 The indexing landscape offers solutions ranging from decentralized protocols to fully managed services. Here's a breakdown of the leading options: ### The graph [The Graph](https://thegraph.com/) is the most widely adopted decentralized indexing protocol. Developers define "subgraphs," which are custom indexing configurations that specify which smart contracts to monitor and how to transform their data into queryable formats. Independent node operators run the indexing infrastructure and earn GRT tokens for serving queries. The Graph is best suited for projects that prioritize censorship resistance and want to rely on decentralized infrastructure rather than centralized service providers. ### Goldsky [Goldsky](https://goldsky.com/) is an infrastructure platform supporting over 90 blockchains with an emphasis on custom data pipelines. It excels at complex data transformations, streaming blockchain data to external databases, and feeding data warehouses for analytics workloads. Goldsky offers both Graph-compatible subgraph hosting and a proprietary Mirror pipeline system for real-time data streaming. It works well for teams that need multi-chain indexing with custom business logic beyond what standard GraphQL queries provide. ### Chainstack [Chainstack](https://chainstack.com/) is an enterprise-grade blockchain infrastructure provider that offers Subgraphs as a managed service. It provides reliable indexing with guaranteed uptime SLAs, global CDN distribution for low-latency queries, and dedicated support channels. The platform supports Ethereum and EVM-compatible chains, and integrates with Chainstack's broader node infrastructure offerings. Chainstack is particularly strong for organizations that require enterprise support, compliance features, and predictable scaling. ## How to choose an indexer for your project Selecting the right indexer depends on your specific requirements. Here are the key factors to consider: **1. Chain Compatibility** Different indexers support different blockchain ecosystems, so verify that your chosen indexer supports the chains you want to build on. Some specialize in specific networks like Solana, while others focus on EVM-compatible chains or offer broad multi-chain coverage. **2. Query Requirements** Indexers offer different query interfaces depending on your needs: GraphQL for flexible nested queries, REST for simple predefined endpoints, SQL for analytics workloads, and WebSockets for real-time streaming. Consider how your application will access data and choose an indexer that supports those patterns. **3. Performance Needs** Consider your latency and throughput requirements carefully. Some indexers prioritize speed for real-time applications, while others focus on comprehensive historical data access or high-volume analytics queries. **4. Infrastructure Philosophy** Decide whether you want a fully managed service, which reduces operational overhead but introduces vendor dependency, or a decentralized protocol, which offers censorship resistance but requires more setup and maintenance. **5. Cost Structure** Most indexers offer tiered pricing: free tiers for development, pay-as-you-go for growing projects, and enterprise plans for production workloads. Factor in your expected query volume and any data egress fees when estimating long-term costs. **6. Developer Experience** Evaluate documentation quality, SDK support for your preferred programming languages, and the availability of community resources. Strong developer support and clear examples can significantly reduce your integration time. **7. Data Specialization** For specific use cases like NFT marketplaces or Solana applications, specialized indexers often provide richer out-of-the-box data than general-purpose solutions. Consider whether pre-enriched data for your domain would save you significant development effort. ## Conclusion Handling onchain data at scale is a hard problem. Blockchains aren't built for the kinds of queries modern applications need—searching, filtering, aggregating across millions of transactions would grind apps to a halt without the right infrastructure. Indexers solve this problem by doing the heavy lifting: continuously processing blockchain data, organizing it into queryable formats, and serving it through fast APIs. This lets you focus on building great applications instead of wrestling with data pipelines and blockchain nodes. Ready to get started? Alchemy offers a comprehensive suite of tools and enriched APIs designed to make blockchain development straightforward. Check out the [Alchemy documentation](https://www.alchemy.com/docs/) to start building. ## Frequently asked questions ### What is a blockchain indexer? A blockchain indexer is a specialized service that continuously monitors the blockchain, extracts transaction data and smart contract events, transforms it into a structured format, and stores it in a database optimized for fast queries. ### How does a blockchain indexer work? An indexer follows a three-step process: extract \(monitor blockchain nodes in real-time\), transform \(decode raw blockchain data and organize state changes\), and load \(store processed data in queryable databases with APIs for applications to use\). ### What are the main components of a blockchain indexer? The core components include a data source \(blockchain connection\), an indexing engine \(processing layer that decodes transactions and events\), a database \(storage layer like PostgreSQL or MongoDB\), and an API layer \(query interface using GraphQL, REST, or WebSockets\). ### Why can't I just query blockchain data directly? Blockchains store data as a linear chain of blocks optimized for security, not fast searches. There's no built-in SQL or indexing, so finding specific data requires scanning through millions of blocks one by one, which can take hours or days. ### What problems do blockchain indexers solve for developers? Indexers turn hour-long blockchain scans into millisecond queries, enable real-time analytics and aggregations across massive datasets, and provide push-based architectures that make blockchain apps feel as responsive as traditional web applications. ### What are common use cases for blockchain indexers? Popular applications include DeFi dashboards and portfolio trackers, onchain analytics platforms, trading bots, modern wallets, blockchain explorers, and cross-chain bridges. ### How do I choose the right indexer for my project? Consider chain compatibility, query requirements \(GraphQL vs REST vs SQL\), performance needs, infrastructure philosophy \(managed vs decentralized\), cost structure, developer experience quality, and whether you need specialized data for your use case. ### What's the difference between indexers and running a full node? While full nodes store the entire blockchain and require heavy resources for direct queries, indexers pre-process and optimize data for sub-second retrieval via APIs, eliminating the need for slow manual blockchain scans. --- # The 12 Best Blockchain Node Providers (2026) URL: https://www.alchemy.com/overviews/blockchain-node-providers.md Blockchain nodes connect to a distributed network to receive, validate, and relay transactions and blocks. Depending on the node type, they store anything from block headers to the chain's full current state and history. For any onchain application to interact with a blockchain, it must do so through a node. Developers can run nodes themselves or use a provider, with options ranging from shared endpoints to single-tenant infrastructure. ## What is a blockchain node provider? A blockchain node provider operates nodes or coordinates access to node infrastructure for others to use, shifting the operational burden from individual developers and companies to a specialized service or network. [Choosing to work with a blockchain node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) can reduce maintenance work and make redundancy, uptime monitoring, and support easier to manage. Running a node independently is time-consuming, technically demanding, and resource-intensive. Keeping production nodes accurate, secure, and available requires sustained operational work. The complexity increases when an application supports multiple chains or Layer 2 networks, or needs archive data. By using a blockchain node provider, developers and enterprises can reduce infrastructure costs, development time, and the operational risks of maintaining individual blockchain nodes. This frees teams to focus on building products. Blockchain node providers can be chain-specific, such as [Solana RPC node providers](https://www.alchemy.com/overviews/solana-rpc), while others support multiple blockchains. This article compares both multichain platforms and chain-specific services in 2026. ## Who are the best blockchain node providers in 2026? These are the twelve blockchain node providers included in this article: 1. Alchemy 2. Infura 3. QuickNode 4. Chainstack 5. Ankr 6. dRPC 7. Blockdaemon 8. Coinbase Developer Platform (CDP) 9. GetBlock 10. NowNodes 11. Pokt Network 12. InfStones This article covers the most important traits to evaluate: pricing models, chain support, performance and uptime, developer tools, customer support, and enhanced APIs. Enhanced APIs provide indexed blockchain data or specialized node methods beyond basic remote procedure call (RPC) requests. Many providers now use compute unit (CU) or credit-based pricing, which makes apples-to-apples cost comparisons more nuanced. ## 1. Alchemy **Alchemy** is a [blockchain node provider](https://www.alchemy.com/?utm_source=overview&utm_medium=overview&utm_campaign=node) for shared RPC access, dedicated infrastructure, and data APIs, with support spanning 100+ blockchains. The platform is powered by [Cortex](https://www.alchemy.com/cortex), Alchemy's blockchain engine for routing, scaling, data consistency, and observability across the developer platform. **Infrastructure:** Alchemy provides [RPC API](https://www.alchemy.com/rpc-api) access, [Dedicated Clusters](https://www.alchemy.com/dedicated-clusters) for single-tenant infrastructure, [Rollups](https://www.alchemy.com/rollups) to launch your own chain, [Solana](https://www.alchemy.com/solana) support for low-latency gRPC streaming and archive data, and [Validator-as-a-Service](https://www.alchemy.com/alchemy-validators) infrastructure across multiple chains. **Orchestration & Data:** Alchemy offers [Gas Manager](https://www.alchemy.com/gas-manager) so apps can sponsor transaction fees for users, plus a data layer including [Webhooks](https://www.alchemy.com/webhooks) for streaming push notifications, [Smart WebSockets](https://www.alchemy.com/smart-websockets) for live blockchain data, and [Token API](https://www.alchemy.com/token-api?utm_source=overview&utm_medium=overview&utm_campaign=node) for prices, balances, and more. [Alchemy customers](https://www.alchemy.com/customers) include Visa, Circle, World, Polymarket, Stripe, Robinhood, Uniswap, OpenSea, and Chainlink. ### Which blockchains does Alchemy support? Alchemy supports **100+ blockchains**, including Ethereum, Solana, Base, Polygon, Arbitrum, Optimism, Hyperliquid, Unichain, BNB Smart Chain, Avalanche, Starknet, ZKsync, Blast, Monad, Aptos, Bitcoin, Sui, Abstract, Sonic, MegaETH, and World Chain. See the [chain API documentation](https://docs.alchemy.com/reference/chain-apis-overview?utm_source=overview&utm_medium=overview&utm_campaign=node) for the current list. ### How much does Alchemy cost? Alchemy meters standard API usage in Compute Units (CUs), with different methods assigned different CU weights. Pricing includes a free tier plus Pay As You Go and Enterprise plans: - **Free Tier:** $0/month, 30M free CUs per month, 500 compute units per second (CU/s), 5 dashboard apps and 5 webhooks, Alchemy-supported mainnets and testnets, archive requests within the monthly CU allowance, and standard support - **Pay As You Go:** $0.45/1M CUs for the first 300M CUs per month, then $0.40/1M CUs, with 10,000 CU/s, 30 dashboard apps, 100 webhooks, priority support, and higher rate limits - **Enterprise:** Custom pricing and throughput, up to 200 dashboard apps and 500 webhooks, advanced security controls, signed service-level agreements (SLAs), and premium support Separate usage pricing applies to products such as Solana gRPC and Gas Manager. Alchemy's free tier includes archive access within its monthly CU allowance. See the full breakdown on the [Alchemy pricing page](https://www.alchemy.com/pricing). ### Alchemy Enhanced APIs In addition to its core infrastructure and data products, Alchemy offers a comprehensive suite of APIs and developer tools: - [**Prices API**](https://docs.alchemy.com/reference/prices-api-quickstart) — real-time token pricing data - [**Portfolio API**](https://www.alchemy.com/docs/reference/portfolio-apis) — aggregated portfolio views across wallets and chains - [**NFT API**](https://docs.alchemy.com/reference/nft-api-quickstart) — instantly find, verify, and display any NFT across all major blockchains - [**Transfers API**](https://docs.alchemy.com/reference/transfers-api-quickstart) — get transaction history for specific accounts over any block range - [**Wallet API**](https://www.alchemy.com/docs/wallets/transactions/using-api) — full wallet lifecycle management - [**Transaction Simulation**](https://www.alchemy.com/docs/reference/simulation) — simulate transactions before submission - [**Private Transactions**](https://www.alchemy.com/docs/reference/mev-protection) — submit transactions with MEV protection (Pay As You Go and above) - [**Bundler API**](https://docs.alchemy.com/reference/bundler-api-quickstart) — ERC-4337 & 7702 transaction support with bundled operations - [**Trace API**](https://docs.alchemy.com/reference/trace-api-quickstart) — gain low-level insights into transaction execution onchain - [**Debug API**](https://www.alchemy.com/docs/reference/debug-api-quickstart) — replay transactions under controlled network states The platform also includes a multi-chain sandbox, request logs, custom error and usage alerts, a mempool visualizer, app and team analytics, and Composer for building and testing API calls. Alchemy holds [**SOC 2 Type II** certification](https://trust.alchemy.com/) and offers tiered support from standard (48-hour response) up to Gold premium support (2-hour response with a dedicated Slack/Telegram channel, named account manager, and named solutions engineer). See the [Alchemy pricing page](https://www.alchemy.com/pricing) for full support tier details. ## 2. Infura **Infura** remains one of the most established node providers in the blockchain space, now owned by **Consensys** and serving as the default backend infrastructure for MetaMask. In 2026, Infura transitioned to a credit-based pricing model and introduced its Decentralized Infrastructure Network (DIN) for improved reliability and decentralization. ### Which blockchains does Infura support? Infura supports **20+ blockchains** including Ethereum (mainnet and testnets), Polygon PoS, Optimism, Arbitrum, Base, Linea, Mantle, Avalanche C-Chain, Starknet, Aurora, and IPFS/Filecoin. Infura's chain coverage continues to grow, especially across major EVM L2s, though it remains more focused on the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) compared to some multi-chain alternatives. ### How much does Infura cost? Infura switched to a credit-based pricing model, where each API method consumes a different number of credits. Key plan details: - **Core (Free)** — 3 million daily credits, 500 credits/second throughput, 1 API key - **Developer** — $50/month, 15 million daily credits, higher throughput - **Team** — $225/month, 75 million daily credits, 40,000 credits/second, unlimited API keys - **Enterprise** — Custom pricing with custom daily credits, autoscaling, enhanced SLAs, and crypto payment options Infura also offers an add-on pack of 55 million additional credits for $200/month. Archive access is available on paid tiers. Infura's daily credit caps (rather than monthly quotas) can constrain bursty workloads but simplify day-to-day monitoring. ## 3. QuickNode **QuickNode** has grown into a full enterprise-grade blockchain development platform, emphasizing performance, real-time data streaming, and a comprehensive compliance posture. QuickNode now supports **80+ chains** with a 99.99% uptime SLA and is among the most feature-complete providers in the market. ### Which blockchains does QuickNode support? QuickNode supports over 80 blockchains including Ethereum, Solana, Base, Polygon, BSC, Arbitrum, Optimism, Avalanche, Bitcoin, Hyperliquid (with full HyperCore and HyperEVM support plus gRPC streaming), and many more. ### How much does QuickNode cost? QuickNode uses a credit-based pricing model with method-weighted compute: - **Free** — $0/month, 50 million API credits - **Build** — $49/month - **Scale** — $299/month - **Enterprise** — $999+/month with custom commitments In March 2026, QuickNode introduced **Flat Rate RPS** pricing for high-volume workloads — starting at $799/month for 75 RPS on EVM chains with no credit metering and no overage risk. This is designed for trading bots, arbitrage workflows, and high-throughput applications. ### QuickNode compliance and special features QuickNode holds the **full compliance trifecta**: SOC 1 Type II, SOC 2 Type II, and ISO 27001 — audited by Grant Thornton and recertified in Q1 2026. No other major multi-chain provider matches this combination. Key features include **Streams** for real-time blockchain data delivery to webhooks, S3, SQL, and Snowflake; **Webhooks** for on-chain alerts; and dedicated clusters for enterprise users. ## 4. Chainstack **Chainstack** has established itself as a leading provider for teams that prioritize cost predictability, deployment flexibility, and enterprise-grade infrastructure. Chainstack is particularly appealing for enterprises because it allows deployment of dedicated nodes inside your own cloud environments (AWS, GCP, Azure) via its Hybrid Cloud feature. ### Which blockchains does Chainstack support? Chainstack supports **70+ protocols** including Ethereum, Polygon, BSC, Avalanche, Solana, StarkNet, Base, Arbitrum, Optimism, Aptos, Monad, and many more. ### How much does Chainstack cost? Chainstack uses a simple request-unit (RU) model — 1 RU per standard call, 2 RU per archive or debug call, with no complex method weighting: - **Developer** — $0/month + usage, 3 million RU/month, 25 RPS - **Growth** — $49/month + usage, 20 million RU/month, elastic archive nodes, MEV API, dedicated nodes - **Business** — $349/month + usage, 140 million RU/month, debug and trace APIs - **Enterprise** — $990/month + usage, 400 million RU/month, custom configuration and monitoring Chainstack also offers an **Unlimited Node** add-on — a flat monthly fee that unlocks unlimited requests at a chosen RPS tier (25–500 RPS), which eliminates per-request cost uncertainty entirely. The company holds **SOC 2 Type II** certification. ## 5. Ankr **Ankr** operates as a decentralized physical infrastructure network (DePIN), serving billions of requests daily across 30+ regions. Ankr offers both public free endpoints and premium private infrastructure with one of the widest chain coverages available. ### Which blockchains does Ankr support? Ankr supports **80+ chains** on its Premium tier, 65+ on Freemium, and 40+ on its free public endpoints. Supported chains include Ethereum, Solana, Polygon, BSC, Avalanche, Fantom, Arbitrum, Optimism, Base, and many more. ### How much does Ankr cost? Ankr uses a credit-based model with per-method weighting (note: an `eth_call` costs approximately 200 Ankr credits, making effective per-request costs higher than headline credit numbers suggest): - **Public RPCs** — Free, rate-limited endpoints across 40+ chains - **Freemium** — 200 million API credits/month, public rate limits, 30 RPS cap - **Premium** — Pay-as-you-go at $0.10/1M API credits, private endpoints, up to 1,500 RPS, debug/trace, WebSockets - **Enterprise** — Custom pricing, flexible rate limits, and dedicated engineering support Ankr announced SOC 2 Type 2 compliance in 2025. Archive data is included on all tiers, and Premium adds debug/trace namespaces and team accounts. ## 6. dRPC **dRPC** is a newer entrant that has quickly gained traction with its decentralized approach and transparent pricing model. Rather than running its own nodes, dRPC aggregates infrastructure from 50+ independent node operators and routes traffic intelligently across 7 geo-distributed clusters. ### Which blockchains does dRPC support? dRPC supports **95+ blockchains** including Ethereum, Solana, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, StarkNet, and many more. ### How much does dRPC cost? dRPC's standout feature is its flat-rate, method-agnostic pricing — every request costs 20 CU regardless of method complexity: - **Free tier** — Public endpoints with rate limits - **Paid** — $6 per 1 million requests across all methods, including archive and trace - **Custom/Enterprise** — volume discounts and startup programs available This pricing model is significantly more predictable than credit-weighted alternatives, making dRPC particularly attractive for workloads with heavy trace, debug, or log queries. The tradeoff is that latency can vary since traffic routes through third-party operators. Most teams use dRPC as a cost-effective secondary provider alongside a primary like Alchemy or QuickNode. ## 7. Blockdaemon **Blockdaemon** is the institutional gateway to Web3, securing over $110 billion in digital assets for 400+ institutions including exchanges, custodians, and financial enterprises. Blockdaemon focuses on institutional-grade blockchain infrastructure spanning nodes, APIs, DeFi, staking, MPC wallets, and vaults. ### Which blockchains does Blockdaemon support? Blockdaemon supports **50+ chains** including Ethereum, Polygon, Avalanche, Cosmos, Polkadot, Solana, Algorand, Cardano, Bitcoin, Chainlink, Dogecoin, Fantom, Near, Optimism, Stellar, Tezos, XRP, and more. ### How much does Blockdaemon cost? Blockdaemon starts with a free plan. Additional pricing is custom and not publicly published — interested teams must contact Blockdaemon directly for quotes. ### Blockdaemon special APIs Blockdaemon's Ubiquity API suite includes the Universal API for multi-protocol access, NFT API for on-chain and off-chain NFT data, Native Access API for deep protocol interaction, and Specialized APIs for extracting specific blockchain information. With SLAs, archive access, and advanced monitoring, Blockdaemon is well-suited for regulated and large-scale institutional environments. ## 8. Coinbase Developer Platform (CDP Node) Formerly known as Coinbase Cloud (Query & Transact), Coinbase has rebranded its node infrastructure under the **Coinbase Developer Platform (CDP)**. The platform now focuses primarily on **Base**, Coinbase's own Layer 2 blockchain, while providing broader developer tools including wallets, onramps/offramps, and staking. ### Which blockchains does CDP Node support? CDP Node currently focuses on **Base Mainnet and Base Sepolia testnet**, providing production-ready RPC access optimized for the [Base ecosystem](https://www.alchemy.com/dapps/ecosystem/base). ### How much does CDP Node cost? Starting January 2026, CDP Node requires a payment method on file. Pricing uses a billing unit (BU) model: - **Free tier** — 10 million BUs/month (average call uses ~30 BU), rate limited to ~50 RPS - **Paid tiers** — Pay-as-you-go beyond the free allocation CDP Node benefits from Coinbase's institutional security infrastructure, audited custody, and compliance controls. It's an excellent choice for teams building primarily on Base who want tight integration with the broader Coinbase ecosystem. ## 9. GetBlock **GetBlock** is a multi-regional Web3 infrastructure provider that has expanded significantly, now offering **100+ blockchains** with geo-selectable endpoints and flexible pricing. GetBlock emphasizes transparent pricing, self-service dedicated node deployment, and strong documentation. ### Which blockchains does GetBlock support? GetBlock supports over 100 blockchains with recent integrations including Taiko, Core, Stellar, Sei, Gravity, Monad, and Zilliqa. Endpoints are available in Frankfurt, New York, and Singapore for optimized latency. ### How much does GetBlock cost? GetBlock uses a subscription-based model with Compute Units (CUs), and shared node usage is measured in CUs. Dedicated nodes offer unlimited scaling: - **Free tier** — 50K daily requests - **Shared nodes** — CU-based pricing with subscription tiers - **Dedicated nodes** — Self-service deployment with unlimited requests and a range of free add-ons - **Discounts** — Up to 20% off for multi-month and annual subscriptions GetBlock offers SLAs on all paid plans, professional customer support at all tiers, and a feature-complete free plan that includes full chain and method access plus geo endpoints. ## 10. NowNodes **NowNodes** continues to offer developers the choice between shared and dedicated nodes, with a focus on broad chain support and responsive customer service. They maintain a 99.95% API uptime guarantee and respond to support requests within 24 hours across all tiers, including free. ### Which blockchains does NowNodes support? NowNodes supports **40+ chains** including Bitcoin, Ethereum, Tezos, BSC, Avalanche, Polkadot, Cardano, Algorand, and more. ### How much does NowNodes cost? - **Free** — 150,000 requests/month - **Standard** — $3 per 100,000 requests - **Pro** — $200 per 30 million requests - **VIP** — $500 per 100 million requests NowNodes also offers dedicated nodes at custom pricing for teams that need isolated infrastructure and full node control. ## 11. Pokt Network **Pokt Network** (Pocket Network) remains the leading fully decentralized node provider, operating a permissionless network of nodes maintained by operators who stake POKT tokens. Pokt's key value propositions are censorship resistance, decentralization, and broad chain support. ### Which blockchains does Pokt Network support? Pokt supports a wide range of chains through its decentralized node operator network, including Ethereum, Solana, Polygon, Avalanche, BSC, Fantom, FUSE, Gnosis Chain, Harmony, Near, Optimism, and more. ### How much does Pokt Network cost? Pokt does not publish traditional pricing on its website. The network provides free access up to certain request thresholds. Beyond those limits, users must contact Pokt for custom pricing. While the decentralized model allows Pokt to support many chains, the lack of dedicated client nodes can occasionally lead to variable performance and reliability. ## 12. InfStones **InfStones** provides infrastructure for over 60 blockchains and has notable enterprise partnerships — [Binance](https://www.alchemy.com/dapps/binance) selected InfStones to provide its validation nodes and underlying Ethereum infrastructure support. ### Which blockchains does InfStones support? InfStones offers access to **60+ chains** including Ethereum, BSC, Cosmos, and many more. ### InfStones features InfStones offers robust API security features including access control, whitelists, password protection, dedicated IP addresses, and cost caps for projects. Their advanced API logging helps developers track errors, response times, and project status around the clock. ## How to choose the best blockchain node provider in 2026 The node provider landscape has matured significantly. Here are the key factors to consider when making your decision: **Pricing model transparency.** In 2026, most providers use compute unit or credit-based pricing, but these units are not standardized. A single `eth_call` can cost anywhere from 1 credit to 200 credits depending on the provider. Always normalize costs to your actual method mix before comparing headline prices. **Chain coverage.** If you're building exclusively on Ethereum, most providers will work well. But if your application spans multiple chains or includes newer Layer 2s, look for providers with comprehensive multi-chain support under a single API key and billing account. **Archive and trace access.** Archive access enables queries against historical state that other node configurations may prune. It matters for applications that query older balances, contract state, or transaction execution. Some providers include archival requests in a free usage allowance, while others charge separately. **Performance and reliability.** Top-tier providers routinely commit to 99.9–99.99% availability. Look at median (p50) and 95th-percentile (p95) latency in your target regions, compare [live RPC provider benchmarks](https://www.alchemy.com/benchmarks), and verify that uptime is backed by contractual SLAs, not just marketing claims. **Security and compliance.** For regulated applications, verify SOC 2 Type II, ISO 27001, and other certifications. QuickNode currently holds the broadest compliance portfolio, while Alchemy and Chainstack also hold SOC 2 Type II. **Developer experience.** Enhanced APIs for NFTs, tokens, webhooks, and transaction simulation can save hundreds of engineering hours. Evaluate whether the provider's tooling accelerates your specific development workflow. **Multi-provider strategy.** Best practice in 2026 is to run at least two providers with automated failover. Use a high-performance primary provider like Alchemy or QuickNode, with a cost-effective secondary like dRPC or Ankr for redundancy. ## Get started today There are many strong options for choosing a blockchain node provider in 2026. Between reliability guarantees, pricing models, chain support, enhanced APIs, compliance certifications, and support quality, the right choice depends on your specific needs and workload. Spend time benchmarking with real traffic, and choose the partner best positioned to help you scale. Get your [free RPC endpoint](https://dashboard.alchemy.com/?utm_source=overview&utm_medium=overview&utm_campaign=node) from Alchemy today. ## Frequently Asked Questions ### What is a blockchain node provider? A blockchain node provider operates nodes or coordinates access to node infrastructure for developers to use through APIs, reducing the need to run and maintain that infrastructure yourself. ### Why should I use a node provider instead of running my own node? Running your own node is time-consuming, difficult to manage, and resource-intensive. Node providers can reduce self-hosting costs and development time while adding features such as service-level agreements, certified security controls, and enhanced APIs. ### What's the difference between shared and dedicated nodes? Shared nodes serve multiple customers on pooled infrastructure, offering cost-effective access. Dedicated nodes reserve infrastructure for one customer, which can reduce resource contention and provide more predictable performance and configuration options at a higher cost. ### What are archive nodes and when do I need them? Archive nodes retain historical blockchain state that other node configurations may prune. You need archive access when an application must query older balances or contract state directly, although the exact retention and terminology vary by chain and client. Applications can also use indexed data APIs for many historical-data queries. ### What are compute units and why do they matter? Many providers measure API usage with weighted units such as compute units or credits. Each provider defines its own weights by method, so compare the effective cost of your expected request mix rather than comparing raw unit allowances. ### Do blockchain node providers offer free tiers? Yes, many major providers offer free tiers. Alchemy includes archive requests within its 30 million CU monthly allowance, while other providers publish allowances in credits or requests. Because those units are not directly comparable, check method weights, throughput limits, supported networks, and data access before deciding whether a free tier fits your application. ### What should I consider when comparing blockchain node providers? Key factors include supported networks, pricing model and effective cost per call, reliability and uptime SLAs, available enhanced APIs, customer support quality, compliance certifications such as SOC 2 and ISO 27001, and whether you need features like archive access, dedicated nodes, or multi-chain support. ### What enhanced APIs do node providers typically offer? Enhanced APIs provide indexed blockchain data or specialized node methods beyond basic RPC requests. Common examples include token balances, NFT metadata, token prices, webhooks, transaction simulation, and debug or trace endpoints. These APIs can reduce the custom indexing and infrastructure code a team needs to maintain. --- # Enterprise Blockchain RPC Provider Evaluation Guide URL: https://www.alchemy.com/overviews/blockchain-rpc-infrastructure-evaluation-guide-for-enterprises.md When your application leverages the blockchain, choosing the right [RPC \(Remote Procedure Call\)](/rpc-api) infrastructure provider directly impacts your customer experience at scale. Your RPC provider handles every interaction between your application and the blockchain—determining whether transactions complete in seconds or minutes, whether your application stays online during peak demand, and whether you can deliver the seamless, reliable experiences users expect. Many enterprises approach this decision without the proper framework, leading to costly migrations, compliance gaps, or performance issues that undermine adoption. This guide provides a comprehensive evaluation framework for enterprise decision-makers, technical architects, and procurement teams. Whether your end users are blockchain-native crypto enthusiasts or mainstream consumers who've never touched web3, we've organized the critical questions you need to ask—starting with universal criteria that apply to every enterprise, then diving into specialized considerations for financial services and consumer applications. ## Universal evaluation criteria: essential for all enterprises These foundational questions apply regardless of your specific use case or industry. ### Performance and reliability **What are your uptime SLAs and historical uptime metrics?** Enterprise operations demand the highest levels of reliability. Look for providers offering 99.99% uptime guarantees backed by financial penalties. Request access to their public status page and ask for detailed incident post-mortems from the past 12 months. Understand what qualifies as downtime and how they calculate uptime. **What is your average response time and latency across different regions?** Global enterprises need consistent performance regardless of where requests originate. Ask for detailed latency metrics \(p50, p95, p99\) across all regions where you operate. Request information about their points of presence and how they route traffic for optimal performance. Use public [RPC provider benchmarks](https://www.alchemy.com/benchmarks) to compare latency, success rates, and failed requests before relying on vendor-provided performance claims. **How do you handle peak load and traffic spikes?** Enterprise workloads can be unpredictable, especially during market events or business-critical periods. Ask about their capacity planning, auto-scaling capabilities, and headroom above your contracted throughput. Request case studies from enterprises with similar scale and traffic patterns. **What redundancy and failover mechanisms do you have in place?** Single points of failure are unacceptable for enterprise infrastructure. Ask about multi-region redundancy, automatic failover procedures, data replication strategies, and how they ensure zero data loss during failovers. For providers offering dedicated infrastructure, ask whether dedicated deployments are configured as redundant clusters (multiple nodes per chain per region) rather than single nodes, and whether traffic can automatically fail over to shared infrastructure when your dedicated capacity is exceeded. Understand their disaster recovery testing schedule and procedures. **What is your infrastructure architecture?** Understanding whether they run bare metal servers, use cloud providers, or employ a hybrid approach impacts your risk assessment. Ask about their relationships with underlying infrastructure providers and what happens if those relationships change. ### Supported networks and capabilities **Which blockchain networks and protocols do you support?** Enterprises often need to interact with multiple networks. Verify support for [public chains](https://www.alchemy.com/rpc) \(Ethereum, Solana, Bitcoin\), private/permissioned networks \(Hyperledger, Corda\), and Layer 2 solutions relevant to your use case. Ask about their roadmap for adding new networks. **Do you support both public and private node deployment options?** Some enterprise use cases require private nodes or on-premises deployment. Ask whether they support dedicated nodes, single-tenant clustered deployments, virtual private clouds, hybrid cloud configurations, or on-premises installations. For dedicated offerings specifically, ask whether you can deploy custom tracers or binaries directly on your nodes (important for simulation, tracing, and indexing workloads), what regions are available, and whether hardware configurations can be tailored to your traffic shape. Understand the performance and pricing differences between options, including whether dedicated infrastructure uses fixed monthly pricing or per-request billing. **What are your archive node capabilities?** Enterprise applications often require historical data access for auditing, reporting, or analytics. Archive nodes are expensive to maintain, so ask about data retention periods, query performance on historical data, and whether archive access requires a premium tier. **What enhanced APIs and services do you offer beyond basic RPC?** Efficiency matters at enterprise scale. Ask about value-added services like [transaction bundling](/gasless-transactions), gas optimization, decoded transaction data, [token APIs](/token-api), webhook notifications, and blockchain analytics that can reduce your development overhead. ### Security and compliance **What security certifications and attestations do you maintain?** Enterprise procurement requires documented [security practices](/security). At minimum, look for SOC 2 Type II certification. Depending on your industry, you may also need ISO 27001, PCI DSS, FedRAMP, or industry-specific certifications. Request copies of recent audit reports. **How do you handle compliance with global data protection regulations?** Enterprises operating internationally must comply with GDPR, CCPA, and other regional privacy laws. Ask about data residency options, data processing agreements, their role as data processor vs. controller, and how they handle data subject requests. **What is your vulnerability management and patching process?** Ask about their security testing schedule, penetration testing frequency, bug bounty programs, and typical time-to-patch for critical vulnerabilities. Understand how they communicate security issues to customers. **How do you manage API keys and authentication?** Beyond basic API keys, enterprises need sophisticated access control. Ask about OAuth 2.0 support, SAML integration, role-based access control \(RBAC\), API key rotation procedures, IP allowlisting, and support for your existing identity management systems. **What DDoS protection and rate limiting do you provide?** Your blockchain endpoints are potential attack vectors. Ask about their DDoS mitigation strategies, whether protection is included or additional cost, and how they handle sophisticated application-layer attacks. **Do you maintain detailed audit logs and support SIEM integration?** Enterprise security teams need comprehensive logging. Ask about log retention periods, what events are logged, log format and structure, and whether they support integration with common SIEM tools like Splunk, Sumo Logic, or Azure Sentinel. **What is your incident response and breach notification policy?** In regulated industries, you may be required to report security incidents within specific timeframes. Understand their incident response procedures, notification timelines, and whether they've experienced any security incidents in the past 24 months. **Do you carry cyber insurance and what does it cover?** Ask about their cyber insurance coverage limits, what scenarios are covered, and whether customers are named as additional insureds. This provides an additional layer of protection for your enterprise. ### Business continuity and risk management **What is your disaster recovery plan and how often is it tested?** Request documentation of their disaster recovery procedures, including Recovery Time Objective \(RTO\) and Recovery Point Objective \(RPO\). Ask how often they conduct disaster recovery drills and when the last test occurred. **What is your business continuity plan if your company faces financial difficulties?** Understanding vendor stability is critical for long-term partnerships. Ask about their financial backing, runway, profitability status, and what provisions exist to protect customers if the company is acquired or goes out of business. **How do you manage third-party dependencies?** Your provider likely depends on cloud infrastructure, network providers, and other services. Ask about their vendor management program, how they assess third-party risk, and what alternatives exist if a critical vendor relationship fails. **What happens during a major blockchain network disruption?** When the underlying blockchain faces issues \(network splits, consensus failures, major upgrades\), how does your provider respond? Ask for examples of how they've handled past network incidents. ### Pricing and commercial terms **What is your pricing model and how predictable are costs?** Enterprise budgets require predictability. Understand whether pricing is based on compute units, requests, data transfer, or a combination. Ask for detailed examples showing how typical workloads translate to costs, and whether they can cap monthly spend. **What volume discounts and enterprise pricing are available?** As an enterprise customer, you should receive preferential pricing. Ask about volume commitments, annual prepayment discounts, and whether they offer graduated pricing tiers that automatically reduce costs as usage grows. **What are the contract terms and what flexibility do you offer?** Understand minimum contract length, renewal terms, price escalation clauses, and termination provisions. Ask about flexibility to adjust committed volumes and what happens if you significantly exceed or underutilize your commitment. **Are there any hidden costs or additional fees?** Beyond base pricing, ask about charges for premium support, archive node access, additional API methods, data egress, WebSocket connections, or accessing usage beyond certain thresholds. Get complete pricing transparency upfront. **What are the financial penalties for SLA violations?** SLAs without teeth are meaningless. Understand service credits for downtime, how to claim them, caps on total credits, and whether credits are your sole remedy for service failures. ### Vendor management and governance **Who will be our primary points of contact?** Enterprise relationships require clear ownership. Ask about dedicated account management, technical account managers, customer success resources, and escalation procedures for urgent issues. **What is your change management and communication process?** Enterprises need advance notice of changes. Ask how they communicate planned maintenance, deprecations, API changes, and pricing modifications. Understand typical notice periods and whether you have input on change timing. **How do you handle service requests and feature requests?** Ask about their product roadmap process, how customer feedback influences development priorities, and whether enterprise customers get early access to new features or beta programs. **What governance structure exists for enterprise customers?** Some providers offer customer advisory boards, executive business reviews, or other governance mechanisms. Ask what's available and how enterprise customers influence the product direction. ### Support and service delivery **What support tiers are available and what's included?** Compare support levels including response time SLAs, available channels \(email, phone, chat, dedicated Slack\), support hours, and whether you get access to solutions architects or technical account managers. **What is your typical response and resolution time for critical issues?** SLAs should specify both initial response time and resolution targets for severity levels. Ask to see their actual performance against these SLAs and what percentage of issues are resolved within target timeframes. **Do you provide onboarding and implementation support?** Enterprise implementations are complex. Ask about professional services for architecture reviews, implementation assistance, performance optimization, and training for your technical teams. **What ongoing optimization and advisory services do you provide?** Beyond break-fix support, ask whether they proactively monitor your usage patterns, recommend optimizations, conduct quarterly business reviews, and help you stay current with blockchain best practices. ### Monitoring and observability **What monitoring and alerting capabilities do you provide?** Enterprise teams need real-time visibility. Ask about dashboards, custom alerting based on your thresholds, integration with your existing monitoring tools, and whether they provide public status pages. **What metrics and analytics are available?** Beyond basic uptime monitoring, ask about detailed performance metrics, usage analytics, cost analysis tools, and whether data can be exported to your business intelligence platforms. **How do we track and manage our API usage across teams?** Large enterprises need usage attribution. Ask about tagging, cost centers, department-level reporting, and whether you can set spending limits or alerts for different business units. **Do you provide transparency into your infrastructure health?** Ask whether they publish real-time infrastructure metrics, what visibility you have into the health of nodes serving your requests, and whether you can access detailed logs for debugging. For dedicated deployments, ask whether you get node-level observability (e.g., Grafana dashboards covering node health, request patterns, and cluster performance) rather than aggregate metrics alone. ### Integration and migration **How easy is it to integrate with our existing systems?** Ask about SDK availability for your technology stack, sample code and reference architectures, CI/CD pipeline integration, and whether they provide technical resources to assist with integration. **What migration support do you offer?** If you're switching from another provider or self-hosted nodes, ask about migration planning assistance, data migration tools, parallel running support, and how to minimize downtime during cutover. **Can you support our hybrid or multi-provider strategy?** Some enterprises want redundancy across providers. Ask whether they support hybrid architectures, how to implement active-active or active-passive configurations, and any restrictions on using their service alongside competitors. **What is your policy on vendor lock-in?** Avoid providers using proprietary APIs. Ensure they use standard JSON-RPC interfaces and open protocols so you maintain flexibility to change providers if needed. ## For financial services & payment infrastructure: additional critical questions If your enterprise is building [payments infrastructure](/payments), stablecoin services, trading platforms, custody solutions, or other [financial applications](/fintech), these additional questions are essential. ### Regulatory compliance and governance **What regulatory frameworks do you operate under?** Ask about their registration status with relevant authorities \(FinCEN, state money transmitter licenses, international equivalents\), any regulatory examinations they've undergone, and their strategy for staying compliant as regulations evolve. **How do you support our compliance obligations?** Understand what compliance-related documentation they provide \(audit reports, compliance matrices, data processing agreements\), whether they'll complete your vendor questionnaires, and how they support your audit requirements. **What controls exist for transaction monitoring and sanctions screening?** Financial institutions may need to screen transactions against OFAC sanctions lists or flag suspicious activity. Ask what tools or APIs they provide to support these requirements, or how their infrastructure integrates with your compliance systems. **Can you support data residency and sovereignty requirements?** Financial regulations often require data to remain within specific geographic boundaries. Ask about regional deployment options, where data is processed and stored, and how they ensure compliance with data localization requirements across jurisdictions. If your obligations require single-tenant infrastructure in specific regions, ask whether the provider offers dedicated, single-tenant deployments in those regions and whether the underlying hardware can be configured to your requirements. **How do you handle requests from law enforcement or regulators?** Understand their policies for responding to subpoenas, warrants, or regulatory inquiries. Ask about their track record with regulatory examinations and how they notify customers when legally permitted. **Do you maintain segregation of customer funds and data?** If you're handling customer assets, ask whether their infrastructure supports logical separation of customer data and whether they can provide dedicated infrastructure that's isolated from other customers. For institutions that need to demonstrate to auditors that no other customer's traffic, code, or data has touched their environment, look specifically for single-tenant clustered deployments backed by SOC 2 Type II controls — [Alchemy's Dedicated Clusters](/dedicated-clusters) are one example, providing fully isolated, single-tenant node infrastructure with audit-ready controls and the option to deploy custom tracers or binaries directly on your nodes. ### Financial services-specific security **What anti-money laundering \(AML\) controls do you have?** While infrastructure providers aren't typically regulated as money services businesses, ask how they ensure they're not facilitating illicit activity and what customer due diligence they perform. **How do you ensure transaction finality and immutability?** In financial services, you can't afford to act on transactions that might be reversed. Ask how they handle finality, whether they support finality callbacks, confirmation depth recommendations, and what guarantees they can provide around transaction settlement. **What fraud detection and prevention capabilities exist?** Ask whether they provide tools to detect unusual patterns, rate limiting to prevent abuse, or integration points with fraud detection systems. Understand how quickly they can block compromised API keys. **Do you support multi-signature and hardware security module \(HSM\) integration?** High-value financial operations often require multi-sig wallets or HSM-backed key management. Ask about their support for these security models and whether they offer key management as a service. ### Financial operations and reconciliation **What support do you provide for financial reconciliation?** Financial institutions need detailed transaction records for reconciliation. Ask about transaction receipt guarantees, idempotency handling, detailed transaction logs with timestamps, and whether they provide reconciliation reports. **How do you handle failed transactions and retries?** In payments, understanding transaction state is critical. Ask how they handle nonce management, gas price estimation, transaction replacement, and whether failed transactions count against your usage limits. **Can you support high-value transaction workflows?** For security and compliance, you may need to flag or delay high-value transactions. Ask if they offer transaction monitoring tools, approval workflows, or can support custom logic for transaction authorization. **What reporting capabilities do you offer for financial audits?** Ask about historical reporting, audit trails, the ability to export complete transaction histories, and whether reports can be customized to meet your specific audit requirements. ### Business continuity for financial services **What is your RTO/RPO for financial services customers?** Financial operations have zero tolerance for data loss. Ask about guaranteed recovery time objectives and recovery point objectives specifically for financial services customers, which may differ from standard SLAs. **Do you maintain errors and omissions \(E&O\) insurance?** Beyond cyber insurance, E&O insurance protects against professional negligence or mistakes in service delivery. Ask about coverage limits, whether financial losses are covered, and whether customers are named as loss payees. **What is your approach to change management for critical systems?** Financial infrastructure requires careful change control. Ask about their change approval process, how they test changes that might impact financial operations, and whether you can participate in beta testing. **How do you handle blockchain hard forks and network upgrades?** Network changes can impact financial operations. Ask about their notification process for upcoming forks, how they handle chain splits, whether they support both sides of contentious forks, and their testing process before major network upgrades. ### Financial services pricing considerations **How do you charge for failed transactions?** In financial applications, failed transactions \(insufficient gas, rejected by smart contract\) are common. Clarify whether these count against compute units and how this impacts your cost model. **What pricing predictability can you offer for financial operations?** Budget certainty is critical for financial services. Ask about fixed-price contracts, spending caps, and whether they can provide predictable pricing despite blockchain network fee volatility. For high-throughput or specialized workloads, ask whether dedicated infrastructure with fixed monthly pricing (rather than per-request billing) is available. **Do you offer pricing models based on transaction value?** Some financial services providers may prefer pricing tied to transaction volume or value rather than compute units. Ask about alternative pricing structures for financial use cases. ## For consumer applications & digital experiences: additional key questions If your enterprise is building consumer-facing blockchain applications—whether gaming, loyalty programs, digital collectibles, social platforms, or Web3 experiences—these questions will help you deliver exceptional user experiences at scale. ### User experience and onboarding **What wallet and authentication solutions do you offer?** Consumer adoption depends on seamless onboarding. Ask about embedded wallet solutions, social login integration \(Google, Apple, etc.\), email-based wallet creation, and whether users can get started without understanding Web3 concepts. **How do you handle gasless transactions and gas sponsorship?** Gas fees are a major barrier to consumer adoption. Ask about their gas manager capabilities, how many gasless transactions they can process per second, pricing models for sponsored gas, spending limits, and whether you can set rules for which transactions get sponsored. **What is the time-to-first-transaction for new users?** Consumer apps need instant gratification. Ask about their wallet creation speed, whether transactions can be submitted immediately, and what the end-to-end latency is from user signup to first confirmed transaction. **Do you support account abstraction and smart wallets?** Modern consumer apps benefit from smart contract wallets that enable features like social recovery, session keys, and batched transactions. Ask about their [smart wallet](https://www.alchemy.com/smart-wallets) implementation, ERC-4337 support, and what advanced features are available. **How do you handle wallet recovery?** Consumers lose seed phrases. Ask about social recovery mechanisms, email backup, multi-device sync, and how your app can help users recover access without compromising security. ### Performance for consumer scale **What throughput can you support during viral moments?** Consumer apps can explode overnight—going from thousands to millions of users in days. Ask about their maximum throughput, auto-scaling response time, whether there are caps that would kick in during viral growth, and case studies of applications that successfully scaled on their platform. **How do you handle NFT minting and drops at scale?** NFT drops can generate massive transaction spikes. Ask about their experience supporting large-scale mints, whether they offer queuing mechanisms, how they handle mempool competition, and pricing for burst workloads. **What is your WebSocket stability and capacity?** Real-time features like live feeds, notifications, and multiplayer experiences depend on WebSockets. Ask about concurrent connection limits, reconnection handling, whether subscriptions persist across disconnections, and pricing for WebSocket usage. **Can you support real-time features like leaderboards and live activity?** Consumer apps often need real-time blockchain data. Ask about their data freshness guarantees, whether they offer filtered subscriptions to reduce bandwidth, and latency from chain to your application. ### Consumer-focused APIs and tools **What NFT-specific features and APIs do you offer?** If your app involves digital collectibles, you'll need specialized tools. Ask about NFT metadata APIs, automatic IPFS resolution, thumbnail generation and caching, rarity calculations, collection analytics, and whether they support all major NFT standards across multiple chains. **Do you provide token and pricing APIs?** Consumer apps often need to display token balances and values. Ask about real-time token price feeds, multi-chain token balance APIs, transaction history, and whether they support long-tail tokens beyond top 100. **What notification and webhook capabilities do you offer?** Engaging users requires timely notifications. Ask about webhook reliability, filtering options, whether they support user-specific notifications, delivery guarantees, and retry logic. **Can you help with wallet portfolio and transaction history?** Consumer apps need to show users their activity. Ask about APIs for transaction history, portfolio valuation over time, categorized transactions, and whether data can be exported for tax purposes. ### Developer velocity and iteration **How fast can we deploy and test new features?** Consumer apps need to iterate quickly based on user feedback. Ask about testnet support and faucets, how easy it is to switch between networks, local development tools, and whether they offer sandbox environments. **What pre-built UI components and templates do you offer?** Shipping faster means reusing components. Ask about wallet connection buttons, transaction status displays, NFT galleries, token swap interfaces, and whether these components are customizable to match your brand. **Do you provide analytics for understanding user behavior?** Beyond infrastructure metrics, consumer apps need product analytics. Ask about user cohort analysis, transaction funnel tracking, user journey mapping, and whether data integrates with tools like Mixpanel or Amplitude. **What testing and simulation tools do you provide?** Consumer apps need to test edge cases. Ask about transaction simulation, gas estimation accuracy, forking mainnet for testing, and whether you can replay historical transactions. ### Cost optimization for high-volume consumer apps **Can you help us optimize compute unit usage?** Consumer apps often make many small requests that add up. Ask about consulting services for cost optimization, batching recommendations, caching strategies, and whether they provide tools to identify expensive operations. **What are your pricing models for consumer-scale applications?** Consumer apps have unpredictable growth and thin margins. Ask about pay-as-you-go options, committed use discounts, startup programs with credits, and whether pricing can flex with your growth trajectory. **How do you charge for common consumer app operations?** Understand the cost of typical operations: wallet creation, balance checks, NFT metadata queries, transaction submissions, and failed transactions. Model your projected costs based on realistic usage patterns. **Do you offer pricing caps or budget alerts?** Viral growth shouldn't break your budget. Ask about spending limits, whether service continues if you hit limits \(with throttling\) or stops entirely, and whether you can set up alerts before hitting thresholds. ### Consumer app-specific support **Do you have experience with consumer applications in our category?** Ask for case studies from gaming companies, social apps, loyalty platforms, or whatever category matches your use case. Understand challenges they faced and how the provider helped solve them. **What resources do you offer for consumer app best practices?** Look for tutorial content, sample applications you can reference, design patterns for consumer onboarding, and whether they publish guidelines for building consumer-friendly Web3 experiences. **Do you have a developer community for consumer app builders?** Consumer app developers learn from each other. Ask about Discord channels, forums, office hours, and whether they facilitate connections between teams building similar applications. **What programs exist for early-stage consumer apps?** Many providers offer startup programs. Ask about available credits, technical support, co-marketing opportunities, investor introductions, and what the application requirements are. ### User privacy and data protection **How do you handle user data for consumer applications?** Even though blockchain is public, user metadata isn't. Ask about their data collection practices, whether they correlate addresses with IP addresses, data retention policies, and how they protect user privacy. **Can you support regional content restrictions?** Consumer apps operating globally may need to restrict access based on jurisdiction. Ask whether they support geo-blocking, how they handle VPN traffic, and what compliance support they offer for regional regulations. **What age verification and child safety features exist?** Consumer apps accessible to minors need safeguards. Ask about age verification support, parental consent mechanisms, and how to ensure COPPA compliance if applicable. ## Proof of concept and pilot evaluation Before making a final decision, conduct a thorough proof of concept: Run realistic workload tests that mirror your expected production traffic patterns. Test during both normal operations and simulated peak loads. Measure actual latency, throughput, and reliability under conditions that match your use case. Evaluate the developer experience by having your engineering team build a prototype integration. Assess documentation quality, SDK maturity, error handling, example code relevance, and how quickly they can implement your specific use case. Test support responsiveness by opening tickets during your evaluation period at different times and severity levels. Assess response times, quality of answers, whether support engineers understand your industry and use case, and escalation procedures. Review all documentation including architecture diagrams, security documentation, compliance attestations, API references, and SLA definitions. Ensure documentation is current, comprehensive, and matches your technical requirements. Conduct vendor reference calls with enterprises of similar size, industry, and use case. Ask candid questions about their experience, challenges they've encountered, how the provider responded to issues, cost predictability, and whether they'd choose the same provider again. Perform a security assessment or request to review their most recent penetration test results. For high-security use cases, consider engaging a third-party security firm to assess their infrastructure and practices. Run a detailed cost model based on your projected usage patterns at different scale points. Ensure you understand how costs will scale, account for potential overages, and verify the pricing model aligns with your budget and growth projections. Test the worst-case scenarios relevant to your use case. For financial services, test their response to failed transactions and network congestion. For consumer apps, test behavior during traffic spikes and rapid user growth. ## Making the decision Choosing a blockchain infrastructure provider is a strategic decision that will impact your enterprise's blockchain initiatives for years. This isn't just a technical decision—it requires input from engineering, security, compliance, legal, procurement, and business stakeholders. Create a formal evaluation matrix with weighted criteria based on what matters most to your organization and use case. Security and compliance might weigh heavily for financial services, while scalability and developer experience might be paramount for consumer apps. Score each vendor objectively and document your rationale. Consider the total cost of ownership beyond just the provider's fees. Factor in integration costs, training, ongoing management overhead, the opportunity cost of delayed launches, and the substantial risk and cost of switching providers later if the relationship doesn't work. Assess strategic alignment beyond current capabilities. Does this provider understand your industry and use case? Are they investing in the networks and features you'll need in 12-24 months? Do they have a track record with enterprises of your size? Will they be a strategic partner or just a vendor? Evaluate their trajectory and stability because migrating blockchain infrastructure is complex and disruptive. Consider their funding, customer growth, market position, and whether they'll be able to support you as you scale from pilot to millions of users. Plan for the long term and choose a provider you can grow with. The right infrastructure provider becomes an extension of your team—enabling innovation, absorbing complexity, and providing strategic guidance as blockchain becomes more central to your operations. The questions in this guide represent lessons learned from hundreds of enterprise blockchain deployments. Use this framework to thoroughly evaluate your options, and you'll establish a foundation for successful enterprise blockchain deployment that scales with your ambitions. ## About Alchemy Alchemy powers the world's leading blockchain applications with enterprise-grade infrastructure built for scale, security, and reliability. Trusted by industry leaders across financial services and consumer applications—including Visa, Circle, Robinhood, Stripe, OpenSea, World, and Polymarket—we provide the infrastructure that enables enterprises to deploy blockchain technology with confidence. Our platform is powered by [Cortex](/cortex), the world's first intelligent blockchain engine, delivering 99.99% uptime with 13x more throughput and 5x more reliability than other providers. Alchemy handles $1T+ in transactions annually, serving more than 100 million end users across financial services, payments, gaming, social applications, and digital collectibles. **Why enterprises choose Alchemy:** - **Enterprise-grade reliability:** 99.99% uptime backed and 24/7/365 support from blockchain infrastructure experts - **Comprehensive compliance:** SOC 2 Type II certified with dedicated support for regulated industries - **100\+ networks supported:** From Ethereum and Solana to enterprise-focused Layer 2 solutions optimized for your use case - **Complete platform:** Beyond RPC infrastructure, implement seamless experiences for users with gasless transactions, NFT APIs, portfolio APIs, websockets, and analytics—eliminating the need for multiple vendors - **Flexible deployment options:** Shared infrastructure for most workloads, plus [Dedicated Clusters](/dedicated-clusters) for teams with hard requirements around regulatory isolation, custom tracers and binaries, regional deployment, or predictable fixed-cost pricing - **Battle-tested at scale:** Proven infrastructure handling both institutional financial workloads and viral consumer applications with automatic scaling and robust redundancy - **Strategic partnership:** Dedicated account teams, technical architects, and executive engagement to support your blockchain initiatives from pilot to production scale Whether you're building the next generation of financial infrastructure or creating breakthrough consumer experiences, Alchemy provides the foundation and expertise you need to succeed with blockchain technology. Ready to discuss your enterprise blockchain infrastructure needs? [Contact our enterprise team](/contact-sales) to schedule a consultation and technical deep-dive tailored to your use case. ## Frequently asked questions ### What are the most important performance metrics to evaluate in an enterprise blockchain RPC provider? Focus on uptime SLAs (look for 99.99% guarantees), average response time and latency metrics (p50, p95, p99) across regions, and capacity for handling peak load and traffic spikes. ### How important is multi-chain support for enterprise blockchain infrastructure? Multi-chain support is critical as enterprises often need to interact with multiple networks including public chains, private/permissioned networks, and Layer 2 solutions. Look for providers supporting 100+ networks with unified APIs. ### What security certifications should an enterprise RPC provider maintain? At minimum, require SOC 2 Type II certification; depending on your industry, you may also need ISO 27001, PCI DSS, or FedRAMP, along with comprehensive vulnerability management and DDoS protection. ### How should enterprises assess scalability for blockchain applications? Check for auto-scaling capabilities, load balancing, and proven case studies from enterprises with similar scale and traffic patterns; conduct realistic workload tests during your proof of concept phase. ### What compliance considerations are essential for financial services using blockchain RPC infrastructure? Verify the provider operates under relevant regulatory frameworks, supports data residency and sovereignty requirements, maintains detailed audit logs for reconciliation, and can provide compliance documentation for your specific obligations. For institutions requiring single-tenant isolation, evaluate whether the provider offers dedicated, audit-ready infrastructure deployed in your required regions. ### What cost factors should enterprises consider beyond base RPC pricing? Factor in premium support fees, archive node access, additional API methods, data egress, failed transaction charges, and the total cost of ownership including integration costs, training, and potential migration costs. ### How can enterprises verify an RPC provider's reliability before committing? Request access to their public status page and detailed incident post-mortems from the past 12 months, conduct realistic workload tests during a proof of concept, and perform vendor reference calls with similar enterprises. ### What support capabilities are critical for enterprise blockchain infrastructure? Look for 24/7 support with clear response time SLAs, dedicated account managers and technical architects, onboarding and implementation support, and proactive optimization services including quarterly business reviews. ### What features should consumer-facing blockchain applications prioritize in an RPC provider? Prioritize gasless transaction support, embedded wallet solutions with social login, high WebSocket capacity for real-time features, NFT-specific APIs, and the ability to handle viral traffic spikes with auto-scaling. ### How should enterprises approach the blockchain RPC provider selection decision? Create a formal evaluation matrix with weighted criteria, involve stakeholders from engineering, security, compliance, legal, and procurement, conduct a thorough proof of concept, and assess strategic alignment and long-term partnership potential. --- # How to Buy an Ethereum Name Service (ENS) Domain URL: https://www.alchemy.com/overviews/buy-ens-domain.md ## What are Ethereum name service \(ens\)? Addresses are a critical component of how we interact with the blockchain since they are the primary means through which transactions are received and transmitted.  Addresses take the shape of a lengthy string of letters and numbers. As a result, it's all too simple to make costly mistakes, such as sending money to the wrong address. The complexity of addresses also can impact the user experience of decentralized apps, since they frequently have to identify you by this non-memorable string. There are no other parts of digital technology in which ordinary people are expected to utilize anything like this on a regular basis.  Human-readable and accessible names typically improve user experience, lower the likelihood of mistakes, and make it simpler to form communities around an identity. Enter the Ethereum Name Service \(ENS\)! ## Machine-readable addresses vs human-readable names The [Ethereum Name Service](https://ens.domains/) is a service that allows you to map a human-readable name \(ENS name\) to your Ethereum wallet address. It makes the notion of blockchain identities much more accessible/friendly, because other individuals \(and [apps](https://www.alchemy.com/dapps/top/defi-dapps)\) can now identify you with a memorable name.  Simply put, it's a URL for your cryptocurrency or web wallet. It works in the same way as the internet and can help you discover a website quickly. A .eth domain name makes connecting to your web3 wallets and apps easier.  ## How do you buy an ENS name? 1. Go to [app.ens.domains](http://app.ens.domains/) [‍](http://app.ens.domains/)2. Click the "Connect" button in the top left corner and select your wallet 3. Search for the .eth ENS name you're looking to purchase 4. If it's available to purchase, pick a time period \(in years\) to register the name for 5. If you accept the ENS domain cost and gas fees, you can register the domain 6. Sign the first of two transactions to request ENS domain registration 7. Wait 1 minute after the transaction is confirmed to guarantee no one else attempted to register the domain name within the same time period. 8. Sign the second transaction by selecting "Register." After the second transaction is validated on Ethereum, you will own a .eth domain name and be able to view it in your wallet as a collection available on [OpenSea](https://www.alchemy.com/dapps/opensea) and [Rarible](https://www.alchemy.com/dapps/rarible). ## Ethereum name service and the Web3 experience ENS is designed for Web3, and its implementation significantly simplifies the whole Web3 experience for organizations and users. Imagine being able to connect with, pay for, and communicate with a business by only knowing its alias.  Alternatively, from an individual standpoint, consider having a single.eth domain name that serves as your worldwide alias for your online presence, with subdomains referring certain actions: pay.johndoe.eth, connect.johndoe.eth, and hire.johndoe.eth.   ENS, domain names \(or pseudonyms\) might become an individual's or entity's primary online ID, expressing the broad diversity of underlying layers available and effectively combining all identities and use cases under a decentralized name. --- # What is Candy Machine v2? A Complete Guide URL: https://www.alchemy.com/overviews/candy-machine-v2.md Candy Machine is a Solana-based program developed by [Metaplex](https://www.alchemy.com/dapps/metaplex) Studios, an NFT ecosystem for marketplaces, games, and arts & collectibles, to reliably sell non-fungible tokens \(NFTs\). The studio and its community have been moving fast to support several thousand NFT developers and the [most popular Solana NFT collections](https://www.alchemy.com/overviews/solana-nft-collections) and creators who are interested in launching their very own NFT projects on the Solana blockchain network. [Metaplex](https://www.alchemy.com/overviews/metaplex) is a collection of tools, smart contracts, and other technologies that have been designed to make the process of minting and releasing NFTs simpler. Metaplex has three major projects; Token Metadata, Candy Machine, and Auction House. For the purposes of this article, we will solely focus on Candy Machine, often described as working like the gumball-style candy machine where users insert one token to receive an NFT. The program uses the Metaplex command line interface \(CLI\) to generate an NFT, connect relevant metadata and an image to the NFT token, and ultimately set-up a fair auction. This implies that end-users are unable to purchase NFTs ahead of the mint time and once the limit of NFT mints has been reached, no more are generated. In addition to generative NFTs, creators can also generate [1-of-1 NFTs](http://www.alchemy.com/overviews/solana-1-of-1-nfts) or even semi-fungible tokens for their respective communities. Moreover, Candy Machine’s name has been derived from a real-world mechanical candy machine. This is because there is a general expectation that once an individual puts a token into the machine, they will only receive one item. Of course, there are some exceptions such as when the Candy Machine will return your token if there are no more NFTs left to mint. ### **What is the difference between candy machine v1 and v2?** The second version of Candy Machine provides many functionality improvements over its predecessor. In general, the latest version of the program enables new distribution possibilities and offers enhanced protection from bot attacks, all packaged in the same easy-to-use interface. As a result of the upgrade, Candy Machine v1 has been deprecated and is no longer supported. This means that creating a new instance of Candy Machine v1 is no longer possible and end-users are encouraged to use Candy Machine v2 instead. In Candy Machine v2, Metaplex has introduced improvements associated with how end-users configure Candy Machine and new settings that enable mint pausing at a certain point. In addition, any configuration value can be updated. Nevertheless, here are a few features that developers and creators can be excited about: #### **1. Unpredictable mint index** In the previous version of Candy Machine, it was feasible to estimate the specific NFT that would be minted during a [generative NFT launch](https://www.alchemy.com/overviews/solana-generative-nfts) because the mint would happen in a sequential order. This non-randomized order created the opportunity to be able to choose which NFT to mint, given that all of the information about the items was available on-chain. This provided an unfair advantage to NFT collectors with developer backgrounds. The second-iteration eliminates this possibility by using an unpredictable mint index, which is not possible to predict. This functionality ensures that there’s a level playing field when it comes to minting NFTs using Candy Machine v2.  #### **2. Captcha settings** By incorporating Captchas, mints have now been limited to humans which means far fewer bots. While there are Solana NFT communities that give access to NFT minting bots through their own NFT collection and token-gated Discord, Candy Machine's Captcha settings make it more difficult to auto-mint NFTs using bots. #### **3. Whitelist** Users now have the ability to create numerous configurations for NFT whitelists where users can mint before the official start date, obtain NFTs at discounted prices, or even have exclusive access to mints. Because any SPL token can be used to create whitelists, it is up to the project creator's discretion how they are distributed.  #### **4. Large collection support and hide-and-reveal drops** Using version 2 of Candy Machine it is now possible to create large collections and hide-and-reveal drops by specifying a single hash. Though the hash is the same across all the mints, the name of each item is specified with a unique number, allowing an off-chain process to later update the metadata with the actual item.  ### **What can you build with Candy Machine v2?** Using Candy Machine v2, developers and creators can set up their own Solana NFT shops, add a mint page to their website, and [safely launch a successful NFT project](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project). According to Metaplex, over 11.5 million NFTs have been minted using the organization’s protocols which have provided standards & tools for more than 100,000 projects and online communities.  ### **How does Candy Machine v2 work?** Once you have downloaded the prerequisite Solana developer tools and configured your machine, you should be able to create a new Candy Machine that is ready to mint tokens after initial deployment. Creators who are interested in providing a convenient end-to-end consumer experience should consider providing a frontend minting experience to allow the community the chance to mint as well. Metaplex’s native user interface supports a variety of configurations of Candy Machine v2 such as whitelisting \(for both pre-sale and discounts\) and end-settings \(i.e., automatically adapting the UI components depending on whether the whitelist token is detected or not. ### **What common problems does candy machine solve?** The motivation behind Candy Machine was to address problems with the way NFT drops were being managed and processed on the Solana blockchain. Some important problems that have been addressed in the latest update include the following:  - Acceptance of buyer funds even when the underlying project was out of NFTs to sell  - Not having a precise and global start time  - Projects were not producing consistent, valid NFTs  - Structuring NFT metadata correctly  - Protection from persistent NFT bot attacks  - Creating an on-chain collection of NFTs for authentication purposes In general, there was a clear need to create an easier way to solve the most fundamental problems that buyers, sellers, and marketplaces experienced in the NFT landscape. Metaplex’s Candy Machine addresses these shortcomings in a dynamic way.  ### **Why is it best to build an NFT drop with candy machine?** There are a few reasons why developers should consider using Candy Machine. Even though globally recognized NFT creators use automated minting tools similar to Candy Machine, the Metaplex-developed tool is highly recommended because it is now a fully on-chain distribution program for NFTs. Today, Metaplex’s tool has become common across the industry as a result of its inherent utility, noteworthy documentation, and logic to combat threats such as bot attacks. In conjunction with [Strata](https://www.alchemy.com/dapps/strata)'s Dynamic NFT Pricing Mint tool, creators can reliably launch NFT campaigns on Solana with a simple toolkit. ### **What is a candy machine ID?** Each NFT project using Candy Machine to mint NFTs, is always designated with a unique identifier \(ID\), which developers can use to verify the authenticity of the underlying asset on the Solana blockchain. If the NFT was supposedly generated on Candy Machine but lacks a Candy Machine ID \(CMID\), users should be cautious of minting, buying, or trading for the NFT.  Because each project has a specific CMID, NFT bots will analyze the Solana blockchain to find listed CMIDs and try to mint the NFT before the launch starts. Because NFT sniping tools exist, come NFT projects create honeypots, or fake CMIDs that accept SOL tokens, but don't return an NFT, to deter bots. ## **How to deploy Candy Machine v2** There are a few important steps to follow to ensure Candy Machine v2 is up-and-running. To start, you will need the following [Solana development tools](https://www.alchemy.com/overviews/solana-developer-tools) downloaded on your local machine. If running the program on Mac OS with the Apple M1 chip, additional dependencies will be required.   1. **Git** - an open-source and distributed version control system  1. **Node** - an open-source JavaScript \(JS\) runtime environment that executes JS code outside a web browser  1. **Yarn** - software packaging system developed by Meta Platforms for the Node.js Javascript runtime environment 1. **TypeScript Node** - a TypeScript-based execution environment 1. **Solana CLI** - a command-line interface to interact with the Solana blockchain  1. **Metaplex** - a command-line interface to interact with Metaplex  ### **1. Install metaplex Candy Machine v2** **‍**Developers can clone [the Metaplex repository](https://docs.metaplex.com/guides/candy-machine-ui) by pulling the CLI from GitHub. Subsequently, by downloading the relevant dependences, end-users should be able to compile and run the software. Nonetheless, users should check whether everything has been installed properly and ensure that they have defined environment variables. ### **2. Set up a Solana wallet** **‍**Connect a relevant [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) and add funds to create and deploy a Candy Machine. Users can either rely upon an existing keypair with funds or create a new keypair specifically for this project. Then, add funds. ### **3. Configure candy machine** **‍**Maintain your choice of settings across areas such as whitelisting, Captcha protection, and gatekeeper settings. The Candy Machine reads a JSON file that can be adjusted to your preferences.  ### **4. Prepare your NFTs** **‍**As the Candy Machine is a distribution program for NFTs, it’s important for it to be loaded with your project’s artwork and metadata. Once you have completed the initial preparation, it is critical that you verify that the files are ready to be uploaded. In fact, the Candy Machine CLI provides the `verify_assets` command to check that uploaded assets are in the correct format.  #### **5. Deploy the candy machine** **‍**Once you verify that your keypair has funds and your assets have been uploaded appropriately, you are ready to deploy the candy machine. In addition, you can also confirm whether the upload is ready to be deployed using the Candy Machine CLI.  ### **6. Mint tokens** **‍**Now that you have completed the majority of the initialization steps, your Candy Machine is ready to mint [Solana NFTs](https://www.alchemy.com/dapps/list-of/nft-marketplaces-on-solana). Depending on configurations, it is either restricted to whitelist users or the _goLiveDate_ has not been reached yet. Nevertheless, the owner of the Candy Machine should be ready to mint tokens.  ### **7. Sign mints** **‍**Once you have finished minting, you may want to consider you will want to sign your NFTs to verify yourself as the creator. Being verified means that the creator with that wallet address has signed the NFT, proving that they are the actual creator. Typically, the verified creator will be the Candy Machine by default. This permits the broader marketplace, storefronts, and CLIs to search for NFTs that were minted by a Candy Machine seamlessly and with trust. For example, you could use a [Solana-based NFT analytics tool](https://www.alchemy.com/overviews/solana-nft-analytics-tools) that relies on data being parsed through by a [Solana API](https://www.alchemy.com/solana).  ### **8. Set up a website** **‍**For the most convenient setup, creators are encouraged to use the frontend UI provided by Metaplex. More information on [creating a frontend for your NFT mint](https://docs.metaplex.com/guides/candy-machine-ui), or how to use Candy Machine v2, refer to the official documentation Metaplex. Congratulations! You’re all set and ready to mint your very first NFT using Candy Machine v2. --- # 5 Reasons to Choose Arbitrum for Blockchain Development URL: https://www.alchemy.com/overviews/choose-arbitrum.md Like other Layer 2 scaling solutions, [Arbitrum](https://www.alchemy.com/arbitrum) is designed to increase Ethereum's transaction throughput and lower transaction costs by "rolling up" thousands of transactions into a single block. Unlike "zk-rollup" protocols like [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era), however, Arbtrum uses "optimistic" rollup technology - the main alternative. Optimistic rollups get this name because they optimistically assume that all the transactions contained within a rollup are valid. These networks give everyone on the network a certain amount of time, usually a week, to contest fraudulent transactions. The benefit of this type of rollup is that it’s fast. Because the network assumes that transactions are correct, it doesn’t need to waste time confirming each transaction individually. The drawback of this system is that if a transaction isn't flagged as incorrect then it is processed as valid. Plus, it usually takes about a week to officially withdraw funds from Optimistic networks like Optimism or Arbitrum. This article will break down what Arbitrum is, and the five main reasons that developers choose to develop on it. ## ‍**What is arbitrum?** **Arbitrum is a layer 2 Rollup solution built and maintained by Offchain Labs.** The official launch of the Arbitrum One mainnet took place in August, 2021, and around the same time, Arbitrum announced that it had raised $120 million in a Series B round led by Lightspeed Venture Partners. Arbitrum accelerates Ethereum's computing throughput by executing transactions on its L2 blockchain. By moving the execution of transactions to Arbitrum's L2, users experience faster transactions and pay significantly lower fees. As mentioned before, Arbitrum utilizes "optimistic" rollups to execute its transactions. Optimistic rollups get this name because they _optimistically_ assume that all the transactions contained within a rollup are valid while relying on users to flag invalid transactions. While Ethereum manages a mere 14 transactions per second, Arbitrum can process transactions at nearly 40,000 TPS. For this reason, several decentralized finance protocols, such as [SushiSwap](https://decrypt.co/resources/what-is-sushiswap-how-to-buy-sushi-2021), Curve and Abracadabra have launched their apps on Arbitrum. Data from [DeFi Llama](https://www.alchemy.com/dapps/defillama) show that over $5 billion worth of cryptocurrency is locked up within Arbitrum’s smart contracts. Approximately 30% is from decentralized exchange \([DEX](https://decrypt.co/resources/what-is-decentralized-exchange-dex)\) SushiSwap. ### **What is Arbitrum one and Arbitrum nova?** Within the [Arbitrum ecosystem](https://www.alchemy.com/dapps/ecosystem/arbitrum), Arbitrum One is used as the primary** mainnet, designed to be used for more common decentralized finance use cases** such as trading. On the other hand, Arbitrum Nova is focused on reducing transaction costs for high-throughput [apps](https://www.alchemy.com/dapps/top/defi-dapps), like gaming. Unlike Arbitrum One, Nova validates transactions through a data availability committee \(DAC\). Transaction data is sent to the DAC, which verifies the data and awards it with availability certificates used for posting on the Ethereum blockchain. Due to the design of Arbitrum Nova, where a handful of members of the DAC provide data availability to end users, it is more centralized than Arbitrum One. Centralization is the price it pays to bring down costs. Some members include Google Cloud, Reddit, Offchain Labs, Consensys, QuickNode, and Infura. **Arbitrum Nova chain uses trust assumptions to lower costs.** Nova is well-suited for projects that are cost-sensitive and require high transaction volumes such as web3 social applications and web3 games. ## **5 reasons why developers choose Arbitrum** ### **1. EVM equivalence** The [EVM \(Ethereum Virtual Machine\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) is the computation system that manages the state of the Ethereum blockchain and enables smart contract functionality. Arbitrum supports the EVM by rolling up thousands of transactions into single blocks, which reduces the computing throughput of the mainnet and drives down gas fees. To do so, it's essential that Arbitrum maintains full EVM equivalence. This ensures that blocks completed on Arbitrum are the exact same as those on the Ethereum mainnet. EVM equivalence means Arbitrum smart contracts can be written using EVM programming languages such as [**Solidity and Vyper**](https://www.alchemy.com/overviews/solidity-vs-vyper) without any modification. This gives Arbitrum a significant advantage over other platforms which require knowledge of domain-specific programming languages and tools for development, such as Solana, which is a non-EVM blockchain. Arbitrum has achieved EVM equivalence through **Arbitrum Nitro**. Nitro was launched as a significant upgrade over Arbitrum Classic, and achieves high EVM compatibility, scalability, and lower transaction fees by relying on** WebAssembly\(WASM\)** for low-level instructions. Nitro also uses Geth, which is the most broadly used Ethereum execution client. Geth further improves Arbitrum’s compatibility with the EVM. ### **2. Lower transaction costs** Arbitrum significantly reduces transaction costs on Ethereum due to its optimistic rollup technology. Presently, the high usage rate on the Ethereum blockchain causes users to compete for transactions, driving up transaction costs. **Arbitrum bundles a batch of transactions together as a single transaction before posting it to the Ethereum blockchain, which reduces gas fees.** Arbitrum Nitro significantly reduces transaction costs in two key ways: 1. Data Compression - Nitro uses powerful data compression to reduce the amount of CALLDATA posted on the Ethereum blockchain. 1. Contextualizing Optimistic Execution - Nitro uses WebAssembly instructions to solve disputes during the fraud-proofing process. To further reduce transaction fees, Arbitrum Nova makes trust assumptions by sharing transaction data with the Data Availability Committee instead of posting it to the Ethereum blockchain. Nova is perfect for cost-sensitive applications that are willing to make some compromises on Ethereum’s decentralization and security. ### **3. High scalability** **The Arbitrum blockchain shifts the responsibility of computation and data storage to its layer 2 chain which has been optimized for speed and scalability.** Arbitrum is secured by an optimistic rollup that [assumes the validity of transactions](https://www.alchemy.com/overviews/validity-proof-vs-fraud-proof). Every validator does not need to re-execute transactions to test their validity. This allows users and developers higher scalability on Arbitrum. However, scalability also leads to trade-offs. For example, when withdrawing funds from Arbitrum to Ethereum after a transaction, users will usually face a week-long delay. This is because Arbitrum’s optimistic rollup allows validators a **7 days Dispute Time Delay \(DTD\)** to challenge transactions. Once Arbitrum publishes data on the Ethereum main chain, it has the same finality as that of a normal Ethereum transaction. This is known as **Ethereum Equivalent finality.**  ### **4. Consumer and developer ecosystem** The [Arbitrum ecosystem](https://www.alchemy.com/ecosystem/arbitrum) is the largest L2 solution on Ethereum, with a Total Value Locked \(TVL\) of $6.17 billion and a market share of over 66% as of May 4th, 2023. Arbitrum also leads the L2 ecosystem in gas costs and the number of active wallets. Because Arbitrum is EVM equivalent, Ethereum developer tools can be used to build apps on Arbitrum. Additionally, because of Arbitrum's many cost and scaling advantages, many top protocols like [Uniswap](https://www.alchemy.com/dapps/uniswap), [The Graph](https://www.alchemy.com/dapps/the-graph), and Chainlink support Arbitrum. Arbitrum has also introduced new tools for developers to scale its operations, such as Stylus. Stylus is a new programming environment and virtual machine based on WebAssembly that claims to provide an EVM\+ paradigm. Developers will be able to deploy smart contracts written in Rust, C, and C\+\+ on Arbitrum. This would provide developers greater interoperability with the EVM. ### **5. Censorship resistance** Arbitrum relies upon sequencers to receive transaction requests from users, execute them, and post relevant data on Ethereum. A sequencer receives transactions in its **core inbox**. Once the transactions are included in the core inbox, they are executed in a deterministic manner and posted on Ethereum. The sequencer usually acts in good faith. It executes transactions within a few seconds, and it posts this transaction data on Ethereum within a few minutes. However, Arbitrum has provisions for cases in which a sequencer acts maliciously. Firstly, the sequencer can only delay posting transactions on Ethereum. It can propose false transactions since that would require a user’s signature. Secondly, if the sequencer does not execute a transaction, users can forcefully include it by posting it in the **Delayed Inbox** \(a queue that works in a “first come, first serve manner”\). The sequencer cannot exclude this transaction without delaying every other transaction behind it. These techniques makes Arbitrum more **censorship resistant**. --- # 5 Reasons to Choose Base for Blockchain Development URL: https://www.alchemy.com/overviews/choose-base.md Exciting news: [**Base is now live on Alchemy! Start building on Base today.**](https://alchemy.com/blog/base-on-alchemy) Base is a Layer 2 blockchain that takes advantage of optimistic rollups, a scaling protocol designed to boost the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum)’s transaction throughput. Understanding what Base is, how it differs from other optimistic rollup Layer 2 chains, and how it works is valuable information that can help inform developers decision to build on the Base L2.  This article will cover five reasons developers should [**build on Base**](https://www.alchemy.com/base), and how to do so. ## **What is Base?** Base is an Ethereum Layer-2 blockchain developed by Coinbase on Optimism’s [OP Stack](https://www.alchemy.com/dapps/op-stack).  Base mainnet was officially launched on August 9th, 2023 with over 100 [apps](https://www.alchemy.com/dapps/top/defi-dapps) such as [Uniswap](https://www.alchemy.com/dapps/uniswap) and Aave already integrated into the [Base ecosystem](https://www.alchemy.com/dapps/ecosystem/base).  The highly anticipated Layer 2 blockchain quickly surpassed its competitors in total value locked \(TVL\) and number of transactions. ## **5 reasons to choose Base for blockchain development** Built on the OP Stack, Base inherits much of the characteristics of Optimism mainnet including its optimistic rollup protocol, block production and execution mechanisms, and fraud proof processes.  Like Optimism mainnet, Base uses optimistic rollups to scale Ethereum’s transaction throughput in accordance with Ethereum’s long term goal for scalability. Optimistic rollups maintain security by enforcing a one week challenge period where anyone can dispute a state transition using the fraud proof protocol. Base’s fraud proof system is not currently live. This challenge period sacrifices user fund liveness when withdrawing to the Ethereum mainnet or moving funds across chains but provides much needed security in an optimistic protocol that inherently assumes \(optimistically\) that all transactions submitted to the L1 are valid. It is important to note that the OP Stack has removed fraud proofs as a part of its EVM Equivalence update but is still committed to the development and integration of Cannon, a modular, trust-minimized, fraud proof VM.  ### **1. EVM equivalence** The EVM \(Ethereum Virtual Machine\) is the computational engine that acts as the state transition function for the Ethereum blockchain. At its core, [Base uses the Optimistic Virtual Machine \(OVM\)](https://www.alchemy.com/overviews/optimistic-virtual-machine) for smart contract execution. By using the same opcodes and a minimally modified Geth execution client, development on the OVM allows for integration with existing EVM tooling and resources.  Developers do not need extensive knowledge of optimisms internal workings to port over or even create new smart contracts that rely on optimistic rollup technology. ### 2. The Optimism superchain Given the momentum that Optimism has had and the weight that a major company like Coinbase brings, the Superchain dream is one step closer to fruition.  Developers that build on an OP chain \(chains that use the OP Stack codebase and follow Superchain standardizations\) experience many benefits such as: 1. Shared interoperability, sequencing, and governance 2. Open-source codebase with tested code that can be easily integrated into an OP Chain 3. Atomic cross-chain composability The popularity of Optimism and the vision of a Superchain means that existing apps and protocols need to only port over once to be fully cross-compatible with all other Superchains.  ### 3. Coinbase integration As the largest [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) platform in the United States and one of the largest centralized exchanges in the world, Coinbase boasts an impressive amount of transaction traffic, liquidity, users, and financial products.  Developers looking to build on Base expect to take advantage of Coinbase’s products, users, and assets.  The push from Coinbase to onboard its millions of users onto Base will provide users and developers deep liquidity, high transaction volume, easy fiat [on-ramp](https://www.alchemy.com/dapps/best/fiat-onramps) integrations and a variety of financial tools that will enhance the web3 experience far beyond what other Layer 2 platforms provide.  Base has already launched its canonical UI based token bridge which is compatible with a Coinbase wallet, instantly opening up the door for tens of millions of users to move onchain. ### **4. Low transaction costs** Developers and end users can avoid paying exorbitant L1 gas fees on Base. Transactions fees on Base are derived from the OP stack and consist of two separate fees: an L2 \(execution\) fee and an L1 \(security\) fee. #### **L2 execution fee** The L2 fee is the smaller of the two fees and is the cost to execute a transaction on the L2 blockchain.  The L2 execution fee is determined the same way Ethereum calculates its fees after the implementation of EIP-1559. Calculation of this fee can be done using the following equations: **        L2_execution_fee = \(L2_base_fee \+ L2_priority_fee\) L2_gas_used** note that **L2_gas_used** is the amount of gas for a given transaction and is approximately equal to the amount of gas necessary for the same transaction to be processed on Ethereum due to EVM equivalence.  Unlike Ethereum, however, the exact parameters for scaling base fee are not the same for any given OP Stack chain.  #### **L1 security fee** The L1 security fee \(also known as the L1 data fee\) is the larger of the two fees and is one of the primary differences in OVM vs EVM development.  The L1 security fee is the estimated cost to publish the transaction data within a rollup to the L1 and can be calculated using the following equations. **        L1_data_fee = L1_gas_price \(tx_data_gas \+ fixed_overhead\) dynamic_overhead** **        tx_data_gas = count_zero_bytes\(tx_data\) 4 \+ count_non_zero_bytes\(tx_data\) 16** where **dynamic_overhead** and **fixed_overhead** are constants set by an OP Stack chain to scale cost of transactions based on network congestion and transaction complexity. With almost negligible changes needed to port EVM compatible apps, tools, and infrastructure to Base, along with at least 10x the cost savings compared to Ethereum from high transaction data compression, it’s easy to see why Base is becoming fertile ground for new development. ### **5. High TPS \(scalability\)** Easily one of the most important reasons that developers choose to build on Base is the scalability that OP Stack chains provide to the Ethereum network. Base’s optimistic rollup solution can theoretically help scale transaction throughput from 10x to 100x what is capable on Ethereum mainnet. Whereas Ethereum mainnet is only able to process ~15 TPS, with improvements to compression techniques, OP Stack chains such as Base would ideally be able to process up to 2000 TPS. ## **How to build with base** Building on Base is a streamlined process and can be easy for developers to jump into. The process detailed below is for developing and testing smart contracts on the Base Goerli testnet using [Hardhat](https://www.alchemy.com/dapps/hardhat): 1. Install Node JS 2. Create and obtain free Base Goerli ETH on your wallet 3. Install and create a new Hardhat project 4. Configure Hardhat with Base Goerli by providing relevant network addresses \(Chain ID: 84531\) 5. Write your smart contract keeping in mind the notable [differences in the OVM vs EVM](https://docs.optimism.io/stack/differences) 6. Deploy and verify your smart contract on the Goerli network --- # Choosing Enterprise-Grade Blockchain Infrastructure Partner URL: https://www.alchemy.com/overviews/choose-enterprise-blockchain-infrastructure.md Adding blockchain into your tech stack is an important part of [future-proofing any business](https://www.alchemy.com/use-cases). In the early 2000’s, it was commonplace to differentiate “internet” companies” from the others, but today all companies use the internet. Similarly, blockchain technology is disruptive to most businesses and most capital markets, which is why applications leveraging it are often referred to as “Web3”. Blockchain stands to unlock trillions of dollars of illiquid capital into the market as well as provide alternatives to the advertising-centric business model employed by most technology companies. Businesses must choose partners with the experience and knowledge to navigate the opportunities effectively. This guide aims to help you choose blockchain infrastructure companies that offer comprehensive products to support your business goals and user requirements. ## **What are the different types of blockchain infrastructure providers companies should evaluate?** Blockchain infrastructure providers offer solutions at every part of the web3 developer stack; from RPC node providers that let engineers read and write to the blockchain to Wallets-as-a-Service providers that give businesses a streamlined way to offer their customers web3 wallets. ### **1. Wallet solutions** Wallets give users control of their digital assets and allow them to participate in the web3 economy. With a wallet, people can borrow and lend on DeFi apps, mint and display NFTs, play games, and participate in consumer loyalty and membership programs, all while keeping their assets secure.  For many years, EOA \(“Externally Owned Account”\) wallets that rely on seed phrases for recovery have dominated the market; however, new types of wallets that improve the user experience without reducing security and privacy, including [Wallet-as-a-Service providers](https://www.portalhq.io/platform), are gaining a lot of traction.  Threshold Signature Scheme \(TSS\) MPC wallets, [smart contract wallets](https://www.alchemy.com/overviews/smart-contract-wallet-benefits), and [MPC wallets](https://www.alchemy.com/dapps/best/mpc-wallets) that incorporate Account Abstraction \(MPC \+ AA\) offer simpler onboarding for new users by removing the need for recovery phrases and reducing the level of technical knowledge needed to interact with web3. #### **Account abstraction: the most seamless user experience** The new Account Abstraction primitive has arrived to ease the transition into web3 - no longer is the onboarding experience plagued by confusing private key requirements that bankrupt forever if you forget your seed phrase. Solutions such as [Alchemy's Account Kit](https://www.alchemy.com/account-kit) provide all the tools necessary to onboard your users to blockchain without them even knowing: social and passkey account recovery, sponsored gas fees, and batched transactions. With integrations for signers like Portal, enterprises can use Account Kit to create embedded smart wallets that support social login, passkey account recovery, sponsored gas fees, and batched transactions. ### **2. Custody solutions** Custodians are third-party vendors that provide secure storage and management of private keys on behalf of individuals and institutions. [Custodians](https://www.alchemy.com/dapps/best/custody-solutions) offer robust security and technical knowledge to entities that are required to use outside vendors or prefer to pay for key management services instead of managing operations internally.  Custodians typically use cold storage \(i.e. keys are held offline\), to reduce attack vectors from hackers, and require institutions to go through KYC and other anti-money laundering checks before they can be onboarded as a customer.  The availability of custodians—particularly licensed ones—is critical for institutional adoption of web3, as they provide infrastructure and compliance frameworks required by traditional financial institutions.  ### **3. RPC node providers** RPC node providers provide the infrastructure that allows web3 applications to interact with blockchain networks by either querying data or submitting transactions. Although it is possible for anyone to host an RPC node, many solo developers and companies prefer to [use enterprise-grade RPC node providers](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) to run and scale the infrastructure. By offering core APIs, enhanced APIs, and a user-friendly developer platform, RPC node providers simplify the development process, allowing engineers to focus on building applications without worrying about infrastructure. ### **4. Web3 development platform** Building decentralized applications that run on public blockchains requires developers to learn a new set of tools and design patterns, and terminology. Choosing the right vendor as your Blockchain Development platform can accelerate your time to market by combining many developer tools into a single, easy-to-understand user interface.  If a development platform’s tech stack creates too much friction for engineers, builders may take a long time to build applications, abandon projects, or have a bad developer experience. ## **What features should be considered when choosing a blockchain infrastructure provider?** The features offered by blockchain infrastructure vendors depend on your product scope and goals. There are a few common areas to evaluate including features that support usability, security, composability, and scalability. ### **1. Usability** Any blockchain tool you choose for your web3 stack should be easy to learn, simple to use, and robust in its ability to satisfy your intents. Platforms should have clear documentation, a professional user experience, and enterprise-grade functionality to support your team’s goals today and in the future. ### **2. Organizational security** Blockchain applications carry new types of risks like protocol risk, smart contract risk, and traditional types of risk like organizational controls. Before signing an agreement with a new vendor, review your prospective partner’s security: - SOC II certification - System testing and resiliency - Penetration testing reports - External security audits - Documented security controls ### **3. Composability** Composability is a feature in web3 that enables companies to interact with public, open-source applications, APIs, and smart contracts \(i.e. flexible and extensible building blocks that make web3 products easier to build\). When choosing a vendor, consider how well your vendor’s product suite composes with other products and tools you plan to use in your stack \(e.g. IDEs, debugging tools, etc\). An infrastructure partner should make it easy to include the specific capabilities that fit your needs without requiring developers to implement every feature. For instance, an end-to-end web3 connectivity provider like [Portal](https://www.alchemy.com/dapps/portal) enables account management functionality like setting up new users, backup, and recovery options. They also support wallet management flows like sending, receiving, storing, and swapping assets.  That might be enough for your build, but if you want to build a dapp store, connect to browser-only apps, or integrate natively to protocols, you have the option to do so with [Portal’s SDK](https://docs.portalhq.io/) without additional backend integrations. ### **4. Feature roadmap** Blockchain infrastructure platforms are evolving to meet emerging needs of web3 developers, and selecting the right partner should also be based on the partner’s planned roadmap to improving and expanding their product offerings. Product expansion could include features that expand use cases to new verticals \(e.g. exchanges, fintech, cross border payments, self-sovereign identity\), or to more niche use cases within existing verticals \(e.g. NFT sales, etc.\) The goal of researching the feature set of an infrastructure partner is to determine whether or not they can service your product’s baseline feature set, can scale to meet greater demand, and grow to support expanded use cases. ## **What questions should companies ask blockchain infrastructure providers?** Questions that companies should ask potential blockchain infra providers fall into a few different categories: team, experience, support, and roadmap. ### **1. Team, clients, and backers** Before choosing a vendor, ask questions to gauge the quality of the team you are evaluating: - What experience does the product engineering team have? - What experience does the leadership team have? - Who are their current customers and what do they say about them? - What kinds of partnerships does the vendor have? - Who are the company’s investors and advisors? ### **2. Quality of technology and developer experience** Before selecting a vendor’s products, ask questions to evaluate the quality of the team’s tech stack: - What is the architecture of the technology? - Have large customers churned or publicly disclosed negative experiences with the company? - Is the technology audited and secure? - What is the quality and clarity of the product’s documentation? - For Wallet-as-a-Service providers, can users “eject their wallets," \(i.e. export their private keys?\) ### **3. Customer support and relationship management** Before entering into an agreement with a software vendor, qualify the team’s ability to support your relationship: - What channels does the vendor use to communicate with your teams? - Does the team offer direct communication with engineers and technical support staff? - Does the company have a robust ticketing, observability, and status reporting system? - Is technical support available in a timely manner, particularly when there are severe problems? - Is the vendor responsive to feedback and product change requests? ### **4. Vendor product timeline and roadmap** Before picking a blockchain infra partner, assess the product management team’s product roadmap: - What features are being planned in the near-term and long-term? - How quickly can a comprehensive product be launched with them? - How easily can customers suggest product features and requests? - What is the team’s shipping velocity with new products and features? - What is the team’s process for releasing products in alpha, beta, and general access phases? Asking questions of sales leaders, product managers, and engineers while judging the fit of a new blockchain infrastructure partner is essential to getting a web3 product to market. Additionally, companies should try the products, get demos, read documentation, watch tutorials, and talk to current customers to analyze if the vendor they’re evaluating is the right choice for their use case. Although completing due diligence requires a lot of research and time, a thorough process can save time, money, and resources. --- # 6 Reasons to Choose Ethereum for Blockchain Development URL: https://www.alchemy.com/overviews/choose-ethereum.md At its core, Ethereum is a decentralized global computing platform. Designed to solve the shortcomings of the Bitcoin network, it's become the blockchain of choice for many developers, who can leverage its smart contract technology to create their own [decentralized apps](https://www.alchemy.com/dapps/top/defi-dapps). This distinguishing feature has quickly propelled Ethereum into the world's second largest blockchain, with over 13,000 apps and an equal measure of NFT projects. This article will explain why Ethereum has become the platform of choice for many developers, and seven reasons why developers might choose to build on Ethereum. We'll also show you how to get started with developing apps on Ethereum. ## ‍**What is ethereum?** [**Ethereum**](https://www.alchemy.com/ethereum/?a=choose-ethereum) is a decentralized Layer-1 blockchain platform known for pioneering the concept of smart contracts. It was launched in 2013 by Vitalik Buterin who observed that by adding a computing layer to a blockchain, you could create an "ecosystem" of applications working together, all connected through a native currency. This insight allowed the Ethereum blockchain to become a powerhouse of innovations, with thousands of apps developed for [financial services](https://www.alchemy.com/dapps/best/decentralized-lending-dapps), art and NFTs, community building, and many other functions. Ethereum has a native token called Ether \(ETH\), which is used to process transactions recorded across the ecoystem. ## **6 reasons why developers choose Ethereum** ### **1. Ethereum has the largest ecosystem** Ethereum is the most valuable smart contract-enabled blockchain in existence and its native currency, Ether, is the second-largest cryptocurrency by market cap. As the major blockchain network for developers, Ethereum has become a powerhouse of creative blockchain-based solutions. The [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) has the largest active developer community, which has led to the creation of various open source tools and development frameworks. As a result, developers do not need to create tools and smart contracts from scratch, because most existing frameworks are freely available for public use. And this mentality is built into Ethereum by design. The greater the number of projects running in the ecosytem, the greater value of the overall network. ### **2. Ethereum is the most mature network** The Ethereum community has been tested across various use cases since 2015. Ethereum has been implemented by thousands of businesses across multiple sectors, and there are over 300 projects with more than 50 million deployed smart contracts. While size is not necessarily a market of reliability, Ethereum’s stability over the years has come to be a reason for developers to rely on it. The network has undergone multiple protocol updates, so developers feel that when large problems arise, the decentralized community is capable of solving them. ### **3. The Ethereum roadmap continues to improve** Even though Ethereum is the most efficient smart contract-enabled blockchain, it still has improvement on its roadmap. The upgrades are meant to refine the network protocol for better performance. **Developers should factor in these upgrades in the Ethereum roadmap as a reason to build on Ethereum.** By constantly pushing updates to the blockchain network, Ethereum is seen by developers as capable of adapting to its demands, including computing throughput, and transaction speed. These upgrades make it the “maximally resilient platform” that it intends to be. An example of such an upgrade is the [Ethereum "Merge,"](https://www.alchemy.com/overviews/the-ethereum-merge) in which the network shifted from a Proof-of-Work (PoW) to a Proof-of-Stake (PoS) consensus mechanism. The result led to greater security and a reduction in energy consumption. The core focus of the Ethereum current roadmap is to make transactions cheaper, reduce gas fees, increase its security level, and refine its user experience. One plan in the Ethereum roadmap is to make the blockchain protocol quantum resistant. Quantum Computing, when it matures, will put some of the cryptographic features of Ethereum at risk. By following a public roadmap, developers can find clarity and transparency on what the future holds for the Ethereum protocol - directly from the network itself. This also help developers plan ahead to implement the changes that help improve their apps. ### **4. The Solidity programming language** The [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) supports two major languages - [Solidity and Vyper](https://www.alchemy.com/overviews/solidity-vs-vyper). Experienced developers can easily pick up one of the intermediate languages like [Yul](https://www.alchemy.com/overviews/what-is-yul), Yul\+, Huff, and Cairo as they are more advanced. Beginners can develop their applications with [Solidity](https://www.alchemy.com/overviews/solidity) and [Vyper](https://www.alchemy.com/dapps/vyper) as they are relatively easy to learn.  By supporting many languages, software developers can integrate with the Ethereum Virtual Machine in a programming language they are most comfortable with. ### **5. Ethereum has robust development tools** **As a network, Ethereum provides robust development tools for dApp deployment.** This makes it easy for developers to quickly start a local Ethereum instance, compile it, and test it. Just as there are smart contract programming languages, there are also many frameworks and tools created for Ethereum-based dApp development.  Some of these frameworks are listed below: - [**Truffle**](https://www.alchemy.com/dapps/truffle): An Integrated Development Environment \(IDE\) and a testing framework for Ethereum.  - [**Hardhat**](https://www.alchemy.com/dapps/hardhat): An Ethereum IDE for building and deploying apps to the mainnet.  - [**Brownie**](https://www.alchemy.com/dapps/brownie): A Python-based IDE and testing framework. - [**OpenZeppelin SDK**](https://www.alchemy.com/overviews/openzeppelin-developers-guide-2022): A Smart Contract Toolkit with multiple development resources. - [**Alchemy’s Create-Web3-dapp**](https://www.alchemy.com/create-web3-dapp/?a=choose-ethereum): An Ethereum Development Platform that helps developers create a full-stack dapp in 4 minutes. - [**Alchemy’s SDK-js**](https://www.alchemy.com/sdk/?a=choose-ethereum): An easy way to connect a dapp to the blockchain.  - [**Foundry**](https://www.alchemy.com/dapps/foundry): A modular toolkit for Ethereum application development written in Rust. ### **6. Higher security** By building on Ethereum, developers can [**leverage the security measures**](https://alchemy.com/overviews/smart-contract-security-best-practices) offered across the ecosystem. Since many projects have faced different forms of security issues like hacking and loss of assets in the past, solutions have been provided by reputable auditing firms to help prevent such occurrences. Newer blockchains simply do not have the same robust security measures as Ethereum. And this kind of support can mean life or death for a dapp or any blockchain project. ## **Start developing on Ethereum** With Alchemy, getting started with developing on Ethereum is easy. The following are some basic steps to take in developing smart contracts on the Ethereum blockchain: 1. **Get an Ethereum Endpoint URL**  1. **Sign Up for a Free Alchemy Account**: [Create an account](https://dashboard.alchemy.com/signup/?a=choose-ethereum) with Alchemy to get started. 1. **Create an Alchemy App:** To use any Alchemy tool, you need an API key. Click “Create App” in the [dashboard](https://dashbooard.alchemy.cm/).  1. **Install AlchemyWeb3js**: To install AlchemyWeb3.js, run the following command:  **Using NPM:** **Using Yarn:** --- # How to Choose an NFT Game to Play URL: https://www.alchemy.com/overviews/choose-nft-game.md With the rising popularity of the [NFT gaming niche](https://www.alchemy.com/overviews/nft-gaming), gamers from all around the world are becoming interested in the benefits of NFT gaming compared to traditional, web2 games, and what games they should play. This article will outline the four main types of [NFT games](https://www.alchemy.com/dapps/best/web3-games) \(collectible games, Play-2-Earn \(P2E\) games, virtual world games, and fantasy sports games\), and highlight four factors to consider before choosing an NFT game to play. ## **What are the different types of NFT games?** **The four main types of NFT games are collectible games, Play-to-Earn games, virtual worlds, and fantasy sports.** Choosing the right game for you will depend on your playing style, the types of traditional games you are familiar playing, and more factors we'll cover in the final section. ### **1. Collectible NFT games** [Collectible NFT games](http://www.alchemy.com/overviews/nft-card-games) involve collecting and trading digital assets, such as digital trading cards or virtual pets. Players can buy, sell, and trade these assets on various NFT marketplaces. An example of a popular collectible NFT game is [CryptoKitties](https://www.alchemy.com/case-studies/dapper) where users collect and breed cats. Some factors that impact the value of collectible NFTs are scarcity \(i.e. the total number of NFTs available\), rarity \(i.e. the attributes of the NFT\), and demand \(i.e. how many people are interested in owning an NFT from the collection in question\). ### **2. Play-to-earn \(p2e\) NFT games** [P2E NFT games](https://www.alchemy.com/overviews/play-to-earn-games) enable players to earn in-game currency as they advance in the game or complete certain tasks. A play-to-earn NFT game may include several different NFTs, such as avatars, weapons, armor, etc. Two examples of P2E NFT games include **[Axie Infinity](https://www.alchemy.com/dapps/axie-infinity)** and **The** **Sandbox** ### 3. Virtual world NFT games These games involve building and exploring virtual worlds where players can own virtual lands and avatars in such games. Players in virtual world NFT games can also create their own NFTs and monetize their gaming experience. Two examples of virtual world NFT games include [**Decentraland**](https://www.alchemy.com/dapps/decentraland) and** [Somnium Space](https://www.alchemy.com/dapps/somnium-space)**. ### **4. Fantasy sports NFT games** Fantasy Sports NFT games allow players to create and manage their fantasy sports teams using NFTs and also collecting sports-related NFTs. Web3 fantasy sports are lately gaining a lot of popularity for their 100% transparency and fair gameplay. [**Sorare**](https://www.alchemy.com/dapps/sorare) is a well-known fantasy sports game. ## **Factors to consider before choosing an NFT game to play** Since [NFT gaming is new compared to traditional games](https://www.alchemy.com/overviews/nft-gaming-vs-web2-gaming), there are risks that should be understood before choosing an NFT game including: the NFT gaming economics, gameplay, security, and trustworthiness of the game development team. ### **1. NFT game economics** Game economics refers to the economic principles and mechanisms undergirding the creation and management of NFTs within the game. Studying the economics within a game is critical as it provides crucial insights into the distribution, supply, value, and overall dynamics of how NFTs are used in the game. Such insights aid in making informed decisions in determining the overall health and sustainability of the game. Game economics also helps to make educated guesses about the game’s earning potential. Lastly, it helps players get more insights about the community of the game and identify potential risks and pitfalls. ### **2. NFT gameplay** Understanding how NFTs are integrated into a game, how they function, and how they impact the gaming experience is important before picking an NFT game. An important feature of popular NFT games is whether the game is fun and engaging. Players need to first determine if the gameplay is fun. ### **3. NFT gaming security** NFT in-game items are owned by players, and therefore they have the responsibility to take the right measures to secure them. As phishing attacks happen relatively frequently in the web3 space, players need to be on the lookout for potential scams. Furthermore, game design may also have compromises in security. For example, during the 2022 Axie Infinity NFT game hack, a hacker had used their private security keys to compromise the network nodes that did the transfer validations within the Ronin blockchain. Players are responsible to take into account these compromises in security native to their NFT game of choice, and understand the mechanics behind it before playing. ### **4. Track record of the NFT gaming developers** It is wise for players to choose a game based on the reputation of the developers behind it. Experienced developers with a strong background are more likely to create a successful NFT game with fair gameplay and well-designed tokenomics. --- # 6 Reasons to Choose OP Mainnet for Blockchain Development URL: https://www.alchemy.com/overviews/choose-optimism.md As adoption has increased on Ethereum, the time it takes to complete a transaction has also steadily increased. This has given rise to the current scalability issues faced by users of Ethereum, and the explosion of Layer 2 protocols that aim to solve it. Rollups like OP Mainnet respond to the problem of Ethereum's scalability by moving execution onto a different layer of the blockchain stack. Transaction data is put on the main chain, but the transactions are not executed on Ethereum directly. Instead, they are rolled up into batches and processed at much higher frequencies. This helps accelerate the transaction speed of using the Ethereum blockchain, while significantly lowering gas fees. As one of the largest Layer 2 solutions, it's critical for developers to understand what OP Mainnet is, and how it works. Along with those details, this article will cover six reasons developers should build on OP Mainnet, and how to ## ‍**What is OP mainnet?** OP Mainnet is a Layer-2 rollup blockchain built for scaling the Ethereum blockchain. It's an offchain scaling solution which launched in 2022 for mass adoption. Like other Layer 2 scaling solutions,  is designed to increase Ethereum's transaction throughput and lower transaction costs by "rolling up" thousands of transactions into a single block. Unlike "zk-rollup" protocols like [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era), however, OP Mainnet uses "optimistic" rollup technology - the main alternative. Optimistic rollups get this name because they optimistically assume that all the transactions contained within a rollup are valid. These networks give everyone on the network a certain amount of time, usually a week, to contest fraudulent transactions. The benefit of this type of rollup is that it’s fast. Because the network assumes that transactions are correct, it doesn’t need to waste time confirming each transaction individually. The drawback of this system is that if a transaction isn't flagged as incorrect then it is processed as valid. Plus, it usually takes about a week to officially withdraw on-chain funds ## **Why developers choose OP Mainnet for blockchain development** ### **1. EVM equivalence** The [**Optimism rollup**](https://www.alchemy.com/overviews/optimistic-rollups) stack utilizes a tool called the [**Optimistic Virtual Machine**](https://www.alchemy.com/overviews/optimistic-virtual-machine) (OVM) for its smart contract execution. Although different from the Ethereum Virtual Machine \(EVM\), both chains are mutually compatible. The advantage of using such a system is that smart contract developers who are already comfortable with dapp development for the EVM do not need to learn an additional programming language or frameworks to build on the OVM. OP Mainnet reuses the same programming languages common to the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), such as [Solidity](https://www.alchemy.com/overviews/solidity) and Vyper, and toolchains like [Ethers](https://www.alchemy.com/docs) and Hardhat. The EVM equivalence of the OP Mainnet rollup is possible because the OVM fully supports the instruction set of the EVM: **opcodes**. Opcodes are what enable smart contract execution on the Ethereum blockchain network.  ### **2. Scalability** **The primary reason for OP Mainnet's existence is to help solve the scalability problem of Ethereum**. Without Layer 2 networks, computing throughput on Ethereum is relatively slow, with high gas fees. By batching transactions, however, the OP Mainnet rollup solution can scale the rate of transaction throughput upwards of 10x to 100x the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). Currently, it's estimated that OP Mainnet can process transactions at about 2,000 per seconds \(TPS\). Ethereum operates with a TPS of roughly 10-12. ### **3. Lower costs** **By building applications on OP Mainnet, end-users do not have to deal with the expensive cost of transactions on Ethereum.** OP Mainnet rollups help to reduce the cost of gas per transaction by breaking the transaction fee into two - L2 execution fee and L1 security fee.  #### **What is OP Mainnet's L2 execution fee?** The L2 execution fee \(or Layer 2 Gas Fee\) is the amount of gas utilized by a transaction when it is being processed on the OP Mainnet network. This L2 execution cost can be calculated by multiplying the L2 gas price with the L2 gas used \(i.e., Layer 2 Gas Fee = L2 Gas Price L2 Gas Used\). #### **What is OP Mainnet's L1 security fee?** The L1 security fee \(also known as the Layer 1 Gas Fee\) is the amount of gas used by that same transaction when its data is published to the Ethereum mainnet. The L1 security fee on OP Mainnet can be calculated by multiplying the fee scalar with the gas price. This is given as L1 Gas Fee  = Fee Scalar L1 Gas Price \(Calldata \+ Fixed Overhead\), where Fee Scalar is 1, Calldata is the input data of a transaction and the Fixed Overhead cost is the additional processing required to add the transaction to a largerbatch. The sum of the L2 execution fee and the L1 security fee is the total amount of gas fee for a transaction on OP Mainnet. In some cases, the standard cost of gas on OP Mainnet is only 0.001 gwei, making OP Mainnet a far cheaper network for most users and [apps](https://www.alchemy.com/dapps/top/defi-dapps).  ### **4. Access to liquidity within the OP Mainnet ecosystem** **One of the major benefits a developer has for building apps on OP Mainnet is access to a deep pool of liquidity.** For example, most of the major Decentralize Finance \(DeFi\) protocols in the world are on the Ethereum mainnet, and they have their forks on the OP Mainnet blockchain. Any developer can easily plug into these DeFi protocols and utilize their liquidity to provide financial instruments for their end users.  With a total value locked \(TVL\) across OP Mainnet of over $3 Billion, developers can implement products that utilize DEXs, synthetics, lending services, derivatives, and many more protocols with readily available liquidity.  ### **5. Fraud proof mechanisms** **The OP Mainnet rollup uses a technique known as Fraud Validity Proofs for verifying the data on its network.** The OP Mainnet network assumes all transactions and activities on its protocol are true for a period of time, and when they are verified, they can be sent to Ethereum for a final state update. The period of time is commonly referred to as the Challenge period and takes approximately seven days. This mechanism ensures that there will be no invalid state translation on the network protocol.  This novel approach to validating the legitimacy of an on-chain transaction is one of the major reasons to consider building [apps on OP Mainnet](https://www.alchemy.com/ecosystem/op-mainnet). ### **6. Better smart contract security** OP Mainnet makes it easier for smart contracts to be properly audited because developers can piggyback on the systems put in place to test apps on Ethereum directly. Most blockchain applications deal with people’s money, so there must be a high level of thoughtfulness when building such applications. And because the OP Mainnet Virtual Machine \(OVM\) is equivalent with the EVM, it shares the same level of on-chain security. ## Start developing on OP Mainnet Developing on OP Mainnet is simple. To do so: 1. Get an [OP Mainnet RPC endpoint URL](https://dashboard.alchemy.com/signup/?a=choose-optimism) from Alchemy 1. Connect your wallet to the OP Mainnet network 1. Get testnet ETH from a [free Goerli Faucet](https://goerlifaucet.com/)‍ 1. Review OP Mainnet JSON-RPC API endpoints 1. Start building your smart contracts in IDEs like Remix --- # 8 Reasons to Choose Polygon for Blockchain Development URL: https://www.alchemy.com/overviews/choose-polygon.md The Ethereum blockchain supports a wide variety of economic activity, from NFT markets and games to the expanding DeFi ecosystem. Ethereum was designed for this function using smart contracts, which can be used to create a wide variety of applications.  Polygon is an EVM-compatible blockchain that was created to offer users faster transactions and lower costs. It functions as a parallel blockchain that runs alongside Ethereum rapidly processing transactions. Polygon maintains its own consensus, and inherits no security from Ethereum, making it a "sidechain". This article will explain in more detail how Polygon works, and list the top reasons developers choose Polygon for blockchain development. In doing so, it will offer guidance on how to get started developing on Polygon. ## **What is Polygon?** Previously known as the Matic Network, Polygon is an Ethereum sidechain that maintains its own consensus. As opposed to other Layer 2 solutions, like [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) and StarkNet, Polygon is developing a suite of blockchain netoworks optimized for different classes of applications. These networks include Miden, Edge, Zero, Nightfall, Avail, Hermes, and zkEVM scalability solution. Polygon currently functions with two structurally distinct Layer 2 solutions: Polygon PoS Chain, and Plasma. While both Plasma and the Polygon PoS Chain attempt to deliver cheaper and faster transactions, they operate and are designed differently. Polygon PoS Chain is a proof-of-stake sidechain that conducts Ethereum checkpoints to improve security. Plasma is anetwork of sidechains that process transactions off-chain. These sidechains submit periodic checkpoints to the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). Polygon aims to help the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) increase in size, efficiency, security and usefulness. To achieve this, it encourages developers to produce appealing solutions as rapidly as possible. Polygon’s own cryptocurrency token, MATIC, is used for staking, paying fees, and performing transactions between participants who interact within the Polygon network.  ## **Why do developers choose Polygon?** ### **1. Speed and scale** On a single sidechain, the Polygon Network can obtain a hypothetical transaction speed of less than 2 seconds. The use of numerous sidechains helps the network handle millions of transactions per second. This mechanism enables the Polygon network to scale the number of transcations that it can process, and it does so quickly. ### **2. Lower costs** As a venue for processing transactions, Polygon is often preferred over Ethereum for lower-value applications because the gas fees are lower. As a proof-of-stake sidechain, Polygon can quickly process "batches" of transactions, resulting in lower fees. According to some cryptocurrency analysts, the Polygon Matic gas fees could return to $0.1 in the near future. This is due to Polygon's efforts to minimize gas utilization on its network, including as the implementation of Ethereum Improvement Proposal \(EIP\)-1559, which attempts to lower the volatility of gas fees. Polygon is also working on scaling solutions such as Zk Rollups, which could increase network scalability and lower gas expenses. To calculate the average price of a single transaction, total transaction expenditure is divided by the total volume of transactions. ### **3. Solid security** Although Polygon's proof-of-stake chain is not as decentralized as Ethereum, it has a solid reputation for security. As one of the top layer-two blockchain companies, Polygon is well-funded and employs many of the most talented Web3 developers. ### **4. Ease of development** A commit-chain like Polygon provides 100% EVM compatibility, which means that the same code used on Ethereum can be published on Polygon without modification. This means that all current Ethereum tooling and infrastructure is Polygon-compatible out of the box. In contrast, the barriers to entry for a ZK-rollup developer can be much higher, because such systems often depend on frequent code changes and they lack a complete tooling infrastructure. Polygon also providers developers with a wide range of tools. Some of the most commonly used tools include: Alchemy, OpenZepplin, Remix, [Hardhat](https://www.alchemy.com/dapps/hardhat), Chainstack, Truffle, Ganache, Ether.js, and Polyscan. These tools help developers experiment with Polygon by providing a more interactive learning experience. They also help developers write smart contracts with ease while and increasing your understanding the [Polygon Ecosystem](https://www.alchemy.com/dapps/ecosystem/polygon). ### **5. Large ecosystem** Polygon has a large ecosystem of builders, developers and protocols, including decentralized non-custodial asset bridges, synthetic farming protocols, AMM decentralized exchanges, and open-world games. According to DeFi Llama \(a [TVL aggregator](https://www.alchemy.com/dapps/defillama) for DeFi\) Polygon currently ranks sixth among all blockchains for total value locked \(TVL\), with a TVL of over $2 billion. Although its TVL is down more than 80% on its peak of over $9 billion in July 2021, Polygon still has one of the most vibrant ecosystems of all the Ethereum Layer 2 solutions. ### 6. Templates The Polygon ecosystem’s community of builders have created amazing templates to help developers get started with new projects, including [smart contract templates](https://www.alchemy.com/list-of/smart-contract-templates-on-polygon) that can be used as building blocks for custom business logic. For example, Directual is a low-code development platform that provides templates for Web3 marketplaces, to help developers get started with NFT development. The boilerplate code provided by Polygon Labs serves as a Web3 website template, simplifying the development process and making it possible to quickly build Polygon [apps](https://www.alchemy.com/dapps/top/defi-dapps).  ### **7. Education** Polygon Labs launched the beta version of Polygon University to make developer education more widely accessible. The goal is to enable any motivated learner to learn to create in Web3 and contribute to scaling Ethereum's public infrastructure. Developers can learn everything about Polygon by working through the material on the Polygon University website. Polygon University is just the beginning of Polygon's larger plan to onboard tens of millions of developers into Web3 and equip them with the tools, mentoring, and knowledge they need to flourish. ### **8. Comprehensive documentation** Polygon Wiki provides comprehensive documentation, community resources, and guides for developers interested in learning about or building on Polygon. Polygon documentation provides resources on a range of topics including creating a scalable business logic, creating scalable applications, issuing and verifying claims, creating gaming recipes and creating a DAO. The Wiki also provides information on how to send EIP-1559 Transactions and the concept of Account Abstraction. ## **How do you start developing on Polygon?** Using a node provider such as Alchemy makes it easy to deploy your project on Polygon testnet, the [Mumbai testnet](https://www.alchemy.com/overviews/mumbai-testnet), and the Polygon Mainnet. To deploy on the Mumbai testnet you need to access the [Mumbai faucet](https://www.alchemy.com/overviews/mumbai-faucet). To get started, visit the [Alchemy Polygon API Quickstart](https://www.alchemy.com/docs/reference/polygon-pos-api-quickstart) guide—it provides detailed code samples and easy to understand tutorials that will help you get going. ## More resources - [Becoming a Blockchain developer: What you need to know](https://www.alchemy.com/overviews/become-a-blockchain-developer) - [Getting started with Polygon development](https://wiki.polygon.technology/docs/develop/getting-started/) --- # 5 Reasons to Choose Solana for Blockchain Development URL: https://www.alchemy.com/overviews/choose-solana.md For years, Ethereum has been the de facto [blockchain for developers](https://www.alchemy.com/overviews/become-a-blockchain-developer) to build and launch [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps). However, Ethereum's limited block space prices out many types of applications sending developers to platforms that offer more speed and scalability. A top choice for developers looking to build apps outside of the EVM-ecosystem is [Solana](https://www.alchemy.com/dapps/solana), which offers much more block space. This article will cover what Solana is and five reasons why developers choose Solana for blockchain development. ## **What is Solana?** Solana is a high-performance, open-source blockchain designed to support apps for global scale. Founded in 2017, the project currently run by the Solana Foundation based in Geneva. Solana is known for pioneering the concept of proof-of-history \(PoH\), developed by its founder Anatoly Yakovenko in 2017. PoH is a proof for verifying order and passage of time between events, and it is used to encode trustless passage of time into a ledger. As one of the world's largest blockchain networks, Solana offers developers a flexible programming environment in which developers can use familiar languages like Rust, C, and C\+\+. This makes it an attractive platform for those looking to develop high-performance decentralized applications. Solana’s foundation is built atop eight key technologies popularly referred to as its ‘8 pillars of innovation.’ Here's a breakdown: ### **What are Solana's eight pillars?** 1. **Proof of History:** A cryptographic clock that provides a verifiable and auditable timestamp of every event on the Solana blockchain. 1. **Tower BFT:** A consensus algorithm that provides a high level of security and censorship resistance. 1. **Turbine:** A block propagation protocol that reduces block confirmation times and enables faster finality. 1. **Gulf Stream:** A mempool-less transaction forwarding protocol that reduces the time between when a transaction is submitted and when it is processed by the network. 1. **Archivers:** A distributed storage solution that allows the state of the network to be stored off-chain while still allowing nodes to verify the correctness of transactions. 1. **Sealevel:** A programming model that allows developers to write smart contracts in any language, enabling greater flexibility and ease of use. 1. **Pipelining:** An optimization technique that allows for continuous processing of transactions and reduces the risk of congestion. 1. **Cloudbreak:** A horizontally-scaled architecture that enables Solana to handle growing network demand while maintaining low latency and high throughput. ## **Why developers choose Solana** With a developer-centric programming environment, Solana is climbing to the top as people’s go-to blockchain for building apps that scale. Here are five reasons why developers around the globe are picking Solana for blockchain development. ### **1. EVM equivalence** The [Solana Ethereum Virtual Machine](https://www.alchemy.com/overviews/solana-evm) \(EVM\) is [EVM](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) equivalent, meaning that developers can easily port their existing Ethereum apps onto the Solana platform without having to rewrite the entire codebase. While the native programming language on Solana is rust, with EVM equivalence developers can reap the benefits of building on a faster and more scalable blockchain without sacrificing the familiarity and convenience of using [Solidity](https://www.alchemy.com/overviews/solidity). ‍**To bridge the gap, Solana has developed a compiler that allows developers to write code in [Solidity](https://www.alchemy.com/dapps/solidity) and compile it into Rust.** This allows developers to take advantage of Solana's high throughput and low fees while still using their preferred programming language. Additionally, this compatibility makes it easier to migrate existing Ethereum-based projects to the Solana blockchain without having to rewrite them completely in Rust. Below is an example of Solidity code and Rust code. Both Solidity and Rust produce the same EVM bytecode when compiled. These contracts both store a number and provide a function to add a given number to it. They are very simple, but they are enough to demonstrate the concept of EVM equivalence. **When these contracts are compiled, they will produce the same EVM bytecode \(702 hexadecimal digits long\).** This bytecode can then be executed on the EVM, and both contracts will perform the same function. ### **2. High scalability** **Solana was built from the ground up to be a scalable blockchain platform. Theoretically, it can process up to 710,000 transactions per second \(TPS\) by using Solana's Proof of History \(PoH\) consensus algorithm and its dynamic state sharding system.** PoH essentially works by generating a verifiable and immutable time record to order transactions on the chain. This approach allows Solana to confirm transactions quickly. Note that time to full finality for Solana transactions is around 12 seconds. #### **What is state sharding?** **State sharding is a technique that allows a blockchain to split its data into smaller pieces, or shards, which can be processed in parallel by different nodes in the network.** This approach helps to reduce the computational load on any single node and increases the overall throughput of the system. **Solana's implementation of dynamic state sharding is particularly innovative because it allows the platform to adjust the number of shards based on network demand, ensuring that the system can scale up or down as needed.** Such performance optimizations make Solana an excellent choice for developers to build and deploy high-performance apps. ### **3. Low cost** When [**building apps for mass adoption**](https://www.alchemy.com/create-web3-dapp), the cost of processing transactions, or gas fees, is a major factor. If the apps require users to make several microtransactions, the transaction fees should be negligible for the application to be user-friendly. Solana's low transaction fees make it an attractive option for developers looking to create apps that can be used by a large user base without incurring high fees. **One of the reasons why Solana can offer low transaction fees is its high throughput.** With the ability to process hundreds of thousands of transactions per second, Solana can handle a large number of transactions without causing congestion or delays. **Additionally, Solana's dynamic state sharding system helps to reduce the computational load on individual nodes, which further reduces the cost of processing transactions.** This approach helps to **keep the fees low and predictable**, making it easier for developers to budget for the cost of running their apps on Solana. In contrast, Ethereum's high transaction fees have become a significant barrier to entry for many developers looking to build scalable apps. During times of high activity and network congestion, the transaction fees on the Ethereum blockchain rise exorbitantly. This has made it difficult for developers to create apps that are accessible to a wider audience, particularly those in emerging markets like Africa and India, where high fees can be a significant deterrent. Building on Solana opens up new opportunities for innovation and growth in the decentralized application space, particularly in areas where cost is a significant factor for users. ### **4. Thriving ecosystem** The [Solana Foundation](https://solana.org), a non-profit organization that supports the development and growth of the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana), provides grants, technical support, and educational resources to developers and projects building on the Solana blockchain. Additionally, Solana has a vibrant developer and user community who are actively discussing new ideas, sharing best practices, and helping to build the Solana ecosystem. This supportive community provides a platform for developers to connect with each other and get help when they encounter issues or have questions while building on the platform. [**Alchemy**](https://www.alchemy.com/solana/?a=choose-solana) is one such Solana infrastructure provider that provides technical and operational support to projects building on the platform. Developers can utilize reliable node infrastructure services, like [API](https://www.alchemy.com/docs/reference/solana-api-quickstart), [Supernode](https://www.alchemy.com/supernode), [Composer](https://www.alchemy.com/composer/), [Explorer](https://www.alchemy.com/build), and [WebSockets](https://www.alchemy.com/composer/). ### **5. Built-in interoperability** Solana has built-in [cross-chain interoperability](https://www.alchemy.com/overviews/the-future-is-multichain), allowing developers to build applications that can interact with other blockchains and their respective tokens. The Solana blockchain uses a technology called [Wormhole](https://solana.com/ecosystem/wormhole), which is a bridge that connects Solana with 17 other high-value blockchains with a single integration. Essentially, Wormhole allows for the **transfer of tokens and other assets between different networks.** When a user sends tokens or assets from one network to another, the assets are locked on the first network, and a corresponding amount of wrapped tokens are minted on the second network. These wrapped tokens are then used to represent the original tokens on the second network. When the user wants to transfer the tokens back to the original network, the wrapped tokens are burned, and the original tokens are unlocked. ## **Conclusion** Solana provides web3 developers with a powerful platform that is secure and scalable for building apps. Solana’s eight innovations make it stand out from other blockchains, allowing developers to build applications that were not possible before. From its EVM equivalence to built-in interoperability, the Solana core development team is building the ecosystem with the future in mind. This future-proof approach will help avoid silos — a major challenge with most blockchains today. As the Solana network grows, so will its vibrant developer community, providing support for projects creating unique and powerful applications. Building on [Solana with Alchemy](https://www.alchemy.com/solana/?a=choose-solana) is easy and free, and web3 developers should make use of the available resources. --- # 5 Reasons to Choose zkSync for your Blockchain Application URL: https://www.alchemy.com/overviews/choose-zksync.md With over 13,000 [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) and NFT collections running on the Ethereum network, there may be thousands of transactions competing for block space at any given time. Layer 2 scaling solutions like [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) "batch" transactions before submitting them for mainnet settlement. The result is higher transaction speeds and lower fees, creating an advantageous environment for lower-value, higher-scale applications. This article will explain the five major benefits of choosing zkSync for blockchain development. ## **What is zkSync?** zkSync is a general-purpose, decentralized [Ethereum scaling solution](https://www.alchemy.com/overviews/ethereum-scaling-solutions) that uses zero-knowledge proofs to increase Ethereum's throughput while preserving self-sovereignty and decentralization. zkSync’s creators, Matter Labs, were one of the first engineering teams to identify Ethereum's scalability issue and innovate toward a practical future-proof solution. After 12 months of rigorous testing on the Goerli testnet, zkSync launched its public mainnet \(“Era”\) on 24 March 2023. ## **Why do developers choose zkSync for blockchain development?** The main benefits of using zkSync are the fact that it derives its security directly from the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) while adding scalability by leveraging [zero-knowledge proofs](https://www.alchemy.com/blog/zero-knowledge-rollups). Alex Gluchowski, the CEO and co-founder of Matter Labs, believes that a genuinely trustless internet must leverage zero-knowledge proofs for information verification. ### **1. Security derived from Ethereum** While the [optimistic rollups use fraud proofs](https://www.alchemy.com/overviews/validity-proof-vs-fraud-proof), zkSync uses validity proofs to leverage mainnet security. To ensure the security of zkSync transactions, cryptographic proofs \(along with the data needed to validate and reconstruct all transactions\) are published on Ethereum. By publishing these proofs, zkSync provides a transparent and auditable way for users to verify that their transactions have been correctly processed by the network. ### **2. zkEVM implementation** [zkEVM](https://www.alchemy.com/overviews/zkevm) is integration of zero-knowledge proofs and the [Ethereum Virtual Machine \(EVM\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm). Having a zkEVM implementation allows developers to natively port smart contracts from the Ethereum mainnet. EVM-compatible smart contracts can be executed in a secure and trustless manner and proved with zero-knowledge. This is a significant achievement as the EVM and zero-knowledge proofs did not previously work well together, due to technical implementation challenges. Originally, the EVM could execute smart contracts but could not verify their correctness. zkEVM gives the Ethereum Virtual Machine the ability to create zero-knowledge proofs, a.k.a. [Succinct Non-Interactive Argument of Knowledge \(SNARK\)](https://www.alchemy.com/overviews/snarks-vs-starks). This creates new possibilities as developers can now use [ZK-Rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) for advanced decentralized application \(dapp\) functionalities and other uses, rather than being limited to payments and transactions. As well as enabling faster and cheaper transactions, zkEVM implementation also offers greater privacy for smart contract execution. The zero-knowledge proofs used in zkSync allow for private computation, meaning that the inputs and outputs of smart contract execution are not visible to anyone except the parties involved. This is highly beneficial for applications that require privacy, such as decentralized finance \(DeFi\) applications. ### **3. Infinite scalability** zkSync has the ability to scale infinitely and efficiently without compromising its security. Most significantly, it uses succinct zk proofs to incur minimal verification costs regardless of the number of transactions processed. This ensures that performance can be increased exponentially without compromising the security and decentralization of the network. Reducing transaction fees is another important factor in making a blockchain platform scalable. zkSync's innovative Redshift proof system reduces the average cost of a transaction to a fraction of a penny. This means that transactions on zkSync can be processed far more cheaply than transactions on other blockchain platforms. Scalability also depends on cost-efficient storage. That is precisely why zkSync was created: it offers cheap and reliable storage that reduces costs by a remarkable amount in comparison with storage on Layer 1. With EIP-4844 in effect, we can expect costs to reduce even further. What’s more, within the architecture of zkSync lies an additional decentralized storage option: zkPorter. Another necessary component for achieving infinite scalability is "Hyperchains." Hyperchains are essentially sovereign ZK-blockchains that are connected to each other via trustless bridges, which zkSync calls "Hyperbridges." Like any blockchain, the throughput of each individual Hyperchain is limited and largely depends on node capacity and decentralization. However, working in tandem, Hyperchains remove any cap on the total throughput the [zkSync ecosystem](https://www.alchemy.com/dapps/ecosystem/zksync) can achieve. ### **4. Impressive UX** Suboptimal UX has been a barrier to mass adoption of blockchain technology for years. From memorizing seed phrases to figuring out how to use cryptocurrency wallets across apps, users often find Web3 hard to navigate. zkSync significantly simplifies UX with native [account abstraction](https://www.alchemy.com//overviews/what-is-account-abstraction), allowing users to explore the Web3 space more easily and developers to channel more of their energy into functional dApp features. Currently, most users interact with Ethereum through externally owned accounts \(EOAs\). EOAs are simple to operate but cannot execute any code or perform functions beyond sending and receiving ETH. Smart contract accounts \(CAs\) can execute code and perform complex functions beyond simple value transfers, but require more advanced development and testing. Account abstraction brings together the benefits of both types of account, allowing users to interact with CAs through a simplified user experience. The zkSync team aims to make operating a smart contract account similar to Web2 experiences most users are already familiar with, while enabling users to retain custody of assets. zkSync's account abstraction allows each user to easily customize the logic and functionality of their account. For example, a user could create a custom account that automatically schedules recurring payments, or one that enforces specific rules for sending and receiving funds. Not only do smart contract accounts allow users to pay gas fees in any token of their choice, the account can be set up to automatically take care of fees on behalf of the user. ### **5. Composability** One of the most underrated benefits of zkSync is its ability to allow two-way hops between Layer 1 and Layer 2 within reasonable amounts of time. Users can move their assets and liquidity seamlessly between the two layers, without the need for lengthy withdrawal and deposit processes.  This is particularly important for composability, which is the ability for different smart contracts and apps to interact and work together. With zkSync's two-way hop capability, apps on Layer 2 can easily access and utilize assets and liquidity on Layer 1, and vice versa, enabling more complex and sophisticated composability among apps. The ability to move assets quickly between Layer 1 and Layer 2 is also crucial for maintaining liquidity. By having a fluid flow between the two layers, users can take advantage of opportunities and react quickly to market changes without the risk of assets being locked in either layer. For example, a user might want to use a decentralized exchange \(a platform for trading cryptocurrencies\) that is built on Layer 2 of the Ethereum blockchain. With zkSync, they can quickly transfer their cryptocurrencies from Layer 1 to Layer 2 so they can trade on the exchange. Then, when they wish to withdraw their funds, they can quickly transfer them back to Layer 1. --- # RaaS Provider Comparison: Choosing the Right Partner URL: https://www.alchemy.com/overviews/compare-raas-providers.md A Rollup-as-a-Service \(RaaS\) is a managed service or platform that provides the infrastructure, tooling, and support to deploy and maintain roll-up based scaling solutions for blockchain applications.  The offering is similar to a software-as-a-service \(SaaS\) model because end-users don’t need to set-up or maintain any part of the rollup, abstracting away all the complications and enabling users to focus on building impactful applications.  The two main implementations are optimistic and zero-knowledge \([ZK](https://www.alchemy.com/blog/zero-knowledge-rollups)\) rollups. By selecting the right RaaS provider, developers can ensure that their blockchain applications are scalable, secure, and cost-effective.  In this article, we will explore the industry’s leading RaaS providers, factors to consider when choosing a RaaS, and how to get started right here on Alchemy. Let’s dive in. ## **What to look for when choosing a rollup-as-a-service** When selecting a RaaS, developers and creators should consider a variety of factors that align with their project’s requirements such as robust infrastructure, performance optimization, and seamless interoperability. Here are some key factors and questions to consider before finalizing your service provider: ### **Scalability** Rollups significantly increase transaction throughput by processing off-chain and only posting necessary data and proofs on-chain. In other words, scalability is a major advantage of using a rollup.  **Questions to ask yourself:** - How well does the platform handle increasing numbers of transactions and users? - Can it scale efficiently to meet the demands of your dApp? - Does the platform automatically adjust RPC resources when volume increases? ### **Performance** RaaS providers remove the complexities of building and maintaining rollups, enabling developers to leverage the performance benefits of Layer 2 scaling solutions without exerting maximum effort.  **Questions to ask yourself:** - What are the transaction speeds and throughput of the platform? - Are its sequencers reliable and performant? - How low are the latency and finality times? ### **Cost** Rollups leverage cost-effective data availability \(DA\) layers, which can significantly reduce transaction costs for end-users. How? The off-chain computation combined with on-chain proof submission reduces on-chain data and gas fees. **Questions to ask yourself:** - What are the fees associated with using the platform? - Are there any costs or additional charges for scaling? - What pricing model does the platform use to charge users? - Is the platform transparent in terms of fee structure?  ### **Ease of use** RaaS abstracts away all the complexities with set-up and maintenance of components like provers and data availability layers. Instead, developers can focus on building their application layer without worrying about the underlying rollup infrastructure and tooling, significantly reducing time-to-market.  **Questions to ask yourself:** - How user-friendly is the platform for developers? - Is there comprehensive documentation and support available? - Does the platform offer no-code or low-code deployment for custom rollips? ### **Vertical integrations** Developers can use RaaS providers to build their own rollups or application-specific rollups \(AppRollups\) customized for specific verticals or use cases on top of their existing infrastructure. Rollups enable developers to create vertically integrated products for sectors like gaming, DeFi, and consumer applications.  **Questions to ask yourself:** - How well does the platform integrate with existing tools and infrastructure? - Is it compatible with your preferred programming languages and frameworks? - How quickly can you set up the integration? - How does the integration impact the reliability and performance of the rollup?  ### **Customization** Developers can choose between general-purpose rollups and application-specific rollups customized to their decentralized application’s needs. In fact, customizable components like sequencers can allow tailored transaction processing, while improving efficiency and reliability. **Questions to ask yourself:** - How much control do you have over the rollup configuration? - Can you customize the platform to meet the specific needs of your dApp? ### **Reliability** Rollup providers offer managed infrastructure, including globally distributed nodes, settlement layers, and data availability layers, ensuring reliable and uninterrupted service. Moreover, rollups inherit the security and reliability of the underlying Layer 1 blockchain while enabling high throughput and low fees. **Questions to ask yourself:** - What is the platform's uptime guarantee? - How reliable is the platform in terms of maintenance and updates? - Does the platform have a single point of failure? - Are there redundancy and failover mechanisms in place? ### **Interoperability** Another advantage of rollups is their interoperability with the base layer, enabling seamless asset transfers and data exchange. Also, direct integration with bridges and indexers allows rollups to interact with external data sources and other blockchain ecosystems. **Questions to ask yourself:** - How well does the platform interact with other blockchains and systems? - Are cross-chain functionalities supported? - Does the platform offer uninterrupted data exchange with other technologies and applications? ## **Top 9 RaaS providers** ### Alchemy Alchemy’s best-in-class development platform powers every part of the chain and is used by the leading companies in the decentralized ecosystem. The platform’s infrastructure is trusted by over 2 million global developers and has already powered $100\+ billion of onchain transactions for 100\+ million end-users. Alchemy provides virtually every product, tool, and API through a single platform to build applications onchain. The highly available platform’s 99.999% uptime ensures unmatched sequencer reliability meaning developers can scale their applications to meet 10x, 100x, or higher growth needs. With automatic monitoring and robust alerting capabilities, developers can assess their rollup’s health in real-time and preview onchain transaction behavior to keep assets secure. Developers interested in performant infrastructure that takes care of all their rollup needs with 24 x 7 global support from real engineers should look no further than Alchemy.  ### Conduit [Conduit](https://www.alchemy.com/dapps/conduit) is a crypto-native infrastructure platform that empowers developers to deploy production-grade rollups with minimal support. It’s a self-service platform that handles scalability, reliability, and upgrades, allowing developers to build powerful applications.Not only does Conduit simplify the deployment of OP stack and [Arbitrum](https://www.alchemy.com/arbitrum) Nitro rollups but also provides access to logs, monitoring, and transaction tracing capabilities. Conduit is ideal for developers who’re on the lookout for a seamless deployment experience without extensive operational overhead. The platform is designed to offer scalable and reliable RPC nodes, making it a robust choice for developers looking to ship DeFi, gaming, and enterprise applications. Developers also automatically receive new components as upgrades are made available.  ### Caldera [Caldera](https://www.alchemy.com/dapps/caldera) provides developers with the tools to build high-performance, customizable, and application-specific applications on layer-two blockchains using Arbitrum and the OP stack. Caldera simplifies the launch of optimistic rollups by providing robust infrastructure and support. Its chains offer high throughput, low latency, and customizable features for optimizing the performance and user experience of decentralized applications. The RaaS can process hundreds of transactions per second and sub-second confirmation times. Caldera’s focus on performance and customization makes it a competitive option for developers looking to deploy specialized rollups for various applications like gaming and DeFi solutions, where transaction speed and cost efficiency are critical.  ### AltLayer In a nutshell, [AltLayer](https://www.alchemy.com/dapps/alt-layer) is a decentralized and elastic RaaS protocol for developers to launch high-scalable application-tailored execution layers that can be temporarily spun up to meet excessive end-user demand. Its elastic nature allows the platform to scale according to the ever-changing needs of the application. AltLayers offers both Flash Layer and Persistent rollups. AltLayer’s Flash rollups provide a unique approach to handling peak loads, allowing applications to scale dynamically and efficiently. These layers can be quickly deployed and discarded, offering flexibility and cost savings. On the other hand, AltLayer’s persistent rollups are standard optimistic rollups that are application-specific and compatible with both Ethereum Virtual Machine \(EVM\) and WebAssembly \(WASM\). The platform has been designed for developers and projects that require a high degree of scalability and flexibility. AltLayer is particularly well-suited for use cases such as NFT mint events, games, and event ticketing.  ### SnapChain SnapChain is designed to support numerous rollup technologies, ensuring high performance and security for blockchain applications. The platform supports both the optimistic and ZK rollups, catering to a wide range of use cases with robust security measures and efficient transaction processing. Its private and secure platform enables developers to host and scale their own decentralized private network without compromise, from fully on-chain games to transaction-intense DeFi applications. SnapChain offers a streamlined platform for deploying rollups and provides comprehensive infrastructure support, including monitoring and management tools to ensure reliable operations of deployed rollups. Developers that are looking for a quick and efficient solution to deploy rollups without compromising on speed and reliability should consider using SnapChain. ### Saga Saga is a Layer 1 protocol for automatically spinning up parallelized and interoperable chains that elastically scale with application requirements. Saga’s network is best leveraged as a scalability layer for infrastructure upgrades. Developers selecting Saga as their RaaS provider benefit from high performance, predictable chain fees, and seamless interoperability with the wider ecosystem. Using shared security, innovations in validator orchestration, and an automated deployment pipeline, Saga makes launching a dedicated blockchain as easy as deploying a smart contract. In fact, developers can enjoy their own dedicated chains, enabling optimal flexibility and customization. The network’s parallelized chains and horizontal scalability translate to fewer performance bottlenecks because of lack of blockspace.  ### Alembic Alembic is a cutting-edge platform that enables developers to build and operate their own games and applications. The platform’s open, modular, and highly extensible architecture serves as the bedrock for [apps](https://www.alchemy.com/dapps/top/defi-dapps). Alembic has some powerful features ranging from account abstraction as a service \(AaaS\), where developers can integrate and manage user accounts, to support for Layer 2 solutions, ensuring full compatibility with the EVM either through an optimistic chain or dedicated application-chains. But that’s not all. Alembic provides a comprehensive set of APIs like Relayer and Indexer empowering developers to leverage existing infrastructure and enhance the functionality of their applications. Leveraging Cometh, developers have an opportunity to turn their innovative ideas into real projects in little to no time.  ### Vistara [Vistara](https://www.alchemy.com/dapps/vistara-dev) is a one-click rollup deployment framework for designing and maintaining hardware resources at scale. Think of Vistara as the hardware availability layer for the decentralized web, which democratizes access to decentralized hardware and is designed from the ground up to meet the needs of developers. The framework’s approach centers on making computing resources like CPUs, GPUs, and storage easily accessible and programmable, breaking free from the constraints of centralized cloud computing infrastructure. By ensuring advanced technological resources are available to a larger number of developers, Vistara lowers the barriers to entry for development of creative solutions. Using Vistara, developers can create and maintain customizable rollups in a minimal amount of time. The low-friction experience allows developers to compose, build, test, fail, iterate, and succeed quickly. ### Zeeve Zeeve enables developers to launch enterprise-grade ZK and OP rollups infrastructure using its highly configurable and cost-optimized no-code platform. The RaaS provider removes the complexity of launching your own blockchain and offers end-to-end rollup solutions that adhere to the demanding requirements of enterprise-level service agreements from security to technical support. Moreover, Zeeve provides deployment options across 9 cloud providers and 150\+ regions while complying with ISO 27001 and SOC 2 Type 2 standards. Not only does Zeeve offer migration assistance with limited downtime or data loss, but its strong partnership network allows developers to easily extend the functionality of Optimistic and ZK rollups. ## **Which RaaS provider is best for you?** Choosing the right RaaS provider depends heavily on the specific needs and goals of your project. For high reliability and extensive support, Alchemy is unmatched. If seamless deployment with minimal overhead is crucial, Conduit is a strong contender. For performance-critical applications, Caldera's high throughput and low latency make it ideal. AltLayer offers unique benefits for temporary scalability, while SnapChain is best for secure and intensive transaction processing. For projects needing flexible and scalable infrastructure, Saga is a top choice, whereas Alembic is suited for modular and extensible applications. Vistara is ideal for developers requiring extensive hardware resources and quick iteration. Finally, for enterprise-grade applications needing robust security and compliance, Zeeve stands out. Developers should carefully evaluate the features, benefits, and use cases of each platform to determine the best fit for their specific project requirements.  ## **Get started with Alchemy rollups** Imagine your blockchain application running seamlessly and scaling effortlessly. With Alchemy's Rollups, this vision is a reality. Trusted by over 2 million developers, Alchemy's infrastructure boasts 99.999% uptime, real-time monitoring, and 24/7 global support. Scale from 10x to 100x growth effortlessly with our best-in-class platform. Choose Alchemy, the complete dev platform, for all your rollup needs. ## Frequently asked questions ### What is Rollup-as-a-Service (RaaS)? RaaS is a managed service that provides the infrastructure, tooling, and support to deploy and maintain rollup-based scaling solutions for blockchain applications, abstracting away complexities so developers can focus on building impactful applications. ### What are the main types of rollups offered by RaaS providers? RaaS providers support optimistic rollups (using [OP Stack](https://www.alchemy.com/dapps/op-stack) or Arbitrum Nitro) and zero-knowledge (ZK) rollups, each offering different performance and security characteristics for scaling blockchain applications. ### What makes us a strong RaaS provider? We offer 99.999% uptime, automatic monitoring, real-time health checks, and 24/7 global support from real engineers, making us ideal for applications requiring unmatched sequencer reliability and the ability to scale 10x, 100x, or higher. ### Which RaaS provider is best for performance-critical applications? Caldera is ideal for performance-critical applications, offering high throughput (hundreds of transactions per second), sub-second confirmation times, and customizable features optimized for gaming and DeFi solutions where speed is essential. ### What unique scalability options does AltLayer provide? AltLayer offers Flash rollups that can be quickly deployed and discarded to handle peak loads dynamically, plus persistent EVM and WASM-compatible rollups, making it well-suited for NFT mints, games, and event ticketing. ### Which RaaS provider offers the strongest enterprise-grade compliance? Zeeve stands out with ISO 27001 and SOC 2 Type 2 compliance, no-code deployment across 150+ regions, and migration assistance, making it ideal for enterprise-level applications requiring robust security and compliance standards. ### What key factors should I consider when choosing a RaaS provider? Consider scalability, performance, cost, ease of use, customization options, reliability (including uptime guarantees), interoperability with other blockchains, and whether the platform offers vertical integrations for your specific use case. ### How does RaaS reduce costs compared to building rollups independently? RaaS abstracts away the complexities of building and maintaining components like provers and data availability layers, significantly reducing time-to-market and operational costs while leveraging cost-effective DA layers to reduce transaction fees for end-users. --- # Ultimate Hyperliquid RPC Guide for Developers in 2026 URL: https://www.alchemy.com/overviews/complete-guide-to-hyperliquid-rpc-providers-top-8-solutions-for-2026.md Hyperliquid’s unique [Layer-1](https://www.alchemy.com/overviews/layer-1-blockchain-ecosystems-overview) architecture has made it a favorite among traders and developers worldwide. Despite hosting just [176 protocols](https://defillama.com/chains) \(much less than Ethereum’s 1,683 and BSC’s 1,074\), Hyperliquid ranks [3rd by app revenue](https://defillama.com/app-revenue/chains) trailing behind Ethereum and Solana. The hype, so to speak, is real. Solana

", tooltip: "", icon: "" }, "2": { title: "

$5.64m

", tooltip: "", icon: "" }, "3": { title: "

$34.44m

", tooltip: "", icon: "" }, "4": { title: "

$122.31m

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Hyperliquid L1

", tooltip: "", icon: "" }, "2": { title: "

$2.98m

", tooltip: "", icon: "" }, "3": { title: "

$14.51m

", tooltip: "", icon: "" }, "4": { title: "

$56.91m

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Ethereum

", tooltip: "", icon: "" }, "2": { title: "

$1.54m

", tooltip: "", icon: "" }, "3": { title: "

$10.65m

", tooltip: "", icon: "" }, "4": { title: "

$45.88m

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

BSC

", tooltip: "", icon: "" }, "2": { title: "

$1.56m

", tooltip: "", icon: "" }, "3": { title: "

$11.98m

", tooltip: "", icon: "" }, "4": { title: "

$27.85m

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Base

", tooltip: "", icon: "" }, "2": { title: "

$736,881

", tooltip: "", icon: "" }, "3": { title: "

$3.67m

", tooltip: "", icon: "" }, "4": { title: "

$14.15m

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

TON

", tooltip: "", icon: "" }, "2": { title: "

$227,024

", tooltip: "", icon: "" }, "3": { title: "

$1.58m

", tooltip: "", icon: "" }, "4": { title: "

$12.1m

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Polygon

", tooltip: "", icon: "" }, "2": { title: "

$110,430

", tooltip: "", icon: "" }, "3": { title: "

$1.24m

", tooltip: "", icon: "" }, "4": { title: "

$6.63m

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Arbitrum

", tooltip: "", icon: "" }, "2": { title: "

$193,750

", tooltip: "", icon: "" }, "3": { title: "

$1.34m

", tooltip: "", icon: "" }, "4": { title: "

$5.88m

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

Aptos

", tooltip: "", icon: "" }, "2": { title: "

$18,269

", tooltip: "", icon: "" }, "3": { title: "

$492,044

", tooltip: "", icon: "" }, "4": { title: "

$4.56m

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

Sui

", tooltip: "", icon: "" }, "2": { title: "

$131,350

", tooltip: "", icon: "" }, "3": { title: "

$1.08m

", tooltip: "", icon: "" }, "4": { title: "

$4.19m

", tooltip: "", icon: "" }, id: 9, }, ], }} /> The Hyperliquid chain supports permissionless execution of 200,000 trades per second with zero reliance on off-chain components with its orderbook engine, HyperCore. That’s an important distinction: HyperCore is distinct from the actual development environment, HyperEVM. [HyperCore](https://hyperliquid.gitbook.io/hyperliquid-docs/hypercore/overview) is Hyperliquid’s order flow engine and is gas-free. [HyperEVM](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm) is an Ethereum-compatible layer built for [Solidity](https://www.alchemy.com/overviews/solidity) developers to deploy smart contracts. It uses the HYPE token for gas. While distinct environments, HyperCore and HyperEVM still share the same state and run atop HyperBFT \(Hyperliquid’s [consensus mechanism](https://www.alchemy.com/docs/what-are-blockchain-consensus-mechanisms)\). That way, developers can still make use of the throughput HyperCore provides. Now, distinct development surfaces also mean that you can’t use a HyperCore RPC to build on HyperEVM. HyperCore does not use standard Ethereum JSON RPC methods, so it doesn’t work out of the box with the EVM stack. HyperEVM, however, neatly integrates with all libraries [Solidity](https://www.alchemy.com/dapps/solidity) developers are accustomed to. This guide analyzes 8 HyperEVM and Hyperliquid RPC providers. We will compare the leading public and enterprise options available today so you know where to build your next billion-dollar idea. ## Understanding Hyperliquid RPC infrastructure in 2026 An RPC \(Remote Procedure Call\) is what connects your application to Hyperliquid and makes it usable. Hyperliquid’s unique architecture splits RPC infrastructure into two. HyperCore, Hyperliquid’s trading engine, requires bespoke infrastructure to build on it. HyperEVM, however, supports familiar JSON RPC methods so that developers can [deploy Solidity smart contracts](https://www.alchemy.com/university/courses/solidity) as they normally would and Alchemy can support it with standard endpoints. ### When should you choose Hyperliquid RPC vs. HyperEVM RPC? HyperCore is the native non-EVM environment of Hyperliquid. It is purpose-built to handle fast and scalable DEX activity directly onchain. It makes up the core trading layer of Hyperliquid and sits alongside HyperEVM. A HyperCore RPC is the right choice if you’re building trading interfaces, market data tools, or anything pertaining to Hyperliquid’s economic activity and requiring extremely high performance. HyperEVM is the general-purpose EVM-compatible environment where you can deploy smart contracts. Solidity developers will find this environment extremely familiar. A HyperEVM RPC is the right choice if you want to deploy Solidity smart contracts or if you’re building applications like credit markets, bridges, or any [composable app](https://www.alchemy.com/university/intro-to-blockchain/composability). The depth and quality of support vary widely across providers \(and the different pricing tiers within each provider\), which is why you must research thoroughly before choosing an infrastructure partner for your Hyperliquid project. ## Public vs private RPC endpoints Since developers building for the [Hyperliquid ecosystem](https://www.alchemy.com/dapps/ecosystem/hyperliquid) are working in different execution environments, the choice between public and private RPC endpoints matters more than in other ecosystems, say, Solana. *Also Read: [Top Solana RPC Providers](https://www.alchemy.com/overviews/solana-rpc)* Public RPC endpoints are great for beginners or for developers who need a make-do sandbox environment. While convenient and easily accessible, their performance tends to be unreliable and [subject to rate limits](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/rate-limits-and-user-limits). The Hyperliquid core team provides a public RPC endpoint for HyperEVM, but it’s very limited. The official endpoints are: - Mainnet: `https://rpc.hyperliquid.xyz/evm` \(Chain ID 999\) - Testnet: `https://rpc.hyperliquid-testnet.xyz/evm` \(Chain ID 998\) As of  January 2026, Hyperliquid’s public RPC allows a maximum of 100 EVM JSON-RPC requests per minute. This is sufficient for light work like testing and prototyping. A private RPC endpoint can overcome all the limitations of a public RPC endpoint. In a private environment, you get dedicated resources for bringing your next big idea to fruition. If you want to move beyond experimentation with a private endpoint, we provide production-ready HyperEVM RPC endpoints with a 15x greater throughput \(25 rps\) than Hyperliquid’s public endpoint. - RPC: `https://hyperliquid-mainnet.g.alchemy.com/v2/<api-key>` - WebSocket: `wss://hyperliquid-mainnet.g.alchemy.com/v2/<api-key>` *Get started here: [https://www.alchemy.com/rpc/hyperliquid](https://www.alchemy.com/rpc/hyperliquid)* ## Comparing 8 best Hyperliquid RPC providers for 2026 The only public Hyperliquid \(HyperEVM\) RPC is provided by the Hyperliquid core team and is closed source. Any other Hyperliquid RPC you may come across \(that are not mentioned in this guide\) are [private](https://www.alchemy.com/overviews/private-rpc-endpoint). Below is a comparison of the [leading RPC providers](https://www.alchemy.com/overviews/blockchain-node-providers) for Hyperliquid. Every private RPC provider mentioned in the list provides WebSocket support and ‘Read Access’ to HyperCore data via HypereEVM endpoints. *Also Read: [What is an RPC Node?](https://www.alchemy.com/overviews/rpc-node)* As you go through the list please note that most providers focus on the HyperEVM RPC. When we say a provider “supports Hyperliquid,” we generally mean they provide HyperEVM JSON-RPC endpoints \(for mainnet and often testnet\). Only a few providers also expose HyperCore-specific data \(e.g. order book feeds via gRPC or special APIs\). We will note those cases. Otherwise, assume that these services let you interact with Hyperliquid via the HyperEVM interface \(which is sufficient for most app development\). Alchemy

", tooltip: "", icon: "" }, "2": { title: "

Best in class

", tooltip: "", icon: "" }, "3": { title: "

Best in class

", tooltip: "", icon: "" }, "4": { title: "

Best in class

", tooltip: "", icon: "" }, "5": { title: false, tooltip: "", icon: "" }, "6": { title: "

Best in class

", tooltip: "", icon: "" }, "7": { title: false, tooltip: "", icon: "" }, "8": { title: "

Richest developer toolset and analytics

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

QuickNode

", tooltip: "", icon: "" }, "2": { title: "

Good

", tooltip: "", icon: "" }, "3": { title: "

Good

", tooltip: "", icon: "" }, "4": { title: "

Best in class

", tooltip: "", icon: "" }, "5": { title: false, tooltip: "", icon: "" }, "6": { title: "

Very good

", tooltip: "", icon: "" }, "7": { title: true, tooltip: "", icon: "" }, "8": { title: "

Dual endpoint architecture

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Chainstack

", tooltip: "", icon: "" }, "2": { title: "

Good

", tooltip: "", icon: "" }, "3": { title: "

Good

", tooltip: "", icon: "" }, "4": { title: "

Very Good

", tooltip: "", icon: "" }, "5": { title: true, tooltip: "", icon: "" }, "6": { title: "

Good

", tooltip: "", icon: "" }, "7": { title: true, tooltip: "", icon: "" }, "8": { title: "

Testnet faucet, dedicated Hypercore nodes

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

dRPC

", tooltip: "", icon: "" }, "2": { title: "

Basic

", tooltip: "", icon: "" }, "3": { title: "

Very good

", tooltip: "", icon: "" }, "4": { title: "

Good

", tooltip: "", icon: "" }, "5": { title: false, tooltip: "", icon: "" }, "6": { title: "

Good

", tooltip: "", icon: "" }, "7": { title: false, tooltip: "", icon: "" }, "8": { title: "

Decentralized RPC architecture

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

dRPC

", tooltip: "", icon: "" }, "2": { title: "

Basic

", tooltip: "", icon: "" }, "3": { title: "

Basic

", tooltip: "", icon: "" }, "4": { title: "

Very Good

", tooltip: "", icon: "" }, "5": { title: false, tooltip: "", icon: "" }, "6": { title: "

Very good

", tooltip: "", icon: "" }, "7": { title: false, tooltip: "", icon: "" }, "8": { title: "

Validator adjacent dual binary HLNode

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Dwellir

", tooltip: "", icon: "" }, "2": { title: "

Basic

", tooltip: "", icon: "" }, "3": { title: "

Basic

", tooltip: "", icon: "" }, "4": { title: "

Very Good

", tooltip: "", icon: "" }, "5": { title: true, tooltip: "", icon: "" }, "6": { title: "

Very good

", tooltip: "", icon: "" }, "7": { title: true, tooltip: "", icon: "" }, "8": { title: "

Private order book server, gRPC depth feeds

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

OnFinality

", tooltip: "", icon: "" }, "2": { title: "

Basic

", tooltip: "", icon: "" }, "3": { title: "

Basic

", tooltip: "", icon: "" }, "4": { title: "

Good

", tooltip: "", icon: "" }, "5": { title: false, tooltip: "", icon: "" }, "6": { title: "

Good

", tooltip: "", icon: "" }, "7": { title: false, tooltip: "", icon: "" }, "8": { title: "

Scalable enterprise infra

", tooltip: "", icon: "" }, id: 6, }, ], }} /> ### 1. Official Hyperliquid RPC \(public node\) Hyperliquid offers a [free HyperEVM RPC endpoint](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm) to build applications. While limited in features, the ease of access \(free and no sign up requirement\) make it a good option to start testing the waters. #### Key features - Anyone can use the endpoint without signing up or paying - The endpoint is maintained by the Hyperliquid team #### Limitations of the public Hyperliquid RPC - Rate limited to 100 requests/minute per IP - Does not support WebSocket \(only for HyperEVM; exchange API supports WebSocket\) - Intended for light testing and prototyping and not for production-ready apps - Developers must move to private providers for increased throughput #### Cost of public Hyperliquid RPC - Hyperliquid’s public RPC is free - There are no tiers or upgrade options ### 2. Alchemy: world’s leading developer infra provider [Alchemy](https://www.alchemy.com/hyperevm) brings polished tooling, stable performance, and multi-chain convenience, all under one API key. For Hyperliquid specifically, Alchemy focuses on HyperEVM rather than HyperCore and provides developers all the tools they need to build on Hyperliquid under one roof. We are one of the few providers to offer a very generous free tier that suits even production-grade small-to-mid size applications on Hyperliquid. #### Key features of Alchemy HyperEVM RPC - Provides developer-first tooling and priority support right for paying customers \(and standard support for free tier\) - Up to 30 million compute units \(CUs\) per month in the free tier - Unmatched reliability with ~99.9% uptime - Advanced analytics dashboard gives metrics on requests, error rates, latency, and more - Flexible tiers and generous free plan makes Alchemy ideal for high-growth teams - Pay-as-you-go pricing model unlocks access to features and toolings that are normally paywalled behind bigger tiers by other providers #### Limitations of Alchemy HyperEVM RPC - Some features like the Debug API and Trace API are not available on the free tier - Pricing is based on Compute Units \(CUs\), which can make one-to-one cost translation for HyperEVM requests tricky #### Cost of Alchemy HyperEVM RPC - Free tier: Permanent free tier that can support small production apps. - Cheapest entry: Pay-as-you-go pricing starting at $5. - Enterprise: Custom SLAs, higher throughput, archive access, priority support, and volume discounts. [Check out Alchemy pricing](https://www.alchemy.com/pricing) ### 3. QuickNode [Quicknode](https://www.quicknode.com/chains/hyperliquid) is a well-established fast-growing RPC infrastructure provider. In 2025, the company began offering the HyperEVM RPC endpoint \(it does not offer HyperCore RPC\). The provider offers a 1 month free trial as opposed to Alchemy that offers a permanent free tier with higher limits. Prices for [Quicknode](https://www.alchemy.com/dapps/quicknode) start at $49/mo after the trial period and the highest plan \(not Enterprise\) is at $999/mo. #### Key features of QuickNode HyperEVM RPC - Focuses on lowering latency with global network of nodes and automatic geographic load balancing - No new dashboards or API keys needed if already using Quicknode RPC for other networks - Provides dual endpoint paths \(/evm and /nanoreth\) #### Limitations of QuickNode HyperEVM RPC - You only get WSS on /nanoreth, and responses are capped - Rate limits are lower for debug and trace methods - Does not offer a permanent free tier \(only free trial\) #### Cost of QuickNode HyperEVM RPC - Free tier: 1 month free trial only \(with specific limits\). - Cheapest entry: Mid-range pricing compared to competitors. Starts at $49/mo. - Enterprise: Custom RPS limits, private infrastructure, and enterprise support at higher tiers.  [Compare Quicknode pricing](https://www.quicknode.com/pricing) ### 4. Chainstack [Chainstack](https://chainstack.com/build-better-with-hyperliquid/) is one of the few private Hyperliquid RPC providers to offer both HyperEVM and HyperCore RPC endpoints. The provider also offers ‘Yellowstone Geyser gRPC’ and ‘Unlimited Nodes’ as add-ons, making the economics slightly more flexible. #### Key features of chainstack Hyperliquid RPC - Provides WebSocket support for real-time event streaming and subscriptions similar to Alchemy - Both HyperEVM and HyperCore RPC endpoints are available - One unified dashboard to manage HyperEVM and HyperCore environments #### Limitations of chainstack Hyperliquid RPC - Traffic spikes require proactive resizing or adding nodes - No advanced developer tools like transaction simulation - Archive data is paywalled behind higher tiers #### Cost of chainstack Hyperliquid RPC - Free tier: Small but usable free tier for testing and development. - Cheapest entry: Affordable entry-level plans, competitive with other mid-market providers. Starts at $49/mo \(or $480/yr\). - Enterprise: Dedicated nodes, priority support, and HyperCore access with higher spend. [Compare Chainstack pricing](https://chainstack.com/pricing) ### 5. dRPC [dRPC](https://drpc.org/chainlist/hyperliquid-mainnet-rpc) is a relatively new entrant among Hyperliquid RPC providers. It provides only HyperEVM RPC endpoints and focuses on simplicity rather than feature overloads. Pricing is heavily dependent on Computer Units, or CUs \([learn more about dRPC CUs here](https://drpc.org/docs/pricing/compute-units)\). #### Key features of dRPC HyperEVM RPC - Geo-distributed node clusters reduce latency - AI-driven load balancing that route around slow or unhealthy upstream nodes - Public-node aggregation \(load-balancing over multiple public nodes\) even on the free tier #### Limitations of dRPC HyperEVM RPC - Lacks developer tools like webhooks and debugging dashboards - No dedicated support team \(only community support\) - Free tier is suited only for testing or prototyping #### Cost of dRPC HyperEVM RPC - Free tier: Generous free tier, but mainly suited for testing and experimentation. - Cheapest entry: Low-cost paid plans compared to most providers. Starts at $6 with specific limits. - Enterprise: High-throughput plans with custom limits, but limited enterprise tooling. [Compare dRPC pricing](https://drpc.org/pricing) ### 6. HypeRPC [HypeRPC](https://hyperpc.app) is a Hyperliquid-only RPC provider, i.e., it does support any other blockchain. Builders get 5% off on quarterly subscriptions, 10% off on biannual subscriptions, and 20% off on annual subscriptions. #### Key features of HypeRPC HyperEVM RPC - Offers both shared and dedicated nodes - Claims 99.99% uptime and ultra-low latency in the highest tier - WebSocket access and archive data come right from the free tier #### Limitations of HypeRPC HyperEVM RPC - Supports regional routing only in EU and JP with a 50% surcharged for the latter - Does not offer heavy dev tools like deep analytics dashboards and transaction simulation - Lack of enterprise-level features like multi-region failover - 99.99% uptime is guaranteed only for the highest tier \(Dedicated\), unlike Alchemy that offers 99.9% uptime even on the free tier #### Cost of HypeRPC HyperEVM RPC - Free tier: Includes WebSocket and archive access, uncommon among free tiers. - Cheapest entry: Slightly higher compared to other RPC providers in the niche. Starts at $99/mo. - Enterprise: Dedicated nodes and higher uptime guarantees at premium tiers. [Compare HypeRPC pricing](https://hyperpc.app/pricing) ### 7. Dwellir [Dwellir](https://www.dwellir.com/networks/hyperliquid) is reputed for its stable, reliable, and low latency infrastructure of high quality, globally distributed RPC nodes. In addition to the regular pricing tiers, $1150/mo gets you unlimited RPS and responses, access to engineering teams, dedicated account manager, and more It offers managed Hyperliquid infrastructure with two tracks: 1. Shared HyperEVM RPC endpoints for typical EVM app traffic, and 1. A more “Hyperliquid-native” path via custom gRPC streaming for Layer-1 data \(order books, fills, market info\), plus dedicated nodes for teams that need isolated capacity.  #### Key features of dwellir Hyperliquid RPC - Offers the most simple, predictable billing with 1 RPC = 1 API credit \(including Trace and Debug APIs\) - Custom gRPC streaming interface for Hyperliquid Layer 1 data - Each user gets their own isolated managed node #### Limitations of dwellir Hyperliquid RPC - Focuses on infrastructure, not tooling \(so no simulator, debugging suite, or real-time analytics dashboard\) - Lacks advanced developer tools - Apps requiring high throughput would need dedicated nodes, which is a big step-up in pricing at $1,150/mo #### Cost of dwellir Hyperliquid RPC - Free tier: Unavailable. - Cheapest entry: Starter tier is $5 \(one-time payment\). Suitable only for testing or dog-fooding. Usable plants start at $49/mo, which is mid-range compared to other providers. - Enterprise: Dedicated nodes, custom gRPC streams, and direct engineering support.  [Compare Dwellir pricing](https://www.dwellir.com/pricing) ### 8. OnFinality [OnFinality](https://onfinality.io/en/networks/hyperliquid) launched Hyperliquid support in the third quarter of 2025 and offers Hyperliquid API endpoints based in Hong Kong, North Virginia, and France. Pricing is based on [Response Units \(RUs\)](https://documentation.onfinality.io/support/response-units). #### Key features of OnFinality HyperEVM RPC - Claims 99.99% uptime for RPCs - All OnFinality plans include access to full archive data - OnFinality also supports one-click-deploy dedicated nodes #### Limitations of OnFinality HyperEVM RPC - OnFinality bills in API response units, and different workloads can burn units at different rates, so predictability is difficult - No advanced developer diagnostics like transaction simulation or built-in debugging tools - Shared plans tend to hit ceilings earlier for bursty traffic #### Cost of OnFinality HyperEVM RPC - Free tier: Limited free tier suitable only for light usage. - Cheapest entry: Comparable to other mid-market RPC providers. Starts at $49/mo. - Enterprise: Fully customizable plans with dedicated nodes and global deployment options. [Compare OnFinality pricing](https://onfinality.io/en/pricing) ## Verdict: Alchemy is the most complete Hyperliquid RPC provider Each  infrastructure provider mentioned in this article excels in a specific area Alchemy is the only one that covers performance, developer experience, and production readiness in a single offering. Alchemy provides a real-time analytics dashboard from the free tier, including request volume, error rates, and method-level breakdowns. As teams scale, Alchemy offers archive reads on paid plans without forcing a dedicated node deployment along with built-in global routing and failover. The bottom line is that Alchemy is the only provider in this list that consistently offers analytics, debugging, WebSockets, archive access, and global reliability earlier in the lifecycle, with a smoother path from free experimentation to production scale. ## FAQs ### What's the best Hyperliquid RPC provider for most applications? For most applications, Alchemy is the best Hyperliquid RPC provider. You get reliable HyperEVM RPC access, strong global performance, and the most complete developer tooling. If you’re new, [get started](https://www.alchemy.com/rpc/hyperliquid) with the most generous free tier for Hyperliquid RPC in the market. ### Is HyperEVM safe? Yes. All HyperEVM blocks and transactions are finalized by the same HyperBFT consensus, so HyperEVM inherits full security from the Hyperliquid network. ### Why is WebSocket support important for a Hyperliquid RPC? WebSocket support is important because it enables real-time data updates. With WebSockets, applications can subscribe to events like new blocks, logs, and contract events without constantly polling the RPC. On Hyperliquid, this is especially useful for trading interfaces, monitoring tools, and bots that need immediate updates. ### Why do I need more than one node from an RPC provider? Using multiple nodes improves reliability and uptime. Alchemy providers endpoints backed by a distributed Supernode cluster, so you get multi-node redundancy, load balancing, and failover without managing multiple nodes yourself. ### What are ‘requests per second’ in Hyperliquid RPC? Requests per second \(RPS\), in Hyperliquid or otherwise, measures how many RPC calls your application can make each second. Higher RPS limits allow faster data ingestion and smoother real-time applications. Low RPS limits can cause throttling, delayed responses, or failed requests during traffic spikes. ### Can I migrate to Alchemy from another provider without code changes? Yes. In most cases, you can migrate to Alchemy by simply changing the RPC endpoint URL. Alchemy RPC supports standard Ethereum JSON-RPC for HyperEVM, so existing code built with Ethers.js, [Web3.js](https://www.alchemy.com/dapps/web3-js), [Hardhat](https://www.alchemy.com/dapps/hardhat), [Foundry](https://www.alchemy.com/dapps/foundry), wallets, or backend services continues to work without modification. The only change required is updating the endpoint and adding an API key if needed. --- # Complete guide to Solana for financial institutions URL: https://www.alchemy.com/overviews/complete-guide-to-solana-for-financial-institutions.md BlackRock and [Franklin Templeton](https://www.alchemy.com/dapps/franklin-templeton-benji) have deployed tokenized funds on Solana. Banks like HSBC and Bank of America are tokenizing securities through [R3's Corda integration](https://r3.com/r3-signals-strategic-shift-to-lead-the-convergence-of-public-and-private-blockchains-to-deliver-internet-capital-markets-through-collaboration-with-solana-foundation/), and Visa expanded its stablecoin settlement pilot on the network. In early 2026, the [SEC classified SOL as a digital commodity](https://coinmarketcap.com/cmc-ai/solana/latest-updates/), clearing a significant regulatory hurdle. The capital flows reflect the momentum on Solana: [$1.72 billion into Solana treasuries](https://www.bitget.com/news/detail/12560604939666) in Q3 2025 alone, $700 million+ in ETF inflows, and CME's SOL futures hitting [$2.1 billion in open interest](https://www.coindesk.com/markets/2025/10/23/institutions-drive-cme-crypto-options-to-usd9b-as-eth-sol-xrp-set-records) — the fastest any contract in CME history doubled past the $1 billion mark. The institutional interest is well-established. In this guide, we break down why financial institutions are choosing Solana, what the infrastructure requirements look like in practice, why the challenge extends beyond any single network, and how to evaluate providers when your institution is building across Solana and EVM chains simultaneously. ## Why Solana is attracting institutional capital The institutional case for Solana comes down to technical attributes that align with financial use cases. The network processes high transaction volumes with sub-second confirmations and a median fee of $0.00025 — cost economics suited to high-frequency settlement, stablecoin transfers, and micropayment rails. The [Firedancer validator client](https://www.helius.dev/blog/what-is-firedancer) has demonstrated throughput of 1 million TPS in testing, with the Alpenglow consensus upgrade targeting sub-150ms latency. The [R3-Corda integration](https://www.ledgerinsights.com/r3s-corda-integration-with-solana-offers-elegant-interoperability/) is particularly notable as it provides banks with a hybrid architecture where Corda's permissioned layer handles compliance and privacy while Solana's public layer provides speed, composability, and open settlement. R3's Corda currently secures over $10 billion in tokenized regulated assets for institutions including HSBC, Bank of America, and Euroclear — and this integration allows those assets to flow onto Solana without requiring institutions to rebuild their compliance frameworks. The ecosystem has reached meaningful depth. Solana's stablecoin supply hit $15.58 billion in February 2026, with USDC transfer volume up 300% year-over-year. Thirteen publicly traded companies hold 1.44% of total SOL supply, and staking yields of 7–8% have drawn corporate treasurers treating SOL as a productive fixed-income position. There's sufficient liquidity, tooling, and institutional counterparty presence for production deployments. ## **But institutions don't build on one chain** The same financial institutions deploying on Solana are also building on Ethereum, Base, Arbitrum, and Polygon — and this is the part that gets underweighted in most Solana-specific conversations. Franklin Templeton's tokenized money market fund — the BENJI token — is [distributed across](https://a16zcrypto.com/posts/article/blockchains-banks-asset-managers-fintechs/) Aptos, Arbitrum, Avalanche, Base, Ethereum, Polygon, Solana, and Stellar. Aave, the largest onchain lending platform at $40B+ in TVL, operates primarily on Ethereum. [Morpho](https://www.alchemy.com/dapps/morpho) has captured $10B+ in TVL with institutional partnerships like Apollo Global Management, largely on Ethereum and Base. Tokenized Treasuries are issued across Ethereum, Stellar, Avalanche, and Solana. For institutional treasury teams and asset managers, the yield landscape and product distribution span a dozen networks. The operational reality is multi-chain. This creates a compounding operational problem. Every additional chain introduces a different dashboard, different APIs, different node providers, different failure modes, and different vendor relationships. A treasury team deploying [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) into Aave on Ethereum, Kamino on Solana, and tokenized Treasuries across multiple networks isn't just managing capital allocation — they're managing infrastructure sprawl. Each chain adds procurement cycles, security reviews, and integration work that pulls engineering resources away from the financial product itself. When blockchain infrastructure is treated as a per-chain vendor decision, the result is fragmented operations, inconsistent reliability, and vendor management overhead that scales linearly with every network added. ## Solana and EVM chains are fundamentally different infrastructure problems Solana and EVM-based chains (Ethereum, Base, Arbitrum, Polygon) are architecturally different at a deep level. Solana uses a proof-of-history consensus mechanism, a different account model, different transaction structures, and different data storage patterns. The RPC methods, the way archival data is indexed, the approach to streaming real-time updates — none of it maps cleanly from one architecture to the other. In practice, this means a provider that built strong Ethereum infrastructure can't repurpose it for Solana and expect institutional-grade results. Archival queries that return in milliseconds on a well-optimized EVM stack can take seconds on a Solana deployment that wasn't purpose-built. Heavy methods like `getProgramAccounts` — used by asset managers to scan holdings across thousands of wallets — require Solana-specific optimization that generic infrastructure doesn't provide. The reverse is also true. Solana-native providers that deliver strong performance on that network often have limited or no coverage across EVM chains. For institutions building across both ecosystems — which is the majority of those deploying meaningful capital onchain — this creates a difficult tradeoff: stitch together multiple specialized providers and absorb the operational complexity, or use a generalist that underperforms on each individual chain. ## How to evaluate an infrastructure provider Given the architectural differences between Solana and EVM chains, and the operational cost of managing multiple vendors, the infrastructure decision is one of the highest-leverage choices an institution makes when building onchain. Here's what to evaluate. **Chain-specific performance, not just chain support.** Many providers list Solana on their website but run it on generic infrastructure. Ask for benchmarks on archival data retrieval, heavy methods like `getProgramAccounts`, and streaming latency. The difference between purpose-built Solana infrastructure and a repurposed EVM stack is measurable — often by an order of magnitude. **Reliability under stress.** Uptime during normal conditions is table stakes. What matters is performance during market volatility, network congestion, and third-party outages. Ask how the provider performs under pressure historically. A great pressure test for providers was the [$19 billion liquidation event](/blog/best-uptime-biggest-liquidation-event-in-crypto) in October 2025. **Compliance and procurement readiness.** Before engineering evaluates performance, legal and compliance teams need to approve the vendor. That means asking whether the provider holds SOC 2 Type II certification, whether they can complete your security questionnaire, and whether their audit trail and data handling practices meet your regulatory obligations. **Multi-chain coverage from a single vendor.** Every additional provider adds a procurement cycle, a security review, a separate SLA, and an integration to maintain. A provider that delivers institutional-grade performance across both Solana and EVM chains from a single platform reduces operational overhead significantly. For a deeper framework, see our [enterprise RPC evaluation guide](/overviews/blockchain-rpc-infrastructure-evaluation-guide-for-enterprises). ## The integration path The typical path from evaluation to production follows a consistent pattern, regardless of which chains an institution is deploying on. **Connect and validate.** Integrate your systems with blockchain infrastructure via [RPC](/solana) — this is how your applications read onchain data (balances, rates, protocol health) and submit transactions. At this stage, the goal is confirming that queries return accurately and transactions land reliably across every target network before capital is at risk. **Run a controlled pilot.** Deploy a small allocation through the full operational workflow — a deposit into a lending protocol or tokenized Treasury product, yield monitoring via RPC queries, a withdrawal, and reconciliation back into your accounting systems. **Scale across chains.** Once the infrastructure is validated, expanding to additional networks or strategies becomes incremental rather than a new integration project. Your RPC connections, monitoring, and compliance tooling carry over. Most enterprise teams move from initial integration to live deployment within 90 days. ## What Alchemy provides Alchemy provides [blockchain infrastructure](/blog/the-infrastructure-behind-the-worlds-most-important-blockchain-applications) for companies like Coinbase, Robinhood, Visa, Circle, and Stripe. The multi-chain coverage spans [100+ networks](/chain-connect), with purpose-built infrastructure for each major ecosystem rather than a single architecture applied across all of them. On Solana, this means purpose-built infrastructure, engineered with a dedicated team of Solana-specialized engineers, brought in through [strategic](https://www.theblock.co/post/313538/alchemy-acquires-blockchain-infrastructure-provider-bware) [acquisitions](https://www.theblock.co/post/354709/alchemy-acquires-solana-infrastructure-provider-dexterlab-as-it-continues-expansion-beyond-ethereum) — delivering up to 20x faster archival data retrieval, up to 10x faster heavy computational methods, gRPC streaming at half the cost of other providers. The platform is consistent across all supported networks: [SOC 2 Type II certification](/blog/inside-alchemy-enterprise-grade-security-infrastructure), multi-region architecture with 3–5 layers of autonomous failover, and 99.99% uptime — maintained through massive volume or [market volatility](/blog/best-uptime-biggest-liquidation-event-in-crypto). For an institution building on Solana, Ethereum, and Base, this means one infrastructure partner, one security review, one procurement cycle, and one SLA — with purpose-built performance on each network. We're here to help financial institutions operate at scale reliably on any chain. Learn more about [Alchemy's Solana offering](/solana), and [contact us](/contact-sales) to design a pilot, explore custom pricing, or answer integration questions. ## Frequently asked questions ### What makes Solana attractive for financial institutions? Solana processes high transaction volumes with sub-second confirmations and a median fee of $0.00025: cost economics suited to high-frequency settlement, stablecoin transfers, and micropayment rails. The Firedancer validator client has demonstrated throughput of 1 million TPS in testing, with the Alpenglow consensus upgrade targeting sub-150ms latency. ### What is the R3-Corda integration with Solana? R3-Corda gives banks a hybrid architecture: Corda's permissioned layer handles compliance and privacy, while Solana's public layer provides speed, composability, and open settlement. This allows banks to flow assets onto Solana without rebuilding their compliance frameworks. ### Which financial institutions are using Solana? BlackRock and Franklin Templeton have deployed tokenized funds on Solana. Banks like HSBC and Bank of America are tokenizing securities through R3's Corda integration, and Visa expanded its stablecoin settlement pilot on the network. ### Why do institutions build on multiple blockchains instead of just Solana? Yield opportunities and product distribution span many networks. Franklin Templeton's BENJI token is distributed across eight chains, and major DeFi protocols like Aave operate primarily on Ethereum. For institutional treasury teams, the operational reality is multi-chain. ### What makes Solana infrastructure different from EVM chains? Solana uses a proof-of-history consensus mechanism, a different account model, different transaction structures, and different data storage patterns. Infrastructure optimized for Ethereum can't be repurposed for Solana without significant performance degradation. ### What should institutions evaluate when choosing a blockchain infrastructure provider? Four things: chain-specific performance benchmarks (not just chain support), reliability under market stress and network congestion, compliance certifications like SOC 2 Type II, and whether the provider delivers institutional-grade performance across both Solana and EVM chains from a single platform. ### What is Alchemy's approach to Solana infrastructure? Alchemy provides purpose-built Solana infrastructure with a dedicated team of Solana-specialized engineers, delivering up to 20x faster archival data retrieval and up to 10x faster computational methods. The same 99.99% uptime and SOC 2 Type II certification apply across all 100+ supported networks. ### How long does it take to move from evaluation to production deployment? Most enterprise teams move from initial integration to live deployment within 90 days: connect and validate your systems, run a controlled pilot with a small allocation, then scale across chains once infrastructure is validated. --- # What are compressed NFTs? URL: https://www.alchemy.com/overviews/compressed-nfts.md Compressed NFTs on Solana reduce the costs of minting and managing large numbers of NFTs by storing data in the ledger itself. Minting compressed NFTs is significantly more cost-effective than minting conventional NFTs, which creates a range of new use cases and ways to onboard more Solana active users. This article will explain what compressed NFTs are, how they work, and how to compress your existing or new NFTs. ## **What are compressed NFTs?** **Compressed NFTs are NFTs on Solana that store their data in a Merkle tree structure where the Merkle root is on-chain in an account and the Merkle leaves are stored in the Solana ledger \(which is off-chain, but subject to consensus\), rather than fully on-chain like conventional NFTs.** **‍**As with ordinary NFTs, compressed NFTs are issued and confirmed on-chain, however, [Solana RPC providers](https://www.alchemy.com/overviews/solana-rpc) are used to store and handle data off-chain to minimize storage costs. Compressed NFTs use indexers to manage transaction data and facilitate data queries between RPCs and on-chain smart contracts. Existing smart contracts must be modified in order to interact with compressed NFTs. Alternatively, compressed NFTs may be decompressed to work with unmodified Solana programs. ### **Who created compressed NFTs?** Compressed NFTs are the combined creation of [Solana Labs](https://www.alchemy.com/dapps/solana)’s Merkle tree program \(known as [**account-compression**](https://github.com/solana-labs/solana-program-library/tree/master/account-compression)) and the [Metaplex](https://www.alchemy.com/dapps/metaplex) Foundation’s compressed NFTs program (known as Bubblegum). [Metaplex](https://www.alchemy.com/overviews/metaplex) created the NFT standards for Solana, and the founding team was spun out of Solana Labs. Since its launch in 2021, Metaplex has facilitated the minting of more than 22 million NFTs and generated $3.36 billion in NFT sales. The Merkle tree program on Solana enables [compressed NFTs created via Metaplex](https://www.metaplex.com/posts/expanding-digital-assets-with-compression-for-nfts) to be encoded into the Solana blockchain’s ledger. ### **What are common use cases for compressed NFTs?** **Compressed NFTs enable businesses and individuals to mint NFTs on a massive scale without incurring the prohibitive associated costs compared to conventional NFTs.** Industries that could make use of compressed NFTs include: gaming, music, events, metaverses, and enterprises. #### **1. Gaming** Compressed NFTs could potentially serve as in-game assets for millions of players. Because of the potential scale of web3 games, compressed NFTs can save web3 game development companies costs while issuing millions of in-game NFTs. #### **2. Music and events** With millions of concert and events tickets sold every year, compressed NFTs can save ticketing companies money and act as digital collectibles for event goers all while providing the security and authenticity of web3 products. #### **3. Metaverse** With the growing popularity of metaverses and metaverse-like games, compressed NFTs enable metaverse development companies to digitize large numbers of in-game collectibles for millions of people globally. #### **4. Enterprise level systems** From tracking merchandise across supply chains to digitizing public records, compressed NFTs could allow large organizations to mint, store, and retrieve NFTs in massive volumes at a fraction of the cost of today's NFT implementations. ### **When should compressed NFTs be used?** Compressed NFTs should be used when minting NFTs at scale, as storing data off-chain significantly reduces the [**cost to rent account space**](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs) which every Solana account is required to pay to manage data. ## **Compressed NFTs vs uncompressed NFTs** Both compressed NFTs and uncompressed NFTs are issued and verified on chain, but the main difference is where the NFT metadata is stored. Compressed NFTs store metadata off-chain, and traditional Solana NFTs store data on-chain. ### **How are compressed NFTs different from NFTs?** Compressed NFTs are different from conventional NFTs in four key ways: #### **1. NFT metadata storage** Compressed NFTs store their data off-chain in a Merkle tree and are accessed via [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) providers. #### **2. Cost** Because they store data off-chain, compressed NFTs are significantly more cost-effective. #### **3. Data ownership** When you want to modify a compressed NFT, you must cryptographically prove your authority to change the off-chain data, which ensures off-chain data storage can be trusted. #### **4. Program interactions** Existing [programs](https://www.alchemy.com/overviews/solana-data-vs-program-accounts) \(i.e. Solana smart contracts\) must be modified to interact with compressed NFTs, unless the NFTs themselves are de-compressed. ### **How much money do compressed NFTs save?** To mint 1 million conventional NFTs, it would roughly 12,000 SOL, and minting the same number of compressed NFTs would cost just 5 SOL, or 99.9% cost savings. In fact, the larger the collection of NFTs, the greater the reduction in minting costs with compression, as demonstrated in the image below: 1M NFTs

", tooltip: "", icon: "" }, "2": { title: "

12K SOL

", tooltip: "", icon: "" }, "3": { title: "

5 SOL

", tooltip: "", icon: "" }, "4": { title: "

2,400x

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

1B NFTs

", tooltip: "", icon: "" }, "2": { title: "

12M SOL

", tooltip: "", icon: "" }, "3": { title: "

500 SOL

", tooltip: "", icon: "" }, "4": { title: "

24,000x

", tooltip: "", icon: "" }, id: 1, }, ], }} /> Because the most significant outlay when minting conventional NFTs is paying for storage space on Solana, which compressed NFTs remove, the majority of the remaining costs are simple transaction fees. #### **What is the cost to mint a 10k Solana NFT collection?** To mint 10,000 compressed NFTs, which is the standard NFT collection size for new projects, is roughly 3.5 SOL. The table below provides a detailed look on the cost of minting compressed NFT collections from quantities ranging from 10k to 1 billion NFTs: 10k

", tooltip: "", icon: "" }, "2": { title: "

3.48

", tooltip: "", icon: "" }, "3": { title: "

0.01

", tooltip: "", icon: "" }, "4": { title: "

3.49

", tooltip: "", icon: "" }, "5": { title: "

0.000349

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

100k

", tooltip: "", icon: "" }, "2": { title: "

4.17

", tooltip: "", icon: "" }, "3": { title: "

0.05

", tooltip: "", icon: "" }, "4": { title: "

4.22

", tooltip: "", icon: "" }, "5": { title: "

0.0000422

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

1m

", tooltip: "", icon: "" }, "2": { title: "

4.85

", tooltip: "", icon: "" }, "3": { title: "

0.5

", tooltip: "", icon: "" }, "4": { title: "

5.35

", tooltip: "", icon: "" }, "5": { title: "

0.00000053

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

100m

", tooltip: "", icon: "" }, "2": { title: "

6.45

", tooltip: "", icon: "" }, "3": { title: "

50

", tooltip: "", icon: "" }, "4": { title: "

56.45

", tooltip: "", icon: "" }, "5": { title: "

6e-7

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

1b

", tooltip: "", icon: "" }, "2": { title: "

7.13

", tooltip: "", icon: "" }, "3": { title: "

500

", tooltip: "", icon: "" }, "4": { title: "

507.13

", tooltip: "", icon: "" }, "5": { title: "

5e-7

", tooltip: "", icon: "" }, id: 4, }, ], }} /> ## **How do compressed NFTs work?** Here's a how NFTs get compressed: 1. Metaplex’s Bubblegum program is used to verify the metadata associated with an NFT 1. Bubblegum calls account-compression to append a new leaf to the Merkle tree 1. Account-compression updates the Merkle tree on-chain to reflect the new state of the world 1. Any changes to the Merkle tree, such as the addition of new NFTs, are written to the Solana blockchain Off-chain indexers keep track of modifications to the Merkle tree and manage the information and authorizations necessary to support [apps](https://www.alchemy.com/dapps/top/defi-dapps) and programs. ### What are compressed NFT authorities? **Authorities are attributes associated with an NFT account which specify what the account can do.** Every NFT account has three other accounts under it: 1. A mint account 1. An [associated token account](https://www.alchemy.com/overviews/associated-token-account) 1. A wallet account Each of these subordinate accounts have different attributes associated with it. #### **1. Tree authority** This authority is typically a program that is authorized to add new leaves to the tree via the account-compression program, and that program also handles encoding the cryptographic hashes. #### **2. Leaf authority** This is an attribute given to a wallet account that owns a leaf. The wallet account can be used to replace, remove and decompress a leaf. ### **Where are compressed NFTs stored?** Compressed NFT metadata is stored in a Merkle tree off-chain with Solana RPC service providers, and this data is monitored by an indexer. This is more cost effective than storing the same data on-chain. In effect, the data is off-chain, while the much smaller proof of the data is on-chain in the form of the Merkle tree root. ## **How to compress NFTs** Compressing NFTs is a fairly straightforward task, but the process varies slightly depending on whether you’re compressing new or existing NFTs. ### **Compressing new NFTs** Here are the four steps to compress new NFTs \(NFTs that have not been minted yet\): 1. Metaplex’s Bubblegum software is used to create a Gummyroll Merkle tree 1. The Bubblegum mintNFT instruction is called 1. The **mintNFT** instruction is retrieved from the ledger by the off-chain indexer, and the leaf metadata is saved. 1. The **get_assets_for_owner** instruction is called by the dapp through an RPC node to return the NFT ### **Compressing existing NFTs** Here are the three steps to compress existing NFTs \(NFTs that have already been minted\): 1. The **transfer** instruction on is called on Bubblegum program along with the NFT information 1. The Bubblegum program makes a [cross-program invocation](https://www.alchemy.com/overviews/cross-program-invocation) to Gummyroll to add a new Merkle tree root 1. An off-chain indexer retrieves the transfer instruction from the blockchain and updates the leaf's owner property. Step three ensures that the ownership of the NFT represented by the leaf is transferred to the new owner. To compress existing NFTs it is not necessary to create the Gummyroll tree from scratch, instead read Metaplex's compressed NFT documentation for more information. ### **How does NFT decompression work?** The decompression process removes an NFT from the off-chain Merkle tree dataset. Here is a simple breakdown: Once the Token Metadata Program has verified the integrity of the leaf on the merkle tree that corresponds to the NFT, the program creates the following accounts: 1. Mint Account 1. Associated Token Account \(ATA\) 1. Token Metadata Account 1. Master Edition Account The Token Metadata Program then updates the Merkle tree to remove the leaf. --- # Creating a Flash Loan using Aave URL: https://www.alchemy.com/overviews/creating-a-flash-loan-using-aave.md ## Introduction In this tutorial, we will:  - Create and deploy a Flash loan smart contract - Receive funding with the liquidity protocol called [Aave](https://aave.com/)  - Transact with our deployed contract to execute a Flash loan Before we begin, let's look at each of the building blocks of this project:  ## What is a flash loan? In traditional finance, borrowers many times are required to offer collateral to receive a loan. This collateral is usually in the form of an asset like a car or home. Banks use this collateral as security to cover losses if the borrower fails to pay.  In the world of [Decentralized Finance\(DeFi\),](https://www.alchemy.com/defi?a=af3d1feda6) a borrower can receive a loan without the need for providing collateral by using flash loans. In a flash loan, lenders can both provide a loan to a borrower and be paid back for that loan in a single transaction. This is possible because of the time that a transaction is started and when it is finally committed to a block on the blockchain.  Here are the steps of a flash loan:  1. Borrower executes a Flash loan smart contract 2. A flash loan contract requests a loan amount from the liquidity pool  3. The contract then uses loan funds to execute defined operations \(eg trading on an exchange\)  4. After operations are completed, the borrowed funds are returned to the liquidity pool  5. The transaction is committed to the blockchain  Smart contracts allow us to validate that:  - The flash loan has the required funds to perform the operations in the smart contract.  - The operations are complete before the transaction is added to a new block  - The operations do not result in a loss of funds for the borrower.  - The lending pool is paid back the correct amount \+ a transaction fee for using the protocol.  The borrower can do whatever they like with the funds as long as the lender is paid back the corrected lent amount. Some popular use cases of Flash Loans are:   - _Trading Arbitrage _- taking a token from one exchange to another exchange with a higher value to make a profit  - _Collateral Swap_ - swapping tokens of collateralized loans to another token as collateral for an existing loan  - _Self-Liquidation_ - repaying a collateralized loan by swapping tokens and repaying the flash loan  Before a flash loan contract executes, the contract needs to be funded. Flash loan funding typically comes through one main lending protocol, [Aave](https://www.alchemy.com//blog/alchemy-x-aave-customer-story).  The mechanisms of a flash loan allow for easy borrowing because they do not require any collateral. This feature can also open a flash loan up to attackers that perform flash loan attacks. A flash loan attack is when a borrower borrows some funds, manipulates the price of the asset, and then returns the borrowed asset at a large profit to themselves. This is usually done either by compromising the pricing [oracle](https://www.alchemy.com/overviews/what-is-an-oracle) or creating artificial movements in the market. Choosing decentralized oracles like [Chainlink](https://openzeppelin.com/) and auditing smart contracts through services like [OpenZepplin](https://remix.ethereum.org/) are steps to prevent these types of attacks.    ## What is Aave? With traditional loans, banks provide funding. In DeFi, the [Aave](https://www.alchemy.com/dapps/aave) Protocol is the largest source of funding for flash loans. Aave allows users to supply liquidity pools of [ERC20](https://www.alchemy.com/overviews/erc20-solidity) Tokens. Borrowers can then use these pools to receive loans. Depending on the type of loan, borrowers pay an interest rate which goes to the suppliers to receive interest on the tokens they supply. Currently the Aave protocol also charges a transaction fee of 0.09%.    Let's look at how all these concepts come together to create a flash loan:  ## Requirements  - Access to [Remix IDE ](https://remix.ethereum.org/) - Creation of a[ Metamask Wallet ](https://metamask.io/download/) - Access to the [Github Gists - Smart Contract Code ](https://remix.ethereum.org/) ### Getting the smart contract code 1 \) Open up a new workspace in the [Remix IDE](https://www.alchemy.com/dapps/remix).  2\) In a separate tab, open up the Github Gists [here](https://gist.github.com/DappaDanDev/3f4d8247b505f6226b0be04853696a50). This contains the smart contract code that we will use to create our flash loan.  3\) Create new contract files in the Remix IDE with the exact naming below and copy and paste the code connected to that file \(6\):  - Flashloan.sol  - FlashloanRecieverBase.sol - IFlashLoanReciever.sol - ILendingPool.sol - ILendingPoolAnddressesProvider.sol - Withdrawable.sol ### About the contracts _Flashloan.sol _- This is the flash loan smart contract. It contains an ExecuteOperation function that the contract will call to complete the operations that will use the funds from the loan.  _FlashLoanRecieverBase.sol / IFlashLoanReciever.sol_   - This is what allows the contract to receive funds for the flash loan _ILendingPool.sol / ILendingPoolAddressProvider.sol_  - Points to the Aave lending pools that will fund the flash loan _Withdrawable.sol _- Allows for other contracts to withdraw funds from this contract in the case of incorrect or stuck funds  ‍ ### Add funds to wallet We will be using the Kovan Test Network in order to deploy and execute our flash loan contract. We need to have funds in our wallet in order to do this successfully:  1. Go to [https://faucets.chain.link/kovan](https://faucets.chain.link/kovan) 2. Enter your Wallet Address:  - [How to get your wallet address ](https://metamask.zendesk.com/hc/en-us/articles/360015289512-How-to-copy-your-MetaMask-account-public-address-) - Select the Kovan Network on your Metamask Wallet  3. Make sure to select .1 Test Eth 4. Wait for confirmation that the tokens have been transferred 5. Funds should be added to your Metamask Wallet  ‍ ### Deploy the contract Now that we have some funds in our wallet, it is now time that we deploy the smart contract to the Kovan Testnet so that we can execute and interact with it.  1\) Go to the [Solidity](https://www.alchemy.com/overviews/solidity) Compiler on the side panel inside Remix 2\) Use the settings below:  Compiler: 0.6.6\+comitt.6c… Language: Solidity EVM Version: Default Compile Flashloan.sol 4\) Click 'Compile' - You may receive some warnings but no errors if done successfully  ‍ After compiling the flash loan smart contract, we need to deploy it:  1\) Go to the 'Deploy and Run Transactions' tab 2\) Use the following settings:  **Environment:** Injected Web3 **Account**: Copy and Paste Your Kovan Wallet Address **Contract:** Flashloan - contracts/Flashloan 3\) Add the Lending Pool Contract as the address_addressProvider: 0x506B0B2CF20FAA8f38a4E2B524EE43e1f4458Cc5 . This is the address for the lending provider for Aave. You can find other contract addresses [here](https://docs.aave.com/developers/v/1.0/deployed-contracts/deployed-contract-instances). ‍ 4\) Click 'Deploy’ 5\) Metamask should popup for you to 'Confirm' the transaction. Inside your terminal, you’ll see the link to view your transaction on etherscan.   ### Add funds to the flash loan Our smart contract has now been deployed to the Kovan Test Network. We will need to add funds to the contract from the testnet lending pool of Aave.  1. Go to this page: [https://staging.aave.com/?marketName=proto_kovan](https://staging.aave.com/?marketName=proto_kovan) 2. Connect Your Metamask Wallet  3. Make sure that you’re using the 'Kovan Ethereum Market'. There will be a small 'K' **Note**: You may need to enable ‘Testnet mode’ in your settings.  4. Supply some test Eth to Aave by clicking on the ‘Supply’ button under ‘Assets to supply’ . We can start with .001 5. Then borrow some DAI by clicking on the ‘Borrow’ button next to DAI. Borrow 10 DAI.  6. Metamask should open up to confirm the transaction and the DAI will show up in your wallet once the transaction is complete: 7. If this is the first time receiving DAI, you will need to set up your wallet so that you can see DAI in your wallet. - Go to ‘Import Tokens’ inside Metamask  - Enter the DAI contract address for Kovan: 0xFf795577d9AC8bD7D90Ee22b6C170349 8. Once you have DAI inside your wallet, send 10 DAI to your deployed contract. You can get your deployed contract address by copying it from Remix: Then send it to the address using Metamask:  ### Execute the flash loan contract Now we need to call Aave’s KovanTestnet DAI contract to indicate what asset we will be using in order to execute the smart contract. 1. Go back to your Remix IDE and to the 'Deploy & Run Transactions' tab 2. Under 'Deployed Contracts' you will see your flash loan and contract address  3. Go to the text field labeled ‘address asset’ next to the label 'flashloan' 4. Enter this contract address in address_asset field: 0xFf795577d9AC8bD7D90Ee22b6C1703490b6512FD . Then click on the flashloan label button in order to start the transaction. 5. This will start the flash loan process and generate 3 transactions on etherscan. The first transaction is from the lending pool to our flash loan contract. Since we did not include any operations to the smart contract, the amount is returned to the lending pool plus an additional fee. The last transaction is the interest for the amount borrowed, which would go to the suppliers of the liquidity pool. --- # What Are Cross-Chain Bridges? URL: https://www.alchemy.com/overviews/cross-chain-bridges.md There are hundreds of blockchains with onchain activity today, each with their own approach to scalability, security, decentralization, and a host of different traits. One thing that all of these blockchains have in common? Users want to be able to move assets and data between them. That’s where cross-chain bridges come in. Over the last few years, bridges have evolved from simple “wrapped‑asset ferries” into programmable pipes that move tokens _and_ arbitrary messages between all of these blockchain networks. The total value locked \(TVL\) in bridges now [reaches $55B](https://defillama.com/protocols/Bridge), which speaks to both the market demand for them and also the risk—bridge exploits still dominate crypto‑hack leaderboards. Whether you’re a hands‑on engineer integrating bridge SDKs or a GTM leader sizing new markets, this guide will give you all of the context you need on the state of cross-chain bridges in 2025. ## What is a cross‑chain bridge? A cross-chain bridge connects independent blockchains together and enables the transfer of assets and information between them, allowing users to access other protocols easily. You can think of a cross-chain bridge as middleware that lets _state_ move between networks that were not designed to talk to each other. That same type of middleware exists with global banking rails: your credit card can work at both a New York bodega and a Tokyo konbini because payment networks can translate between issuers and banking providers. Bridges do the same for blockchains. ### Bridge tranfers vs. CEX transfers Before blockchain bridges enabled users to easily move assets between blockchain networks, the only way to migrate assets from chain A to chain B was to: 1. Send tokens from Chain A to a centralized exchange \(CEX\). 1. Trade those tokens for different tokens compatible with Chain B. 1. Withdraw those new tokens to Chain B. Bridges collapse those three steps into 1 on‑chain transaction, slashing fees and keeping users self‑custodial. ## How does a cross‑chain bridge work? ### The classic lock‑and‑mint model Most first‑generation bridges wrapped assets using a _lock‑and‑mint_ pipeline, using a custodial solution where a 3rd party facilitates the bridging to another chain via the following steps: 1. **Deposit:** Alice sends 10 ETH to the bridge contract on Ethereum \(the source chain\). 1. **Lock:** A validator set or custodian locks the ETH in a vault. 1. **Mint:** The bridge mints 10 wETH on Polygon \(destination chain\) and releases it to Alice’s wallet. 1. **Redeem:** When Alice is finished transacting on Polygon, she burns the 10 wETH on Polygon by sending the wETH to a particular address. 1. **Unlock:** Validators trigger the release of the original 10 ETH back to Alice on Ethereum. One key detail to remember with this bridge design is that the ETH never leaves Ethereum. Users trade their custody on Chain A for a claim for those assets on Chain B. That custody layer—who controls the vault on Chain A—defines much of a bridge’s risk profile. This is an important point, so let’s make that more explicit. You can’t actually send assets from one chain directly to another, e.g. you can’t send BTC to an address on the Ethereum network. Instead, you have to lock BTC on the Bitcoin chain and mint a new asset on the destination chain. This is sometimes called “wrapping” a token \(hence the name wrapped Bitcoin or wrapped Ethereum\) as a way to describe the bridging process, where the asset is “wrapped” in a smart contract in order to make it programmable and functional on the destination chain B. ### Beyond wrapping: native burns & general message passing Over time, bridge design has gotten more sophisticated, so the most basic version of lock and mint \(which introduces custodial risk\) has evolved into new designs and capabilities, such as: - **Burn → Mint:** Rather than lock up tokens on chain A to mint them on chain B, some bridges now enable users to destroy the token on chain A \(”burn” it\) and then mint a new token on chain B. For example, this is how [Circle](https://www.alchemy.com/dapps/circle)’s CCTP works, where users can burn USDC on chain A to mint native USDC on chain B. - **General Message Passing \(GMP\):** Enabling assets to move between blockchain networks was the first implementation of a bridge, and now bridges also facilitate the passing of arbitrary messages \(aka data\), unlocking crosschain use cases, where smart contracts on one chain can react to state on another chain \(e.g. you could pay a loan on Optimism when collateral on Arbitrum is liquidated\). Bridges like Chainlink CCIP and [Axelar](https://www.alchemy.com/dapps/axelar) GMP facilitate this kind of cross-chain data transfer. ## Why cross‑chain bridges matter in 2025 Cross‑chain infrastructure is no longer a “nice‑to‑have.” It has become the connective tissue of the crypto economy—quietly stitching together dozens of otherwise siloed networks and unlocking use‑cases that were impossible just a year or two ago. At a high level, bridges offer the following value to users: **1. Liquidity routing:** Deeper liquidity means better price discovery and less price fluctuation during large trades. It’s a better user experience, and bridges can aggregate liquidity across different chains, enabling better pricing and better price discovery. **2. Asset productivity:** Many users “hodl” assets and sit on them. Bridges allow users to move assets between blockchain networks and put those assets to work in different apps. Maybe you want to lend BTC on OP mainnet, or maybe you want to use an Ethereum NFT as collateral on Solana. Bridges are what makes that happen. And for apps, bridges can help streamline operations and abstract away complexity: **3. Cross-chain account abstraction:** Smart wallet infrastructure such as [Alchemy’s Smart Wallets](https://www.alchemy.com/smart-wallets) let users sign one transaction on the front end, while the backend quietly settles across multiple chains and handles bridging behind the scenes. That abstraction slashes onboarding friction, vital for consumer apps that don’t want to explain chains at all to their users. **4. Enterprise settlement & [stablecoin payments](https://www.alchemy.com/dapps/best/stablecoin-payments):** Corporations like PayPal rely on Chainlink CCIP to send [PYUSD](https://www.alchemy.com/dapps/paypal-usd) to merchants who may prefer to settle on Polygon or Base instead of Ethereum. A single, chain‑agnostic payout rail keeps compliance and treasury logic simple while still meeting users where they are. Taken together, these pillars signal a shift from a _multi‑chain_ world—where users consciously hop between chains—to a _chain‑abstracted_ future where the bridge plumbing is invisible and instantaneous. ## Security and risk With so much value locked in bridges \($55B!\), bridges have become honeypots for hackers. To date, [more than $2.8B](https://chain.link/education-hub/cross-chain-bridge-vulnerabilities) has been hacked from cross-chain bridges, and looking at the [Rekt leaderboard](https://rekt.news/leaderboard) you’ll find many bridges. The lessons learned generally fall into 2 types of exploits: - **Key compromise:** custodial or multisig bridges collapse if attackers capture a signing quorum, as seen in the infamous $620M Ronin hack. - **Logic bugs:** even “trust‑minimized” bridges can mishandle proofs. [Wormhole](https://www.alchemy.com/dapps/wormhole) lost $320 million when a single missing verification check let an attacker mint wrapped ETH out of thin air. Alongside the bug exploits described above, you also have risk in bridge liveness \(where the bridge could stop working if operators cease functioning\) or theft \(bridge operators behave maliciously and take funds\). Over time, bridges have gotten more secure and battle-tested, but even now bridge exploits are still a risk. If you’re assessing whether a bridge is safe to use or not, keep an eye out for the following signals: - Has the bridge been operational and secure over a long period of time without hacks? - Have the bridge contracts had at least 2 independent audits? - Does the bridge have an active bug bounty? If so, how much? - Do validators and relayers have a slashable stake if they behave dishonestly? - Does the bridge offer a time-locked upgrade path, so users can react to code changes? Thinking through these questions won’t guarantee safety, but it can help you identify red flags in poor bridge design. ## Bridge designs compared Over the last few years, bridge design has evolved to meet a number of different use cases and user preferences. At a high level, these are the categories available on the market today: ### Which bridge design should you use? There’s no right or wrong answer here, and which bridge you use might depend on your needs and how comfortable you are trusting a 3rd party bridge operator. For small transfers, trusting a bridge operator may not be a big deal, and you may want to optimize for fast deposite times and good UX, but at larger sizes, you may want a trustless solution and are comfortable with longer confirmation times. One other piece of the puzzle is that different bridge providers support different bridge networks. You not only need to consider the design tradeoffs of the bridge you use, but which chains it supports as well. ## The 2025 bridge landscape There are a wide number of general ecosystem bridges that help you connect to those respective ecosystems \(e.g. [Binance](https://www.alchemy.com/dapps/binance) bridge, [Polygon bridge](https://www.alchemy.com/dapps/list-of/web3-bridges-on-polygon), and the Avalanche bridge\). Alongside those ecosystem-specific bridges, there are a number of 3rd-party providers that specialize in this bridging function, and the market has consolidated around a handful of heavyweight protocols—each staking out a different spot on the security‑speed trade‑off curve. The upside of all of these options: developers no longer need to place _one big bet_ on a single bridge. Instead, aggregators increasingly stitch these protocols together, routing each transfer through the cheapest secure path in real time. Here are some of the major players in the space today: ### Allbridge [Allbridge](https://allbridge.io/) is a multichain bridge spanning EVM and non-EVM chains \(including Ethereum, Ethereum L2s, Solana, Tron, and Sui\). As of August 2025, [Allbridge Core](https://www.alchemy.com/dapps/allbridge) shows roughly [$23M in TVL](https://defillama.com/protocol/allbridge-core). This bridge provider focuses on straightforward stablecoin swaps between different ecosystems and also offers liquidity pools and yield opportunities for users. ### Across [Across](https://across.to/) is an “optimistic” bridge secured by UMA’s Optimistic Oracle with bonded relayers and single-sided LP pools, purpose-built for fast settlement. Its prioritization of speed has led [Across](https://www.alchemy.com/dapps/across) to a [current TVL of $98M](https://defillama.com/protocol/across) and $1.3B in volume over the last 30 days, and the protocol supports 20 different blockchain networks. ### Axelar [Axelar](https://www.axelar.network/) is a general message passing \(GMP\) network that connects EVM chains, Cosmos IBC zones, and more, enabling both token transfers and cross-chain calls. With [$320M in TVL](https://defillama.com/protocol/axelar), Axelar’s appeal is developer ergonomics and broad ecosystem reach; the tradeoff is its additional protocol complexity. ### Celer cBridge [cBridge](https://cbridge.celer.network/) is a non-custodial liquidity bridge built on Celer’s inter-chain messaging, with fast transfers and an SDK developers like. [cBridge](https://www.alchemy.com/dapps/cbridge) has [$67M in TVL](https://defillama.com/protocol/cbridge) and supports 40\+ blockchains. Design-wise it leans on liquidity networks for speed \(vs. pure lock/mint\), trading some path dependence and routing complexity for UX. ### Chainlink CCIP [Chainlink CCIP](https://chain.link/cross-chain) offers enterprise-grade cross-chain messaging and token transfer across ecosystems supported by Chainlink’s oracle service, which currently secures [$59B onchain](https://defillama.com/oracles/Chainlink). Its secret sauce is a pooled Oracle‑plus‑validator model and the new Cross‑Chain Token \(CCT\) standard, which lets enterprises launch assets that feel native everywhere. The bridge introduces opinionated security layers like the “Risk Management Network” that blesses messages off chain, which in turn creates more operational limits compared to other options. ### deBridge [deBridge](https://debridge.finance/) uses a “0-TVL” design that operates like an order book \(makers fill cross-chain orders across the liquidity network\) rather than a pooled bridge, which minimizes idle capital and wrapped-asset risk. You can see that design play out in its traction: [deBridge](https://www.alchemy.com/dapps/debridge) only has [$12M in TVL](https://defillama.com/protocol/debridge), but has processed $793M in volume over the last 30 days. In exchange for the tradeoff, the network relies on off-chain market makers and order matching. ### Everclear \(Connext\) [Everclear](https://www.everclear.org/) is a bit different than other entries on this list: it’s not a traditional bridge that’s end-user facing. Instead, it’s a clearing layer that nets cross-chain flows, so bridgers rebalance less, cutting down their costs. Rebranded from [Connext](https://www.alchemy.com/dapps/connext) in 2024, [Everclear](https://www.alchemy.com/dapps/everclear)’s beta reports fees as low as 2bps, and the network is pushing towards a full mainnet launch in 2025. ### IBC [IBC](https://ibcprotocol.dev/) is Cosmos’ trust-minimized, light-client-based protocol \(with no middlemen\). This bridge connects 115\+ chains and facilitates [$700M in monthly volume](https://defillama.com/bridge/ibc). This bridge’s security model is excellent when both chains run robust light clients; the tradeoff is that integrating this bridge beyond the Cosmos SDK stack requires additional engineering \(though IBC v2 hopes to fix this\). ### Portal \(Wormhole\) [Portal](https://portalbridge.com/) is one of the most popular bridges on the market and leverages Wormhole’s general-message network. With nearly [$3B in TVL](https://defillama.com/protocol/portal) and processing $1.1B in volume every month, Portal offers chain coverage and a mature messaging layer, but it does rely on a validator/guardian model and has a notable hack in its history. ### Stargate \(LayerZero\) [Stargate](https://stargate.finance/bridge) offers a bridge built on [LayerZero](https://www.alchemy.com/dapps/layerzero)’s DVN security stack and supports 40\+ chains. With deep integrations across major L1s, [Stargate](https://www.alchemy.com/dapps/stargate) has [$370M in TVL](https://defillama.com/protocol/stargate-finance). If you need native-asset routes and single-pool UX, Stargate is the canonical example. ## Building with bridges on Alchemy Bringing cross‑chain UX into your product used to mean running multiple RPC nodes, writing brittle scanner scripts, and maintaining custom indexers. Alchemy abstracts that complexity away: - **Unified multi‑chain RPCs:** a single API key unlocks reliable endpoints for 50\+ different blockchain ecosystems. No need to juggle infrastructure vendors as you expand. - **Webhook notifications:** subscribe to events like `DepositInitiated` or `MessageExecuted` across bridges. Your backend gets a push notification the moment funds are locked on one chain or minted on another—perfect for updating UI state without parsing entire blocks yourself. Combine those primitives with an aggregator SDK such as [LI.FI](http://LI.FI) or Socket, and you can launch a production‑grade, chain‑abstracted onboarding flow in an afternoon. ## Key takeaways and next steps Cross‑chain bridges have evolved from experimental wrappers to mission‑critical infrastructure. The builders who master this layer today will be best positioned for tomorrow’s chain‑abstracted user experiences. If you’re ready to explore building onchain, spin up a free Alchemy account, make your first API call, and [start building](http://dashboard.alchemy.com/). ## Frequently asked questions ### What is a cross-chain bridge? A cross-chain bridge connects independent blockchains and enables the transfer of assets and information between them, acting as middleware that lets state move between networks not designed to talk to each other. ### How does a cross-chain bridge work? Most bridges use a lock-and-mint model where tokens are locked on the source chain and equivalent amounts are minted on the destination chain. The original assets never actually leave the source blockchain—users trade custody on Chain A for a claim on those assets on Chain B. ### What problems do cross-chain bridges solve? Bridges enable liquidity routing across chains for better pricing, allow users to put idle assets to work in different apps, and support cross-chain account abstraction that simplifies user experiences by handling bridging behind the scenes. ### Is a bridge aggregator the same thing as a bridge? Not quite. A bridge moves value or messages between two specific chains. An aggregator sits one layer higher and decides _which_ bridge to use for each hop, factoring in cost, liquidity, and security preferences. ### Why do exit times vary even within the same bridge? Latency is a function of both the bridge’s security model and real‑time network congestion. An optimistic proof window might be 30 minutes on paper, but block times and gas spikes can stretch that to an hour in practice. ### Can I insure against bridge failures? Yes—cover providers like [Nexus Mutual](https://www.alchemy.com/dapps/nexus-mutual) and Unslashed now offer dedicated policies for leading bridges, typically priced between 2 % and 6 % of the insured amount per year. ### What are the main security risks of using bridges? Bridge exploits have resulted in over $2.8B in losses, primarily from key compromise \(attackers capturing signing control\) and logic bugs in smart contracts that can allow unauthorized minting or withdrawals. ### What's the difference between trusted and trustless bridges? Trusted bridges rely on centralized parties or small validator sets to hold assets and verify transactions, while trustless bridges use on-chain verification, distributed validators, and cryptographic proofs to minimize reliance on intermediaries. ### Can bridges transfer more than just tokens? Yes, modern bridges support General Message Passing \(GMP\), enabling arbitrary data transfer and allowing smart contracts on different chains to communicate and trigger cross-chain actions. ### What should I look for when choosing a safe bridge? Look for bridges with long operational histories without hacks, multiple independent audits, active bug bounties, slashable validator stakes for dishonest behavior, and time-locked upgrade paths that let users react to code changes. ### Do I need to use multiple different bridges? Not necessarily—bridge aggregators now route transfers through the cheapest secure path in real-time, allowing you to access multiple bridge protocols through a single interface rather than choosing just one provider. --- # Cross-chain vs. Multichain - Which is better? URL: https://www.alchemy.com/overviews/cross-chain-vs-multichain.md ## **What does multichain mean?** The term [multichain](https://www.alchemy.com/overviews/the-future-is-multichain) refers to decentralized applications that have been deployed across multiple blockchains that share similar smart contract technology. Ethereum, Avalanche, Polygon, BNB Chain, are all compatible with the Ethereum Virtual Machine \(EVM\) which enables developers to launch multichain [apps](https://www.alchemy.com/dapps/top/defi-dapps). While originally the majority of the development in the crypto space was based on the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), the focus has now shifted to either the layer 2 blockchains like Optimism and Arbitrum, sidechains like Polygon, or alternative layer 1 blockchains like Solana and Avalanche. Because blockchain technology is constrained by the **Scalability Trilemma** which states blockchains can not scale without compromising security or decentralization, developers built alternative blockchains that accept different tradeoffs to achieve more scale, security, or decentralization. Developers are also choosing to develop applications on Layer 2 blockchains that use [rollups and proofs](https://www.alchemy.com/overviews/validity-proof-vs-fraud-proof) to allow for vertical scalability while maintaining Ethereum’s security. A multichain world is now a reality. Various apps like Multichain apps add complexity for the users and fragments the ecosystem as liquidity is spread across various blockchains. One negative consequence of multichain applications is that users need to switch between the different blockchains from their wallet, which can be tedious and complicated for novice users. A few examples of multichain apps are [Curve Finance](https://www.alchemy.com/dapps/curve-finance) and [Aave](https://www.alchemy.com/dapps/aave) which exist on multiple chains, but whose instances are isolated from each other.  Multichain apps also add complexity for developers because they have to decide on which ecosystem to build, learn the nuances of new developer ecosystems, and take extra security measures to prevent exploits, of which many have focused on multichain applications and bridges because of their complexity. In a pure multichain world every blockchain ecosystem is isolated from each other. For example, Ethereum cannot communicate with Polygon, Avalanche cannot communicate with the Fantom blockchain and so on. ## **What does cross-chain mean?** Cross-chain describes the communication between blockchains, and is the natural evolution of multichain. In cross-chain architectures, blockchains are not isolated silos, but are interconnected. Cross-chain becomes possible thanks to [cross-chain bridges](https://www.alchemy.com/overviews/cross-chain-bridges) and interoperability protocols like Ren Protocol, Multichain, and [Connext](https://www.alchemy.com/blog/alchemy-x-connext), who have pioneered the concept of xCalls - the ability to call smart contracts across chains in a secure way. ## **How do cross-chain protocols work?** Cross-chain protocols can work in two different ways: \(i\) lock and mint and \(ii\) liquidity networks. ### **1. Lock and mint** When you want to move a token from Chain A to Chain B, the tokens do not actually leave the originating blockchain \(Chain A\), but instead they are locked in a smart contract on the originating chain, and a representation, or “wrapped” version of the tokens are minted on the receiving chain \(Chain B\).   Because wrapped tokens on Chain B are locked collateral on Chain A, a process managed by the cross-chain bridge, the original tokens are subject to the risk of the bridge. For example, if the collateral locked in a bridge’s smart contract is stolen as the result of a hack, the wrapped tokens will become worthless. There are several architectures that allow the passing of information, or a “generalized” message, from one blockchain to another: \(i\) more trusted setups, \(ii\) trust-minimized setups. In general, if a bridge requires an external third party, such as a set of validators, an oracle, or a [multisig](https://www.alchemy.com/overviews/mpc-wallet) to work, this makes the bridge more trusted \(relies on 3rd parties\) and therefore less secure \(e.g. open to more attack vectors\). The word “trusted” in this scenario means the user needs to place more trust in a 3rd party, and because a third party can potentially steal the funds locked in the smart contract, it is less secure than an architecture that minimizes the trust requirements from third parties \(trust minimized setups\). ### **2. Liquidity networks** Cross-chain protocols that use liquidity networks rely on pools of liquidity that already exist both on the sending and receiving chains, so there is no minting of wrapped assets. Instead, users deposit liquidity into the pool on the originating chain, and then receive assets from the pool on the receiving chain.  While cross-chain bridges that use liquidity networks are more secure, they are more limited in their functionalities and scale since liquidity is needed on both blockchains. ## **Cross-chain vs. multichain: similarities and differences** Multichain and cross-chain both assume the existence and activities on various blockchains, but where they differ is in their ability to actively communicate with each other. In a multichain scenario, there is no communication between chains, bridges, and interoperability protocols. This is because blockchains can maintain their security assumptions, provided by the different validators, only by themselves, and cannot monitor the security of another blockchain that was not built for their specific purpose. The benefits of a cross-chain infrastructure is the ability to make all the applications, liquidity, and data composable with each other, removing barriers between the siloed blockchains.  **Vitalik Buterin**, has previously expressed doubts on the safety of cross-chain communication, but since then new cross-chain communication mechanisms have been discovered that significantly increase the security of bridges, such as [Optimistic Bridges](https://blog.connext.network/optimistic-bridges-fb800dc7b0e0). Because a layer 2 blockchain like Optimism can only securely interact with Ethereum \(or the L1 where it’s built upon\), communication between Layer 2s also requires cross-chain protocols. For example, if a user wanted to move tokens from Optimism to Arbitrum, they would have to go to Ethereum first, wait 7 days, and then to the final rollup. Secure interoperability protocols like [Connext](https://www.alchemy.com/dapps/connext) instead allow developers to shorten this time and create a fast and cheap experience for the user. ## **Popular use cases** Cross-chain communication is popular in a few major use cases including bridges, wallets, and apps. ### **1. Bridge examples** Bridges are some of the applications that can be built on top of interoperability protocols. The [Connext Bridge](https://bridge.connext.network/), for example, is the most secure and one of the cheapest bridges to allow users to move tokens across multiple chains.  Other examples include **[Axelar](https://www.alchemy.com/dapps/axelar)** and **[Wormhole](https://www.alchemy.com/dapps/wormhole)**, although they are more trusted solutions as they rely on a set of validators, a third party that needs to be trusted, to complete transactions, as opposed to** Connext,** which is a trust-minimized solution. ### **2. Wallet examples** Various [crypto wallets](https://www.alchemy.com/web3-wallets-overview) have introduced integrated features to move tokens across multiple blockchains using interoperability protocols under the hood. Some are focused on trustless connections like Ethereum and Starkware \(the Argent wallet\), other or moving across totally separated chains like Ethereum and Solana - for example the [Clover wallet](https://www.alchemy.com/overviews/solana-wallets). ### **3. dapp examples** Other apps that have successfully started to implement a cross-chain strategy include [Sushi](https://www.alchemy.com/dapps/sushi), [Superfluid](https://www.alchemy.com/dapps/superfluid), FujiDAO, and NFTHashi.  #### **A. Sushi** Sushi is a cross-chain decentralized exchange that allows users to swap any fungible asset to any other fungible asset. For example, you can send asset A from Ethereum and receive an asset B on Polygon.**‍** #### **B. Superfluid** Superfluid is a platform that allows to create money streams, or a steady flow of tokens that continuously changes every second, across blockchains. For example a DAO could start a stream of USDC from a secure chain like Ethereum, and a user could decide to receive it on a cheaper chain like Polygon. #### **C. FujiDAO** FujiDAO is a cross-chain loan aggregation protocol that identifies the best rates across any chain and allocates users’ funds, whether users are lenders or borrowers, where it economically makes the most sense. #### **D. Nfthashi** NFTHashi is a trust minimized NFT bridge that allows users to move NFTs across connected chains. NFTHashi is currently available on Ethereum testnets. ### **The future of cross-chain applications** Today, some users want and need fast transactions and low cost to operate on a blockchain, while others prioritize security: that’s why there is a need to have different chains and domains. A multichain scenario is always more secure than a cross-chain one because blockchains were built to be secure when isolated. Still, users and protocols need to move data and value across domains, so cross-chain solutions are needed. There already have been multiple hacks on cross-chain protocols, so it’s important to learn which ones are more secure and which are less secure. In the future, users won’t need to know on which chains they are: they will only want to interact with their favorite dapp, which will operate on one or multiple chains via interop protocols and abstract the multichain complexities for the user. --- # What are cross-program invocations on Solana? URL: https://www.alchemy.com/overviews/cross-program-invocation.md Runtime cross-program invocation on Solana enables more efficient and flexible [program development](https://www.alchemy.com/docs/reference/solana-api-quickstart), making it a key feature of the platform. Cross Program Invocations \(CPIs\) refer to the ability of a program on the Solana blockchain to call another program and execute its code. This article will help you understand what cross program invocations on Solana are, their specific use cases, and how you can use them in your Solana programs. ## **What are cross-program invocations \(cpis\)?** **In a runtime cross-program invocation, a program on Solana can call another program and pass data to it, allowing for the creation of complex and modular smart contract systems.** The [Solana runtime](https://docs.solana.com/developing/programming-model/runtime) provides a secure and decentralized environment for executing these cross-program invocations. Solana’s runtime ensures that the called program is executed correctly and that the results are returned to the calling program in a verifiable manner. This allows for the creation of trustless and decentralized applications on the Solana blockchain. ## **What are use cases of cross-program invocations?** Cross-program invocations enable a wide range of use cases on the Solana blockchain, such as multisig transactions, token transfers, state channels, interoperability between [apps](https://www.alchemy.com/dapps/top/defi-dapps), new transaction types, and sharing common functionality. ### **1. Multi-signature \(multisig\) transactions** A multi-signature program is where multiple parties must sign a transaction before it is executed on the blockchain. With cross-program invocations, the multisig program can be invoked by other programs to check if a transaction has the required number of signatures before it is processed. ### **2. Token transfers** Solana has [token programs and accounts](https://www.alchemy.com/overviews/solana-account-model) for all transactions related to a token. These token programs can be invoked by other programs to transfer tokens from one account to another, allowing for the creation of applications like decentralized exchanges. ### **3. State channels** Solana programs can be used to implement state channels, that allow off-chain transactions that are settled on-chain. For example, a program can be used to implement a state channel for a simple blockchain game, where the state program can be invoked by other programs when players make moves and then settle the final state on-chain. ### **4. Interoperability between apps** Cross-program invocations enable apps to communicate with each other and share data, allowing for more seamless interactions between different apps on the Solana network. ### **5. Sharing of common functionality** apps can use cross-program invocations to share common functionality, such as cryptographic functions or data storage. This can reduce the amount of code that each dApp needs to implement, and can make it easier to [build apps on Solana](https://www.alchemy.com/solana). ### **6. Enabling new transaction types** Cross-program invocations enable new types of interactions between apps, such as the ability for one dApp to request data from another dapp or trigger an action in another dApp. Whether you want to enforce complex business logic that involves multiple programs such as in [decentralized exchanges](https://www.alchemy.com/list-of/decentralized-exchanges-on-solana), create multi-sig wallets that require multiple signatures from different programs, or build for scale with composable, reusable programs, implementing cross-program invocations is the best approach. ## **What are some examples of cross-program invocations?** **Cross-program invocations can be used in a variety of ways including a multi-sig wallet, NFT marketplace and modular programs.** ### **1. Solana multisig wallet** Using cross-program invocations, we can create a [multi-sig wallet like Snowflake](https://www.alchemy.com/dapps/snowflake) that requires two signatures to execute a transaction. This can be done by creating two programs: one for each signature. When a transaction is initiated, the first program verifies the 1st signature, calls the second program to verify the 2nd signature, and if both signatures are valid, the transaction is executed. ### **2. Solana NFT marketplace** Cross-program invocations also help in the development of [Solana NFT marketplaces](https://www.alchemy.com/list-of/nft-marketplaces-on-solana) for buying and selling non-fungible tokens \(NFTs\). Developers can accomplish this by creating a program for managing the marketplace, and separate programs for each type of NFT that is traded on the marketplace. The marketplace program can call the appropriate NFT program to verify the uniqueness and ownership of the NFT, and then execute the trade if everything is valid. ### **3. Modular programs** Cross-program invocations directly help in creating a complex program that involves multiple steps and interactions. This is done by creating multiple programs, each handling a specific step or aspect of the contract. The main contract program can then call the other programs as needed to execute the various steps of the contract. ## **How to run cross-program invocations** Building runtime cross-program invocation on Solana would involve the following steps: writing, compiling, deploying, and invoking. ### **Step 1: write your Solana programs** First, you would need to write the programs that you want to be able to invoke each other. These programs can be written in any [native Rust](https://www.alchemy.com/overviews/solidity-vs-rust), using the Anchor framework, or in Python using [the Seahorse framework](https://www.alchemy.com/overviews/solana-seahorse). ### **Step 2: compile your programs to wasm** Once you have written the programs, you will need to compile them to Wasm using a suitable compiler. This will produce a Wasm binary that can be executed by the Solana runtime. ### **Step 3: deploy your programs to Solana** Next, you need to deploy the compiled Wasm binaries to the Solana blockchain. This can be done using the solana-deploy command-line tool, which is provided as part of the [Solana software development kit \(SDK\)](https://docs.rs/solana-sdk/latest/solana_sdk/). ### **Step 4: write transactions to invoke your programs** After deploying the programs, you can use the Solana SDK to write a transaction that invokes one of the programs and pass data to it. This transaction would be submitted to the Solana blockchain, where it would be verified and executed by the runtime environment. When the called program is executed, it can perform any computation that is possible within the Wasm runtime, including calling other programs. The results of the computation can be returned to the calling program and stored on the Solana blockchain. Overall, building runtime cross-program invocations on Solana involves writing programs, compiling them to Wasm, deploying them to the blockchain, and using the Solana SDK to invoke and pass data between them. This allows for the creation of complex and modular smart contract systems on the Solana platform. **Note:** the [Solana program rent fees](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs) would vary based on how many programs are present. ### **Simple example of the implementation** As an example, suppose you have two programs in Solana, _program1_, and _program2_, and you want to invoke the function _process_data_ in _program1_ **from** _program2_.  **Here is how you could do this:** In _program1_, add a new function _process_data_interface_ that takes the input data as a parameter and returns the output data: In _program2_, add code to invoke _process_data_interface_ in _program1_, passing the input data and receiving the output data: You can then use the output data in _program2_ as needed. **Note**: this is just a simple example, and the exact implementation will depend on the specific programs and functions that you are working with. You may need to add additional code to handle errors, ensure proper authorization, etc. ## **Get started with Solana runtime cross program invocations** Solana has a key feature called runtime Cross Program Invocations that allows smart contracts running on its platform to invoke other programs in a secure and decentralized manner. In Solana, every program has a unique address on the blockchain, and CPIs are achieved by calling the address of the program that you want to execute. This allows programs to interact with each other and enables complex program functionality on the Solana blockchain.  Overall, Solana runtime CPIs are an important part of the [Solana developer skill set](https://www.alchemy.com/overviews/learn-solana-development), as they allow for the creation of complex and powerful decentralized applications. If you want to get started on your journey with Solana development and CPIs, sign up for an [Alchemy account](https://dashboard.alchemy.com/signup/?a=cross-program-invocation) today! --- # Crypto Playbook for Fintech and Institutions URL: https://www.alchemy.com/overviews/crypto-for-tradfi-institutions-and-fintech.md The [financial sector](/fintech) is at the beginning of a crypto revolution. Blockchain technologies have moved from niche to mainstream, with a global $2.7 trillion crypto market cap and $5.28 trillion in stablecoin transactions settled in 2024. Leading financial services companies are taking notice. BlackRock CEO Larry Fink declared, _“The next generation for markets… will be tokenization of securities,”_ while Charles Schwab CEO Rick Wurster hinted at entering direct crypto trading. Even JPMorgan’s Jamie Dimon, a known skeptic, admitted, _“We use blockchain technology today for certain things… It’s a very efficient way to transfer information or assets securely.”_ The signals are clear: **top financial services teams are already building crypto solutions.** This blog explores why now is the time for financial institutions, fintechs, and neobanks to embrace crypto, offers specific strategies to pursue, and explains why Alchemy is the trusted, enterprise-grade partner who can help. ## Top institutions are moving into crypto Top institutions are already executing on crypto strategies, such as: - **BlackRock** launched a tokenized fund that recently crossed **$1 billion in AUM**, signaling strong demand for real-world asset \(RWA\) tokenization. The fund also announced diversification into Solana. - **JPMorgan’s Onyx** processes billions of dollars daily using JPM Coin for corporate settlements. - **Charles Schwab** saw a **400% increase in crypto-related traffic** in 2024 and is preparing to offer direct crypto trading once regulations permit. Fintechs and neobanks are moving even faster: - **[Robinhood Wallet](https://www.alchemy.com/dapps/robinhood-wallet)** attracted over **1 million users**. - **Revolut’s Crypto Hub** saw a **fivefold increase in crypto activity** after integrating crypto features. - **PayPal’s [PYUSD](https://www.alchemy.com/dapps/paypal-usd) stablecoin** processes billions in volume, generating **over $200 million in annual revenue**. These moves are driven by compelling factors: - **Customer demand:** 73% of institutional investors now hold multiple altcoin positions, and interest from retail users continues to grow, according to [Coinbase](https://www.coinbase.com/institutional/research-insights/research/market-intelligence/2025-institutional-investor-survey). - **New revenue streams:** Trading, staking, custody fees, and stablecoin reserves represent billions in potential revenue. - **Operational efficiency:** Crypto rails enable 24/7 global payments, instant settlements, and programmable money, cutting costs and reducing friction. - **Future-proofing:** Tokenization of traditional assets and the growth of DeFi will reshape capital markets. Early movers will capture this opportunity. ## From limitations to innovation: why crypto matters Traditional financial systems are constrained by inefficiencies that crypto solves: - **Limited market hours vs. 24/7 markets:** Crypto and tokenized assets trade continuously, offering real-time liquidity. - **Cross-border friction vs. instant global transfers:** [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) facilitate near-instant cross-border payments without intermediaries. - **Centralized control vs. user empowerment:** Self-custodial wallets and decentralized protocols give users greater control over their assets. - **Slow settlement vs. near-instant finality:** Tokenized assets settle in minutes, reducing counterparty risk and unlocking capital efficiency. These improvements create a **step-function increase in global financial efficiency** that can drive multi-trillion-dollar growth and greater financial inclusion. Restricted market hours
(make money 9-5, M-F)

", tooltip: "", icon: "" }, "2": { title: "

Markets are open 24/7
(make money 24/7)

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Language and regulatory barriers
(dollars hitting a yuan wall)

", tooltip: "", icon: "" }, "2": { title: "

Money moves freely across borders
in times of need

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Physical limitations
(ATMs, debit cards)

", tooltip: "", icon: "" }, "2": { title: "

Digital assets are accessible
from anywhere

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Censorship and control
(govt sanctions, debanking, frozen accounts)

", tooltip: "", icon: "" }, "2": { title: "

Individuals control
their assets

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Growing global GDP is constrained by central banks
controlling monetary policy

", tooltip: "", icon: "" }, "2": { title: "

Unlocks a multi-trillion dollar economy spurring
economic growth and freedom for all

", tooltip: "", icon: "" }, id: 4, }, ], }} /> ## Where do we see opportunity in crypto? We’ve spent years working with early movers adopting crypto solutions, and we’ve never been more bullish on the broad opportunities ahead for every corner of finance to embrace crypto. Here are **seven** areas where we see tremendous potential for growth: --- ### 1. **Add user-managed wallets** Empower users with secure, self-custodial wallets that enable them to hold and interact with crypto natively, all [without needing native gas tokens](/gasless-transactions). **Who’s this for?** Fintechs and neobanks **Example:** *Robinhood Wallet [attracted over 1 million users](https://newsroom.aboutrobinhood.com/robinhood-wallet-is-now-available-to-all-ios-customers-globally/) by offering this feature.* --- ### 2. **Enable crypto trading** Keep trades in-house to capture trading revenue and increase user retention. Who’s this for? Fintechs and neobanks **Example:** _Revolut’s crypto integration drove a fivefold increase in activity._ --- ### 3. **Tokenize your assets** Tokenize your assets for 24/7 availability, partner transparency, regulatory compliance, and operational efficiency. **Who’s this for?** Asset owners and managers **Example:** *Over 24 home equity lenders are tokenizing HELOC loans through Figure, saving basis points on every loan and bringing $500M/month in tokenized loans onchain.* --- ### 4. **Offer staking for passive yield** Allow users to stake assets like ETH and SOL for rewards while earning a share of staking commissions. Who’s this for? Fintechs, exchanges, and neobanks **Example:** _Coinbase generated hundreds of millions from staking in 2024—around 15% of total revenue._ --- ### 5. **Integrate DeFi for lending** Tap into decentralized lending protocols to offer high-yield lending and borrowing options. Who’s this for? Fintechs, banks, and asset managers **Example:** _MakerDAO, Aave, and [Compound](https://www.alchemy.com/dapps/compound) generated over $700 million in protocol revenue in 2024, with fintechs like SoFi and Lemonade exploring DeFi integrations for yield products._ --- ### 6. **Launch a stablecoin** Issue a fiat-backed stablecoin to monetize treasury interest and enable instant payments. **Who’s this for?** Fintechs, payment processors, and global brands **Example:** _PayPal’s PYUSD generated over $200 million in annual revenue, positioning them as a [stablecoin issuer](https://www.alchemy.com/dapps/best/stablecoin-issuers) at scale._ --- ### 7. **Launch your own blockchain** [Create a Layer 2 chain ](/rollups)to own blockspace, capture up to 100% of transaction flow as revenue, and control digital assets. **Who’s this for?** Exchanges, large fintechs, and financial infra providers **Example:** *[Coinbase](https://www.alchemy.com/dapps/coinbase)’s [Base chain](/base) expects over $200 million in [annualized revenue](https://blockworks.co/news/base-coinbase-l2-success?) within its first year, showing the power of owning your own infrastructure.* ## The cost of waiting Delaying crypto adoption carries increasing risks: - **Competitor momentum:** Early movers are capturing market share and building moats. - **Exponential user adoption:** Once mainstream adoption hits, laggards will struggle to catch up. - **New revenue leaving the table: Tether’s $13 billion in 2024 profits** illustrate the missed opportunity... the missed opportunity for traditional financial players. On the other hand, **adopting crypto early unlocks billions in potential revenue, cost savings, and strategic advantage.** Financial institutions that integrate crypto today will lead tomorrow’s financial landscape. ## How Alchemy connects institutions to crypto We are a complete, enterprise-grade [**web3 platform**](/). We act as trusted partner to the financial industry at large, enabling companies that are interested in exploring crypto to seamlessly integrate blockchain capabilities while maintaining reliability, security, and compliance. ### Why Alchemy? We’re the trusted partner for institutions entering crypto, backed by scale, stability, and the infrastructure that powers the world’s leading crypto solutions. - **Stability**: $500M in raised capital, from top investors like a16z and Charles Schwab. - **Experience**: Leadership team brings decades of experience from Fortune 100 companies including Meta, Goldman Sachs, Stripe, Twilio, and more. - **Proven scale: Powering crypto applications for over seven years** with **$1T+ in on-chain transactions** and **99.99% uptime**. - **Compliance-ready:** SOC 2 Type II certified with robust audit trails, transaction controls, and KYC/AML integrations. - [**Developer-friendly APIs**](https://dashboard.alchemy.com/?): Enabling seamless integration of wallets, trading, staking, and more, with support from Alchemy’s expert team. Alchemy bridges the gap between **traditional finance and crypto**, allowing institutions to build crypto offerings without technical complexity or operational risk. --- **The crypto era is here.** With Alchemy as your partner, your institution can confidently embrace this opportunity, transforming customer experiences, unlocking new revenue streams, and future-proofing your business. _Ready to explore the future of finance? Contact Alchemy today to learn how we can tailor our crypto solutions to your needs._ ## Frequently asked questions ### What is driving traditional financial institutions to adopt crypto? Institutions are motivated by strong customer demand (73% of institutional investors hold altcoin positions), new revenue opportunities worth billions (trading, staking, custody fees), operational efficiencies like 24/7 settlement, and the need to future-proof against tokenization reshaping capital markets. ### How are major financial institutions already using crypto? BlackRock launched a tokenized fund exceeding $1 billion in AUM, JPMorgan's Onyx processes billions daily using JPM Coin for corporate settlements, and Charles Schwab saw 400% increased crypto traffic in 2024 while preparing for direct crypto trading. ### What advantages does crypto offer over traditional financial systems? Crypto enables 24/7 global markets versus limited trading hours, instant cross-border transfers without intermediaries, near-instant settlement reducing counterparty risk, and user-controlled self-custodial wallets versus centralized systems. ### Can fintechs generate significant revenue from crypto integration? Yes, PayPal's PYUSD stablecoin generates over $200 million in annual revenue, Coinbase earned around 15% of total revenue from staking in 2024, and Coinbase's Base chain expects over $200 million in annualized revenue within its first year. ### What specific crypto strategies can financial institutions pursue? Institutions can add self-custodial wallets, enable in-house crypto trading, tokenize assets for 24/7 availability, offer staking for passive yield, integrate DeFi lending, launch fiat-backed stablecoins, or create their own Layer 2 blockchain. ### How do we support financial institutions entering crypto? We provide enterprise-grade infrastructure with 99.99% uptime, power $1T+ in on-chain transactions, offer SOC 2 Type II certification for compliance, and deliver developer-friendly APIs for seamless integration of wallets, trading, and staking. ### What are the risks of delaying crypto adoption for financial institutions? Delays allow competitors to capture market share and build moats, risk missing exponential user adoption curves that make catching up difficult, and leave new revenue opportunities on the table, [Tether](https://www.alchemy.com/dapps/tether) alone generated $13 billion in 2024 profits. ### How do stablecoins benefit financial institutions? Stablecoins like PayPal's PYUSD enable fast, low-cost global payments and instant settlements without intermediaries, allow institutions to monetize treasury interest, and processed $5.28 trillion in transactions during 2024. --- # How to Keep Your Crypto Wallet Safe in 2023 URL: https://www.alchemy.com/overviews/crypto-wallet-safety.md The blockchain made it possible for anyone to “be their own bank,” but with great power comes great responsibility. To fully experience the freedom offered by crypto assets, users must assume control of their funds through the use of a “self-custody” wallet. However, the question remains: How can one ensure the safety of their crypto wallet? This article explores the various measures that can be taken to secure your [crypto wallet](https://www.alchemy.com/dapps/top/wallets), including factors to consider when selecting a wallet, methods for safeguarding your seed phrases, the advantages of conducting [transaction simulations](https://www.alchemy.com/dapps/top/wallets), and the importance of using audited apps. ## How to keep your crypto wallet safe in 2023 This section delves deep into the nuances of keeping your crypto wallet safe in 2023. From understanding the intrinsic security features of hardware and software wallets to navigating the complex world of open and closed-source wallets, we guide you in making choices that align with your security needs and usage patterns. ### **1. Choose a high-quality hardware or software wallet** The first step in safeguarding your crypto assets is to choose a high-quality wallet. This entails opting for a wallet with a solid reputation developed by a team dedicated to ensuring security. #### **Choosing a hardware wallet** Choosing between a [hardware wallet](https://www.alchemy.com/list-of/hardware-wallets-on-ethereum) and a software wallet is a critical decision. A hardware wallet is a physical device like a [Ledger](https://www.alchemy.com/dapps/ledger) or [Trezor](https://www.alchemy.com/dapps/trezor), which remains offline and is only used to sign transactions initiated by the user, often requiring the user to enter a PIN code. The offline nature of hardware wallets makes them immune to online hacking.  #### **Choosing a software wallet** [Software wallets](https://www.alchemy.com/dapps/best/software-wallets) are software installed on a computer or an app installed on a phone, making them more convenient and accessible but also more vulnerable to cyber threats. However, using two-factor authentication \(2FA\) can add an extra layer of security. While hardware wallets are often favored for storing large amounts of cryptocurrency due to their robust security, software wallets equipped with 2FA are usually preferred for smaller amounts and everyday use. #### **Choosing between closed vs. open source wallets** When deciding on a wallet, it’s important to consider whether it is open-source or closed-source. Open-source wallets, such as [MetaMask](https://www.alchemy.com/dapps/metamask), have publicly accessible source code that anyone can review and verify. The fact that the code for open-source wallets is publicly accessible means that developers, security experts, and the broader community can scrutinize it for potential vulnerabilities, bugs, or backdoors. This is why an open-source wallet needs to have undergone an audit and/or support bug bounties. An audit provides assurance that experts have thoroughly reviewed the code for potential vulnerabilities. In contrast, a bug bounty is a reward g given to community members who find a bug or problem with the code. Closed-source wallets like [Phantom](https://www.alchemy.com/dapps/phantom) often prioritize user experience and ease of use, making them more accessible to a broader audience, and usually provide dedicated customer support, which can be beneficial for less tech-savvy users. ### **2. Safeguard your seed phrase against theft and loss** Your seed phrase, also known as a recovery phrase or mnemonic phrase, is a crucial component of your crypto wallet's security. It consists of a sequence of random words, typically 12 to 24 in length, used to restore access to your wallet in case of loss or device failure. Treat your seed phrase as the master key to your funds, and never share it with anyone. To keep your seed phrase safe: #### **Write it down physically** While it may be tempting to simply copy and paste your seed phrase into a file on your computer for safekeeping, this can actually expose your seed phrase to potential threats. A safer approach is to write down your seed phrase using pen and paper and store it in a secure, undisclosed location. It’s also a good idea to make multiple copies of the seed phrase and store them in different physical locations to ensure redundancy in case of emergencies. #### **Consider the likelihood of losing your seed phrase** It’s important to note that a typical crypto user is likelier to lose their seed phrase than have it stolen. It’s worth considering whether you would still have access to your funds if you lost your phone and/or computer or if your house burned down. Some wallets, such as the [mobile wallet Ultimate](https://www.alchemy.com/dapps/ultimate), safeguard against accidental loss by allowing you to encrypt and back up your seed phrase to the cloud. ### **3. Use vetted DeFi protocols** When using your wallet to interact with DeFi protocols on smart-contract-enabled blockchains such as Ethereum or Solana, it's important to consider the safety of the protocol you connect your wallet. With the growing number of [apps](https://www.alchemy.com/dapps/top/defi-dapps) and DeFi platforms, ensuring that the protocols you engage with are reliable and secure is crucial. Websites such as defisafety.com or de.fi can be used to check the safety rating of a protocol. You can also use defillama.com to view a protocol's total value locked \(TVL\). Dappradar.com is another useful resource that can show the number of users a protocol has. Generally, a higher TVL and a larger user base indicate that a protocol is less likely to be malicious or contain vulnerabilities. Before using a DeFi protocol, consider the following: #### **Check for audits** Reputable protocols typically have open-source code on platforms like GitHub and have been through multiple audits, which should be listed on their website.  #### **Community feedback** Seek insights from the crypto community and experts about the protocol's reputation and user experiences. Reddit, Twitter, and blockchain forums are excellent places to gauge community sentiment. Users can significantly reduce their risk by only connecting their wallets to vetted DeFi protocols. ### **4. Don’t use your primary wallet for everything** Suppose you’re connecting your wallet to a new DeFi protocol to explore its functionality or test it with a small amount of funds. It’s generally recommended to use a separate wallet account from your “primary” account, where most of your funds are stored. This can help protect your primary account and ensure your funds are safe while experimenting with new protocols. By using a separate wallet account when connecting to a new DeFi protocol, you can significantly reduce the total amount of funds at risk if the protocol turns out to be malicious or becomes hacked.  ### **5. Disconnect apps after use** As you connect your wallet to more and more DeFi protocols over time, it’s a good idea to disconnect your wallet from protocols you’re no longer using. This ensures that any future vulnerabilities or problems with the DeFi protocol have no chance of affecting your wallet. ### **6. Conduct transaction simulation** Transaction simulation is a feature that should be built into any modern wallet. It verifies the accuracy of a wallet's operation without actually executing a real transaction. In essence, transaction simulation permits users to preview or imitate a transaction before finalizing it on-chain. This provides greater insight and foresight into transactions and improves comprehension of how assets will be affected post-transaction, helping to identify potential vulnerabilities or errors that might lead to loss of funds. When making a large transaction, it's possible to [manually perform a transaction simulation](https://www.alchemy.com/overviews/how-to-choose-a-transaction-simulation-provider) by first sending a small transaction to confirm the accuracy and safety of your wallet. If everything goes smoothly with the small transaction, you can then proceed with the larger transaction. ### **7. Wallet security browser extensions** Modern wallets should have a degree of transaction simulation built in, allowing users to see the result of a transaction before confirming it. There are also additional tools, such as Fire and [WalletGuard](https://www.alchemy.com/dapps/wallet-guard), which are web extensions that run alongside a user’s wallet and warn about phishing links or malicious transaction requests. ### 8. Be vigilant Unfortunately, the world of crypto and DeFi can be an adversarial environment, with malicious actors attempting to exploit ignorant or naive users while remaining anonymous. As such, it’s crucial to remain vigilant and be on the lookout for scams when carrying out any transaction or DeFi interaction. #### **Offchain scams: Discord, Twitter, telegram and other scams** Scammers often target victims on social media platforms such as Twitter and Discord. On Twitter, malicious bots may comment on legitimate posts, offering trading strategies or technical support. These profiles often have suspicious usernames and a low number of followers. While Twitter does filter out some of these bots, it’s important to remain vigilant and ignore any comments or messages offering to “help” with your crypto investments. Discord is also rife with scammers and spammers. It’s common to receive friend requests and messages from accounts promoting airdrops, giveaways, or trading groups. These should all be ignored, and the accounts should be blocked or reported. Even on YouTube, fake live streams featuring celebrities like Elon Musk are common. These streams may appear to show the celebrity discussing the crypto markets and asking viewers to send them tokens in exchange for a larger return. These “send me 0.1ETH and I’ll send you 0.3ETH back” scams are so prevalent that many VIPs have added disclaimers to their real profiles stating that they will never DM you or ask for tokens. Phishing is also a common tactic used by scammers, who may pay for ads on search engines to direct users to fake websites instead of the legitimate ones they intended to visit. You must ensure you are on the correct URL of the website you intend to visit to avoid falling victim to these scams. #### **Onchain scams: malicious NFT spam** It is common to receive spam NFTs, which typically advertise a token giveaway and include a malicious URL link in the description or NFT image. While the presence of these tokens in your wallet is not dangerous, and most wallets hide them by default, it’s important to assume that any token or NFT sent to you without your knowledge is a scam. Some [Solana wallets](https://www.alchemy.com/overviews/solana-wallets), such as Ultimate, allow you to burn spam NFTs and receive back the on-chain “rent.” This can help clean up your wallet and even earn you a small amount of SOL in the process. It’s always a good idea to be cautious when dealing with unsolicited tokens or NFTs to protect yourself from potential scams. ## **Conclusion** Protecting your crypto wallet is an ongoing responsibility that requires proactive measures and constant vigilance. By employing audited wallets, safeguarding seed phrases, conducting transaction simulations, and only using vetted protocols, you can significantly enhance the security of your crypto assets. Remember, the crypto space is ever-changing, and new threats may emerge over time. Staying informed about the latest security best practices and remaining cautious when interacting with your crypto wallet will help ensure your funds are safe and secure. --- # Custom Gas Tokens Guide 2025: ERC-20 Transaction Fees URL: https://www.alchemy.com/overviews/custom-gas-tokens-guide.md Historically, general-purpose blockchains \(Ethereum, Solana, etc\) have dictated the native token used for transaction fees. With the rise of app-chains and [rollups](/rollups), Custom Gas Tokens \(CGTs\) allow blockchain operators to set their own native token. This feature offers benefits like enhanced token utility, improved user experience, and greater control over ecosystem economics. However, implementation requires careful consideration of technical approaches \(Native vs. [Account Abstraction](/gasless-transactions)\) and their economic trade-offs. ## What are custom gas tokens? Custom Gas Tokens \(CGTs\) are alternative tokens \(often ERC-20's\) that chain builders set in order to pay for transactions. This transforms how we think about blockchain infrastructure, enabling protocol developers to create self contained economic systems where network fees are paid in the ecosystem's native currency. This capability is particularly powerful for [application specific chains](/rollups), [gaming](/gaming) ecosystems, and [DeFi protocols](/defi) that want to create seamless user experiences. ### Key benefits for chain operators and application developers - **Enhanced Token Utility:** Transform your token from a speculative or governance asset into essential infrastructure. Every transaction requires your token, creating constant, genuine demand that drives value accrual through fundamental utility rather than speculation. - **Internalized Economic Value:** Transaction fees remain within your ecosystem rather than leaking value to ETH or other external tokens. This creates a more sustainable economic model where your community directly captures the value generated by network activity. - **Unified Brand Experience:** Reinforce your ecosystem's identity by allowing users to interact entirely with your native token. This is especially powerful for gaming chains, social platforms, or specialized DeFi ecosystems where brand cohesion and user experience differentiation matter. - Improved User Experience: Eliminate the "gas token shuffle" where users must constantly manage multiple tokens. With custom gas tokens, users can hold just one token for all their needs within your ecosystem, significantly reducing onboarding friction. ### Implementation approaches: native vs. account abstraction Implementation Level

", tooltip: "", icon: "" }, "2": { title: "

Protocol (EVM)

", tooltip: "", icon: "" }, "3": { title: "

Application (Smart Contract)

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Setup Complexity

", tooltip: "", icon: "" }, "2": { title: "

Moderate

", tooltip: "", icon: "" }, "3": { title: "

High

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Flexibility

", tooltip: "", icon: "" }, "2": { title: "

None- immutable post-genesis

", tooltip: "", icon: "" }, "3": { title: "

Dynamic - Modifiable Runtime

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Gas Overhead

", tooltip: "", icon: "" }, "2": { title: "

Minimal

", tooltip: "", icon: "" }, "3": { title: "

-21,000 additional gas

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Developer Experience

", tooltip: "", icon: "" }, "2": { title: "

Standard tooling compatible

", tooltip: "", icon: "" }, "3": { title: "

Requires AA-specific SDKs

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Token Switching

", tooltip: "", icon: "" }, "2": { title: "

Requires chain migration

", tooltip: "", icon: "" }, "3": { title: "

Runtime configurable

", tooltip: "", icon: "" }, id: 5, }, ], }} /> #### Native implementation The native approach configures the chain at genesis to use a specific ERC-20 token for all gas payments at the protocol level. **Supported Chains:** - ✅ [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit) \(full support with dynamic price oracles\) - ✅ [zkSync Era](https://www.alchemy.com/overviews/how-to-start-developing-on-zksync-in-5-steps) \(ongoing support\) - ✅ Avalanche L1s - ❌ [OP Stack](https://www.alchemy.com/dapps/op-stack) \(deprecated as of May 2024\) **Key Features:** - Requires 100% of transactions to use the designated token - Integrates directly with existing developer tooling and infrastructure - Locks configuration immutably post-genesis deployment - Provides deterministic gas accounting at the EVM level **Key Considerations:** - Lacks flexibility to support multiple tokens or change tokens post-deployment - Requires users to acquire the designated token, potentially complicating onboarding - Simplifies transaction flow with predictable gas costs at the protocol level - May limit compatibility with applications expecting native ETH or other tokens - Relies on chain-wide adoption of the designated token, impacting ecosystem diversity #### Account abstraction implementation The account abstraction approach leverages [ERC-4337](/overviews/what-is-account-abstraction) standards to enable gas payments in any ERC-20 token via a [paymaster](/overviews/what-is-a-paymaster) architecture, without modifying the chain’s core protocol. **Supported Chains:** - ✅ Compatible with any ERC-4337-compliant chain - ✅ Aligned with industry trends post-OP Stack deprecation - ❌ Requires paymaster infrastructure, which may vary by chain - ❌ Not enforced at the protocol level, limiting universal adoption **Key Features:** - Offers maximum flexibility to support multiple tokens or change tokens without protocol upgrades - Enables granular control, allowing applications to specify different gas tokens - Avoids sell pressure by accepting ERC-20 tokens and handling conversions internally - Provides a future-proof architecture aligned with ERC-4337 standards **Key Considerations:** - Increases complexity due to additional infrastructure \(paymasters, bundlers, entry points\) - Complicates gas estimation and transaction flow for developers and users - Eliminates token bridging, simplifying user experience for diverse token usage - Risks inconsistent adoption, as token usage is enforced at the application level - Requires custom configuration for downstream tooling \(e.g., block explorers, indexers\) ## Economic considerations ### The parent chain fee challenge When an L2 utilizes custom gas tokens, it still requires ETH for data availability costs on Ethereum \(L1\). Similarly, L3s require their L2's native token. This creates a critical economic dynamic: 1. **Collection Phase**: Chain accumulates CustomToken as gas fees from users 1. **Conversion Requirement**: Chain needs ETH/parent token for data posting costs 1. **Market Operations**: Chain must execute CustomToken → parent token swaps 1. **Price Impact**: Creates systematic sell pressure on CustomToken ### Managing token economics Chain operators must implement sophisticated economic models accounting for: - **Collection Forecasting**: Statistical models for gas token accumulation rates - **Exchange Rate Volatility**: Hedging strategies for token price fluctuations - **Liquidity Requirements**: Ensuring sufficient market depth for conversions - **Reserve Management**: Maintaining operational buffers for price shocks **Risk Scenario**: A 50% token price decline could render collected gas fees insufficient to cover parent chain costs, creating operational deficits that compound with each block. ## Technical requirements and specifications ### Typical ERC-20 token compliance requirements Your token implementation should generally satisfy these technical constraints: - Standard ERC-20 interface implementation - Exactly 18 decimal places \(enforced at contract level\) - Non-rebasing token supply mechanics - No transfer fees or tax mechanisms - No callback hooks \(no ERC-777 functionality\) - `name\(\)` and `symbol\(\)` return values ≤ 32 bytes - Single entry point for transfers \(no upgradeable proxy patterns\) ### Core protocol interface For chains using ETH, `gasPayingToken\(\)`must return:`\(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, 18\)` ### Account abstraction transaction flow Implementation Level

", tooltip: "", icon: "" }, "2": { title: "

Protocol (EVM)

", tooltip: "", icon: "" }, "3": { title: "

Application (Smart Contract)

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Setup Complexity

", tooltip: "", icon: "" }, "2": { title: "

Moderate

", tooltip: "", icon: "" }, "3": { title: "

High

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Flexibility

", tooltip: "", icon: "" }, "2": { title: "

None- immutable post-genesis

", tooltip: "", icon: "" }, "3": { title: "

Dynamic - Modifiable Runtime

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Gas Overhead

", tooltip: "", icon: "" }, "2": { title: "

Minimal

", tooltip: "", icon: "" }, "3": { title: "

~21,000 additional gas

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Developer Experience

", tooltip: "", icon: "" }, "2": { title: "

Standard tooling compatible

", tooltip: "", icon: "" }, "3": { title: "

Requires AA-specific SDKs

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Token Switching

", tooltip: "", icon: "" }, "2": { title: "

Requires chain migration

", tooltip: "", icon: "" }, "3": { title: "

Runtime configurable

", tooltip: "", icon: "" }, id: 5, }, ], }} /> The AA gas payment flow operates through the following sequence: 1. **User Operation Submission**: User signs operation with custom token gas payment intent 1. **Paymaster Validation**: Validates token acceptance and calculates required amount 1. **Token Collection**: Paymaster pulls custom tokens from user via `transferFrom` 1. **Gas Payment**: Paymaster pays ETH to bundler for actual execution costs 1. **Settlement**: Paymaster handles token → ETH conversion asynchronously This architecture abstracts gas complexity from end users while maintaining security guarantees. ## Production implementations and case studies ### Successful deployments [**Degen Chain**](https://www.degen.tips/) \(Arbitrum Orbit L3 on Base\) - 14M\+ transactions in first week - 770K\+ active addresses - $60M\+ total value bridged - Demonstrated strong product-market fit with native community token [**DeFi Kingdoms**](https://defikingdoms.com/) \(Avalanche Subnet\) - Implemented CRYSTAL as custom gas token - Novel staking-based distribution mechanism - Maintained user engagement through economic transition ### Infrastructure provider considerations RaaS providers and infrastructure teams can leverage custom gas tokens to offer differentiated services, including automated token validation, price oracle integration, and liquidity management solutions. This creates new opportunities for value-added services in the rollup ecosystem. ### Learning from Optimism's deprecation Optimism's deprecation of native custom gas tokens in May 2024 provides critical insights: - Security concerns with L1 portal contract modifications - Architectural inflexibility for protocol upgrades - Superior user experience through Account Abstraction patterns ## Migration and upgrade considerations ⚠️ **Critical Warning**: Migrating or changing your gas token post-deployment presents significant technical challenges. Migration complexity includes: 1. Bridge contract upgrades with state migration 1. Chain-wide pause for fund reconciliation 1. User balance mapping and verification 1. Coordinated ecosystem-wide transition 1. Non-zero risk of fund loss during migration **Best Practice**: Conduct thorough economic modeling and choose your implementation architecture carefully at genesis. If you're unsure,, go with Account Abstraction for optionality. ## Implementation decision framework **Use them if:** - You have a strong token with genuine utility and liquidity - Your users already hold and actively use your token - You want complete control over your chain's economy - You're building a closed ecosystem \(gaming, social\) - You have resources for liquidity management **Skip them if:** - You need maximum interoperability with other chains - Your token is volatile or illiquid - You want to be "maximally ETH aligned" - You lack resources for operational complexity - Regulatory concerns exist in your jurisdiction ## Industry trajectory and future outlook The ecosystem demonstrates clear momentum toward custom gas token infrastructure: - **Optimism**: Complete deprecation of native implementation - **Arbitrum**: Dual support with increasing AA adoption - **zkSync**: Maintaining native support with AA roadmap - **Avalanche**: Protocol-agnostic approach supporting both - **Industry Standards**: ERC-4337 adoption accelerating across L2s ## Technical takeaways 1. **Economic sustainability requires sophisticated management**: Proper liquidity provisioning, price hedging, and reserve management are non-negotiable for operational success 1. **User experience drives adoption**: Eliminating gas token friction can improve conversion rates by orders of magnitude 1. **Optionality has quantifiable value**: The ability to modify gas token strategy post-deployment justifies AA's additional complexity ## Frequently asked questions **Q: What exactly is a custom gas token \(CGT\)?** A: A custom gas token enables any ERC-20 token to be used for transaction fee payment on a blockchain, replacing the requirement for ETH or the chain's native token at either the protocol or application layer. **Q: Can gas tokens be changed post-deployment?** A: Native implementations are immutable post-genesis. Account Abstraction implementations support runtime modifications without protocol changes. **Q: Which chains currently support custom gas tokens?** A: Arbitrum Orbit, zkSync Era, and Avalanche L1s provide native support. All EVM chains support AA-based implementations via ERC-4337. **Q: What are the operational costs?** A: Expect 10-20% overhead for liquidity management, price slippage, and operational buffers in native implementations. AA adds ~21,000 gas per transaction but eliminates liquidity management overhead. ## Conclusion Custom gas tokens represent a fundamental primitive in blockchain architecture—they're strategic choices that impact ecosystem economics, user adoption, and long-term sustainability. Success requires understanding both technical implementation details and economic implications. As blockchain infrastructure continues to mature, custom gas tokens will transition from differentiator to standard feature. The winners will be those who architect thoughtful token economic systems with user experience at the forefront. The future of blockchain increasingly points toward ecosystems with sovereign monetary policies, enabled by custom gas tokens. [Deploy a custom gas token](https://www.alchemy.com/docs/reference/customizations-integrations#1-rollup-configuration) with [Alchemy Rollups](/rollups) or [reach out to our team ](/contact-sales-rollups)anytime. We're here to help. --- # What is danksharding? URL: https://www.alchemy.com/overviews/danksharding.md A new sharding design called proto-danksharding has been introduced as part of the roadmap to [full blockchain sharding](https://www.alchemy.com/overviews/ethereum-sharding-an-introduction-to-blockchain-sharding).  Because it is so new, many people do not yet understand it.  This overview will give a thorough, easy-to-understand analysis of everything you need to know about proto-danksharding and how it would help Layer 2s scale. Let’s dive in. ## What is sharding? Sharding refers to splitting a blockchain into smaller portions to enhance overall efficiency.  For example: Instead of processing a transaction worth $100,000 on the [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum), the transaction can be broken into ten shards, each bearing the data of $10,000 worth of transactions. This is intended to reduce network congestion.  Apart from speed, shard chains provide greater storage and reduce fees.  It’s important to note that sharding is an implementation that will go through various phases before arriving at the final stage. ## What is danksharding? [Danksharding](https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#What-is-Danksharding) is a sharding design that implements the concept of a merged market fee; unlike regular sharding, in which shards have both different block and block proposers, only one proposer exists in danksharding.  The block builders have the duty of choosing the data and transactions that go into each slot of a block.  Danksharding and sharding are interrelated, but they are different. While sharding is the overall design for the splitting of networks in an [effort to scale Ethereum](https://www.alchemy.com/overviews/ethereum-scaling-solutions), danksharding is a step towards the actualization of this goal.  Tim Beiko—one of the foremost Ethereum researchers—explained on the _Bankless_ podcast the origin of the name _Danksharding_, which was named after another veteran Ethereum researcher, Dankrad Feist.  ### How does danksharding work? Block builders push a request to determine what goes into each slot that will later form a block, and then, it is left to the proposer to select the highest bidder. Once a builder has been chosen to oversee a slot, they have the onus of processing the entire block. In some cases, it is possible that oracles can carry out the role of a block builder. According to the Ethereum team, the main reason behind this design is to curb the two unfair controls that the miners currently have – Maximum Extractable Value, or MEV.  First, miners can show unfair preference by choosing their transactions or the ones of those they know. Secondly, miners can hand-pick transactions with the highest bidder, thereby leaving millions of other [transactions in the mempool](https://www.alchemy.com/overviews/what-is-a-mempool) for hours or days.  With danksharding, however, no one knows the contents of the ordered list of transactions that a builder submits. Therefore, the power of the _proposers_ is curtailed.  #### What is the difference between block builders and proposers? Block builders carry out the role of block construction, while block proposers select transaction headers that should be added to the block and broadcast them accordingly. These two work hand-in-hand.  Block builders bundle up transactions into slots or chunks so they can be added to a block, and then builders submit them to the proposers for selection. After the proposer successfully selects a block, the block builders will process the block.  ## Data availability sampling in danksharding A basic tenet of blockchain is transparency. If a mischievous or invalid block is added to a chain, it can be bad for the entire network.  Usually, in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), full nodes can present fraud proofs to light clients—and the entire network at large—as evidence that a transaction is not valid. But this only works well with [roll-ups](https://www.alchemy.com/overviews/optimistic-rollups) and may not quite work for danksharding.  Miners can verify danksharded blocks when they sample the available data. First of all, data availability connotes that the underlying data behind a particular hash has been published on-chain. At this year’s ETH Dubai, **Protolambda** explained data availability to mean _the [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) ability to reconstruct the state_.  In practice, this data availability sampling is implemented with the erasure codes. The erasure codes can be sampled to get the actual data that was added to the slot or block.  After the transactions have been processed, there may be ongoing arguments concerning when the data should be deleted from the Ethereum blockchain to avoid bottlenecking the throughput.  Presently, there are plans that the data will be deleted after a month. Nevertheless, even after the expiry date, the data will still be accessible via various means such as Graph Protocol and block explorers.  ## What is proto-danksharding \(EIP-4844\)? As it stands, there are still a lot of things to be settled in the bid to actualize full danksharding. This led to the [creation of the EIP-4844 proposal](https://eips.ethereum.org/EIPS/eip-4844), which is a format that implements proto-danksharding.   This proposal aims to implement core changes—particularly transaction format—that would be needed for full sharding. The name proto-danksharding was also coined from the name of another Ethereum researcher - Proto Lambda. The actual change that Proto Lambda introduced to danksharding is called [Binary Large Objects](https://hackmd.io/@vbuterin/sharding_proposal#Blob-publication-process), often called “blobs” for short. Indeed, blobs aren’t new concepts in programming, as they exist in JavaScript and Python. What is new, however, is the possibility that blobs can be relevant in smart contracts. To understand that better, we need to ask the question, “What are blobs?” ### What are blobs \(binary large objects\)? Blobs are proposed by the block proposers. They are likened to _big_ _wraps_ or large portable bundles that can contain cheaper data. Each block can hold a limited size of these _big wraps_. In terms of structure, a typical blob has a body and a header. The body of a blob always stores the relevant pieces of data that relate directly to transactions. A header, on the other hand, contains lesser pieces of information, such as the signature of the proposer.  In proto-danksharding, each transaction always has a blob twin, and the end goal of this is to make transactions cheaper.  To enhance scalability, each slot in proto-danksharding would mostly have 1 MB data bandwidth.  Note: [the Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) can only access the cheaper data that is _wrapped_ in a blob, and not the blobs themselves because transactions in danksharding will not be in the usual mempool, but instead a different one.  ### What is the difference between EIP-4844 and EIP-4488? This is the difference: EIP-4844 is providing solutions that align with—and even fast-track—the entire sharding roadmap, while EIP-4488 only attempts to solve problems for the time being.  At its core, [EIP-4488](https://eips.ethereum.org/EIPS/eip-4488) attempts to drastically reduce the gas cost of call data. Although that can help for now, it would be irrelevant if there were full sharding, as shards would use blobs. On the other hand, EIP-4844 plans to use blobs in its transactional format.  Nonetheless, we must also bear in mind that these two proposals do not need to be perceived as competitive or as trade-offs. While proto-danksharding might take time due to a couple of engineering technicalities, EIP-4488 can be implemented to solve interim cost problems using roll-ups.  ## Will proto-danksharding reduce gas fees The answer to this is a clear “No.” Proto-danksharding won't reduce Ethereum gas fees, but it will reduce the transaction costs of Layer 2 protocols.  Indeed, this question comes up a lot in conversations about proto-danksharding. This misconception is bound to happen because proto-danksharding will introduce blobs.  Even then, blobs will only replace call data that roll-ups usually use. Therefore, the gas fees on the Ethereum protocol will still be the same.  Indeed, developers who have been following the updates of the Ethereum ecosystem for years now will agree that most of the proposals out right now will not directly affect or significantly reduce the gas fees of the main Ethereum protocol, not even [The Merge](https://www.alchemy.com/overviews/the-ethereum-merge).  ## The current state of proto-danksharding Ever since the proto-danksharding improvement proposal was created earlier in February, there have been expectations concerning whether or not any progress is being made. While the Ethereum research team is still figuring out a couple of vital issues, proto-danksharding still has a long way to go in the bid to be the forerunner of full sharding.  Foremost, data availability sampling is still theoretical and has not yet been implemented. Part of the reason for this is that the developers are still deciding whether or not the Ethereum Improvement Proposal should only implement point evaluation precompile and drop the idea of coupling it with blob verification precompile.  Indeed, blob verification precompiling is self-achievable among Layer 2s. As a result, the Ethereum community is contemplating whether there is still a need to officially provide for it.  The Ethereum team is looking into the most realistic architecture of blobs and the smartest security measures to put in place.  ## The future of proto-danksharding The Ethereum network has been battling the problems of relatively slow throughput and high gas fees for years, and Ethereum researchers have proposed various technical solutions, including sharding. Proto-danksharding is a route to implementing the complete sharding roadmap, and its main aim is to reduce transaction costs for layer-2 protocols through a blob-centric transaction format.  The Ethereum community has been keen on enhancing their modularity goal by providing Layer 2 blockchains with the needed architecture to build more scalably on the Ethereum protocol. --- # What is the data availability layer? URL: https://www.alchemy.com/overviews/data-availability-layer.md The core tasks of [modular and monolithic blockchains](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains) include executing transactions, achieving consensus on transaction ordering, and guaranteeing the availability of transactional data. The last part—data availability—is critical for blockchains and represents the focus of this article.  Data availability refers to the idea that all transaction-related data is available to nodes on the blockchain network. Data availability is important because it allows nodes to independently verify transactions and compute the blockchain’s state without the need to trust one another. This guide will explain in detail what data availability means and why solving the “data availability problem” matters. You’ll also learn the role data availability layers play in scaling blockchains and the different solutions proposed for solving the data availability problem.  ## **What does data availability mean?** Data availability in blockchains refers to the ability of nodes to download the data contained within all blocks propagated through a peer-to-peer network. Understanding data availability requires a grasp of current block verification processes in blockchains. ### **How does block verification work?** First, the **block producer** will: 1. Take transactions from the [mempool](https://www.alchemy.com/overviews/what-is-a-mempool)‍ 1. Produce a new block with those transactions 1. Broadcast the new block to the P2P network to be added to the chain A block producer is called a “miner” in a Proof-of-Work network and a “validator” in a Proof-of-Stake network. Next, the** validating nodes** \(aka [full nodes](https://www.alchemy.com/overviews/archive-nodes)\) will: 1. Download transactions from the newly proposed block 1. Re-execute the transactions to confirm compliance with consensus rules. 1. Adds the block to head of the chain once the network deems the block is valid The following illustration uses Bitcoin as an example of block verification: But what if a block proposer refuses to publish transaction data and only broadcasted the block headers, which contain metadata about transactions, but not the transactions themselves?  In such a scenario, full nodes would be unable to check the integrity of proposed blocks. Moreover, light nodes that only download block headers could be easily tricked into accepting invalid blocks  To avoid this problem, blockchains—especially monolithic chains—require **block proposers** to make block data available to the rest of the network. Beyond enabling security, data availability rules encourage “trustlessness”: peers can independently verify transactions and blocks instead of trusting others in the network.  ## **What are the challenges of data availability?** **The challenges presented by needing data availability are: requiring nodes to download and verify data reduces throughput, and using on-chain storage for an increasingly large amount of information limits the number of entities who can run node infrastructure.** Monolithic blockchains ensure data availability by redundantly storing state data on multiple nodes so that a peer that needs such data only has to request it from another peer. But this naive implementation of data availability has a problems.  Forcing a large number of network nodes to download, verify, and store the same data massively reduces throughput for blockchains. This is the reason that Ethereum can only process 15-20 transactions per second and that Bitcoin’s processing speed is around 5-7 transactions per second.  On-chain data storage also leads to exponential increases in the size of the blockchain, which further increases hardware requirements for full nodes that need to store an ever-increasing amounts of state. Rising costs of high-spec hardware tends to drive down the number of individuals willing to run nodes, which directly increases the risk of centralization.  ### **Data availability and blockchain scaling** Data availability is also relevant in the context of blockchain scalability. Modular chains are often designed to scale throughput by separating data availability from consensus and execution. Under this arrangement, nodes are not required to store blockchain data, removing some of the constraints described in the previous section.  Nevertheless, the network still needs to guarantee that all block data is available to interested parties. This forms the basis of the data availability problem: “How can we know that the data behind each block was published _without_ having access to the entire block?” We’ll discuss solutions to the data availability problem in a later section. For now, let’s explore the concept of a “data availability layer” and its implications for blockchains.  ## **What is the data availability layer?** In blockchains, a data availability layer is a system that stores and provides consensus on the availability of blockchain data. The ‘data availability layer’ refers to the location where transaction data is stored. There are two types of data availability layers: ### **1. On-chain data availability layer**‍ This is the standard approach among many blockchains, in which data is stored on-chain by the nodes who execute transactions. While this ensures high data availability, it limits decentralization and scalability.  ### 2. **Off-chain data availability layer**‍ This approach requires storing transaction data outside the original blockchain network. An off-chain data availability layer may be another blockchain or any data storage system chosen by developers. In this case, the data availability layer focuses on storing data, not execution.  ## **How does the data availability layer help Ethereum scale?** Sharding is an approach to blockchain scaling that involves splitting up a network into several sub-chains operating in parallel. Nodes in each sub-chain handle different tasks with the goal of achieving efficient use of computational resources.  Ethereum’s current [scaling roadmap](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022) includes plans to implement [data sharding](https://www.alchemy.com/overviews/ethereum-sharding-an-introduction-to-blockchain-sharding)—a system in which various clusters of nodes store distinct pieces of data. There will be 64 shard chains operating independently, with nodes only downloading data posted to their assigned shard. This means full nodes no longer have to store the same data, as currently happens.  With sharding, Ethereum will employ multiple data availability layers instead of storing state data in one location. Blocks will not have to propagate throughout the network, and only a limited set of nodes will be required to verify each block's data. This directly translates to scalability because the network will be able to process transactions faster.  Moreover, storing data between multiple layers further decentralizes Ethereum. Full nodes currently store the entire blockchain, which is roughly 1TB of data, per [recent statistics](https://etherscan.io/chartsync/chaindefault), but will only need to store 1/64 of chain data with 64 shards in operation. This would potentially reduce storage requirements for full nodes and increase the number of validators on Ethereum.   ## **How does the data availability layer work with rollups?** Rollups scale Ethereum by moving computation and state storage away from Ethereum’s execution environment: the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm). The EVM only accepts results of off-chain computation and applies them to its state without having to re-execute transactions, thus improving processing speeds and lowering costs.  What makes rollups safer than other Ethereum scaling solutions, including sidechains or Plasma, is their reliance on Ethereum for data availability. In addition to publishing transaction results on Ethereum, [optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups) and [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) also publish transaction data on Layer 1 as CALLDATA.  Block data posted from a rollup to Ethereum is publicly available, allowing anyone to execute transactions and validate the rollup chain.  It also promotes censorship resistance because the posted data can be used by prospective block producers to reconstruct the chain’s state and start producing new blocks. No single Layer 2 operator can arbitrarily freeze the chain and censor users on the rollup due to this measure.  With the data availability layer providing security, rollups can optimize for scalability. For instance, a rollup can choose large blocks and faster block times to speed up processing speeds.  While this increases hardware requirements for nodes \(most rollups have a few “supernodes” executing transactions\), the availability of state data allows anyone to challenge invalid state transitions or produce blocks to prevent censorship.  ## **How do data availability layers work with modular blockchains?** A modular blockchain is a blockchain that handles a specific function, such as execution, consensus, or data availability and relies on other blockchains and off-chain systems to perform the remaining tasks. The modular blockchain stack comprises different modular chains that work together in different ways to achieve set objectives.  The data availability layer in a modular blockchain stack is usually responsible for storing transaction data, although it may also provide consensus on the ordering of transactions. For example, modular blockchains that focus on execution \(e.g. rollups and validiums\) rely on off-chain data availability layers to store data behind state updates. A data availability layer itself is a modular chain since it concentrates on storing data and outsources execution to other chains. Unlike regular blockchains, a pure data availability layer will not check the validity of data published by block producers. Nodes only have to come to consensus on the ordering of transactions and confirm that the right fees were paid.  ## **What do data availability layers mean for Web3 developers?** The existence of a separate data availability layers has important benefits for blockchain developers including faster development cycles and cheaper user fees. ### **1. Faster development cycles** Developers launching new blockchains or application-specific chains can achieve meaningful security properties from the start by using a data availability layer. A blockchain’s security is usually measured by the distribution of validating nodes, but achieving an ideal distribution of validators in the early stages is unrealistic.  Instead, these new blockchains can focus on execution and settlement while relying on existing data availability networks for security. So, even if a small number of nodes are executing the chain, their capacity to act maliciously by publishing invalid transactions and censoring users is limited.  This is because state data needed to compute **fraud proofs and validity proofs** in order to verify execution is guaranteed to be available. Data availability also makes it easier to sync to the blockchain’s state, which is a requisite for producing new blocks. ### **2. Cheaper user fees** Competition for limited blockspace on Ethereum has driven transaction fees up, which is not ideal for [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) that need to post a large amount of data on-chain. Instead of publishing data on Ethereum, a dApp can cheaply store data on a layer optimized for data availability. Fees for using data availability layers are lower for two reasons: nodes need to charge less fees to recover hardware expenses, and data availability networks can increase block size which means more transactions can be included in blocks. #### **1. Nodes need less expensive hardware** Nodes are only concerned with data storage and don’t need to invest in the bandwidth or hardware necessary for executing transactions. As such, nodes aren’t under pressure to charge high fees to recoup the investment in hardware.  #### **2. Data availability networks can increase block sizes** Data availability networks can increase block sizes without harming decentralization and security due to [data availability sampling](https://arxiv.org/abs/1809.09044). Data availability sampling allows nodes to randomly sample a block to confirm its availability without downloading all of the data. Lower competition for blockspace means storing data on a data availability blockchain is cheaper on average.  ## **What are the different types of data availability solutions?** Solutions to the data availability problem usually take two approaches: modifying on-chain data storage or storing data off-chain. We explore the two classes of data availability solutions below. ### **1. Modified on-chain storage** Modified on-chain storage requires changing how data is stored on-chain to achieve efficiency and security. A form of modified on-chain storage refers to the data sharding process discussed earlier. In sharded blockchains, nodes only download and store data posted in a specific shard. In other words, validators run a full node for one shard and act in a light-client capacity for other shards.  The obvious question here is: “How can nodes be sure that the data for other shards is available without downloading those blocks?” This is where data availability sampling enters the picture. #### **What is data availability sampling \(das\)?** Data availability sampling is a mechanism for verifying a block’s availability without needing to download all of it. Nodes apply data availability sampling by downloading random parts of a block to see if they’re available.  With many nodes randomly sampling a block, the probability of hiding block data reduces. If a node discovers a chunk of the block is unavailable, it can raise an alarm and alert other nodes.  While data availability sampling can give nodes high statistical certainty that a block’s data is available, it cannot completely rule out data withholding attacks. A data withholding attack happens when block producers propose new blocks but don’t publish all of the transaction data.  Even if a block producer publishes most of the block, hiding a tiny fraction of the data still has security implications. What if a rollup operator performs an invalid transaction transferring a large number of users’ tokens to themselves and withholds data needed for challenges?  To have higher security guarantees against data withholding, we [combine data availability sampling with erasure coding](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding).  #### **What is erasure coding?** Erasure coding is a cryptographic primitive for increasing the integrity and availability of data that involves doubling a dataset by adding redundant pieces \(called erasure codes\), such that any combination of the redundant pieces can help recover the original data.  [Shard chains in Ethereum](https://www.alchemy.com/overviews/danksharding) publish transaction data using “blobs” \(binary large objects\), which are similar to blocks. Before publishing a blob, the block producer must extend the original data via erasure coding. This way, anyone can reconstruct the entire block with access to some of the erasure codes.  Erasure coding makes it harder to perform data withholding attacks. With erasure-coded blocks, nodes only need a tiny fraction to recover the original data. Thus, a block producer would need to hide a large portion of the entire data set—more than 50%—to successfully hide data.  ### **2. Off-chain data storage** Off-chain data storage involves storing data elsewhere to avoid burdening nodes. Off-chain data storage solutions are two-fold: data availability committees \(DAC\) and data availability networks. #### **1. Data availability committees \(DACs\)** A data availability committee \(DAC\) is a collection of permissioned entities tasked with holding copies of blockchain data offline. The DAC is often made up of trusted entities that are appointed to the role.  Block producers are required to send transaction data to members of the DAC when performing state transitions. This reduces centralization risk because the DAC can make the data available to users—especially if the block producer starts acting maliciously.  [Validiums](https://www.alchemy.com/overviews/ethereum-scaling-solutions), which is an Ethereum scaling solution similar to ZK-rollups, use DACs to guarantee data availability. In addition to computing zero-knowledge proofs to verify transaction batches, block proposers must obtain attestations \(signatures\) from members of the DAC. This "availability proof" is verified along with the validity proof on Ethereum before new transaction batches are accepted.  Examples of projects using DACs include DiversiFi and ImmutableX.  While data availability committees help solve the data availability problem to an extent, they have certain drawbacks. The DAC is often small in size, making it easy for malicious actors to compromise the group. And because members of the DAC are "trusted" entities, there is no system to punish misbehavior in place.  #### 2. Data availability networks Data availability networks aim to decentralize the process of storing blockchain data and to remove trust assumptions. Data availability networks are similar to data availability committees, except for three key differences: [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) architecture, trustlessness, and fault tolerance. ##### **Permissionless architecture** The data availability network is usually a blockchain with the sole purpose of ordering transactions and storing data. Data availability networks, like **Celestia** and **Polygon** **Avail**, use a Proof-of-Stake system that allows anyone to become a data availability manager. To do so, users only have to put up the required stake to start participating in the blockchain. ##### **Trustlessness** Proof-of-Stake data availability networks use crypto economic incentives to ensure nodes act honestly. Every node tasked with storing data must stake some funds in a smart contract, which can can be slashed if they fail to provide data on request. This feature removes trust assumptions that exist with data availability committees.  ##### **Fault tolerance** Proof-of-Stake data availability networks often have higher participation sets than data availability committees. This makes it harder for malicious actors to compromise the group and conduct data withholding attacks.  ## Conclusion Data availability plays a key role in the ability of blockchains to remain functional and secure. Especially within the context of modular blockchains, data availability layers allow for meaningful decentralization and security.  Ethereum’s [future scalability plans](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) also rely on its data storage capacity. Rollups are limited by data throughput on the parent chain, hence the introduction of data sharding and other upgrades to improve Ethereum’s performance as a data availability layer for Layer 2 solutions. --- # Node RPC vs. Dedicated Clusters: Which Is Right for You? URL: https://www.alchemy.com/overviews/dedicated-vs-shared-nodes.md Most onchain workloads run well on multi-tenant infrastructure. But as teams scale, questions come up: do we need dedicated nodes? Should we isolate certain workloads? What are the actual trade-offs? This guide breaks down how Alchemy's two infrastructure models — [Node RPC](/rpc-api), our shared infrastructure solution, and [Dedicated Clusters](/dedicated-clusters) — work, when each one is the right fit, and how to think about the decision for your team. ## Node RPC: the default for most workloads Node RPC is Alchemy's production-grade, multi-tenant infrastructure optimized for elasticity and operational simplicity. It's powered by [Cortex](/blog/cortex), the same engine behind $1T+ in annual transaction volume for teams including [Robinhood](https://www.alchemy.com/dapps/robinhood), Stripe, [Coinbase](https://www.alchemy.com/dapps/coinbase), Circle, Chainlink, and Polymarket. On Node RPC, scaling is near-instant. Traffic bursts are absorbed automatically across the node fleet. Failover is built in across multiple regions. Pricing is usage-based, so costs scale with your actual traffic rather than provisioned capacity. For current shared RPC performance across providers, see Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). ## Dedicated Clusters: endless customization, fully managed Dedicated Clusters provide your own node infrastructure — provisioned, operated, and maintained by Alchemy, but configured to your exact requirements. Unlike single-node dedicated offerings, each cluster provisions a redundant group of nodes per chain, running on [Cortex](/blog/the-tech-behind-cortex), the same engine as Node RPC. You get the same APIs and reliability guarantees in a single-tenant environment. Every cluster is built for zero downtime. Two or more nodes per chain per region enables rolling maintenance with no interruptions. Block-perfect consistency ensures every node returns the same view of chain state, eliminating errors from stale or conflicting reads. And real-time Grafana dashboards give you full visibility into node health, request patterns, and performance. As your traffic grows, we expand your cluster alongside you — our automated snapshot and deploy capabilities get new capacity live faster than anyone in the industry. For unexpected spikes that exceed your contracted capacity, you can opt in to automatic fallback to Alchemy's shared fleet — no dropped requests, no manual intervention required. Every cluster is configured to your exact requirements: - **Custom tracers and binaries** deployed directly on your nodes for faster, more cost-effective simulation, tracing, and indexing - **Single-tenant isolation** — [SOC 2 Type II compliant](/blog/inside-alchemy-enterprise-grade-security-infrastructure), with no other customer's traffic, code, or data in your environment - **Regional deployment** for low-latency proximity to your stack, chain infrastructure, or users - **Custom hardware configurations** tailored to your traffic for the best possible performance - **Fixed monthly pricing** — no per-request billing, no surprises ## When Dedicated Clusters are the right choice Node RPC handles the vast majority of workloads well. Dedicated Clusters are designed for teams with specific requirements that multi-tenant infrastructure can't satisfy. Here are four common scenarios. **Custom tracers or binaries.** Workloads that depend on non-standard node software — custom EVM tracers, clients, or binaries — require the ability to push custom code to the node. Dedicated Clusters support this natively, making them the right fit for security and forensics teams that rely on custom tracers for indexing and event processing. **Regulatory or internal isolation requirements.** Certain compliance frameworks and internal security policies require that no other customer's traffic, code, or data touches the environment. Dedicated Clusters provide single-tenant isolation with audit-ready controls and SOC 2 Type II compliance — a standard requirement for regulated financial institutions. **Regional deployment requirements.** Node RPC already provides low-latency coverage across a wide set of regions. But if your workload requires deployment in a specific geography outside that footprint — co-located with your stack, sequencers, or validators — Dedicated Clusters can be deployed in the exact region you need. This is particularly relevant for trading firms, DeFi protocols, and high-frequency trading operations where every millisecond matters. **High-volume workloads where capacity-based pricing is more efficient.** For very high-throughput, multi-chain workloads, a fixed monthly cost based on provisioned capacity can be more predictable than per-request billing. If none of these requirements apply, Node RPC delivers the same best-in-class performance and reliability, with no additional setup needed. ## Why not run nodes in-house? Many teams we work with have considered — or are currently managing — their own node infrastructure. The experience tends to follow a familiar trajectory: significant investment in hiring, tooling, and monitoring, followed by ongoing operational load from client upgrades, network changes, and on-call rotations across every supported chain. For a deeper look at this trade-off, see our overview on the [pros and cons of running your own node](/overviews/running-your-own-node). The risk compounds over time. A missed upgrade causes nodes to fall behind, requests begin failing, and customer-facing transactions break — users can't transact, frustration builds, and every minute of downtime means lost revenue and lost trust. Also, engineering resources that could be focused on product work are instead spent maintaining infrastructure that doesn't differentiate the business. This is the problem Dedicated Clusters are designed to solve. Alchemy handles deployment, upgrades, monitoring, and incident response end to end. ## The hybrid approach Teams that need Dedicated Clusters for certain workloads typically don't need it for all of them. The most common production setup is hybrid: Dedicated Clusters for the chains or workloads that require single-tenant control, and Node RPC for everything else. Migration between the two is straightforward. Both use the same Alchemy APIs — routing a workload to Dedicated is as simple as pointing requests to a different endpoint URL. No code changes, no re-architecture required. This approach gives teams single-tenant control where it matters, while preserving the elasticity and cost efficiency of Node RPC for the rest of their traffic. ## Comparison ## How to decide The decision comes down to four questions. Does your workload require custom tracers or binaries? Do you have a regulatory or policy mandate for single-tenant isolation? Do you need deployment in a region Node RPC doesn't currently cover? Would capacity-based pricing be more cost-effective for your volume? If the answer to any of these is yes, Dedicated Clusters or a hybrid setup are worth evaluating. If the answer to all of them is no, Node RPC is the right fit. In either case, the path forward is flexible. Teams can start on Node RPC and move specific workloads to Dedicated later without disrupting existing infrastructure. ## Frequently asked questions ### What is Alchemy Node RPC? Node RPC is Alchemy's multi-tenant infrastructure, powered by Cortex. It's optimized for elasticity and operational simplicity: scaling is near-instant, failover is built in across multiple regions, and pricing is usage-based. ### What are Alchemy Dedicated Clusters? Dedicated Clusters give you your own node infrastructure, fully managed by Alchemy but configured to your exact requirements. They run in a single-tenant environment with support for custom tracers, regional deployment, custom hardware, and fixed monthly pricing. ### What's the main difference between Node RPC and Dedicated Clusters? Node RPC is shared infrastructure with usage-based pricing, built for most workloads. Dedicated Clusters offer single-tenant isolation with custom configurations for teams that need specific compliance, performance, or customization controls. ### When should I choose Dedicated Clusters over Node RPC? Dedicated Clusters are the right fit if you need custom tracers or binaries, have regulatory or internal isolation requirements, need deployment in specific regions, or run high-volume workloads where capacity-based pricing is more efficient. ### Can I use both Node RPC and Dedicated Clusters together? Yes. A common production setup is hybrid: Dedicated Clusters for workloads that require single-tenant control, Node RPC for everything else. Migration is as simple as changing the endpoint URL, with no code changes required. ### Are Dedicated Clusters harder to maintain than Node RPC? No. Both are fully managed by Alchemy. Deployment, upgrades, monitoring, and incident response are all handled end to end. Zero maintenance required from your side. ### Do both Node RPC and Dedicated Clusters support the same APIs? Yes. Both run on the same Alchemy APIs, so routing workloads between them requires no code changes or re-architecture. ### Why not run my own nodes instead of using Alchemy? Running your own nodes means significant investment in hiring, tooling, and ongoing operational load: client upgrades, network changes, on-call rotations across every supported chain. Alchemy handles all of that so your engineering team can focus on product work instead of infrastructure maintenance. ## Get started Over 70% of top onchain applications run on Alchemy. If you're evaluating infrastructure options — whether you're consolidating providers, replacing an in-house setup, or planning for scale — [reach out to our team](/contact-sales-dedicated-clusters) to find the right configuration for your workload. --- # Dedicated vs. Shared Solana Nodes: Which is better? URL: https://www.alchemy.com/overviews/dedicated-vs-shared-solana-nodes.md Whether you are working on a decentralized application \(dapp\), building a smart contract, or simply want to participate in the Solana network as a validator, choosing the right type of node is crucial. Dedicated nodes offer complete control and potentially better performance, but they also come with higher costs and maintenance responsibilities. On the other hand, shared nodes are more cost-effective and require less work, but they also come with some limitations and potential security risks. In this article, we will provide you with a comprehensive overview of dedicated vs. shared Solana nodes so that you can choose the best one for your needs. ## **What are Solana nodes?** [**Solana nodes**](https://www.alchemy.com/overviews/solana-nodes) are powerful computers that run the Solana software, forming an secure interconnected blockchain network. As part of this cluster, every node works collectively to ensure that Solana is secure and reliable for everyone utilizing its services. Solana nodes can be either Remote Procedure Call \(RPC\) or [validator nodes](https://www.alchemy.com/overviews/what-is-firedancer), depending on the specific functionality they are designed to provide. ### **What are RPC nodes?** [**RPC nodes**](https://www.alchemy.com/overviews/rpc-node) allow developers to interact with the Solana network and perform various functions, such as querying the blockchain and broadcasting transactions. They do not participate in the consensus process and do not validate transactions, but they are still an essential part of the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). ### **What are validator nodes?** **Validator nodes are responsible for verifying transactions and adding them to the Solana blockchain.** They participate in the consensus process and play a crucial role in maintaining the integrity and security of the network. Both RPC nodes and validator nodes can be either dedicated or shared. ## **Types of Solana node providers** To run a Solana application, you need to get your node from a provider to power your dapp or participate in the Solana network. While you can host your own node, most developers will opt to use a third-party Solana node provider. Instead of handling the technical details and maintenance tasks, developers can simply [choose a SNaaS \(Solana Nodes as a Service\) provider](https://www.alchemy.com/overviews/solana-rpc) and get started quickly. This can save time and resources, allowing developers to focus on building their applications instead of worrying about the underlying hardware and infrastructure. **There are two main types of Solana node providers:** 1. Shared Solana nodes 1. Dedicated Solana nodes ### **What are shared Solana nodes?** **Shared Solana nodes are servers that are used by multiple independent developers to read and write data to the Solana blockchain.** Shared nodes can be owned and operated by a single entity or a group of entities. They are used to perform various functions within the Solana ecosystem, such as verifying transactions, querying the blockchain, and broadcasting transactions. **Simply put, they are nodes hosted on a shared server with other users.** Shared Solana nodes are a cost-effective and convenient way for developers to access the Solana network and perform various tasks. They allow multiple parties to share the cost of operating a node and reduce the maintenance burden on individual parties. #### **Pros and cons of shared Solana nodes** Operational costs are low as it is shared among multiple parties.

", tooltip: "", icon: "" }, "2": { title: "

May be subject to more congestion, which can impact performance and reliability.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Setting up is as easy as choosing a provider and getting the node up and running.

", tooltip: "", icon: "" }, "2": { title: "

There is always a risk that other users could cause problems on the shared server.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

No maintenance is required as it is taken care of by the node service provider.

", tooltip: "", icon: "" }, "2": { title: "

Less control over the server and its implementation, as a third-party provider manages it to serve all.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Offer a lot of flexibility as developers can quickly scale up or down depending on their needs.

", tooltip: "", icon: "" }, "2": { title: "

Potential for leakage if users do not take appropriate measures to secure their data.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Developers can get started without having to make a significant investment, as there are no upfront costs.

", tooltip: "", icon: "" }, "2": { title: "

Not ideal for large enterprises to deploy production-ready live apps.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Very beginner friendly, as they are operated by those who have a deep understanding of the Solana ecosystem.

", tooltip: "", icon: "" }, "2": { title: "

Rate limited as the provider will limit the number of API requests per user.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Have a large and active community of developers who can help each other and share knowledge.

", tooltip: "", icon: "" }, "2": { title: "

Offer limited customization as they are a one-size-fits-all solution.

", tooltip: "", icon: "" }, id: 6, }, ], }} /> #### **Shared vs. public nodes** While shared Solana nodes may seem like public nodes, they are not: public nodes are available to everyone, whereas shared nodes are available to customers of the Solana provider. However, many RPC providers offer a free tier of access for [developers learning about Solana](https://www.alchemy.com/overviews/learn-solana-development). Shared nodes can be a good option for developers who are looking for a more cost-effective and simple way to access the Solana network, but they also come with some limitations that should be considered. #### **Shared Solana RPC node providers** Alchemy offers Solana developers reliable and scalable shared RPC infrastructure through Node RPC, as well as [Dedicated Clusters](/overviews/dedicated-vs-shared-nodes) for teams that need single-tenant isolation. Our range of APIs and tools make it easy to connect to the Solana network and build applications on top of it. Alchemy is known for its fast and reliable infrastructure, which can benefit developers who need fast response times and high performance on par with the Solana mainnet. Alchemy also offers a range of features and tools that can help developers build and scale their applications on the Solana network. With Alchemy's infinitely scalable infrastructure, individual developers and businesses can deploy production-ready [Solana apps](https://www.alchemy.com/ecosystem/solana) with minimal effort. ### **What are dedicated Solana nodes?** **Dedicated Solana nodes are servers that are solely dedicated to a single entity,** **and are not shared with any other parties.** Dedicated Solana nodes offer a number of benefits, including complete control and potentially better performance. However, they also come with higher costs and maintenance responsibilities. Dedicated nodes are a good option for developers looking for isolated and customizable environments, but they may not be the most cost-effective or straightforward solution for all developers. #### **Pros and cons of dedicated Solana nodes** Offer complete control and customization as they are owned and operated by a single entity.

", tooltip: "", icon: "" }, "2": { title: "

Expensive as a single entity bears all operational costs.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

More secure compared to shared nodes because the possibility of backdoor hacks is low.

", tooltip: "", icon: "" }, "2": { title: "

Setting up is not as simple as in the case of shared nodes.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

They can handle much higher transaction throughputs and experience less congestion.

", tooltip: "", icon: "" }, "2": { title: "

Maintenance of the node may require some technical expertise.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Developers are not dependent on a third party for the operation and maintenance.

", tooltip: "", icon: "" }, "2": { title: "

Offer less flexibility for resource scaling as the entire node is dedicated to you.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Ideal option for large enterprises that demand high performance and reliability.

", tooltip: "", icon: "" }, "2": { title: "

Overhead may cut into profits if usage is very much lower than capacity.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Rate limiting is not a problem, as you can decide how many requests per second to allow.

", tooltip: "", icon: "" }, "2": { title: "

Not suitable for beginner developers in the learning phase.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Data leakage is not likely because of the possibility of backdoor hacks is low.

", tooltip: "", icon: "" }, "2": { title: "

Smaller developer community to ask for support.

", tooltip: "", icon: "" }, id: 6, }, ], }} /> #### ‍**Running your own Solana node vs. using a dedicated node provider** There are several factors to consider when trying to [figure out whether to run your own node](https://www.alchemy.com/overviews/running-your-own-node) or use a dedicated node provider. ##### **1. Expertise** **‍**Setting up and configuring a Solana node requires a high level of technical expertise. It can sometimes get tricky, even for an experienced developer. Using a dedicated node provider is better if you don't have the necessary skills.**‍** ##### **2. Cost** **‍**Spinning up your own node is expensive, and there are ongoing maintenance costs to consider. Using a dedicated node provider is a more cost-effective option in most cases, including large-scale enterprises.**‍** ##### **3. Performance** **‍**Running your own node may offer better performance compared to using a shared node provider because you have complete control over the node. However, ensuring that you have the resources and expertise to optimize the node for performance is important. A dedicated node provider may also offer good performance, depending on the provider and available resources.**‍** ##### **4. Customization** If you run your own node, you have complete control over the node and can customize it to meet your specific needs and requirements. However, this requires expertise and resources to set up and maintain the node. Using a dedicated node provider may offer some customization options, but you may be limited by the resources and expertise of the provider. ##### **5. Maintenance** **‍**Maintaining a Solana node requires ongoing technical expertise and resources. If you are short on either of these, it is better to use a dedicated node provider. #### **Does Alchemy provide dedicated Solana nodes?** Yes. Alchemy offers [Dedicated Clusters](/overviews/dedicated-vs-shared-nodes) — fully managed, single-tenant node infrastructure that can be configured for Solana and other chains. Dedicated Clusters support custom binaries, regional deployment, and SOC 2 Type II compliance. For most workloads, Alchemy's shared Node RPC infrastructure provides the same reliability and performance with no additional setup. ## **What type of Solana RPC node should I use?** The type of [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) node you should use depends on several factors, including the size and scope of your project, budget, and expertise. For most teams, [Alchemy's shared Node RPC](https://dashboard.alchemy.com/signup/?a=dedicated-vs-shared-solana-nodes) is the fastest and most cost-effective option. If you need full control, single-tenant isolation, or custom binaries, Alchemy's [Dedicated Clusters](/overviews/dedicated-vs-shared-nodes) provide managed dedicated infrastructure without the operational burden of running nodes yourself. --- # What Are DeFi AI Agents? DeFAI Use Cases and Risks URL: https://www.alchemy.com/overviews/defi-ai-agents.md For most of DeFi's history, software gave you advice and you did the work. A dashboard showed the best yield. A bot warned you when an arbitrage opened. You still opened a wallet and signed. DeFi AI agents, often called DeFAI agents, change that relationship. They are autonomous systems that combine AI reasoning with DeFi execution: they read onchain data, choose an action, and sign or route transactions under predefined policies. A DeFi AI agent is software that reasons, signs, and settles onchain. The word "signs" is the one that matters. A bot that recommends a trade is a research tool you can ignore. A system that signs the trade is handling money. That is what makes DeFi AI agents powerful, and it is why most of the engineering work goes into stopping them from losing it. ## What is an AI agent? An [AI agent](https://www.alchemy.com/dapps/best/ai-agents) is a language model wired to tools, memory, and a policy. The model handles intent: what the user wants. The tools handle execution: fetch this data, call this API, send this transaction. The memory preserves state across turns so the agent does not relearn the user's preferences on every prompt. The policy decides what the agent can do without asking again. That loop is similar whether the agent is writing code, booking flights, or managing a portfolio. The infrastructure usually includes a planner model, a tool layer for action discovery, a wallet or credential store, and a policy layer that bounds the agent's authority. The difference in DeFi is that the action can move money. ## What is a DeFi AI agent? A DeFi AI agent is an AI agent operating inside decentralized finance. Its tools are DeFi actions: swapping tokens, lending assets, staking, bridging funds, checking balances, or moving liquidity between protocols. The sharp line is execution. Some systems only recommend actions or prepare transactions for a human to approve. Those are copilots or agent-assisted workflows. A fully autonomous DeFi AI agent can sign or submit transactions itself, within rules the developer or user sets in advance. That creates the core design tension: an agent is useful when it can act on its own, and safe only when it cannot act too freely. ## What can DeFi AI agents do? The first DeFi AI agents are not magic portfolio managers. They are narrow systems with clear jobs, bounded wallets, and explicit limits. The best use cases are repetitive, data-heavy, and sensitive to timing. ### Stablecoin yield optimization A [stablecoin](https://www.alchemy.com/dapps/top/stablecoins) yield agent watches lending markets, estimates net returns after gas and bridge costs, and moves funds when another market pays enough more to justify the switch. The agent itself can be simple. What matters is everything around it: limits on what it can touch, simulations before each move, and an approved list of protocols where it can send funds. ### Lending and vault rebalancing A lending agent can work inside a protocol like [Morpho](https://morpho.org/) and keep funds in markets that match a user's risk and yield preferences. It can compare rates, watch liquidity, and shift positions when better pools open. The safety model is not "let the agent chase the highest number." It is "let the agent move only between pools an expert has already approved." ### Natural-language DeFi execution This is the version most users will recognize: a chat box. A user writes, "swap 500 USDC to SOL on the cheapest route and stake it," and the agent turns that request into a sequence of signed transactions. The hard part is hidden. The agent has to find a route, cap slippage, check balances, simulate the transaction, and ask for approval when the request exceeds policy. The user sees one sentence. The system sees a workflow. For a practical build path, our [Solana AI agent guide](https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026) walks through a chain-specific agent architecture end to end. ### Social-native trading agents Some agents live where users already issue commands: Telegram, Discord, or X. [Bankr](https://bankr.bot/) is one example of this pattern. The user sends a short instruction, and the agent handles routing, execution, and transaction feedback. The same convenience creates a harder security problem. If the command surface is an inbox, the system has to defend against impersonation, malicious links, and prompt injection inside the same place users interact. ### Treasury and DAO rebalancing A treasury agent can monitor a DAO or fund balance, spread assets across stablecoins and yield positions, and rebalance as conditions change. This is the hardest job to hand an agent because the amounts can be large and the downside can be immediate. A practical rule is to let the agent handle routine moves and require human approval for anything large, unusual, or outside a preset mandate. These use cases share one structural property: the agent should not hold an unlimited master key. The policy that constrains it should be enforced both offchain at the signer and onchain in the wallet or account system. ## What are the risks of DeFi AI agents? Most DeFi AI agent risk comes from two places: the model can be manipulated, or the signing system around it can be compromised. ### Prompt injection and context manipulation [Freysa](https://simonwillison.net/2024/Nov/29/0xfreysaagent/) was not a DeFi protocol, but it is a useful warning. The game gave an AI agent one instruction: never release the prize pool. After many failed attempts, one user found a prompt that convinced the agent it was allowed to send the funds. The lesson applies directly to DeFi. An agent reads context, and attackers can hide instructions inside that context: chat messages, web pages, webhooks, token metadata, or price feeds. If raw text can trigger a payment directly, the wallet is downstream of untrusted input. The fix is separation. The model can propose an action. A separate policy check decides whether that action can be signed. ### Wallet and key compromise The other failure mode is less exotic. The agent works as designed, but the key management around it is weak. If a private key sits in a plain `.env` file, or one stolen dashboard credential can approve unlimited spending, then a single compromise can drain everything the agent controls. The AI did not fail. The locks around it did. A DeFi AI agent's wallet should be treated like a production financial system: no raw keys in the agent loop, no unlimited spend authority, and no single approval point for high-value actions. ### Bad objectives and missing limits Even when the model and wallet are secure, an agent can still optimize the wrong thing. "Maximize yield" can push funds into fragile pools. "Find the best price" can ignore execution risk. "Rebalance every hour" can spend more on fees than it earns. The safest agents translate broad user goals into narrow operating rules: allowed protocols, maximum position size, slippage caps, daily spend limits, and escalation thresholds. ## What does the architecture of a DeFi AI agent look like? Production DeFi AI agents usually have five layers. The exact tools vary, but the shape is stable. ### Reasoning layer This is the model that reads the goal and decides what should happen next. The pattern that holds up best is to separate planning from execution. One step creates the plan: move funds, swap assets, rebalance a vault. A second step turns that plan into exact calls and transaction parameters. Splitting those steps makes the system easier to inspect before anything is signed. ### Tool and data layer Agents need clean access to balances, prices, transaction history, contract state, and protocol metadata. They can get that through RPC calls, indexed data APIs, webhooks, WebSockets, gRPC streams, and agent-native tool interfaces. The [Alchemy MCP Server](https://www.alchemy.com/docs/alchemy-mcp-server) exposes 168 tools through the Model Context Protocol across ENS resolution, token prices, NFT metadata, transaction history, smart contract simulation, tracing, account abstraction, wallet sessions, Solana DAS, and more. It covers 100+ networks and connects to supported MCP clients through a hosted OAuth flow. That makes MCP useful for reads and discovery. For writes, the signing path still needs a separate custody and policy model. Connect the hosted server once, then ask for live prices, balances, and portfolio state without writing a script: ### Custody and wallet layer This is the most important design decision. The wrong pattern is to let the agent hold a raw private key. Anyone who extracts the key owns the funds. Safer patterns keep the key outside the agent process. Embedded wallet and custody providers such as [Privy](https://www.privy.io/) and [Turnkey](https://www.turnkey.com/) can hold keys and enforce policy before signing. The [agent wallet feature in the Alchemy CLI](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) uses this pattern for developer agents. When you run `alchemy wallet connect`, the dashboard creates or selects the wallet, the CLI receives a scoped and time-bound session, and the wallet private key stays with Privy. You can revoke the session from the dashboard. That is how an agent moves from reading DeFi state to executing under limits you set. In this demo, Claude finds a market, bridges USDC, and deposits through a scoped CLI session, with the private key never leaving custody: ### Policy layer A safe agent has overlapping controls. Each one catches a different class of mistake. - Simulate transactions before signing them. - Limit the protocols and contracts the agent can call. - Set maximum spend per transaction and per day. - Expire permissions after a fixed time. - Require human approval for unusual or high-value actions. - Enforce rules at the wallet or account layer, not only inside the model prompt. These controls overlap on purpose. The agent can be wrong. The wallet should still be able to say no. ### Settlement and execution layer Execution is where plans become transactions. For swaps and routing, agents can use DEX aggregators such as 1inch, CoW Swap, or Jupiter on Solana. For intent-based flows, solvers compete to fill a signed user intent. For gas, a paymaster can sponsor transaction fees through products like [Gas Manager](https://www.alchemy.com/gas-manager), so the agent does not need to manage native tokens for every chain. Offchain payments are a separate problem. Agents also need to pay for APIs, data, inference, and compute. Protocols like [x402](https://www.alchemy.com/blog/how-x402-brings-real-time-crypto-payments-to-the-web) let a server respond with HTTP 402 payment terms, then let the agent pay and retry the request. [MPP](https://www.alchemy.com/overviews/x402-vs-mpp-comparing-agent-payment-protocols) extends the same 402 pattern with payment-method-agnostic rails, sessions, MCP transport support, and standardized primitives such as idempotency and replay protection. For agent builders, the architecture is not one product. It is the combination of a wallet, a policy layer, a data feed, and a payment rail. ## How does Alchemy support DeFi AI agents? We ship the read, write, and payment surfaces a DeFi AI agent needs. On the read side, agents can use [RPC across 100+ chains](https://www.alchemy.com/rpc-api), the [Data API](https://www.alchemy.com/docs/data) for token, NFT, portfolio, and price endpoints, [webhooks](https://www.alchemy.com/webhooks), WebSocket subscriptions, [Solana gRPC streaming](https://www.alchemy.com/solana-grpc), and the [Alchemy MCP Server](https://www.alchemy.com/docs/alchemy-mcp-server). With MCP, agents can query live on-chain data in natural language and interpret complex wallet, token, and transaction state across networks. On the write side, the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) gives developer agents a scriptable terminal surface. Agent Wallets let you approve scoped signing sessions through the dashboard without handing the agent a raw private key. Create an [agent wallet](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) in the dashboard, run `alchemy wallet connect`, and sign from the approved session. For agentic payments, Alchemy supports x402-paid access to Core RPC, NFT, Portfolio, and Prices APIs. The agent authenticates with its wallet, receives a 402 response when payment is required, pays in USDC, and receives the data without a human provisioning an API key for that request. For coding agents, [Alchemy Skills](https://github.com/alchemyplatform/skills), the Alchemy CLI, and MCP give tools like Cursor, Claude Code, and Codex machine-readable ways to discover and call Alchemy primitives. That matters because agents should not have to reverse-engineer human documentation before they can build. Install [Alchemy Skills](https://www.alchemy.com/docs/alchemy-agent-skills): Connect the [hosted MCP server](https://www.alchemy.com/docs/alchemy-mcp-server). For Cursor or Claude Desktop, add this to your MCP config: In VS Code Copilot, add this to `.vscode/mcp.json`: If you are building a DeFi AI agent, start with three primitives: a scoped wallet, a real-time data feed, and a payment rail. The model decides what to do. Those primitives determine whether it can act safely. ## Frequently asked questions ### What are DeFi AI agents? DeFi AI agents are autonomous systems that combine AI reasoning with decentralized finance execution. They can read onchain data, choose an action, and sign or route transactions under policy controls. The most capable DeFi AI agents reason, sign, and settle onchain. ### What does DeFAI mean? DeFAI is shorthand for the intersection of DeFi and AI. The term usually refers to AI agents, copilots, and automation systems that help users trade, lend, rebalance, or manage assets across decentralized finance protocols. ### How are DeFi AI agents different from trading bots? Trading bots usually follow predefined rules. DeFi AI agents can interpret natural-language intent, use tools, reason over changing context, and choose from multiple actions. The practical difference is flexibility: an agent can decide how to pursue a goal, while a bot usually executes a fixed strategy. ### Are DeFi AI agents safe? They can be safe only if the wallet and policy model are designed carefully. A safe agent should not hold a raw private key, should operate under spending limits, should simulate transactions before execution, and should require approval for unusual or high-value actions. ### What can DeFi AI agents do today? DeFi AI agents can monitor markets, compare lending rates, rebalance vaults, route swaps, react to onchain events, and automate narrow treasury workflows. The best current use cases are bounded and repetitive rather than open-ended control of large portfolios. ### What infrastructure do DeFi AI agents need? They need a wallet or signing system, onchain data access, policy controls, transaction execution, and often a payment rail for API calls. Common infrastructure includes RPC, indexed APIs, webhooks, WebSockets, gRPC, MCP tools, scoped wallets, paymasters, and x402 payments. ### Can DeFi AI agents pay for APIs? Yes. Protocols like x402 let agents pay for API calls through the HTTP 402 payment flow. The agent requests a resource, receives payment terms, signs a payment with its wallet, and retries the request with proof of payment. ### How do I build a DeFi AI agent with Alchemy? Start with the Alchemy CLI for wallet setup, the Alchemy MCP Server or APIs for data access, and x402 for agentic payments. Install the CLI with `npm i -g @alchemy/cli@latest`, run `alchemy auth`, then use `alchemy wallet connect` to create a scoped signing session for your agent. --- # What are decentralized finance (DeFi) games? URL: https://www.alchemy.com/overviews/defi-gaming.md DeFi games offer a new and exciting way for gamers to interact with the world of decentralized finance, [earning money as they play](http://www.alchemy.com/overviews/make-money-playing-p2e-games).  Unlike with traditional games, players can now earn real-world value by participating in blockchain-based games and leveraging DeFi features, such as in-game assets that can be bought, sold, and traded like real-world assets.  According to DappRadar, DeFi gaming accounts for almost half of all on-chain activity! As the popularity of [DeFi games](https://www.alchemy.com/dapps/best/web3-games) continues to grow, it’s clear that they are poised to become a major force in the gaming world, shaking up traditional models and paving the way for new and innovative approaches to gaming where gamers earn money while gaming. In this article, we provide a complete overview of DeFi gaming, covering its benefits, limitations, how it works, and how players can make money with it. ## **What are DeFi games?** **DeFi games are online games that use blockchain technology and DeFi protocols to enable users to gain real-world value from their in-game activity.** Players can earn rewards by playing games, [staking tokens](https://www.alchemy.com/overviews/what-is-crypto-staking-the-profits-and-risks), or providing liquidity to [decentralized exchanges \(DEXs\)](https://www.alchemy.com/dapps/best/decentralized-exchanges-dexs). These rewards can come in the form of in-game tokens, tradable assets, cryptocurrency, or even real-world goods and services. Unlike traditional games, where the value of in-game assets is limited to the in-game ecosystem, DeFi games allow players to own and trade their digital in-game assets on open markets, creating real-world value.  ### **What is the difference between DeFi games and NFT games?** The main difference between DeFi games and [NFT games](http://www.alchemy.com/overviews/nft-gaming) are that DeFi games primarily focus on using DeFi principles within the game's ecosystem, while NFT games focus on using NFTs to represent in-game assets that can have real-world value. In DeFi games, players can earn cryptocurrencies by participating in decentralized finance services such as lending, borrowing, and trading within the game's ecosystem. While in NFT games, players can own and trade their in-game assets as NFTs, which can have real-world value. **There is some overlap between these two types of web3 games.** It’s not unusual to find games that incorporate both DeFi and NFT elements into their gameplay. Ultimately, both DeFi games and NFT games represent exciting opportunities for gamers and investors alike, and are helping to drive innovation in the blockchain gaming space. ### **How do DeFi games work?** **DeFi games are blockchain-based games that strive to create a new kind of gaming economy based on decentralized finance principles. They allow players to earn cryptocurrency by playing the game and engaging in various financial activities such as staking, lending, borrowing, and trading.** The technical infrastructure of DeFi games is built on blockchain, which provides a secure and transparent way to store and transfer value. The most common blockchain platforms used for DeFi games are [Ethereum](https://www.alchemy.com/list-of/web3-games-on-ethereum) and [BNB Chain](https://www.alchemy.com/list-of/web3-games-on-bnb-chain). DeFi games often have their own native tokens that are used for gameplay and financial activities. These DeFi tokens are typically issued on the blockchain platform used by the game and can be traded on [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base). Players can earn these tokens by participating in the game and performing various activities such as completing quests, defeating enemies, or staking tokens. #### 1. Smart contracts Smart contracts are used in DeFi games to manage game logic, token economics, and financial transactions. For example, a smart contract can be created to manage the staking of tokens in a game. When a player stakes their tokens, the smart contract automatically locks them up and issues a new token representing the stake. When the staking period ends, the smart contract releases the original tokens and distributes rewards to the player. #### 2. Use DEXs DeFi games also use decentralized exchanges \(DEXs\) to enable the trading of game tokens. DEXs are platforms that allow users to trade cryptocurrencies without needing a centralized intermediary. #### 3. Lending and borrowing In addition to staking and trading, DeFi games also incorporate lending and borrowing. Players can lend their tokens to earn interest or borrow tokens to use in the game. Lending and borrowing are facilitated by smart contracts that automatically manage the borrowing and repayment process. ## **How do people make money playing DeFi games?** Most DeFi games follow the [Play-to-Earn \(P2E\) model](https://www.alchemy.com/overviews/play-to-earn-games). Naturally, game developers design multiple ways for players to make money while gaming such as trading collectibles, providing gaming rewards, offering staking and yield farming rewards, and hosting competitions. ### **1. Collectibles trading** Many DeFi games offer in-game collectibles that can be bought, sold, and traded on blockchain-based marketplaces. These collectibles are often unique and limited in number, making them valuable to collectors. ### **2. Gaming rewards** Some DeFi games offer rewards to players for participating in the game. These rewards can be in the form of in-game currency \(cryptocurrencies\) that can be exchanged for real-world money. For example, in the popular game **[Axie Infinity](https://www.alchemy.com/dapps/axie-infinity)**, players can earn the game's in-game currency, $SLP, by completing battles and quests. The $SLP token can then be exchanged for cryptocurrencies on [crypto exchanges](https://www.alchemy.com/dapps/best/crypto-exchanges). ### **3. Staking and yield farming** DeFi games often incentivize players to lock up their tokens in order to earn rewards or participate in governance. This process is known as staking or yield farming. Staking involves holding a certain amount of cryptocurrency in a wallet to receive emission-based rewards. For example, in the game [Aavegotchi](https://www.alchemy.com/dapps/aavegotchi), players can stake their $GHST tokens to earn rewards in the form of more $GHST tokens. ### **4. Competitions and tournaments** Many DeFi games offer competitions and tournaments with prizes in cryptocurrencies. These competitions can provide gamers with significant amounts of money paid out in cryptocurrencies. For example, in the [NFT card game Gods Unchained](https://www.alchemy.com/overviews/nft-card-games), players can compete in tournaments for prize pools as high as $70,000 in cryptocurrencies. ## **DeFi games examples** Aavegotchi, Crabada, and Space Six are three DeFi games. This section will explain their gameplay and tokenomics so you can understand how they work. ### **1. Aavegotchi** [Aavegotchi](https://www.alchemy.com/dapps/aavegotchi) is an Ethereum-based game that was created by Pixelcraft Studios and designed to be a fun and interactive way for players to earn rewards while participating in DeFi activities. #### ‍**Gameplay** In Aavegotchi, players can collect and trade NFTs called Aavegotchis, which are ghost-like creatures that live in the game's virtual world. Players can earn rewards by staking Aave tokens to generate yield, which can then be used to purchase and upgrade their Aavegotchis. Players can also participate in mini-games, quests, and challenges to earn additional rewards. #### **Tokenomics** Aavegotchi has its own native token, called $GHST, which is used as a medium of exchange within the game. Players can use $GHST to buy and sell Aavegotchis on the game's marketplace, as well as to purchase in-game items and services. The $GHST token can also be staked to earn rewards, which are distributed to players based on their contributions to the game's ecosystem. The more $GHST a player holds and stakes, the more rewards they can earn. ### **2. Crabada** [Crabada](https://www.alchemy.com/dapps/crabada) is a web3 game on the Avalanche blockchain featuring NFTs of fierce fighting hermit crabs. Players rise to the challenge by taking down powerful foes and investing by buying more NFTs to turn greater profits. #### **Gameplay** In Crabada, players collect and train NFT hermit crabs to fight in battles against other players or AI opponents. The crabs have unique stats and abilities that can be improved through training, and players can earn rewards for winning battles. Additionally, the game features idle mechanics, allowing players to continue earning rewards even when they are not actively playing. #### **Tokenomics** Crabada's tokenomics are designed to create demand for the game's NFTs. Players can earn the game's native token, $CRAB, by participating in battles and other in-game activities. The token can then be used to purchase new hermit crab NFTs or to upgrade existing ones. The game also includes a staking system, where players can earn additional $CRAB by staking their NFTs. ### **3. Space six** Space Six is a Play-to-Earn \(P2E\) game developed on the BNB Chain. It is designed to maximize potential earnings for players. It is one of the many NFT games available on the BSC ecosystem. With its Explore-to-Earn feature, players can earn rewards by exploring the game's virtual world and discovering hidden treasures. Sep / Oct

", tooltip: "", icon: "" }, "2": { title: "

Site and public pre-sale launch
Staking platform for lands and planets
Airdrop phase 1
White paper release

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Nov / Dec

", tooltip: "", icon: "" }, "2": { title: "

NFT Pre-sale phase 2
Lunch pad listing
Multi-chain NFT and payment (on BSC & Polygon)

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Jan / Mar

", tooltip: "", icon: "" }, "2": { title: "

Alpha version game release part 1 (Build & and preparation for explore)
Open marketplace for trading NFT
Animation & 3D planet on market place
White paper update
Roadmap update
Application platform for Android
IOS Mac Windows

", tooltip: "", icon: "" }, id: 2, }, ], }} /> ‍ #### **Gameplay** In Space Six, players can purchase NFTs and use them to explore the game's virtual world, where they can collect resources, craft items, and battle against other players. The game also features an augmented reality \(AR\) upgrade, allowing players to check their NFTs using their phone's camera and show them to others in real time. #### **Tokenomics** Space Six uses the BEP-20 token standard on the BNB Chain. The game's native token, $SIX, is used for in-game transactions, such as buying and selling NFTs, crafting items, and participating in battles. Players can earn $SIX tokens by participating in the game's Explore-to-Earn feature or by staking their NFTs in the game's staking pool. ## **Start playing DeFi games** DeFi games are an exciting new development in gaming, offering gamers a unique and immersive experience that combines the innovation of decentralized finance with the fun and engagement of online gaming. While DeFi gaming is still in its early stages, it has already shown significant promise in terms of providing players with new ways to earn and engage with games. As the technology continues to advance and more game devs and players enter the space, expect to see more innovative and exciting DeFi gaming experiences. --- # How to Identify Issues in Your Dapp Quickly and Deploy Fixes URL: https://www.alchemy.com/overviews/developer-dapp-monitoring-tools.md In the [dynamic world of decentralized applications](https://www.alchemy.com/dapps), swift identification and resolution of issues are critical to maintaining a seamless user experience and fostering customer trust. The key lies in transforming traditional reactive troubleshooting into proactive health management of your [apps](https://www.alchemy.com/dapps/top/defi-dapps) through data-driven engineering. ## **What is unique about data-driven engineering in Web3?** Data-driven engineering involves making decisions based on hard data instead of hunches or gut feelings. Data-driven engineering empowers engineering teams to predict, understand, and solve problems before they affect end-users. ### **What are the challenges of data-driven engineering in Web3?** Despite the immense potential that data-driven engineering offers, at present many web3 developers find themselves stuck in a reactive mode because of challenges such as a lack of proper tooling, the complexity of web3, and 24/7 nature of the blockchain industry. #### **1. Lack of Web3 observability tools** The lack of effective web3-specific monitoring tools means that issues often go undetected until they start affecting end-users, leading to frantic scrambles to deploy fixes. Web3 developers frequently end up sacrificing their peace of mind and nights of sleep, as they resolve active issues, which lead to downstream effects: 1. Users have a poorer experience 1. Developers are consistently working in high-stress, high-stakes scenarios 1. Issue fatigue threatens the overall success of the dapp #### **2. Traditional tooling does not cover the complexity of Web3** Moreover, the situation is exacerbated by traditional analytics tools that, despite their strengths in other domains, often fail to serve the unique needs of web3.  These tools don't capture the depth and breadth of data that developers require to anticipate and mitigate issues in a decentralized environment.  From user interactions to smart contract executions to token transfers, the world of web3 requires monitoring and analytics that can handle its multifaceted complexity. ### **What are the advantages of data-driven engineering tools?** The three main advantages of data-driven engineering tools are: proactive issue management, performance optimization, and enabling engineers to make more informed decisions. #### **1. Proactive issue management** Real-time data helps in detecting potential problems early and mitigating them before they impact users. Potential issues that can be flagged early on range from performance bottlenecks to abnormal user behavior. Some examples include: - API consumption limits being hit during peak times - Utilized nodes being out of sync - Third party providers being unavailable - Blockchain congestion - Bugs in the frontend being deployed to production causing transactions to fail - Detecting bad actors trying to interact with your smart contracts A real world example was a dapp deploying a feature update into production leading to a significant increase in failed transactions, costing gas to the users without transactions successfully executing.  After being alerted about this spike, the engineering team could quickly find the root cause, which was a bug in the dapp’s frontend trying to call a smart contract function by passing a hardcoded parameter that consistently violated a revert statement in this function.  As the revert statement did not include an explanatory revert reason, finding the root cause without an observability tool would have impacted a larger number of their users.  #### **2. Performance optimization** Analyzing data can help identify bottlenecks and inefficiencies, leading to optimized performance and a better user experience. Such performance issues include slow smart contract execution, oracle latency issues, inefficient resource usage, and issues with interoperability across [the web3 stack](https://www.alchemy.com/overviews/web3-stack).  In a concrete instance, a development team using Blocktorch identified a recurring inefficiency within their dapp where a specific smart contract was causing higher-than-normal gas fees due to its complex nature.  With this information, the dapp developers were able to refactor the smart contract to streamline its execution and significantly reduce gas fees. This efficiency gain not only enhanced the performance of their dapp but also resulted in cost savings and UX improvements for their users. This scenario illustrates how data-driven insights can lead to tangible benefits and a competitive edge in the Web3 landscape. #### **3. Informed decision making** Teams can make better decisions about feature development, resource allocation, and system enhancements by using insights derived from data.  Observability provides visibility into how users interact with different features of the dapp and trends in usage over time. Such information can for example be the specific chains that are used more than others by your users \(for best user experience, ensure the most used chain in your dApp is the default chain\) as well as comparing this information to competing apps.  Another example is optimizing support for specific browsers or wallets that an increasing number of users are using.   ## **3 tools to help monitor engineering issues in Web3** To become more data-driven as a web3 engineering team, it's crucial to incorporate tools that provide observability and in-depth data analysis. Here are a few tools that can help web3 engineers have great observability and monitoring into their applications. ### **1. Alchemy monitor** [Alchemy Monitor](https://www.alchemy.com/monitor) provides a comprehensive suite of dashboards for monitoring and analytics to understand dapp user behavior and Alchemy API health and performance.  Monitor allows dapp developers to evaluate their API usage analytics by call type in order to better understand how to optimzie and debug their programs. It also provides a platform for creating alerts and digests about your application’s activity. ### **2. Blocktorch** [Blocktorch](https://www.blocktorch.xyz/) is an Alchemy Ventures portfolio company that provides blockchain developers with end-to-end insights into apps. Positioned as a full stack monitoring platform for web3 applications, blocktorch delivers an unrivaled breadth and depth of insights including frontends, blockchain transactions, smart contract performance, and each layer of the web3 stack. Blocktorch enables engineering teams to not just react to real-time data, but also anticipate potential issues. They take proactive management a step further by identifying patterns, spotting anomalies, and visualizing these insights in a format that's simple to interpret.  This empowers teams to not only comprehend the complete health of their dapp but also make informed decisions and deploy rapid fixes. ### **3. Tenderly** [Tenderly](https://www.alchemy.com/dapps/tenderly) is a smart contract developer tool to build, test, monitor and operate smart contracts from development to adoption. The suite of tools support engineers to test their smart contracts thoroughly with a powerful transaction simulator before deploying to mainnet and to identify issues in production by finding the specific line of code in smart contracts that lead to issues.  ## **5 factors to consider before choosing a Web3 monitoring tool** When choosing a web3 observability and monitoring tool for your decentralized application, consider the following factors: coverage, real-time alerting, data interpretation, scalability, and integrations with other providers. ### **1. Comprehensive coverage** The tool should provide insights into every layer of your web3 stack, from user interactions to smart contract execution. Blocktorch gives engineers visibility into the frontend of their apps, the smart contracts developed by the engineering team and also other protocols integrated with, and on demand the used oracles and decentralized file storage.  In addition Blocktorch is interoperable with the web2 data standard Open Telemetry, to be usable in conjunction with any web2 observability tools in case the application is only partly decentralized but still relies on cloud services.  ### **2. Real-time alerting** The tool should offer real-time alerts for potential issues, enabling the team to rectify them before they escalate. Some of the most frequently used alerts set up by web3 engineers are: - Average time of transactions pending in the mempool - Percentage of dropped and failed transactions - Sudden drops in usage which indicates potential faulty functionality - Spikes in gas fees especially in relation to overall network gas cost  All the listed examples directly impact the users as either their cost of using the dapp increases and they look for cheaper alternatives, or they face issues using the dapp which leads to churn.  ### **3. Easy data interpretation** Look for tools that provide easy-to-understand data visualizations and actionable insights.  Out-of-the box dashboards provide insights in very short time, custom dashboards give engineers the flexibility to monitor exactly according to the team's needs. The optimal tool should support both. Dashboards offer a bird’s eye view on the systems to understand trends, spikes and liveness to then dive deeper into.  ### 4. Scalability As your dapp grows, the monitoring tool should be able to scale up seamlessly. For example, if your dapp is adding support for a new blockchain network, your monitoring tool should similarly be able to extend to the new chain.  The tool and its pricing tiers should also be scalable itself, so the real-time functionalities work also when your dapp experiences an increase in usage.  ### **5. Integration** The tool should integrate smoothly with other tools and services your team uses. For example, integrations with IDEs for smart contract deployments as well as API providers for nodes and other services can be helpful for a smooth observability experience and the richest data.  ## **Conclusion** Adopting a data-driven approach is imperative for web3 engineering teams to deliver a seamless user experience. Tools like Alchemy and blocktorch, with their advanced observability features, play a crucial role in enabling teams to identify and rectify issues swiftly. --- # What is Digital Asset Tokenization? URL: https://www.alchemy.com/overviews/digital-asset-tokenization.md ## What is tokenization? **Tokenization leverages blockchain technology to improve upon inefficiencies in the traditional finance market including the illiquidity of physical assets and the high cost of securitization.** The market for tokenized [real world assets \(RWAs\)](https://www.alchemy.com/dapps/top/real-world-asset-dapps) onchain is forecasted to reach upwards of [$16 trillion by 2030](https://www.binance.com/en/feed/post/377020). ## What are the benefits of tokenization? Tokenization is a powerful [blockchain use case](https://www.alchemy.com/use-cases) that will increase the liquidity, composability, and transparency of nearly all valuable physical assets and securities.  ### The capital efficiency case for mass adoption of tokenization Assets with identical cash flow distributions that would otherwise have the same value, differ by up to 25% in market value when comparing liquid and illiquid assets. In fact, when the illiquidity horizon is 30 years \(such as with large real-estate developments, industrial plants, or mining rights\), [the difference in the relative valuation between the two assets can be as much as 43 percent](https://www.anderson.ucla.edu/documents/areas/fac/finance/longstaff_asset_pricing.pdf).  For this reason, the most capital efficient primitives will be adopted by the market over the long term. Today, securitization is widely used to increase capital flow, but tokenization is beginning to show clear benefits over securities. Tokenization on public blockchains such as Ethereum allow for novel access to untapped liquidity pools and lucrative new financial primitives being developed by the rapidly-growing decentralized finance \(DeFi\) industry. Blockchain connects retail investors and the balance sheets of large corporations alike by providing new sources for yield.  Corporations currently seek out large institutional purchasers of assets such as carbon-credits, while blockchains allow the seamless transfer of these industry-specific assets within a global marketplace to other institutional or retail investors. This $1.16 trillion market still faces the same liquidity and composability issues as other traditional assets. The total value of physical assets is upwards of $520 trillion. Of these, the largest components are traditionally illiquid assets such as natural resources, real estate, and infrastructure.  ### What are the composability benefits of blockchain tokenization? Financial markets are heavily siloed by asset types, geography, industry, and regulations leading to inefficient markets.  Blockchain technology enables instantaneous, global settlement of composable tokenized assets within these distinct, siloed markets. There are currently trillions of dollars in capital inefficient markets that stand to be disrupted by the innovation of blockchain.  Securitization has high costs from underwriting, transacting, and legal proceedings. Tokenization offers a far cheaper, digital, and more scalable solution through smart contract based validation and execution.  The Ethereum blockchain’s computational language, EVM, contains the dominant amount of capital and composability. Digital assets on Ethereum natively integrate with thousands of [apps](https://www.alchemy.com/dapps/top/defi-dapps) and DeFi protocols.  [Private blockchains](http://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) are currently in use by JPMorgan and Blackrock for the interchange of assets. Private \(permissioned\) blockchains are secure, enterprise grade blockchains with shared infrastructure for the exchange of assets and resources within a closed pool of partners. Public \(permissionless\) blockchains like Ethereum are open for public participation. JPMorgan and Blackrock’s foray into tokenized collateral settlements on the permissioned Tokenized Collateral Network \(TCN\) indicates a shift towards a more composable solution for physical asset management within corporations. JPMorgan Onyx’s initiative to tokenize collateral infuses traditional assets with greater composability within their permissioned ecosystem and unlocks new pools of liquidity.  ### What are the transparency benefits of blockchain tokenization? Blockchain technology's transparency benefits are well-documented, providing institutions with a robust and immutable ledger system that ensures trust, security, and operational efficiency in financial transactions. Maintaining and propagating accurate and up-to-date records between centralized, siloed marketplaces can be difficult and resource intensive. Financial products lacking transparency in asset health, quality, and history lead to capital inefficiencies.  The 2008 financial crisis was propagated by the obfuscation of low quality mortgages buried deep within AAA-rated bonds. The lack of transparency surrounding the individual assets in MBSs made it impossible to evaluate health or quality of the security, leading to high risk investments. The transparency of permissioned and permissionless blockchains lends to preventing similar catastrophes from happening in the future. Using blockchain reduces overhead costs for transacting parties by eliminating redundant transaction data and validating transactions on a common ledger. Transparency in financial and procurement functions [can help drive costs down by 11%](https://www.supplychaindive.com/news/procurement-leaders-transparency-risk/571847/) for corporations and provide insight into customer and client asset history. ## What are the most popular use cases for tokenization? There are many different use cases for tokenizing real world assets such as [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), credit, bonds, and more. ### Private credit and collateral JPMorgan’s Onyx, an Ethereum based permissioned blockchain, has processed close to $700 billion in short-term loan transactions and has been revolutionizing interbank settlement with entities from around the world. Their partnership with Blackrock and Barclays marks the first collateral settlement for a live client over-the-counter \(OTC\) derivative transaction.  By tokenizing assets on the Tokenized Collateral Network, institutions are able to interface with blockchain settlement technology to transfer ownership of digital assets as collateral, unlock new pools of liquidity, and take advantage of token transaction programmability and immutability. Bringing private credit onchain provides a line of credit in the form of stable currencies to emerging markets plagued with currency debasement. Lenders are able to collect stable yield from a previously untapped market. With the private credit market sitting at ~$1.5 trillion and expected to grow to $2.3 trillion by 2027, building solutions that leverage tokenized collateral is a highly lucrative opportunity.  ### Treasury and bond market In 2021, [Franklin Templeton](https://www.alchemy.com/dapps/franklin-templeton-benji) launched the first tokenized US mutual fund on the Stellar network. Tokenizing bond and treasury funds allowed Franklin Templeton to earn fees for injecting liquidity into the web3 ecosystem via US treasuries. Their early entry advantage made them a juggernaut in the blockchain treasury market with over $300 million in assets under management in their tokenized money market fund.   Tokenizing treasuries and bonds onchain is the gold standard of real world asset tokenization. The stability of tokenized United States debt reduces trading volatility within web3 markets and is a safe haven for onchain investors. The existence of stable, high yield bearing assets onchain also provides a good benchmark to track the health of DeFi markets. Tokenizing bonds increases their composability and liquidity.  ### Fiat currency Within less than a decade of operation, [Circle](https://www.alchemy.com/dapps/circle) is approaching annual profits of $1 billion by issuing a tokenized version of the U.S. Dollar. Circle’s product, USDC, is an onchain token backed by dollars and treasuries held by Circle. Stablecoins are a superior Dollar, capable of digital programmability and composability within DeFi protocols. Stablecoins also provide stability to refugees of war and inflation instantaneously across the world.  ### Public equity Demand for the onchain expansion of the hundred trillion dollar public equity market is immense. Tokenization of public equity brings stocks and securities onchain in the form of digital assets. The ability to seamlessly transact tokenized public equity without intermediaries, long processing times, or borders is an undeniable advantage over traditional securitization.  Tokenization of public equity has been difficult due to heightened government regulations and scrutiny. Once regulations are made clear, the business opportunity will be unmistakable.  ### Real estate Losing the title to your property could result in significant financial and legal complications. Such antiquated processes are ripe for disruption in the digital age.  High quality, prime mortgages have been a highly sought after investment vehicle for institutional and retail investors. The introduction of mortgage-backed securities \(MBS\) provided investors with a means to invest in these fixed income assets without direct exposure to any one mortgage or involvement in the mortgage process at all. Tokenizing mortgages, either directly or through securitization, provides liquidity to the housing market and transparency to investors. The real-estate crowdfunding company HoneyBricks has taken a unique approach in this field, offering fractional ownership in multi-family real estate that pays yield derived from rent. ## How to choose a blockchain infrastructure partner When tokenizing assets it is important to decide between deploying on a permissioned or permissionless blockchain. Permissioned blockchains excel at providing shared infrastructure for corporations looking to share assets and resources within a closed pool of partners. Permissionless blockchains allow for public participation and typically enjoy greater decentralization and liquidity.  Once an asset class has been identified for tokenization, an in depth analysis must be conducted to verify legality and regulations surrounding tokenization and accurately appraise economic value of the assets.  The development of permissioned blockchain requires an infrastructure partner with enterprise grade blockchain architecture and/or existing hardware for node deployment. Though less demanding, deploying on a public blockchain still relies on [RPC infrastructure, blockchain specific SDKs, and tooling available through enterprise grade infrastructure providers](https://www.alchemy.com/overviews/choose-enterprise-blockchain-infrastructure).  Real world asset tokenization requires high quality, real-time data to satisfy smart contract \(onchain logic\) functionality. Oracle providers play a crucial role in the sustainment of onchain assets and is one of many factors to consider when choosing a blockchain infrastructure partner. --- # What is a dynamic NFT (dNFT)? URL: https://www.alchemy.com/overviews/dynamic-nft.md Non-fungible tokens \(NFTs\) have generated billions in sales for things like digital art, games, sports cards, music and more. When most people think of NFTs, they often think of a static image, video or multimedia asset. But, [dynamic NFTs](https://www.alchemy.com/docs/alchemy-quickstart-guide) \(dNFTs\) are growing in prominence. In this post, we will describe what dynamic NFTs are, as well as actual and potential dNFT use cases, and how those desiring to build dNFTs can use oracles to access trust-minimized off-chain data and computation.  ## What is a dynamic NFT? **A dynamic NFT is a non-fungible token that can change based on certain circumstances.** Due to their ability to adapt and change in response to external events and data, dNFTs are expanding the design space that NFTs can handle. At the moment, the most common use of NFTs is in digital art where an artist creates a token that represents a digital work of art, such as a [1-of-1 NFT](https://www.alchemy.com/overviews/solana-1-of-1-nfts), and a collector can buy this token to prove ownership. When new NFTs are made, the tokenIDs don't change. Remember that you don't have to give any information about an NFT, like its description, picture, or other features. An NFT is, at its most basic, a movable token with a unique identifier called a tokenID. This static NFT model helps digital artists all over the world in a number of ways. Before, digital artists couldn't stop or even track the illegal spread of their original works of art because there was no way to tell the difference between any two files. This meant that no single original file could be kept. For the first time in the history of the Internet, creators can sell digital art to their fans if they can prove ownership. Fans can also prove ownership of an original piece of art, even if the picture underneath it is copied. Static NFTs are now used in most [generative NFT art projects](https://www.alchemy.com/overviews/solana-generative-nfts), play-to-earn games, and digital collectibles. In addition to these use cases, they offer a unique value proposition for the digitization of real-world assets like real estate papers, patents, and other unique identifiers. But this strategy is limited by the fact that static NFTs can't be changed once they are put on a blockchain and their metadata can't be changed. Some examples of why someone would want an NFT that requires data updates include:  - Tokenizing real-world assets - Making video games that progress - Building fantasy sports leagues on the blockchain - And much, much more. Dynamic NFTs let NFTs keep their unique IDs while also getting updated information. A dynamic NFT is one that can change in response to something outside of it. Change in a dNFT usually means that a smart contract has changed the metadata. This is possible because the NFT smart contract has automatic updates that tell the underlying NFT when and how its information should change. ## How does a dynamic NFT \(dNFT\) work? The enabling technology is smart contracts, which allow the growth of dynamic NFTs by letting them use both off-chain and on-chain calculations. When a user asks for an NFT, smart contracts look at both off-chain and on-chain data to decide what to tell the user. 1. First, an NFT request is sent to a smart contract 1. The smart contract looks for information on the blockchain 1. The contract asks an oracle for information that is not on the blockchain 1. The smart contract then sends back one or two pieces of media This means that smart contracts make it possible for NFTs to be changed over time. So, smart contracts use both off-chain and on-chain data to figure out if a non-fungible token should change and, if it should, update the metadata of a dynamic NFT. ## How are oracles used in dynamic NFTs? Aside from metadata updates, dynamic features can occur. For example, dynamic NFTs can be made when certain things happen, like when a hidden location in an augmented reality app is found.  In addition to information, dNFTs may have "hidden features" that become clear when the user interacts with them. Tokens like NFTs that are completely unique and can be set up in different ways can be programmed in an endless number of ways. Most dNFTs, though, must include some kind of metadata change so that users who aren't tech-savvy can "see" the changes. A part of dNFT design that is often overlooked is how to get the data and features needed to make a secure, fair, and automated dNFT process. External variables, both on and off the chain, can change dNFT metadata in more than one way. Blockchains, on the other hand, can't access or process data that isn't part of the chain. Oracles gets around these problems by offering a variety of off-chain data and computing services that can be used to trigger dNFT upgrades. Oracles act as a bridge between the two worlds. It makes it possible to make dNFT processes that are automated, decentralized, and even “fun” as the dNFT ecosystem grows and NFTs become more connected to the real world. ## How to create a dynamic NFT \(tutorial\) Before you start making your own dynamic NFTs, choose your item, its variables, and which chain you want to use. For example, you may want to choose an Ethereum NFT that changes pictures based on the price of ETH. When the price of ETH is going up, the NFT image is a bull, and when the price of ETH is going down, the NFT image is a bear. Once you have your plan, it's time to set up your developer environment. ### Tools for creating a dNFT To get started, make sure you have the required tools:   - [A free Alchemy account](https://alchemy.com/?a=990c6ced09) - IDE - Access to the [dNFT tutorial's Github repo](https://github.com/zeuslawyer/chainlink-dynamic-nft-alchemy) - IPFS companion  - A faucet and testnet tokens Once you're environment are setup, here are the basic steps to building a dNFT with Alchemy. ### Steps to create a dynamic NFT This is a brief outline of Alchemy's [dynamic NFT tutorial](https://www.alchemy.com/docs/alchemy-quickstart-guide) that changes it's design based on market prices. 1. Set up the ERC721 token  1. Upload the NFT image links in the IPFS URIs  1. Complete a compile check 1. Make the NFT contract “Keepers Compatible”  1. Have the smart contract interact with [Chainlink](https://www.alchemy.com/dapps/chainlink) Price feeds that will change the NFT based on your defined variables \(in this case, market prices\).  1. Test your dNFT to see if it is dynamically updating as expected.  1. Mint and deploy your dNFT! This is a simplified version of how to create a dNFT. For the full version, read our step-by-step guide. ## Popular dynamic NFT examples LaMelo Ball is a professional basketball player who has released eight different **LaMelo Ball NFTs**. Each one of his dNFTs keeps track of a different set of his stats, such as rebounds, assists, and points scored, and changes based on his game statistics. For example, if he gets 10 assists in a game, the NFT could change to a different background color. Based on how well LaMelo keeps doing, dynamic NFT holders can get into unique raffles and get other NFT-only benefits. One of these eight NFTs, the **Gold Change NFT**, came with a condition: if LaMelo Ball won Rookie of the Year for the 2021 NBA season, the NFT would be changed. After LaMelo won, the NFT changed into a different image entirely. Another example is **Regenerative Resources \(RRC\)**, which is an ecosystem services company whose goal is to turn land that has been damaged into marine environments that can make money. RRC announced the release of five Short Film NFTs made by well-known artists. The money made from the sales will be used to plant and grow 100 million mangroves through RRC's existing projects. The first thing in each Short Film NFT will be one frame. When an NFT is bought or sold, the short film is shown frame by frame until the NFT holder can see the whole thing. --- # How to Deter Solana Mint Bots with Dynamic Pricing Mints URL: https://www.alchemy.com/overviews/dynamic-pricing-nft-mints.md [Strata](https://www.alchemy.com/dapps/strata) Protocol is a collection of tools for creating NFTs and SPL tokens that make it easy for NFT projects and creators to safely launch NFTs with protection against bots, and launch social tokens without having to worry about the complexities of managing liquidty. In this article we will explain the challenge that NFT bots create, previous mechanisms for combatting bots, and how Strata Protocol's new Dynamic Pricing Mint tool in conjunction with Candy Machine v2, one of many [NFT tools created by Metaplex](https://www.alchemy.com/overviews/metaplex), is a promising solution to Solana's NFT bot problems. ## **What are Solana mint bots?** **Solana mint bots are automated software programs that attempt to mint as many NFTs as possible as soon as a new NFT project launches.** Unlike a human user who mints one NFT at a time, bots call Solana programs \(i.e. smart contracts\) directly to mint many NFTs consecutively. **The problem with NFT bots on Solana are multiple:** 1. Bots exclude honest participants 1. Bots degrade the network 1. NFTs minted by bots are often sold back immediately at a higher price While all blockchains suffer from bots, Solana especially suffers from NFT bots due to the low gas fees and high transactions per second. Bots can call the Solana programs multiple times to mint NFTs at the mint price rapidly, with a trivial gas penalty for failed transactions. Comparatively, NFT bots on Ethereum cause gas prices to spike which has more economic penalties from trying to automate the mint process. ## **What are solutions to Solana mint bots?** Solana developers have introduced numerous fixes and new protocols to combat bots including [Metaplex](https://www.alchemy.com/dapps/metaplex)'s Fair Launch Protocol \(FLP\), and captcha setting among others. ### Fair launch protocol \(deprecated\) Developed as a social trust experiment in late 2021, the **Fair Launch Protocol \(FLP\)** attempted to protect the NFT community from bots by allowing creators to set a range of prices for NFTs and minters would then bid on NFTs within that range. FLP has a three-phase lottery process to determine minters: 1. Buyers set the mint price they were willing to pay 1. The "Fair" price was determine by the median price 1. Buyers willing to pay the "Fair" price were entered into a lottery The first phase is buying a lottery ticket within a day of the FLP launch date. Users can pay whatever price they believe the collection’s NFT is worth. That price for the ticket must fall within the range set by the collection creator. In the second phase, FLP calculates the median price of tickets purchased. Then, it offers that median price as the final price of each NFT in the collection. Users who bought tickets can now accept or reject the offer, either paying the price difference or getting a refund. In the last phase, NFTs are distributed to the users who accepted the price offer. If demand exceeds the collection’s total supply, FLP randomly selects the lucky receivers. This “lottery” happens off-chain, and the NFTs were delivered on a pre-set delivery date. Unfortunately, the Fair Launch Protocol proved to be a game-able solution during the **Degenerate Trash Pandas mint in November 2021**. While the mint price range was set to 0.1 and 10 SOL, all buyers coordinated to only pay 0.1 SOL for the tickets. Eventually, the collection minted at 0.1 SOL and showed that, when buyers know the range, they have the ability to self-organize to aggregate bids at the lower bound of the range. ### **Candy machine v2** In the widely anticipated release of [Candy Machine v2](https://www.alchemy.com/overviews/candy-machine-v2), one feature stood out to prevent NFT bots: Captcha settings. By adding a Captcha \(**Completely Automated Public Turing test to tell Computers and Humans Apart\)**, NFT collections created with Metaplex's Candy Machin v2 could force only captcha-passed addresses to mint. This effectively prevents bots as they are incapable of completing sophisticated captchas like matching images to an object name. In particular, CM v2’s configuration included the _gatekeeper_ setting that “enables captcha verification for users before minting.” Creators could use existing captcha services like **Civic** to seamlessly provide captcha services for human users. While this solution is now widely adopted and proven effective to some degree, there still exist gameable components. For example, blackhat Solana developers can build NFT minting tools to circumvent captchas and mint with bots. There have been multiple NFT projects that built such tools including Cyber Keys and Solana Research Labs. CM v2 has no measure against advanced bots that can complete or bypass captchas. If the captcha is bypassed, NFT bots can exploit the mint especially because the NFTs have a constant mint price \(a restriction of CM v2\). ## **What is strata's dynamic pricing mint tool?** **Strata's "Dynamic Pricing Mint" prices NFT mints based on supply-and-demand using a Liquidity Bootstrap Curve where the starting NFT mint price begins high and gradually declines over time if no one buys the NFT at that price. Each time an NFT is purchased, the price increases.** Strata's Dynamic Pricing Mint mechanism enables a natural price discovery process: as the mint price goes down, demand increases, and where supply and demand converge is the NFT's fair price according to the market. Since the NFT mint price changes based on buying behavior, NFT bots can’t simply mint all of the NFTs at once or they will be charge premiums for each additional NFT they try to mint. ### **What is a bonding curve and liquidity bootstrapping curve \(lbc\)?** A bonding curve “sets the price of a token relative to the supply of that token,” and allows users to buy and sell tokens without liquidity providers, whereas a Liquidity Bootstrapping Curve \(LBC\) allows NFT creators to “bootstrap liquidity by selling tokens with a dynamic price discovery mechanism.” Bonding Curves and Liquidity Bootstrapping Curves are the two core innovations behind Strata's Dynamic Pricing Mint tool, and enable NFT developers to safely launch NFT projects with protections against bots. **Bonding curves** are most notable in Automated Market Makers, like [Uniswap](https://www.alchemy.com/dapps/uniswap) where users can buy and sell new tokens from a pool of liquidity without a matching engine to match buyers and sellers. Instead, the price of a token is determined relative to the supply of that token. The more assets purchased from a liquidity pool, the more each additional token costs. A **Liquidity Bootstrapping Curve \(LBC\)** is an existing idea similar to Balancer’s Liquidity Bootstrapping Pools \(LBP\), where prices start high, decrease over time, and increases with every new purchase. These two innovations build a framework for Strata’s ultimate solution against NFT bots: Dynamic Pricing Mints. ## **How to launch a dynamically priced NFT with strata's launchpad** Strata provides an intuitive way for NFT creators to use Dynamic Pricing Mints for their tokens. Before you start building your dynamically priced NFT mint, you will first need to [create a Candy Machine](https://docs.metaplex.com/guides/archived/candy-machine-v2/creating-candy-machine) for your NFT project. After you created your Candy Machine and have your Candy Maching ID \(CMID\), visit the [Strata Launchpad](https://app.strataprotocol.com/launchpad) and select “Dynamic Pricing NFT Mint." Next, fill out the form to create a Liquidity Bootstrapping Curve for your NFT drop. Once created, the LBC will automatically connect to the existing Candy Machine and provide a token mint, which will dynamically set the price for the NFT minting. For a complete tutorial on [how to launch a dynamically priced NFT mint](https://www.youtube.com/watch?v=i28CwS1QYAo) with an allowlist using Strata and Candy Machine, watch Strata's tutorial on YouTube. ## **Protect your community from NFT bots** NFT bots can permanently damage an NFT project. Because of how much work is required to [successfully create an NFT project](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project), from building an authentic community, to designing NFTs, and creating utility, using Strata Protocol's Dynamic Pricing Mint tool can help protect your team and collectors. --- # EIP-3074 vs EIP-7702 vs ERC-4337: Complete Developer Guide URL: https://www.alchemy.com/overviews/eip-3074-vs-eip-7702-vs-erc-4337.md Ethereum’s wallet ecosystem is constantly evolving, sprinting toward a programmable future, with **EIP-7702** as a key step towards full account abstraction \(**ERC-4337**\). But to understand why 7702 is poised to reshape how we interact with Ethereum through** smart wallets**, we need to tip our hats to EIP-3074, a proposal that laid critical groundwork for 7702 to be what it is. If you’re a developer building [apps](https://www.alchemy.com/dapps/top/defi-dapps), you’ve likely grappled with the limits of Externally Owned Accounts \(EOAs\) - Ethereum’s traditional wallets controlled by private keys. EIP-3074 introduced a way for EOAs to delegate control to smart contracts \(invokers\), enabling features like gas sponsorship and batch transactions. EIP-7702 takes this further, offering a sleeker, safer path to account abstraction. For developers, this concept simplifies adding advanced functionality to apps while keeping users on familiar EOAs. For users, it means a smoother experience; think third-party gas payments or executing multiple DeFi trades in one click. In this guide, we will unpack 3074’s mechanics for context, showcasing 7702’s advancements with code, and comparing both to ERC-4337. Let’s dive in and get technical. ## The problem EIP-3074 aimed to solve EOAs are straightforward: they sign transactions with a private key and send them to the Ethereum network. But they’re limited. They can’t execute code, batch actions, or recover lost keys natively. Smart contract wallets \(enabled by ERC-4337\) offer more flexibility, but they require users to manage new addresses and often incur higher gas costs. EIP-3074 proposed a fix by introducing two EVM opcodes: `AUTH` and `AUTHCALL`, to let EOAs delegate control to invoker contracts, adding smart contract-like features without wallet migration. EIP-3074 was a proof of concept that shaped Ethereum’s account abstraction roadmap: from EOAs to Smart EOAs \(EIP-7702\) and ultimately full Smart Wallets \(ERC-4337\). Let’s explore 3074’s mechanics to understand how it paved the way. ## EIP-3074’s core components: the foundation for 7702 EIP-3074 revolves around three pieces: the `AUTH` opcode, the `AUTHCALL` opcode, and invoker contracts. These are worth understanding because 7702 builds on their principles. ### 1. The `auth` opcode The `AUTH` opcode \(`hex 0xf6`\) verifies an ECDSA signature from an EOA, proving it has authorized a specific invoker to act on its behalf. The EOA signs a message containing the invoker’s address and a commitment \(a hash of the actions to be performed\). If the signature is valid, the EVM sets an authorized context. Here’s a [Solidity](https://www.alchemy.com/overviews/solidity) snippet mimicking AUTH’s signature verification: This code validates the EOA’s intent to delegate control. Once authorized, the invoker can act as the EOA. ### 2. The `authcall` opcode `AUTHCALL` \(`hex 0xf7`\) lets the invoker execute transactions as the EOA, using the EOA’s address as the caller while the invoker can pay gas. This enabled gas sponsorship and batching in 3074. Here’s how you might use `AUTHCALL` in assembly: This snippet calls a target contract \(e.g., a DeFi protocol\) as the EOA. The `gas\(\)` function allocates remaining gas, and `AUTHCALL` ensures the action reflects the EOA’s identity. ### 3. Invoker contracts Invokers are smart contracts EOAs delegate to. EIP-3074’s invokers were persistent, raising security concerns that 7702 addresses. Here’s a 3074-style invoker for gas sponsorship and batching: ⚠️ **Security Note:** Invokers must be audited and carefully constructed. A flawed invoker can misuse signatures or replay actions. = estimateGas(targets, datas), "Insufficient gas funds"); } for (uint i = 0; i < targets.length; i++) { assembly { let success := authcall( gas(), mload(add(targets, add(32, mul(i, 32)))), mload(add(values, add(32, mul(i, 32)))), add(mload(add(datas, add(32, mul(i, 32)))), 32), mload(mload(add(datas, add(32, mul(i, 32))))), 0, 0 ) if iszero(success) { revert(0, 0) } } } } // Estimate gas for sponsored transactions function estimateGas(address[] memory targets, bytes[] memory datas) internal view returns (uint256) { uint256 totalGas = 21000; // Base transaction gas for (uint i = 0; i < targets.length; i++) { totalGas += 10000; // Approximate per call } return totalGas; } }`} /> 💡** Implementation Tip**: EIP-3074 invokers needed audits to prevent signature replays. EIP-7702 avoids persistent invokers, reducing risks. ## EIP-3074 vs. EIP-7702: why 7702 wins EIP-3074 was a bold experiment, but EIP-7702 and ERC-4337 are the future. Here’s a quick comparison: **EIP-3074 vs. ERC-4337** - **EIP-3074:** Added `AUTH` and `AUTHCALL` to the EVM, worked with EOAs but required invokers. - **ERC-4337:** No protocol changes; uses a separate mempool and bundlers for smart contract wallets. - **Takeaway:** 3074 was simpler for EOAs, but 4337’s flexibility makes it ideal for full abstraction. **EIP-3074 vs. EIP-7702** - EIP-3074: Persistent invokers posed security risks and lacked forward compatibility. - EIP-7702: Enables per-transaction smart contract features, aligning with 4337. - **Takeaway:** 7702 refines 3074’s ideas, offering a safer, more scalable path more closely aligned to the Ethereum AA roadmap. EIP-3074 introduced ideas that 7702 perfect, leading to an ecosystem aligned with the [Ethereum roadmap](https://ethereum.org/en/roadmap/pectra/7702/) for full account abstraction. 1. **Gas Sponsorship**: apps pay gas for users, lowering onboarding barriers. 1. **Batch Transactions**: Users combine actions \(e.g., token swaps and staking\) in one transaction. 1. **Recovery Mechanisms**: Users recover lost EOAs via trusted delegates. ## Start building with smart wallets EIP-3074 walked so EIP-7702 could run. While 3074 introduced groundbreaking ideas for EOA delegation, 7702 refines them into a safer, scalable solution, bringing us closer to Ethereum’s account abstraction endgame alongside ERC-4337. EIP-7702 is in Ethereum’s Pectra upgrade, with testnets active as of April 2025. Mainnet activation is live as of May 7, 2025, pending client adoption \([Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), Nethermind, etc.\). Meanwhile, ERC-4337 is already live, offering full account abstraction for smart contract wallets. Whether you’re optimizing dApp UX or crafting seamless user experiences, now’s the time to dive into 7702 and 4337. [Dive into the docs](https://www.alchemy.com/docs/wallets/react/quickstart) and [start building](https://dashboard.alchemy.com/services/smart-wallets/overview)! Reach out to us anytime for questions. We're here to chat integration strategy, technical implementation questions, trade-offs, and help you find the best solution for your app. Happy building! ## Frequently asked questions ### What is EIP-3074? EIP-3074 was a proposal that introduced two EVM opcodes (`AUTH` and `AUTHCALL`) to allow EOAs to delegate control to smart contracts called invokers, enabling features like gas sponsorship and batch transactions without requiring users to migrate to new wallets. ### How does EIP-7702 improve upon EIP-3074? EIP-7702 refines EIP-3074's concepts by enabling per-transaction smart contract features instead of persistent invokers, offering a safer and more scalable path that addresses the security risks associated with 3074's persistent delegation model. ### What is the difference between EIP-7702 and ERC-4337? EIP-7702 enables EOAs to temporarily delegate control to smart contract code during transactions, while ERC-4337 provides full account abstraction for smart contract wallets using an off-chain mempool and bundlers without requiring any protocol changes. ### Can EIP-3074 and ERC-4337 work together? Yes, they complement each other: EIP-3074 could enable EOAs to interact with ERC-4337 smart accounts for execution, providing benefits like gas sponsorship and improved user experience without requiring full migration to smart contract wallets. ### What are the security concerns with EIP-3074? EIP-3074's persistent invokers posed security risks by granting invokers significant control over EOAs, with potential vulnerabilities including signature replays and misuse of delegated authority that required careful auditing. ### Why was EIP-7702 chosen over EIP-3074? EIP-7702 was preferred because it addresses EIP-3074's security concerns with persistent invokers, provides better forward compatibility with ERC-4337, and aligns more closely with Ethereum's account abstraction roadmap. ### What features do these proposals enable for developers? These proposals enable gas sponsorship (apps paying gas for users), batch transactions (combining multiple actions in one transaction), and recovery mechanisms for lost EOAs via trusted delegates. ### Is EIP-7702 live on Ethereum mainnet? Yes, EIP-7702 went live on mainnet as of May 7, 2025, as part of Ethereum's Pectra upgrade, pending full client adoption across implementations like Geth and Nethermind. --- # Prepare for EIP-7702 and the Ethereum Pectra Upgrade URL: https://www.alchemy.com/overviews/eip-7702-ethereum-pectra-hardfork.md TL;DR? We get it. Check out [our series on X](https://x.com/Alchemy/status/1886965484383559972) for quick explainers and demos. [Ethereum's roadmap](https://ethereum.org/en/roadmap/pectra/7702/) towards mainstream crypto adoption is making waves with **[EIP-7702](https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets)**, included [**Pectra hardfork**](/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips). This upgrade marks a pivotal moment in Ethereum’s journey toward** account abstraction, **a breakthrough designed to make onchain experiences smoother, smarter, and more accessible. Specifically, EIP-7702 enables Externally Owned Accounts \(EOAs\) to use smart contract account features.  As developers, you’re the architects of the next generation of onchain innovation, and we’re here to ensure you’re equipped to leverage EIP-7702 to its fullest potential. As the builders of infrastructure[ powering millions of onchain applications](https://www.alchemy.com/), we’re here to help guide you.  This is the first post in our deep-dive series into EIP-7702, tailored specifically for application developers like you. Together, we’ll explore what makes this proposal so impactful, how it works under the hood, and the key technical considerations to help you decide how \(and why\) to integrate these cutting-edge features into your applications. Let’s build the future—one upgrade at a time. The tl;dr: - EIP-7702 enables EOAs to delegate control to smart contract accounts that can execute code directly from their addresses - It is compatible with the prevailing AA standard, ERC-4437, so existing wallets can become smart contract wallets without creating a new address and transferring assets - For users, it will enable web2-like features, including account recovery and passkey sign-in for easier authentication, and web3-benefits like gas-sponsored transaction fees and paying for gas in any token, not just ETH ## Current state of Ethereum accounts In May 2024, Vitalik Buterin introduced[ EIP-7702](https://eips.ethereum.org/EIPS/eip-7702), a proposal that can fundamentally change how Ethereum accounts work. What started as a 22-minute draft before an all core dev call is now included in the Pectra upgrade. EIP-7702 represents a crucial step toward full account abstraction while solving immediate usability challenges. But in order to understand where Ethereum is headed, we need to[ understand its current architecture](https://www.alchemy.com/overviews/what-is-account-abstraction).  Today, Ethereum users rely on two types of accounts: **externally owned accounts \(EOAs\)**, controlled by private keys, and** smart contract accounts \(SCA\)**, which execute code directly:  **Externally owned accounts**: - Can initiate transactions - Cannot execute code directly from their address - Limited to basic operations **Smart contract accounts**: - Can execute code - Cannot initiate transactions - More flexible and programmable The goal of EIP-7702 is to merge these two by letting _any account act like a smart contract_. By enabling EOAs to execute code directly from their address, Ethereum developers can build Web2-caliber UX onchain, with features including: - Session keys - Social recovery for accounts - Authentication mechanisms that don’t require a seed phrase - And batching multiple actions into a single click  Here’s what you should know about how EIP-7702 works.  ### What to know about EIP-7702 & ERC-4337 EIP-7702 doesn’t replace Ethereum’s existing AA standard, ERC-4337. EIP-7702 was designed to be complementary ERC-4337 and make it easier for those account abstraction features to reach users. But ERC-4337 does have one limitation:  - It required new wallet creation because it’s not backwards compatible with EOAs  **EIP-7702 removes this limitation** without deeper changes to the EVM’s consensus logic: - Uses existing wallets - Requires no new accounts or migrations  - Fits perfectly with ERC-4337’s infrastructure - Existing EOAs simply delegate smart contract logic via a delegation designator  ### Execution flow for EIP-7702 EIP-7702 relies on a clever delegation mechanism which relies on users to provide authorization for executing smart contract code. This authorization is permanent until explicitly revoked by the user, meaning users trust that the code they are authorizing isn’t malicious.  The execution flow is as follows: 1. **Setup**: EOA decides to delegate control to a smart contract wallet  1. **Validation**: System checks the delegation is properly signed 1. **Execution**: EOA receives smart contract capabilities 1. **Cleanup**: If EOA decides to revoke smart contract control, another 7702 transaction must be sent to set delegation back to 0.  EOAs are enabled to act like a smart contract account by storing a **delegation designator**. This designator is a special code, `0xef0100 \|\| address`, where the `address` points to a smart contract that contains the desired feature or action.  The delegation designator uses the banned opcode `0xef` to distinguish it from regular data, ensuring that code execution operations load the code from the designated address.  When a transaction is sent to the EOA, the EOA executes the code at the designated address, gaining the functionalities of a smart contract account.  ### Adoption and security considerations for application developers The road to adoption of EIP-7702 has one main dependency: wallet providers. Because wallets are upstream of applications, without wallet support, the features enabled by EIP-7702 cannot be leveraged by application developers and their users.  EIP-7702 also presents a different security model compared to smart contract accounts.  Primarily, EIP-7702 accounts retain their original EOA private key, which can override smart account security rules. How you integrate with the wallet functionality enabled by EIP-7702 should depend on a few factors: the development stage of your application, the type of users you target, and how much flexibility you need when deploying your application across multiple chains.    #### For developers with existing users and embedded wallets If you already have an embedded wallet, you're in luck. We will help you manage different user types through our [**smart accounts**](/smart-wallets): - Existing EOA users can upgrade to ERC-4337 accounts - New users can start directly with pure ERC-4337 accounts - The system will support both smart EOAs \(EOA\+7702\) and pure ERC-4337 accounts simultaneously #### For developers that haven’t yet deployed their application For new apps starting fresh: While ERC-4337 and EIP-7702 both enable account abstraction, they serve different needs in modern blockchain applications.  ERC-4337 offers pure smart contract accounts with maximum programmability, extensive transaction customization, and established tooling, making it ideal for single-chain applications and most multi-chain applications where account functionality is paramount.  In contrast, EIP-7702 provides a hybrid approach that lets accounts function as both EOAs and smart contracts, enabling seamless cross-chain compatibility and consistent addresses across networks while requiring less initial gas cost since no immediate contract deployment is needed. **Choose ERC-4337 when:** - Deep account programmability is a core requirement - You are building a multichain app but do not need the flexibility of using an EOA on some chains and an SCA on others - Gas costs aren't a primary concern - You need extensive transaction customization - You want to leverage existing 4337 infrastructure **Choose EIP-7702 when:** - You’re building a multichain app and consistent addresses across networks is a key requirement - Initial gas costs are a concern - Backward compatibility with EOA infrastructure matters - You want flexibility to start simple and upgrade over time The key advantage of EIP-7702 is its flexibility: you're not forced to choose between EOA and smart account capabilities, making it particularly valuable for applications needing to interact with both traditional and modern blockchain infrastructure while planning for cross-chain expansion. #### For apps working with external, third-party wallets Many of the most widely-used wallets, like [MetaMask](https://www.alchemy.com/dapps/metamask), are planning to incorporate smart wallet functionality this year. Here are some topics for you to explore: - [Batching](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#self-sponsoring-allowing-txorigin-to-set-code): the ability for a single authorization to perform multiple actions atomically, like on [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base) where users approve an ERC-20 and then spend that approval  - The risks of [delegation](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7702.md#secure-delegation)   - Consider using [our SDK](https://www.alchemy.com/docs/wallets/reference/account-kit/react/hooks/useConnect) to simplify external smart wallet connections ### Additional considerations  **For application developers that decide to upgrade existing EOAs using EIP-7702 and want to use** \***all**\*** of the features enabled by 7702, you’ll need a relayer.** While there are different relayer architectures, our recommendation is to use 4337 bundlers because: - They provide standardized interfaces for relaying; - Include built-in paymaster systems; - Ensure forward compatibility, and - Can support censorship resistance through a public mempool If you need a 4337 bundler, [Alchemy Bundler](https://www.alchemy.com/bundler?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series) has you covered. ## Looking ahead: the road to mainstream adoption While EIP-7702 promises to make Ethereum more web-like, developers should note that adoption following the initial mainnet launch is dependent on wallets first integrating the features—and so usability of EIP-7702 will likely be limited. If you want to stay up-to-date on what Ethereum developers are discussing, check the latest posts [here](https://ethereum-magicians.org/t/eip-7702-set-eoa-account-code/19923/346). ### We help you integrate EIP-7702 [**Smart wallets**](/smart-wallets) help you bring the world onchain with zero friction. You can leverage EIP-7702 today to upgrade your EOAs or deploy new ERC-4337 accounts. - **Zero-friction onboarding**: Implement familiar email and social logins with embedded wallets - **Gasless transactions**: Sponsor gas fees for users and enable one-click transactions - **Smart account integration**: Easy SDK integration and support for ERC-4337, ERC-6900, and EIP-7702 We're here to help you learn, build, and ship! 1. **Explore**: Read the [docs](https://www.alchemy.com/docs/wallets?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series) and [start building](https://dashboard.alchemy.com/accounts?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series). 1. **Need support?**: [Reach out!](https://www.alchemy.com/contact-sales?utm_source=what_is_7702&utm_medium=blog&utm_campaign=eip_7702_series) Our team is available 24/7 to help you implement these features ## Frequently asked questions ### What is EIP-7702? EIP-7702 is an Ethereum upgrade included in the Pectra hardfork that enables Externally Owned Accounts (EOAs) to delegate control to smart contract accounts, giving them smart account capabilities like batching transactions, gas sponsorship, and social recovery. ### How does EIP-7702 work with existing EOAs? EIP-7702 allows existing EOAs to gain smart contract functionality without creating a new account or transferring assets. The EOA stores a delegation designator that points to a smart contract, enabling it to execute code directly from its address. ### Is EIP-7702 compatible with ERC-4337? Yes, EIP-7702 is designed to complement ERC-4337, not replace it. While ERC-4337 provides pure smart contract accounts, EIP-7702 makes those account abstraction features accessible to existing EOAs without requiring new wallet creation or migration. ### What features does EIP-7702 enable for users? EIP-7702 enables Web2-like features including account recovery, passkey sign-in for easier authentication, gas-sponsored transactions, paying for gas in any token (not just ETH), and batching multiple actions into a single transaction. ### Do I need a relayer to use EIP-7702 features? If you want to use all features enabled by EIP-7702, you'll need a relayer. We recommend using 4337 bundlers because they provide standardized interfaces, built-in paymaster systems, and ensure forward compatibility. ### When should I choose EIP-7702 over ERC-4337? Choose EIP-7702 when building multichain apps that need consistent addresses across networks, when initial gas costs are a concern, when backward compatibility with EOA infrastructure matters, or when you want flexibility to start simple and upgrade over time. ### Can EIP-7702 delegation be revoked? Yes, delegation is permanent until explicitly revoked by the user. To revoke smart contract control, another 7702 transaction must be sent to set the delegation back to zero. ### What is the main dependency for EIP-7702 adoption? The main dependency is wallet provider support. Because wallets are upstream of applications, EIP-7702 features cannot be used by application developers and their users without wallet integration. --- # What EIP-7702 Means for MetaMask and Other Wallet Providers URL: https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets.md [**EIP-7702**](/overviews/eip-7702-ethereum-pectra-hardfork) is set to transform how users interact with their wallets in 2025. For wallet providers, this represents both an opportunity and a challenge: enable new features that users want without compromising on security or user experience. New to EIP-7702? Check out the [intro blog](https://www.alchemy.com/overviews/eip-7702-ethereum-pectra-hardfork) for a 5 minute read. ### The challenge for wallet providers EOA wallet providers face a critical decision: how quickly and deeply to integrate EIP-7702 capabilities. The stakes are high — wallet providers who successfully implement these features will be positioned to capture the next wave of onchain adoption. Those who don't risk losing users to more innovative alternatives. While you may observe major wallets like [MetaMask](https://www.alchemy.com/dapps/metamask) implementing custom solutions to address these needs, native EIP-7702 integration offers some distinct advantages: - Built-in compatibility with the growing ERC-4337 ecosystem - Seamless cross-chain functionality - Performance benefits of protocol-level implementation - Future-proof architecture aligned with Ethereum's roadmap Put simply: custom implementations may work for wallets with massive existing user bases, but for most wallet providers, native EIP-7702 support will be crucial for staying competitive in 2025 and beyond. ### What your users will expect Users are increasingly demanding web2-like experiences from their wallets. With EIP-7702, you can deliver: - **Familiar authentication:** Social logins and passkeys that feel natural to web2 users - **Gas payment flexibility:** Let users pay fees in any token or sponsor transactions for them - **Recovery options**: Enable account recovery without seed phrases - **Session management:** Allow users to authorize [apps](https://www.alchemy.com/dapps/top/defi-dapps) once for a set period The catch? These features require thoughtful implementation to maintain security and trust. ### Security considerations for wallets For wallet providers, EIP-7702 introduces a nuanced security model that's different from both traditional EOAs and pure smart accounts. Here's what you need to consider: 1. **Private Key Authority** - The EOA's private key retains full control and can override smart account security rules - Users who lose their private key can still recover assets if recovery features were set up through EIP-7702 - Consider implementing clear UI indicators when users are taking actions that bypass smart account security 1. **Delegation Trust Model** - Unlike ERC-4337 accounts, delegated functionality creates a revokable authorization - Multi-signature implementations require special consideration - other owners must trust the EOA holder since they retain override capability - Consider implementing automated checks for delegate contract reputation and security risks 1. **Cross-Chain Considerations** - Delegation transactions can be chain-specific or universal \(`chain\_id = 0`\) - EOAs with different nonces across chains need separate delegation transactions - Consider implementing chain-specific warnings when delegation states differ across networks ### Implementation approaches Based on our many discussions with wallet providers, we're seeing two different approaches. Major wallet providers like MetaMask are currently exploring custom implementations that avoid EIP-7702's new transaction type, focusing instead on backwards compatibility and gradual feature rollout through their own delegation toolkit. While this approach might work for wallets with massive existing user bases, by embracing native EIP-7702 support, wallet providers can offer their users amazing capabilities that stay aligned with Ethereum's technical roadmap. The recommended path forward is full EIP-7702 integration: - Implement complete support for the new `SET\_CODE\_TX\_TYPE` - Enable seamless integration with ERC-4337 infrastructure - Focus on enabling smart features like session keys and batched transactions - Build wallet interfaces using standardized RPC methods \(we recommend [ERC-5792](https://eips.ethereum.org/EIPS/eip-5792)\) for consistent delegation management - Implement paymaster capabilities following [ERC-7677](https://eips.ethereum.org/EIPS/eip-7677) to enable gas sponsorship and flexible fee payments This approach simplifies long-term maintenance and positions your wallet to capture value from the growing smart account ecosystem. Wallets with large existing user bases tend toward the first approach to minimize disruption, while newer wallets should opt for full EIP-7702 integration to differentiate themselves. ### Building on Alchemy For wallet providers looking to accelerate their EIP-7702 integration, Alchemy's bundler and [gas sponsorship](https://www.alchemy.com/gasless-transactions?utm_source=7702_wallets&utm_medium=blog&utm_campaign=eip_7702_series) infrastructure provide the rails to ship faster. - Reliable ERC-4337 bundler infrastructure at global scale - Gas sponsorship with flexible paymaster policies - Full support for both EIP-7702 and ERC-4337 - Enterprise-grade reliability and throughput ### Looking ahead The wallets that succeed in 2025 will be those that offer the most capabilities while maintaining the security users trust. We're here to make sure you build, scale, and deliver only the best experience for your users. [Explore gasless transactions](https://www.alchemy.com/gasless-transactions?utm_source=7702_wallets&utm_medium=blog&utm_campaign=eip_7702_series) to learn more. - [Check out the docs](https://www.alchemy.com/docs?utm_source=7702_wallets&utm_medium=blog&utm_campaign=eip_7702_series) - And, [reach out anytime](https://www.alchemy.com/contact-sales?utm_source=7702_wallets&utm_medium=blog&utm_campaign=eip_7702_series) so we can help you integrate these features today. --- This is the second post in our series on EIP-7702. If you're still getting up to speed on EIP-7702, check out our previous post [here](/overviews/eip-7702-ethereum-pectra-hardfork). ## Frequently asked questions ### What is EIP-7702? EIP-7702 is an Ethereum Improvement Proposal that allows externally owned accounts (EOAs) to temporarily delegate execution to smart contracts, enabling features like transaction batching, gas sponsorship, and account recovery while keeping the same wallet address. ### How does EIP-7702 impact MetaMask and other wallets? EIP-7702 enables wallets to offer users web2-like features including social logins, flexible gas payments, account recovery without seed phrases, and session management. Wallet providers face decisions about how quickly and deeply to integrate these capabilities. ### What benefits does EIP-7702 bring to wallet users? Users gain familiar authentication options, the ability to pay gas fees in any token or have fees sponsored, recovery options without seed phrases, and the ability to authorize apps once for a set period. ### What are the security considerations for EIP-7702 in wallets? The EOA's private key retains full control and can override smart account security rules, delegation creates revokable authorization, and implementations require clear UI indicators and automated checks for delegate contract security risks. ### What implementation approaches are wallets taking with EIP-7702? Major wallets like MetaMask are exploring custom implementations focused on backwards compatibility, while the recommended path for most wallet providers is full EIP-7702 integration with native support for the new transaction type and standardized RPC methods. ### Does native EIP-7702 integration offer advantages over custom implementations? Yes, native integration provides built-in compatibility with the ERC-4337 ecosystem, seamless cross-chain functionality, performance benefits of protocol-level implementation, and future-proof architecture aligned with Ethereum's roadmap. ### How can wallet providers implement EIP-7702 features? Wallet providers can use Account Kit, which provides zero-friction onboarding, ready-to-use components for authorization flows, secure delegation management, and built-in support for both EIP-7702 and ERC-4337. --- # Embedded EOAs vs. Smart Wallets vs. Smart EOAs URL: https://www.alchemy.com/overviews/embedded-eoa-smart-wallets-comparison.md Crypto user experiences have been continually improving for the past few years as [web3 wallet](/overviews/web3-wallets) infrastructure gets progressively better. The dominant trend here has been embedded wallets - wallets embedded directly into crypto applications. These provide more familiar user experiences, and make the wallet feel invisible. Users don’t need to switch to external wallets like Metamask or even have to know they’re dealing with crypto under the hood. A great example of this is [Coinbase](https://www.alchemy.com/dapps/coinbase) Loans. Released in January 2025 , it embeds a crypto wallet directly into the core Coinbase application that can interact with the onchain loan protocol that powers the product experience. Users skip all of the pain points associated with crypto of old — storing seed phrases and clunky popups — and instead get a significantly streamlined user experience. Developers working with embedded wallets still have a lot of decisions to make. In this blog post we'll take a look at three different approaches for embedded wallets and how they work: Externally Owned Wallets \(EOAs\), Smart Contract Wallets \(Smart Wallets\), and Smart EOAs \(7702\). ## What is an embedded wallet \(eoa\)? When developers discuss “Embedded Wallets” they generally refer to embedded externally owned wallets, or EOAs. EOAs are user-controlled accounts, identified by a public address and managed with a private key that is used to send transactions. In the EOA model, the private key _is_ the user account. That means: - If the user cannot access the key, they cannot access their wallet - If the user loses their key, they forever lose access to their wallet - If a malicious actor gains access to a user’s key, they can steal the user’s entire balance In the context of embedded wallets, this is critical because users rely on third party services like Turnkey or [Privy](https://www.alchemy.com/dapps/privy) to provide these keys. In the context of the above: - If the service goes down, users cannot access their wallet or their funds - There is a single entity responsible for securing the keys for millions of users, which if compromised could result in a loss of funds for those users One recent development that highlights the risk users and developers are taking with embedded EOAs is the [SimpleHash acquisition by Phantom](https://simplehash.com/blog/simplehash-acquisition-by-phantom). Phantom acquired a leading crypto data provider, and is moving to sunset [SimpleHash](https://www.alchemy.com/dapps/simplehash)’s services as a competitive differentiator of their wallet offering. This announcement caused hundreds of developers to start scrambling for alternative solutions. In a world of Embedded EOAs, these EOAs are not easily transferable to a new provider or to a self-custodial model - it is certainly not as simple as migrating to a new data provider. EOAs offer simplicity for builders. With mature tools like Viem and Foundry, they're easy to integrate. But this simplicity comes at a cost, limiting critical UX and security features. For example: - Standalone EOAs **do not support** any form of gas abstraction, meaning users always need to have enough funds in their wallet to pay for a transaction - EOAs **cannot** batch execute transactions leading to painful UX flows like separate “[Approve \+ Swap](https://support.uniswap.org/hc/en-us/articles/8120520483085-What-is-an-approval-transaction)” - EOAs **cannot** implement onchain security features like contract whitelisting or M/N threshold signatures. Any such offchain implementation would too trust the centralized service provider - EOAs **cannot** provide seamless cross-chain transactions and interoperability, which depends on resource locks as well as some of the above functionality - EOAs **cannot** provide liquidity access like [Coinbase’s Magic Spend](https://help.coinbase.com/en/wallet/getting-started/smart-wallet-magicspend), enabling onchain spending with offchain balances - Hardcoded nonce validation causes **wallet throughput issues** for high load applications - For durable products, EOAs are **not quantum resistant** with NIST setting [public deprecation notices](https://www.keyfactor.com/blog/nist-drops-new-deadline-for-pqc-transition/) for five years out. Simple to integrate

", tooltip: "", icon: "" }, "2": { title: "

Third party single point of failure for liveness

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Mature tooling

", tooltip: "", icon: "" }, "2": { title: "

Significant counterparty risk for user funds in third party

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

No deployment costs

", tooltip: "", icon: "" }, "2": { title: "

Strong vendor lock in to third party with no key rotation

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

", tooltip: "", icon: "" }, "2": { title: "

Higher friction onboarding with gas fees

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

", tooltip: "", icon: "" }, "2": { title: "

No chain abstraction or seamless interoperability

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

", tooltip: "", icon: "" }, "2": { title: "

No way to add UX features like passkeys or contract whitelisting without trusted support from third party service

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

", tooltip: "", icon: "" }, "2": { title: "

No way to add support onchain spending with offchain balances

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

", tooltip: "", icon: "" }, "2": { title: "

No batch execution of transactions

", tooltip: "", icon: "" }, id: 7, }, ], }} /> ## What are embedded smart contract wallets \(smart wallets\)? Embedded Smart Contract Wallets \(Smart Wallets\) are the next iteration of UX and security improvements in crypto. Smart Wallets are programs deployed to the blockchain that act as the user’s account. Smart Wallets enable much more functionality than EOAs, driving significant UX and security improvements. So much so that Vitalik, the co-founder of Ethereum, sees a transition from EOAs to Smart Wallets as a [requirement](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html) for getting mainstream users onchain. Critically, Smart Wallets remove the single point of failure on third party services by enabling key rotation, and multiple valid private keys on a single account. Examples include [Circle's Programmable Wallets](https://www.circle.com/programmable-wallets) \([contracts code](https://github.com/circlefin/buidl-wallet-contracts)\) and [Coinbase Smart Wallet](https://www.coinbase.com/wallet/smart-wallet) \([contracts code](https://github.com/coinbase/smart-wallet)\). When an Embedded EOA serves as a signer for a Smart Wallet, the EOA’s private key—typically managed by a third-party service as mentioned above—becomes a revocable component of the Smart Wallet’s programmable logic. The Smart Wallet can implement key rotation or multi-signature schemes, allowing users to replace or revoke the EOA signer without losing access to their funds. This eliminates the rigid vendor lock-in seen in standalone Embedded EOAs, where users are tethered to a single provider’s infrastructure. If a service like SimpleHash shuts down or a provider becomes unreliable, the Smart Wallet can seamlessly onboard a new EOA signer—or even transition to a self-custodial key—without disrupting the user’s account. Additional key features offered by Smart Wallets include: - **Gas abstraction:** Standardized support for gasless transactions, enabling developers to sponsor fees or allowing users to pay gas with ERC-20 tokens instead of ETH, streamlining the user experience. - **Batch execution**: Support batched transactions with a single user signature for common flows like “Approve \+ Swap”. - **Programmable signatures**: Enhanced security through onchain validation of [Passkeys](https://fidoalliance.org/passkeys/) for local key management, also providing a pathway to quantum resistance when required. - **Session keys and contract whitelisting**: programmable wallets mean temporary permissions and restricted interactions with approved contracts, boosting security and control. - **Threshold signatures and MFA**: onchain multi-signature or multi-factor authentication options, adding robust layers of account protection. - **Interoperability**: Enables seamless cross-chain functionality, leveraging resource locks and other mechanisms to enable interactions across blockchain networks. - **Liquidity orchestration**: Enable onchain spending with offchain balances While Smart Wallets introduce some complexity and minor deployment costs, these are increasingly negligible as tooling matures and adoption grows. The flexibility and security they offer make them a compelling choice for developers aiming to build scalable, user-friendly, and durable crypto applications—paving the way best-in-class user experience without any of the existing security concerns. ## What are embedded smart EOAs \(7702\)? Embedded Smart EOAs, introduced by Ethereum’s [EIP-7702](https://www.alchemy.com/overviews/eip-7702-ethereum-pectra-hardfork) as part of the Pectra hard fork in 2025, offer a hybrid model that enhances Externally Owned Accounts \(EOAs\) with smart contract functionality. Unlike traditional EOAs, which rely solely on a private key, or Smart Wallets, which are fully deployed onchain programs, Smart EOAs allow an EOA to delegate to smart contract code for a single transaction—enabling features like gas sponsorship, batched operations, or passkey authentication without permanent contract deployment. This approach, championed as a step toward account abstraction, aims to make embedded wallets more versatile within existing EOA-centric ecosystems like [MetaMask](https://www.alchemy.com/dapps/metamask). Smart EOAs re-use much of the infrastructure mentioned above for Smart Wallets, relying on the same standardized relaying infrastructure, gas abstraction infrastructure, and smart contracts. There is a lot of excitement around this space, and beyond tools like Circle's Programmable Wallets, teams like Rhinestone and [Safe](https://safe.global/blog/eip-7702-smart-accounts-ethereum-pectra-upgrade) are also heads down building out support for 7702. However, implementing Smart EOAs can present challenges, and therefore many are [choosing phased adoption](https://www.alchemy.com/overviews/eip-7702-metamask-and-wallets) rather than full support. For providers used to simple EOA key management, support for smart features is a lengthy roadmap which forces developers to stitch together multiple external services to enable things like gas abstraction or session keys. Additionally, security remains a critical tradeoff. While 7702 enables delegation for advanced features, the EOA's key remains a single point of failure with unlimited control. If compromised, all delegated protections become useless. Ownership flexibility is similarly limited. Though additional signers can be added, the EOA's key keeps unrestricted control. Unlike Smart Wallets Smart EOAs remain vulnerable due to their EOA foundation — making Smart EOAs a compromise rather than a complete solution. Backward compatibility with EOA infrastructure

", tooltip: "", icon: "" }, "2": { title: "

Complex integration for providers to support smart features

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Enables gas abstraction

", tooltip: "", icon: "" }, "2": { title: "

Primary key as a single point of trust limits security

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Enables batch execution

", tooltip: "", icon: "" }, "2": { title: "

No live support and immature tooling and ecosystem support as of March 2025

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Enables interoperability, with some risks around the primary EOA

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Enables advanced smart account features, with some risks around the primary EOA

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, id: 4, }, ], }} /> Smart EOAs \(7702\) offer embedded wallet providers a low-friction way to introduce advanced features without abandoning the EOA model entirely. They’re a practical stepping stone for applications needing occasional programmability—like gasless onboarding or cross-chain actions—while preserving compatibility with mature tooling like Viem or Foundry. Yet, their reliance on a static EOA key and the challenges of retrofitting smart capabilities into EOA systems position them primarily as a transitional solution. ## Conclusion: improving embedded wallets for a frictionless Web3 As the crypto landscape evolves, embedded wallets stand at the forefront of onboarding the next wave of users. The level of security, ease of use, and ease of development varies with each approach: - **Embedded Wallets \(EOAs\)** provide simplicity but with significant security risks and UX limitations - **Embedded Smart Contract Wallets \(Smart Wallets\)** deliver unparalleled flexibility and security with minor complexity costs - **Embedded Smart EOAs \(7702\)** provide a transition path for EOAs to get Smart Wallet functionality but inherit EOA security risks The future of embedded wallets isn't just about keys, but how invisibly **and securely** the wallet integrates into the user journey. At Alchemy, our approach goes beyond key management to deliver enterprise-grade smart wallets that eliminate seed phrases, sponsor gas, and batch transactions - all while empowering developers with flexible tools to tailor their UX. ## Frequently asked questions ### What is an embedded wallet? Embedded wallets are wallets integrated directly into crypto applications, making the wallet feel invisible to users who don't need to switch to external wallets like Metamask or even know they're dealing with crypto under the hood. ### What is the difference between an EOA and a smart contract wallet? An EOA is a user-controlled account managed with a private key where the key itself is the account, while a smart contract wallet is a program deployed to the blockchain that enables advanced features like gas abstraction, batch transactions, key rotation, and programmable signatures. ### What happens if I lose my private key with an embedded EOA? If you lose your private key with an EOA, you forever lose access to your wallet, and if the third-party service managing your keys goes down, you cannot access your wallet or funds. ### What is EIP-7702 and how does it affect EOAs? EIP-7702, introduced in Ethereum's Pectra hard fork in 2025, allows an EOA to delegate to smart contract code for a single transaction, enabling features like gas sponsorship and batched operations without permanent contract deployment. ### What advantages do smart contract wallets offer over EOAs? Smart contract wallets enable gas abstraction, batch transaction execution, programmable signatures including passkey support, session keys, threshold signatures, cross-chain interoperability, and the ability to rotate or replace keys without losing access to funds. ### Can smart contract wallets prevent vendor lock-in? Yes, smart contract wallets eliminate vendor lock-in by implementing key rotation or multi-signature schemes, allowing users to replace or revoke signers and transition to new providers or self-custodial keys without disrupting their account. ### What are the main security risks of embedded EOAs? Embedded EOAs create a single point of failure where users rely entirely on third-party services for key management, and if a malicious actor gains access to the key or the service is compromised, users can lose their entire balance. ### Are smart EOAs (7702) as secure as smart contract wallets? No, smart EOAs inherit the security risks of EOAs because the EOA's key remains a single point of failure with unlimited control, if compromised, all delegated protections become useless, unlike smart contract wallets which offer key rotation and multi-signature options. --- # The Enterprise Stablecoin Guide URL: https://www.alchemy.com/overviews/enterprise-stablecoin-guide.md The stablecoin market crossed $300 billion in 2025, up from $205 billion at the start of the year. Nearly $100 billion in new supply appeared in under twelve months. This acceleration signals something fundamental has shifted. The institutional projections reflect deep conviction. J.P. Morgan sees $500-750B in stablecoin market cap in the coming years. Citi's base case is [$1.9 trillion](https://www.citigroup.com/global/insights/stablecoins-2030) by 2030. Standard Chartered has called for $2 trillion by 2028. [Stablecoin issuers](https://www.alchemy.com/dapps/best/stablecoin-issuers) have become among the largest non-sovereign holders of U.S. government debt. ## Why traditional payment infrastructure is broken To understand why [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) represent a fundamental shift, you need to see what's actually broken in the system most enterprises take for granted. Consider a typical cross-border payment scenario. Your U.S. company needs to pay a supplier in Japan. You initiate a $500,000 wire transfer. What happens next reveals the underlying dysfunction. The payment flow goes through your originating bank, often multiple correspondent banks using SWIFT messaging, and various clearing counterparties, all before finally reaching the destination bank. Each intermediary maintains its own ledger. Each performs its own compliance checks. Each takes its own cut. The whole process commonly takes 7-14 days to clear—that’s 7-14 days for information to travel and settle from one bank to another, a process which could be nearly instant. That delay creates significant risk and operational cost in its own right. Further, the payment flow is not only slow, but opaque. Sometimes a customer needs to call the originating bank directly just to get an update on the status of their payment, and even then they may still be in the dark. On top of the time delay and the opacity of the system, there's foreign exchange risk involved across multiple counterparties. The average transaction costs 6.6% when you account for all the fees, spreads, and hidden margins. And the ability to access USD and yield-bearing accounts for those engaged in cross-border money movement is extremely low for all but the largest enterprises. This isn't describing an edge case in the payments world. This is the system working as designed, built on infrastructure from the 1970s that was never meant to handle the speed and volume of modern global commerce. ## How stablecoins change everything ### Payments without intermediaries Stablecoins compress the payment stack and reroute who captures payment economics. Instead of value moving through a chain of intermediaries, with each maintaining separate ledgers and charging separate fees, settlement happens on shared blockchain infrastructure. When your company holds USDC or USDT, you're holding a digital dollar that you can transmit to anyone, anywhere, without asking permission from a bank. Transactions settle in seconds, not days. Costs are a fraction of a percent, not 6.6%. Every step is visible on a public ledger that all parties can verify. That same $500,000 payment to Japan becomes radically simpler. Your treasury system sends USDC directly to your supplier's wallet address. The blockchain network validates and settles the transaction in seconds. If your supplier wants local currency, they convert through a local exchange in a single transaction at competitive rates. Total time: seconds. Total cost: 0.1-0.5%, or even less sometimes. The efficiency gains don't come from making the old system faster. They come from eliminating most of the old system altogether. ### Money for the internet The deeper significance goes beyond cheaper, faster payments. Stablecoins represent the first truly internet-native form of money. They're programmable, composable, and integrate seamlessly with software systems. Traditional rails won't disappear, but stablecoins will increasingly sit on top as the primary layer where businesses transact. Just as over-the-air TV, FM radio, and SMS still exist but aren't where the future of telecommunications is. The winners here will not be those who saw stablecoins as a cheaper rail, but those who see it as the foundation of a new financial stack. When money becomes programmable code, entirely new capabilities emerge. Smart escrow eliminates third-party escrow agents in complex transactions. A $50 million equipment purchase can embed payment release conditions directly - funds transfer automatically when shipping documentation and inspection reports are verified onchain. No escrow fees, no manual verification, no trust required. For enterprises conducting thousands of transactions annually, this removes friction and cost & Atomic settlements eliminate counterparty risk in multi-party transactions. Complex swaps involving five parties either complete entirely or fail entirely—no partial execution, no settlement risk, no reconciliation nightmares. For financial institutions executing thousands of these daily, this reduces operational risk and capital requirements. These capabilities don't exist in traditional finance because the underlying architecture can't support them. Stablecoins make them trivial. ## Understanding different types of stablecoins While the value proposition of stablecoins is universal, under the hood not all stablecoins work the same way. The stability mechanism has profound implications for enterprise use, and you’ll need to be thoughtful about which types you choose to build or integrate with. Here are the 4 types of stablecoins. ### Fiat-backed stablecoins Fiat-backed stablecoins maintain reserves of traditional currency to back each token one-to-one with that underlying currency. USDC and USDT, the two largest stablecoins, follow this model. Every dollar of stablecoin in circulation corresponds to a dollar of cash or short-term U.S. Treasuries held in reserve. When you acquire USDC, [Circle](https://www.alchemy.com/dapps/circle) deposits an equivalent amount into segregated reserve accounts. These reserves are regularly attested by third-party auditors. When you redeem USDC, Circle burns the tokens and returns fiat currency. This provides straightforward stability and regulatory clarity. The trade-off is centralized trust in the issuing institution and their reserve management practices. For enterprise treasury operations prioritizing predictability and regulatory comfort, fiat-backed stablecoins from established issuers are the clear choice. ### Crypto-collateralized stablecoins These stablecoins use other cryptocurrencies to support the stablecoin capital reserve, typically with over-collateralization to absorb the volatility of those crypto assets. DAI operates with this crypto-collateralized model, accepting various crypto assets as collateral at ratios like 150-200% that provide stability buffers. This approach offers more decentralization \(it keeps the stablecoin entirely on crypto rails\), but in return, it introduces complexity and capital inefficiency. Smart contracts enforce the mechanics of collateral deposits programmatically. If the value of the reserve collateral drops too low, stablecoin positions will liquidate automatically to maintain the “peg” \(a term used to describe the 1:1 conversion ratio between a stablecoin and a dollar\). For enterprises already deep in crypto-native operations or where decentralization is paramount, a crypto-collateralized stablecoin may make sense. For traditional corporate treasuries, the complexity and capital inefficiency make them less practical than fiat-backed alternatives. ### Algorithmic stablecoins These stablecoins attempt to maintain stability through programmatic supply adjustments rather than collateral backing. When the stablecoin trades above $1, the protocol mints new tokens to increase supply and push the price down. When it trades below $1, it contracts supply by burning tokens to push the price back up. It's monetary policy in code, requiring no reserve capital. The enterprise appeal was obvious. No billions locked in Treasury reserves. No custodian risk. No regulatory overhead of managing actual dollars. For banks and financial institutions, this promised stable digital currency without the capital requirements. The reality proved fatal. TerraUSD's $60 billion collapse in May 2022 exposed fundamental flaws. Algorithmic stablecoins rely entirely on confidence. They work in bull markets but become death spirals when confidence breaks. Unlike fiat-backed stablecoins where you can redeem for actual dollars, algorithmic stablecoins have no fundamental floor. For enterprise treasury operations, the lesson is clear. The capital efficiency is vastly outweighed by existential risk. No CFO will accept instruments that can lose 99% of value in 48 hours. The mechanism hasn't proven robust under stress and likely cannot, given its dependence on self-reinforcing confidence rather than tangible backing. ### Yield-bearing stablecoins An emerging category that passes Treasury yields directly to token holders. Traditional stablecoins like USDC and USDT earn 4-5% on their Treasury reserves, but Circle and [Tether](https://www.alchemy.com/dapps/tether) keep all those returns—generating billions in profit annually. Yield-bearing stablecoins distribute that yield to holders instead. **Why this matters for enterprises:** Banks facilitating $10 billion in stablecoin transactions are watching $400-500 million in annual Treasury yield flow to Circle and Tether. Yield-bearing stablecoins let you capture that value. Corporate treasuries get 4-5% returns on operational cash with instant liquidity. Neobanks can offer 3-4% to customers versus 0.5-2% from traditional savings, creating powerful competitive advantages. Examples include USDY from [Ondo Finance](https://www.alchemy.com/dapps/ondo-finance) and tokenized money market funds. Trade-offs include regulatory uncertainty and less liquidity than traditional stablecoins, but this is where significant value migration is happening. ## Choosing the right blockchain infrastructure Alongside the different types of blockchains, you’ll also find that different stablecoins operate on different blockchain networks. The network choice can profoundly impact costs, speed, and risk. To dive into this in greater detail, read our piece on the [stablecoin landscape](https://www.alchemy.com/blog/the-stablecoin-landscape-across-different-chains). ### Ethereum dominates Ethereum remains the dominant platform for stablecoin activity, with the deepest liquidity and most mature ecosystem. It's the most battle-tested smart contract platform with nearly a decade of operation. Strong decentralization, established regulatory frameworks, and institutional comfort make it the default choice. The trade-offs for that popularity and security are higher transaction costs and lower throughput. [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) transactions can cost $1-15 depending on network congestion, with settlement finality in 12-15 minutes. However, for large treasury movements where security and regulatory clarity matter most, these costs can be acceptable. ### Layer 2 networks provide the best economics Layer 2 solutions like Arbitrum, Optimism, Base, and Polygon inherit Ethereum's security while processing transactions off-chain. This delivers dramatically better economics: transaction costs are around $0.01-0.10, roughly 100x cheaper than Ethereum mainnet. Throughput reaches thousands of transactions per second with near-instant confirmation. For high-frequency operations like regular supplier payments or payroll, L2s increasingly represent the sweet spot. You get Ethereum security with costs that make small transactions practical. ### Solana optimizes for speed and cost Solana has emerged as the third-largest stablecoin ecosystem, growing rapidly through 2024-2025. It offers extremely high throughput at sub-cent costs with sub-second confirmation times. The trade-offs are lower decentralization and a shorter operating history than Ethereum. For use cases where speed and cost are paramount, and where risk tolerance accommodates less battle-tested infrastructure, Solana makes sense. It's particularly strong for applications requiring near-instant settlement at massive scale. ## Stablecoin’s privacy problem All of these blockchain networks are public by design. Every transaction is visible to anyone with a blockchain explorer. For companies considering moving treasury operations onto stablecoin rails, this creates genuine competitive intelligence risks. Your cash flows become visible. Your vendors, your customers, your payment patterns, all exposed to competitors who care to look. That big payment to a logistics company in a new region? Your competitor just learned you're expanding there. Legal fees and consulting payments telegraph M&A activity. Your working capital management, liquidity positions, treasury operations, all analyzable by anyone running basic blockchain analytics. No serious business wants their financial operations exposed this way. No CFO will move meaningful treasury activity onto rails where every transaction is publicly analyzable. Competitive advantage often depends on information asymmetry. Bank accounts aren't public databases for good reason. The good news is the industry built technology to solve this. Zero-knowledge proofs allow proving something is true without revealing underlying information. You can prove you have sufficient funds without revealing your balance. You can prove a transaction is legitimate without revealing sender, recipient, or amount. Confidential transactions hide amounts while maintaining verifiability. Private channels enable off-chain transactions between regular counterparties with only periodic settlement hitting public blockchains. Privacy-preserving stablecoins are being built with confidentiality as a core functionality. The emerging model replicates traditional banking privacy. Transactions visible on public blockchains with encrypted details. Authorized regulators can obtain decryption keys through legal process, maintaining the integrity of the financial system. But competitors and unauthorized parties cannot access transaction details, protecting the confidentiality of business information. Privacy for enterprises doesn't mean hiding from regulators. It means protecting commercial confidentiality while maintaining regulatory compliance. As stablecoins move from crypto-native operations to mainstream corporate treasury, privacy infrastructure will shift from nice-to-have to table stakes. ## Should you build your own stablecoin? For most enterprises, using existing stablecoins makes sense. These established players have already invested hundreds of millions in regulatory compliance, reserve management infrastructure, custody relationships, and building liquidity across dozens of blockchains and exchanges. You plug into that ecosystem immediately without spending years navigating money transmitter licenses across fifty states, managing Treasury reserve operations, or building redemption infrastructure from scratch. The opportunity cost of building when you could be capturing payment savings and operational improvements right now is substantial. But for certain organizations, issuing a proprietary stablecoin offers strategic advantages that justify the complexity and investment. ### When building your own makes sense The decision to issue your own stablecoin should be driven by specific strategic imperatives, not technology enthusiasm. - **You operate a closed-loop ecosystem.** If you have a large network of suppliers, distributors, customers, or partners who primarily transact within your ecosystem, a proprietary stablecoin can capture value that would otherwise leak to external payment processors. Think of large retailers with extensive supplier networks, marketplace platforms with thousands of merchants, or conglomerates with complex inter-subsidiary transactions. - **You want to capture payment economics.** When customers and partners use your stablecoin, you control the payment infrastructure and capture economics that currently go to banks and payment processors. Every transaction on your rails instead of traditional rails translates to savings that accrue to your ecosystem. Circle and Tether generate billions annually from the float on reserves backing their stablecoins. Why let them capture that value on transactions within your ecosystem? - **You need programmability specific to your business model.** Generic stablecoins like USDC work for simple transfers. But if your business requires specific programmable features like automated royalty distributions, complex escrow arrangements, industry-specific compliance checks, or integration with proprietary business logic, building your own stablecoin lets you embed those capabilities at the protocol level. - **You're building a financial services product.** If you're a fintech, neobank, or financial services provider, a branded stablecoin becomes a product offering that differentiates you from competitors. It's not just infrastructure for your operations but a customer-facing service that generates revenue and deepens relationships. - **You operate in markets with limited banking access.** In regions where correspondent banking is expensive, unreliable, or unavailable, a proprietary stablecoin lets you create payment infrastructure independent of traditional banking relationships. This is particularly relevant for companies operating across emerging markets or in industries that banks find risky. - **You want to build a moat through liquidity.** A successful proprietary stablecoin with significant supply and usage creates network effects that become a competitive moat. Partners integrate with your payment rails. Customers hold balances in your stablecoin. Switching costs emerge. The stablecoin becomes infrastructure that's hard to displace. ## The real advantages of building your own stablecoin Building your own stablecoin delivers benefits that using third-party stablecoins cannot. - **Revenue from reserves.** This is the most immediate financial advantage. Stablecoin issuers hold reserves backing their tokens, typically in short-term U.S. Treasuries or cash equivalents. With Treasury yields at attractive levels, a stablecoin backed by Treasuries generates 4-5% annual returns. On $1 billion in stablecoin supply, that's $40-50 million annually in risk-free revenue. Circle generated over $1 billion in revenue in recent years primarily from reserve management. Tether's profits have been even larger. - **Control over monetary policy within your ecosystem.** You determine reserve requirements, redemption policies, minting controls, and fee structures. Want to offer zero-fee transfers to preferred partners? You can. Want to implement dynamic fees that adjust based on network conditions? You can. Want to create tiered service levels with different settlement speeds? You control the entire stack. - **Direct customer relationships and data.** When partners and customers use your stablecoin, you own the relationship and see the transaction data. This provides insights into payment flows, customer behavior, and ecosystem health that aren't available when transactions happen on someone else's infrastructure. That data informs business strategy, risk management, and product development in ways that opaque third-party payment systems never could. - **Brand presence in every transaction.** Your stablecoin carries your brand. Every wallet it appears in, every transaction it settles, every integration that supports it reinforces your brand presence. This is marketing that compounds with adoption. Compare to using USDC where Circle captures all the brand value from transactions you're facilitating. - **Strategic flexibility and innovation.** You can evolve the stablecoin as your business evolves. Add privacy features when your enterprise customers demand them. Implement cross-chain bridges to expand to new ecosystems. Build specialized redemption channels for specific use cases. Integrate directly with your other products and services. Third-party stablecoins evolve based on their priorities, not yours. - **Reduced counterparty risk.** Using USDC means trusting Circle's operations and reserve management. Using USDT means trusting Tether. Building your own means you control the reserves, manage the risk, and don't face exposure to someone else's potential mismanagement. For large enterprises moving significant value, eliminating this counterparty risk can be worth the operational complexity. ## Managing stablecoin risks Stablecoins introduce new risks that must be understood and managed. Pretending they don't exist is foolish. But letting risk aversion prevent capturing genuine advantages is equally problematic. Here are a few risks to keep in mind. ### Custody and security Digital assets use cryptographic keys for ownership. Lose the keys, and you lose the assets permanently. No password recovery exists. Similarly, if private keys are compromised, attackers can drain wallets irreversibly with no recourse. Mitigation here is relatively straightforward: use qualified institutional custodians like [Coinbase](https://www.alchemy.com/dapps/coinbase) Prime, [Anchorage Digital](https://www.alchemy.com/dapps/anchorage), BitGo, or Fireblocks. These companies provide insurance, redundant security, and professional key management. As a general rule of thumb, don't self-custody significant treasury assets. Implement multi-signature requirements, so multiple keys must authorize transactions. Use hardware security modules for key storage. Purchase crypto-specific insurance. Maintain comprehensive procedures with four-eyes principles and detailed audit logs. ### Smart contract risk Stablecoin functionality runs on smart contracts, code that executes autonomously. Bugs in this code can result in asset loss. Even audited contracts have failed catastrophically with hundreds of millions lost annually to DeFi exploits. Mitigation means sticking to established protocols with years of operation. Use battle-tested stablecoins like USDC and USDT. Avoid newly launched or experimental systems for treasury operations. Review audit reports from reputable security firms while understanding audits find bugs but don't guarantee perfection. Limit exposure to complex DeFi protocols. For most corporate treasuries, simple stablecoin holdings are appropriate, not sophisticated yield farming strategies. ### Counterparty and issuer risk Fiat-collateralized stablecoins depend on issuers maintaining proper reserves. If Circle or Tether fails, stablecoin holders face potential loss. Risk mitigation here involves choosing established issuers with multi-year track records and massive scale. USDC and USDT have proven resilience. Their collapse would require systemic failures. Review regular attestations from accounting firms that both publish. Diversify across multiple stablecoins to avoid single-issuer concentration. Monitor for de-pegging events where stablecoins trade off their dollar peg, as sustained deviations signal problems. Maintain direct redemption channels with issuers, not just exchange liquidity. ### Regulatory risk Stablecoin regulation is still evolving and varies by jurisdiction. Today's compliant practices might become problematic as regulations change. Mitigation for regulatory risk requires engaging compliance expertise from law firms specializing in digital assets. Implement robust KYC/AML procedures even if technically not required. Document everything comprehensively. If operating in regulated industries, consider proactively engaging regulators. Stay informed on regulatory developments across relevant jurisdictions. Build flexibility so you're not dependent on regulatory arrangements that might change. ## Looking forward five years Despite these risks, the stablecoin trajectory seems increasingly clear. The stablecoin market cap will likely reach $1-2 trillion by 2030, representing 5-10% of global M2 money supply in developed economies. This makes them systemically important financial infrastructure, not a niche technology. The majority of multinational corporations will have stablecoin treasury operations as standard practice. Enterprise treasury conferences will feature stablecoin strategy as normal practice, not exotic speculation. Regulatory frameworks in major jurisdictions will be comprehensive and well-understood. The regulatory risk that currently constrains some adoption will have declined dramatically. Infrastructure will have matured significantly. User experiences will be dramatically improved from today. Custody will be institutionalized and commoditized. Integration with traditional systems will be standard. The technical complexity that currently feels daunting will have smoothed substantially. New capabilities will emerge that aren't currently possible. Smart contract automation, programmable payments, and tokenized assets will enable treasury operations beyond what traditional infrastructure supports. The value proposition will extend beyond cost and speed to genuinely novel capabilities. Companies without stablecoin capabilities will face material competitive disadvantages in international operations. Stablecoin fluency will be expected treasury competency, not exotic specialization. This isn't speculative fantasy. It's extrapolating current adoption curves and institutional investment. The main uncertainty is speed, not direction. Traditional payment rails won't disappear, but they'll increasingly be utilities underneath a stablecoin layer where innovation, value creation, and competitive differentiation happen. ## Want to join the stablecoin adoption wave? If you take one thing away from this post, it’s that stablecoins are transforming the world of finance, and for financial services, the mandate is clear: get on stablecoin rails or fall behind. To learn more about how Alchemy products support stablecoins, [view our payments page](https://www.alchemy.com/payments), and if you’d like to chat to learn more about how you can integrate stablecoins into your business, [contact our sales team](https://www.alchemy.com/contact-sales). We’d love to partner with you and advise you on how best to move forward. ## Frequently asked questions ### What are stablecoins and why are enterprises adopting them? Stablecoins are digital tokens pegged to traditional currencies like the US dollar, enabling enterprises to send payments in seconds rather than days while reducing transaction costs from around 6.6% to 0.1-0.5% by eliminating intermediaries like correspondent banks and payment processors. ### How do stablecoins improve cross-border payments compared to traditional wire transfers? Stablecoins settle cross-border transactions in seconds on blockchain networks instead of the typical 7-14 days required for traditional wire transfers through correspondent banks, while dramatically reducing costs and providing transparent tracking on public ledgers. ### What are the main types of stablecoins enterprises should consider? The primary types are fiat-backed stablecoins like USDC and USDT (backed 1:1 by cash or Treasuries), crypto-collateralized stablecoins like DAI (over-collateralized with crypto assets), and yield-bearing stablecoins that pass Treasury yields directly to holders. Fiat-backed stablecoins offer the most regulatory clarity and predictability for corporate treasuries. ### What blockchain networks are best for enterprise stablecoin operations? Ethereum dominates with the deepest liquidity and strongest security but has higher costs ($1-15 per transaction), while Layer 2 networks like Arbitrum, Base, and Optimism offer similar security at around $0.01-0.10 per transaction, making them ideal for high-frequency operations like payroll or supplier payments. ### Should enterprises build their own stablecoin or use existing ones? Most enterprises should use established stablecoins like USDC or USDT to avoid regulatory complexity and infrastructure costs. Building makes sense only if you operate a closed-loop ecosystem, want to capture payment economics and reserve yields, or need custom programmable features specific to your business model. ### How do stablecoins address privacy concerns for enterprise transactions? While blockchain transactions are public by default, emerging privacy solutions use zero-knowledge proofs and confidential transactions to hide sensitive details like amounts and counterparties while maintaining regulatory compliance through authorized decryption keys for regulators. ### What security risks do enterprises face with stablecoins and how can they mitigate them? Key risks include custody (losing private keys means permanent asset loss), smart contract bugs, and issuer failure. Enterprises should use qualified institutional custodians like Coinbase Prime or Fireblocks, implement multi-signature requirements, stick to established stablecoins with years of operation, and maintain comprehensive audit procedures. ### What revenue opportunities do stablecoins create for enterprises? Enterprises issuing their own stablecoins can earn 4-5% annual returns on Treasury reserves backing the tokens, potentially $40-50 million annually on $1 billion in supply, while capturing payment economics that currently go to banks and processors. Stablecoin issuers like Circle and Tether generate billions annually from reserve management. --- # What is the ERC-4626 token standard? URL: https://www.alchemy.com/overviews/erc-4626.md While there are a couple of prominent token standards at the moment, the [Decentralized Finance \(DeFi\)](https://www.alchemy.com/overviews/guide-to-defi) world still has a strong recurring problem regarding tokenized vaults. This led to the creation of the latest standard called ERC-4626.  This article will explain what vaults are, the problems that developers face in tokenizing them, and how ERC-4626 solves this problem in DeFi development. Then we’ll dive deep into the new changes this standard brings and show you how to implement them in your smart contracts.  ## **What is a vault?** A vault is a multi-sig solution or smart contract that can store and manage assets such as crypto. Each vault always has the tokens it generates as a form of returns. These generated tokens can later be exchanged for tokens that were originally locked in vaults. For example, when you stake Sushi on Sushiswap, which is an automated market maker \(AMM\), you will get xSushi as a reward. Similarly, you will also get cUSDC when you yield farm the USDC stablecoin on [Compound](https://www.alchemy.com/dapps/compound), a DeFi borrow/lending protocol.  cUSDC and xSushi are yield-bearing tokens, which you can be redeemed in exchange for the original token \(e.g. USDC or SUSHI in this example\). The value of yield-bearing tokens will always increase so far as the locked tokens in the vault or pool increase.  Vaults are perceived to be better and more secure than wallets, and it is the reason many DeFi protocols choose to deposit their funds in a vault. Popular DeFi protocols that use vaults include Sushiswap, [Aave](https://www.alchemy.com/dapps/aave), [Balancer](https://www.alchemy.com/dapps/balancer), and Compound among others.  ## **What is the problem with tokenizing vaults?** The problem developers face concerning yield-bearing tokens is integrating tokens of different protocols. For example, in a situation where you want to [build a DeFi app](https://www.alchemy.com/docs/alchemy-quickstart-guide) where you’ll need to integrate the tokens of each protocol, you will need to research each one, know their model of accruing yields, and adjust it into your code base.  If you want to integrate vDAI of Maker DAO; stETH on Curve; and so on, you will need to understand the peculiarities of their smart contracts and build custom solutions to successfully integrate each of them into your DeFi app.  Apart from how stressful and time-consuming this process of integrating different yield-bearing tokens can be, it also increases smart contract risk because of potential errors. Developers will need to spend more time checking for potential loopholes in the adapters, and in some cases, they might even need to outsource it to smart contract auditors, which can be quite costly. This is more important now that attackers are breaching the integrity of a lot of protocols and DeFi apps. ## **Who created the ERC-4626 standard?** Towards the end of 2021, noticing how it was difficult for developers to integrate separate yield-bearing tokens, Joey Santoro—founder of Fei Protocol—led a team of four other Ethereum developers to submit [**Ethereum Comment Proposal 4626**](https://eips.ethereum.org/EIPS/eip-4626) (ERC-4626). After going through several rounds of review and deliberations, Ethereum finally approved the standard in May of 2022.  ## **What are the benefits of ERC-4626 concerning vaults?** The main benefit of ERC-4626 is that it standardizes tokenized vaults to make protocol integration easier and less prone to error. Since there is a common standard that you can integrate, there is no actual need to build separate adapters any longer. In a nutshell, it quickens development; composability at its peak.  Similarly, it reduces cost because builders no longer need to get auditors to help with their adapters and interfaces. Most importantly, ERC-4626 enhances security among [apps](https://www.alchemy.com/dapps/top/defi-dapps) and yield aggregators that are dealing with yield-bearing tokens. ## What changes does the ERC-4626 standard introduce? **With the new ERC-4626 token, there is now a standard for developers to build DeFi apps that involve yield tokens.** In a nutshell, the ERC-4626 standard implements the following features: - an optimized vault interface for developers who want to integrate it.  - gives shares as an exchange for deposit where shares serve represent fractional ownership of the vault's underlying token  - a consistent standard for developers to work with in developing yield-bearing contracts  - battle-tested security for vault tokens  ## **How ERC-4626 works: functions and events** The ERC-4626 is an extension of and compatible with[ ERC-20](https://www.alchemy.com/docs/how-to-interact-with-erc-20-tokens-in-solidity) standard. As a result, most of the usual variables, events, and functions that are applicable in ERC-20 token contracts still work with the ERC-4626 vault standard.  The vault standard introduces the concept of _shares_ as a way of getting fractional ownership out of the entire pool. These _shares_ refer to yield-bearing tokens.  Now let's start developing in ERC-4626.  While you can use languages like Cairo and Viper, we will write this contract with [Solidity](https://www.alchemy.com/overviews/solidity).  ### **1. Import OpenZepellin extensions into your IDE** After you have opened your IDE–we recommend Remix–instruct the compiler on the version of Solidity with which you’re writing the contract.  In this case, declare that you’ll be working with 0.8. After that, you’ll need to import two [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) extensions of both ERC-20 and ERC-4626.  Next, let’s create a contract and name it. ### **2. Create your contract** Name your contract and further entrench that it is based on both the ERC-20 token and ERC-4626.  _Contract, testingVaults is ERC20, IERC4626 \{ your entire code here\}_ ### **3. Implement the standard** After creating the contract, there are some important changes you should know about the methods, functions, and events in this standard. Thus, let's examine some of the methods and events in ERC-4626: #### Deposit When the users put any funds into the vault, the deposit function triggers the smart contract to mint a corresponding amount of shares to the depositor. As an event, the smart contract must be triggered whenever there is a deposit.  With this function, we have instructed the contract to deposit some tokens into the vault and give the ownership of shares to the caller. You can write the withdrawal function the same way.  #### **Withdrawal** The withdrawal function helps owners burn shares in exchange for assets. When there is withdrawal from the vault, the withdrawal event must be fired.  The address indexed \_from in this event represents the user who approved the depositing of tokens to the vault, while the person who can withdraw the deposited tokens is *the address indexed \_to*. #### Asset and totalAsset The address of the vault token should be used in the _asset_ function. The entire amount of the underlying asset in the smart contract should be declared under *totalAssets*. #### convertToShares and convertToAssets Under the ERC-4626 standard, there are two functions of conversion: `convertToShares` and `convertToAssets`. Where you need to convert assets to shares, `convertToShares` is the right function to call because it contains the number of shares to release in place of the assets. Conversely, `convertToAssets` works the other way round by converting shares to assets.  #### **Mint** The mint function is called for the receiver once there is a deposit. `maxMint` is the total amount of shares that can be created for a user or receiver in a vault. As a developer, you should set this.  #### **Redeem** The `redeem` function burns some shares from the owner—msg.sender—and sends assets to the receiver. If it is the case that the shares cannot be redeemed, for one reason or another, `redeem` must be reverted.  `maxRedeem` is the number of shares in the vault that the owner can redeem.  #### Preview When using the preview methods, developers must bear in mind that the values the methods return won’t be quite exact, but they will be close. You shouldn't rely on them as oracles.  You can use preview alongside other methods like `mint`, `withdraw`, `redeem`, and `deposit`.  And that’s it. You’ve successfully started your development journey with ERC-4626!  ## **Wrapping up – the future of ERC-4626** There is a new tide in DeFi with the advent of ERC-4626.  DeFi aggregators have always found it quite stressful to aggregate several yield-bearing tokens because there was no standard.  But now ERC-4626 makes it possible to have details of yield-bearing tokens with one API call.  The problem of going the extra mile to enhance the security of DeFi applications with yield-bearing tokens is solved—to a large extent—with this battle-tested standard.  Use of composability and interoperability among various DeFi protocols will increase in the next couple of years. It is even possible that this standard will be a pedestal to building and shipping completely new products in the DeFi ecosystem. --- # The Complete Guide to Solidity ERC20 Tokens (2024) URL: https://www.alchemy.com/overviews/erc20-solidity.md The [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) contains a wide variety of standards that represent the functionality of [smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract) from creation to deployment. The most common standards are ERC-20, ERC-721, ERC-777, and ERC-1155 with each serving its own main objective. This article defines ERC-20 tokens, gives some of their uses, and outlines some of the [mandatory functions in the Solidity programming language](https://www.alchemy.com/overviews/solidity-functions) developers need to use to stay in line with the standard. If you want to create your own ERC-20 token using [Solidity](https://www.alchemy.com/overviews/solidity), the guidelines and definitions within this article will give you a better understanding of how to do that.   ## **What is an ERC-20 token?** **The ERC-20 is a popular fungible cryptocurrency token compatible with Ethereum or EVM-compatible blockchains.** It serves as a digital asset that can represent anything on the blockchain, which enables flexibility for many use cases. This preset smart contract contains a specific interface that allows it to be used as a technical standard for development. Developers can leverage the ERC-20 token and its associated token rules for an easier developer experience. Popular decentralized exchange protocols like [Uniswap](https://www.alchemy.com/dapps/uniswap) and SushiSwap both leverage the ERC-20 token standard as building blocks for its seamless compatibility and integration into their ecosystems. ### **How are ERC-20 tokens used?** **As the ERC-20 token has no restrictions on what it can represent, it can expand further beyond a typical cryptocurrency \(i.e. ETH\). As a requirement, ERC-20 assets are fungible, transferable, and can be limited to a max supply. This is useful when creating rewards, physical objects, shares of a company, and much more.** Designed to standardize the development of tokens, the ERC-20 token can represent any fungible asset on the Ethereum blockchain. By providing a few variables to represent a particular asset \(e.g. name, symbol and supply\) anyone can launch an ERC20 token with the standard behavior and interface. ERC-20 tokens are fungible as each token is exactly equal to any other token. With no special rights or behavior associated with any individual token, this equality of value among ERC-20 tokens makes them useful in such applications as a medium of exchange, currency, voting rights, and staking. ### **Why is the ERC-20 token standard important?** The ERC-20 token standard introduces a specific approach for fungible tokens, ensuring that they all share similar properties. **‍**Since its [proposal in 2015](https://eips.ethereum.org/EIPS/eip-20), the development of the ERC-20 token standard allows for other protocols, platforms, and developers to create smart contracts that can use any token following the standard without creating special logic for each new token. The standardization for smart contracts enhances the development process and in turn, greatly benefits the entire crypto ecosystem. ## **What Solidity functions are mandatory for all ERC-20 tokens?** **The ERC-20 standard contains a set of methods and events that must be present in every implementation of the standard, including methods to transfer value, lookup balances for addresses and retrieve other metadata.** An understanding of the distinctions of the Solidity language and a practical knowledge of how to use functions to [create ERC-20 tokens on Ethereum](https://www.alchemy.com/docs/reference/token-api-overview) can accelerate your journey to become a Solidity developer. ### **1. totalSupply** The _totalSupply_ method denotes the current circulating total supply of the tokens. Here is an example: ### **2. balanceOf** The _balanceOf_ method calculates the number of tokens contained in a particular wallet address. Here is an example: ### **3. Transfer** The _transfer_ method sends tokens from one address to another, where the sender is the origin of the transaction. Here is an example: ### **4. Approve** The _approve_ method allows another address to spend tokens on your behalf. This is useful when interacting with smart contracts that need access to your tokens. A popular use case for the _approve_ method is a decentralized exchange. Here is an example: ### **5. transferFrom** **‍**The _transferFrom_ method is useful together with the _approve_ method. Once you approve someone to spend your tokens, they can _transferFrom_ your account to another account as part of a transaction. A good use case is a decentralized exchange. Here is an example: ### **6. Allowance** The _allowance_ method is the amount one address can spend on behalf of another address. Here is an example: ## **What Solidity functions are optional for all ERC-20 tokens?** **Names, symbols, and decimals are all optional functions serving as an extension to the base interface of the ERC-20 token contract.** Although these functions are not required, they provide additional details to the contract beneficial to understanding its objective. This [core interface](https://www.alchemy.com/overviews/solidity-interface) can serve as the base for additional customization and extensions to the smart contract. ### **1. Name**‍ The name is a human-readable name that defines the purpose of the contract. Here is an example: ### **2. Symbol** The symbol is a human-readable ticker of the token that can be used to represent it. Similar to ETH, BTC, etc. Here is an example: ### **3. Decimals** Decimals define the denomination of the smallest unit of the currency. It is most commonly 18, which is the same denomination for ether \([the smallest unit of ether is wei](https://www.alchemy.com/gwei-calculator): one ether is 1e18 wei\). ## **What are ERC-20 data structures?** ERC-20 data structures like tables of balances and allowances facilitate the organization and implementation of operations on the blockchain. ### **Balances** An internal table of token balances is used to track total ownership by a wallet address. Each transfer is a deduction from one balance and an addition to another balance. ### **Allowances** An internal table of token allowances are used to track delegated spending by a wallet address. Using [nested mapping](https://www.alchemy.com/overviews/solidity-mapping), the primary key is the address of the token owner which maps to a spender address and provides the delegated amount to spend. ## **Start building with Alchemy** The ERC-20 standard is the most important standard to emerge from the Ethereum ecosystem as it is widely adopted and used across the most important smart contract protocols. As a developer, it is highly recommended you spend time getting to know this standard and deploy your own ERC-20 token. To [learn about ERC-20 tokens](https://www.alchemy.com/overviews/learn-solidity) and other Solidity programming fundamentals, secure your spot in Alchemy University's Ethereum Developer Bootcamp. --- # ERC721 vs. ERC721A: Batch Minting NFTs URL: https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts.md As many NFT creators know, [deploying a smart contract to Ethereum mainnet](https://www.alchemy.com/overviews/nft-deployment-cost) can be insanely expensive. However, smart contract deployment costs are **not** the only cost blockchain engineers and NFT teams need to consider. [Creating a successful NFT collection](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project) or collectible avatar project includes building a community and making it easy for users to **mint**,** trade**, and** use** their NFTs. Let’s learn about a powerful NFT smart contract optimization that can help your community save gas fees on NFT minting costs: Implementing batch minting with the ERC721A contract! ### What is ERC721A? On Jan 6th, the Azuki NFT development team publicly announced [ERC721A, a new implementation of the ERC721 NFT standard](https://www.azuki.com/erc721a) that explores batch minting: In their blog post explaining the ERC721A smart contract implementation, **@locationtba** and **@2pmflow** show estimates of how much gas can be saved when batch minting via the most commonly used NFT smart contract starter code, [OpenZeppelin’s ERC721Enumerable contract](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#ERC721Enumerable), vs. batch minting NFTs using the new Azuki [ERC721A contract](https://github.com/chiru-labs/ERC721A): Mint 1

", tooltip: "", icon: "" }, "2": { title: "

154,814

", tooltip: "", icon: "" }, "3": { title: "

76,690

", tooltip: "", icon: "" }, "4": { title: "

78,124

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Mint 2

", tooltip: "", icon: "" }, "2": { title: "

270,339

", tooltip: "", icon: "" }, "3": { title: "

78,819

", tooltip: "", icon: "" }, "4": { title: "

191,520

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Mint 3

", tooltip: "", icon: "" }, "2": { title: "

384,864

", tooltip: "", icon: "" }, "3": { title: "

80,948

", tooltip: "", icon: "" }, "4": { title: "

303,916

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Mint 4

", tooltip: "", icon: "" }, "2": { title: "

501,389

", tooltip: "", icon: "" }, "3": { title: "

83,077

", tooltip: "", icon: "" }, "4": { title: "

418,312

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Mint 5

", tooltip: "", icon: "" }, "2": { title: "

616,914

", tooltip: "", icon: "" }, "3": { title: "

85,206

", tooltip: "", icon: "" }, "4": { title: "

531,708

", tooltip: "", icon: "" }, id: 4, }, ], }} /> This table shows how the gas used for ERC721A for an increasing number of mints scales at a much smaller constant factor. The gas cost to mint NFTs increases by: - **~2k gas per extra mint** using the Azuki ERC721A contract - **~115k gas per extra mint** using the [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) ERC721Enumerable contract This result is actually **AMAZING!** For the price of minting one single token via the ERC721Enumerable contract, a user can instead mint up to 5 tokens \(or more, potentially\) via the ERC721A contract. Who wouldn’t want users to save up to 80% on their mints? Here’s the best part: Not only do the NFT mint prices become cheaper for individual transactions, but there would also be **less network congestion** and **smaller gas price spikes** affecting the Ethereum network during popular collection drops. Pretty cool stuff. ### Verifying the gas savings for minting multiple NFTs I wanted to check the work myself, so I implemented two basic NFT contracts that [create NFTs](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity): 1. One [smart contract that mints using ERC721Enumerable](https://github.com/thatguyintech/demo-erc721a/blob/main/src/DemoErc721.sol), and 1. One [smart contract that mints using ERC721A](https://github.com/thatguyintech/demo-erc721a/blob/main/src/DemoErc721a.sol) Next, I called the mint function on each one and logged the gas costs for each transaction. Here are my results: You can find the code for these tests in this GitHub repo: [demo-erc721a](https://github.com/thatguyintech/demo-erc721a) The gas costs to make multiple NFTS here are slightly different than the ones shown in the Azuki blog post, but they are close, and the increase in gas fees from one mint, two mints, and multiple mints checks out. We’ve validated the gas savings for batch minting NFTs! ✅ ### How does the ERC721A smart contract save gas fees with batch minting? ERC721A makes some assumptions that influence its smart contract design: 1. **Token IDs should always increment consecutively starting from 0**. Most NFT projects already do this, and Azuki is explicit about it in their assumptions. 1. **Reducing the gas costs of minting NFTs is more important** than optimizing any other ERC721 call. Mints are when Ethereum network congestion happens, and they’re also users’ first impressions of an NFT collection. The easier the mint, the better the reputation. With these assumptions in place, ERC721A makes the following contract optimizations: 1. **Reduce wasted storage of token metadata.** 1. **Limit ownership state updates to only once per batch mint**, instead of once per minted NFT. We’ll take a look at how these optimizations are done, but before that we should understand what kinds of transactions cost the most gas fees. ### Reducing the work required to send write transactions saves users gas There are generally two kinds of transactions on the blockchain: writes and reads. **Writes** happen when we modify or update blockchain state \(e.g. sending money, writing a message, trading an NFT\). **Reads** happen when we request existing data to look at it. Users **always pay more gas fees for write functions than they pay for read functions**. Therefore, by reducing the number of write transactions, OR by reducing the work required to send write transactions, even if it takes more work to send read transactions later, this will reduce the NFT minting costs that users pay! And that’s exactly what ERC721A accomplishes. When it comes to NFT mints: mo’ storage, mo’ problems. Less storage, less problems. Brilliant, right? #100

", tooltip: "", icon: "" }, "2": { title: "

Alice

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

#101

", tooltip: "", icon: "" }, "2": { title: "

<not set>

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

#102

", tooltip: "", icon: "" }, "2": { title: "

<not set>

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

#103

", tooltip: "", icon: "" }, "2": { title: "

Bob

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

#104

", tooltip: "", icon: "" }, "2": { title: "

<not set>

", tooltip: "", icon: "" }, id: 4, }, ], }} /> The ERC721A contract only has to set the ownership metadata twice: once for the Alice’s batch and once for Bob’s batch. However, this means that transferring a tokenID that does not have an explicit owner address set, the contract has to run a loop across all of the tokenIDs until it reaches the first NFT with an explicit owner address to find the owner that has the right to transfer it, and then set a new owner, thus modifying ownership state more than once to maintain correct groupings. Here’s a test to [simulate transfer scenarios and log gas costs](https://github.com/thatguyintech/demo-erc721a/blob/main/test/gas-costs.js#L84-L97): t0

", tooltip: "", icon: "" }, "2": { title: "

71355

", tooltip: "", icon: "" }, "3": { title: "

92043

", tooltip: "", icon: "" }, "4": { title: "

92043

", tooltip: "", icon: "" }, "5": { title: "

92043

", tooltip: "", icon: "" }, "6": { title: "

92043

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

t1

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

91197

", tooltip: "", icon: "" }, "4": { title: "

111885

", tooltip: "", icon: "" }, "5": { title: "

111885

", tooltip: "", icon: "" }, "6": { title: "

117345

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

t2

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

93927

", tooltip: "", icon: "" }, "5": { title: "

114615

", tooltip: "", icon: "" }, "6": { title: "

114615

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

t3

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, "5": { title: "

96657

", tooltip: "", icon: "" }, "6": { title: "

111885

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

t4

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, "5": { title: "

", tooltip: "", icon: "" }, "6": { title: "

99387

", tooltip: "", icon: "" }, id: 4, }, ], }} /> They way to read this chart is to go x-axis first, and then y-axis, like: - “Mint a batch of 1 NFT, then transfer tokenID 0”, or - “Mint a batch of 3 NFTs, then transfer tokenID 1”, or - “Mint a batch of 5 NFTs, then transfer tokenID 4” From these results, we can see that transferring tokenIDs in the middle of a larger mint batch \(i.e. t1, t2\) costs more than transferring tokenIDs on the ends of the batch \(i.e. t0, t4\). Note that this quick experiment only tracks the cost of a single transfer after mint. ### A workaround to decrease transfer costs after batch minting NFTs Here’s an interesting solution to minimize the total cost of transferring your entire batch of NFTs \(original source from William Entriken @fulldecent\): 1. Always mint the maximum allowed number of NFTs during the batch mint. 1. When transferring, start with the ODD numbered tokens first in ASCENDING order. 1. After that, transfer EVEN numbered tokens. This strategy works because it forces population of the `\_addressData` mapping, making subsequent transfers cheaper to execute. ### Examples of NFT projects using ERC721A contracts Here is a [set of projects that are currently using the ERC721A contract](https://twitter.com/fulldecent/status/1491506123987431428?s=20&t=DZ-FrTtgF2gjSsPEv_1gZw): - @AzukiZen - @cerealclubnft - @TheLostGlitches - @standardweb3 - @KittyCryptoGang - @XRabbitsClub - @WhaleTogether - @pixelpiracynft - @dastardlyducks - @MissMetaNFT - @StarcatchersNFT - @LivesOfAsuna - @richsadcatnft - @themonkeypoly - @womenofcrypto\_ - @TravelToucans - @HuhuNFT ### ERC721A alternatives for batch minting NFTs And for those who are more adventurous, take some time to check out an even _newer_ optimization of the ERC721 standard called [ERC721Psi](https://medium.com/@medievaldao/erc721psi-a-truly-scalable-nft-standard-for-low-gas-on-chain-applications-and-randomized-metadata-c25c9e8ac8a8): We won’t get into ERC721Psi in this article, but if you’re curious and want to learn more about how that one works, let me know by shooting me a tweet [@thatguyintech](https://twitter.com/thatguyintech), and I’ll be sure to do another deep dive on it! We can even explore deploying some sample projects using Alchemy. ### Are ERC721A contracts still considered NFTs? The short answer is **yes,** ERC721A contracts are definitely NFTs. Any contract that implements the [ERC721 token standard or ERC1155](https://www.web3.university/article/comparing-erc-721-to-erc-1155) interfaces are considered non-fungible tokens or semi-fungible tokens. ERC721A is an extension and optimization of the ERC721 standard. The same is true for ERC721Enumerable and ERC721Psi. They’re all part of the ERC721 family! ### How to burn ERC721A tokens When you want to get rid of an NFT or a token that you have in your wallet, but you don’t want to give it to another person, and you don’t want to sell it, you can burn it by sending it to a specific wallet address that no one uses. A lot of people like to use the same burn addresses because they are easy to remember. For example, the 0 address: `0x0000000000000000000000000000000000000000` However, when it comes to ERC721A NFTs, **you cannot transfer tokens to the 0 address to burn NFTs** because most tokens minted in a batch are mapped to the 0 address by default. Pick another address with which to burn your ERC721A NFTs and you’ll be fine! For example, another common burn address is the "0xdead" address: `0x000000000000000000000000000000000000dEaD` ### Will you use the ERC721A contract to batch mint your NFTs? The ERC721A contract is a powerful way to save your community gas costs and save the Ethereum network from unnecessary congestion by batch minting NFTs. Let us know what kind of an NFT project you’re building and how we can help! We have tools to help you deploy, monitor, notify, and [market your next NFT collection](https://www.alchemy.com/amplify). Don’t wait, shoot us a tweet [@Alchemy](https://x.com/Alchemy) or send a DM and let’s chat! --- # The New Ethereum Upgrade (2.0) URL: https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022.md **Notice**: This overview contains outdated content. Since written, Ethereum successfully completed "The Merge" and transitioned to using Proof-of-Stake consensus provided by the Beacon Chain. The plans for sharding mainnet pivoted towards a [layer-2 centric roadmap](https://www.alchemy.com/overviews/sidechains-vs-layer2s), powered by [danksharding](https://www.alchemy.com/overviews/danksharding) and [modular design principles](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains). When Ethereum first laid the groundwork for a world of new decentralized possibilities, it attracted users with its native support for smart contracts and [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps). However, its adoption by millions is energy intensive and has caused extremely high gas fees, network congestion, long transaction times, and large blockchain size–problems not uncommon with proof of work, the consensus mechanism Ethereum employs. ## **What is Ethereum 2.0?** Ethereum originally called their new upgrade Ethereum 2.0 or Eth2. But, as of January 24th 2022, they've deprecated that term due to misunderstandings among users. Ethereum now favors the terms “execution layer” \(Eth1\) and  “consensus layer” \(Eth2\). This Ethereum upgrade was never meant to replace the execution layer, but to supplement it. So there is no Eth2, only a better, more evolved Ethereum.  This upgrade, also called Serenity, aims to solve some of the structural problems of Ethereum by making it more sustainable, scalable, and secure. Ethereum will soon include two key upgrades: Proof of Stake \(PoS\) and Sharding. ### **Switching consensus mechanisms from proof of work \(PoW\) to proof of stake \(PoS\)** Proof of stake and proof of work are known as consensus mechanisms. These mechanisms allow all the computers of a given crypto network to agree on what transactions are valid. PoS is a consensus mechanism in which transactions are confirmed by a network of validators who are “staking” their ETH, rather than miners conducting PoW computations. By shifting away from the computationally-intensive PoW process, Ethereum will be vastly less energy intensive going forward. ### **Adding sharding** In sharding, the blockchain is separated into sections, spreading the load of the network. Previously nodes had to process the entire blockchain’s transaction, but with sharding, nodes will now only maintain their shard’s transactions. ## **Transitioning to proof of stake** Ethereum’s planned move comes at a time when new blockchains like Algorand and Solana are growing in popularity due in part to their PoS advantages over Ethereum. These advantages result often in lower transaction fees and faster time-to-finality \(speed\).  Many see proof of stake and similar consensus mechanisms as the future standard, including Vitalik Buterin, the founder of Ethereum, who believes most blockchains will eventually utilize proof of stake. ## **How do proof of stake and proof of work differ?** Ethereum  currently uses PoW, initially pioneered by Bitcoin. PoW consists of miners, often in groups known as mining pools, competing to solve complicated mathematical problems. In this process, miners race to compute a hash that matches Bitcoin’s current target. The first to find this correct hash, ultimately updates the blockchain with the newly verified transactions and receives the chain’s token as a reward.  While PoW is a proven and secure method of consensus, it has become an increasingly impractical and energy-intensive process as blockchain networks scale. Smart contract compatible networks like Ethereum can generate significant transaction volume. Validating these transactions using PoW requires immense computing power.  PoS solves this by replacing mining with a staking mechanism that requires validators to deposit a set amount of the chain’s token as collateral in order to participate as a validator in the network. Unlike PoW, PoS requires significantly less computational power because instead of competing with each other all at once, one validator is chosen at random.  When a validator is chosen, they win the right to write to the blockchain, and that information is then validated by the rest of the network in a process known as attestation. In return, validators are rewarded with the chain’s token. If a chosen validator proposes an incorrect or malicious block, it loses its stake in a process known as slashing. In order to run a validator node on the upgraded Ethereum, one has to stake a minimum of 32 ETH. ## **What is sharding?** Sharding, a common concept in computer science, is the idea of splitting a database to spread the load. For Ethereum, this will mean splitting the network into 64 chains known as “shards.” Similar to the current [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum), each shard will eventually contain its own set of account balances and smart contracts.  By separating the blockchain into multiple parts, validators will no longer be responsible for processing every transaction broadcasted on the Ethereum network. Validators will instead verify new blocks on their own shard, which a “committee” \(128 randomly selected validators\)then confirms on the main Ethereum chain. Once a shard block has enough attestations, a “cross-link” is created with the Beacon Chain to confirm the transactions for the entire network. [The Beacon](https://www.alchemy.com/dapps/the-beacon) Chain is the main coordinating mechanism for the shards. It is responsible for relaying shard state information to and from other shards, as well as managing the validator process. The Beacon Chain will generate random numbers to assign stakers to validate the shard chains. ## **How this will affect sustainability?** Since PoS relies on staking currency rather than computing power like PoW, it is significantly less energy-intensive. This is an important improvement for Ethereum, as today it is estimated the network’s [annualized consumption is 112.9 TWh](https://digiconomist.net/ethereum-energy-consumption), roughly equivalent to the Netherlands’ annual consumption \(a country of 17.4 million people\). The Ethereum development team estimates that this transition could [cut energy consumption by 99.95%](https://blog.ethereum.org/2021/05/18/country-power-no-more/). ## **How this will affect scalability?** Along with energy benefits, PoS and sharding will greatly expand Ethereum’s capacity.  Currently, the Ethereum network can only support 15 transactions/second. With millions of users joining and new applications launching daily, this transaction limit has significantly limited Ethereum utility. Furthermore, current consensus mechanisms require each node to hold the entire network’s data, which has already surpassed 1TB. As the network scales, these growing disk space requirements are unsustainable and limit who can run a node.  With PoS, running a node will not require such significant investments in hardware and energy, and these costs won’t increase with the size of the network.  Additionally, adding sharding will ultimately decongest the network as more transactions can be processed simultaneously and storage requirements decrease. According to Ethereum's development team, these changes can result in throughput of 100,000 transactions/second. ## **How this will affect security?** Another benefit of PoS is that it will increase decentralization and improve security. The hardware requirements will be lower, thereby lowering the barrier to entry for more nodes in the network. Following the upgrade, Ethereum will have at least 16,384 validators compared to the [current 2,700](https://etherscan.io/nodetracker). Switching to PoS also further disincentivizes potential attacks. First, an attempted attack by validators could result in the protocol destroying the validators’ staked ETH, known as slashing. Second, attacks such as a [51% attack](https://academy.binance.com/en/articles/what-is-a-51-percent-attack) or [Sybil attack](https://academy.binance.com/en/articles/sybil-attacks-explained) would now require attackers to hold 51% of the staked ETH rather than controlling 51% of the network's mining power. Not only is this an unrealistic amount \(~$15 billion USD as of today\), it would likely lead to a significant devaluation of ETH, discouraging such an attack. ## **Where are we in Ethereum's development timeline?** ### **Before the upgrade** In 2015, Vitalik Buterin [recognized the need](https://blog.ethereum.org/2015/03/03/ethereum-launch-process/) for a PoS upgrade. Not only is this upgrade a significant upgrade for the platform, but it also fulfills Buterin’s long-awaited vision for Ethereum and one the core Ethereum Foundation team has been working towards for many years. “You can think of Ethereum 1.0 as a prototype. We had to release something that we knew wouldn’t be scalable to prove that you could build decentralized applications.” — Joe Lubin, Ethereum co-founder. ### **The beacon chain** On December 1st, 2020 the Beacon Chain, the first part of this new upgrade, went live. Right now, the Beacon Chain and the Ethereum Mainnet exist as parallel chains and nothing has changed about how we use the original Ethereum chain.  The Beacon Chain update introduces PoS to Ethereum. Users can now use deposit contracts to transfer their ETH from the Mainnet to the Beacon Chain, enabling them to stake their ETH and further secure the Beacon Chain. However, withdrawals will not be possible until the Ethereum Mainnet “docks” with the Beacon Chain in the next update known as the “Merge.” This means people who stake their ETH will have to wait a bit to reap their rewards. Currently, there are ~10 million ETH staked out of a total supply of ~120 million.  Initially, validators will be adding new blocks to just the Beacon Chain. But once the “Merge” occurs, these validators will begin contributing blocks to the main Ethereum network. In setting up PoS, the Beacon Chain provides the necessary infrastructure for sharding to occur. Eventually, the Beacon Chain will be in charge of randomly assigning the shard chain validators, which is necessary to provide secure sharding. Sharding is set to be added in the upgrade following the “Merge.” ### **The merge** Originally planned for Q4’21, the Merge is now slated for Q2’22. Once complete, Ethereum Mainnet will become a shard within the Beacon Chain and PoS will become the official consensus mechanism. The Ethereum Mainnet shard will use PoS, ending both PoW and mining for Ethereum.  By adding the Mainnet, this new PoS Ethereum will now contain the ability to execute smart contracts and have all the full history and state of Ethereum. It is important to note features such as withdrawing staked ETH will not be immediately supported following the Merge. These instead are slated to launch in the first hard fork that follows. ### **Shard chains** Expected in 2023, shard chains will come in two updates. ##### **Version 1: data availability** Shard chains will initially only provide extra data to the Ethereum network, adding in 63 new chains \(64 in total\). At launch, they won’t support transactions or smart contracts. However, these added chains, along with rollups, will dramatically improve transaction capacity and lower gas fees, paving the way for [tens of thousands of transactions per second](https://blog.ethereum.org/2020/06/02/the-state-of-eth2-june-2020/). Rollups are a [layer 2](https://www.alchemy.com/dapps/best/layer-2-blockchains) solution that execute transactions off the main Ethereum chain \(layer 1\), then post completed transaction data to layer 1. This process of “rolling up” transactions into a single off-chain transaction has significant scalability benefits. ##### **Version 2: code execution** The final part of the upgrade will make the shards more similar to the current Ethereum Mainnet, enabling them to process transactions and execute smart contracts. Shards will also be able to communicate, allowing for cross-shard transactions. Whether this step is necessary is debated within the Ethereum community. Many consider the increase in transactions per second provided in “Version 1: Data Availability” to be sufficient, and thus no need for “smarter” shards.  It remains to be seen to what extent execution shards will be necessary to speed up delivery. ## **Broader implications of Ethereum upgrade**  Once the Ethereum upgrades are realized, it may be that  Ethereum resolves many of the bottlenecks facing its blockchain’s overall ecosystem. Gas prices at the time of writing easily exceed 80 Gwei \(~$30\), making transfers of smaller amounts impractical and therefore limiting the pool of users. Additionally, this congestion is causing long transaction times, in many cases taking hours; which further limits the current utility of Ethereum. With Ethereum’s new advancements in sustainability, scalability, and security, many of these bottlenecks will be improved, paving the way for greater Ethereum adoption and use cases. While the Web3 space as a whole will surely benefit from the technical enhancements the upgrade brings, some areas of DeFi such as lending and yield farming may see increased competition, as staking could become an alternative to these investment tactics. However, this is likely an unnecessary concern at least in the short term, as DeFi yields typically exceed the upgraded Ethereum’s staking rewards.  How long it will take for apps to transition to this new technology remains an open question. Jack O’Holleran, CEO of Skale Labs - creators of the Skale network - suggests that most apps will wait until the merge and likely will transition sometime after “at their leisure.” And although it's still unclear when exactly the upgrade will be complete or fully adopted, it is clear that upon completion, it will provide potential for sweeping improvements to the entire ecosystem. --- # What are Ethereum commitment levels? URL: https://www.alchemy.com/overviews/ethereum-commitment-levels.md The [Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain) introduces two new Ethereum commitment levels, _safe_ and _finalized_, that are used to label blocks alongside the existing _latest_, label from the PoW chain. The _latest_ block tag is the most recent block to be added to Ethereum's blockchain, also known as the "head," the _safe_ commitment level is one epoch \(i.e. 32 slots\) behind the current epoch, and the _finalized_ commitment level is one epoch behind the most recently marked _safe_ block. Ethereum commitment levels are helpful because they offer useful primitives for web3 developers to query unlikely-to-[reorg](https://www.alchemy.com/overviews/what-is-a-reorg) blocks enabled by Ethereum’s Proof-of-Stake algorithm changes.  Because developers have higher guarantees that _justified_ and _finalized_ blocks are unlikely to be reorged, they can build stronger assumptions into their smart contracts and decentralized applications. ## **What is a block number?** **The block number is a numerical value used to designate the order of a block added to the blockchain.** For example, if the pending block being built and validated has a block number of 100, the most recently validated block \(i.e. the _latest_ block\) would have a block number of 99.  ## **What is a chain re-organization \(re-org\)?** A [**chain re-organization**](https://www.alchemy.com/overviews/what-is-a-reorg) is when a block that was added to the canonical chain (i.e. main chain, or longest chain) is removed and replaced by a different block. Reorgs impact settlement finality because blocks added to the canonical chain can be changed through a reorg. Because reorgs can happen from exploits and as a result of [Maximal Extractable Value \(MEV\)](https://www.alchemy.com/overviews/what-is-mev), trusting that the latest block is settled is a difficult assumption for developers to make.  With the migration from Proof-of-Work to Proof-of-Stake, Ethereum’s Beacon chain introduced _safe_ and _finalized_ block commitment levels to provide developers with stronger guarantees. ## **What is an epoch?** **In the post-merge Ethereum environment, the Beacon Chain introduces slots, which are opportunities for new blocks to be built, and epochs which are equal to 32 slots.** Because a new block can be validated exactly every 12 seconds, an epoch is equal to 6.4 minutes. During each epoch, the Beacon Chain randomizes a committee of validators to attest to the validity of blocks being added to the blockchain. The _safe_ and _finalized_ block commitment levels are determined based on epochs. While there are [32 slots in each epoch](https://ethereum.org/en/developers/docs/data-and-analytics/block-explorers/#consensus-layer-data), on rare instances \(less than 1%\), a block might not get validated in every slot, so some epochs may have less than 32 blocks. One example is if the randomly chosen validator is not online. ## **What are Ethereum commitment levels?** [**Ethereum commitment levels**](https://www.alchemy.com/docs/how-to-get-the-latest-block-on-ethereum) are tags used to label validated blocks as either latest, justified, or finalized, which offers developers certain guarantees with regards to how likely the blocks will be reorganized. ### **1. Latest** ‍The _latest_ block is the most recent block to be built and validated by Ethereum validators. The _latest_ block should be used with caution because there are no guarantees that the Beacon Chain will not get reorganized, and this block becomes an Uncle Block, or [a block that was not added to the canonical chain](https://www.alchemy.com/docs/what-are-uncle-blocks). ### **2. Safe** ‍The _safe_ block is a block that has received attestations from two-thirds of Ethereum’s validator set. _Safe_ blocks are understood as unlikely to be reorged.  For example, one of the few ways _safe_ blocks could experience a chain reorganization is if there is a large-scale, coordinated attack on the network. ### **3. Finalized** A finalized block is a justified block that is 1 epoch behind the most recently _justified_ block. _Finalized_ blocks are extremely [unlikely to be re-organized](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer), with the only exception being if a two-thirds majority of validators finalize a competing chain of blocks. ## How are safe and finalized commitment levels determined? Safe and finalized commitment levels are determined by the completion of epochs. Let’s imagine the first three epochs \(epoch 0, 1, and 2\) after The Merge to visualize how safe and finalized blocks work. - Epoch 0 = blocks 0-31 - Epoch 1 = blocks 32-63 - Epoch 2 = blocks 64-95 - Epoch 3 = blocks 96-127 Let’s assume the latest block is block 96, which marks the beginning of epoch 3 and the end of epoch 2. Because block 96 includes [attestations](https://www.paradigm.xyz/2021/07/ethereum-reorgs-after-the-merge) \(i.e. votes from validators that signal the [proposed canonical block head](https://www.alchemy.com/overviews/proposer-builder-separation) is true\) for block 64, once the Beacon Chain receives attestations from two-thirds of the validators, block 64 is labeled as _justified \(safe\)_.  Once block 64 is labeled is justified and marked _safe,_ the previously justified block is marked as _finalized_. Because safe and _finalized_ blocks occur at the beginning of epochs, block 32 \(the first block of epoch 1\) is marked _finalized_. Here’s another way to visualize it if the current block number is 96: - Block 96 \(start of epoch 3\) = _latest_ - Block 64 \(start of epoch 2\) = _justified _\(_safe_\) - Block 32 \(start of epoch 1\) = _finalized_ --- # What Is the Ethereum Fusaka Upgrade? Dev Guide to 12 EIPs URL: https://www.alchemy.com/overviews/ethereum-fusaka-upgrade-dev-guide-to-12-eips.md The Fusaka upgrade is Ethereum’s next major hard fork, tentatively targeting mainnet activation on December 3, 2025. It’s already live on [testnet](https://blog.ethereum.org/2025/09/26/fusaka-testnet-announcement) for early integration and developer testing. Fusaka picks up where [Pectra](https://www.alchemy.com/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips) left off, introducing 12 protocol changes \(EIPs\) that deepen Ethereum’s scalability, validator transparency, gas economics, and cryptography, making Fusaka the largest upgrade ever in terms of included EIPs. Fusaka is named after the combination of "Fulu" \(consensus layer upgrade, named after a star\) and "Osaka" \(execution layer upgrade, named after a Devcon location\). In this article, we breakdown each improvement coming in Fusaka, explaining what changes and how it impacts you as a developer, whether you’re deploying an app, smart contracts, or building your own chain. ## Key EIPs at a glance Fusaka’s 12 EIPs address four major areas: - **Data availability & sampling:** Unlocks new scaling paths for rollups and blobs. - **Cryptography & math primitives:** Native precompiles for the industry-standard secp256r1 curve, expanding onchain crypto. - **Gas & execution changes:** Optimizes gas costs and protocol resource allocation. - **Consensus & validator operations:** Adds more predictable validator selection and efficiency. EIP-7594

", tooltip: "", icon: "" }, "2": { title: "

PeerDAS (Peer Data Availability Sampling)

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

EIP-7951

", tooltip: "", icon: "" }, "2": { title: "

Precompile for secp256r1 Curve Support

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

EIP-7823

", tooltip: "", icon: "" }, "2": { title: "

Set upper bounds for MODEXP

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

EIP-7825

", tooltip: "", icon: "" }, "2": { title: "

Transaction Gas Limit Cap

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

EIP-7883

", tooltip: "", icon: "" }, "2": { title: "

ModExp Gas Cost Increase

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

EIP-7917

", tooltip: "", icon: "" }, "2": { title: "

Deterministic proposer lookahead

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

EIP-7934

", tooltip: "", icon: "" }, "2": { title: "

RLP Execution Block Size Limit

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

EIP-7939

", tooltip: "", icon: "" }, "2": { title: "

Count leading zeros (CLZ) opcode

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

EIP-7918

", tooltip: "", icon: "" }, "2": { title: "

Blob base fee bounded by execution cost

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

EIP-7892

", tooltip: "", icon: "" }, "2": { title: "

Blob Parameter Only (BPO) Hardforks

", tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

EIP-7642

", tooltip: "", icon: "" }, "2": { title: "

eth/69 - history expiry and simpler receipts

", tooltip: "", icon: "" }, id: 10, }, { "1": { title: "

EIP-7935

", tooltip: "", icon: "" }, "2": { title: "

Set default gas limit to 60M

", tooltip: "", icon: "" }, id: 11, }, ], }} /> ## Data availability & scalability ### EIP-7594: peer data availability sampling \(PeerDAS\) EIP-7594 introduces Peer Data Availability Sampling \(PeerDAS\), a major shift in how Ethereum verifies and stores [blob](https://www.eip4844.com/) data. Instead of every node downloading full blobs, nodes now sample small random pieces from peers and collaboratively verify that the complete dataset is available. This lets the network handle far more data without sacrificing trust or decentralization - a prerequisite for scaling Ethereum’s data layer to hundreds of blobs per block. PeerDAS is the first practical step toward full [Danksharding](https://www.eip4844.com/). By allowing nodes to specialize in storing partial data while still validating everything, Ethereum’s throughput ceiling rises dramatically. In the long run, this mechanism could expand data capacity from hundreds of kilobytes per second to several megabytes, directly reducing Layer 2 posting costs and enabling high-throughput applications. [Rollups](https://www.alchemy.com/rollups) can post much larger batches of transactions at lower cost, allowing higher throughput and cheaper user fees. Integrations will need to adjust blob posting logic to take advantage of the expanded capacity. ### EIP-7892: blob parameter only \(BPO\) hardforks EIP-7892 introduces a new mechanism called Blob Parameter Only \(BPO\) hardforks, allowing Ethereum to adjust blob-related parameters such as target and maximum blobs per block without requiring a full network upgrade. Instead of bundling these changes with major forks, BPO creates a lightweight, independent process for scaling blob capacity as Layer 2 data demand grows. Before Fusaka, changing blob limits meant waiting for a coordinated hardfork, often months apart. With BPO, Ethereum can now increase blob capacity in smaller, safer steps, reacting quickly to network usage while maintaining predictable scaling. This keeps fees stable, supports continuous Layer 2 growth, and removes bottlenecks caused by infrequent, high-risk parameter changes. ### EIP-7918: blob base fee bounded by execution cost EIP-7918 refines Ethereum’s blob fee market by introducing a _reserve price_ tied to the main execution gas fee. This ensures blob fees never drop below a fair baseline relative to overall network demand. When execution gas becomes expensive but blob usage stays low, the system prevents blob prices from collapsing to near-zero \(for example, 1 wei\), maintaining a balanced and functional market for data availability. Without this mechanism, the blob fee market could lose its economic signal during periods when execution dominates network activity—making it artificially cheap to post large data blobs. By anchoring blob pricing to execution costs, EIP-7918 keeps the blob market efficient, prevents under-pricing, and smooths out fee spikes when usage suddenly rises. ### Dev impact of data availability & scalability - Rollup and L2 devs can start testing higher blob posting volumes. Expect lower costs and higher throughput over time, and rollups and L2s gain room to include more onchain data per transaction without cost explosions. This unlocks new product classes previously limited by calldata or blob pricing. - Client upgrades are mandatory. Nodes now participate in coordinated sampling rather than downloading all data, so storage and bandwidth requirements shift but the overall load becomes more balanced and scalable. - EIP-7594 \(PeerDAS\) changes the proof format from blob proofs to cell proofs. Blob transaction originators \(L2s, etc.\) must update their software to create cell proofs instead of blob proofs. This change may break applications that send blob transactions. [Read the full details and migration guide](https://blog.ethereum.org/2025/10/15/fusaka-blob-update). - Developers are encouraged to validate their rollup sequencers and DA pipelines on the Fusaka testnet before mainnet activation on December 3 2025, and verify compatibility across all client versions implementing PeerDAS and BPO scheduling. ## Cryptography & math primitives ### EIP-7939: CLZ \(count leading zeros\) opcode EIP-7939 introduces a new opcode, CLZ, which counts the number of leading zero bits in a 256-bit value. It returns how many zero bits appear before the first “1” bit in a 256-bit value. For example, 0x000...001 gives 255, and 0x800...000 gives 0. It pops `x` from the stack and pushes the number of leading zero bits in `x` to the stack. If `x` is zero, it pushes 256. This small but powerful addition eliminates the need for expensive bit-looping logic in [Solidity](https://www.alchemy.com/overviews/solidity) when performing low-level math operations. CLZ enables efficient implementations of integer logarithms, normalization, randomness generation, and bit-based computations — all in a single opcode. DeFi protocols, rollup contracts, and cryptographic primitives that depend on fast bit manipulation or log-scale math will benefit from measurable gas savings and cleaner logic. Example use case: ### EIP-7951: precompile for secp256r1 curve EIP-7951 adds a native precompile for the secp256r1 \(NIST P-256\) elliptic curve, one of the most widely used cryptographic curves in WebAuthn, hardware security modules, and enterprise wallets. Until now, Ethereum only supported secp256k1 and BLS12-381, forcing developers to verify P-256 signatures off-chain or through costly custom contracts. This precompile brings fast, low-gas verification directly to the EVM. Native support for secp256r1 unlocks seamless integration with WebAuthn and FIDO2 standards — the same cryptography used in hardware keys, browsers, and enterprise authentication systems. Wallets and apps can now verify user signatures natively onchain, reducing reliance on external relays or custodial layers. It’s a critical step for enterprise and mainstream adoption, bridging real-world identity systems with Ethereum smart contracts. ### Dev impact of cryptography & math primitives - **EIP-7951 \(secp256r1 precompile\):** Developers gain native, low-gas support for the secp256r1 \(P-256\) curve — the same cryptography used in WebAuthn, hardware wallets, and enterprise systems. This makes it possible to build onchain authentication, hardware key verification, and secure login flows directly in smart contracts without relying on off-chain verification or custom math libraries. It also opens the door for enterprise and institutional integrations, where P-256 is already standard, giving developers easier access to real-world identity and security systems. - **EIP-7939 \(CLZ opcode\):** The new CLZ opcode gives developers a native, gas-efficient way to handle bit-level math, removing the need for 256-iteration loops in Solidity. This makes operations like log2, normalization, randomness, and bitmasking far cheaper and simpler to implement. Math-heavy protocols such as AMMs, rollups, oracles, and proof systems can expect significant gas savings and cleaner, faster logic using this opcode. - Together, these upgrades extend the EVM’s cryptographic and mathematical capabilities, letting developers build more secure, more efficient, and real-world compatible applications directly on Ethereum. ## Gas & execution changes ### EIP-7823 & EIP-7883: MODEXP bounds and gas cost increase EIP-7823 and EIP-7883 work together to redefine the cost and limits of the MODEXP \(Modular Exponentiation\) precompile, a function used in onchain cryptography and zk-proof verification. These updates cap the maximum allowed input size and increase gas costs to better reflect the computation required, preventing potential denial-of-service vectors from underpriced heavy math operations. By tightening the upper bounds and adjusting pricing, Ethereum reduces the risk of computational abuse while making gas usage more predictable for complex math operations. This improves stability for contracts performing cryptographic functions such as zk-SNARK verification, modular arithmetic, and elliptic curve math. ### EIP-7825: transaction gas limit cap EIP-7825 introduces a hard upper bound for how much gas a single transaction can consume. This ensures that one large transaction can’t monopolize an entire block’s capacity or delay other transactions. This makes block execution more consistent and reduces the risk of outlier transactions impacting network performance. Developers deploying high-compute contracts or large batch operations will need to design flows that split computation across multiple transactions instead of packing everything into one. ### EIP-7934: RLP execution block size limit EIP-7934 sets a new limit on the RLP-encoded block size, essentially capping how large a block can be once serialized. This prevents excessive block growth and improves propagation efficiency across nodes. With this cap in place, block propagation becomes faster and more predictable, lowering the risk of propagation delays and forks. It also standardizes client behavior around large blocks, improving cross-client consistency. ### EIP-7935: default gas limit to 60m EIP-7935 increases the default gas limit per block to 60 million, up from previous thresholds. This adjustment aligns with growing blob and execution data needs, giving developers and rollups more room to process complex transactions and batch operations. The higher gas ceiling expands usable blockspace, allowing larger rollup batches, complex DeFi interactions, and higher throughput for data-heavy applications. It’s a direct benefit for developers building onchain systems that routinely hit prior block gas limits. ### Dev impact of gas & execution changes - **EIP-7823 & EIP-7883 \(MODEXP updates\):** Developers using modular exponentiation for cryptography or zk-proofs will see higher but more predictable gas costs. Update gas assumptions in verification and proof contracts to prevent underpriced calls or unexpected reverts due to new upper bounds. - **EIP-7825 \(Transaction Gas Limit Cap\):** Apps performing large computations or complex state updates must split heavy logic across multiple transactions or adopt batching mechanisms. Frameworks handling multi-step transactions \(like bridges or sequencers\) should validate that execution fits within the new per-tx cap. - **EIP-7934 \(RLP Block Size Limit\):** Infrastructure providers, explorers, and tracing tools should ensure compatibility with capped RLP block sizes. Clients and APIs relying on block serialization must handle edge cases for near-limit blocks gracefully. - **EIP-7935 \(Default Gas Limit 60M\):** Developers benefit from more blockspace for rollup batches, DeFi interactions, and high-frequency operations. This also gives builders flexibility for data-rich protocols without risking network instability. - Collectively, these upgrades make Ethereum’s execution environment more predictable, scalable, and secure, giving developers a smoother foundation for high-throughput [apps](https://www.alchemy.com/dapps/top/defi-dapps), L2 systems, and onchain cryptography. ## Consensus & validator operations ### EIP-7917: deterministic proposer lookahead EIP-7917 introduces a deterministic proposer lookahead mechanism for Ethereum validators. Instead of relying on short-term randomness to determine who proposes the next block, validators can now know the proposer set several slots in advance. This transparency reduces uncertainty and aligns block production more predictably across the network. Deterministic lookahead improves validator coordination, MEV smoothing, and block relay efficiency. Builders, proposers, and relays can plan more effectively since the next proposer is known early. It also minimizes last-minute [reorg](https://www.alchemy.com/overviews/what-is-a-reorg) attempts and improves fairness in the proposer rotation process. ### EIP-7642: history expiry & simpler receipts EIP-7642 \(also known as _eth/69_\) simplifies how Ethereum handles old chain data by introducing history expiry and a new, cleaner receipt format. Older historical data can now be pruned safely after a set period, while receipts become lighter and easier to verify. This change significantly reduces long-term state growth for nodes, lowering storage costs and improving sync times. Simpler receipts also streamline proof verification for light clients and indexing tools. Ethereum’s node operation becomes more sustainable as the chain continues to grow in size. ### Dev impact of consensus & validator operations - **EIP-7917 \(Deterministic Proposer Lookahead\):** Validator operators and staking clients should update to the new proposer selection logic to ensure consistent view of future proposer sets. MEV builders and block relays can begin planning block templates further in advance, improving latency and reducing race conditions in the block submission pipeline. Monitoring and analytics tools should surface future proposer rotations for transparency and validator coordination. - **EIP-7642 \(History Expiry & Simpler Receipts\):** Node operators benefit from reduced disk usage and faster pruning but must verify client settings for data retention if archival access is required. Infrastructure and explorer developers should update receipt decoding and indexing pipelines to match the simplified receipt structure. Apps or proof systems that depend on old transaction receipts may need to rely on third-party archival services once history expiry takes effect. Together, these EIPs improve validator coordination, block propagation, and long-term node sustainability — giving developers a faster, leaner, and more predictable consensus layer to build on. ## A faster, smarter Ethereum for the next era The Fusaka upgrade marks another major milestone in Ethereum’s evolution bringing together breakthroughs in data availability, gas efficiency, consensus predictability, and cryptographic power. For developers, Fusaka delivers a more efficient execution layer, a predictable fee market, and a stronger cryptographic base enabling faster rollups, lighter node operations, and new use cases like native WebAuthn verification and precision math on-chain. The result is a more scalable, secure, and developer-friendly Ethereum, ready for the next generation of high-performance applications. ### Explore resources - [PeerDAS & blob scaling:](https://blog.ethereum.org/2025/10/15/fusaka-blob-update) Learn how to migrate to cell proofs and prepare rollups for higher blob capacity. - Learn [how teams like World scale to millions](https://www.alchemy.com/case-studies/scaling-world-chain) with Alchemy rollups and [reach out to our team](https://www.alchemy.com/contact-sales-rollups) to get access. - Start building on Ethereum: Build the future of the internet economy using Alchemy's world-class blockchain developer platform. We’re here to help you make the most of Fusaka. Get in touch with our team, start testing on the Fusaka testnet, and build the future onchain. ## FAQs ### When is the Ethereum Fusaka upgrade happening? The Fusaka upgrade is currently live on testnet and is targeting mainnet activation on December 3, 2025. Developers, node operators, and rollup teams should begin integration testing now to ensure compatibility with PeerDAS, gas schedule updates, and client behavior changes. ### How do wallets and apps integrate the new secp256r1 precompile \(EIP-7951\)? Fusaka introduces a native precompile for the secp256r1 \(P-256\) elliptic curve, the same curve used in WebAuthn, FIDO2 devices, and many enterprise authentication systems. Wallets and apps that already rely on WebAuthn for sign-in will now be able to verify signatures directly on-chain without relays or custom cryptographic libraries. To integrate, you will reference the new precompile address and update signature verification logic to call it directly instead of performing off-chain validation. This makes secure, passwordless login and hardware-key-based transactions significantly easier to implement. ### How does PeerDAS affect rollup data posting and DA pipelines? Peer Data Availability Sampling \(EIP-7594\) changes how blob data is stored and validated across the network: nodes now sample pieces of blob data rather than downloading the full blob. This allows rollups to post larger batches at lower cost, improving throughput and reducing per-transaction fees. However, rollups that currently generate blob proofs must update their software to generate cell proofs, which represent the new DA proof format. This is the primary breaking change for L2 sequencers, DA pipelines, and any tooling that prepares blob transactions. ### How will fusaka impact gas fees across Ethereum and L2s? Fusaka includes updates that make execution costs more predictable, expands block gas capacity, and adjusts pricing for certain cryptographic operations. For users, this generally means lower L2 fees over time, since PeerDAS unlocks larger and more efficient blob posting. For developers, gas-heavy operations like modular exponentiation become more accurately priced, so some zk-verification or math-heavy contracts may cost more per call but with less variability. Overall, Fusaka pushes Ethereum toward cheaper rollup execution and more stable fee markets across the stack. --- # What is an Ethereum Node-as-a-Service? URL: https://www.alchemy.com/overviews/ethereum-node-as-a-service.md [RPC nodes](https://www.alchemy.com/overviews/rpc-node) are an essential piece of blockchain infrastructure because they allow anyone in the world to send and request information and transactions to the blockchain. Because running your own node is an expensive financial investment, in terms of hardware and maintenance costs, web3 startups look for more cost-effective solutions including Ethereum Node-as-a-Service companies, or companies that maintain nodes for developers to access for a monthly or annual fee. This article will explore what Ethereum NaaS providers do, and how to decide if using a NaaS provider is the[ best node infrastructure choice](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider). ## **What is an Ethereum node?** **An**[** Ethereum node**](https://www.alchemy.com/overviews/what-is-an-ethereum-node) connects a computer to the Ethereum blockchain by running software \(“the client”\) which can exist either on the consensus layer \(for validation\) or the execution layer \(for processing transactions\). Every batch of proposed \(i.e. pooled or pending\) transactions is[ propagated to each node in the network](https://www.alchemy.com/overviews/transaction-propagation), and these nodes either accept or reject the new block through a validation process. A node is the only way to access information from the blockchain, as there is no central portal to access data from. A larger number of nodes also makes a blockchain more robust and secure, decreasing the ease of launching a 51% attack.  There are[ three different types of nodes](https://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes):  ### **1. Full nodes** Full nodes contain all the information in a given blockchain, with some exceptions for periodic pruning. Full nodes can verify any transaction, and can interact with and deploy smart contracts. Setting up a full node can take weeks to configure and sync due to the amount of data they store. ### 2. Archive nodes An [archive node](https://www.alchemy.com/overviews/archive-nodes) stores the entire, unpruned transaction history on a blockchain. While archive nodes can use terabytes of data, they can be especially useful for developers looking to debug and inspect transaction history at a granular level. Archive nodes are essential for services like block explorers, wallets, and blockchain analytics companies. ### 3. Light nodes [Light nodes](https://www.alchemy.com/overviews/light-node) contain only the block header information, representing only a summary of the data. Light nodes can access the blockchain, however, they do not serve as part of consensus verification. Light nodes can run on mobile devices and are more accessible to the larger public because of their lower hardware and software requirements.   ## **What does Ethereum node-as-a-service \(NaaS\) mean?** Ethereum Node-as-a-Service \(NaaS\) providers serve as an alternative to managing Ethereum nodes in-house, where users can send requests through a service providers APIs using a dedicated API endpoint. Another name for companies that offer Ethereum NaaS service is "node provider." Web3 NaaS providers are analogous to platforms like Amazon Web Services \(AWS\), which allow web2 applications like Netflix, Expedia, and Linkedin to run their cloud applications on another company's infrastructure. Node providers can guarantee more reliable infrastructure to build on, complimentary developer tools, analytics, and advanced APIs designed for specific web3 use cases such as NFT API endpoint, transaction API endpoints, and debugging API endpoints. ### Types of Ethereum node-as-a-service providers **There are two types of Ethereum NaaS providers: platforms which provide individual nodes to customers, and platforms which provide scalable access and throughput to a network of nodes.** The main difference between providers that give access on a per-node basis, versus companies like Alchemy that provide Ethereum Node services on an on-demand basis is scalability. If you pay for a single node, you are limited by a single node's scale, whereas if you subscribe to Alchemy, you can scale infinitely, on-demand, through and entire fleet of nodes. There are a variety of [companies that serve as node providers](https://www.alchemy.com/overviews/blockchain-node-providers) including Alchemy which offer the most reliable and affordable nodes on the market. Ethereum NaaS providers like Alchemy are used both my emerging startups and large enterprises like Opensea and x2y2 for data accuracy, scale, and reliability. ## **What are the benefits of using an Ethereum NaaS provider vs. running your own full node?** **The benefits of using a Ethereum NaaS solution instead of running your own node is reliable uptime, no overhead costs, infinite scalability, 1-line integration, a variety of APIs and tools, and technical support.**‍ For example, [Alchemy’s Supernode](https://www.alchemy.com/supernode) boasts 99.99% reliability, dynamic scalability, the best data correctness, testnet support, and a variety of enhanced APIs like Webhooks, all within the same platform.   Because NaaS systems are easy to integrate, it only takes a few lines of code and an API key to get started, [unlike running a node in-house](https://www.alchemy.com/overviews/running-your-own-node), which could take weeks to configure and synchronize with Ethereum's state. ## **What are the tradeoffs of using an Ethereum NaaS provider vs. managing your own nodes?** **Even though using an Ethereum NaaS provider comes with a host of benefits, there are two common trade-offs compared to running your own node: centralization and customization.** Because [apps](https://www.alchemy.com/dapps/top/defi-dapps) can [change to an alternate RPC endpoint](https://www.alchemy.com/overviews/alternative-rpc-endpoint) at any time, the tradeoff of Ethereum NaaS providers being a "centralizing" force is not a critical concern. The centralizing factor is instead of managing your own node, you are trusting a centralized provider to ensure their node infrastructure is live. Additionally**,** using your own node allows for maximum node client software customization, allowing you to run your own RPC endpoints \(for personal or public use\), with your [choice of execution and consensus layer software](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients). ## **How to use an Ethereum node provider** Working with a node provider is fairly simple. To start using Alchemy's Ethereum nodes, simply sign up, create an app, and copy/paste your RPC endpoint URL into your application. ### 1. Sign up for a free Alchemy account Making an Alchemy account is quick and easy, visit **alchemy.com** and [get started for free](https://www.alchemy.com/ethereum?a=0822c64be6). Once you sign in, you'll be placed on the Alchemy dashboard, where you can create a new Ethereum app. ### 2. Create a new Ethereum app To create a new app, you should:  1. Navigate to the Apps section from your Dashboard 1. Click the “Create App" button  1. Name your app and include a description 1. Choose "Ethereum" as the chain 1. Choose either "Mainnet" or "Goerli" \(an Ethereum testnet\) 1. Click "Create App" ### 3. Paste your API key into your app In your list of Apps, click the "View Key" button to see your API keys. Next, click "Copy" next to the HTTPS link. Now, replace your current Ethereum RPC endpoint in your application with this new link to start sending Ethereum transactions and requests through Alchemy. With an Ethereum node endpoint, you can use all of Alchemy’s integrated developer tools! ## Start building on Alchemy's Ethereum node infrastructure Building and maintaining your own nodes is time-consuming, expensive, and difficult. Ship your minimum viable product, acquire real users, and find product-market fit faster by building on Alchemy's infinitely scalable and highly reliable node infrastructure. --- # What is the Ethereum Pectra Upgrade? Dev Guide to 11 EIPs URL: https://www.alchemy.com/overviews/ethereum-pectra-upgrade-dev-guide-to-11-eips.md The **Pectra** upgrade \(Prague \+ Electra\) is Ethereum’s next major hard fork & largest **upgrade** in terms of included EIPs, live on May 7, 2025 . It bundles **11 EIPs** touching everything from [smart wallet capabilities](/smart-wallets) to staking mechanics and [rollup](/rollups) data efficiency. Below we break down each improvement, explaining **what changes** and **how it impacts you** as a developer – whether you’re deploying an app, smart contracts, or your own chain. ## Key EIPs at a glance Which EIPs are coming in Ethereum **Pectra**? Let’s break it down. EIP-7702

", tooltip: "", icon: "" }, "2": { title: "

Upgrades EOAs into smart wallets, enabling transaction bundling, gas sponsorship, session keys, asset recovery, passkeys

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

EIP-7691

", tooltip: "", icon: "" }, "2": { title: "

Increases blob capacity, boosting rollup scalability and reducing transaction fees by doubling the max blob count from 3/6 to 6/9

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

EIP-7251

", tooltip: "", icon: "" }, "2": { title: "

Raises the max stake/validator from 32 to 2048 ETH, enabling auto-compounding rewards, reducing network load & improving staking efficiency

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

EIP-7623

", tooltip: "", icon: "" }, "2": { title: "

Increases calldata costs for rollups, encouraging exclusive use of blobs while keeping costs stable for regular L1 users.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

EIP-7002

", tooltip: "", icon: "" }, "2": { title: "

Enables validator withdrawals via the execution layer, allowing trustless staking pools and removing reliance on intermediaries for withdrawals and rewards

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

EIP-7685

", tooltip: "", icon: "" }, "2": { title: "

enables direct communication between the execution layer consensus, smart contracts can now directly interact

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

EIP-2537

", tooltip: "", icon: "" }, "2": { title: "

making operations like BLS signatures & zk proofs faster/cheaper, lowering gas costs for rollups, bridges, and privacy apps

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

EIP-2935

", tooltip: "", icon: "" }, "2": { title: "

extends on-chain block history to 8,192 blocks, enabling stateless clients & improving trustless access for rollups & cross-chain apps

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

EIP-6110

", tooltip: "", icon: "" }, "2": { title: "

speeds up validator activation by recording deposits directly in blocks, reducing wait times and making staking more efficient

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

EIP-7549

", tooltip: "", icon: "" }, "2": { title: "

optimizes validator signature aggregation, drastically reducing verification costs, enabling efficient light clients, and improving zk-proof generation

", tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

EIP-7840

", tooltip: "", icon: "" }, "2": { title: "

improves blob configurability by formalizing blob capacity in execution layer configs, enabling accurate fee predictions and smoother future upgrades.

", tooltip: "", icon: "" }, id: 10, }, ], }} /> ## Smart EOAs \(EIP-7702\): wallets get “superpowers” [EIP-7702](/blog/account-kit-now-supports-eip-7702) lets a normal Externally Owned Account \(EOA\) **temporarily execute smart contract code** during a transaction. In practical terms, it introduces a new transaction type where an EOA can attach and run bytecode **without permanently becoming** a contract. Think of it like your plain wallet suddenly being able to behave like a full smart contract wallet for one transaction. This upgrade has been described as the [“iPhone moment”](https://x.com/binji_x/status/1874422577298620428)[ for Ethereum wallets ](https://x.com/binji_x/status/1874422577298620428)– dramatically expanding what they can do beyond just sending ERC-20 tokens or calling a contract. It is compatible with the prevailing account abstraction \(AA\) standard, [ERC-4337](/overviews/what-is-account-abstraction), so existing wallets can become [smart wallets](/smart-wallets) without creating a new address and transferring assets. ### Impact for app and wallet developers For application and wallet devs **with existing users**, EIP-7702 is huge. It unlocks better UX flows \(batching, gasless UX, social recovery logic, multi-sig authentications, etc.\) directly at the protocol level. [Wallet providers](/overviews/eip-7702-metamask-and-wallets) may need to integrate the new transaction type and provide UI for these “smart account” features. For apps that are launching to **net new users**, choose ERC-4337 for the best security and features. See [this guide](/overviews/eip-7702-ethereum-pectra-hardfork) for recommendations in detail. ### Impact for smart contract developers For **smart contract devs**, you should be aware that some old assumptions break. Contracts that relied on `tx.origin` to be sure the caller was an EOA \(an anti-reentrancy or anti-bot pattern\) will no longer be effective. With 7702, an EOA **is** `tx.origin` _and_ can execute inner calls – meaning `tx.origin == msg.sender` checks can’t reliably distinguish “externally-called” vs “internally-called” anymore . If you have code using this pattern, consider updating it. On the flip side, you can now design contracts expecting more complex transaction logic from EOAs – for example, a dApp could assume a user might batch an approval and action together, and optimize for that. Also if you plan to use `EXTCODESIZE==0` \(`EXTCODESIZE` is an opcode that returns the size of an account’s code\) then remember `EXTCODESIZE` will return non-zero value post-7702, so enforcing `EXTCODESIZE==0` check will block any wallet that uses 7702. **Reminder**: it was already possible to [Bypass Contract Size Check](https://www.cyfrin.io/glossary/bypass-contract-size-check-hack-solidity-code-example) by external call from a contract's constructor which returns zero because no code exists at the contract address until the contract creation process concludes. We're here to help you integrate EIP-7702. Explore [smart wallet capabilities](/smart-wallets), read the [implementation guide for EIP-7702](https://www.alchemy.com/docs/wallets/transactions/using-eip-7702), and [get in touch with us](/contact-sales) for integration questions. ## Data availability & rollup scalability \(EIPs 7691, 7623, 7840\) [**Rollup developers**](/rollups), this section is for you. Pectra includes upgrades to Ethereum’s data availability layer that will directly affect L2 throughput and costs. The theme is** “use blobs, not calldata, and use more of them!”** – continuing the momentum from proto-danksharding \([EIP-4844](https://www.eip4844.com/) in Dencun\) to make rollups cheaper and more efficient. ### EIP-7691: doubling blob capacity per block **What changes:** EIP-7691 increases Ethereum’s blob-carrying capacity per block, doubling the target number of blobs from 3 to **6**, and raising the maximum allowed from 6 to** 9**. It also fine-tunes the fee mechanics associated with blobs: the blob base fee will rise slightly less aggressively when blocks are full \(~8.2% up\) and decrease more sharply \(~14.5% down\) when blobs are scarce. This ensures fees remain stable and predictable even as blob capacity expands. **Impact:** This directly benefits rollups, allowing them to include twice as much data in each Ethereum block. Practically, rollups can either boost transaction throughput, reduce fees, or do a bit of both. Users interacting with L2 solutions like optimistic or [ZK](https://www.alchemy.com/blog/zero-knowledge-rollups)-rollups should see notably lower transaction fees or increased performance, as the data availability cost significantly influences overall transaction expenses. ### EIP-7623: increasing calldata costs to push rollups to blobs **What changes:** EIP-7623 strategically increases the gas cost of transaction calldata. Before blobs existed, rollups often stored compressed data directly in calldata, a method once incentivized by Ethereum. Now, Ethereum encourages rollups to fully migrate their data storage to blobs by making calldata relatively expensive. **Impact:** This economic nudge is meant to push rollups away from inefficient calldata usage toward the dedicated blob storage layer. To illustrate, think of Ethereum blocks as suitcases: normal transactions are regular luggage, while large calldata is like packing bowling balls. EIP-7623 means that heavy packers must pay significantly more, incentivizing the use of blobs, Ethereum’s specialized data compartment. Rollup developers must update their systems accordingly. Older rollups still using calldata for data availability need to transition fully to blobs or risk substantially higher operational costs. Regular smart contracts and standard Ethereum transactions remain mostly unaffected due to their minimal calldata usage. ### EIP-7840: configurable blob parameters \(future-proofing\) **What changes:** EIP-7840 introduces a new object “blob schedule” within client configurations. Instead of hard-coding blob-related parameters \(like target and max blobs per block\) for each fork, these settings can now be adjusted via configuration files, enabling easier and more predictable network tuning. Extend the client configuration files with the object `blobSchedule` with the following shape: When there is no explicit configuration for the current fork, use the last specified fork value. If no last value is specified, set both to zero. **Impact:** This change simplifies future adjustments. For example, increasing blob capacity again in later upgrades no longer requires extensive code changes—just a simple config tweak. It provides rollups and Ethereum core developers greater flexibility and makes Ethereum’s scaling path more transparent and maintainable. Developers operating nodes or running infrastructure should ensure their execution clients include these blob parameters correctly post-upgrade. Application developers won’t see direct impact immediately, but indirectly, they’ll benefit from smoother, more predictable scaling outcomes on Ethereum’s data availability layer. If you’re interested in deploying a rollup or have questions about the benefits, [get in touch with us](/contact-sales-rollups). ## Staking & validator upgrades \(EIPs 7251, 7002, 6110, 7549, 7685\) **What changes:** The Pectra upgrade introduces key improvements for Ethereum staking. Validators can now hold up to **2048 ETH per validator** \(EIP-7251\), reducing complexity and enabling automatic reward compounding. Validators can initiate exits directly from the execution layer \(EIP-7002\), deposits activate faster \(~13 minutes, down from hours\) due to simpler processing \(EIP-6110\), attestation signatures become dramatically more efficient \(~60× fewer verifications, EIP-7549\), and a standardized communication channel between execution and consensus layers is established \(EIP-7685\). **Why it matters:** These changes collectively enhance the staking experience by making validator operations simpler, safer, and significantly more scalable. Fewer validators handling larger stakes mean less operational overhead and improved network efficiency. Execution-layer exits boost validator security and decentralization, while faster deposit processing improves the user experience. Standardizing cross-layer communication also lays groundwork for smoother future upgrades. **Impact on developers:** Infrastructure and staking pool developers must adjust their tools and workflows for larger validator stakes, EL-triggered exits, and streamlined attestations. Client and node operators will benefit from reduced complexity and improved network efficiency, but must update their software accordingly. General dApp developers see minimal immediate impact, but indirectly benefit from enhanced network performance and stability. ## Cryptography & historical data enhancements \(EIPs 2537 & 2935\) **What changes:** EIP-2537 adds native Ethereum precompiles for the BLS12-381 elliptic curve, making operations like BLS signature verification and zk-SNARK proofs dramatically cheaper. Previously, these complex cryptographic checks were prohibitively expensive within smart contracts. EIP-2935 extends Ethereum’s BLOCKHASH history from ~1 hour \(256 blocks\) to ~27 hours \(8192 blocks\), enabling contracts to reference recent past blocks directly onchain. **Why it matters:** EIP-2537 empowers developers to build advanced cryptographic applications directly on Ethereum—such as zk-rollups, onchain light client proofs, trustless bridges, and privacy-preserving contracts—at significantly lower gas costs. Meanwhile, EIP-2935 addresses Ethereum’s short-term memory limitation, supporting use-cases requiring reliable onchain historical references, like enhanced randomness generation, verifiable proofs, and rollup fraud proofs. **Impact on developers:** Smart contract developers gain powerful, efficient tools for onchain cryptography \(EIP-2537\) and broader access to recent historical data for contract logic \(EIP-2935\). Applications involving advanced cryptographic schemes—[DAOs](https://www.alchemy.com/dapps/top/daos) with aggregated BLS signatures, zk-based privacy apps, or onchain verification systems—become significantly easier to implement. Additionally, contracts depending on recent block hashes for randomness or validation can now reliably access onchain data, simplifying their designs and reducing external dependencies. ## FAQs ### When is the Ethereum Pectra upgrade happening? The Pectra upgrade went live on May 7, 2025. As with previous Ethereum hard forks, the exact timing depends on block production rates, but ecosystem participants and developers should prepare their systems ahead of this target date. ### What are the main features of the pectra upgrade? The standout features of Pectra include: - Temporary smart contract capabilities for regular wallets \(EIP-7702\), described as the "iPhone moment" for Ethereum wallets - Doubling blob capacity from 3 to 6 per block to make rollups more efficient and cost-effective - Increasing max validator capacity from 32 to 2048 ETH for simpler validator operations - Adding native support for BLS12-381 cryptography, making advanced crypto applications viable onchain - Extending the block history reference from ~1 hour to ~27 hours for enhanced smart contract functionality ### How will the pectra upgrade impact Ethereum developers? Pectra's impact varies by developer focus: - App and wallet developers gain powerful UX capabilities through EIP-7702's smart account features - Smart contract developers need to review code that relies on `tx.origin` checks or `EXTCODESIZE==0` assumptions - Rollup developers should migrate fully from calldata to blobs for optimal cost efficiency - Infrastructure providers need to update clients for new blob parameters and validator operations - Cryptographic application developers can implement previously impractical zk-SNARKs and BLS signature schemes ### How is pectra different from previous Ethereum upgrades like dencun? Pectra builds upon Dencun's proto-danksharding foundation but takes a broader approach. While Dencun primarily focused on introducing blobs for data availability \(EIP-4844\), Pectra addresses multiple aspects of the Ethereum protocol simultaneously. It significantly enhances wallet functionality, optimizes staking economics, doubles blob capacity, and introduces native cryptographic operations. This comprehensive scope makes Pectra Ethereum's largest upgrade in terms of included EIPs, touching more facets of the protocol than previous upgrades like Dencun, Shanghai, or Paris. ## A better onchain future for everyone The **Pectra upgrade** brings substantial improvements to Ethereum, delivering smarter wallets, scalable staking, powerful cryptographic capabilities, and enhanced data availability. For developers, this means more robust tools, simpler operations, and greater flexibility in building the next generation of decentralized apps. It’s a meaningful step forward—empowering you to create better user experiences, stronger solutions, and ultimately a healthier [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). **Explore resources** - **Smart wallets** - [Learn more](/smart-wallets) and [get up to $25k in credits](/everyone-onchain-fund) to build with them. - **Rollups** - Learn [how World and Degen scaled to millions](/case-studies/scaling-world-chain), and reach out to the team to [get access](/contact-sales-rollups) - **EIP-7702** - Check out the [intro guide](/overviews/eip-7702-ethereum-pectra-hardfork) and how you can [start integrating](/blog/account-kit-now-supports-eip-7702). - **Account Abstraction** - [Learn about AA](/overviews/what-is-account-abstraction) and how Azuki onboarded 3.3M anime fans with it. We’re here to help you leverage all the upgrades to build successful apps onchain. [Get in touch with our team](/contact-sales), and let’s build! --- # A Developer's Guide to Ethereum Scaling Solutions URL: https://www.alchemy.com/overviews/ethereum-scaling-solutions.md Ethereum's emphasis on decentralization and security means that transactions are processed slowly. This affects network throughput and impacts the ability of [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) to scale.  Many designs have been proposed to solve Ethereum's scalability problems, each offering different benefits. This guide will introduce Ethereum scaling solutions and explain how they work and why they matter.  ## What is scalability? **Scalability refers to the ability of a system to handle exponential increases in usage without sacrificing functionality.** In the context of blockchain technology, scalability means a blockchain's capacity to support increased transactions without any effects on functionality.  Currently, Ethereum's ability to handle transactions is limited to processing 7-15 transactions per second \(TPS\). Conversely, traditional, centralized databases—like Oracle Database and Microsoft SQL Server—can process thousands of transactions per second. [Source: Blockchair](https://blockchair.com/ethereum/charts/transactions-per-second) ### Two ways ethereum’s design affects scalability Ethereum has low throughput and slow processing speeds because it prioritizes decentralization and security ahead of scalability \(scalability trilemma\).  Here are some ways Ethereum's design affects scalability: #### 1. Ethereum’s consensus algorithm processes transactions sequentially Ethereum uses proof of work \(PoW\), which means transactions on the network must be accepted and validated by all nodes. This encourages decentralization and, more importantly, security.  The downside is that the sequential execution of transactions affects transaction finality \(the time it takes to confirm a transaction\). This further contributes to Ethereum's inability to support high TPS rates.  #### 2. Ethereum limits block sizes to 1MB Ethereum limits how much data a mined block can hold \(1MB\) because capping the block size improves decentralization by enabling nodes to more effectively store the blockchain history. Bigger block sizes make it difficult for people to run full nodes, harming decentralization.  However, the block size limit of 1MB reduces the transaction data miners can fit into one block, affecting network throughput. Small block sizes also affect the cost of gas, the computational resource required to execute operations in the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm).  Because miners have finite computational power, they are often forced to prioritize transactions with higher fees. This creates a bidding war of sorts between Ethereum users and forces astronomical increases in transaction fees.  ## What are Ethereum scaling solutions? **Ethereum scaling solutions are platforms specifically designed to improve transaction execution on the Ethereum network.** Ethereum scaling solutions like layer 2 rollups and sidechains are protocols that use different mechanisms to increase network throughput.  [Source: Reddit](https://www.reddit.com/r/ethfinance/comments/pdp4ch/daily_general_discussion_august_29_2021/harsrjh/?context=3) ### Layer 1 vs layer 2 scaling solutions Scaling solutions can be broadly divided into two categories, "on-chain," and "off-chain," solutions that are differentiated based on their point of execution.  #### Layer 1 scaling solutions Layer 1 scaling involves making changes to the blockchain network and rewriting the base layer. The "on-chain" description means [scaling upgrades to Ethereum](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022) are executed on the blockchain itself.  ##### Layer 1s can scale by increasing block sizes  A potential Layer 1 scaling improvement is increasing the block size. If Ethereum's 1MB block size increased, miners would have more space to include additional transaction data in blocks.  While increasing Ethereum’s block size would lead to an increase in TPS rates, the side effect is a slow progression towards centralization because as block sizes grow, the blockchain's size increases—making it difficult to run a full node \(except if you have a supercomputer\). For this reason, the Ethereum community has ruled out bigger block sizes as a scaling solution.  ##### Layer 1s can scale by processing transactions in parallel with blockchain sharding  [Blockchain sharding](https://www.alchemy.com/overviews/ethereum-sharding-an-introduction-to-blockchain-sharding) is a scalability improvement that introduces parallel execution of transactions in place of the default sequential execution model Ethereum uses. In sharding, the blockchain is divided into smaller chains \(shards\) that validate and process separate transactions.  **Consider how Ethereum currently works:** Transactions are broadcasted throughout the network until they can be validated. Sharding doesn't require transactions to be approved by all nodes. Instead, each shard has validators \(called collators\) for approving transactions.  Each **collation** \(a collection of transactions on the shard chains\) must be signed by ⅔ of collators. Also, the proposed collation must be added to the main chain before achieving finality. Together, these measures help assure the security of the system.  With sharding, Ethereum can increase TPS without sacrificing decentralization or security. As shard chains process different transactions concurrently, the network's overall processing capacity increases. Moreover, network participants can still prove the validity of shard collations through cryptographic proofs. [Source: Genesis Block](https://genesisblockhk.com/what-is-sharding-a-solution-for-blockchain-scalability/) #### Layer 2 scaling solutions Layer 2 \(L2\) scaling improvements are so-called because they are executed off the main chain \(Layer 1\). Also called "off-chain" solutions, Layer 2 scaling involves processing transactions on a separate network that relies on the main chain for security.  L2 solutions are often designed with an emphasis on transaction speed and scalability—decentralization and security are lesser concerns here. Because they post transaction data to the main Ethereum layer, L2s can benefit from the mainnet's decentralization and security. Also because L2 solutions are built on top of Ethereum, they don’t need their own native token.    These off-chain protocols can aggregate multiple transactions into a single transaction and add to the main chain. This reduces pressure on the network and improves the potential of apps to scale as usage grows.  **Examples of Layer 2 scaling solutions include:** - Rollups - State channels  - Plasma  - Validium  ### Layer 2 vs. sidechains A sidechain is a separate blockchain that interacts with [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) but doesn't rely on it for security. Sidechains connect with Ethereum via a cross-chain bridge, which enables asset transfers between the two chains.  Sidechains are good for scalability because they are engineered with a different set of qualities that enables high throughput. For instance, the Polygon sidechain uses a proof of stake \(PoS\) consensus algorithm for faster transactions.  The main [difference between Layer 2 solutions and sidechains](https://www.alchemy.com/overviews/sidechains-vs-layer2s) lies in their security guarantees. While L2 networks enjoy Ethereum's security assurances, sidechains do not.  A sidechain is secured by its consensus mechanism, while L2s benefit from Ethereum's consensus. This is why many consider L2s more secure than sidechains.  ## Why are scaling solutions necessary for Ethereum? Good Ethereum scaling solutions help provide web3 developers and users with lower gas fees and faster transactions, while also keeping transactions secure. Here's why scaling solutions are necessary for Ethereum: ### 1. Lower transaction fees  Ethereum's gas fee problem has become fodder for widespread criticism. Scaling improvements can reduce network congestion and lead to significant drops in transaction costs.  Lower gas prices translate into a better user experience and higher adoption for apps. Users won't have to deal with failed transactions or pay exorbitant gas fees. ### 2. Faster transactions  Many scaling solutions were created specifically to improve Ethereum's ability to handle more transactions in a shorter time frame.  For example, rollups can batch thousands of off-chain transactions into a single on-chain transaction. Similarly, sharding increases throughout by encouraging parallel processing of transactions.  The net result of these improvements is an increase in transactions per second \(TPS\) rates. Although estimates vary, many expect L2s and sharding to push Ethereum's TPS into the thousands.  ### 3. Improved security L2s are great for scaling Ethereum without decreasing network security. Unlike on-chain scaling, off-chain scaling projects don't affect Ethereum's decentralization.   Even though these L2s are separate chains, their security is tightly linked to the Ethereum blockchain. This means users can safely interact with these projects, enjoying the benefits of scalability, without risking their assets.  ## The five most popular Ethereum scaling solutions The five most popular Ethereum Scaling solutions are: rollups, sidechains, state channels, plasma chains, and Validium. ### 1. Rollups Rollups combine or "roll up" multiple transactions executed off-chain into a batch and pass it onto the main chain. A single rollup can contain hundreds, if not thousands, of transactions compressed to reduce transaction volumes the main chain has to process.  Beyond improving scalability, rollups offer levels of security similar to Ethereum itself because transactions in rollups are anchored to the L1 chain, which guarantees transaction finality.  There are two main types of rollups: optimistic rollups and [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups). Each type differs based on how transactions are computed and posted to Ethereum: **Zero-knowledge rollups** or ZK-rollups perform computation off-chain and generate a cryptographic proof called a Succinct Non-Interactive Argument of Knowledge \(SNARK\) or Succinct Transparent Argument of Knowledge \(STARK\). These **"validity proofs"** assures nodes on the main chain of the validity of transaction batches.  **Optimistic rollups** assume transactions are valid by default and don't generate validity proofs for every transaction bundle. However, the validity of transactions in optimistic rollup can be challenged via a **fraud proof**.  So how do both rollup schemes stack up against each other? ZK-rollups are more secure since they generate validity proofs, however, this makes them slower than optimistic rollups.  ZK-rollups are complex mechanisms, which makes it hard to program EVM compatibility into them. As a result, ZK-rollups have limited functionality compared to optimistic rollups.  Polygon is working on a [zero-knowledge EVM \(zkEVM\)](https://www.alchemy.com/overviews/polygon-zk-rollups) to increase the functionality of zero-knowledge rollups to the Ethereum network with their plans for Hermez 2.0. #### Ethereum L2s using optimistic rollups - Optimism  - Arbitrum  - Boba Network  - Immutable X  #### Ethereum L2s using ZK rollups - [zkSYNC](https://www.alchemy.com/overviews/what-is-zksync-era) - Loopring  - dYdX - StarkNet  As a developer, you can integrate rollups into your dApp to improve transaction finality and scalability. This way, your users don't have to experience high gas fees, dropped transactions, and slow processing speeds—which happen frequently on Ethereum.  ### 2. Sidechains  A sidechain is one type of layer 2 solution that is a separate blockchain which operates in parallel with the Ethereum Mainnet. These differences could be cryptoeconomic incentives, consensus mechanisms, and so on.  Sidechains designed specifically for Ethereum have Ethereum Virtual Machine \(EVM\) compatibility and can support smart contracts. This means you can deploy projects on sidechains and leverage their scalability improvements for apps.  [Cross-chain bridges](https://www.alchemy.com/overviews/cross-chain-bridges) are necessary for connecting sidechains to the Ethereum smart contract platform. Just like the name suggests, a blockchain bridge provides a gateway for users to move between the main chain and sidechain.   To use a bridge you have to lock up some assets \(ETH in this case\) on the origin chain. Afterward, an equal amount of assets are produced on the sidechain and deposited in your wallet.  You can then transact freely on the sidechain, taking advantage of its superior transaction processing capabilities. As explained earlier, sidechains are engineered to provide scalability and employ different mechanisms to achieve that.  #### Ethereum sidechain examples: - Polygon - xDAI  - SKALE Other [alternative Layer 1 \(L1\) blockchains](https://www.alchemy.com/overviews/layer-1-blockchain-ecosystems-overview) can also function as Ethereum sidechains, especially the EVM-compatible blockchains. These alt L1s often offer benefits like lower gas fees, better transaction finality, and richer functionality in certain cases.  #### Examples of EVM-compatible L1s: - Avalanche - Fantom  - Binance Smart Chain  ### 3. State channels State channels are off-chain scaling solutions that allow two parties to transact without the main chain having to validate every transaction. A state channel is essentially a multi-signature smart contract that executes only with the approval of the required parties. #### How state channels work 1. Alice wants to open a state channel with Bob, who sells her coffee every morning. Let's assume she deposits 0.4 ETH in the channel and this transaction is published on Mainnet.  2. After this opening transaction, Alice and Bob can execute transactions off-chain for as long as they want. The only caveat is that both must sign transactions, which means Alice and Bob must approve each payment for coffee.  3. If Alice exhausts her deposit, she can publish an **exit transaction** on the main chain. This transaction will reflect the last known state of the channel, which is then recorded for finality. Alice and Bob may have transacted on a dozen occasions, but the Ethereum network records only two transactions—**the entry and exit transactions**.  A state channel allows parties to conduct secure off-chain transactions without having to experience long waiting times and high transaction fees. It also improves scalability because miners have fewer transactions to process and can work faster.  #### Ethereum scaling solutions that use state channels: - Raiden Network - Connext Network - Celer Network ### 4. Plasma chains The Plasma whitepaper introduces the concept of “child chains”, which originate from the main blockchain or “root chain.” While [Plasma chains](https://www.plasma.io/plasma.pdf) can validate transactions, they rely on the security of the root chain. To prove the validity of transactions, child chains submit cryptographic proofs to the root chain.  Plasma chains are similar to sidechains, as they connect with the Ethereum blockchain via smart contracts. Using a Plasma chain requires locking up ETH in a smart contract on the root chain before getting tokens on the child chain.  Plasma is considered an L2 scaling solution because it derives security directly from Ethereum's base layer. This is what makes them safer than, say, sidechains.  Plasma publishes **Merkle roots** for each block on the Ethereum main chain. Block roots are small pieces of information we can use to verify information about transactions. If an attack happens on a Plasma chain, users can safely exit to the main chain and withdraw their funds using the appropriate proofs.  #### Ethereum scaling solutions using plasma - OMG Plasma  - Gluon Network ### 5. Validium  Validiums are similar to ZK-rollups, performing computation off the main Ethereum layer, but major difference is that validiums use "off-chain data availability" instead of posting compressed data on the main chain like ZK-rollups.  Validiums store data off-chain with a data provider, making them custodial to some extent. However, some solutions like StarkWare use [Data Availability Committees](https://medium.com/starkware/data-availability-e5564c416424) \(DACs\) to ensure data providers behave honestly.  Validiums have very low fees and speedy transactions \(up to 100,000 tps\). However, they have more trust assumptions than other scaling solutions, like ZK-rollups.  #### ETH scaling solutions using validium: - DiversiFi  - Immutable X  ## What are some downsides to scaling solutions? **Two downsides to Ethereum scaling solutions include they’re complex to implement and potentially have lower security guarantees.** ### 1. Complexity  Many scaling solutions are complex to implement, which can affect their functionality. For instance, the Ethereum development team has consistently pushed back the release date for sharding due to the amount of work the upgrade needs.  ### 2. Lower security guarantees  While many L2 and L1 scaling solutions rely on Ethereum for security, they cannot be as secure as the former. Each scaling solution trades off some elements \(like decentralization and security\) for speed. Users must be well aware of these risks before using these platforms.   ## Conclusion Scaling projects covered in this guide will likely play a big role in Ethereum's drive towards scalability. Whether this will be enough to guarantee long-term scale remains to be seen, though.   Planning to scale your next dApp on an L2? [Sign up for a free account with Alchemy](https://auth.alchemy.com/signup/?a=83b14f668d), the world's biggest blockchain development platform, supports popular L2s, including Arbitrum, Optimism, Polygon, and StarkNet. --- # Ethereum Sharding: An Introduction to Blockchain Sharding URL: https://www.alchemy.com/overviews/ethereum-sharding-an-introduction-to-blockchain-sharding.md ## **What is blockchain sharding?** Ethereum Sharding has been replaced with [danksharding - which supports layer 2 scaling, as opposed to directly scaling the mainnet](https://etherscan.io/chartsync/chainarchive). **Notice**: The following article overviews the abandoned plans to shard Ethereum's mainnet. Some of the data may be out of date. Please refer to the danksharding article linked above for the most up-to-date knowledge on Ethereum's scaling roadmap. For years, the question of blockchain scalability has been debated in developer communities. Public blockchain networks, like Ethereum, require several nodes to validate transactions, limiting their ability to scale.  Ethereum, for instance, can process around 10-13 transactions per second. This pales in comparison to centralized systems like VISA, capable of handling up to 24,000 TPS. If blockchains—and decentralized applications running on them—are to enjoy mass adoption, population-level scalability is necessary.  In addition to layer 2 blockchains, sharding is a proposed solution for scaling Ethereum to support more users. The idea of sharding is to break up the main blockchain into separate segments, so nodes only need to verify a subset of transactions. With nodes validating transactions in parallel, network throughput can increase, and [apps](https://www.alchemy.com/dapps/top/defi-dapps) can scale to meet the needs of a growing number of users.  Visa

", tooltip: "", icon: "" }, "2": { title: "

24,000

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Ripple

", tooltip: "", icon: "" }, "2": { title: "

1,500

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

PayPal

", tooltip: "", icon: "" }, "2": { title: "

193

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Bitcoin Cash

", tooltip: "", icon: "" }, "2": { title: "

60

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Litecoin

", tooltip: "", icon: "" }, "2": { title: "

56

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Dash

", tooltip: "", icon: "" }, "2": { title: "

48

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Ethereum

", tooltip: "", icon: "" }, "2": { title: "

20

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Bitcoin

", tooltip: "", icon: "" }, "2": { title: "

7

", tooltip: "", icon: "" }, id: 7, }, ], }} /> ## **What is database sharding?** A common technique in centralized database management, database sharding, is the process of dividing a large database into smaller chunks \("shards"\) to improve efficiency and application scalability by distributing a database across several machines in parallel. As the number of users or operations executed on a software increases, so does the data stored in a software's database. An overloaded database will affect app performance and harm user experience. Thus, sharding is necessary to relieve databases and improve load times.  ### **Database sharding example** Imagine there's a database containing personal records for 100,000 residents in a city. Finding information for an individual would require computing around 100,000 transactions—a costly and time-intensive undertaking.  But what happens if we partition this large database into smaller databases? For example, by grouping all city residents with surnames starting with specific letters on a unique server, finding information requires less computational resources, tasks require less time to complete, and the database becomes easier to manage.  Here's an illustration with another example of database sharding: WIDGET

", tooltip: "", icon: "" }, "2": { title: "

$118

", tooltip: "", icon: "" }, "3": { title: "

$100+

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

GIZMO

", tooltip: "", icon: "" }, "2": { title: "

$88

", tooltip: "", icon: "" }, "3": { title: "

$50-$99.99

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

TRINKET

", tooltip: "", icon: "" }, "2": { title: "

$37

", tooltip: "", icon: "" }, "3": { title: "

$0-$49.99

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

THINGAMAJIG

", tooltip: "", icon: "" }, "2": { title: "

$18

", tooltip: "", icon: "" }, "3": { title: "

$0-$49.99

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

DOODAD

", tooltip: "", icon: "" }, "2": { title: "

$60

", tooltip: "", icon: "" }, "3": { title: "

$50-$99.99

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

TCHOTCHKE

", tooltip: "", icon: "" }, "2": { title: "

$999

", tooltip: "", icon: "" }, "3": { title: "

$100+

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### What is a shard? A "shard" means a "small part of the whole." In database management, a shard is a subset of a large database hosted on a separate server. While each shard contains chunks of data, they all form one logical dataset.  Using our previous example, we could have on shard, "Shard 1," for city residents with surnames starting with 'A', "Shard 2," for those with surnames starting with 'B', and so on. If you combine these logical shards, you'd get a single dataset of records for all city residents. ## **Sharding in blockchain networks** Sharding in blockchain networks follow the same process as with centralized databases, where a blockchain network can be “sharded” or split into distinct segments where each shard stores a portion of the blockchain’s data and processes a unique set of transactions. With sharding, blockchain networks can improve network latency and scalability. ### **What problem is sharding in blockchain networks aiming to solve?** Because all nodes must reach consensus \(i.e. agree\) on transaction validity, blockchain networks can only process a small number of transactions at the same time. Typically, every node stores the blockchain's entire history and processes every transaction. This is what makes blockchain networks like Ethereum and Bitcoin "decentralized." With every full node owning a copy of the network's complete history, it becomes harder for malicious actors to hijack the network and potentially reverse or rewrite transactions.  Ensuring blockchain decentralization and security comes at the cost of scalability, though. Sharded blockchains allow nodes to forgo downloading the full history of the blockchain or validate every transaction passing through the network, which increases network efficiency and enables blockchains to scale support for greater user demand. ### **What is a shard chain?** In the context of blockchain networks, a shard chain would contain a portion of the data and handle a portion of the transaction processing responsibilities. Shard chains are like a collection of mini-blockchains that operate independently, and to preserve security, each shard chain submits a record of transactions to the main chain \(Beacon Chain\) at regular intervals through the Validator Manager Contract \(VMC\).  Because each shard chain will have a unique transaction history and a set of nodes to validate new transactions, multiple shard chains can run simultaneously to bolster network latency and throughput through parallel processing. ## **What is sharding in Ethereum?** Ethereum is planning to adopt sharding as a scaling solution after their[ Ethereum PoS upgrades](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022), which are a series of upgrades designed to improve the functionality of Ethereum 1.0.  ### **Why is sharding necessary?** There are two main problems that necessitate sharding on Ethereum: the ability to support an exponential increase in users, and the need to remain decentralized at scale. #### **1. Support an increasing number of users** Ethereum’s present structure makes it unable to handle exponential increases in usage. Currently, all Ethereum nodes store the complete state of the[ Ethereum Virtual Machine \(EVM\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm), including smart contract code and account balances. Moreover, transactions are executed linearly and require confirmation by the entire network.  Transacting linearly and requiring nodes to manage large sets of data slows down the network. #### **2. Maintain decentralization at scale** Requiring nodes to keep a full copy of the blockchain also creates centralization issues. Already, the Ethereum ledger [takes up 10\+ terabytes of storage space](https://etherscan.io/chartsync/chainarchive), which is 10x what the average computer can hold.  As the Ethereum blockchain keeps growing, running an Ethereum node may become difficult, leaving only a few nodes in charge of securing the network. This re-introduces centralization and single-point-of-failure problems Ethereum was designed to solve, reducing its value.  #### **Sharding can solve both problems.** Sharding promotes better scalability since nodes can validate different transactions simultaneously, and dividing transactional data into smaller chunks makes it easier to run a full node, which decreases the risk of centralization. ## **Ethereum sharding terminology** Before we explain how sharding works, here are some important definitions: #### **State** State refers to the information about a system at any point in time. In Ethereum, state is a description of the network at a particular time—contract code, accounts, address balances, etc. Every new transaction alters Ethereum's state.  #### **Merkle tree** A Merkle tree or root is a cryptographic mechanism that stores large amounts of information via hashes. Merkle trees/roots are essential for Ethereum's security, as they allow nodes to quickly verify if a piece of data is part of the larger structure.  #### **Collation** A collation is a group of transactions conducted on a shard chain, similar to a block in proof-of-work \(PoW\). Collations are submitted to the main chain and linked together to form the blockchain.  #### **Collation header** The collation header is similar to a block header in proof-of-work consensus. A collation header contains metadata about the information inside the collation such as: - The single shard that the collation belongs to  - The root hash of the parent collation  - The Merkle root of all transactions in a collation  - The pre-state root and post-state root  - Signatures of notaries Shard ID:

", tooltip: "", icon: "" }, "2": { title: "

43

", tooltip: "", icon: "" }, "3": { title: "

<sig #1284>

", tooltip: "", icon: "" }, "4": { title: "

<sig #2543>

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Pre state:

", tooltip: "", icon: "" }, "2": { title: "

a138b3ff

", tooltip: "", icon: "" }, "3": { title: "

<sig #7821>

", tooltip: "", icon: "" }, "4": { title: "

<sig #6118>

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Post state:

", tooltip: "", icon: "" }, "2": { title: "

835680cc

", tooltip: "", icon: "" }, "3": { title: "

<sig #9053>

", tooltip: "", icon: "" }, "4": { title: "

<sig #4337>

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Receipt root:

", tooltip: "", icon: "" }, "2": { title: "

fa3819d4

", tooltip: "", icon: "" }, "3": { title: "

<sig #1662>

", tooltip: "", icon: "" }, "4": { title: "

<sig #4785>

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Tx a142

", tooltip: "", icon: "" }, "2": { title: "

Tx a558

", tooltip: "", icon: "" }, "3": { title: "

Tx eca6

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Tx a35f

", tooltip: "", icon: "" }, "2": { title: "

Tx e25a

", tooltip: "", icon: "" }, "3": { title: "

Tx 34ac

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Tx 2308

", tooltip: "", icon: "" }, "2": { title: "

Tx 6987

", tooltip: "", icon: "" }, "3": { title: "

Tx f260

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Tx 9f14

", tooltip: "", icon: "" }, "2": { title: "

Tx ec30

", tooltip: "", icon: "" }, "3": { title: "

Tx 5fc3

", tooltip: "", icon: "" }, "4": { title: "

", tooltip: "", icon: "" }, id: 7, }, ], }} /> #### **Notaries** Notaries are validators randomly assigned to a shard chain to vote on proposed collations. These votes are called "attestations" and prove collation validity. Every collation needs at least ⅔ of collators to sign off on it before being added to the consensus chain.  #### **Proposers** A proposer is a collator \(or validator\) selected to create a collation and propose it for validation. The proposer has the same duties as a miner in PoW blockchains.  #### **Committees** A committee is a collection of validators or notaries that attest the validity of shard blocks. These committees are randomly shuffled at intervals, so validators cannot predict which committee\(s\) they'll be in.  ## **How does Ethereum sharding work?** Facing continued delays to the roadmap, the Ethereum community pivoted away from their sharding plans in favor of a layer-2 centric roadmap. This allowed the core developers to ship the consensus upgrade known as, The Merge, which changed the network's consensus to Proof-of-Stake. The Ethereum sharding upgrade was planned to split the Ethereum blockchain into 64 shard chains. Every shard chain would have an independent state, meaning nodes will store a subset of account balances, smart contract code, and process a portion of the total transactions. #### **How might Ethereum PoS sharding have worked in practice?** Imagine Ethereum has 10,000 validators and 100 shard chains. Through a pseudorandom protocol, eligible validators, who have deposited ETH in the Validator Manager Contract \(VMC\), and are assigned to shards 1-100. In Shard 1, a validator \(proposer\) is selected to group new transactions into a collation. Other validators \(notaries\) download the collation and verify the validity of transactions. If two-thirds of notaries attest to the collation, it is submitted to the main chain via the VMC.  It's important to note that the entire collation isn't added to the Beacon Chain—it would be difficult and time-wasting to verify collations from every shard. Instead, the[ validator nodes](https://www.alchemy.com/docs) on the main chain simply check the attestations \(signatures\) for each collation to determine its validity.  Thanks to collation headers, anyone can verify the activity on each shard. Collation headers function as "cross-links" and descriptions of the state and transactions on different shards. Thus, cross-shard communication makes it possible to have a top-level view of the Ethereum network without being part of every shard.  ## **Potential drawbacks of sharding** While Ethereum sharding promised many benefits, it introduced a new set of problems: - Less nodes running each shard, malicious activity, like a 51% attacks become easier. - More complex code, risk of[ smart contract security vulnerabilities](https://alchemy.com/overviews/smart-contract-security-best-practices) increase. - Committee members can collude to submit malicious transactions to the main chain.   ## **Ethereum sharding: timeline and phased rollout** Discussions around sharding have been ongoing in the Ethereum community since at least 2013, but developers have postponed implementing it—for good reason. Sharding is highly complex and introduces new risks, so rigorous testing is required to work out any kinks.  According to Ethereum.org, sharding will roll out on Ethereum after "The Merge" must have taken place. For context, the Merge refers to the event where the PoW Ethereum main network \(mainnet\) integrates with the Beacon Chain \(PoS\).  [The Beacon](https://www.alchemy.com/dapps/the-beacon) Chain is an implementation of the Casper proof-of-stake system and produces the randomness required to create a functional sharding system. This chain went live on December 1, 2020.   In the next section, we give a brief overview of the implementation of sharding in Ethereum: ## **\[Abandoned\] Ethereum sharding: timeline and phased rollout** Discussions around sharding have been ongoing in the Ethereum community since 2013, but Ethereum developers have postponed implementing sharding because it is highly complex and introduces new risks, which requires rigorous testing to launch successfully. Here is a brief overview of the Ethereum sharding timeline: ### **What is the ETH 2.0 sharding timeline?** According to Ethereum.org, sharding will be deployed on Ethereum after "The Merge," or when the PoW Ethereum main network \(mainnet\) integrates with the Beacon Chain, has taken place. #### **Sharding phase 1** This phase is likely to kick off by 2023, [Ethereum's planned upgrade timeline](https://ethereum.org/en/upgrades/shard-chains/). However, there are no specific dates outlined for the sharding timeline yet.  Here’s an overview of what the first phase of Ethereum sharding may look like: - Validator Manager Contract \(VMC\) hosted on the Beacon Chain responsible for coordinating the sharding process - Prospective ETH2 validators are required to lock up 32 ETH into the smart contract before getting added to the pool of eligible validators - VMC assigns validators to shards at intervals to validate and process transaction collations to the consensus chain - Shards only serve as "data depots" to increase data processing abilities of the Ethereum network.  #### Sharding phase 2 The second phase of the ETH PoS sharding upgrade is less defined, as developers debate some aspects. However, we can expect Ethereum sharding phase 2 to look like this in practice: - Shards move from being data layers to code execution layers—each shard has an independent “state”, \(i.e. a unique set of smart contracts, account balances, and addresses.\) - Each shard acts like the [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) with full smart contract and dApp support - Cross-shard communication allows users on different shard chains to exchange value. - apps running on different shard chains can "talk" and interact with each other using cross-shard communication, improving Ethereum's scalability functionality. ## **Ethereum sharding - closing remarks** With multiple shard chains running simultaneously, nodes can increase their transaction processing capacity and are able to process greater amounts of data on-chain. Continuing the previous example, if 100 shard chains are processing 100 transactions per second, then Ethereum 2.0 will be able to achieve 10,000 TPS.  The only information from shards published on the base layer chain are collation headers—cryptographic proofs of validity—so it becomes easier for validator nodes to confirm transactions and commit to the consensus layer chain. The result is faster transaction [finality](https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649) and higher network latency.  While estimates vary, the introduction of sharding is expected to scale Ethereum to handle hundreds of thousands of transactions per second.  With higher TPS rates, Ethereum can provide the scalability that apps need to handle spikes in usage and billions of users. --- # Ethereum Statistics (2022) URL: https://www.alchemy.com/overviews/ethereum-statistics.md Overall, the Ethereum blockchain had a substantial amount of activity in Q1 2022, whether it be from NFTs, DeFi, or [Layer 2 scaling solutions](https://www.alchemy.com/overviews/ethereum-scaling-solutions). ## **How many Ethereum transactions are there?** **The total number of transactions in Q1 2022 was 105.58 million.** Compared to the 116.16 million transactions in Q4 2021, that represents a decrease of 9.1%.  ## **How many Ethereum smart contracts are there?** **The total number of smart contracts created in Q1 2022 was 1.45 million smart contracts.** This is a 24.7% increase in comparison to the total smart contracts created in the fourth quarter of 2021, which was 1.16 million. The crypto market cap in Q1 2022 was down compared to Q4 2021, but the number of smart contracts that were created during this period points to an increase in development activity despite less transaction volume. ## **How much is the average daily Ethereum gas fee?** **The average transaction fee in Q1 2022 was 0.0079 ETH, or $16.75**. Compared to a Q4 2021 transaction fee of 0.0090 ETH, or $19.10, this represents a 12.2% net decrease. With much of Q1 spent in a down market, one reason why the average gas price is down is that there is less on-chain activity occurring in Q1, which influences the cost to send a transaction. ## **How many daily active Ethereum addresses are there?** **The number of average daily active addresses in Q1 2022 was 329,900.** Compared to 400,040 in Q4 2021, that’s a 17.5% decrease. There was a noticeable increase in activity towards the end of the quarter in late February and March. When markets correct, it is typical that the total number of wallets actively trading crypto, NFTs, and participating in the blockchain gaming sector decreases to reflect changing sentiments. ## **How much is the total value locked \(TVL\) for Ethereum DeFi?** **The DeFi TVL was $89.5 billion in Q1 2022.** Compared to $154.2 billion in Q4 2021, that’s an approximate decrease in volume of 42%.  This significant decrease in TVL is likely a response to a market-wide correction, or selloff, where prices have dipped. Typically this leads people to unlock their assets so they can have more flexibility during uncertain market conditions. ## **How much is ethereum’s revenue?** **The Ethereum network’s revenue in Q1 2022 was 834,874 ETH or around 1.679 billion dollars.** Compared to 2.105 billion dollars in Q4 2021, that’s around a 20.2% decrease. This means there was a decrease in revenue for miners, who earn the vast majority of ETH Network revenue. ## **How much ETH was burned?** **A total of 728,729 ETH or around 1.671 billion dollars was burned in Q1 2022.** This means that all of these tokens were permanently removed from circulation, reducing the overall supply. ## **How much ETH is mined?** **A total of 404,657 ETH or around 928 million dollars were mined in Q1 2022.** ## **What percentage of Ethereum transactions are EIP-1559?** ‍**Around 77.2% of all Ethereum transactions in Q1 2022 were EIP-1559 transactions \(Type 2 transactions\) compared to Type 0 transactions which use the original gas fee structure.** ## **How many beacon chain validators are there on Ethereum?** **There were 341,123 validators in Q1 2022.** Compared to 275,830 validators in Q4 2021, this represents a 23.7% increase in the total number of Ethereum Beacon Chain validators. With the Ethereum Proof-of-Stake merge approaching later in 2022, we are seeing an increased number of validators joining the Ethereum Beacon chain to help secure the new PoS network. ## **How much do beacon chain validators earn?** **The average daily income across all validators in Q1 2022 was around 1.5k ETH.** Compared to 1.4k ETH last quarter, that’s around a 7.1% increase. With more Beacon chain validators joining the network, the total income each validator earns is decreasing. ## **What are the top Ethereum projects by total transactions?** The top Ethereum projects by total number of transactions last quarter were OpenSea, Uniswap, Coinbase, 0x, StrongNode, Polygon, and LooksRare. All of these top Ethereum projects saw over 1 million transactions with OpenSea topping the list with 7,840,000 million transactions in Q1 2022. 1

", tooltip: "", icon: "" }, "2": { title: "

opensea

", tooltip: "", icon: "" }, "3": { title: "

7.84m

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

2

", tooltip: "", icon: "" }, "2": { title: "

tether

", tooltip: "", icon: "" }, "3": { title: "

6.01m

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

3

", tooltip: "", icon: "" }, "2": { title: "

uniswap_v3

", tooltip: "", icon: "" }, "3": { title: "

3.92m

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

4

", tooltip: "", icon: "" }, "2": { title: "

coinbase

", tooltip: "", icon: "" }, "3": { title: "

2.78m

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

5

", tooltip: "", icon: "" }, "2": { title: "

zeroex

", tooltip: "", icon: "" }, "3": { title: "

2.56m

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

6

", tooltip: "", icon: "" }, "2": { title: "

strong

", tooltip: "", icon: "" }, "3": { title: "

1.17m

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

7

", tooltip: "", icon: "" }, "2": { title: "

polygon

", tooltip: "", icon: "" }, "3": { title: "

1.15m

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

8

", tooltip: "", icon: "" }, "2": { title: "

uniswap_v2

", tooltip: "", icon: "" }, "3": { title: "

1.12m

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

9

", tooltip: "", icon: "" }, "2": { title: "

looksrare

", tooltip: "", icon: "" }, "3": { title: "

1.01m

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

10

", tooltip: "", icon: "" }, "2": { title: "

ethichub

", tooltip: "", icon: "" }, "3": { title: "

926.33k

", tooltip: "", icon: "" }, id: 9, }, ], }} /> ## **NFT marketplaces and DEXs see continued growth** Compared to 4.85 million in Q4 2021, Opensea, the leading [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), demonstrated a 61.6% increase in the total number of transactions, a signal for increasing interest in NFTs \(non-fungible tokens\), which were one of the largest trends in Q1 2022. This increase in NFT activity is corroborated by the sudden rise of Looksrare, a new NFT marketplace, which jumped to the top 10 of NFT marketplaces this quarter, with over one million transactions. Another notable trend was an increase in volume in decentralized exchanges \([DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base)\) like Uniswap v3, which went from 2.73 million transactions in Q4 2021 to 3.92 million in Q1 2022, a 43.6% increase. ## **Conclusion** While general price action for Ethereum underwent a market correction, the total developer activity and transaction volume for consumer-facing [apps](https://www.alchemy.com/dapps/top/defi-dapps) like NFT marketplaces and DEXs continues to show consistent growth.  Overall, the on-chain metrics point to a resilient network of builders, creatives, and users despite market sell-offs for the underlying native cryptocurrency tokens. In general, each subsequent quarter shows a substantial increase in both interest and innovation on the Ethereum blockchain. We expect this trend to continue as more and more developers start working on blockchain development projects and continue to develop more utility for the Ethereum blockchain, irrespective of market conditions. Sign up for a free Alchemy account to [start developing on Ethereum](https://alchemy.com/ethereum/?a=2d0dd19446). --- # Execution Layer (EL) and Consensus Layer (CL) Node Clients URL: https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients.md Ethereum’s rampant success in recent years has propelled its popularity amongst blockchain enthusiasts. As a result, Ethereum has experienced a wide array of scalability issues, commonly observed with its high gas fees, slow block times, and network congestion. By separating Ethereum into two highly-optimized layers, an execution layer \(EL\) and a consensus layer \(CL\), the network becomes more scalable. Each layer requires slightly different node client infrastructure. In this article we will highlight the main Ethereum node clients: - [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) \(Go Ethereum\) - Nethermind - Erigon - Hyperledger Besu We will also highlight the main consensus layer node clients: - Prsym - Teku - Lighthouse - Nimbus - Lodestar ## **What are the most popular execution layer clients?** In the current blockchain ecosystem, popular blockchain execution layer clients are Geth \(80.1%\), Erigon \(8.7% Adoption\), Besu \(3.0%\), and Nethermind \(2.6%\). [Execution layer clients](https://ethernodes.org/) run on the execution layer to maintain and manage the overall state of the blockchain while also completing the transactions using virtual machines. ### **1. Geth \(go ethereum\)** Using [Geth](https://www.alchemy.com/dapps/geth), developers can interact with the Ethereum blockchain via [Ethereum nodes](http://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes) using the command line and the Go programming language. Developers can use Geth to enact Ethereum transactions or mine Ethereum’s native cryptocurrency, ETH.  #### **How to set up the Geth client on MacOS \(homebrew\)** ### **2. Erigon** [Erigon](https://www.alchemy.com/dapps/erigon) is an Ethereum execution layer client written in the Go programming language. Erigon provides an optimized implementation of Ethereum that emphasizes speed, and is primarily used to [run archive nodes](https://www.alchemy.com/overviews/archive-nodes) which manage large amounts of state data. #### **How to set up the Erigon client on MacOS** While Erigon is a popular client implementation for archive nodes, clients like Silkworm \(C\+\+\) and Akula \(Rust\), have demonstrated comparable, if not better performance for running archive nodes. ### **3. Besu** [Besu](https://www.alchemy.com/dapps/besu) is an Ethereum execution layer client built by Hyperledger using the Java programming language under the Apache 2.0 license, allowing engineers to run Ethereum nodes. Developers can interact with Besu using the command line and JSON-RPC API, accessible via RPC, HTTP, or WebSockets. Besu is used for ETH mining and engineering smart contracts or decentralized applications. #### **How to set up the Besu client on MacOS** ### **4. Nethermind** [Nethermind](https://www.alchemy.com/dapps/nethermind) is an Ethereum execution layer client built on the .NET core that allows engineers to develop on Ethereum nodes. #### **How to set up the Nethermind client on MacOS** ## **What is the consensus layer?** **The consensus layer serves as the new backend infrastructure for the Ethereum blockchain, hosting and verifying the efficacy of validators.** In the PoS model, the validation occurs in the form of staking, where validators stake ETH as collateral which can be taken by the network \(slashed\) in the case of misbehavior. ## What are the Ethereum consensus layer clients? **Several consensus layer clients exist including Lighthouse, Prysm, Nimbus, Teku, and Lodestar.** ### **1. Lighthouse** [Lighthouse](https://www.alchemy.com/dapps/lighthouse) is a consensus layer client developed by Sigma Prime and written in the Rust programming language. Lighthouse’s implementation emphasizes security and performance speed amidst the Ethereum merge to PoS.  #### **How to set up the Lighthouse client on MacOS** ### **2. Prysm** [Prysm](https://www.alchemy.com/dapps/prysm) is a consensus layer client developed by Prysmatic Labs in the Go programming language. Prysm’s implementation comprehensively incorporates Ethereum’s PoS and staking protocol, while placing a strong focus on security and reliability. #### **How to set up the Prysm client on MacOS** ### **3. Nimbus** [Nimbus](https://www.alchemy.com/dapps/nimbus) is a consensus layer client developed using the Rust programming language. Nimbus’ consensus layer client implementation concentrates on developing a lightweight client that is capable of being hosted on a wide range of hardware devices. #### **How to set up the nimbus client on MacOS** ### **4. Teku** [Teku](https://www.alchemy.com/dapps/teku) is a consensus layer client developed by the Besu team, using the Java programming language. Teku’s implementation targets institutional investors rather than the general public.  #### **How to set up the teku client on MacOS** ### **5. Lodestar** [Lodestar](https://www.alchemy.com/dapps/lodestar) is a consensus layer client developed by ChainSafe Systems in the Typescript programming language. Lodestar is developed to be a deployable and lightweight client while appealing to Typescript and Javascript developers. #### **How to set up the lodestar client on MacOS** ## **Conclusion** The separation of the execution and consensus layers was a part of the long awaited Ethereum Merge upgrade in 2022. --- # What is the best free Ethereum RPC? Alchemy vs. Quicknode URL: https://www.alchemy.com/overviews/free-ethereum-rpc.md **Alchemy's free plan offers up to 10x more computing resources** for overlapping JSON-RPC calls than [Quicknode](https://www.alchemy.com/dapps/quicknode)'s free plan. The best [free Ethereum](https://www.alchemy.com/faucets) RPC access is provided by Alchemy's blockchain development platform. Alchemy's blockchain development platform provides more free RPC node access with more accurate and reliable data, and more web3 tools and APIs [compared to Quicknode](http://www.alchemy.com/overviews/alchemy-vs-quicknode). In this article, we will compare both free options to help you determine which Ethereum node provider is best for you. ## How does Alchemy free tier compare to QuickNode free tier? The main difference between Alchemy and Quicknode is that Alchemy offers up to 10x more power for overlapping JSON-RPC than Quicknode. It is critical to note that Alchemy's CUs and Quicknode's API credits are not equally weighted 1:1. Which is why we'll give a thorough breakdown of their compute cost comparison in the next section. ### What is the difference between Alchemy's compute units and QuickNode's API credits? Alchemy uses [Compute Units \(CUs\)](https://www.alchemy.com/docs/reference/compute-units) to measure the total computational resources [apps](https://www.alchemy.com/dapps/top/defi-dapps) use on Alchemy, while Quicknode uses API "Credits" to determine the relative cost of each Ethereum RPC method. Compute Units and API Credits are analogous to compute usage on AWS.  CUs are used to measure computational resources because some blockchain queries are cheap and lightweight, like the eth_blockNumber RPC request, while others are more computationally expensive, like **eth_getLogs**. For both web3 infrastructure providers, each method is assigned a total number of CUs or API Credits, which can be used to calculate how much free Ethereum compute is offered to customers on their free node tier. ### **What is included in Alchemy's free teir?** Here are the main highlights of [Alchemy’s free tier](https://www.alchemy.com/pricing): - **Compute Units:** 300,000,000/month - **Throughput:** 330 CUs/second - **Archive Data Access:** Yes - **Number of apps:** 5 - **Support:** 24/7 Discord Support - **Additional APIs:** NFT API, Transfers API, Transaction Receipts API, Trace API, Token API, Notify API \(Webhooks\), Subscription API \(WebSockets\), Debug API ### **What is included in QuickNode's free tier?** _Here are the main highlights of Quicknode’s free tier:_ - API Credits: 10,000,000 - Throughput: 25 requests/sec - Archive Data Access: Yes - Number of Endpoints: 1 - Support: Community Support - Additional APIs: The NFT Fetch API, Trace and Debug, and Address Balance Index However, to compare the compute [differences between blockchain node providers](https://www.alchemy.com/overviews/blockchain-node-providers), we need to compare the relative cost of similar RPC methods on the same blockchain to see which free tier offers web3 developers the most free compute resources. Compute is only one part of the decision. Use Alchemy's [RPC performance benchmarks](https://www.alchemy.com/benchmarks) to compare current provider latency, success rates, and failed requests. ### Alchemy vs. QuickNode JSON-RPC compute cost comparison In the next three sections, we compare similar calls from Alchemy and Quicknode, their respective compute costs, and the percent difference between how many calls can be made using each company's free tier to help you [choose an Ethereum node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider). For the simplicity of this comparison, we are looking at similar calls for the Ethereum blockchain. #### Does Alchemy or QuickNode provide more low-complexity RPC calls? The transactions requiring the least computational resources include calls such as **eth_blockNumber** \(10 CUs\) and **trace_block** \(24 CUs\). For Quicknode, these two RPC methods cost 1 API credit and 2 API credits, respectively. Dividing the total number of compute units \(300,000,000 CUs\) by the cost of each method's CUs results in the amount of monthly calls developers on the free tier have access to. Web3 developers using Alchemy can complete **eth_blockNumber** 30,000,000 times and **trace_block** 12,500,000 times. On Quicknode, developers can make 10 million eth_blockNumber calls and 5 million trace_block calls. For cheaper RPC calls like eth_blockNumber and trace_block, **Alchemy's free plan offers three times more** compute than Quicknode's free plan. #### Does Alchemy or QuickNode provide more medium-complexity RPC calls? Transactions that require an average amount of compute resources include **eth_getLogs** \(75 CUs\) and **eth_estimateGas** \(87 CUs\). For Quicknode, these two RPC methods cost 6 API credits each. Developers using Alchemy would be able to complete 4,000,000 eth_getLogs calls per month and approximately 3,450,000 **eth_estimateGas** calls per month, compared to Quicknode, which is 1.67 million per month. For eth_getLogs and eth_estimateGas, two medium sized requests, Alchemy provides twice as many calls as Quicknode for free**.** #### Does Alchemy or QuickNode provide more high-complexity RPC calls? The transactions that require an expensive amount of computational resources include calls like eth_sendRawTransaction \(250 CUs\) and **parity_getBlockReceipts** \(500 CUs\). For Quicknode, these methods cost 23 credits and 250 credits, respectively. Developers using Alchemy would be able to complete 1,200,000 **eth_sendRawTransaction** calls per month and 600,000 **parity_getBlockReceipts** per month. Quicknode users are able to complete the call 435,000 times and 40,000 times respective. That's a difference of nearly **400% in favor of Alchemy** for eth_sendRawTransaction and over **10X** for parity_getBlockReceipts compared to Quicknode. ## Which free Ethereum RPC node provider should I use? If you are looking for a free Ethereum RPC node provider, **Alchemy's free plan offers up to 10x more computing resources** than Quicknode's for overlapping JSON-RPC calls. [Sign up for a free account today ](https://dashboard.alchemy.com/signup/?a=b345f7a704)to switch from Quicknode to Alchemy and start building your next-gen dapp. --- # Types of Ethereum Nodes: Full vs. Archive vs. Light URL: https://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes.md The Ethereum blockchain is a worldwide distributed network of computers across which nodes pool processing power, resources, and share block verification responsibilities so the network can reach consensus \(i.e. agree on a shared state\). This post examines the different types of Ethereum nodes used on the Ethereum blockchain \(full nodes, archive nodes, and light nodes\), and their differences. ## **What is a full node?** **A full node keeps a complete copy of the blockchain data, and contributes to the network by receiving transactions and blocks from other full nodes, validating them, and forwarding them to other full nodes.** When a smart contract transaction is executed, Ethereum full nodes execute all of the instructions in the smart contract. Together, full determine whether the smart contract execution is producing the desired result. However, [running full Ethereum nodes](https://www.alchemy.com/overviews/running-your-own-node) is  expensive to run and consume a great deal of power. ### **Full node clients** A client is an Ethereum software implementation that verifies all transactions in each block, ensuring that the network is safe, and that the transaction data is valid. [Ethereum full node clients](https://ethereum.org/en/developers/docs/nodes-and-clients) validate all transactions in each block, providing the network with security and data accuracy. Each Ethereum client comes with its own set of capabilities and advantages. Implementations can be tailored to different user groups due to their diversity. Consider features, support, [web3 programming language](https://www.alchemy.com/overviews/web3-programming-languages), and licenses when selecting an Ethereum node client. #### **Full node client software implementations \(execution layer clients\)** There are four primary types of execution layer full node client implementations: 1. **[Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) \(Go Ethereum\)** - written in Go 1. **[Nethermind](https://www.alchemy.com/dapps/nethermind)** - written in C\# and .NET 1. **Erigon** - written in Go 1. **Hyperledger Besu** - written in Java After The Merge, when Ethereum transitions from Proof-of-Work to Proof-of-Stake, each full node will need to run a [consensus layer client](http://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients) in conjunction with one of the aforemention execution layer clients. #### **Full node client software implementations \(consensus layer clients\)** There are five primary consensus layer clients: 1. **Prsym** - built by Prysmatic Labs in Go 1. **Teku** - built by the Besu team in Java 1. **Lighthouse** - built by Sigma Prime and written in Rust 1. **Nimbus** - built by the Nimbus team written in Rust 1. **Lodestar** - built by ChainSafe Systems in Typescript ## **What is a light node?** A **light node** stores block header data, such as the preceding block's hash and a timestamp, rather than the complete block data like a full node does. Light nodes send on-demand requests to full nodes, validating only the parts of the state that their user's require. Low-capacity devices, such as personal computers, may benefit from light nodes because they do not perform expensive data storage and writing tasks. **Examples of use cases for light nodes include:** 1. Examining balances 1. Validating if a transaction was confirmed by the network 1. Checking event logs Beside personal computers, [light nodes](https://www.parity.io/blog/what-is-a-light-client/) can also be efficiently run on low-capacity devices like mobile phones or Raspberry Pis. ## **What is an archive node?** An [**archive node**](https://www.alchemy.com/overviews/archive-nodes) holds all of the same data as a complete node, as well as all of the blockchain's history state data dating back to the Genesis Block (i.e. the first block). Although full nodes can rebuild old blockchain state data, this synchronization process is time-consuming and inefficient. This data may need to be served rapidly depending on the use case. However, archive nodes can [trace transactions](https://www.alchemy.com/docs/node/trace-api/trace-api-endpoints/trace-block) since they have historical data dating back to the first block. Archive nodes can store gigabytes of past data, making them less desirable to the typical user but valuable to service providers like block explorers, wallets, and on-chain analytics companies. ### **Erigon vs. Geth** The official Golang implementation for the Ethereum protocol is Go Ethereum \(or Geth\). Geth is the most popular Ethereum client, has the most users, and provides a wide range of Go-based tools for developers, all of which are open-source and licensed under the GNU LGPL v3. Erigon is a Geth fork that focuses on speed and disk space savings. Erigon is an entirely re-architected Ethereum node client implementation developed in Go with plans tol be ported to other languages in the future. Erigon aims to deliver a more modular, quicker, and streamlined Ethereum implementation. [Compared to Geth](https://medium.com/@giulio.rebuffo/silkworm-and-akula-the-future-of-erigon-fda4d6813505), Erigon's parallelized development, flat storage, preprocessing, and staged synchronization, Erigon achieves smaller storage footprints, faster sync speeds, and overall a better experience for developers needing to use trace APIs. ### **What are the differences between a full node and an archive node?** The main difference between a full node and an archive node is that the archive node keeps track of all of the chain's previous states \(i.e. a complete picture of the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum)\), while a full node only needs to store a snapshot of current state data. Put simply, archive nodes contain all of the historical data since block one, whereas full nodes only contain the most important, current data necessary for validating new transactions while unnecessary blockchain data is "pruned." ## **How to choose the right type of node** Choosing the right type of Ethereum node to deploy depends on your use case and resources because node setup and functionality differ significantly. You can use Ethereum in a private, self-sufficient, and trustless manner by running your node. You don't have to trust the network because the data may be verified with your own node client. A **full node** has the advantage of being able to communicate directly with any smart contract on the public blockchain. Smart contracts can also be deployed now into the public blockchain by full nodes. Unlimited data usage, storage, and direct smart contract capabilities are not free, however, and full nodes may tax the hardware and bandwidth resources of your machine. **Archive nodes** store all of the information that a full node does and creates a history of blockchain states. Even after a client has completed synchronization, archive nodes will save previous data.  If your application requires historical blockchain information you will need to run your own archive node or [pick a blockchain node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) that offers archive node access. **Light nodes** are comparable to full nodes, however, they only handle a small amount of data. The light node saves header chain data but only receives extra data when requested. They can validate data validity, but they don't engage fully in block validation. ## **Alchemy node infrastructure** Alchemy is a [web3 node infrastructure provider](https://www.alchemy.com/overviews/blockchain-node-providers) and blockchain developer platform that offers web3 devs supercharged scalability, stability, and data accuracy through Supernode and Alchemy's suite of tooling. Supernode increases every aspect of node functionality using specialized distributed systems and a proprietary coordinator service to ensure real-time data accuracy. Because nodes are general-purpose and not designed to be highly available, apps that [operate their own node](https://www.alchemy.com/overviews/running-your-own-node) may experience higher than average latency and downtime compared to a node provider. ### **Scalable, reliable, and accurate** Alchemy's [Supernode](https://www.alchemy.com/supernode) offers a scalable node architecture with a 99.99% uptime guarantee, allowing dApp developers to continue scale without interruption to their product or users. Alchemy's infinitely scalable node infrastructure, unmatched reliability, speed, and [data correctness](https://www.alchemy.com/blog/data-accuracy) are used to power **Polygon**, which has proven to be an adoption catalyst, resulting in a significant increase in the number of [apps](https://www.alchemy.com/dapps/top/defi-dapps) built on Polygon.  **0x**, the global backbone for decentralized exchanges, which allows hundreds of billions of trades to flow through all major blockchains, trusts Alchemy for reliable node infrastructure. ### **Free archive node access** Alchemy offers a robust free tier that provides free archive access for both mainnet and testnets. To learn more about Alchemy and to get free archive access, [sign up for a free account today](https://www.alchemy.com/?a=260a7bfa7d). --- # What are Gas Optimized Transactions? URL: https://www.alchemy.com/overviews/gas-optimized-transactions.md ‍[Gas Optimized Transactions](https://www.alchemy.com/docs/reference/mev-protection) are a powerful solution for users sending blockchain transactions, particularly those with a high volume of transactions going through a single address.  A common and painful workflow for these users is running into a large backup of unmined transactions, invariably caused by a single transaction with a gas value that is set too low. A backlog of unmined transactions are more likely to happen when there is gas price volatility, caused by network congestion.  In this article, we’ll cover: - The transaction lifecycle  - The problem of gas price volatility - Gas Optimized Transactions - How Gas Optimized Transactions solve gas volatility problems  - How Gas Optimized and Reinforced Transactions work together  - How to start using Gas Optimized Transactions   - Blockchains that support Gas Optimized Transactions  ## What is the transaction lifecycle? The transaction lifecycle happens in four sequential stages: 1. **Create** - you decide to send a transaction at a specific gas price 1. **Simulate** - you preview how your transaction will behave once it is sent 1. **Send** - you send your transaction to get executed on chain 1. **Monitor** - you track notifications to ensure your transaction is successful [Alchemy Transact](https://www.alchemy.com/transact) is a series of products for faster, cheaper, and safer transactions, offering improvements throughout the entire web3 transaction lifecycle.   Alchemy’s Gas Optimized Transactions is a tool to improve the “Create” phase of the web3 transaction lifecycle, giving users access to a smart gas optimization system that effectively minimizes gas spend while reducing risk of failed transactions that create a negative cascade effect. ## Why is gas price volatility a problem when sending blockchain transactions? Developers and users spend more than necessary on blockchain transaction requests. Reasons for this include incorrect gas price estimation and network congestion. ### **1. Incorrect or inaccurate gas price estimation** [EIP-1559](https://www.alchemy.com/docs/how-to-send-transactions-on-ethereum) caps the amount the base fee can move, block to block, at 12.5%. It optionally gives users the ability to define a “max fee” field, denoting the maximum price \(base fee \+ priority fee\) they’re willing to pay to get a transaction mined.   While the base fee’s movement is capped, the priority fee is arbitrary. This means a user could send what should have been a reasonably priced transaction, but the required block fees balloon, and their transaction gets stuck in mempool purgatory. This user would have to either resubmit their transaction or wait until the fees drop \(but by then, their transaction could have been purged from the mempool\). This stuck transaction then causes a cascade effect, creating a back up of unmined transactions and long delays in transaction processing times. This is particularly problematic for teams sending a large volume of transactions.  ### **2. Network congestion** The cost of executing a transaction is determined by the current gas price on the network. During periods of high network congestion, the gas price can rise dramatically and cause transactions to get stuck. ## What are gas optimized transactions? [Gas Optimized Transactions](https://www.alchemy.com/docs/reference/mev-protection) is a collection of API endpoints that provide a mechanism to optimize gas values, while ensuring that web3 transactions are successfully mined on chain.  When submitting a transaction to be mined on chain, the typical workflow is to send a single transaction, with a single gas value, representing the amount of gas you’re willing to pay for that transaction to be mined.  Gas Optimized Transactions allow developers to set a wide range of gas values for a single transaction, removing the need to accurately estimate a single gas value.  With Gas Optimized Transactions, instead of sending a single gas value, users send multiple versions of the same transaction with different gas values, all on the same nonce.  The system will then select the appropriate transaction for the current network conditions, increasing to higher gas levels as needed to get a transaction mined.  **Gas Optimized Transactions help to ensure:** - Transactions are successfully mined, while guaranteeing the cheapest gas price - Long backups of transactions are avoided Backups are invariably caused by one transaction with too low of a gas price getting stuck in the mempool. ### How do gas optimized transactions solve gas price volatility? Instead of sending a single transaction directly to a node, developers will be able to send Alchemy a list of signed transactions via the [alchemy_sendGasOptimizedTransaction](https://www.alchemy.com/docs/reference/mev-protection) endpoint.  In the background, Alchemy will submit the transaction with multiple gas levels, defaulting to ensure that the transaction with the lowest possible gas value will be successfully mined. Ultimately, Gas Optimized Transactions mean that developers can try a wide range of gas values for a single transaction. Developers concerned about reliable transaction throughput speed, like the developers of The Smurfs' Game, can [improve mined transaction guarantees](https://www.alchemy.com/blog/gas-optimized-transaction-case-study) by using Gas Optimized Transactions, even during periods of high network congestion.  ### **How do gas optimized and reinforced transactions work together?** To access Gas Optimized Transactions, you will have to enable [Reinforced Transactions](https://www.alchemy.com/docs/reference/mev-protection) on your app. Reinforced Transactions require zero code changes and [ensure your transactions get on-chain](https://www.alchemy.com/overviews/reinforced-transactions) 7.9x faster, with 100% reliability.  This requirement is the mechanism to ensure that Gas Optimized Transactions are implicitly Reinforced, thereby with higher reliability.  ## **How to start using gas optimized transactions** Gas Optimized Transactions are still in beta. If you’d like early access to this product, please [fill out this form](https://alchemyapi.typeform.com/to/EhW0nBC1). Solve the headache of optimal gas values when creating transactions and leave the hard work to Alchemy. ### **What blockchains support gas optimized transactions?** Gas Optimized Transactions are currently supported on the following blockchain networks: - Ethereum - Polygon - Optimism - Arbitrum --- # How to Get Base Sepolia ETH from a Faucet URL: https://www.alchemy.com/overviews/get-base-sepolia-eth.md The[ Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) is a proof-of-stake \(PoS\) testnet where application developers can test their smart contracts without having to spend real ETH tokens. The Ethereum foundation is [deprecating the Goerli testnet](https://www.alchemy.com/blog/goerli-faucet-deprecation), and recommends developers should use the Sepolia network instead of Goerli. [Base](https://www.alchemy.com/base) is a Layer 2 blockchain who recently launched their Base Sepolia testnet. Developers building on Base are encouraged to migrate their testnet applications from Base Goerli to Base Sepolia. To start the migration, follow these steps to get free Base Sepolia testnet tokens. ## 1. Visit Alchemy's Base faucet This [Base Sepolia Faucet](https://www.alchemy.com/faucets/base-sepolia) is managed by Alchemy, and provides developers with a fast and reliable way to collect free Base Sepolia ETH tokens. Unlike many faucets that require social verification, Alchemy is available to the public without social validation. ## 2. Connect MetaMask to the Base Sepolia network Go to your Alchemy Dashboard and click "Create new app" Next, choose Base Sepolia as your "Network." Then, click on "API Key" in your app dashboard, and copy the HTTPS address: Go to MetaMask and add a new network from the network switcher: Add the Base Sepolia network manually using the HTTPS address from your Alchemy app. The Base Sepolia Chain ID is 8453, and the currency symbol is ETH. Once all of the chain details are entered, click "Save" and make sure your Metamask wallet is on the Base Sepolia network. ## 3. Request Sepolia ETH on Base First, enter your Base wallet address. Then, click the "Send Me ETH" button. Within a few seconds, your Sepolia ETH tokens should arrive in your wallet on the Base blockchain! That's it! You can now use your Sepolia ETH to deploy and test smart contracts on Base’s new Sepolia testnet! ## Frequently asked questions ### What is the Base Sepolia faucet from Alchemy? Alchemy's Base [Sepolia faucet](https://www.alchemy.com/overviews/sepolia-eth) at basefaucet.com provides web3 developers with a fast and reliable way to collect free Base Sepolia ETH tokens for testing smart contracts. ### How do I get Base Sepolia Testnet ETH using Alchemy's faucet? Visit Alchemy's Base faucet, enter your Base wallet address, and click "Send Me ETH" to receive tokens within a few seconds. ### How much Base Sepolia ETH can I claim daily? You can claim up to 0.5 Base Sepolia ETH per day from Alchemy's faucet. ### Does Alchemy's Base Sepolia faucet require social verification? No, unlike many faucets that require social verification, Alchemy's faucet is available to the public without social validation. ### What is the chain ID for Base Sepolia? The Base Sepolia Chain ID is 8453, and the currency symbol is ETH. ### Why should I use Base Sepolia instead of Base Goerli? Developers building on Base are encouraged to migrate their testnet applications from Base Goerli to Base Sepolia as part of the broader transition from deprecated Goerli networks. ### Is it free to create an Alchemy account? Yes, it's free to sign up for an Alchemy account with no credit card required - just provide basic information like your name and email. --- # 3 Important Reasons to Use Alchemy's NFT API for getNFTs URL: https://www.alchemy.com/overviews/getnfts.md If you’re building an NFT dApp, [Alchemy’s NFT API](https://www.alchemy.com/nft-api?a=cf7d4f9793) can help you build better experiences for your users by using get requests, like getNFTs and getOwnersForToken. Let’s look at what these methods do and why we should use them in our NFT builds.     ## What is getNFTs? [**getNFTs**](https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-api-v-2-methods-older-version/get-nf-ts) is an NFT API endpoint that allows developers to get the list of all NFTs, including ERC-721 and ERC-1155 tokens that belong to a particular owner address. You can enter either an owner address or an ENS name and the API will return the list of all NFTs owned by that address, along with the NFT metadata. ### Example use cases for getNFTs **getNFTs is one of the most versatile NFT API endpoints, and can be used across a variety of web3 products including wallets to display NFTs, NFT marketplaces, NFT analytics tools, NFT rarity ranking sites, Discord bots, and many other use cases.** For example, if you were to go to the profile page of your [OpenSea](https://www.alchemy.com/dapps/opensea) account, you would be able to see which NFTs you own. This is powered by an endpoint that uses getNFTs to return the NFTs owned by your wallet address and the related NFT metadata. More broadly, getNFTs can benefit anything that requires you to either know what a user owns. For example, a getNFTs request could power NFT analytics tools like rarity ranking sites or a Discord bot by pulling in data and letting you know what NFT just sold, in which marketplace it sold, and any other relevant metadata. ## What is getOwnersForToken? [**getOwnersForToken**](https://www.alchemy.com/docs/reference/nft-api-endpoints/nft-api-endpoints/nft-api-v-2-methods-older-version/get-owners-for-token) is an API that allows you to specify an NFT smart contract and return the list of all owners for that token. For ERC-721 tokens, getOwnersForToken will only return a single owner, but for ERC-1155 tokens, which can have multiple owners, getOwnersForToken can return more than one wallet address. ### Example use cases for getOwnersForToken getOwnersForToken has multiple use cases including airdrops, cache refreshes for NFT ownership changes, and profile picture verifications. If you’re running an NFT minting project and want to do an airdrop to owners of a specific token, getOwnersForToken allows you to identify this allowlist.  Similarly, if you have a profile picture and want to verify ownership, you could use this API to check if ownership has changed. Without getOwnersforToken, there is no convenient solution for these use cases because developers would have to parse the entire blockchain to figure out how the ownership for a single NFT has changed over time. Now, with Alchemy’s NFT API, the getOwnersForToken API can accomplish this task with one request. ## 3 reasons to use Alchemy's NFT API for getting NFTs [Building with Alchemy's NFT API](https://www.alchemy.com/docs/reference/nft-api-quickstart) is the best choice for getting NFTs because of its coverage, spam filters, and image caching. ### 1. NFT coverage **Alchemy's NFT API has the broadest coverage of NFTs, which is a challenge because NFT metadata lives on chain, off chain, and in inconsistent formats, which leads to a lot of edge cases for accurately logging metadata.** Having NFT metadata living in multiple different formats, and multiple different environments makes determining accurate metadata for an NFT a messy problem.  Alchemy is able to provide the most complete NFT coverage because of designing multiple code paths to overcome many of the most prominent cases, including, but not limited to, handling metadata: - On chain or off-chain in JSON format - On chain or off-chain in SVG format - On chain or off-chain in UTF-8 format Alchemy’s NFT API also can handle SVGs, NFTs that use IPFS gateways like Pinata, URIs pointing to an image to a secondary off-chain location, images encoded in base 64, and many other implementations. #### How do we get NFT metadata? **Getting NFT metadata is a complicated process with many variations, but Alchemy’s NFT API offers a simple solution so you don’t need to waste valuable time thinking through each use case on its own.**  To get an NFT’s metadata, we start with an ID, which is a contract address and a token ID that together make up the unique identifier of the NFT. This ID is checked against the Alchemy NFT cache to see if the information already exists. If it’s not in the cache, we need investigate what type of NFT it is and to what standard the contract conforms. Alchemy currently supports two major NFT standards: [ERC-721 and ERC-1155](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155) smart contracts. An actual ERC-721 standard should provide a scheme that has the NFTs title and properties, including the name, descriptions, and image, and be able to support some additional methods.  In theory, you should be able to identify if an NFT does support this standard through a support interface call and the contract will respond with the answer. Because these contracts are programmable, a developer might intentionally or mistakenly program the contract to respond incorrectly, which means we need to look at other properties of the contract to ensure that it supports the interface.  Once you’ve determined the smart contract is indeed an NFT, you can ask the contract or the token for the _metadata’s location_. For an ERC721 contract, the method you call is the **token URI** method, while for a 1155 contract, it is simply called the **URI** method. The URI points to a place on the internet, or a place on-chain, where the NFT metadata exists. Some contracts, when asked for this location, point to a file, while others incorrectly provide the metadata directly in the token URI.  If the URI points to another location, we’ll need to follow the link, most often to a third-party website or server, which has its own host of problems. These websites can be broken, malicious, or rate limited, but Alchemy cuts through that to cleanly return the information. With some many different implementations across ERC-721 and ERC-1155 smart contracts, having broad and [accurate data coverage](https://www.alchemy.com/blog/data-accuracy) of NFTs is a persistent challenge. Using the Alchemy NFT API is the best way to ensure maximum coverage of known NFTs. ### 2. NFT spam filters Alchemy’s spam filter for getNFTs makes building even easier by filtering out [**spam NFTs**](https://www.alchemy.com/overviews/spam-nfts), which are unsolicited airdrops or NFT smart contracts that break the ERC-721 and ERC-1155 standards. In addition to the native filtering options of getNFTs, Alchemy’s new **getSpamContracts** will return the list of all ERC-721 and ERC-1155 spam contracts on the selected chain.  Similarly, **isSpamForContract** will check if a particular NFT smart contract has been classified as spam. You can filter for contract addresses, which means you can also look for the owners of a particular NFT and check to see if that’s the only one they own. Alchemy is the only platform with an NFT spam filter, and it is incredibly difficult to be engaging with NFTs if you’re being bogged down by spam. ### 3. NFT image caching **Alchemy’s image caching leads to faster responses and faster load times for NFT images.** While NFT media is traditionally served from IPFS, [decentralized storage providers](https://www.alchemy.com/overviews/a-primer-on-decentralized-storage-networks), or third-party servers, developers often face slow loading times and timeout errors when using these endpoints. Alchemy solves this problem by caching NFT images using Cloudinary and serving up NFT URLs from our own cache making retrievals quicker. ## Which NFT API should I choose? **Because of Alchemy’s robust endpoints including spam filters, getFloorPrice, and reingestContract, the best NFT coverage, including support for Crypto Punks, and the most accurate data, the Alchemy NFT API is the best choice for web3 developers.** [Sign up for an Alchemy account](https://www.alchemy.com/enhanced-apis?a=cf7d4f9793) and see how Alchemy’s NFT API can help you build your next NFT project, or learn more about how Alchemy can help you in your web3 journey. --- # How to Get Testnet ETH Using a Goerli Faucet on Ethereum URL: https://www.alchemy.com/overviews/goerli-faucet.md Goerli is a proof of authority \(PoA\) testnet web3 developers use to test blockchain applications before launching them on the [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum). To test smart contracts on the Goerli testnet, developers need Goerli ETH and a [Goerli RPC endpoint](https://sepoliafaucet.com/) to execute transactions. Developers can [get testnet ETH for free using a Goerli Faucet](https://goerlifaucet.com/). ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation).  We therefore recommend using [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) testnet as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/) also. ## **What is the Goerli Testnet?** **Goerli is a testnet, a decentralized computing network who’s ledger is separate from the main Ethereum ledger, so transactions do not cross over between the two. It runs on a different consensus system, proof of authority, rather than the Ethereum mainnet proof of stake \(PoS\).** Goerli is one of [Ethereum's most popular testnets](https://www.alchemy.com/overviews/what-are-testnets) and is used by web3 application developers to test their applications before launching them on the Ethereum Mainnet. ### **What is the difference between proof of stake and proof of authority?** In the proof of stake model, the longest chain is the chain that all participants in the network agree to be true. Validators are the participants that add new blocks of transactions to this chain. Under the proof of stake model, validators are randomly chosen from a pool of actors willing to offer 32 ETH as collateral to be taken away in cases of malicious behavior.  The logic behind this consensus model is that the collateral discourages validators from acting maliciously because they would lose a non-trivial amount of Ethereum and/or lower the price of Ethereum and their own net worth. The proof of authority model differs from the proof of stake model in forcing its validators to reveal their real-world identities. Once a majority of the validators agree that a new block of transactions is legitimate, it is signed off and added to the longest chain.  Because it would be expensive to verify the identities of a large number of players, only small private chains such as the Goerli testnet have adopted proof of authority.  ## **Why do developers build on the Goerli Testnet?** **Developers build their apps on the Goerli testnet over other testnets because Goerli supports a wider variety of node software \(e.g. Geth, Parity, Nethermind, Hyperledger\) than alternatives like Rinkeby and Kovan which only support Geth and Parity respectively.** As a separate ledger from the main Ethereum network, whatever happens on the Goerli testnet stays on Goerli. Decentralized application developers [choose to use the Goerli testnet](https://www.alchemy.com/) because it is a safe space to test their decentralized applications for security risks and bugs before releasing them on the Ethereum mainnet. ## **What is Goerli ETH?** **Goerli ETH is fake testnet ETH exclusive to the Goerli testnet that you use exclusively to pay for computation.** Developers can get Goerli ETH to begin running [apps](https://www.alchemy.com/dapps/top/defi-dapps) at this Goerli  faucet page on the Alchemy site. Developers building Ethereum applications can get Goerli ETH for free using a Goerli Faucet. ### **How do developers use test ETH on the Goerli Testnet?** **Developers use test ETH funds to pay for transactions on the Goerli testnet, but  don’t worry, Goerli ETH is free.** Thanks to the limited amount of Goerli testnet ETH given to each wallet daily from this [Ethereum faucet](https://www.alchemy.com/dapps/list-of/crypto-faucets-on-ethereum) and every transaction requiring Goerli ETH,  the system prevents malignant actors from overloading the testnet with transactions. ## **What are Goerli faucets?** **The Goerli Ethereum faucet is where developers can acquire Goerli testnet ETH for free.** Most Goerli faucets will require you to authenticate yourself on Twitter or confirm you are a real human before placing you in a queue to get for a Goerli testnet tokens. Alchemy’s Goerli test network faucet is free, fast, and does not require authentication. However, if you sign up for a free Alchemy account where you can build and test applications on the Goerli testnet, you can get 0.02 ETH per day. **Note**: The Goerli faucet requires a minimum mainnet balance of 0.001 ETH on the wallet address used to prevent bots and abuse. ## **How to get Testnet ETH from a Goerli faucet** 1. [Register for a free Alchemy account](https://www.alchemy.com/?a=829a4dd348) or sign in if you already building on Alchemy. 2. Go to goerlifaucet.com After clicking ‘Send Me ETH’, a pop up screen will congratulate you on successfully requesting Goerli ETH from the Goerli testnet faucet. 3. Copy and paste your wallet address or ENS domain Upon exiting the popup, a transaction hash should now be visible in the ‘Your Transactions’ table. Click on the transaction hash to view the details of what happened, like how much Goerli faucet ETH you received from the goerli-faucet and what the gas price of the transaction was. If you wish to browse all transactions on the Goerli network, you can do so on this Goerli testnet explorer. 4. Click Send Me ETH With Goerli ETH funds in your wallet, you can now connect to the Goerli testnet and start using your ETH to test your smart contracts! --- # Goerli vs. Sepolia Testnet Comparison: Which is better? URL: https://www.alchemy.com/overviews/goerli-vs-sepolia.md Goerli and Sepolia are two testnets that Ethereum developers use to test their applications. There are multiple reasons web3 developers should consider before choosing a testnet including availability of test ETH, RPC node provider support, smart contract availability, and more.  In this article we will cover what each testnet is, their technical differences, highlight three considerations, and help you choose the best Ethereum testnet for your project. ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/). ## **What is the Goerli Testnet?** Goerli started off as a hackathon project at ETH-Berlin in 2018 before being officially launched in 2019. The [Goerli test network](https://www.alchemy.com/overviews/goerli-faucet) is a public, Proof-of-Stake \(PoS\) testnet that is maintained with an open validator set, meaning anyone who wishes to run their own testnet validator can participate. However, due to the large state of the network, it requires a longer time to sync and more storage to run a node.  ### **Key differences compared to Sepolia** - Open validator set - Access to consensus is [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) - Supports cross client functionality - Carries a large state and requires high storage commitments - Requires a longer time to synchronize with the present state of the network ### **Goerli chain information** If you are adding the Goerli blockchain to your wallet, this is the [Goerli chain ID and network information](https://www.alchemy.com/chain-connect/chain/goerli) to include: - **Network Name** - Goerli Test Network - **RPC URL** - https://eth-goerli.g.alchemy.com/v2/\[YOUR-API-KEY\] - **Chain ID** - 5 - **Currency Symbol** - GoerliETH - **Block explorer URL** - https://goerli.etherscan.io/ To start building on Goerli, [sign up](https://dashboard.alchemy.com/signup/?a=sepolia-vs-goerli) for a free Alchemy account, and get free GoerliETH tokens from Alchemy's [public Goerli faucet](https://goerlifaucet.com/). ## **What is the Sepolia Testnet?** Launched in 2021, [Sepolia is a permissioned Proof-of-Stake test network](https://www.alchemy.com/overviews/sepolia-testnet) maintained by a closed validator set primarily controlled by client and testing teams. While developers can use the testnet publicly to test and deploy their [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps), not everyone can opt to run a validator node, making it a permissioned network Since Sepolia, being a younger testnet, has fewer deployed applications as compared to more mature testnets like Goerli. It has a smaller state and history, allowing for faster syncing and requiring minimal disk space to run a node. ### **Key differences compared to Goerli** - Closed validator set \(Proof-of-Authority configuration\) - Access to consensus is permissioned - The validator set is restricted and mainly overseen by client and testing teams - Supports cross-client compatibility - Smaller blockchain state and history - Fast to sync and requires fewer storage commitments ### **Sepolia chain information** If you are adding the Sepolia blockchain to your wallet, this is the [Sepolia chain ID and network information](https://www.alchemy.com/chain-connect/chain/sepolia) to include: - **Network Name** - Sepolia Test Netwok - **RPC URL** - https://eth-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\] - **Chain ID** - 11155111 - **Currency Symbol** - SepoliaETH - **Block Explorer URL** - https://sepolia.etherscan.io/ To start building on Sepolia, [sign up](https://dashboard.alchemy.com/signup/?a=sepolia-vs-goerli) for a free Alchemy account, and [get free SepoliaETH tokens](https://www.alchemy.com/overviews/sepolia-eth) from Alchemy's public faucet. ## **Things to consider before choosing to develop on Sepolia or Goerli** The three things to consider before selecting either the Sepolia test network or Goerli are: the availability and cost of test ETH, RPC and API support, and smart contract availability. ### **1. Availability of test ETH** The main consideration when choosing between Goerli and Sepolia is the availability, accessibility, and cost of acquiring test ETH tokens. Test ETH tokens are used to pay for gas on testnets, and are required by web3 developers to deploy and test their smart contracts in an environment that closely mirrors the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) environment. #### **Is Goerli ETH free?** Historically, the test ETH that developers use on the Goerli testnet, goETH, has been free, however because of the scarcity of goETH, liquid markets have been created where developers can buy and sell goETH for real ETH. Web3 developers can still access free Goerli ETH through a Goerli Faucet, but because of a hard cap on the total amount of goETH, there is a limit to how much goETH can be received each day. The scarcity and cost associated with accumulating Goerli ETH is one reason why many Ethereum developers are switching from Goerli to Sepolia. #### **Is Sepolia ETH free?** Yes, Sepolia ETH is free, and can be received from a [Sepolia ETH faucet](https://sepoliafaucet.com/). Because there is no cap on the total number of sepETH available in the market, faucet providers like Alchemy are able to provide developers with larger amounts of sepETH each time they request test ETH from a Sepolia faucet. ### **2. RPC and API support** Before deciding to build on Sepolia or Goerli, it’s important to understand the RPC node providers that support each testnet, and the API endpoints that they support. For example, some RPC providers like Alchemy support the Sepolia testnet, while other providers may not. Additionally, some RPC providers may lack support for important API endpoints, such as trace APIs which require Erigon nodes. Alchemy supports all the core JSON-RPC methods on Sepolia as well as archive node support and trace API endpoints. Alchemy will also support enhanced API methods on Sepolia in the future. ### **3. Smart contract availability** If your smart contracts rely on other smart contracts, your decision to build on Goerli vs. Sepolia will be determined by where the dependent smart contracts are deployed. For example, if your smart contracts need to access the [Uniswap](https://www.alchemy.com/dapps/uniswap) v3 contracts, and Uniswap has only deployed their contracts on the Goerli testnet, then you will need to deploy your smart contracts on Goerli until Uniswap migrates their testnets to Sepolia. ### **4. Additional considerations** Besides smart contract availability and support from node providers, factors such as network stability, validator set, and long-term-support by the Ethereum Foundation should be considered when choosing between Goerli and Sepolia test networks. ## **Goerli or Sepolia: which Testnet should I choose?** Choosing the right test network is an important decision that can impact the success of your dapp development. Each test network has its own technical specifications, features, and tradeoffs where selecting the right one can save you time and resources. When it comes to deploying and testing applications and smart contracts, Ethereum.org recommends Sepolia as the primary choice for testing applications and smart contracts due to its restricted validator set and higher stability guarantees. On the other hand, if you're looking to test your beacon chain validators, node setups, client versions, or want to try out protocol upgrades before deploying to the main network, Goerli is a good option. It's the closest testnet to the Ethereum mainnet and can also be useful for testing complex smart contract interactions. --- # Smart Wallet Implementation Guide for Non-Crypto Users URL: https://www.alchemy.com/overviews/guide-for-non-crypto-natives-on-choosing-smart-wallet-infrastructure.md Over [5.2 billion people](https://coinlaw.io/digital-wallet-adoption-statistics/) use digital wallets today, but most have never touched crypto, and they shouldn't have to learn it to use your app. If you're building for everyday users, you need wallet infrastructure that hides the blockchain entirely. Smart wallets abstract away the complexity, turning blockchain accounts into something that feels like any other login. No seed phrases. No gas fees. No "connect wallet" modals that scare away 90% of your users before they complete signup. In this guide, we'll walk you through implementing wallet infrastructure that works for non-crypto users. We'll cover how to choose the right approach, what to look for in providers, and how to test before you ship. ## Start by defining your users Before you pick an SDK, figure out who's actually going to use these wallets and why. Build at least three personas. Maybe you've got a "mobile-first shopper" in their twenties who expects Face ID and instant checkout. Or a "DeFi-curious beginner" who needs guided onboarding. Or an "enterprise employee" who requires SSO integration. Write down demographics, technical comfort level, and primary motivations for each. Set concrete goals. We recommend targeting account creation in under 30 seconds, zero seed phrase exposure, and a first-transaction success rate above 95%. Users now expect passkey-based or social/email-based auth and gasless transactions as baseline features. **Map your top three transaction flows.** Are users tapping to pay in stores? Sending peer-to-peer transfers? Making in-app purchases? Document each flow and call out friction points. A user who has to buy ETH for gas before they can transact is a user who churns. ## How smart wallets actually work A [smart wallet](https://www.alchemy.com/smart-wallets) is a smart contract that can execute programmable logic, manage keys, and sponsor gas on behalf of users. Unlike traditional [crypto wallets](https://www.alchemy.com/dapps/top/wallets) that make users guard 12-word seed phrases, smart wallets handle key management behind the scenes while users authenticate with methods they already know - Face ID, fingerprints, or email one-time passwords. We've processed over [400 million smart wallet transactions](https://www.bundlebear.com/erc4337-bundlers/all) , representing more than 85% of all smart wallet activity. The infrastructure has moved from experiment to production-ready. ### Embedded vs. external smart wallets You've got two architectural choices for smart wallet implementation: **Embedded wallets** integrate directly into your app through SDKs. Users never leave your interface or download separate apps. Everything happens in-app. This is what you want for consumer apps, games, DeFi, and loyalty programs where you control the full experience. **External smart wallets** are third-party branded wallets that users bring to your app like [Coinbase Smart Wallet](https://www.coinbase.com/wallet/smart-wallet). You can embed the connection experience in your app, but users manage their assets through the third party's interface. They can use the same wallet across multiple apps, giving them a consistent experience and full control over their keys. Integration

", tooltip: "", icon: "" }, "2": { title: "

In-app SDK

", tooltip: "", icon: "" }, "3": { title: "

Connect via third-party

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

UX Complexity

", tooltip: "", icon: "" }, "2": { title: "

Minimal

", tooltip: "", icon: "" }, "3": { title: "

Moderate to high

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Best For

", tooltip: "", icon: "" }, "2": { title: "

Consumer apps, financial apps, games, loyalty

", tooltip: "", icon: "" }, "3": { title: "

Power users, cross-app

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Examples

", tooltip: "", icon: "" }, "2": { title: "

Privy, Alchemy, Dynamic

", tooltip: "", icon: "" }, "3": { title: "

Safe, Coinbase Smart Wallets

", tooltip: "", icon: "" }, id: 3, }, ], }} /> ### The UX breakthrough: passkeys and gas sponsorship Two technologies have made smart wallets viable for mainstream users: **Passkey authentication** replaces seed phrases with the same biometric security users trust for banking apps. The wallet provider generates and stores keys in secure enclaves while users authenticate with a fingerprint or face scan. Apple, Google, and Microsoft all support passkeys natively, which means you're building on top of OS-level security primitives. **Gas sponsorship** means you pay transaction fees instead of your users. They never need to buy ETH, understand gas prices, or worry about failed transactions. Account abstraction frameworks—specifically ERC-4337—make this standard. A paymaster contract pays fees on behalf of users, and you can set policies like "sponsor the first 10 transactions" or "sponsor transactions under $100." Together, these eliminate the two biggest barriers: complicated authentication and upfront token requirements. ## What to look for in a provider Three things determine whether a provider can scale with you: security posture, gas sponsorship implementation, and developer experience. ### Security, audits, and key isolation Review third-party audit reports from firms like [Quantstamp](https://quantstamp.com/) or [OpenZeppelin](https://www.openzeppelin.com/security-audits). Check for hardware-backed key isolation—whether user keys are stored separately from provider infrastructure. Look for MFA options and compliance certifications like SOC 2. Key isolation ensures that even if a provider gets compromised, user keys remain safe. Ask providers to walk you through their key management architecture in detail. If they can't explain it clearly, that's a red flag. ### Gas sponsorship and account abstraction Providers implement account abstraction through paymasters: smart contracts that pay fees on users' behalf. Build a comparison matrix: - Does the provider sponsor gas? On which chains? - Can you set custom policies? \(First N transactions only? Transactions under a certain value?\) - What happens when users exhaust their gas allowance? - How do you top up your paymaster balance? Some providers let you sponsor gas conditionally based on transaction type or user behavior. This flexibility matters when you're trying to balance user experience with cost control. ### API design, multi-chain support, and pricing Request concrete API examples. Can you create a wallet in a single API call? How many lines of code to sign and send a transaction? Developer experience determines your time-to-market. If you want to see the full implementation, we've built a [pre-configured quickstart repo](https://www.alchemy.com/docs/wallets/react/quickstart) that includes the entire flow—authentication, wallet creation, and transactions. You can clone it and have a working demo running in minutes. Require pricing transparency. Some providers charge flat monthly fees, others use usage-based pricing. Many offer free tiers for early-stage projects. Multi-chain support is also essential to give your users the widest access to liquidity. Ask about rate limits, SLA guarantees, and support response times. These operational details matter more than feature checklists once you're in production. ## Test before you ship Prototype in a controlled environment before going live. Production is expensive to debug. ### Set up a sandbox Provision a testnet environment—Sepolia for Ethereum, Base Sepolia for Base. Configure sandbox API keys from your provider. Write automated scripts to simulate 1,000 concurrent signups and measure response times under load. Testing at scale reveals bottlenecks invisible in manual testing. A provider that handles ten signups smoothly may buckle under hundreds. We learned this the hard way. ### Test critical flows and recovery scenarios Enumerate test cases: - Successful signup - Failed email verification - Lost device recovery - Passkey reset - Gas-sponsored transaction failures - Network congestion scenarios Define clear recovery options. Social recovery through trusted contacts is user-friendly but requires users to designate contacts. Custodial escrow is simple but requires trusting your provider. Hardware backup keys are secure but users can lose them. Each recovery method trades convenience for security. Choose based on your users' technical sophistication and risk tolerance. For a mainstream consumer app, we'd lean toward custodial escrow with optional social recovery. For a DeFi protocol, full user control matters more. ### Measure what matters Set target thresholds: - API response times under 200 milliseconds - Error rates below 1% - User drop-off rates under 5% at the "create wallet" step [NFC contactless payments](https://coinlaw.io/nfc-payment-statistics/) typically complete in under a second. If your wallet can't match that speed for tap-to-pay use cases, users will notice. They'll blame your app, not the blockchain. Track these metrics continuously. A sudden spike in API latency or error rates signals infrastructure problems before they become user complaints. ## Launch, monitor, and iterate Production is where theory meets reality. Real users stress systems in ways tests never anticipate. ### Real-time monitoring and security Integrate dashboards like Grafana or CloudWatch to track active users, gas-sponsored transaction volume, and anomaly detection. Set alerts for unusual patterns—spikes in failed transactions, abnormal geographic distribution, or rapid account creation. AI-driven fraud detection catches patterns humans miss. The Treasury's success using machine learning to identify fraud demonstrates its effectiveness at scale. You need similar capabilities. ### Recovery and compliance Document a step-by-step recovery flow: identity verification, recovery key issuance, and wallet re-linking. Balance compliance with privacy—implement KYC/AML verification where required without unnecessarily collecting user data. Many jurisdictions now require KYC for financial services. Work with specialized providers like [Persona](https://withpersona.com/) or [Onfido](https://onfido.com/) who handle identity verification while keeping you compliant. Don't build this yourself unless you have a dedicated compliance team. ### Scale through iteration Schedule quarterly reviews to evaluate new features. Voice-activated payments [grew 25% in 2023](https://coinlaw.io/digital-wallet-adoption-statistics/) and continue gaining traction. Run A/B tests on UI elements—does a biometric prompt convert better than a passkey option? Which onboarding flow has the lowest drop-off? User behavior reveals what works. Let data guide your roadmap, not assumptions about what users "should" want. ## Common questions we hear ### How does a smart wallet work without seed phrases? Smart wallets use passkey-based authentication or custodial key management. The provider generates and securely manages keys in hardware security modules while users sign in with Face ID, fingerprints, or email codes. The seed phrase never exists in a form users can lose or leak. ### What is a gasless transaction? A gasless transaction is one where the wallet provider pays blockchain fees on your behalf. This eliminates the need for users to acquire native tokens before transacting—the biggest barrier to mainstream adoption. Under the hood, a paymaster contract sponsors the gas fee and you reimburse the provider based on your pricing plan. ### How do I stay compliant with kyc/aml requirements? Integrate a KYC provider that verifies user identity at wallet creation and monitors transaction patterns continuously. Most embedded wallet providers support pluggable KYC integrations. This ensures compliance without requiring you to build identity verification infrastructure or handle sensitive user data directly. ### What happens if a user loses their device? Recovery methods include social recovery through trusted contacts, custodial escrow with your provider, or secondary passkeys stored on other devices. Each option is tied to verified user identity. For consumer apps, we recommend custodial escrow as the primary recovery method with social recovery as a backup—it provides the best balance of security and usability. ### Should I use an embedded wallet or an external smart wallet? Use embedded wallets for seamless in-app experiences with minimal user friction—ideal for consumer apps, games, DeFi, and loyalty programs. Use external smart wallets when users need cross-app portability, full control over their keys, or advanced DeFi features. Most apps targeting mainstream users should start with embedded wallets. ## Next steps If you're building wallet infrastructure for non-crypto users, start by defining your personas and transaction flows. Then prototype with a few providers to see what works best for your use case. We built Smart Wallets to solve these problems. It handles authentication, gas sponsorship, and account abstraction through a single SDK that works across chains. You can integrate it in an afternoon and ship wallet infrastructure that feels like any other login system. Check out our [documentation](https://www.alchemy.com/docs/wallets/react/quickstart) to get started, or reach out if you want to discuss your specific requirements. ## Frequently asked questions ### What is a smart wallet? A smart wallet is a smart contract that executes programmable logic, manages keys, and sponsors gas on behalf of users, eliminating the need for seed phrases and allowing authentication through methods like Face ID, fingerprints, or email. ### What's the difference between embedded and external smart wallets? Embedded wallets integrate directly into your app through SDKs for a seamless in-app experience, while external smart wallets are third-party branded wallets that users bring to your app and can use across multiple applications. ### How do smart wallets work without seed phrases? Smart wallets use passkey-based authentication or custodial key management where the provider securely manages keys in hardware security modules while users sign in with Face ID, fingerprints, or email codes. ### What is a gasless transaction? A gasless transaction is one where the wallet provider pays blockchain fees on your behalf through a paymaster contract, eliminating the need for users to acquire native tokens before transacting. ### What happens if a user loses their device? Recovery methods include social recovery through trusted contacts, custodial escrow with your provider, or secondary passkeys stored on other devices, all tied to verified user identity. ### What security features should I look for in a smart wallet provider? Look for third-party audit reports from firms like Quantstamp or [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin), hardware-backed key isolation, MFA options, and compliance certifications like SOC 2. ### Should I choose a provider with gas sponsorship capabilities? Yes, gas sponsorship is essential for mainstream adoption as it allows you to pay transaction fees instead of users, who never need to buy ETH or understand gas prices. ### What developer experience factors matter when choosing a provider? Prioritize providers with clear API design allowing wallet creation in a single call, multi-chain support, transparent pricing, rate limits, SLA guarantees, and fast support response times. --- # Guide to Blockchain App Development Costs in 2025 URL: https://www.alchemy.com/overviews/guide-to-blockchain-app-development-costs.md You're probably here because you had an app idea and are wondering “how much would it cost to build that?” And you did what any smart developer would do—you immediately asked ChatGPT, wondered if you could trust what it gave back to you, and then you started Googling for numbers from a source you can trust. Good news: you don’t have to guess anymore. After 8 years powering the top crypto apps, and building a number ourselves, we have a pretty good framework for estimating what it really costs to build apps onchain. ## Tl;dr: the quick cost breakdown At a high level, you can think about bucketing app development costs into the following: - **Basic token contract**: Free - $200 - **Simple DeFi app \(DEX, staking\)**: $40,000 - $100,000 - **Complex DeFi protocol**: $200,000 - $500,000\+ - **[NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces)**: $45,000 - $150,000 - **Enterprise blockchain solution**: $100,000 - $300,000\+ But here's the thing—these ranges are massive because the devil's in the details. Let's dig into what actually drives these costs. ## The hidden costs nobody talks about Before we dive into development costs, let's address the elephant in the room: gas fees and security expenses that can eat up your budget if you're not careful. ### Gas fees: the silent budget killer Deploying smart contracts isn't cheap. Every action on a blockchain—whether it’s deploying a smart contract, minting an NFT, or swapping tokens—requires computational power from the network. Unfortunately for devs, deployments and contract updates are often quite a bit more complex than a simple token transfer, and so gas fees can be high to match. Here's what you're actually looking at for deployment costs in 2025: - **Basic ERC-20 token deployment**: $50 - $200 - **Complex DeFi protocol deployment**: $5,000 - $15,000 - **Every contract update**: $100 - $1,000 And that's just deployment. Every time your users interact with your contract, they're paying gas too. High gas costs mean fewer users. It's that simple, and many apps prefer to [sponsor gas](https://www.alchemy.com/gasless-transactions) for their users to encourage user activity. **Pro tip**: Start building on Layer 2 solutions like Polygon, Arbitrum, or Optimism. You'll pay cents instead of hundreds of dollars. Teams save up to 99% on gas costs just by choosing the right chain from day one. ### Audits: the security tax Security audits aren't optional—they're table stakes. In a PVP environment, where hackers are all too happy to drain an app contract’s vault and take user funds, it’s critical that you prioritize security. There’s no redemption for apps that lose all of their funds in one fell swoop. Here's what reputable audit firms actually charge in 2025: - **Basic audit \(simple contracts\)**: $5,000 - $15,000 - **Comprehensive audit \(DeFi protocol\)**: $15,000 - $40,000 - **Enterprise-grade audits**: $100,000 - $200,000\+ Skip the audit to save money? Sure, if you want to risk being the next protocol that loses millions to a reentrancy attack. Your call. ## Breaking down development costs by project type ### 1. Token launches: the gateway drug \(free-$200\) Most teams start here. The best way to explore building onchain is to launch a token. And there are plenty of [launchpads](https://www.alchemy.com/dapps/best/crypto-launchpads) that make launching your token easy, with almost no costs or overhead, apart from the cost of the deployment itself. Given token contracts are battle tested, you can use an out-of-the-box token contract that will come complete with mint, transfer, and burn functionality, and you only need to worry about customizing the cosmetics of the token itself and can skip on things like audit costs, unless your token has some bespoke functionality or contract requirements \(that could then push your costs up to $10K\). ### 2. DeFi applications: where things get expensive \($40,000 - $500,000\) DeFi is where blockchain development costs explode. You're not just moving tokens around—you're handling people's money with complex financial logic. **Basic DeFi App \(Staking, Simple DEX\)**: $40,000 - $100,000 Smart contract development can run $15-30K, and auditing that contract can require another $10-30K on top. Then you need to build your frontend \($10-25K\) as well as your backend \($5-15K\). **Complex DeFi Protocol \(Lending, Derivatives\)**: $200,000 - $500,000\+ Complex DeFi protocols usually involve multiple interconnected contracts, greatly increasing your development and audit costs \($80-150K for development, another $50-150K for audits\). Then you’ll need to build out your front and backend \($40-80K\). Complex protocols usually have more robust partner needs, whether that’s working with oracles or bridges \($30-60K\), and you should expect ongoing maintenance costs of $5-15K monthly. **The Uniswap Reality Check**: Building a Uniswap V3 clone isn't a weekend project. The concentrated liquidity math alone costs $50,000 in development time. And that's before you realize you need $10,000 monthly in infrastructure just to index the data properly. ### 3. NFT platforms: beyond JPEGs \($45,000 - $200,000\) Everyone wants to build the next [OpenSea](https://www.alchemy.com/dapps/opensea) and capture transactional revenue on NFT trades. However, it’s not a cheap enterprise to build. **Basic NFT Marketplace**: $45,000 - $100,000 For a basic marketplace, you’re looking at smart contract development for minting, royalties, escrow for trading, etc to cost between $15-25K. Toss in $5-10K for an IPFS integration. Then another $20-40K for your frontend marketplace, and $10-25K in backend systems to support all of your indexing and caching needs. Advanced marketplace features like lazy minting, collection sweeps, auction mechanisms, cross-chain support, and creator tools can easily add 20-50% to this base cost. ### 4. Enterprise blockchain: the big league \($100,000 - $1,000,000\+\) Private chains, banks, [stablecoins](https://www.alchemy.com/dapps/top/stablecoins). Whenever you have money moving at scale, you’re talking about enterprise budgets. Some cost drivers for these large enterprises include running a private or permissioned network \($20-50K in setup, another $10-50K in monthly maintenance and SLAs\). Integrations with legacy systems may cost another $30-100K, compliance features can run another $20-80K depending on scope, and of course after all of enterprise needs, you still have to bake in costs associated with frontend, backend, and smart contract development, and any other deployment and audit costs. ## The costs of blockchain developers Another lens for thinking about costs is your headcount. How much are you actually going to be paying the engineers who can build onchain apps. Let's talk about what blockchain developers actually charge in 2025, based on [current market data](https://www.glassdoor.com/Salaries/blockchain-developer-salary-SRCH_KO0,20.htm): **Full-time Salaries \(US\):** - Entry-level: $107,000 - $134,000 - Mid-level: $135,000 - $170,000 - Senior: $170,000 - $250,000 - Staff/Principal: $250,000 - $400,000\+ **Freelance Rates:** - Junior \(1-2 years\): $50 - $80/hour - Mid-level \(3-5 years\): $80 - $150/hour - Senior \(5\+ years\): $150 - $300/hour - Specialized \(MEV, ZK\): $200 - $500/hour **The Offshore Option:** - Eastern Europe: $40 - $80/hour - Asia: $25 - $60/hour - Latin America: $35 - $70/hour But here's the catch—good blockchain developers are rare. The ones charging $25/hour? They're probably learning on your dime. And it’s not just developers you need to budget for. If you’re building your infrastructure in-house, you’ll also need to account for setup and ongoing maintenance costs—typically requiring 2–3 dedicated infra engineers. On the flip side, if you use third-party providers like Alchemy, you can skip that overhead entirely and save the equivalent of those hires, while still getting production-grade reliability and scale from day one. ## Chain selection: the first decision that matters We touched on this in the beginning, but choosing which blockchain to build on can have a dramatic impact on your development costs: **Ethereum** offers maximum security, liquidity, and ecosystem benefits, but ongoing deployment and gas costs can be prohibitive. It's best for high-value DeFi and blue-chip projects that don’t need to worry about the cold start problem. **Layer 2s \(Arbitrum, Optimism, Polygon\)** provide Ethereum-level security with 99% cheaper gas, though they have fragmented liquidity and bridge risks. Despite those risks, they're ideal for most builders in 2025. **Alt L1s \(Solana, Avalanche, BNB Chain\)** are fast and cheap, but have different programming models, less robust tooling and infra, and smaller user bases. ## Smart strategies to cut costs \(without cutting corners\) ### Start with an MVP on an L2 Don't build your production DeFi protocol on Ethereum first. Deploy on Arbitrum or Optimism, prove the concept of your app, then migrate to the L1 if you find a need for it as you scale. Migrating an app is no joke, and you should plan as if you want to avoid that, but plenty of projects do it. You'll save 99% on gas during development by picking an L2. ### Use battle-tested libraries [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) contracts have secured billions of dollars. Don't rewrite ERC-20 from scratch. Your custom implementation isn't better—it's just more likely to have bugs. ### Progressive auditing Start with automated tools \(Slither, [Mythril](https://www.alchemy.com/dapps/mythril)\) costing $0 - $500. Get a preliminary review for $5,000 - $10,000. Save the full audit \($30,000\+\) until after product-market fit and your app is attracting enough capital to become a target for more sophisticated hackers. ### Modular architecture Build your protocol in phases. Time to market often beats launching the perfect product, the latter of which is also more expensive to ship! Launch staking first, add lending later, integrate governance last. Each phase can generate revenue to fund the next. ### The white-label option For standard use cases \(DEX, NFT marketplace\), white-label solutions start at $10,000 - $30,000. You lose uniqueness but can ship 10x faster. ## Real cost breakdowns from shipped projects **Case Study 1: DeFi Yield Aggregator** - Development: $120,000 \(4 developers, 4 months\) - Audits: $45,000 \(2 firms\) - Infrastructure: $4,000/month - Total Year 1: $213,000 **Case Study 2: NFT Gaming Platform** - Smart Contracts: $35,000 - Game Frontend: $60,000 - Backend Services: $25,000 - Art and Design: $30,000 - Marketing Site: $10,000 - Infrastructure: $2,000/month - Total: $184,000 **Case Study 3: Enterprise Fintech** - Private Network Setup: $40,000 - Smart Contracts: $80,000 - Integration Layer: $60,000 - Dashboard and Analytics: $45,000 - Compliance Features: $35,000 - Infrastructure: $10,000/month - Total: $380,000 ## Maintenance costs of infrastructure Your costs don't stop at launch. Running an onchain app has ongoing costs. You should be budgeting $1-10K in infrastructure spend, including nodes and indexing. On to of that, you should expect to pay $500-$5K in monthly gas fees for operations. Then of course you may have more general operational expenses like community support \($2-6K monthly\), bug fixes and ongoing updates \($5-15K monthly\), and security monitoring \($2-5K\). ## Cost optimization checklist Before you write your first line of code, ask yourself: - What ecosystem can you build on to minimize costs? - Are you using libraries and templates where you can to save development time? - Have you priced out gas costs for operations associated with your app? - Can you launch with 3 features instead of 10? - Is there a white-label solution that gets you 80% of the way there? - Have you budgeted for audits and maintenance? - Can you use existing infrastructure services instead of building out your own? ## The bottom line Building a production blockchain app in 2025 costs anywhere from a few thousand dollars to over a million. At the end of the day, cost is entirely dictated by how complex the app is, and at what scale it operates. As you map out your costs, define your MVP ruthlessly. Start simple, iterate based on user feedback, and build your way to that $500,000 DeFi protocol. And don’t forget to leverage tools and services like Alchemy that can help you accelerate by abstracting away blockchain’s complexity, so you can focus on building great products. ## Frequently asked questions ### How much does it cost to build a basic blockchain app? A basic token contract costs between $0-$200, while simple DeFi apps like staking or a basic DEX range from $40,000-$100,000. Complex DeFi protocols can cost $200,000-$500,000 or more. ### What are the main factors that drive blockchain app development costs? Key cost drivers include app complexity, smart contract development, security audits, frontend and backend development, gas fees for deployment, ongoing infrastructure costs, and whether you're building on Layer 1 or Layer 2 networks. ### How much do smart contract audits cost? Basic audits for simple contracts cost $5,000-$15,000, comprehensive DeFi protocol audits range from $15,000-$40,000, and enterprise-grade audits can run $100,000-$200,000+. ### What are the typical gas fees for deploying smart contracts? Basic ERC-20 token deployment costs $50-$200, while complex DeFi protocol deployment can run $5,000-$15,000. Contract updates typically cost $100-$1,000 each, though Layer 2 solutions reduce these costs by up to 99%. ### How much does it cost to build an NFT marketplace? A basic NFT marketplace costs $45,000-$100,000, covering smart contract development ($15-25K), IPFS integration ($5-10K), frontend marketplace ($20-40K), and backend systems ($10-25K). Advanced features can add 20-50% to this base cost. ### What are the ongoing maintenance costs for blockchain apps? Monthly maintenance typically includes $1,000-$10,000 for infrastructure, $500-$5,000 in gas fees for operations, $5,000-$15,000 for bug fixes and updates, and $2,000-$5,000 for security monitoring. ### How much do blockchain developers cost? US full-time salaries range from $107,000 for entry-level to $400,000+ for principal engineers. Freelance rates vary from $50-$80/hour for junior developers to $200-$500/hour for specialized roles in areas like MEV or zero-knowledge proofs. ### How can I reduce blockchain development costs without compromising quality? Start with an MVP on Layer 2 networks to save 99% on gas costs, use battle-tested libraries like OpenZeppelin instead of custom code, implement progressive auditing with automated tools first, and use existing infrastructure services instead of building your own. --- # Guide to DeFi URL: https://www.alchemy.com/overviews/guide-to-defi.md For hundreds of years, traditional finance has largely remained stagnant, with large banks and corporations ultimately calling the shots.  Collect your paycheck, maybe put some into savings, earn a small amount of interest, rinse and repeat. Over the last several years, however, the rise in [decentralized finance or DeFi](https://alchemy.com/defi?a=540fe46d54) has begun to dramatically transform the world of banking and finance, allowing people from all around the globe more options than ever before.  DeFi allows for many unique opportunities spanning lending and borrowing, insurance, margin trading, and more. If you've ever wondered what DeFi was and are curious about the potential opportunities, this article has you covered.  ## What is DeFi? Before we look at the many ways decentralized finance is changing the game, some context is in order. Decentralized finance, or DeFi as it's most commonly called, relies on the use of blockchain technology to essentially create a peer-to-peer financial system that virtually anyone can be a part of.  Unlike centralized finance \(such as banks, for example\), decentralized finance is run using smart contracts, which limits the need for involvement from 3rd parties. DeFi is arguably the biggest challenger to the current banking system, and we're already seeing [traditional banks](https://sifted.eu/articles/banks-defi/) begin to embrace the world of Web3.  Specifically, DeFi is growing in popularity due to the ability to generate higher interest rates compared to traditional savings accounts and allows populations in developing nations to become their own banks.  According to [DeFi Llama](https://defillama.com/), an aggregator for all things DeFi, the current total TVL is 198.54b at the time of this writing—not too shabby.  And here are the top 10 TVL rankings:  And these incredible numbers have naturally led to many startups and blockchain companies raising funds.  [Thetanuts Finance](https://blockworks.co/thetanuts-finance-get-18m-in-seed-funding-to-flest-out-defi-platform/), a decentralized finance platform, recently received $18M in seed funding to flesh out their platform. [Bashoswap](https://www.globenewswire.com/news-release/2022/03/02/2395104/0/en/Bashoswap-Building-a-Cardano-Powered-Decentralized-Exchange-and-Launchpad.html) is developing a fully featured de-fi product for the Cardano-Powered decentralized exchange and launchpad. And last but not least, [Nested](https://martechseries.com/technology/nested-raises-7-5-million-series-a-to-democratize-defi/) raised $7.5 Million in Series A in the name of democratizing DeFi. While this relatively new technology is clearly on the rise, it also comes with risk and for many has a steep learning curve.  Exploding Topics has an [excellent breakdown](https://explodingtopics.com/blog/defi-trends) of how searches for DeFi related topics continue to increase significantly.  ## Stake, swap, yield: a primer While DeFi continues to mature, there are already a few incredibly important concepts to understand, especially if you're looking to reap some of the rewards of decentralized finance.  ### Staking  Arguably one of the most important terms to know, the act of staking plays a critical role in the many opportunities DeFi presents for consumers and the crypto ecosystem as a whole.  In the simplest of terms, staking is the process of investing or "staking" your cryptocurrency assets for a specific period of time to earn rewards/interest. When you stake an asset, that asset is used to help support the blockchain network and confirm transactions. This is done through a series of smart contacts.  Very similar to traditional finance, when you put money in a savings account you're essentially agreeing to not use those funds on a day to day basis and as a reward you're given interest. The bank will then use your money to make more money for themselves. Staking is incredibly useful for generating passive income on your crypto, and is a relatively safe form to earn from your crypto holdings. Depending on the specific crypto asset, you are required to stake your crypto for a specific period of time. Generally the longer you agree to stake, the more rewards you're able to earn. Like with a savings account, it's generally possible to "unstake" your assets at any time, but you will then need to pay gas fees to remove your assets from the smart contract. As the risk of staking decreases, the reward for staking will likely decrease as well.  [Coinbase](https://www.alchemy.com/dapps/coinbase) has an [excellent article](https://www.coinbase.com/learn/crypto-basics/what-is-staking) that dives deeper into staking and its possibilities. Essentially staking allows you to earn a small amount of passive income for contributing to whichever blockchain network you're staking on.  [Staking Rewards](https://www.stakingrewards.com/defi-protocols/) is a great place to see the current rewards of various protocols.  ### Swapping  Swapping is another key concept to understand in the world of DeFi. Swapping occurs when you swap one crypto asset for another. As it relates to DeFi, swapping is typically done on decentralized exchanges, and not commonly seen on larger trading platforms such as [Binance](https://www.alchemy.com/dapps/binance) and Coinbase for example.  While it's common to see swapping and trading used interchangeably, they do differ in a few distinct ways. Swapping doesn't necessarily require for there to be an offer to sell the asset you're looking to buy. If you want to exchange Ethereum for Bitcoin on Coinbase for example, you would use an order book to determine the price and volume.  Swapping is valuable in the sense that you can exchange widely known cryptocurrencies such as [Ethereum](https://www.alchemy.com/docs/reference/ethereum-api-quickstart), for assets that may not have large trading volumes. The transaction occurs immediately, and doesn't require any other conditions to occur. A swap is quick and relatively straightforward, which makes it a good option if you're looking to acquire an asset in a time sensitive manner.   A swap is essentially an instant exchange between two non-native tokens without the need for a 3rd party [using smart contracts](https://www.web3.university/tracks/create-a-smart-contract/interact-with-your-smart-contract). The benefit of swapping in many cases is you don't need to use an exchange that may require you to fill out information for Know Your Customer \(KYC\) regulations. Swapping won't always be the most cost effective, but it's incredibly useful for those looking to find up and coming crypto projects before they go mainstream. ### Yield farming  While swapping and staking are relatively straightforward yield farming is a more sophisticated method to earn rewards from crypto which comes with higher risks but generally higher rewards as well.  Here's how [Blockworks explains it](https://blockworks.co/what-is-yield-farming-what-you-need-to-know/#:~:text=Yield%20farmers%20generally%20use%20decentralized,between%20two%20or%20more%20parties.):  "Yield farmers generally use decentralized exchanges \([DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base)\) to lend, borrow or stake coins to earn interest and speculate on price swings. Yield farming across DeFi is facilitated by smart contracts — pieces of code that automate financial agreements between two or more parties." Yield farming is essentially the process of arbitrage across multiple networks and cryptocurrencies. Farming typically involves users lending tokens out in exchange for collateral or interest.  While yield farming can be lucrative and provide a higher interest rate compared to standard staking, it does come with significantly more risk. Furthermore, the act of staking and unstaking assets can be expensive due to fees, so that must be taken into account for optimal returns.  Due to the price volatility of crypto in general, farming yields change frequently and should not be considered a safe bet.  ## DeFi vs CeFi Although both traditional and decentralized finance have their pros and cons, comparing the two can be helpful to gain a better understanding of the landscape. Here's an excellent breakdown of how they compare. Permission

", tooltip: "", icon: "" }, "2": { title: "

Permissionless

", tooltip: "", icon: "" }, "3": { title: "

Permissioned

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Access

", tooltip: "", icon: "" }, "2": { title: "

Open

", tooltip: "", icon: "" }, "3": { title: "

Close

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Censorship

", tooltip: "", icon: "" }, "2": { title: "

Censorship-Resistant

", tooltip: "", icon: "" }, "3": { title: "

Can Be Censored

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Cost

", tooltip: "", icon: "" }, "2": { title: "

Cheaper

", tooltip: "", icon: "" }, "3": { title: "

Expensive

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Infrastructure

", tooltip: "", icon: "" }, "2": { title: "

Built On The Blockchain

", tooltip: "", icon: "" }, "3": { title: "

Built On Old Foundations

", tooltip: "", icon: "" }, id: 4, }, ], }} /> While DeFi is [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains), only needing the approval of two or more individuals to perform a transaction, centralized finance often has a few more steps.  Take for example trying to send money to a friend or family member overseas. With the current banking system, this often takes days, carries a pretty hefty fee, and is subject to other qualifications.  In a DeFi world, using crypto such as Bitcoin or Ethereum, you can send money to anyone, anywhere virtually instantly with significantly less fees.   As you can imagine, this can be incredibly helpful for those who regularly transfer money across borders or need funds in a timely manner.  With DeFi, the individual controlling the assets is ultimately the one who can determine where and how their money can be used.  Here's a [great short clip that further breaks down the differences](https://www.youtube.com/watch?v=BlS2sPioEEI&feature=emb_imp_woyt).  Of course, it's worth noting that even in the world of cryptocurrency, many popular exchanges such as Coinbase and Binance still fall under the umbrella of centralized finance.  BINANCE

", tooltip: "", icon: "" }, "2": { title: "

TOTLE

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

coinbase

", tooltip: "", icon: "" }, "2": { title: "

Kyber

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

libra

", tooltip: "", icon: "" }, "2": { title: "

MakerDAO

", tooltip: "", icon: "" }, id: 2, }, ], }} /> If you hold Bitcoin on Coinbase for example, that Bitcoin is technically under the ownership of Coinbase. During the recent conflict between Russia and Ukraine, [Coinbase made the decision ](https://blog.coinbase.com/using-crypto-tech-to-promote-sanctions-compliance-8a17b1dabd68)to block addresses from Russia. In a true decentralized environment, Coinbase, nor anyone else would be able to block or hold your funds.  ## The value of centralized finance While much of the discussion around DeFi is based on how it is better than CeFi, the reality is, CeFi still has a much needed place at the table. For one, we are far from mass adoption with cryptocurrency. Centralized platforms play a crucial role in both [onboarding and security](https://alchemy.com/?a=540fe46d54).  In a truly decentralized world, forgetting your seed phrase or password would result in the complete loss of funds. Compare that to forgetting your bank login in which you'd be able to easily reset in just a few minutes.  Furthermore, the business-customer relationship seen in many traditional banking situations does have value. There's a sense of security knowing you can quickly talk to an agent or get help if needed. Long standing customers of banks also often receive certain perks and rewards based on their banking history.  Although it's tempting to suggest DeFi is superior in every way, nuance is important. During the next cycle of crypto adoption, DeFi and CeFi working together is the best case scenario.  With that out of the way, let's look at three unique use cases of DeFi and the opportunities they provide.   ## 3 unique use cases of DeFi 1. [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) Thanks to the likes of stablecoins, it's becoming easier for anyone to get exposure to crypto. Stablecoins are a unique type of cryptocurrency that are pegged to fiat currency such as the USD.  In the case of [Tether](https://www.alchemy.com/dapps/tether) for example, 1 Tether is equal to 1 dollar. This allows for consumers to quickly go from fiat to crypto and vice versa while being able to reap the benefits of cryptocurrency \(speed, low cost transactions, etc.\).  In addition to Tether, USD Coin is another stablecoin that is growing in popularity.  Because of stablecoins, consumers are often able to earn significantly higher interest rates compared to their traditional banks. As of this writing for example, USD Coin offers a 4.70% 12 months fixed rate. Compare that to traditional banks which offer interest rates in the range of .01%.  With much of the world facing a [significant increase inflation rates](https://tradingeconomics.com/country-list/inflation-rate) across the board, earning more passively through stablecoins is incredibly appealing. Of course, while there is some risk to earning interest through crypto, the industry has matured to the point where that risk has been significantly reduced.  2. **Money Remittance**  Another benefit that DeFi unlocks, is the ability to send and receive money virtually from anywhere in the world. With many banks charging customers 10-50 USD per transaction to transfer money to international countries, that can quickly add up.  As Venezuelan Jose Maldonao, a journalist for Cointelegraph [once shared](https://www.dw.com/en/venezuelans-try-to-beat-hyperinflation-with-cryptocurrency-revolution/a-57219083), "Whether it's furniture, clothing or groceries — virtually everything can be purchased with cryptocurrencies." Many individuals living in developing nations rely on the cheap transaction fees of cryptocurrencies to receive money from their family or friends abroad. The decentralized nature is also a bonus to help prevent overreach from overstepping governments as well. In addition to money remittance, many developing nations that have been historically "unbanked" are getting exposure to crypto before having a traditional bank account.   Cryptocurrency is becoming increasingly popular in African countries for that specific reason. [Chainalysis found](https://go.chainalysis.com/2021-geography-of-crypto.html) the continent has seen an 1,200% increase in cryptocurrency payments from 2020 to 2021.  As crypto continues to become more user friendly, it's only reasonable to see more and more people from around the world relying on crypto to save on transaction fees.  3.** Insurance** DeFi also presents some unique opportunities within the world of insurance. World famous investor Mark Cuban [detailed a case](https://www.youtube.com/watch?v=XN2hEBkcaHE) in which decentralized blockchains could be used for insurance for his NBA team, the Dallas Mavericks. Because of decentralization, there's the opportunity to significantly improve insurance products. Rather than having to jump through all the hoops of a traditional insurance claim, smart contracts with a specific set of rules will call the shots.  There's a massive benefit to knowing "If this… then this" happens without the need for any 3rd party to get involved. Insurance within the crypto trading world is also growing in popularity.  “Insurance is yet another part of traditional finance that can be reproduced in decentralized finance. It provides certain guarantees of compensation in return for a payment of a premium.  One of the most popular applications of insurance in the defi space is protection against smart contract failures or protection of deposits." [says Finematics](https://finematics.com/defi-explained/).  ## Overcoming challenges and the future of DeFi While DeFi is still in its infancy, it's clear it will continue to play a large role shaping global finance, banking, and so much more.  For it to continue to thrive however, it must adequately address the valid concerns of security, most notably hacking. [With billions of dollars being lost to exploits and hacks over the last several years](https://policyadvice.net/money/insights/cryptocurrency-hacking-statistics/#:~:text=In%202018%2C%20%241.7%20billion%20was,2020%20%241.9%20billion%20was%20stolen.&text=The%202020%20blockchain%20hack%20was,its%20customers'%20funds%20were%20stolen.), there's significant room for growth. Furthermore, because DeFi gives a lot more power and responsibility to its end users, exploits are especially costly. Losing entire life savings because of a hack, is something no crypto enthusiast should ever experience.  DeFi also faces an uphill battle educating new users to use DeFi safely. Again, in a DeFi environment you can't just call up your bank to get help.  For now, DeFi can be used to generate higher interest rates from your money, help you save on banking fees, and help millions around the globe take more control over their money.  [Robert Stevens writing for Decrypt](https://decrypt.co/resources/defi-ultimate-beginners-guide-decentralized-finance), said it best with his promising prediction:  > “DeFi will interact with centralized finance. What if your credit score could be linked to a decentralized lending protocol? What if you could stake your house as collateral for a crypto loan? What if your high-street bank lets you buy and hold decentralized stablecoins? All these are in the works." The future is bright, and here at [Alchemy](https://alchemy.com/?a=540fe46d54), we'll continue to help pave the way for innovation in crypto and blockchain technology. --- # How dedicated blockchain infrastructure works | Alchemy URL: https://www.alchemy.com/overviews/how-dedicated-blockchain-infrastructure-works.md Most production workloads run fine on shared blockchain [RPC infrastructure](/rpc-api). A small set of them can't. A trading desk whose round-trip latency to the sequencer, the rollup's transaction-ordering service, decides whether its order lands in the next block. A security firm whose simulation engine runs a custom EVM tracer no shared provider will host. A regulated fintech whose compliance team won't sign off on hardware shared with another customer's workload. For those workloads, the answer is [dedicated blockchain infrastructure](/dedicated-clusters). Dedicated is the same infrastructure, scoped to one tenant. Same RPC stack, same data services, same APIs, but the capacity, the host, and the runtime are yours. Teams like Blockaid use Alchemy Dedicated Clusters to secure $312B+ in assets with the performance and consistency their customers require. That distinction is what makes dedicated worth the price for a narrow set of workloads, and what makes shared the right default for everyone else. The useful question is not whether dedicated is better. It is whether your workload has outgrown what shared infrastructure is designed to do. ## What is dedicated blockchain infrastructure? [Dedicated blockchain infrastructure](/dedicated-clusters) is a single-tenant RPC and indexing cluster: a fleet of blockchain nodes, routing infrastructure, and data services on hardware reserved for one workload. The API surface is the same as shared infrastructure by default, so existing integrations port without code changes. Customization extends that surface rather than replacing it: custom tracers and binaries, picked regions, and capacity-based pricing instead of per-request billing. A typical cluster includes: - A pool of full [nodes](/overviews/what-is-an-ethereum-node) for the chain, sized to the customer's peak request rate plus one extra node so failover doesn't drop traffic during a node restart, also known as the N+1 pattern. - Optional archive nodes for historical state access, which provide full state from genesis rather than only recent blocks. - An [edge proxy](/blog/alchemy-edge-proxy) and load balancer in front of the node pool, acting as the routing layer that receives every request and picks which node serves it. - An observability stack, usually a Grafana dashboard exposing node health, request latency, and error rates. - A failover path to shared infrastructure for traffic spikes the cluster was not sized for. The infrastructure is the same shape as what shared providers run internally. The difference is the lease. Dedicated means the capacity is committed to one customer, the runtime is theirs to configure, and the data path is not shared with anyone else's workload. ## When does a workload need dedicated infrastructure? Four workload patterns push past what shared infrastructure can do. ### Custom tracers and binaries EVM tracers are the functions that instrument transaction execution. They extract internal call traces, storage reads, struct logs, and revert reasons. The standard tracers, such as `callTracer` and `prestateTracer`, cover most analytics. Security tools, simulation engines, and forensics platforms need more: custom JavaScript tracers that match their internal schemas, or modified `geth` and `erigon` binaries that expose execution state shared providers never expose. Running those on a shared host is not safe for the host or the tenant. It is why simulation and security vendors run dedicated clusters. ### Region-bound latency For most application traffic, a few extra network hops are invisible. For workloads that issue tens of requests per second and care about each one, physical distance between the client, the node, and the sequencer can decide whether a transaction lands in time. High-frequency trading, oracle feeds, and MEV searchers, which are bots that extract value from how transactions get ordered into blocks, compete on those margins. Dedicated clusters let the customer place node pools in the same region as the sequencer or the consumer. ### Regulatory isolation Some compliance frameworks require single-tenant compute. SOC 2 Type II controls around segregation of customer data, certain banking and brokerage regimes, and internal risk reviews at large financial institutions often converge on the same requirement: no other customer's workload should run on the same host. Shared infrastructure runs many customers on the same hosts by design. Dedicated infrastructure does not. ### Unbounded query ranges Shared RPC providers cap `eth_getLogs` ranges to protect the cluster from query bombs. That is fine for wallets reading a user's recent transactions, and it is why most analytics workloads route to an indexed [Data API](/docs/data) instead of raw `eth_getLogs`. For explorers, indexers, and chain analytics teams that need to scan large historical ranges of raw logs, the cap becomes the bottleneck. Dedicated clusters can lift it because the cap exists to protect other tenants, and on a single-tenant cluster there are no other tenants to protect. A quick reference for the decision: If a workload does not fit one of the four dedicated patterns, shared infrastructure is almost always cheaper, simpler, and faster to ship. ## How do dedicated clusters work? The architecture of a dedicated cluster comes down to six choices: who else runs on the box, where the boxes live, how many of them, how they agree on state, what software they run, and how they bill. ### Single-tenant isolation Single-tenant means the customer's nodes run on compute reserved for that customer's workload. In practice, compliance reviews often require documentation of workload isolation, access controls, auditability, and key handling. The practical implication is what isolation rules out. A noisy neighbor on a shared host cannot degrade the customer's tail latency, because there is no neighbor. A side-channel leak from another tenant cannot reach the customer's process. A compliance reviewer can point at a documented control instead of "we trust the provider to keep workloads separate." ### Regional deployment Latency from a client to an RPC node is bounded by network distance. For most application traffic, that is invisible. For workloads that issue frequent latency-sensitive requests, placing nodes closer to the stack, users, sequencer, or validators can be the difference between a competitive product and a slow one. Dedicated clusters let the customer pick the region. A common pattern is one cluster per major user geography, or one cluster co-located with the sequencer for a specific rollup. The trade is operational: more regions means more clusters to monitor, patch, and pay for. Most workloads need one or two. ### N+1 redundancy and failover A dedicated cluster runs the customer's target capacity plus one spare node. If any node degrades or restarts, traffic shifts to the spare without the customer noticing. That is the N+1 pattern, the standard shape for any service that needs to survive a single-node failure without losing availability. The harder question is what happens when load exceeds the cluster. Two real cases trigger this: chain congestion, where the cluster's request volume spikes because the chain is busy, and customer traffic spikes from a campaign, an event, or an integration going live. A cluster sized for steady-state load can get rate-limited under a large spike. Two architectural answers exist. One is to size the cluster for peak, which means paying for idle capacity most of the time. The other is automatic failover to shared infrastructure: when the cluster saturates, traffic spills to the provider's shared fleet rather than returning 429s. The customer keeps the same API, the same auth, and the same response shape. Failover is the more efficient pattern, but it requires the dedicated provider to also operate first-class shared infrastructure. ### Block-perfect consistency Different nodes in a load-balanced pool can disagree on the latest block for a few hundred milliseconds. The fastest node sees block N, the slowest is still on N-1. For a wallet checking a balance, that is invisible. For a trading bot that reads the same block twice through different nodes and gets inconsistent state, it is a real bug. Block-perfect consistency means the cluster returns a consistent view of chain state across the node pool, so stateful clients do not see stale or conflicting reads. The trade-off is that the cluster optimizes for correctness as well as speed, which matters most when the workload makes decisions from fresh chain state. ### Custom tracers and binaries With a dedicated runtime, the customer can run a custom JavaScript tracer, ship a patched `geth` build, swap the client, or modify client configuration that shared providers pin globally. Shared providers cannot expose this surface because changing the client version or config affects every tenant on the host. This is the capability simulation, forensics, and analytics products are built on. Their value comes from extracting execution state that the standard tracer interface does not expose. Without a dedicated runtime, the product does not exist. ### Capacity-based pricing Shared infrastructure charges per request, typically as a compute unit per call, with multipliers for heavier methods. Dedicated infrastructure charges per cluster: a fixed monthly fee for the committed capacity regardless of how many requests the customer sends against it. The model fits workloads that have predictable peak load and would otherwise burn shared compute units at scale. On a dedicated cluster, the marginal cost of an additional request is zero until the workload hits the cluster's ceiling. Above a workload-specific threshold, capacity-based pricing can be cheaper than per-request billing even before accounting for the other capabilities dedicated unlocks. ## When is shared the right default? Three things matter when deciding between shared and dedicated infrastructure. For a deeper walkthrough of the tradeoffs, see our overview on [choosing between Node RPC and Dedicated Clusters](/overviews/dedicated-vs-shared-nodes). ### Dedicated does not make the RPC stack inherently faster The RPC stack underneath is the same, so a single-request benchmark on a quiet system will not tell the whole story. Dedicated improves latency when the cluster is placed closer to the workload, and it improves predictability when isolation protects the P99, the slowest 1% of requests, under sustained load. For a current public view of shared RPC performance across providers, see Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). ### Multi-region shared can out-survive single-region dedicated A regional cloud outage that takes down a single-region cluster barely registers on a [globally distributed shared fleet](/blog/best-uptime-biggest-liquidation-event-in-crypto). The pragmatic deployment pairs dedicated in key regions with shared as the global default. ### The four-pattern test is strict If the workload does not hit one of custom runtime, region requirement, regulatory isolation, or query-range cap, shared is cheaper, simpler, and usually more reliable. The move to dedicated is usually a forcing function, not a preference. ## How does Alchemy support dedicated blockchain infrastructure? Most workloads start and stay on shared. Our [RPC API](/rpc-api) and [Data API](/docs/data) run on the same Cortex platform that powers dedicated, with a free tier, no contract, and no minimum commitment. Pull an API key from the [dashboard](https://dashboard.alchemy.com) and start sending requests in a few minutes. When a workload hits one of the four patterns, custom tracer, region requirement, regulatory isolation, or query-range cap, [Alchemy Dedicated Clusters](/dedicated-clusters) gives single-tenant capacity on the same infrastructure. We support custom tracers and binaries, regional deployments, N+1 redundancy with automatic failover to shared, block-perfect consistency, Grafana dashboards from day one, and SOC 2 Type II compliant infrastructure for regulated environments. Pricing is based on provisioned capacity, not per-request usage, so teams with predictable load can plan around fixed monthly infrastructure. Dedicated clusters are the same infrastructure, scoped to your workload. If shared infrastructure works, stay on shared. If your workload is one of the few that cannot, [talk to our team](/dedicated-clusters). ## FAQs ### What is the difference between dedicated blockchain infrastructure and shared RPC? Shared RPC runs many customers across a managed fleet. Dedicated blockchain infrastructure reserves the runtime, capacity, and data path for one workload. The API surface can stay the same, but dedicated adds single-tenant isolation, custom runtime options, regional placement, and capacity-based pricing. ### Is dedicated infrastructure the same as a private RPC endpoint? Not always. A private RPC endpoint can mean a customer-specific URL or access policy on shared infrastructure. Dedicated infrastructure goes further: the node pool and supporting runtime are reserved for one customer's workload. ### When should a team avoid dedicated infrastructure? Avoid dedicated infrastructure when the workload does not require custom binaries, regulatory isolation, region-specific placement, or unusually large raw query ranges. In those cases, shared RPC is usually simpler, cheaper, more elastic, and faster to ship. ### Can dedicated and shared infrastructure run together? Yes. Most teams that use Dedicated Clusters run a hybrid setup: dedicated for the chains or workloads with hard requirements, and shared RPC for everything else. The APIs match, so moving a workload between the two is mostly an endpoint and routing decision. ### How does pricing work for dedicated clusters? Dedicated clusters are priced on provisioned capacity rather than per-request usage. Pricing depends on the chain, node type, throughput, region, and capabilities included. For high sustained workloads, fixed capacity pricing can be easier to forecast than per-request billing. ### How quickly can a dedicated cluster be provisioned? Provisioning depends on the chain, client, region, and configuration. Some clusters can be deployed quickly when the requirements are standard. More complex setups, such as custom binaries, special hardware, or new regions, require more planning. --- # How do ERC-4337 smart contract wallets work? URL: https://www.alchemy.com/overviews/how-do-smart-contract-wallets-work.md Smart contract wallets that use [Account Abstraction \(ERC-4337\)](https://www.alchemy.com/overviews/what-is-account-abstraction) create a wallet that is managed using a smart contract instead of a wallet that is managed by a single private key like EOA wallets \(Externally Owned Address\). The programmable nature of smart contract wallets allows for the development of a wide range of new use cases. By reducing complexity without compromising security or anonymity, smart contract wallets will help facilitate onboarding of the next wave of blockchain users. Want to add [embedded smart contract wallets](https://www.alchemy.com/smart-wallets) to your app? Use our enterprise-grade Embedded Accounts and vertically integrated AA infrastructure to onboard users with no seed phrases, gas, or friction. ## **What are smart contract wallets?** [Smart contract wallets](https://www.alchemy.com/dapps/best/smart-contract-wallets) store and manage digital assets \(e.g. cryptocurrency, NFTs, etc.\) using smart contracts. Smart contract wallets are the foundation of account abstraction: the process of unifying the various Ethereum account types into a single type by ‘abstracting’ an account’s control away from the network and defining it with a smart contract. **Some examples of smart contract wallets that use ERC-4337:** 1. Soul Wallet 1. Candide 1. UniPass 1. Castle 1. Openfort Two main smart contract wallets that don't use ERC-4337 are **Safe** and **Argent**. ## **What are contract accounts \(cas\)?** Also known as smart contracts, contract accounts contain code which manages the exchange of information between parties. Contract accounts are used in every DeFi protocol, NFT collection, or ERC-20 token. All of the contract's business logic and state variables are stored on-chain. Because the state and code of a smart contract is stored on-chain, the externally-owned account deploying it must pay a fee. **Note**: In web3 programming, there is a ‘smart contract factory’ pattern, where a contract can deploy other contracts via a predefined interface. Even in this case, the transaction initiating it must originate with and be paid for by an EOA. ### How do contract accounts work differently compared to **externally owned accounts \(eoas\)?** The main difference between smart contract accounts and EOA accounts is that smart contract accounts can contain logic. Because only EOA accounts can initiate transactions smart contract accounts rely on Bundlers' EOA account to bundle user operations into a single transaction that is posted on the blockchain. Under current Ethereum protocol, EOAs are the only account type that can initiate a transaction, whether it’s a contract call or a value transfer. Even in the case of a contract account calling another contract account, the origin of the transaction always comes from an externally-owned account.  Here's a comparison of contract accounts and EOA accounts: Controlled by a human, through a private key

", tooltip: "", icon: "" }, "2": { title: "

No private key. Governed by its own code

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Can initiate transactions

", tooltip: "", icon: "" }, "2": { title: "

Can never be the origin of a transaction initiation

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Does not contain code

", tooltip: "", icon: "" }, "2": { title: "

Contains code and state, stored in storage

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Created offchain for free

", tooltip: "", icon: "" }, "2": { title: "

Created onchain for a cost, incurred by the deployer

", tooltip: "", icon: "" }, id: 3, }, ], }} /> So how do smart contract wallets execute transactions if they can't initiate transactions on their own? ## How ERC-4337 smart contract wallets work Because Smart Contract wallets can not initiate a transaction, they must be called by an EOA wallet. This process is supported by multiple [Account Abstraction infrastructure providers](https://www.alchemy.com/account-abstraction) \(e.g. Bundlers\) and smart contracts \(e.g. EntryPoint\) **The typical flow of a smart contract wallet transaction is:** 1. A user wants to execute a [UserOperation](https://www.alchemy.com/overviews/user-operations) 1. UserOperations are sent to an "alternative mempool" 1. A [Bundler](https://www.alchemy.com/overviews/what-is-a-bundler) with an EOA wallet bundles and sends all of the UserOperations to the EntryPoint contract 1. The EntryPoint contract validates and executes all of the UserOperations 1. The EOA wallet that bundled the UserOperations is repaid the ETH they spent on behalf of the users by the users' wallets or the [Paymaster](https://www.alchemy.com/overviews/what-is-a-paymaster) While understanding how smart contract wallets work from a technical perspective may be difficult to understand, for end users, [smart contract wallets provide many improvements compared to EOA wallets](https://www.alchemy.com/overviews/smart-contract-wallet-benefits) such as programmability and the ability for features like social recovery. ### Additonal resources for learning how smart contract wallets work For more information on how each component of Account Abstraction works read our series, "You Could Have Invented Account Abstraction," which was written by **David Philipson**, on Alchemy's Account Abstraction Infrastructure engineering team. 1. [UserOps, Bundlers, and the EntryPoint Contract](https://www.alchemy.com/overviews/what-is-account-abstraction) 1. [Sponsoring Gas Using Paymasters](https://www.alchemy.com/overviews/what-is-account-abstraction-paymasters) 1. [Creating Smart Contract Wallets](https://www.alchemy.com/overviews/what-is-account-abstraction-wallet-creation) 1. [Aggregating Signatures](https://www.alchemy.com/overviews/account-abstraction-aggregate-signatures) ## Frequently asked questions ### What are smart contract wallets? Smart contract wallets store and manage digital assets like cryptocurrency and NFTs using smart contracts instead of a single private key, serving as the foundation of account abstraction. ### How do ERC-4337 smart contract wallets work? ERC-4337 wallets use a flow where users create UserOperations, send them to an alternative mempool, bundlers collect and submit them to the EntryPoint contract for validation and execution, then get repaid by the wallets or Paymasters. ### What's the difference between smart contract accounts and EOA accounts? Smart contract accounts contain programmable logic but cannot initiate transactions on their own, while EOA accounts can initiate transactions but lack programmable features. ### What are UserOperations? UserOperations are transaction requests created by users that get sent to an alternative mempool, where bundlers collect them for processing through the EntryPoint contract. ### What is the role of bundlers in ERC-4337? Bundlers are nodes with EOA wallets that collect UserOperations from the alternative mempool, bundle them together, and submit them to the EntryPoint contract for validation and execution. ### What is the EntryPoint contract? The EntryPoint contract is the on-chain smart contract that validates and executes bundled UserOperations submitted by bundlers. ### Do smart contract wallets require gas fees? Smart contract wallets can use Paymasters to sponsor gas fees, allowing for gasless transactions where users don't need to pay gas directly. ### Can you give examples of ERC-4337 smart contract wallets? Examples include Soul Wallet, Candide, UniPass, Castle, and Openfort, while Safe and Argent are smart contract wallets that don't use ERC-4337. --- # How to Add Sepolia to MetaMask URL: https://www.alchemy.com/overviews/how-to-add-sepolia-to-metamask.md To test a decentralized application before deploying it to the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), web3 developers will deploy their smart contracts on a public testnet. [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) is a Proof-of-Stake testnet, and a popular test blockchain developers use to validate the functionality of their [apps](https://www.alchemy.com/dapps/top/defi-dapps) before migrating them to Ethereum’s layer one blockchain. This article will explain how to create a [free Sepolia RPC endpoint](https://www.alchemy.com/chain-connect/chain/sepolia) on Alchemy so you can start deploying your smart contracts on the Sepolia testnet. Once you're done adding Sepolia to MetaMask, you can [get free SepoliaETH](https://www.alchemy.com/overviews/sepolia-eth) from Alchemy's [Sepolia Faucet](https://sepoliafaucet.com/). ## 1. Sign up for Alchemy If you do not have an Alchemy account, create a free account. If you have an account, please sign in. Alchemy’s free tier provides Sepolia testnet support, and gives developers access to the largest free plan in web3. Get access to full archive data, no daily request limits, access enhanced APIs, and 300,000,000 compute units per month on Supernode, the most reliable, scalable, and accurate RPC node solution in web3. ## 2. Create a Sepolia application From your dashboard, click the “create app” button. Next, complete the information about your dapp including: 1. **Dapp Name** - name your app 1. **Description** - describe your app 1. **Chain** - Choose “Ethereum” 1. **Network** - Choose “Sepolia” ## 3. Add Sepolia to MetaMask automatically Alchemy provide's a 1-click tool for adding your new Sepolia RPC endpoint to MetaMask. First, open your new dapp, and then click the "Add to Wallet" button. Allow Alchemy to add the Sepolia network to your wallet. That's it! ### How to add Sepolia to MetaMask manually To start deploying smart contracts and interacting with test applications on the Sepolia test network, you need to connect your wallet to the Sepolia network. To add the Sepolia testnet to MetaMask, click the network button at the top of your wallet and click “Add Network”. At the bottom of the page, click “Add a network manually”.  Next, go to your Alchemy dashboard, click "View Key" and then copy the “HTTPS URL”.  Go back to MetaMask and paste your Sepolia RPC URL into the network configuration details along with the following information: - **Network Name** - Sepolia Testnet - **New RPC URL** - https://eth-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\] - **Chain ID** - 11155111 - **Currency Symbol** - SepoliaETH - **Block explorer URL** - https://sepolia.etherscan.io/ Now your MetaMask wallet is connected to Sepolia. The last step is to get free SepoliaETH [from a faucet](https://www.alchemy.com/faucets/ethereum-sepolia). ## Frequently asked questions ### What is Sepolia Testnet and why would I use it with MetaMask? Sepolia is a Proof-of-Stake testnet that web3 developers use to test decentralized applications before deploying them to Ethereum mainnet, allowing safe validation without risking real ETH. ### How do I manually add Sepolia network to MetaMask? Click the network button at the top of MetaMask, select "Add Network," then "Add a network manually" and enter the Sepolia network configuration details. ### Where do I get my Alchemy RPC URL for Sepolia? In your Alchemy dashboard, go to your Sepolia app, click "View Key" and copy the HTTPS URL to use as your RPC endpoint. ### How can I get free test ETH for Sepolia after adding the network? [Visit Alchemy's Sepolia Faucet](https://www.alchemy.com/faucets/ethereum-sepolia) to get free SepoliaETH for testing your applications. ### Does Alchemy's free tier support Sepolia Testnet? Yes, Alchemy's free tier includes Sepolia testnet support with no daily request limits and 30M compute units per month. --- # How to Airdrop Solana NFTs Using Metaplex and Gumdrop URL: https://www.alchemy.com/overviews/how-to-airdrop-solana-nfts.md This tutorial walks you through how to airdrop NFTs on Solana using Gumdrop, one of the [NFT tools created by Metaplex](https://www.alchemy.com/overviews/metaplex).  If you are new to developing NFT projects on Solana, this beginner-friendly tutorial is for you. Estimated time to complete this guide: 15 minutes In this tutorial, we will: 1. Create an NFT 1. Mint an NFT 1. Airdrop an NFT with the Gumdrop Command Line Interface \(CLI\) 1. Create a link to share with friends using Vervel and Gumdrop And don’t worry if you don’t understand what these words mean yet! We’ll go through everything together.  ## **What is an NFT airdrop?** An NFT airdrop is when a free NFT is transferred to a wallet address. NFT airdrops are popular ways for NFT projects to reward collectors, incentivize community engagement, or hand out allowlist tokens for upcoming NFT mints. NFT airdrops are most frequently employed as an [NFT marketing tactic](https://www.alchemy.com/blog/5-tips-for-nft-success). Some examples of NFT airdrops include: 1. Swim Protocol - airdropped a Swimmer NFT to people who used their cross-chain bridge 1. Aurory - airdrops new art and collectibles to collectors of their Aurorian NFTs 1. Degenerate Ape Academy - airdropped mint tokens to token holders to participate in the Degenerate Trash Panda mint By essentially giving away a free item to its holders, NFT projects can continue to create value for their tokens and community. ### **What is gumdrop?** Gumdrop is an NFT feature from [Metaplex](https://www.alchemy.com/dapps/metaplex) that allows creators to directly send users on an allowlist to a reclamation link by building the tree with off-chain handles and allowing users to redeem into any wallet. Gumdrop can also be used with [Candy Machine](https://www.alchemy.com/overviews/candy-machine-v2), complete NFT airdrops, and distribute tokens.  Gumdrop makes NFT airdrops on Solana easy by simplifying the process of dropping our Non-fungible tokens using an allowlist. ## **How to airdrop Solana NFTs with gumdrop** To make sure you’re all set for this tutorial, you’ll need the following tools installed on your machine: 1. [NodeJS](https://nodejs.org/en/) \(version 16\) 1. [TS-Node](https://www.npmjs.com/package/ts-node) 1. [SolanaCLI](https://docs.solana.com/cli/install-solana-cli-tools) 1. [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#mac-stable) 1. [Git](https://git-scm.com/) 1. [Metaplex CLI](https://github.com/metaplex-foundation/metaplex.git) 1. [Phantom Wallet](https://phantom.app/) If you're new to Solana development, learn [how to install Solana developer tools](https://www.alchemy.com/overviews/solana-developer-tools) before moving forward. You can utilize **NVM**, if you have a different version of Node installed on your machine. If anything seems overwhelming right now, don't worry. Each tool's functionality will be demonstrated as we move on. ### **Step 1. Initialize using the gumdrop CLI** Installing and configuring the Gumdrop CLI is handled through the Gumdrop GitHub [repository](https://github.com/metaplex-foundation/gumdrop). They provide everything you need. Let’s clone the repository and get it onto our computer. We also need to confirm node, yarn, and ts-node are installed before proceeding.  You can install ts-node by running: You can verify by running:  Now, let’s create an empty folder with the mkdir command in your terminal. We will name this folder solana-airdrop. Run the following command inside the folder to create a [Solana wallet](https://www.alchemy.com/overviews/solana-wallets): The message you see in your terminal should be saved in a secure location because we'll need the pubkey and seed phrase later. Here is an example of what that should look like: Next, clone the Gumdrop project into the solana-airdrop folder: Then we navigate to the directory containing the CLI: Next, run:  This command will install all the necessary dependencies. The installation process can take a few minutes. Next, we're going to [connect to the Solana Devnet cluster](https://www.alchemy.com/overviews/solana-devnet) as we wouldn't like to spend any money for learning purposes. Mark that for real-world applications, we'd need to use the mainnet. You change it to devnet by running the command below: Now, we need to create a new key that would hold our NFT. The "Se" basically means that our pubkey starts with “Se” Let's run a couple more commands to configure our new Solana address: This should display the following:  ### **Step 2. Fund your Devnet wallet** Now we need to [get test Solana tokens](https://www.alchemy.com/overviews/solana-faucet). Since we're in the devnet, you can quickly get some sol by running the command below in the terminal: Alternatively, you can grab some devnet SOL tokens from [a Solana faucet](https://solfaucet.com/).  You can confirm you have Solana in your devnet wallet by running this script in the command line:  ### **Step 3: connect Phantom wallet to the Devnet cluster** Now, we will link the newly formed devnet wallet to Phantom. To do this, click **settings**, select** Change Network**, and then choose** Devnet**. ### **Step 4. Add a Devnet wallet to Phantom** We must now acquire the private key for the devnet wallet. Open your terminal and use **cat** to inspect the keypair.json file's contents to get that: To add the devnet wallet to Phantom: 1. Open Phantom 1. Copy the output you just received 1. Give it a suitable name 1. Select **Import Private Key** from the top left navigation menu 1. Click **Add/Connect Wallet**‍ 1. Paste the key into the **Private Key** area Now, your Devnet [Phantom Wallet](https://www.alchemy.com/dapps/phantom) should reflect 5 SOL. ### **Step 5. Create an NFT** You can use platforms like Metaplex, Holaplex, or [Solsea](https://www.alchemy.com/dapps/solsea) that follow the metadata standard for creating and minting your Solana NFT.  Here's what to do first: 1. Set up your wallet and ensure it has some SOL tokens 1. Visit the [Holaplex](https://www.holaplex.com/) website 1. Connect your Phantom wallet to the Metaplex platform Metaplex will ask for permission to view your funds, and request approval for transactions. You can approve this. Next: 1. Click the **create** tab 1. Select **browse file**‍ 1. Upload any image of your choice 1. Add a **Name** and **description** to your Image 1. Give some attributes 1. Click **Next** We set our NFT to **unlimited** to allow us to create as many copies as we wish to mint. We should now be able to see the NFT in your wallet after clicking mint and it being successful. Now, get the metadata and store it in a secure file, and transfer the NFT from your Phantom wallet to the pubkey address you generated earlier. You can query that by running: Alternatively, more advanced Solana developers can mint with **Candy Machine**.  ### **Step 6. Select your drop type** Before you move on, you must understand that the gumdrop program supports three drop types:  1. The Token Airdrop 1. NFT candy machine pre-sale 1. The Edition prints We must also define our distribution method and whitelist: A list of options guiding us on how to use the CLI is listed here:  For the drop type, we will be going with **Token Airdrop**.  This method allows the CLI to move the tokens to the generated disposable keypair, enabling a more logical creation of additional gumdrops. For the distribution method, we can airdrop using SMS, Discord, Email, or wallets. For this tutorial, we airdropped via wallets using the command below: Before moving on to run the full command, we have to create a whitelist.json file. The allowlist will help specify the recipients of the Airdrop.  It is a list containing the receivers with identifying values such as mints or prints to be claimed and the number of editions.  The whitelist is in this format below: You can replace it with the information below and populate it based on the number of friends that will receive the NFT airdrop.  We can then reference the distribution list with the following command: Finally, run all the commands below: ### Step 7. Airdrop the Solana NFT Now, let's airdrop the NFTs to the address of your choice. In the file directory, locate the “log” folder, check all of the files, and look for the .json file containing URLs as shown below. The file contains the content of the whitelist.json file with URLs meant for the recipient of the airdrop. You can follow that link in your browser. You should have something like this: Gumdrop provides an interactive UI that makes it easy for recipients to claim their airdrop. We can deploy this custom gumdrop site to Vercel.  And that's it! You have built a gumdrop site that can airdrop NFTs to friends. ### **Step 8: close a gumdrop**[**​**](https://docs.metaplex.com/guides/airdrops#closing-a-gumdrop) When the gumdrop is finished, the master edition can be recovered by closing the gumdrop. If you close the gumdrop, the recipients might be unable to claim their gumdrop. The code snippet to close a gumdrop is: To withdraw authority or return tokens, you can pass further information about the claim integration. ### **Step 9: deploy a custom gumdrop site‍**[**​**](https://github.com/metaplex-foundation/gumdrop) You can choose to deploy your Gumdrop website. I would recommend **Vercel**, which is known to provide a robust developer experience, especially when building frontend frameworks and static websites. First, head over to [Vercel](https://vercel.com/) and sign-up for a free account, and use GitHub for faster integration.  Here's what to do next: 1. Select **new project** and import the file from your Github repository 1. Fill in the Project name and define the directory 1. Toggle the **Build and Output Settings** and make changes as shown below‍ Now, confirm that the Output Directory is set to **override**, and click** Deploy** to get a unique link for the project! Congratulations! You just deployed a Custom Gumdrop website 🎉 If you'd like to share with your friends, you can simply share the link. You should also retrieve their wallet addresses as the allowlist distribution method is set to wallet. --- # How to Become a Solidity Developer URL: https://www.alchemy.com/overviews/how-to-become-a-solidity-developer.md ## ‍Why should I become a Solidity developer? As web3, a term used to describe a more decentralized and democratized version of the internet, and its underlying technology, blockchain, continue to gain momentum, being deeply immersed in the ecosystem could lead to tangible benefits akin to learning how to develop internet applications in the 1990s. Blockchain technology is what powers well-known decentralized applications and use cases such as NFTs, DeFi, and [DAOs](https://www.alchemy.com/dapps/top/daos). To take part in shaping the future of the internet, becoming a [blockchain developer](https://www.alchemy.com/overviews/solidity-developer) is one of several paths to contribute to the web3 landscape, which could prove to be both impactful and lucrative, especially as the technology becomes more practical in consumer and industrial settings.  Keeping this in mind, you may be wondering which [web3 programming languages](http://www.alchemy.com/overviews/web3-programming-languages) to learn. One of the best choices is Solidity, an-object oriented programming language for executing smart contracts on blockchains such as the Ethereum. Solidity’s syntax is similar to Javascript and C, which means that the learning-curve can be ascended at a quicker pace by web2 developers. According to cryptocurrencyjobs.co, the average base [salary for Solidity developers](https://www.alchemy.com/overviews/solidity-developer-salary) in the US is $127,500, with a low base salary of $80,000 and a high base salary of $180,000. This figure might differ based on location, company, and experience. Working on a powerful technology in a decentralized, asynchronous, fast-moving, and high-paying environment is tough to beat in today’s increasingly digital world. If you’re still not convinced, here’s a brief summary of why the web3 movement is an attractive option for developers:  1. Join 5,000\+ other developers who are learning every week 1. Answer quizzes on Discord, make new friends on Telegram, win swag 1. Learn new programming skills and tools with a project-based curriculum 1. Build your reputation as a web3 developer with Proof of Knowledge NFTs ## **7 steps to become a Solidity developer** Now that we have a more formative understanding of what a Solidity developer is and the benefits of being a part of a burgeoning movement, let’s explore ways to learn more about Solidity:  ### **1. Enroll in a bootcamp** One effective method to fast-track learning Solidity and becoming an Ethereum developer is by [attending a Solidity bootcamp](https://www.alchemy.com/overviews/solidity-bootcamp). Through instructor-led bootcamps, developers can acquire core blockchain cryptography skills, gain a deeper understanding of Ethereum, build and deploy decentralized applications, and master smart contract development. Alchemy University's 7-week Ethereum Developer Bootcamp is an ideal way for developers new to web3 to learn it's most popular programming language. Custom learning tools, interactive coding challenges, and evolving curriculums to match a growing industry are a handful of the benefits of [Alchemy University's program](https://university.alchemy.com/?a=96a59db6cb). If developers are new to development in general, Alchemy's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. ### **2. Master Solidity fundamentals** If you prefer a more personalized approach to mastering Solidity, there are numerous publicly available guides, articles, and videos that can help. These resources can help developers learn more about basic blockchain terminology, tools, and applications in a self-directed manner. Moreover, knowing the basics of C\+\+, JavaScript, or Python, can also be of assistance and accelerate the learning process. Nevertheless, to [develop smart contract](https://www.alchemy.com/overviews/solidity-smart-contract) applications, developers have to understand the difference between safe and unsafe practices. Ignoring or overlooking [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices) best practices is not advised. Some Solidity fundamental concepts to master include Solidity functions and modifiers. **Solidity functions** are blocks of code or collections of statements compartmentalized together to execute a particular task. In general, Solidity functions can be defined by using the _function_ keyword, followed by the name of a unique function that does not match any of the reserved keywords. Also, functions can also have a list of parameters containing the name and data type of the parameter. **Solidity modifiers** are analog to the decorator pattern, which is used in object-oriented programming. In essence, a modifier can change the behavior of the function to which it is attached. The primary use case of modifiers is to automatically check a function, prior to execution. If the function does not meet the modifier’s requirement, an exception is made known, and immediately, the function execution stops.  ### 3. Learn complimentary Solidity tools Becoming a Solidity developer requires a broad understanding of web3 tools. Complimentary tools like Hardhat, Alchemy, and [Remix \(online IDE\)](https://www.alchemy.com/overviews/solidity-ide), will elevate your application profile since many companies use similar tech stacks. #### **Hardhat** **‍**Hardhat comes built-in with the Hardhat network, a local Ethereum network designed for development. Deploying contracts, running tests, and debugging code, is feasible all within the confines of your local machine. When running contracts and tests on the Hardhat network, you can print logging messages and contract variables calling the [console.log\(\) function](https://www.alchemy.com/overviews/solidity-console-log) from your Solidity code. Don’t forget that to use this function, you will have to import hardhat/console.sol into your contract’s codebase #### **Foundry** Foundry is a blazing fast, portable, and modular toolkit for Ethereum application development written in Rust. Foundry consists of three unique elements: Forge, Cast, and Anvil.  - **Forge** - an Ethereum testing network, similar to Hardhat and Truffle  - **Cast** - a feature-rich tool for interacting with EVM-based smart contracts, sending transactions and obtaining chain data - **Anvil** - a local Ethereum node on the Hardhat network, similar to Ganache - **Chisel**: a Fast, utilitarian, and verbose solidity REPL Furthermore, there are other blockchain developer tools that developers can use. Though not an extensive list, here are a few suggested tools to check out:  1. **Truffle** - a development environment, testing framework, and asset management pipeline for Ethereum 1. Brownie - a Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine \(EVM\) 1. **Echidna** - define properties for smart contacts and then use fuzzing to catch security bugs  1. **Remix**- a powerful, open-source IDE to write, compile, and debug Solidity contracts from the browser ### 4. Gain hands-on experience developing Solidity Tutorials and [courses](https://www.alchemy.com/overviews/solidity-course) are the main methods to learn Solidity development, whether you’re looking to create an NFT smart contract, an on-chain DAO, or a decentralized finance application. These web3 tutorials act as guided experiences where participants can asynchronously learn how to complete a specific task by following written documentation and video walkthroughs. To get started, consider exploring the Solidity tutorials in [Alchemy's Road to Web3](https://www.alchemy.com/docs) series including: - How to Develop an NFT Smart Contract \(ERC721\) - How to Build a "Buy Me a Coffee" DeFi dApp - How to Make NFTs with On-chain Metadata - How to Create an NFT Gallery - How to Create a Dynamic NFT - How to Build a Staking dApp - How to Build an [NFT Marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) - How to Build a Betting Game on Optimism - How to Build a Token Swap Dapp with 0x API - How to Create a Decentralized Social Media App ### 5. Participate in an Ethereum hackathon Hackathons are events where people come together from various backgrounds to develop a minimum viable product that solves a real-world problem. [Ethereum hackathons](https://www.alchemy.com/overviews/best-web3-hackathons) are fantastic opportunities to make new connections globally, build your web3 portfolio, get hands-on development experience, and potentially, even land a job with a company sponsoring the event.  If you’re competing virtually or in-person, hackathons can provide you with a platform to delve even further into the web3 rabbit hole. Currently, the gold standards when it comes to web3 hackathons are EthGlobal events and Gitcoin. Both provide comprehensive training and hands-on experience. ### **6. Audit smart contracts for bounties** Auditing smart contracts for bounties is another way to get hands-on experience, earn rewards, and understand how smart contracts work. Besides bounty programs sponsored by individual companies and decentralized protocols, there are platforms for discovering bounty programs, such as: 1. Web3 native platforms - Immunefi and HackenProof 1. Traditional platforms - Bugcrowd and HackerOne 1. **Project-managed bounties** - Ethereum Foundation and 0xProject ### 7. Apply for Solidity developer jobs With fundamentals and hands-on experience, the next step is to consider applying for a [full-time Solidity developer role](https://www.alchemy.com/overviews/solidity-developer). You’ll find yourself working with teammates across the world building products, services, and infrastructure for the web3 ecosystem and decentralized technologies. Don’t forget that energy, empathy, and proactive learning are extremely important too! #### Update your resume and LinkedIn When applying for a Solidity developer role, it’s important to [update your resume and LinkedIn to be web3-focused](https://www.alchemy.com/overviews/web3-hackathon-resume). Certainly highlight your profile, work experience, projects, education, skills, certifications, and a link to your portfolio. On a final note, it’s also a good idea to include quantitative information, which helps you demonstrate your impact to recruiters and potential employers in a compelling way.  #### **Research positions on Web3 job boards** Researching positions on a [web3 job boards](https://www.alchemy.com/overviews/solidity-jobs) is an effective way to explore roles that might be a good fit for you. Sites such as web3.career, cryptocurrencyjobs.co, and web3jobs.so are great places to start.  Large web3 companies like Alchemy, OpenSea, and Coinbase will have internal resources dedicated to sourcing, recruiting, and hiring, which means open positions will likely be hosted on their [careers page](/careers). Lastly, aspiring Solidity engineers can explore job boards like Indeed and Monster.com for crypto jobs posted by web2 companies, and large web3 companies cross-posting positions for greater visibility. --- # How to Calculate Rent for Solana Programs URL: https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs.md Program executions on the Solana blockchain begin with a transaction. The blockchain consists of a network of computer systems that duplicates and distributes a digital ledger of transactions across the entire network. Each block on the chain comprises a number of transactions, and each participant's ledger receives a copy of each new transaction that takes place on the blockchain.  Storing all of this data in separate accounts is not free and incurs some expenses. In this article, we will guide you on the concept of rent on Solana and how you can calculate it. ## **What is rent on Solana?** **Rent is the fee every Solana account pays to store data on the blockchain, and is denominated in Lamports, or the smallest unit of SOL which are used for micropayments.** Rent fees are calculated based on the size of the account's storage. The higher the rent, the greater the amount of data stored. Since [Solana node clusters](https://www.alchemy.com/overviews/solana-nodes) must actively maintain this data, a time and space-based fee is needed to keep an account, and consequently its data, alive on the blockchain. All Solana accounts must keep their Lamport balances high enough to qualify for **rent exemption** and to stay on the Solana blockchain. Accounts that are found to contain a low amount of Lamports are removed from the network by the garbage collector. ### **When are rent fees collected?** Rent fees are usually collected at the end of each epoch. An epoch is the period of time during which the leading validator is still capable of generating blocks of transactions. The [Solana Explorer](https://www.alchemy.com/dapps/solana-explorer) contains the data for the most recent and preceding epochs.  Rent is also paid when accounts are referenced by a transaction. At the conclusion of each slot, a percentage of the rent that accounts have collected is destroyed, and the remainder is paid to the vote accounts. [The account ](https://www.alchemy.com/overviews/solana-account-model)will be deallocated and the data deleted if there is not enough money in it to cover the rent. It's also crucial to remember that brand-new accounts have to be rent-free. Rent is also very important because validators on the network must keep a working copy of this state in memory; the network charges a time-and-space-based fee for this resource consumption. This is because Accounts on Solana may have an owner-controlled state \(Account::data\) that is distinct from the account's balance \(Account::lamports\). ## **How to calculate rent for a Solana program?** Using the Solana rent command from the [Solana CLI](https://www.alchemy.com/docs/reference/solana-api-quickstart) provides a simple approach to estimate rent costs. You can view the rent per byte, per epoch, and the minimum amount required for an account to be rent-exempt by entering the size \(in bytes\) of your account. According to the rent regime, accounts have **Account::rent epoch** of the current epoch or the current epoch \+ 1 and rent is owed for one epoch's worth of time. Account::rent epoch is simply adjusted to current epoch if the account is in the exempt regime. If the account is non-exempt, **Rent::due\(\)** is used to determine how much rent is owed by this account. This calculation is based on the difference between the next epoch and Account::rent epoch. These steps will show you how to calculate rental price for a Solana program. ### **Step 1: create new program** First, navigate to your terminal and create a new folder using cargo, this is where our main file will be stored. Open the src/main and replace with the code snippet [here](https://gist.github.com/dharniel45/69bd889abd6179c9bfa94b00ab1247f6) ### Step 2: calculate the rent cost The size of the file should be 906 bytes, we can calculate the rent by simply running: You should see the following: Finally, there is no matching transaction for rent deductions because rent collection occurs in accordance with protocol-level account modifications, such as the rent distribution to validators. Therefore, rent collection is largely invisible and may only be implicitly observed by a recent transaction or by timing specified by the account address prefix. ## **How to redeem Solana storage fees** To reclaim Solana storage fees, developers and everyday Solana users can close accounts to receive their storage fees back. The simplest way to redeem Solana rent fees is using a consumer friendly tool like **[Sol Incinerator](https://www.alchemy.com/dapps/sol-incinerator)** to close unused program accounts in your wallet. ## **Conclusion** The rent cost is currently set at the genesis, but it is planned to become dynamic in the future, reflecting the current cost of the underlying hardware storage. Therefore, it is widely believed that as technology progresses and hardware costs fall, so will the rent fee costs. --- # How to Choose the Right Blockchain for Your dApp URL: https://www.alchemy.com/overviews/how-to-choose-a-blockchain.md At its most basic, [blockchains](https://www.alchemy.com/docs/what-is-a-blockchain) are a great infrastructure tool for developers to decentralize their data storage needs. As a system, blockchains provide developers with the ability to distribute their applications securely, without the need for trusted central intermediaries. Blockchains can be used for many different applications, and, as a result, there are many different types of chains that optimize for various applications. Each type of chain is slightly different. As such, it is important for developers to understand the differences, so they pick the blockchain that’s right for their needs. This article will discuss the main differences between the major blockchains, and the reasons why developers choose one type of chain over another.  ## **7 questions to ask when choosing a blockchain to build on** In the process of deciding which blockchain platform to use for your project, there are at least seven factors that you should consider as a developer: ### **1. How much throughput does your dapp need?** Depending on the type of project you’re developing, the range of transaction throughput required can vary heavily.  If you’re building a DeFi game, for example, one that requires users to make thousands of daily micro transactions, you’ll need a blockchain that has high throughput, and low gas fees.  But if you’re running a DAO that will only make the occasional transaction, ease of collaboration might be a more important factor. The important thing to consider is how a blockchain protocol will scale with your dapp. When you are just getting started, low transaction throughput might be sufficient, but as you scale, it might eat away at your profits, or upset your customers. So before you make a decision, it’s important to consider the long-term cost and speed of building on a particular chain. Developers should consider both the scalability of the mainnet, and the availability of Layer 2 networks. The Ethereum network, for example, has low transaction throughput, but there are [multiple Layer 2 networks being built on top of it](https://www.alchemy.com/dapps?sub-category=Layer+2+Blockchains&category=Blockchains) with much higher throughput. The 2nd Layer is designed to give [apps](https://www.alchemy.com/dapps/top/defi-dapps) the security of a robust blockchain ecosystem with the scalability of a faster consensus mechanism. ### **2. Which blockchain provides the level of developer resources needed?** Because blockchains are a relatively new technology, the resources available to developers can make a big difference. Many blockchain protocols provide developers with external tutorials and guides, or create group chats and forums so that developers can learn from each other.  But the quality of these resources can vary. Before you get started on a chain, take some time to familiarize yourself with the resources that a protocol has available.  For example, some systems are designed for easy composability, while others are not. Composability is the extent to which the smaller parts of a given application can be copied over and used in the creation of different applications.  Apps that are compatible with the [**Ethereum Virtual Machine**](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\), for example, can easily redeploy their dapp to other EVM-compatible blockchains. The difference between starting from scratch and building from an ecosystem of existing tools and infrastructure can be enormous.  You never know what sorts of problems might come up in the process of building your dApp. So it's helpful to know that when these problems arise, you’ll have sufficient support.**‍** ### **3. Which blockchain ecosystems have the right conditions for your dapp's go-to-market strategy?** Some blockchains already have a very vibrant ecosystem, while others are still being developed over time.  If developers plan to build a dApp that relies on other apps, for example, developing on a blockchain with a large ecosystem makes sense.  For example, if you are creating a dApp that aggregates liquidity across[ Decentralized Exchanges](https://www.alchemy.com/dapps/best/decentralized-exchanges-dexs) \(DEXs\), it is imperative that the blockchain that you choose has multiple DEXs for you to aggregate liquidity.  In contrast, if you are attempting to build a product that doesn’t exist on some blockchains, it can be beneficial to choose a blockchain where this application would have no competitors.  Of course, developers do not need to settle for a singular blockchain ecosystem, and numerous protocols have grown successfully across multiple ecosystems. ### **4. What programming language does the blockchain use?** The complexity of developing on a given platform can range significantly. Some blockchains require developers to learn new programming languages altogether, while others standardize the process. For example, experienced Rust developers may find the Solana blockchain accessible, as its main language is[ Rust](https://www.alchemy.com/dapps/rust). In contrast, Ethereum and the EVM ecosystem is centered around[ Solidity.](https://www.alchemy.com/overviews/solidity) Developers who want to build on EVM[ learn Solidity](https://www.alchemy.com/overviews/solidity-smart-contract), as it is not extremely different from JavaScript.  Of course, this is not always an option. Because any developer team will have a range of skill levels, the ease with which novice developers can get started can matter greatly.  Considering the composition of your team, and the resources you have available, can help inform your decision on which blockchain to use.  ### **5. What incentives exist for building on the blockchain?** Some blockchain projects incentivize developers with programs that reward loyalty and pay developers for their contribution to the network. For example, some blockchains provide incentives for bug detection and forum responses. Other blockchains reward developers through staking opportunities, and by allowing projects to earn money by bringing customers to the platform.  In some cases, it can be smart to build alongside a smaller chain with high-growth potential, so that teams can share the rewards of mutual growth. For others, it’s simply better to pick an ecosystem that’s reliable.  ### **6. Is the blockchain compatible with your existing developer tools & integrations?** After years of development, some blockchain tools have become the industry standard. For example, web3 toolkits like[ Hardhat](https://www.alchemy.com/dapps/hardhat) and[ Foundry](https://www.alchemy.com/dapps/foundry) are very popular, as are certain [crypto wallets](https://www.alchemy.com/dapps/top/wallets), like [MetaMask](https://www.alchemy.com/dapps/metamask). But not all of these tools work across blockchains. Hardhat and Foundry, for example, only work on EVM-compatible blockchains. In other words, developers cannot develop a Solana dapp with them, and instead, they must use a tool such as [Anchor](https://www.alchemy.com/overviews/solana-anchor). Similarly, the ease of integrating existing tools with a particular blockchain can vary drastically. While many[ EVM](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)-compatible blockchains follow the same integration structure, it can be different among blockchains that are not.  For newer blockchains or blockchains with poor documentation, integration may take a while to set up.  That said, the payoff of a tougher integration may be worth it if developers believe in the success of a blockchain in the long run. ### **7. Is the blockchain secure enough for your dapp?** In the context of blockchain, security can refer to a few different things. It can refer to both the decentralization of the network's nodes, and the finality of its transactions. Decentralization is important because it can represent how hard it might be for an organization or government to shut down the dapp. To some developers, this is of the utmost priority. But for others, the foremost security concern is the finality of transactions. How likely is it that the blockchain you choose will fork, or [reorganize](https://www.alchemy.com/overviews/what-is-a-reorg), causing your users transactions to no longer be included on the blockchain? The procedure for producing blocks can vary significantly, and some are more robust than others. So ensuring that the blockchain you choose has a strong security protocol can mean the life or death of your dApp.  There are also other security issues worth considering. For example: your blockchains ability to stay live, its vulnerability to Denial-of-Service \(DoS\) attacks, or any underlying issues with its consensus mechanism. While it might only count as an early warning signal, **considering whether a blockchain has been shut down before**, forked, or subject to extensive reorganization efforts can be an indicator of what’s to come. In any case, take some time to research the history of the blockchain and consider how other apps have performed on it in the past. ## **Choosing the right blockchain platform** While picking the right blockchain protocol for a given dApp, developers should note the pros and cons of the various major blockchains: ### **1. Ethereum** [**Ethereum**](https://www.alchemy.com/ethereum/?a=choose-ethereum) is a Layer-1 blockchain platform known for pioneering the concept of smart contracts. Ethereum was launched in 2015 by Vitalik Buterin. Vitalik applied the principles of decentralization from Bitcoin to a virtual machine. This insight allowed the Ethereum blockchain to become a powerhouse of innovations, with thousands of apps developed for financial services, governance, treasury management, payments, exchanges, art, and more. Ethereum had attracted [the most value of any smart contract blockchain](https://www.alchemy.com/overviews/choose-ethereum) because of it's decentralized security. Ethereum blocks last for 15 seconds, meaning settlement occurs in that time or less. Ethereum's block size is limited to achieve maximum decentralization, which makes transactions costly compared to some other blockchains. Ethereum is currently supporting efforts to [improve its scalability](https://www.alchemy.com/overviews/ethereum-scaling-solutions). A large portion of this process involved supporting the development of Layer-2 blockchains. ### **2. Arbitrum** [Arbitrum](https://www.alchemy.com/arbitrum/?a=how-to-choose-a-blockchain) is one of the most popular Layer-2 scaling solutions for Ethereum. Built and maintained by Offchain Labs, it uses a batching protocol called “optimistic rollups,” which optimistically treats all transactions as valid by default, before they are published to Ethereum. This technique will allow Arbitrum to leverage Ethreuem’s security and decentralization while providing [faster and cheaper settlement](https://www.alchemy.com/overviews/choose-arbitrum). While it is part of the Arbitrum roadmap to fully decentralize, there are currently portions of the technology stack which are centrally controlled by the Arbitrum team. As the team iterates on their technology and becomes comfortable with it's viability, the entire stack will come under decentralized governance. ### **3. Optimism** [Optimism](https://www.alchemy.com/optimism) is another optimistic rollup that posts its data to Ethereum. **‍**Optimism also benefits from Ethreuem’s security and decentralization while providing cheaper and faster transactions.  By batching transactions, [Optimism can scale the rate of transaction throughput](https://www.alchemy.com/overviews/choose-optimism) one or two orders of magnitude greater than the Ethereum mainnet. Optimism, like Arbitrum, prioritizes scalability and security over decentralization. It uses a system called the Optimism Virtual Machine \(OVM\), which is EVM compatible. Optimism’s roadmap also contains plans to become more decentralized than it is currently. ### **4. Polygon** Previously known as the Matic Network, [Polygon](https://www.alchemy.com/polygon) is a Layer 2 scaling solution launched in 2019 that helps make transactions on the Ethereum blockchain faster, simpler and more affordable.  As opposed to other Layer 2 solutions, like [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) and StarkNet, [Polygon works like a "swiss-army knife" solution](https://www.alchemy.com/overviews/choose-polygon), combining a number of tools to solve the problem of scalability. This means that it operates multiple chains—one that prioritizes transaction throughput and one that prioritizes security. Like Optimism, Polygon provides 100% EVM compatibility.  Polygon has one of the most vibrant ecosystems of all the Ethereum Layer 2 solutions which peaked at $9bn of TVL in 2021. Polygon Labs also launched the beta version of its developer resource tool, Polygon University, and it runs a wiki that provides comprehensive documentation, community resources, and guides for developers. ### **5. Solana** [Solana](https://www.alchemy.com/solana) is one of the most popular alternative Layer-1 blockchains. Founded in 2017, it is an open-source project currently run by the Solana Foundation based in Geneva. Solana is known for pioneering the concept of proof-of-history \(PoH\), developed by its founder Anatoly Yakovenko in 2017. PoH is a proof for verifying order and passage of time between events, and it is used to encode trustless passage of time into a ledger. Solana smart contracts are written in Rust, which is appealing to developers who do not wish to learn EVM-compatible programming languages like[ Solidity](https://www.alchemy.com/overviews/solidity-smart-contract).  Currently, Solana processes 3,886 transactions per second, which is attractive to developers who [need frequent state updates](https://www.alchemy.com/overviews/choose-solana) for their dApp. As one of the world's largest blockchain networks, Solana offers developers a flexible programming environment in which developers can use familiar languages like Rust, C, and C\+\+. This makes it an attractive platform for those looking to develop high-performance decentralized applications. ### **6. StarkNet** StarkNet is a permissionless Zero-Knowledge Rollup \(ZK-Rollup\) Layer-2 scaling solution built on top of the Ethereum mainnet by StarkWare Industries. StarkNet was founded by Eli Ben-Sasson and Uri Kolodny to improve scalability and privacy using STARK technology.  [StarkNet](https://www.alchemy.com/dapps/starknet)'s ZK rollups increase the scalability of Ethereum's mainnet by “rolling up” multiple transactions into a single block, which reduces gas fees and speeds up transactions.  Smart contracts on Starknet are written in a programming language called[ Cairo](https://www.alchemy.com/dapps/cairo). This means that developers looking to use the [Starknet ecosystem](https://www.alchemy.com/dapps/ecosystem/starknet) will need to learn different developer tools but will receive Etheruem’s security, decentralization, along with scalability. However, one advantage of building on StarkNet is that all wallets use account abstraction by default. ## **Conclusion** Before developers choose a blockchain for their dapp, it’s important that they understand the ways that blockchains can differ from each other.  Remember that apps can be deployed across multiple blockchains and do not have to be restricted to a singular blockchain. That said, finding the right chain for your project can save you a ton of time, effort, and money, and be the difference between success and failure. --- # How to Choose a Blockchain Node Provider URL: https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider.md Blockchain node providers are an important part of the web3 technology stack because they are the gateway through which web3 developers access information from and send transactions to a blockchain. There are two types of blockchain node providers: [multichain node providers](https://www.alchemy.com/overviews/blockchain-node-providers) and chain-specific node providers. Multichain service providers manage nodes for multiple blockchains, whereas chain-specific service providers like this list of the [best Solana RPC providers](https://www.alchemy.com/overviews/solana-rpc), supports a single blockchain. Let’s look at the nine qualities that make a great web3 node providers, and then the steps for choosing the best option for your web3 project. ## What qualities make a great blockchain node provider? The important qualities of a great blockchain node provider include their ability to scale to meet unexpected demand, their reliability to stay online all the time, accurately reading data from the blockchain, offering support for multiple blockchains, providing access to full nodes and archive nodes, useful developer tools, custom APIs, and helpful support from sales, developer relations team members, and engineering staff. ### 1. Scalability Scalability is one of the most essential qualities of a node provider. You need to ensure that your node provider is ready to give you and your application the throughput you need to achieve high and sustained growth. If your node provider can't handle your applications throughput \(transactions per second\), or total volume, your users will have a poor experience using your application. For example, Polygon, a popular Ethereum sidechain, uses Alchemy to sustain its hyper-growth. Since Alchemy started supporting Polygon in June 2021, [Polygon has grown 95x](https://www.alchemy.com/case-study/polygon), yet Polygon has stayed as fast as ever.  Make sure that your node provider can accommodate this kind of growth.   ### 2. Blockchain node reliability You need to make sure that your node provider is reliable in keeping your application running 24/7. While some web3 developers may look for the cheapest node provider to host their application, a few minutes of downtime can cost millions of dollars in missed transaction fees or lost customers. 0x, the global backbone for decentralized exchanges \(DEX\) is powered by Alchemy because of its extreme reliability. Since they started using Alchemy, [0x has experienced 99.9% uptime](https://www.alchemy.com/case-studies/0x) for its DEX.  ### 3. Data accuracy [Data accuracy](https://www.alchemy.com/blog/data-accuracy) is a little-known problem in web3, but accounts for many of the headaches suffered by users such as not receiving NFTs as expected or not seeing payments accurately reflected in their wallet. Data accuracy issues typically originate from poor architecture and the use of traditional load balancers which route traffic in ineffective ways for blockchain's complex implementation and network coordination challenges. Ensure the node provider you decide to work with has 0 data consistency issues, a history of serving complete data, and the technical understanding to sustain this accuracy. To test data accuracy, use Alchemy's [data accuracy benchmark](https://www.alchemy.com/blog/data-accuracy/); to compare current RPC provider latency, success rates, and failed requests, use Alchemy's [RPC provider benchmarks](https://www.alchemy.com/benchmarks). ### 4. Chain support For large [apps](https://www.alchemy.com/dapps/top/defi-dapps), the best blockchain node providers support a wide variety of blockchain ecosystems. When choosing a node provider, you should consider how many different blockchains your provider supports because it simplifies your application's tech stack. Additionally, using a multichain node provider enables your dApp to scale across blockchains in the future. For example, cross-chain bridges will run on [Ethereum nodes](https://www.alchemy.com/overviews/what-is-an-ethereum-node), but they’ll also need to support the blockchains they bridge tokens to such as use Solana or Optimism. Ensure that your node provider provides the functionality of the chains you immediately need, and where you plan to expand. ### 5. Types of nodes There are three types of nodes: full, light, and [archive nodes](https://www.alchemy.com/overviews/archive-nodes), and the best node providers are able to support full nodes and archive nodes. Because archive nodes are complicated to run, but necessary for certain types of applications where historical blockchain data is important, choosing a node provider that provides free access to Archive nodes is a good quality to look for. For example, when users [sign up for Alchemy's free tier](https://alchemy.com/supernode?a=093003b15e), full archive node support is included for free, giving web3 developers full access to historical blockchain data. ### 6. Helpful developer relations team One of the most important aspects to consider when choosing a node provider is how helpful the developer relations team is. Even if they offer scalable and reliable node solutions, if it is difficult to get technical questions answered, it will be a challenge to work with. You’ll want to make sure that your node provider has clear documentation, a suite of tutorials to guide you through their product, education materials, an extensive forum where other devs share answers to common problems, and an active Discord where you can interact with devs 24/7. ### 7. Responsive support Blockchain node providers have varying degrees of customer support ranging from free Discord access to Enterprise Service Level Agreements \(SLAs\). Because web3 is global, choosing a service provider that is responsive during emergencies and has qualified engineers to support you is a must. Here are some things to look for with the support team of your node provider: - Active team members in Discord - Responsive Customer Product Engineers \(CPEs\) - Shared Slack channels - Private Telegram groups - High customer satisfaction score - Systems to escalate emergencies - Proactive monitoring to flag issues before they compound ### 8. Web3 developer tooling To create better web3 applications, developers need better tools. When evaluating a blockchain API provider, explore the supplemental tools that are available to your team to manage apps, debug errors, test smart contracts, and visualize usage. Before signing a contract, make sure your provider offers the essential tools needed to support your growing team and application needs. For example, here is a short list of web3 developer tools Alchemy's platform offers: - [Alchemy Composer](https://www.alchemy.com/composer/) - a debugging tool to reproduce JSON RPC calls - [Alchemy Build](https://www.alchemy.com/build) - a no-configuration in-house suite of dev tools to prototype, debug, and ship products faster - [Webhooks](https://www.alchemy.com/notify) - create notifications across Ethereum, Polygon, Layer 2s, and Ethereum NFTs - **Mempool visualizer** - track transactions in the mempool to identify delayed, stuck, or dropped transactions ### 9. Enhanced APIs and SDKs The best node providers will also have a [collection of enhanced APIs](https://www.alchemy.com/enhanced-apis) with which you can interact use to enhance your web3 application. For example, Alchemy offers an NFT API, Trace API, Websockets, an recently launched an SDK that simplifies interacting with the Core Ethereum API. Enhanced APIs make the jobs of web3 developers easier by abstracting the complexity out of writing raw JSON RPC requests through standardized APIs and a simplified [web3 Software Developer Kit](https://www.alchemy.com/sdk). ## How to choose the best Web3 node provider There are so many web3 node providers including multichain providers and network-specific service providers, which can make it difficult to choose the right company with confidence. In addition to the qualities to look for in a great node provider, here are some additional things to consider: 1. **Pricing** - make sure your provider meets your budget, or use their free option to test**‍** 1. Roadmap - choose a node provider who's roadmap aligns with your goals \(e.g. chain support, APIs, etc.\) 1. **User Experience** - test different node providers to determine which one is the easiest to use 1. **Centralization** - centralized providers are generally more reliable, and decentralized providers may offer more competitive pricing.  1. **Community** - because a node provider supports a lot of apps, partner with someone willing to make introductions**‍** 1. Benchmarks - determine what level of reliability, accuracy, block discovery time, and latency is acceptable**‍** 1. **Review** - talk to current customers to understand a first-hand experience of working with a node provider Choosing a node provider is a big decision for a scaling web3 startup because this underlying infrastructure is core to your customer's experience. If you want to work with the best node provider in web3, [sign up for a free account](https://www.alchemy.com/?a=093003b15e) and see how easy it is to build with Alchemy. --- # How to Choose a Crypto Payment Provider URL: https://www.alchemy.com/overviews/how-to-choose-a-crypto-payments-provider.md [Crypto payments offer many advantages](https://www.alchemy.com/overviews/benefits-of-accepting-crypto-payments) over traditional payment methods and have become a popular use case for digital currencies. Since the first crypto payment for the infamous "Bitcoin Pizza" in 2010, Web3 payment innovations such as [stablecoins](https://www.alchemy.com/dapps/top/stablecoins) and new product offerings like payment streams have made crypto a cost-effective way for businesses to accept payments. In this article, we will explore five key questions businesses should consider when evaluating crypto payment solutions for their business or project.  ## Factors to consider before choosing a crypto payment provider As we delve into the world of crypto payments, it's crucial to understand the factors that should be considered before choosing a crypto payment provider. This section will guide you through the key considerations, helping you make an informed decision for your business or project. From understanding the payment model of your product or service to evaluating the user experience of crypto payments, we'll explore the essential questions that will shape your choice of a crypto payment provider. ### **1. What is the payment model for your product or service?** When evaluating crypto payment solutions, it’s important to consider the payment model of your product or service. Businesses that use subscription-based payment models should be evaluated separately from those that use one-off payments, as this will determine the type of crypto payment solution that is most suitable. Additional questions to consider include: 1. Do customers pay you one-time or on a recurring basis? 1. Are you selling a subscription? 1. How is the subscription amount calculated each month? 1. Are subscriptions a flat amount, or does it change with usage? If you’re a merchant selling an item that requires a one-time, upfront payment, there are several solid options available for crypto payment solutions, such as: - [Stripe](https://www.alchemy.com/dapps/stripe-crypto-onramp) - [Coinbase Commerce](https://www.alchemy.com/dapps/coinbase) - [Crypto.com](https://www.alchemy.com/dapps/crypto-dot-com) - [BitPay](https://www.alchemy.com/dapps/bitpay) These institutional players offer a checkout page similar to what you would expect from Web2. They also help your business set up a wallet, allowing customers to select a token and amount to send to that wallet. Typically, customers will be restricted to paying with the most popular tokens and stablecoins, such as Bitcoin, ETH, USDC, and USDT. However, these solutions may fall short if your business has a subscription-based payment model. For example, if you’re charging a monthly subscription and using Coinbase Commerce, your customer would need to return to the Coinbase Commerce site each month and manually initiate another transaction. This can be a laborious process that leads to high levels of customer churn. Fortunately, a handful of smaller firms are tackling [on-chain recurring payments](https://www.loopcrypto.xyz/) and offering a crypto autopay capability. This allows customers to sign one transaction and then have funds automatically pulled from their wallet at a set time, similar to setting up autopay with a credit card. It’s important to note that not all crypto autopay solutions are created equal. As you evaluate these solutions, it’s important to consider their capabilities and features to ensure they meet the needs of your business. As you look into these solutions, it is important to understand how they handle: - Variable rate pricing models - Charging based on usage - Number of users - Metrics that change month to month ### **2. Is the crypto payments user experience simple and trustworthy?** One of the most significant barriers to adopting crypto payments has been the complexity of the user experience. While most [crypto payment solutions](https://www.alchemy.com/dapps/best/web3-payment-tools) still require a certain level of crypto knowledge and familiarity, the actual checkout process should be similar to traditional payment methods. Many of the solutions mentioned earlier provide a custom-branded checkout page as a standard feature. It’s important to evaluate these checkout pages to determine: - The number of clicks or fields required before the user can complete the payment. - The type of helper text provided to explain to the customer what is happening. While you don’t want a solution that overwhelms the customer with technical details, most users making crypto payments will have some Web3 knowledge and will want to understand where they are sending their funds and whether they are interacting with a smart contract. The best solutions offer transparency to the end user, provide links to dashboards, and offer visibility into block explorers to foster trust. Another aspect of user experience is the network supported by the payment solution. While it might seem logical to use Ethereum as a payment network due to its widespread adoption, the gas fees could negate most of the cost-saving benefits of using crypto. Instead, Layer 2 blockchains like [Optimism](https://www.alchemy.com/list-of/web3-payment-tools-on-optimism) and [Arbitrum](https://www.alchemy.com/list-of/web3-payment-tools-on-arbitrum) or sidechains like [Polygon](https://www.alchemy.com/list-of/web3-payment-tools-on-polygon) might be more cost-effective. It’s important to understand what networks your customers are already using and ensure that your crypto payment solution can support them. ### **3. In what tokens do you want to accept crypto payments?** When using an institutional payment provider, it’s important to note that this may limit the number of tokens your customers can use to pay you. Currently, stablecoins are one of the most popular tokens chosen for paying for goods and services. This is because the price of a stablecoin remains stable, unlike more volatile tokens such as BTC and ETH. A crypto payment provider that offers the most popular stablecoins and the largest market cap cryptocurrencies is likely sufficient for most businesses. However, it’s important to research more crypto-native solutions that support a wider range of ERC-20 tokens for businesses looking to offer a more diverse range of tokens. This is particularly relevant for [DAOs](https://www.alchemy.com/dapps/top/daos) and other crypto-native projects that want to facilitate an ecosystem for their native token.  **When being paid in crypto, businesses need to consider the end token they ultimately want to hold** For example, you may be open to being paid in a native token like BTC but then desire to immediately swap into a stablecoin like USDC to limit currency risk. You may also want to swap from crypto to fiat immediately after being paid, so it is critical to understand if your payment provider has off-ramp capabilities. As you evaluate potential crypto payment providers, assess their capabilities in swapping tokens to ensure your payment processing aligns with your balance sheet strategy. ### **4. Does the crypto payments solution offer dunning flow automation?** A “dunning flow” is an accounting term for requesting payment from a customer who owes money to a business. This typically involves sending invoices, payment reminders, and late notices to customers. While this may seem straightforward, businesses often spend significant time on payment collection activities. In Web2 payments, many aspects of the dunning process have been automated through notifications and email automation. However, automated dunning is not yet a standard feature in the crypto world. When choosing a crypto payments provider for your business, it’s important to research how the Web3 payments solution handles reminders and late payment notifications. This can save you hours of follow-up work and help ensure your customers pay you on time each month. By carefully considering the dunning capabilities of your crypto payments provider, you can streamline your payment collection process and improve your overall experience with crypto payments. ### **5. How does the crypto payment solution integrate with your financial back-office?** One final consideration is how crypto payments fit into the rest of your financial back-office stack. If you are being paid in both crypto and fiat, you will want to understand how your crypto solution integrates with your accounting and client-tracking tools. For example, if you’re a subscription-based business, you may use a solution like **Chargebee** or **Maxio** to manage which subscribers have paid and should get access to your product. A crypto payment tool that integrates with these services can simplify payment reconciliation and save you time and effort. Many crypto payment solutions are beginning to build integrations with other financial tools. As a client, you can influence which integrations are prioritized and work with providers to ensure that your business’s needs are met.  ## Start accepting crypto payments One-time and subscription payments are a popular business use case for digital currencies such as Bitcoin, Ether, and stablecoins. If your business wants to accept crypto payments online, in-store, or on mobile, ask these five important questions to properly evaluate the best provider for your needs. --- # How to Create a Successful NFT Project URL: https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project.md ## How to create a successful NFT project The time has come to make your own NFT project. You’ve been hearing more about NFTs like CryptoPunks and Bored Ape Yacht Club. You have your own idea for a community and the artwork, and are ready to launch.. Success can’t be guaranteed, but there are things you can do to improve your chances of creating something valuable.  We’ll walk through a number of different factors to consider  , in order to improve your chances of success when you launch. There’s something here for all audiences, regardless of whether you’re new to Web3 or have been full-time NFT degen’ing since the good ol’ days. ### History The NFT boom began with NFTs on the Ethereum blockchain. There are many [NFT projects to learn about](https://www.alchemy.com/nfts). This boom began with [CryptoKitties](https://www.alchemy.com/dapps/cryptokitties), a blockchain-based game developed by [Dapper Labs](https://www.alchemy.com/dapps/dapper-labs) and released in November of 2017.  Each CryptoKitty in the game is an NFT. The game became wildly popular. At one point, about a quarter of Ethereum’s traffic could be attributed to CryptoKitties. Though this fervor didn’t last, it raised awareness of NFTs and their potential applications. In late 2020, the number of sales of CryptoPunks, also built on the Ethereum blockchain increased. CryptoPunks pre-date CryptoKitties and are the project that inspired the ERC-721 standard, the protocol that all modern NFTs on Ethereum conform to.  Initially given away for free in June of 2017, CryptoPunks NFTssold for ~$6,000 each in late 2020. This price tag steeply increasedthroughout 2021, with an average cost of  ~$12,000 in January of 2021. In August of 2021, CryptoPunk peaked at ~$260,000. Many think this CryptoPunk run-up kicked off the mania surrounding NFTs in 2021. ### Principles There are a few high-level considerations to suss out, when setting out to plan an NFT launch. One such consideration is your blockchain of choice: which blockchain will your NFTs live on? Here are some questions you may want to ask yourself before deciding:: - What are the chain’s underlying principles? - How popular is this chain’s NFT ecosystem? - How much and what kinds of support are there for this chain’s NFT ecosystem? One principle at the heart of a blockchain is its degree of centralization. For example, Ethereum is regarded as one of the most decentralized blockchains, whereas [Binance](https://www.alchemy.com/dapps/binance) Smart Chain is entirely centralized. Centralization is a spectrum and its importance is subjective.  The practical implications manifest in transaction costs and time to finality for transactions. In general, the more decentralized a blockchain is, the more expensive a transaction will cost and the longer it will take for a transaction to be finalized.  The experience of minting an NFT on a more decentralized blockchain is quite different from that on a centralized chain. For example, Ethereum is slow and expensive, compared to other blockchains. Transaction fees can reach upwards of 0.05 Ether, which at the time of writing is ~$150. Compared to alternative layer one chains, this transaction fee is astronomical. For example, a transaction fee on Solana is about one fortieth of a penny at the time of writing. For those that aren't keeping score, that's roughly 600,000 times cheaper than Ethereum transactions.  Despite these tradeoffs, putting your project on a maximally decentralized chain might be worth it! The most obvious benefit of decentralized chains is their censorship resistance.  Since NFTs inherit the security benefits of the chain they live on, more decentralized chains provide a higher degree of certainty to NFT holders that their assets will remain within their possession. That’s not to say blockchains processing more transactions per second and offering cheaper transaction fees are without flaws. Cheap transaction fees, even when popular projects are minting, renders projects more susceptible to bots buying larger portions of the collection. High transaction fees can act as a deterrent for those that would otherwise wire up a bot to buy out a collection. Another cornerstone principle is a chain's consensus mechanism. A blockchain is supported by many different computers. These computers need a way to agree on the state of the blockchain, in order to maintain the integrity and security of the chain. A consensus mechanism defines how these computers reach agreements. A chain’s consensus mechanism will not directly impact your NFT project’s launch. But, if you’re set on being personally aligned with the ethos of a chain, it’s a good idea to understand the implications of different consensus mechanisms.  The two most common consensus mechanisms are proof of work and proof of stake. Those who use proof of work have shown that it works at scale. But proof of work also incurs a considerable amount of operational cost relative to other consensus mechanisms like proof of stake.  Both Bitcoin and Ethereum use proof of work, though Ethereum is set to upgrade its consensus mechanism to proof of stake in the near future. Proof of stake is more scalable than proof of work and, as mentioned, has a smaller environmental footprint than proof of work. Others consensus mechanisms include - delegated proof of stake - proof of history - proof of space-time - proof of authority Again, the consensus mechanism of the chain you launch your NFT project on will not directly impact the success of your project. Rather, it’s an aspect to be aware of, if you feel strongly about being aligned with the ethos of the chain your project is launched on. If nothing else, learning about these different consensus mechanisms is an interesting way to learn about different blockchains and their tradeoffs. ## What are some popular and supportive ecosystems? Some NFT ecosystems are more popular than others. As one might imagine, more popular NFT ecosystems have a larger pool of potential buyers and drive more sales volume than less popular ecosystems.  It’s easier to build an enthusiastic community in an ecosystem with more participants. This is one reason many projects choose to launch on Ethereum, despite the higher transaction fees. A project’s community can have a lot of influence over the project’s long-term success and secondary sale. They’ll include some of your biggest fans.  Unsurprisingly, more popular NFT ecosystems tend to have more support in place for NFT projects. It’s a good idea to build where there’s support in place to help your project be successful.  Support comes in a number of different flavors. In some circumstances, it’s demonstrated through the organization building the chain. Some chains are designed with NFTs in mind, which can make your life easier as a creator. A final aspect to consider are the marketplaces that support a given chain. NFT marketplaces tend to cater to one or a handful of chains. For example, the popular [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) [OpenSea](https://www.alchemy.com/dapps/opensea) only supports NFTs on Ethereum and Polygon.  Marketplace infrastructure tends to be more mature in ecosystems where there are more people spending money on NFTs. You’ll want to explore the user experiences on the marketplaces that support the chain you're considering launching on and [select a development platform](https://www.alchemy.com/nft-api) carefully. ### Learn about popular NFT ecosystems The best way to move forward is to learn about some of the popular NFT ecosystems. These include:  - Ethereum - Polygon - Solana - Flow - WAX - Tezos By no means is this an exhaustive list of all NFT ecosystems, though each of these blockchains have rich NFT ecosystems. The best way to form your own opinion is to start digging into the underlying principles and ecosystems of each chain. At the end of the day, many people launching NFT projects care about the cost to the end-user. Ethereum transactions fees cost thousands of times more than those on the other chains listed above. So, it’s common for those considering which chain to launch on to take a stance on Ethereum, since the tradeoffs between Ethereum and non-Ethereum chains are so large. ## What roles does a successful NFT project need? Well-designed NFTs are required but not sufficient for a successful project launch. You’re going to need more than artistic talent to pull this off. NFT projects usually have a team of individuals working behind the scenes to piece together the different aspects that go into a successful launch. Here’s what an NFT project’s team might look like: - an artist - a software engineer, maybe two - a Discord moderator - a social media manager ### An artist This is the person that’s creating the art featured in the project’s NFTs. Artistic mediums for NFTs vary widely because almost anything can be tokenized. At the time of writing, most NFT projects are a collection of images. Of these, most are generative; the images are composed of a predetermined set of different layers. Generative collections achieve a number of things. One factor driving the popularity of generative collections is the reduced cost of time to create an NFT collection of thousands of unique images. It’s far easier to compose a known set of image layers to generate thousands of images than it is to create thousands of unique images. ### Software engineers Software engineering skills are necessary to launch an NFT project. For one, you’ll want to have a website or blog to host information about the project. This is where you can outline the project’s origin story, list the members of the team, describe future plans, and allow people to mint NFTs from your project.  In addition to a website, you’ll need a smart contract. Smart contracts are programs that live and run on blockchains. They’re important because they transfer and verify ownership of an NFT.  You could use a third party, like OpenSea, to create an NFT project without coding up your own smart contract. However, this comes at a cost: you lose flexibility.  The most successful projects launch their own smart contracts. Not only does it allow you to extend your NFTs in unique ways, but it sends a signal to potential buyers that the team behind the project understands the NFT ecosystem. ### A Discord moderator Almost every NFT project has a Discord community. Projects without one will be categorized as scams. NFTs are inherently social because they solve the cold start problem–typical of Web2 networks and communities–by offering a financial incentive to all holders.  By default, all holders of an NFT project want the value of the project’s NFTs to increase. This is a large reason why community is such an important aspect to NFT projects. So, you’ll need to have a Discord where members of your project’s community can congregate. Depending on how popular your project becomes, you may have anywhere from a few hundred to 100,000 members in your Discord. You’ll need at least one person in the Discord who can hold down the fort–your Discord moderator. ### A social media manager Finally, you’ll want to rope in someone who has what it takes to manage your project’s Twitter account. Similar to Discord, Twitter is a core platform that your project needs a presence on.  Crypto Twitter \(CT\) has become the water cooler for all things Web3. Having a Twitter presence adds legitimacy and decreases social friction for members of your community who are willing and eager to evangelize your project. Since a Twitter account is a must-have for your project, someone will need to manage this account. Managing an NFT project’s Twitter account is like managing any other brand’s Twitter account. You’ll need to engage with members of the community. Twitter Spaces is popular within Web3 communities on Twitter, and project owners use it as both a marketing and educational tool. Hosting a Twitter Space with influencers can help bring more eyes to what you’re creating.‍ ## Create your distribution strategy Decide on a distribution strategy as soon as you start planning out your project.  Coming to a decision early on in your project’s timeline will make it easier to express a cohesive narrative to potential buyers. It’s important to note that different strategies have varying technical requirements. The software engineers you’ve recruited will thank you for investing upfront time to make this decision. Last-minute changes to your project’s distribution strategy may result in having to delay your project’s launch, due to technical considerations. Delays in project timelines are forgivable but not optimal. Typical distribution strategies include - stealth drops - dutch auctions - public minting - whitelist and then public minting ### Stealth drops A project is said to have had a stealth drop if the minting contract was revealed after minting had become available. This is one way to protect against bots. People that use bots won’t be able to configure them to buy out large portions of a project, if the contract address is unknown.  NFT creators can also use stealth drops to benefit members of a community that are extremely active. It’s likely these supporters will be at the ready with their wallets when it’s discovered minting is live. ### Dutch auctions Dutch auctions can be thought of as the inverse of an English auction, the kind that comes to mind for many when they hear the word, “auction”. Rather than starting at a floor-priced bid and working its way up in value, Dutch auctions begin at a ceiling price and lower prices at known frequencies.  For example, an NFT project may begin minting at 5 ETH and decrease this price by 0.25 ETH every 10 minutes. Dutch auctions are typically used for NFT projects that are in high demand. ### Public minting This is the distribution strategy that’s arguably the most intuitive. A project advertises when minting will begin, the price of a mint, and usually the website where one will be able to mint from. Depending on the popularity of your project and the chain your project is on, there’s a chance that transaction fees will rise dramatically for buyers.  For example, popular NFT projects on Ethereum may cause transaction fees to spike for all users of the blockchain, albeit for only a few minutes. However, popular projects can sell out within these few minutes when transaction fees are increased. If your project is on a chain with cheaper transaction fees, like Solana or Avalanche, this shouldn’t be an issue. ### Whitelist minting, then public minting This strategy is exactly what it sounds like; a group of wallet addresses are whitelisted and thus able to mint from a project before minting goes public. Typically, the price to mint when whitelisted is lower than it is for the public.  There’s a clear financial incentive to get whitelisted for a project, as one can mint for a cheaper price than most others. This puts whitelisted minters in a position where they can confidently make a profit, or at least not lose money. Be aware that it’s increasingly common for people to try to get whitelisted for as many projects as possible. This is because one benefit of whitelisting is access to NFTs at a cheaper price, and if buyers can purchase an NFT lower than the  public mint price, this can often yield a profit. These dynamics have increased the incentive to get on as many whitelists as possible, also known as, “grinding whitelists”.  Introducing ill-conceived whitelist criteria can dilute your project’s community with those looking to quickly flip your project’s NFTs for a profit. Flippers are mercenaries, and while there’s nothing wrong with mercenaries, too many can lead to a quickly declining floor price. Since an NFT project’s floor price is a proxy for the project’s success, it’s worthwhile to ensure your project’s whitelist criteria tend to benefit loyal members of your community. ## Conclusion It can be difficult to know where to begin when you’re just beginning to plan your NFT project. Only so much can be gathered by reading about how to make your project successful. The best way to learn is by participating in NFT culture. Follow NFT influencers on Twitter. Drop in on Twitter Spaces hosted by Crypto Twitter talking heads. Find NFT projects you like and mint some NFTs. Purchasing an NFT will motivate you to learn about the project. You’ll learn far more about what makes successful NFT projects a success by engaging with NFT communities. This is a guide on how to create a successful NFT launch, rather than a recipe for guaranteed success. The experience you gain from engaging with NFT communities will do far more to positively affect the success of your project. --- # How to evaluate dedicated blockchain infrastructure providers URL: https://www.alchemy.com/overviews/how-to-evaluate-dedicated-blockchain-infrastructure.md Choosing a dedicated blockchain infrastructure provider is a decision that can have a lasting impact for years. Most of the criteria that matter do not show up in a sales demo. They show up after you are deployed in production and at scale. The provider that looks cheapest per month can cost you the most in downtime, stale data, and engineering time. This guide lays out the questions worth asking before you commit, in the order they actually matter. Use it as a checklist against any provider so you can deploy and scale reliably. ## Start with consistency, not speed Every provider will quote you a latency number. Far fewer will tell you what happens when their nodes disagree with each other. The failure that hurts most in production is not slowness. It is a node that has fallen behind the chain tip and is serving stale data confidently. Ask how a provider keeps reads consistent across redundant nodes, and what guarantees they make that a read reflects the current state of the chain. A provider that runs [redundant](/overviews/how-dedicated-blockchain-infrastructure-works) nodes behind a consistency layer is solving a problem a single fast node does not. What to ask: How do you keep reads consistent across nodes? What happens to my requests when one node falls behind? ## Uptime, and the proof behind it Everyone claims high uptime. The useful question is what the number is measured against and whether it held during a real stress event. Ask for a specific uptime figure, how it is measured, and how the provider performed during a recent high-traffic moment such as a major liquidation or a network upgrade. Performance during the calm is table stakes. Performance during the spike is the actual product. What to ask: What is your [measured uptime](/benchmarks), and how did you perform during the last major network stress event? ## Isolation and compliance If you are a regulated or financial team, single-tenant isolation is often the reason you are looking at dedicated infrastructure at all. Ask whether the infrastructure is genuinely single-tenant, what [compliance](https://trust.alchemy.com/) attestations exist (SOC 2 Type II is the common bar), and whether your workload is isolated from other customers' traffic. Shared infrastructure with a dedicated label is not the same as real isolation. What to ask: Is this single-tenant? What compliance attestations do you hold? ## Regional placement For latency-sensitive workloads, where the infrastructure physically sits changes your numbers more than almost any other factor. Ask which regions a provider can deploy in, whether they can place a cluster close to your users or your existing stack, and how latency changes across those regions. A provider locked to one region is a poor fit for a global or latency-sensitive application. What to ask: Which [regions](/benchmarks) can you deploy in, and can you place infrastructure close to my stack? ## Flexibility: custom execution and hardware The reason many teams self-host is control: custom tracers, custom binaries, hardware sized to their workload. A [dedicated provider](/blog/introducing-dedicated-clusters) worth considering lets you keep that. Ask whether you can run custom tracers or binaries, whether hardware is sized to your workload or squeezed into fixed tiers, and whether heavy archive and trace workloads are throttled. If moving to a provider means giving up the control you self-hosted for, it is not a real alternative. What to ask: Can I run custom tracers and binaries? Is hardware sized to my workload? ## Support and migration path The best infrastructure is worthless if getting onto it is a project. Ask how migration works, whether you can run in parallel with your current setup before cutting over, and what failover exists if the dedicated capacity has a problem. What to ask: How does migration work, and what is the fallback if dedicated capacity fails? ## A quick evaluation checklist - Consistency: How are reads kept current across nodes? Stale data is the most common production failure. - Uptime: Measured uptime and behavior under stress? The spike is the real test, not the calm. - Isolation: Single-tenant? SOC 2 Type II? Often the whole reason to go dedicated. - Region: Which regions, how close to my stack? Largest single factor in latency. - Flexibility: Custom tracers, binaries, sized hardware? Keeps the control you self-hosted for. - Support: Migration path and failover? A hard migration erases the benefit. Our [Dedicated Clusters](/dedicated-clusters) are built around several of these criteria: single-tenant isolation, block-perfect consistency, custom execution, and automatic failover to a shared fleet. The right way to use this guide is to hold every provider, including us, against the same questions. ## Get started If you are evaluating dedicated infrastructure, start with this checklist, then compare against [Node RPC vs. Dedicated Clusters](/overviews/dedicated-vs-shared-nodes). When you are ready to talk through fit for your workload, [reach out to our team](/contact-sales-dedicated-clusters). ## Frequently asked questions ### What should I look for in a dedicated blockchain infrastructure provider? In order of impact: read consistency across nodes, proven uptime under stress, genuine single-tenant isolation and compliance, regional placement near your users, flexibility for custom execution and hardware, and a low-risk migration path with failover. ### What makes a high performance RPC node provider? Consistent reads across redundant nodes, low regional latency measured where your users are, low error rates under load, and headroom that holds during traffic spikes rather than only in normal conditions. ### How do I know an RPC node provider is reliable? Ask for a measured uptime figure and how it was calculated, evidence of performance during a recent network stress event, and what redundancy and failover sit behind the endpoint. ### Is dedicated infrastructure always better than shared? No. If your workload runs comfortably on an elastic shared plan, that is usually the better and more economical choice. Dedicated is worth it for specific, durable reasons: custom execution, single-tenant isolation, a region you cannot otherwise reach, or sustained volume. --- # How to Launch a Dapp on Alchemy URL: https://www.alchemy.com/overviews/how-to-launch-a-dapp-on-alchemy.md The process of launching your dApp is just as important as the development stage. There are many aspects to launching a dApp, including testing, ensuring you have the right infrastructure, and building a community around it. If you can nail all of these components down, then you will attract many users. ## **How to prepare before launching a dapp** Before you launch your app, you want to make sure that your infrastructure can handle the amount of users that will start using your app. This can make or break your launch - it is always better to be on the safe side with ensuring your dApp is scalable. It is important to make sure you are using a solid node deployment platform to ensure this stability. Alchemy is a leading node deployment platform - other alternatives include [QuickNode](https://www.alchemy.com/dapps/quicknode), Chainstack, or Infura. ‍ If you do use Alchemy to deploy your dApp, then you can take advantage of several initiatives that will ensure your scalability and also help make your dApp more visible. ### **1. Testnets** Before you launch your app, you should deploy it on a testnet first to make sure it is working as expected. [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) is the biggest Ethereum testnet for dApp developers, while Mumbai is the testnet for developing on Polygon. Alchemy offers testnet nodes to test your app in minutes. To quickly test out Ethereum JSON RPC queries without having to sign up with any provider, you can also use the [Ethereum composer](https://composer.alchemy.com/). ### **2. Alchemy faucets** When testing your dApp on Sepolia, you will need Sepolia ETH in order to fund transactions within your dApp. You should use a [faucet](https://www.alchemy.com/faucets) to get free Sepolia ETH to test your app. ### **3. Badge program** Alchemy’s Badge program can also easily give your app more throughput and scalability. If you put Alchemy’s badge on your website, you can earn thousands of dollars in Alchemy compute units and throughput. This also allows you to establish your reputation by associating your dApp with a larger brand. ### **4. Amplify** Finally, if you are a bit more established with an online presence, then the [Amplify program](https://www.alchemy.com/amplify) will help you accelerate your growth 10x. [apps](https://www.alchemy.com/dapps/top/defi-dapps) that are accepted into Amplify are promoted across Alchemy’s socials and newsletter, and get 24/7 mentorship from the Alchemy team. You can apply for Amplify at any time, and once your dApp launches on the store it will be promoted. #### **Avoid rate limits** Still worried about your dApp’s ability to handle a large number of requests? Alchemy’s [Growth tier](https://www.alchemy.com/pricing) will give you more resources and allow you to auto-scale without a cap. If you have any questions or concerns about your launch, contact us at [support@alchemy.com](mailto:support@alchemy.com). ### **5. Run smart contract tests** In Web3, the importance of testing is ten times greater than it is in web2. It is extremely important to test any smart contracts you use in your apps before launching through unit testing and manual test cases. There are many [smart contract testing tools](https://www.alchemy.com/dapps?sub-category=Web3+Testing+Tools&category=Web3+Security+Tools) you can use to do this. If you also need monitoring tools for Ethereum in general, then you can use our [custom webhooks](https://www.alchemy.com/custom-webhooks) to get this information within seconds. ### **6. Complete smart contract audits** You should also consider auditing your smart contracts for security flaws, especially as smart contracts are immutable. These audits will ensure your smart contracts are both bug-free and well-designed to make sure they are as secure as possible. The dApp store has [smart contract auditing tools](https://www.alchemy.com/dapps?sub-category=Blockchain+Auditing+Companies&category=Web3+Security+Tools) to help you do this. ## **Launching and Distribution** Once you have finished and deployed your dApp, you now need to get it in the hands of customers. Although often overlooked, the distribution of your dApp is just as important as the development - after all, if nobody uses your dApp, then the development was for naught.  ### **1. Launch on the Alchemy dapp store** Now, time to launch! Firstly, you should decide on a time for your dApp to go live that you will advertise on your socials. There isn’t a perfect time to launch, and you should only do so when you’re ready. Launching during the beginning of the week tends to get a bit [more traction](https://fiveechelon.com/determining-the-right-timing-for-a-product-launch/#:~:text=Some%20studies%20suggest%20that%20Tuesday,the%20arrival%20of%20the%20weekend.) as employees are more engaged, although you should always make sure your product is ready beforehand. Furthermore, you should have a landing page ready on your website that presents a clear call to action for users that visit. You don’t want new visitors to be bogged down in information - they need to see the important information about your dApp distilled into a few key points that are just enough to make them want to try it. After announcing your launch and building your landing page, you should register your app on dApp stores to get as much visibility as possible. The largest dApp store is the [Alchemy Dapp store](https://www.alchemy.com/dapps). Posting your dApp there is a great way to give your app reach, and allows you to continue establishing an online presence for free. To upload your dApp to the Alchemy Dapp Store, you should first make sure it follows the[ Dapp store guidelines](https://www.notion.so/alchemotion/Dapp-Store-Submission-Guidelines-ea65baddd8ca4ba29841b16ebccef8aa). In general, if your dApp is professional and has some level of usage then it will typically be accepted.  ### **2. Market your dapp on social media** The best way to distribute your dApp is to use social media and build a community around your product. dApp users tend to be most active on Twitter, Discord, and Telegram, and so having active accounts on these platforms is a must. If you can build active communities on these platforms, then you will have a better chance at a successful launch, and you will also signal to customers that you have a trustworthy brand. A good way of establishing a community for your dApp is by already being active in other related web3 communities. Once you have contributed in adjacent communities and built a personal network, you can then leverage this to market your dApp. Remember: web3 is all about community, and you will get back what you put into the space. Building a strong reputation and adding value to web3 communities will allow you to market your dApp better when the time is right. One example of a dApp that built a strong community before launching is Axie Infinity. It launched in early 2018  and advertised itself as a way of earning money in a fun way. By branding itself in this way and building a community of people who liked the idea of playing to earn - and knowing their target customer - they quickly grew into one of the biggest games on Ethereum. The founders were also already active with Cryptokitties, and thus understood the web3 gaming space and had more leverage in building their community as a result. Some other good ways of building your dApp community is by going to web3 hackathons and conferences, and frequenting places or forums where your target audience lies. When [Uniswap](https://www.alchemy.com/dapps/uniswap) just started, the founder [did a great job](https://blog.uniswap.org/uniswap-history) of integrating tightly with the Ethereum community and building on top of Vitalik’s previous ideas. Uniswap eventually received a $100,000 grant from Ethereum foundation, spearheading their growth over the following years. Finally, try to attach your name to larger brands in adjacent spaces for more visibility. For instance, getting into Alchemy’s Amplify program will attach your dApp name to Alchemy. Always try to look for ways you can add value for larger brands in return for more visibility for your dApp. Keep in mind that the marketing and community-building for your app should start long before you launch. ## **How to Scale a Dapp After Launch** When launching a dApp, it is difficult to monitor and/or predict the usage it will have in order to know exactly how many developer resources you need. Thus, it’s important to make sure you have as many compute units as possible beforehand to ensure a smooth launch for your users. ### **1. $25 million WAGBI developer grant** Alchemy recently launched a $25M grant program called [WAGBI](https://www.alchemy.com/developer-grant-program) to encourage new developers to build in web3. If you are accepted into WAGBI, you’re eligible to earn up to $50,000 in Alchemy compute units in addition to the visibility this will give your dApp. This is an easy way of scaling your dApp further from nothing \(and for free!\). You can apply for this at any time, even after you have launched your dApp. ### **2. Confirm autoscale is enabled** If deploying on Alchemy, [the plan you choose](https://discord.com/invite/alchemyplatform) will determine how many users you can support on your dApp. Thus, if you anticipate a lot of usage beforehand, then you should sign up for Alchemy’s growth plan. This will allow you to autoscale your usage to ensure your dApp launches smoothly. If you are concerned about your apps’ launch, then you should also speak to sales about our enterprise plan. Write 2-3 sentences about how the user’s plan will determine how much volume they can support. So encourage them to sign up to growth, talk to sales about autoscale / enterprise. ### **3. Technical support** You should also be prepared to handle technical difficulties as they arise during your dApp launch. If you have issues with deploying your app, then reach out to our support [via our Discord](https://discord.com/invite/alchemyplatform). If you have mission-critical issues and are on a Growth plan or above, then reach out to us to get access to a 24 hour private Telegram or Slack channel for dedicated support.  Finally, we have a chatbot called ChatWeb3 to answer any questions you may have during the process of [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development). ### **4. Monitoring infrastructure** After launching your dApp and posting it on various dApp stores, you should closely monitor the usage of your dApp to make sure that you are able to handle the number of users. You may need to get more compute units through your infrastructure provider to handle the traffic to your dApp. Be very careful about this - inadequate infrastructure can kill a launch quicker than it started. [Alchemy Monitor](https://www.alchemy.com/monitor) and Alchemy Build are tools that will also help you monitor your launch and fix bugs quickly. ### **5. Launch retrospective** If you felt as though your launch was successful, then congratulations! On the flipside, if you don’t have as many users as you were expecting, then that’s OK. In either case, you should think about the following questions to evaluate whether your dApp can succeed long-term: - How are customers responding to your dApp? Does it fill a truly important need for them? - Who are the customers using your dApp the most?  - Do you see your customer-base expanding, or does it only fill a need for a niche set of customers? - What are the challenges you may face when scaling your dApp up? - If you were planning on monetizing your dApp, then do you have a clear path to doing this? You will get the answers to these questions by speaking with customers and being tightly integrated with your community. Once again, the success of your dApp will depend on how good you are at building your community.  If you reached the end of this guide, then you now have everything you need to successfully launch your dApp. Good luck, and we can’t wait to see the dApp you create! ‍ --- # How to Learn Web3 Development in 10 Steps (2023) URL: https://www.alchemy.com/overviews/how-to-learn-web3-development.md Web3 developer salaries are famously high in the blockchain industry, which makes learning web3 development a goal of many new and seasoned web2 developers. According to Web3 Careers, Solidity developers earn up to $400,000 a year, and with remote-first work on globally distributed teams normal for many web3 startups, building in web3 is an attractive career choice for many developers.  With so much excitement about blockchain technology and investments into web3 companies, developers are left asking how to learn web3 development and how to start working in the web3 industry. Because web3 is a young vertical with rapidly changing technologies, [becoming a blockchain developer](https://www.alchemy.com/overviews/become-a-blockchain-developer) can be challenging for people just starting their web3 journey. In this article, we'll give you a 10-step guide to learning web3 development from following the best builders in crypto to learning through guided tutorials. ## Step 1: follow Web3 devs on Twitter Learning web3 development starts by finding experienced blockchain devs to learn what they are reading, the tools they are building with, and the types of projects they are developing. Because Twitter is where crypto influencers share a lot of updates about their work, one of the best ways to learn is to [follow web3 developers on Twitter](https://www.alchemy.com/overviews/best-web3-developers-on-twitter).  Some of our favorite crypto Twitter \(CT\) influencers for learning web3 include:**‍** - **@VitalikButerin** - Co-founder of Ethereum - **@aeyakovenko** - Co-founder of Solana - **@TimBeiko** - core Ethereum developer leading many Ethereum updates  Tools like TweetDeck or RSS can help you follow multiple feeds at once, and Twitter Lists are another way to organize the people you follow into different categories like Ethereum development, Solana development, or niche like DeFi and NFTs.  We recommend searching by the niche you're interested in to find the best people to follow, and then looking at who they follow, retweet, and like tweets from to find additional relevant people in your desired niche. ## Step 2: subscribe to Web3 devs on YouTube In addition to Twitter, there's a growing number of [web3 developers on YouTube](https://www.alchemy.com/overviews/best-youtube-channels-for-web3-developers). YouTube is an effective platform to visually demonstrate coding projects and to provide in-depth explanations of key concepts. Here are some of our favorites: 1. **Web3 Foundation** - official Web3 Foundation channel with tons of helpful content 1. **Bankless** - beginner-friendly uploads on NFTs, Ethereum, Bitcoin, DeFi, and more 1. **Alchemy** - [Alchemy’s YouTube channel](https://youtube.com/c/AlchemyPlatform) shows you how to build a staking application, how to verify a smart contract, and more video tutorials 1. **Hashlips NFT** - Hashlips is a popular NFT collection, but they also offer helpful educational videos, including on how to create your very own NFT collection 1. **Patrick Collins** - developer advocate Patrick Collins discusses smart contracts, blockchain, DeFi, Fintech, and programming languages 1. **Nader Dabit** - Nader offers highly technical videos for those looking to go a level deeper 1. **Smart Contract Programmer** - tens of thousands of budding developers turn to Smart Contract Programmer’s 200\+ videos on Solidity 0.8 and Viper 0.8. Visual learners will find these web3 YouTubers to be a great resource for improving their skills because of the topics they cover, how clearly they communicate challenging topics for beginners, and the tips to share to speed up the web3 learning process. ## Step 3: sign up for Web3 developer newsletters Finding the best resources for learning web3 development is a time consuming task that is solved by subscribing to [crypto newsletters](https://www.alchemy.com/overviews/best-newsletters-for-web3-developers) that aggregate news, web3 tools, and updates for developers. Some of our favorite curated news feeds for learning about web3 development include: - **The Block Crypto** - daily news roundup by market analysis website The Block - **EthHub Weekly** - weekly newsletter about Ethereum with insights from devs - **Week in Ethereum** - learn about The Merge, node upgrades, EIPs, and more - **The Daily Ape** - Telegram newsletter with threads, deep dives, and more This list is just a starting point for developers who want to stay up-to-date on the latest in web3 development, and there are many other useful newsletters out there. ## Step 4: join a Web3 Discord server Discord is a chat app popular among gamers, but it's also a place to find web3 development communities. Most Web3 projects feature their Discord profile links on their landing pages and social media accounts.  For instance, the Ethereum Discord server has over 30,000 members, and the [Alchemy Discord server](https://discord.com/invite/frSF7J8Ktw) has channels on general development, NFT development, feature requests, and more, with over 42,000 members. In addition to project-specific servers, there are also general Discord servers for learning web3 development like **Buildspace** and **CryptoDevHub**. Buildspace for example boasts over 130,000 members! Web3 dev servers are perfect places to ask questions, find collaborators, or just chat with other like-minded individuals about improving web3 development skills. Many of these servers also have channels for \#jobs, \#events, and \#resources, which can be a good way to find new opportunities or learning resources. Contributing to a Web3 project's Discord, such as by answering users' questions, is also a great way to get involved and start building your portfolio. ## Step 5: join a Web3 developer DAO Joining one or more [web3 developer DAOs](https://www.alchemy.com/overviews/best-daos-for-web3-developers) is another way to meet people, discover exciting projects, collaborate with new teams, and build your portfolio, as most of these communities need volunteers to help support the community. A DAO decentralized autonomous organization\) is an organization that's run using decentralized governance. In other words, it's an organization that's owned and operated by its members.  These developer-centric [DAOs](https://www.alchemy.com/dapps/top/daos) are usually open to anyone who wants to join and they're a good way to get more involved with a project you're passionate about. These are some of our favorite developer-focused DAOs for learning web3: - **Developer** **DAO** - over 5,000 members are learning Web3 together - **LearnWeb3DAO** - over 25,000 members are learning through 4 learning tracks - **DXDAO** - this DAO uses reputation-based governance to coordinate funds and operate products such as a multi-chain AMM and an IDO launchpad Joining one of these DAOs will bring you closer to the Web3 developers community. ## Step 6: star the best GitHub repos GitHub is the largest code repository in the world and it's where open-source web3 development happens. If you want to learn from the best developers who are building in public, following \(and starring\) [popular web3 GitHub repositories](https://www.alchemy.com/overviews/best-web3-github-repos) will help you find Web3 builders. Some of our favorite GitHub repos for learning how to develop on blockchains are: - **foundry-rs/foundry** - a suite of Ethereum application development tools - **OpenZeppelin/openzeppelin-contracts** - repo for launching Ethereum NFTs - **Rainbow-me/Rainbowkit** - integrate wallets with your [apps](https://www.alchemy.com/dapps/top/defi-dapps) Starring repositories allows you to get notifications whenever new code is pushed, which helps you stay up-to-date on the latest developments. You can also browse through code to see how experienced developers solve problems. Another way to discover popular repositories is to search for topics like Ethereum, DeFi, or NFTs and sort the repos by the most starred projects in GitHub’s Topic section. ## Step 7: complete a Web3 tutorial Following tutorials is the next step to learn the basics and get your feet wet with coding. They usually don't require prior knowledge and you can do them at your own pace.  Once you've completed a couple [web3 developer tutorials](https://www.alchemy.com/overviews/best-web3-tutorials), you should have a better understanding of how web3 works and be able to start building simple applications.  Some of our favorite tutorials for learning how to build web3 apps include:  - **How to Create an ERC-20 Token** - This simple Alchemy tutorial shows you how to deploy your own ERC-20 token on the testnet - **Build a Web3 App with Solidity** - This Buildspace tutorial uses [MetaMask](https://www.alchemy.com/dapps/metamask) and [Hardhat](https://www.alchemy.com/dapps/hardhat) to show you how to create a smart contract, connect a wallet, interact with the contract, and deploy - **Hardhat Tutorial for Beginners** - This tutorial by the developer tool Hardhat explains how to create a project, configure a node.JS environment, use Ethers.js, and develop, debug, and deploy smart contracts  While these tutorials won't make you an expert web3 developer, they should give you a good start in understanding how to build apps. ## Step 8: sign up for a Web3 developer course Courses help aspiring web3 devs to go deep on a particular topic by learning from experienced instructors. There are [free and paid web3 developer courses](https://www.alchemy.com/overviews/best-blockchain-courses), and while each bootcamp varies in the amount of prerequisite knowledge required, they quickly level up your developer skills.  Some of our favorite courses and bootcamps for learning web3 development include:  - **Alchemy University** - a free, 7-week [Ethereum developer bootcamp](https://university.alchemy.com/) and 3-week Javascript for web3 crash course. - **Road to Web3** - This is a [free, 10-week blockchain development course](https://www.alchemy.com/docs/alchemy-quickstart-guide) that teaches you how to make NFT smart contracts, token swap apps, an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), a DeFi dApp, and more - **Web3 University** - This collection of free blockchain development resources offers a variety of lesson tracks and featured resources - **Sol Dev** - If you’re looking to develop on Solana, this free course will teach you get started on Solana, how to swap tokens with Rust, and more. Courses usually come with assignments, so you can immediately start putting your new skills to use. They also tend to have active communities where you can ask questions and get feedback from other students. When you're first starting out, it can be helpful to build a portfolio of small projects to show off your skills. This doesn't have to be anything fancy, even a simple Dapp or smart contract will do.  Once you have a few projects under your belt, you can start adding them to your resume or LinkedIn profile. If you want to take things a step further, you can create a personal website or blog to showcase your work. Some of these courses come with certificates that you can add to your resume or LinkedIn profile. In the Web3 world, there are also Proof-of-Knowledge NFTs and POAPs, which are non-transferable NFTs that can be earned by completing different tasks, which can be used as proxies for resumes. They're also great conversation starters when networking with other web3 developers. ## Step 9: attend a Web3 hackathon Hackathons help devs learn web3 through meeting developers, learning new web3 skills, and building a portfolio. Hackathons have varying durations, from a few hours to a few weeks, and they usually have a range of prizes for the best projects across different categories like Gaming and infrastructure. Some of [the best web3 hackathons](https://www.alchemy.com/overviews/best-web3-hackathons) for learning include:  - **‍ETHDenver’s BUIDLathon** - this annual event has both in-person and virtual participants, who compete for separate rewards pools. - Solana Summer Camp - the latest Hackathon in Solana’s series of events for onboarding developers learning web3 development. - **Polygon BUIDLit** - build apps, infrastructure, and other Polygon applications You don't need to be an experienced developer to participate in a hackathon. In fact, many of them are geared towards beginners looking to learn how to build in web3. Even if you don't win any prizes, you'll still walk away with new friends and a lot of knowledge about blockchain development. Who knows, maybe you'll find your next co-founder or startup. ## Step 10: build something on Alchemy Alchemy is a leading provider of web3 infrastructure that is highly scalable, reliable, and accurate. Developers that build on Alchemy get access to some of the [best blockchain development tools](https://www.alchemy.com/overviews/20-blockchain-development-tools), APIs, services, and customer support to successfully build apps.  Some of Alchemy’s products include:  - **Supernode** - A world-class [API](https://www.alchemy.com/supernode) that makes it easy to interact with blockchain data, accounts, and smart contracts - **Alchemy Build** - A [suite of developer tools](https://www.alchemy.com/build) to prototype, debug, and ship products - **Alchemy Monitor** - A [dashboard](https://www.alchemy.com/monitor) to check app health, performance, and activity - **NFT API** - An [API](https://www.alchemy.com/docs/reference/nft-api-overview) to fetch NFTs, metadata, prices, owners, collections, and more - SDK - A lightweight, modular [SDK](https://www.alchemy.com/docs/alchemy-quickstart-guide) that encapsulates common usage patterns - **Alchemy Notify** - [Webhooks](https://www.alchemy.com/?a=1ab005f396) to get notifications for external, internal, & token transfers, mined and dropped transactions. If you're serious about becoming a web3 developer, Alchemy is the best place to start.  Now that you’ve learned about web3 development, it’s time to start building your first project. To get started, [create a free Alchemy account](https://www.alchemy.com/?a=1ab005f396), and build something amazing! --- # 8 Essential Tips on How to Prepare for a Web3 Hackathon URL: https://www.alchemy.com/overviews/how-to-prepare-for-a-web3-hackathon.md Often hosted by blockchains, like Ethereum or Solana, or focused around specific events, like EthDenver, [web3 hackathons](https://www.alchemy.com/overviews/best-web3-hackathons) bring together a community of developers, designers, and blockchain enthusiasts to transform innovative web3 hackathon ideas into minimum viable products \(MVPs\) in a short period of time. Because [hackathons are good for beginners](https://www.alchemy.com/overviews/web3-hackathons-for-beginners), it's important to prepare for the event to extract the most value from the experience. This article will highlight a few preparations you can take to make the most of your experience. If you're preparing for a web3 hackathon, review Alchemy's [Hackathon Handbook](https://www.alchemy.com/hackathons) for tips, tools, and bounties! ## Why is preparing for Web3 hackathons important? Preparing for a hackathon is important because the environment is often fast-paced, you will be using new technology, hackathons have specific judging criteria, and you will be competing against ambitious teams of builders. Hackathons are great opportunities to learn new skills, showcase your work, and connect with other developers, but it is also competitive and often has an accelerated format. With large prize pools to incentivize participation, this environment can be difficult for beginners to adjust to. For example, **Solana Summer Camp** is offering $5 million in prizes and seed funding for their hackathon happening from July 11th - August 16th, 2022, with 1000s of people participating around the world, and 100s of submissions that will be competing for top prizes. ## How to prepare for a Web3 hackathon First, understand the timeline of the hackathon. Many hackathons take place over the course of a weekend allowing people with full-time work schedules to participate, but some web3 hackathons last multiple weeks allowing for more substantial projects to be built. Before you commit to a hackathon, make sure your schedule allows you to make an appropriate time and energy commitment. If you're schedule is clear, and you're determined to build something, here are the some important steps to complete in your hackathon preparation.  ### 1. Study the hackathon rules and judges When you visit the hackathon website, you will usually see a number of resources to help developers prepare for the hackathon including tracks, prizes, ideas, as well as the two most important areas to study: the rules and judging criteria. Before you do anything else, make sure you have a clear understanding of what kinds of projects the organizer is hoping to see during the hackathon, who will be judging them, and what they will be looking for. If you're planning to focus on a specific track, research the nuances and align with that specific track's key priorities. ### 2. Start thinking about a Web3 hackathon idea Coming up with [innovative web3 hackathon ideas](https://www.alchemy.com/overviews/web3-hackathon-ideas) can be challenging, especially if this is your first time attending a web3 hackathon. During your hackathon prep, consider these strategies for brainstorming ideas before your hackathon starts: 1. Build a solution to a problem you’ve observed personally 1. Think about composable building blocks that unlocks new products 1. Research lists of topics and ideas provided by the hackathon organizer 1. Review the winners of other hackathons 1. Find a web2 product or solution that would benefit from web3 technology You don’t have to select which idea you’re going to build until you meet your team and start the hackathon, but these prompts can help you ideate projects before your hackathon begins. ### 3. Prepare your Web3 tech stack Since hackathons can take place over a short period of time, you’ll want to make sure your [web3 tech stack](https://www.alchemy.com/overviews/web3-stack) is prepared ahead of time. This would include actions like signing up for a web3 developer platform like Alchemy, downloading desktop clients, and getting familiar with the hackathon organizer's unique tools. Here’s a shortlist we’ve prepared of what to get ready when you’re preparing your hackathon tools: - Choose your Integrated Development Environment \(IDE\) such as [Remix IDE](https://www.alchemy.com/dapps/remix) - Create a GitHub repository for your hackathon code so you and your teammates can collaborate effectively - Signing up for a [free blockchain node provider](https://alchemy.com/?a=ef8f2d0a92) like Alchemy - Look into different smart contract development frameworks such as [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) - Create a local testing environment such as **Hardhat** or **Foundry** - [Get testnet Goerli tokens](https://www.alchemy.com/overviews/goerli-faucet) for deploying smart contract on a testnet   #### Learn the hackathon organizer's tools In addition to your standard tech stack, take time preparing by learning how to use. the tools the organizer wants builders to build with. Organizers will often put together extensive documentation on the hackathon website to help people navigate the tools and information that would help new developers in the ecosystem. Because hackathon organizers are trying to encourage building on their platforms, prioritize building applications that integrate their tools. ### 4. Start building a team There are many ways of finding peers to work with on a hackathon project including working with organizers, accessing hackathon channels in Discord, in [developer-centric DAOs](https://www.alchemy.com/overviews/best-daos-for-web3-developers), or communicating with builders talking about the event on social media. You can also come to the hackathon with a group of people that you already know well. Since your team will be small, usually 3, 4 or 5 people, it’s best to have people who have different skill sets that will complement each other.  ### 5. Find templates for submissions and presentations To submit a project to a hackathon, teams will typically need to produce a write-up, video, and/or presentation that demonstrates what their project does, how it works, and make a pitch to it's importance. Because your team will be building up until the last minute, prepare a list of previous winning submissions, presentation templates, and write-ups that can be repurposed for your team's submission. By preparing templates for your app submission, you can make a strong case for your project, and put yourself in a good position to win. Judges often like to see things like a clear problem statement and value proposition paired with a working demonstration of your project. It’s okay to start simple, and focus on the specific problem area you're trying to fix so you aren’t overwhelmed with having to build too many features at once. ### 6. Take appropriate security measures While hackathons are generally friendly and safe places to build, take the proper security precautions before you arrive such as leaving hardware wallets at home, not traveling with seed phrases, and purchasing a privacy screen filter among other preparations. Don't let a good learning opportunity like a hackathon turn into a liability. ### 7. Pack your gear If you’re going to participate in a weekend hackathon every minute counts, and preparing all the right gear will help you make the most of your time. Make sure you have your charger, backup chargers, phone chargers, a battery bank, extension cords, power strips, and anything else to keep your tools working. Additionally, you can prepare snacks, drinks, and other personal items that will enable you to stay focused on your work like noise cancelling headphones, your favorite hoodie, and even your favorite mechanical keyword. ### 8. Get a good night's sleep The last thing you need is to be sleep deprived and groggy when sprinting to turn an idea into a fundable web3 project. Get a good night’s sleep so you can be ready to enter the hackathon with a clear mind and good attitude. At the end of the day, the goal of web3 hackathons is to learn, build something cool, and have fun. While there will be intense moments and it may get stressful, remember why you signed up and make the most of your experience. --- # How to Start Developing on Arbitrum URL: https://www.alchemy.com/overviews/how-to-start-developing-on-arbitrum.md Arbitrum is an Ethereum layer-2 blockchain that uses optimistic rollups to provide developers with greater scalability and lower gas costs than running [apps](https://www.alchemy.com/dapps/top/defi-dapps) on Ethereum's base layer blockchain while benefiting from Ethereum's layer 1 security. If you're interested in learning how to develop Arbitrum, this article will be perfect for you! In this guide, we will walk you through the steps necessary to start coding on the Arbitrum network. ## **What is Arbitrum?** [Arbitrum](https://www.alchemy.com/arbitrum?a=0c128a6d93) is a layer-2 optimistic rollup blockchain that helps to scale the main Ethereum chain while remaining trustlessly secure. While it is based on Ethereum's Virtual Machine \(EVM\), Arbitrum offers a unique design that makes it much more scalable and user-friendly than the Ethereum network. In addition, Arbitrum smart contracts are EVM-compatible meaning they work with existing Ethereum tooling, wallets, and apps. Arbitrum was created as one of the Ethereum scaling solutions available to create low cost smart contracts and to address long transaction times. The Arbitrum Virtual Machine, which runs on ArbOS, helps act as a record-keeper, traffic cop, and enforcer for the execution of smart contracts on the Arbitrum chain. ## **How to start developing on Arbitrum** Before you start developing on Arbitrum, it is important to understand how the blockchain works and configure a few prerequisites: 1. Hardhat 1. An Alchemy account 1. A [web3 wallet](https://www.alchemy.com/overviews/web3-wallets) \(E.g. [MetaMask](https://www.alchemy.com/dapps/metamask), Apex, etc.\) ### **1. Understand how Arbitrum works** Before you start developing on Arbitrum, it's important to have a good understanding of how the platform works. You can read the Arbitrum Whitepaper to learn more about the technical details. According to Offchain Labs, the team who created and maintains Arbitrum, the architecture of Arbitrum is as follows: Users and service providers are part of the off-chain on the left, and the Arbitrum system consists of Layer 1 and Layer 2 on the right. Arbitrum is a layer-2 rollup solution \(green\) that sits on top of Layer-1 Ethereum chain \(orange\). In addition, the Arbitrum team has created several resources to help developers get started, including an overview of the platform and a step-by-step guide to creating your first smart contract. ### **2. Download Hardhat \(integrated development environment\)** There are two ways to develop on Arbitrum: using the online IDE or by setting up a local development environment. Either way, you’ll need to choose and configure an [IDE for Solidity development](https://hardhat.org/hardhat-runner/docs/getting-started#overview) before you start. For this article we will build with [Hardhat](https://hardhat.org/hardhat-runner/docs/getting-started#overview), a local development environment. Once you're done with installing Hardhat,[ create a Hardhat project](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet). ### **3. Create an Arbitrum app on Alchemy** To deploy a smart contract, you will need an [Arbitrum RPC node](https://www.alchemy.com/overviews/arbitrum-node). Fortunately, you don't need to run your own Arbitrum node, instead you can [sign up for Alchemy](https://dashboard.alchemy.com/?a=0c128a6d93) for free and create an app on the Arbitrum-Goerli testnet. Once you're signed up, here's what to do: 1. Click on the Dashboard 1. Click "Create App" 1. Pick a name for your app 1. Select the Arbitrum Nitro Goerli testnet. 1. Then click "Create App" Your app should appear in the Alchemy Dashboard. ### **4. Get fake ETH from the Goerli faucet** In order to interact with Arbitrum contracts on the Arbitrum-Goerli testnet, you'll need some test ETH and an [Arb-Goerli RPC endpoint](https://www.alchemy.com/chain-connect/chain/arbitrum-goerli). The easiest way to get Goerli ETH is from a faucet. 1. [Add Arbitrum to MetaMask](https://www.alchemy.com/docs/reference/arbitrum-api-quickstart#arbitrum-tutorials) 1. Go to the [Goerli faucet](https://goerlifaucet.com/) 1. [‍](https://goerlifaucet.com/)Enter your Ethereum address 1. You should receive Goerli ETH in your MetaMask wallet in a few minutes To check if you've received the ETH from the faucet, go into the MetaMask settings, and under Advanced, select "Show test networks". If you're using the Goerli faucet that's compatible with the Arbitrum Nitro Testnet, here is[ how to bridge Goerli tokens to Arbitrum Nitro](https://www.alchemy.com/overviews/arbitrum-nitro-testnet). ### **5. Write, compile, and deploy your smart contract** At this point, you will be able to start writing your smart contract. Follow the steps in the[ Alchemy docs](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) to build a simple "Hello World" smart contract. You can also follow this [Hello World video tutorial](https://www.youtube.com/watch?v=g73EGNKatDw) on how to write, compile, and deploy the "Hello World" smart contract. This[ github repo](https://github.com/alchemyplatform/hello-world-tutorial) contains all the scripts covered in the video. Once you're done writing your contract, compile it using Hardhat, connect to an Ethereum client \(Ganache or [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one)\), and use the _hardhat deploy_ command to deploy your contract. If you want more inspiration, be sure to take a look at the [Offchain Labs GitHub monorepo](https://github.com/OffchainLabs/arbitrum-tutorials) for demo examples such as a Pet Shop dapp and an Election dapp. ### **6. Interact with and submit your smart contract to Etherscan** After you've created your smart contract, you'll need to learn[ how to interact with a smart contract](https://www.youtube.com/watch?v=sQJ-XQBzEuc) for it to be useful! Watch this video tutorial on [how to read and interact with a smart contract](https://www.youtube.com/watch?v=sQJ-XQBzEuc). **The video will run you through the following steps:** - Create an interact.js file - Update your env. file - Grab your contract ABI - Create a contract instance - Read and update the _init_ message Once done, you're ready to[ publish your contract to Etherscan](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1). Watch this video to learn [how to verify your contract on Etherscan](https://www.youtube.com/watch?v=x1a5lrW-9fo). **This is done by:** - Installing the hardhat-etherscan plugin - Changing the Etherscan config options - Verifying the smart contract on Etherscan All transactions on Arbitrum can be seen on the [Arbitrum block explorer](https://arbiscan.io/). ### **7. Integrate your smart contract with a frontend** Creating and seeing your smart contract being published to Etherscan isn't the end! You'll now need to[ integrate your smart contract with a frontend interface](https://www.alchemy.com/docs/best-practices-for-deploying-a-smart-contract-on-evm-mainnets-1). **The tutorial will cover these steps:** - Cloning the starter files - Check out the starter files - Read from the smart contract - Set up an Ethereum wallet - Connect MetaMask to UI - Implement the updateMessage function - Make your own dApp Congratulations! You just developed your own simple dApp on Arbitrum! 🎉 Ever since Arbitrum's mainnet launch, a growing number of developers have been building Arbitrum smart contracts on the blockchain, and learning how to develop on Arbitrum is an important step in [becoming a well-rounded Solidity developer.](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer) Before launching your smart contract to Arbitrum's mainnet, remember to test your dapp thoroughly on testnets and consider hiring a [smart contract auditing company](https://justjooz.com/best-smart-contract-auditors/) to test your contracts for vulnerabilities. --- # How to Start Developing on zkSync in 5 Steps URL: https://www.alchemy.com/overviews/how-to-start-developing-on-zksync-in-5-steps.md Matter Labs now has a representative in the race against Scroll and Polygon to run the world's [first zero-knowledge EVM](https://www.alchemy.com/overviews/zkevm) – [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era) Era. Launched in March 2023, zkSync Era is an EVM-compatible ZK Rollup that utilizes [zero-knowledge proofs](https://www.alchemy.com/overviews/validity-proof-vs-fraud-proof) to scale the speed and processing power of the Ethereum network. Developing on zkSync has the benefits of low gas fees for ETH and [**ERC20 tokens**](https://www.alchemy.com/overviews/erc20-solidity), as well as atomic swaps, limit orders, and native Layer-2 NFT support. This article will explain what zkSync Era is and how to deploy a smart contract on the zkSync public testnet in five steps. ## **What is zkSync era?** zkSync Era is a new Layer-2 solution by Matter Labs that combines ZK-Proofs and Ethereum Virtual Machine technology to [**scale the throughout of the Ethereum mainnet**](https://www.alchemy.com/overviews/ethereum-scaling-solutions). Merging both technologies, zkSync Era allows faster and more secure Ethereum transactions. In addition to full [EVM](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) equivalence, Era introducesthe [concept of account abstraction](https://www.alchemy.com/overviews/what-is-account-abstraction) to the Ethereum stack, initially proposed in EIP-4337. With account abstraction, wallets become smart contracts that can have features such as a custom signing algorithm, sponsored transactions, and 2-factor authentication. ## **How to start developing on zkSync era** Development on zkSync Era largely involves the same [tools a web3 developed would use](https://www.alchemy.com/dapps/top/developer-tools) to deploy a contract on Ethereum. This tutorial will cover how to deploy a smart contract on the zkSync public testnet. ### **Prerequisites** For the tutorial, the following is needed: - Private key of an Ethereum wallet - Test ether - [Hardhat](https://www.alchemy.com/dapps/hardhat) Integrated Development Environment \(IDE\) with the required plugins - A package manager \(NPM or Yarn\) - [VScode](https://www.alchemy.com/dapps/vscode) - Basic understanding of Typescript ## **1. Set up an IDE for zkSync era** Firstly, create a folder for the project. Open VScode \(or your machine’s terminal\) and type: Then, initialize npm with the command: **npm init -y** The **-y** flag saves time by pre-filling all the input fields of the **_package.json_** file with their default values. Now that npm and the project’s folder are all set up, install the required dependencies.‍ In the VScode terminal, type: **Here is the breakdown of the command:** - **$ npm i -D**: An alias for the install command. The -D flag saves all the packages as developer dependencies. - $ typescript ts-node: installation of Typescript and the Typescript execution engine for Node.js. - $ ethers@^5.7.2 zksync-web3@^0.13.1: Two libraries that help deploy and interact with the contract. - $ hardhat:  The IDE in use. - $ @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy: Two Hardhat plugins that help  compile and deploy the smart contract. Next comes the initialization of the Hardhat project.‍ In the terminal, type: **npx hardhat init** Select ‘**Create a TypeScript Project**’  and press enter to pre-fill the next fields with their default values. This is how the project’s folder structure should look: In the contracts folder, delete the Lock.sol contract, which is automatically generated out of the box as it would not be needed.‍ The last step of the IDE setup is to head over to **hardhat.config.ts** file. The **hardhat.config.ts** file is the ‘command center’ that defines these parameters for deployment: - zkSync compiler version - Chain on which the contract will be deployed - Version of the [Solidity](https://www.alchemy.com/overviews/solidity-smart-contract) compiler in which the contract will be written. Delete the contents of the **hardhat.config.ts** file and replace them with the following: The IDE setup is now ready and the next step is creating the smart contract. ## **2. Create the smart contract** The contract that will register the name and age of a person.  Head over to the contacts folder in the project’s directory and create a new file called **Registry.sol**‍ Next, copy and paste the following smart contract code into the file: The contract must be compiled prior to deployment. In the terminal, type: **npx hardhat compile** ## **3. Set up a wallet for zkSync era** The creation of a new wallet is not needed as zkSync Era supports existing Ethereum wallets.  Therefore, any existing wallets like [Metamask](https://www.alchemy.com/dapps/metamask) can be used. **Note: It is not recommended to use a personal Ethereum wallet that stores investments or savings, as the deployment procedure requires exporting the private key.** ## **4. Get test Goerli ETH and bridge to zkSync era** Test ether on the zkSync Era testnet can be required in order to deploy the contract. **To get some test ether, bridge Goerli ETH from the deployer wallet to its instance on zkSync Era.** - To do this, navigate to [Alchemy’s Goerli faucet](https://goerlifaucet.com/) to get ether on the Goerli testnet. - Create a free Alchemy account before you proceed. - Then, open Metamask and click on the wallet address to copy it. - On the Goerli faucet website, paste the wallet address, and click **Send Me ETH**. Next, go to zkSync Era’s [bridge](https://goerli.portal.zksync.io/bridge). Click on “Connect via a browser wallet Metamask”. Select the wallet which will be used for the contract deployment. Click on **MAX \(or enter an amount of your choice, but make sure that it is at least 0.1 [gETH](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one)\) and click Deposit.** **Note**: Check that the field in the lower right corner reads:** “zkSync Era Goerli”.** While waiting for the bridging to conclude, finalize the deployment by creating the deployment script. ## **5. Create a deployer script and export the private key** Next, create a deployer script and export the private key from Metamask, copy the Private Key and deploy the smart contract. Here is how to do it: #### **Create a deployer script** Back in VSCode, rename the scripts folder to **deploy, and inside, create a file called deploy.ts.** After that, copy the following code into the file: The comments, marked with “//” explain the logic of the code. #### **Export the private key from MetaMask** In Metamask, open the wallet that was used during the bridging and export its private key. Click on the three vertical dots and then on Account details, then **Export private key.** Enter the password and copy the revealed string. #### **Paste the private key and deploy the smart contract** Back in the deploy.ts file, find the following line: **  const wallet = new Wallet\("<WALLET-PRIVATE-KEY>"\);** Paste the private key in the place of **<WALLET-PRIVATE-KEY>.** Make sure that the double quotes are **not** deleted. Finally, go to VScode’s terminal and type: **npx hardhat deploy-zksync** ## **6. Verify the smart contract via the block explorer** Use zkSync Era’s testnet block explorer to verify the deployed contract. Go to the [block explorer.](https://goerli.explorer.zksync.io/) In the search bar, paste the address of the deployed contract.  Once the contract is found, click on the **Contract** tab and then **Verify Smart Contract.** Then, fill required details: **Contract Name** should be **“Registry”**. **Zksolc version** - v1.3. Solc version - 0.8.17. Both **Zksolc Version** and **Solc Version** could be retrieved from the **hardhat.config.ts** file.  In the Enter the [Solidity](https://www.alchemy.com/overviews/solidity) Contract Code field, paste the contents of the Registry.sol file. Click on **Verify Smart Contract** to finalize the process. ‍**7. Interact with the Deployed Contract on ZkSync Era** In the block explorer, find the contract by its address again and click on the **Contract** tab. This time, the block explorer should now show two new fields: 1. **Read** for the getter functions  1. Write for the setter functions Since the **personInfo** mapping’s visibility is defined as _public_, a getter method for it is generated automatically. Make sure that the deployer wallet is connected to the explorer. Click on **addPerson.** The section will expand, and two new fields will appear - one to define the name of the person and another one for their age.‍ After filling in those, click on **Write** and confirm the transaction. After the transaction is confirmed, click on personInfo and input the name of the person that was just added. The GUI should return the age of the person added.‍ --- # How to Track On-Chain Transactions URL: https://www.alchemy.com/overviews/how-to-track-on-chain-transactions.md Every day, millions of crypto transactions are conducted on-chain. These include DEX trades, loans, NFT mints, options contracts, liquidity adds and much more. Each transaction \(txn\) creates a permanent record that can be viewed in real-time in a block explorer. As a result, with a little practice, and the right set of tools, it’s possible to work out what, where and how every wallet is trading in web3. ## What on-chain analytics solves Txn details can be extremely valuable, particularly in the case of whales who use “vanity” addresses like *bigtrader.eth*, making it easy to correlate wallet with user. Armed with only the wallet address or .eth of an influencer, you can copy their trades and mimic their NFT buys – or even counter-trade them if you’re feeling bold. While it’s theoretically possible to track blockchain activity using only a block explorer, this method is wildly impractical. Block explorers are not designed for mass monitoring and deciphering of transactions. Take [this example](https://arbiscan.io/tx/0x2933558053b89a0aa4f76562a6b2d7b30e51a79fe487c3c39a5b1f8919db1e0d), for an Arbitrum txn. Do you understand what happened here? How about [now](https://explorer.phalcon.xyz/tx/arbitrum/0x2933558053b89a0aa4f76562a6b2d7b30e51a79fe487c3c39a5b1f8919db1e0d), using a blockchain explorer that breaks down the flow of funds? It’s still tricky. Unless you’re an expert, peering into the tea leaves that flavor an on-chain txn will leave you scratching your head. ## What is on-chain analytics Analytics dashboards exist to solve this problem, and help users make sense of the transactions that make up web3. These demystify exactly what’s happening on-chain, making it easier to comprehend txns and draw actionable insights. With on-chain analytics, not only can you see what’s happening – you can use this information to your advantage. That, in a nutshell, is what on-chain analytics delivers. It’s an extremely powerful tool that democratizes access to valuable information. But like any tool, you only get out what you put into it. The time spent learning your way around an analytics platform will pay dividends. ## How on-chain analytics works On-Chain analytics is an emerging industry that tries to make sense of the millions of transactions that are made on crypto networks every day. Most of these txns are of little interest to the casual onlooker, but a few are very precious. Examples of noteworthy transactions include: - [Stablecoins](https://www.alchemy.com/dapps/top/stablecoins) sent to your personal wallet as payment from an employer - A new NFT collection minted by a successful NFT trader - A low cap altcoin purchased by a YouTube influencer - A leveraged long position opened by an experienced futures trader - A new protocol being used on a layer2 network you’re interested in - A whale sending millions of dollars to a CEX - A flash loan exploit being executed against a DeFi protocol - A hacker moving funds to a new wallet On-Chain tracking tools such as [Cielo](https://cielo.finance/) provide a way to follow the money, watch the whales, track the hackers, and keep tabs on your own portfolio. Other tools like [Alchemy’s Custom Webhooks](https://www.alchemy.com/notify/custom-webhooks) allow you to stream the most recent blockchain data to find out about specific events you may care about. Just as search engines help us make sense of the web, through decoding and aggregating disparate data sources, the same is true of on-chain analytics. Part search engine, part social news feed, an on-chain dashboard forms your window into the world of DeFi, NFTs, and every other crypto use case that can be executed on a public blockchain. ## What differentiates an analytics platform from a conventional block explorer? While the features will vary from one service to the next, a good on-chain tracker will provide the following: ### **Discovery** **‍**To follow wallets, first you need to find them. On-chain analytics platforms use a variety of tools, including pre-made lists of DeFi power users, that provide a foundation for txn tracking.**‍** ### **Labelling**‍ This makes it easier to identify the protocol being used, the token being swapped, and the type of trade e.g. buy, sell, borrow, lend, mint, sweep, open, close.**‍** ### **Filtering**‍ Tools for screening out transactions that are irrelevant to your interests, allowing you to zero in on a particular network, protocol, txn type, or position size. ### **Feed**‍ On-chain transactions occur at a particular point in time. Understanding them calls for viewing them alongside adjacent txns to build a picture of what the user is doing. A news feed allows you to view txns in chronological order, displayed in near-real-time. ### **Analytics**‍ By aggregating the data that passes through their APIs, on-chain readers can provide a holistic view of the most popular protocols, networks, trends, and tx types. This provides an insight into which ecosystems are on the rise and reveals the current mood of the market. ## Why on-chain analytics matters At a high level, it’s easy to grasp why on-chain analytics tools are useful. Billions of dollars are traded on-chain every day, and each of these txns provides a window into the thinking and strategy of its executor. Through analyzing the behavior of the best traders – or “smart money” as they’re known – it’s possible to identify opportunities before the rest of the market has caught on. Whether it’s longing ETH ahead of a major protocol upgrade, minting a new NFT collection before it sells out, or identifying the latest yield farm before its native token moons, on-chain analytics has the answer. But the answers it serves up are only as good as its inputs. Fill your on-chain dashboard with expert wallets and you’ll fare better than a feed containing only amateur wallets. ### On-chain discovery isn’t a magic bullet for profitability It's worth noting that there’s just as much chance of a wallet you copy being wrong as there is of it being right. Provided you are aware of these limitations, however, a good on-chain reader acts like a torch on a dark night, illuminating the wealth of opportunities that crypto presents every single day. You can’t catch all of them; even with an on-chain dashboard plugged into the smartest wallets in DeFi, you’ll do well to capitalize on 1% of the setups that materialize. But when you do take the plunge, you’ll wonder how you ever operated without the clarity provided by an on-chain analytics platform. Once you wallet track, you’ll never look back. --- # How to Use a Crypto Exchange URL: https://www.alchemy.com/overviews/how-to-use-a-crypto-exchange.md Coinbase is a centralized [**cryptocurrency exchange platform**](https://www.alchemy.com/dapps/best/crypto-exchanges) that allows users to buy, sell, convert and store cryptocurrency. [Coinbase](https://www.alchemy.com/dapps/coinbase) has features that let you check for prices and trends in the cryptocurrency market through a beginner-friendly user interface. With over 73 million users across 100\+ countries, Coinbase is known to be one of the biggest and most popular crypto exchanges in the world. This article will explain the step-by-step process for how to make your first trade on coinbase. ## **1. Create a crypto exchange account** Users can trade cryptocurrencies on the Coinbase website and on the Coinbase app, and the process is pretty similar for both methods. 1. Go to the [Coinbase website](https://www.coinbase.com/) on your desktop computer \(or download the mobile app for Android or iOS\) 1. Click on the Get Started button if you don’t have an account already 1. Sign in to Coinbase if you have an account 1. If you don't have an account, create a new account, and go through the different identification process 1. Add a preferred payment method to enable you to fund your account Note: common KYC/AML processes for creating new crypto exchange accounts include submitting your contact information and forms of identification such as a photo of your driver's license and a current picture of your face. ## 2. Click on the buy or sell button The whole verification process takes about 15 to 20 minutes. After your bank account and identity have been successfully verified you can buy cryptocurrency. 1. Click on the buy button 1. Specify the amount of money you want to spend by clicking on the number area 1. Select the cryptocurrency you want to buy \(e.g. Bitcoin\) 1. Double-check the cryptocurrency and the payment method ## 3. Preview your trade 1. Click on the preview button to check the details of your transaction 1. If the details are correct, click on the buy now button 1. Your transaction should go through instantly The details you want to confirm before clicking "buy now" include: - **Pay with** - the designated payment method - **Price** - the price of the asset - **Coinbase fee** - the fee paid to Coinbase for the transaction, \(they charge 1% on all cryptocurrency transactions\) ## 4. Move your tokens to a self-custody wallet Once you have made your trade, it is best practice to move your tokens to a self-custody wallet like [Coinbase Wallet](https://www.alchemy.com/dapps/coinbase-wallet) and [MetaMask](https://www.alchemy.com/dapps/metamask). Self-custody wallets are wallets that you own completely, unlike exchange wallets which are custodied by the exchange itself. The easiest method of [transferring tokens on Coinbase to a self-custody wallet](https://help.coinbase.com/en/wallet/sending-and-receiving/how-do-i-move-assets-between-my-coinbase-wallet-and-my-coinbase) is to download the Coinbase Wallet and migrate tokens using the withdraw functionality. --- # How to Trade Tokens on an Ethereum Decentralized Exchange URL: https://www.alchemy.com/overviews/how-to-use-a-decentralized-exchange-on-ethereum.md Uniswap is an open-source, [**decentralized crypto exchange platform built on the Ethereum blockchain**](https://www.alchemy.com/list-of/decentralized-exchanges-on-ethereum). It makes use of a model \(Automated liquidity protocol\) that incentivizes people to become liquidity providers in order to solve the liquidity problem in [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) platforms. [Uniswap](https://www.alchemy.com/dapps/uniswap) currently has over $10.3 billion worth of assets locked in its platform and has also exceeded 1 trillion swaps. In this article, we will be showing you a step-by-step process on how to trade tokens on Uniswap. ### **1. Download and install MetaMask** There are several wallets compatible with Uniswap, however, we will be making use of metamask in this tutorial. Go to [Metamask](https://metamask.io/), then download and install metamask as a browser extension. Supported browsers include Chrome, FireFox, Brave, Edge, and Opera. For PCs and as an app for mobile phones use Google play for Android or the App Store for iOS. 2. Create an account and note down your secret recovery phrase. ‍Note: Never share your recovery phrase with anyone, losing it means losing access to all your funds. ### **2. Fund your MetaMask wallet** 1. Copy your Metamask address, and then click on your account address to copy. 2. Go to a crypto exchange \([Binance](https://www.alchemy.com/dapps/binance), [Coinbase](https://www.alchemy.com/dapps/coinbase)\). 3. Buy some ETH and send them to your address to withdraw it.  **Note that you can purchase any ERC20 tokens, but we are using ETH because we would need it to pay for gas fees.** ### **3. Connect your wallet** 1. Go to [Uniswap](https://uniswap.org/), then click on the launch App button, this button directs you to an interface to connect your wallet. 2. Click on the connect button to connect your wallet. 3. The connect button will prompt a Metamask notification, to select the accounts you want to give access to Uniswap. Select your desired account. ### **4. Trade on Uniswap** 1. Select the desired token you wish to swap with ETH. 2. Specify the amount of ETH you want to spend, and the amount of tokens you can get automatically shows up. We also get to see the gas fees for the specified amount. 3. Check your settings: This is not compulsory for every transaction, but is necessary if you want to know the details of your transaction. From the settings, we can see the following:  - The Slipagge tolerance - When the price of the token changes, your transaction will fail if it exceeds the stipulated percentage. - **Transaction deadline** -  Your transaction shouldn’t exceed the stipulated time. - **User interface settings** - Allows you to access other features in the user interface. 4. Click on the "Swap" button, and confirm the transaction on your Metamask. **Note that the "Swap" button only shows up when you have a sufficient ETH balance to process the transaction.** It might take a few minutes to go through but, after it has gone successfully you should be able to see your balance. --- # How to Use a Decentralized Exchange on Solana URL: https://www.alchemy.com/overviews/how-to-use-a-decentralized-exchange-on-solana.md Raydium is an Automated market maker\(AMM\) [**decentralized exchange (DEX) platform built on Solana**](https://www.alchemy.com/list-of/decentralized-exchanges-dexs-on-solana), that allows digital assets to be traded automatically using liquidity pools instead of the traditional market exchange system. [Raydium](https://www.alchemy.com/dapps/raydium) offers fast and cheaper transactions compared to other decentralized exchange platforms. This article will take you through a step-by-step process on how to trade tokens on Raydium. ## **1.** Download a Solana wallet Phantom is the [most used Solana wallet](https://www.alchemy.com/overviews/web3-wallets), and it's the wallet this tutorial uses to trade tokens on Raydium. 1. Go to [Phantom](https://phantom.app)‍ 1. Download and install Phantom as a browser extension \(Chrome, firefox, brave, and edge\) 1. Create a new wallet and note down your secret recovery phrase **Note:** never share your recovery phrase with anyone because losing it means losing access to all your funds. ## **2.** Fund your Solana wallet 1. Open your wallet and click the dropdown button 1. Copy your wallet address 1. Go to your favorite [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) platform \(e.g [Coinbase](https://www.alchemy.com/dapps/coinbase)\) 1. Buy Solana and any other [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) tokens you want to trade 1. Withdraw them to your [Phantom wallet](https://www.alchemy.com/dapps/phantom) address **Note:** make sure the exchange supports Solana token withdraws. Some exchanges allow buying and selling Solana tokens, but do not offer withdraw functionality. ## **3.** Connect your wallet 1. Go to [Raydium](https://raydium.io)‍ 1. Click on the "Launch App" button to access the DEX interface 1. Click on the "Connect" button to connect your wallet 1. Select Phantom 1. Allow Raydium to access your wallet 1. Click on connect ## 4. Select the assets you want to trade 1. Select the desired token you wish to swap from \(e.g. SOL\) 1. Select the token you wish to swap to \(E.g. USDC\) 1. Specify the amount of tokens you want to swap Once you choose the amount of tokens you want to swap, the amount of tokens you will receive of your new token will automatically be calculated. ### A. Confirm your swap settings Before you confirm your transaction, it is a good decision to check the info section to understand more details about the transaction. These trade settings become more important for large transactions. **Here are explanations of the swap settings:** - **Minimum Received** - the minimum amount of tokens you will receive from the trade - **Slippage Tolerance** -the difference between your estimated price and the execution price - **Price Impact** - the difference between market price and estimated price \(the impact is larger for large trades\) If prices are volatile, transactions with low slippage might not get confirmed. However, if slippage tolerance is high, you may receive less tokens for your swap because the market price changed between your original estimate and the price during trade execution. ## 5. Swap tokens on Raydium Now that your settings are reviewed, it's time to submit the transaction. 1. Click on the Swap button 1. Click the transaction link to view it on a Solana block explorer like [Solscan](https://www.alchemy.com/dapps/solscan) 1. Confrim your assets were swapped once the transaction is confirmed on the blockchain Note: the swap button only shows up when you have a sufficient balance to process the transaction, and it might take a few seconds to be confirmed. --- # How to Use a Decentralized Lending Platform on Ethereum URL: https://www.alchemy.com/overviews/how-to-use-a-decentralized-lending-platform-on-ethereum.md **Aave** is an open-source, [DeFi lending platform](https://www.alchemy.com/dapps/best/decentralized-lending-dapps) that allows users to lend and borrow crypto using a peer-to-pool strategy. Aave users interact with smart contracts to lend and borrow digital assets from a liquidity pool, and in return they either earn or pay interest on the loaned or borrowed assets. [Aave](https://www.alchemy.com/dapps/aave) allows the use of different blockchain protocols called markets, which includes layer 2 blockchains. Users can lend crypto and earn profit for the duration of the loan. Currently, Aave has over $6 billion worth of assets locked in its protocol. This article demonstrates how to lend on Aave. ## 1. Download and install MetaMask 1. Go to [MetaMask](https://metamask.io/)‍ 1. Download and install MetaMask as a browser extension\(Chrome, firefox, brave, edge, and opera\) for PCs 1. Create an account 1. Save your secret recovery phrase **Note:** Never share your recovery phrase with anyone. Losing your seed phrase means losing access to all your funds. ## 2. Fund your MetaMask wallet 1. Copy your MetaMask address \(click on your account address to copy it\) 1. Go to a [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) \(e.g. [Coinbase](https://www.alchemy.com/dapps/coinbase)\) 1. Buy some Ethereum or any asset you want to lend on Aave 1. Withdraw Ethereum and any other [ERC20](https://www.alchemy.com/overviews/erc20-solidity) tokens you want to lend on Aave to your wallet address **Note:** you will need some amount of ETH to pay for gas fees ## 3. Connect your MetaMask wallet to Aave 1. Go to [Aave](https://aave.com)‍ 1. Click on the launch app button to access the Aave user interface 1. Click on the connect button to connect your wallet 1. Select browser wallet to trigger your MetaMask wallet to open 1. Enter your password or confirm your desire to connect to Aave ## **4. Choose the token you want to lend or borrow** Aave has different markets for lending and borrowing crypto. By default the Ethereum **version 2** market is selected. The version 3 markets are layer 2 blockchains that provide faster and cheaper transactions. For this tutorial, we will use the Ethereum version 2 market. 1. Click on the drop-down button 1. Select the Ethereum version 2 market if it isn't already selected 1. From the interface, you can see the assets you can supply as well as the ones you can borrow Note: that the supply button only becomes active when you have the required asset to lend. **Here is what different labels on the Aave UI mean:** - **Reserve size** - the total amount of assets that have been supplied to the protocol - **Available liquidity** - the amount of assets available that have not been borrowed - **Utilization rate** - the amount of assets that have been borrowed \(the higher the utilization rate, the higher the APY\) - **APY** - the Annual Percentage Yield of the specified asset \(i.e. the profit you earn by lending your asset based on supply and demand\) ## 5. Lend ERC20 tokens on Aave Now that your wallet is connected and you know which token you want to lend, it's time to submit a transaction. 1. Select the asset you want to lend \(i.e. supply\) 1. Click on the supply button. 1. Specify the amount of asset you want to lend 1. Approve the transaction and pay the gas fees on your MetaMask wallet The transaction might take a few seconds to a few minutes to go through. After the transaction has been confirmed, you can see how much you’re lending on Aave. --- # How to Use a Decentralized Lending Platform on Solana URL: https://www.alchemy.com/overviews/how-to-use-a-decentralized-lending-platform-on-solana.md Port Finance is a [non-custodial lending protocol on the Solana blockchain](https://www.alchemy.com/list-of/decentralized-lending-dapps-on-solana). It leverages the speed and efficiency of the blockchain to introduce new features to the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). Users have the ability to lend and borrow assets and have the flexibility of adjusting different features while doing so. With a current TVL over $7 million dollars, Port Finance is as one of the most popular DeFi lending platforms in the Solana ecosystem. This article will show you how to make your first deposit on [Port Finance](https://www.alchemy.com/dapps/port-finance) through a step-by-step process. ## 1. Download and install Phantom Phantom is the [most popular wallet for Solana](https://www.alchemy.com/overviews/solana-wallets). While there are several others like [Solflare](https://www.alchemy.com/dapps/solflare) and [Backpack](https://www.alchemy.com/dapps/backpack), this tutorial will be making use of Phantom. 1. Go to [Phantom](https://phantom.app)‍ 1. Download and install Phantom as a browser extension \(Chrome, Firefox, Brave, and Edge\) for PCs 1. Create a new wallet 1. Save your secret recovery phrase **Note:** Never share your recovery phrase with anyone. Losing your seed phrase means losing access to all your funds. ## **2.** Fund your Phantom wallet Once you have your wallet, the goal is to deposit funds in the wallet in order to lend them on Port Finance. 1. Open your wallet and click the dropdown button 1. Copy your wallet address 1. Go to your favorite [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges) platform \(e.g. [Coinbase](https://www.alchemy.com/dapps/coinbase), [Binance](https://www.alchemy.com/dapps/binance), etc\) 1. Buy the desired Solana token you want to lend 1. Withdraw your newly purchased Solana SPL tokens to your wallet address ## **3.** Connect Phantom to port finance Now that you have funds in your [Phantom wallet](https://www.alchemy.com/dapps/phantom), we need to connect the wallet to Port Finance's website. 1. Go to [Port Finance](https://port.finance)‍ 1. Click on the app or “Go to app button” 1. Select your Phantom wallet 1. Click confirm ‍After you confirm your wallet, you will get a notification that your connection is successful.  ## **4.** Understand the user interface From the lending platform, you can see the different assets available to lend and borrow on the Port Finance marketplace. **Each asset has the following information:** - **Market size** - the amount of assets available on Port Finance - **Deposit APY** - the annual percentage yield for making deposits of that asset - **Total Borrowed** - the total amount of the assets that have been borrowed - **Borrow APY** - the annual interest rate when you borrow an asset \(i.e. the amount you’re required to pay back when you borrow an asset\) - **Wallet** - the amount of assets you have in your wallet ## 5. Lend on port finance Now that you're familiar with Port Finance's user interface, lend your desired tokens. 1. Click on the deposits/borrows tab 1. Select the asset you wish to deposit \(e.g. USDT\) 1. Specify the amount of assets you want to spend 1. Click on deposit 1. Approve the transaction in Phantom To lend assets on Port Finance, you need to have some Solana \(SOL\) in your Phantom wallet to pay for transaction fees. Once the transaction is submitted, you will receive a notification that your transaction is successful. --- # How to Use DAO Accounting Tools URL: https://www.alchemy.com/overviews/how-to-use-dao-accounting-tools.md Traditionally, organizations use double-entry accounting, which is a system where each transaction consists of two entries: a debit and a credit. This system is used to keep track of financial transactions and to ensure that the books are balanced. The lack of a way to transparently view, verify, and account for transactions opens the door to fake invoices, payroll fraud, duplicate or forgotten payments, and other accounting errors. ## Why do DAOs need accounting tools?  In a DAO, where all transactions are recorded on a blockchain, accounting is much more transparent. However, there's still a need for [DAO tooling](https://www.alchemy.com/dapps/best/dao-developer-tools) to handle crypto payroll, invoicing, and expense recording. ## How to connect bulla network to your DAO [Bulla Network](https://bulla.network/) is a Web3 accounting, invoicing, and payment platform for [DAOs](https://www.alchemy.com/dapps/top/daos). **To connect [Bulla Network](https://www.alchemy.com/dapps/bulla-network) to your DAO, follow this simple 3-step process.** 1. To get started, visit the Bulla Network website and click on "Start for free" on the homepage to connect your wallet. 2. Once your wallet is connected, you will be directed to your dashboard where you can create invoices, send payments, manage payroll, and track all of your transactions. 3. For instance, to create an invoice, click on "Create an invoice." You will then be presented with a straightforward form to fill out, as shown below. You'll be required to provide the recipient's address, the amount, the currency, a description, and a due date. Once you have filled in the necessary details, click on "Create," and the transaction will be recorded on the blockchain. **That's it, you've now setup Bulla Network for your DAO. It's really that simple.** For more information visit [Bulla Network's GitBook](https://bulla-network.gitbook.io/bulla-network/welcome-to-bullanetwork/welcome) for more step-by-step guides. ## List of DAO accounting tools In addition to Bulla Network, there are several alternative DAO Accounting tools available such as: - **Utopia Labs** - a collaborative Web3 accounting tool specifically built for DAOs to help streamline the management of contributor payments and unify accounting efforts. - **[Gnosis Safe](https://www.alchemy.com/dapps/gnosis-safe)** - a multi-signature smart contract wallet that enables users to define a list of owner/signer accounts and a threshold number of signers required to confirm a transaction. - **Coinshift** - a smart treasury management tool designed for DAOs and companies. It simplifies treasury management by offering efficient multisig tooling, helping crypto organizations save valuable time and resources. - Multis - a corporate cards and financial software for Web3 that enables users to instantly convert and pay in either cryptocurrency or fiat, as well as streamline their accounting processes. - **Request** - known as the all-in-one finance solution for Web3 businesses, helping users to easily manage invoicing, payroll, and expenses. - Llama - a Web3 community that works with DAOs on protocol engineering, treasury management, and analytics. - **Parcel** - a payment OS suite of tools designed to help scale the financial operations of DAOs and empower DAO contributors. - Solv Protocol - an all-in-one financial tool for creating and trading financial NFTs. - **Paymagic** - an automated platform for DAOs and crypto teams to automate frequent payouts to their community such as running payroll, paying bounties, funding grants, issuing rewards, and reimbursing expenses. --- # How to Use DAO Achievement Tools URL: https://www.alchemy.com/overviews/how-to-use-dao-achievement-tools.md Achievements serve as a means of acknowledging and rewarding individuals for their contributions to a DAO. Similar to the way a traditional organization have "employee of the month" awards, in a DAO, achievements can be used to give public recognition to individuals who have made significant contributions. ## How to setup mint kudos for your DAO There are a few [different web3 achievement tools](https://www.alchemy.com/dapps/best/web3-achievements) available, but perhaps the most well-known is [**Mint Kudos**](https://www.alchemy.com/dapps/mint-kudos), an open-source tool that anyone can use to create and manage achievements for a DAO. Here is a simple 3-step process to setup Mint Kudos: 1. The first step is to visit the [Mint Kudos website](https://mintkudos.xyz/) and connect your wallet by clicking on the "Connect Wallet" button located on the website's homepage. 2. After successfully connecting your wallet, you can begin creating kudos for your DAO by clicking on the "Create Kudos" button. 3. After clicking on the "Create Kudos" button, simply fill out the "Kudos" form, which allows you to specify the recipient's address, the DAO, and the reason for granting the kudos. After reviewing the information, click on "Next" to proceed. **And that's all there is to it! Mint Kudos makes it easy to give public recognition to individuals in a DAO.** ## List of DAO achievement tools In addition to Mint Kudos, there are several alternative DAO Achievements, such as: - **Kleoverse** - known as the platform of work in Web3, Kleoverse can be used by [DAOs](https://www.alchemy.com/dapps/top/daos) to curate their ideal decentralized social space. - **Noox** - Noox allows for the creation of customizable soulbound NFTs. - **POAP** - POAP allows for the creation and collection of unique community badges. - **GitPOAP** - GitPOAP is a contributor recognition platform that integrates POAP issuance into GitHub. - **FLOAT** - Create events for your web3 communities and prove that they were actually there. - **Sismo** - Sismo is a modular attestation protocol focused on decentralization, privacy, and usability. --- # How to Use Tools to Create a DAO URL: https://www.alchemy.com/overviews/how-to-use-dao-creation-tools.md Creating a DAO doesn't have to be a manual process. A set of tools facilitate the creation of [DAOs](https://www.alchemy.com/dapps/top/daos), making it possible for anyone to launch one with relative ease. These tools include features like raising funds, paying contributors, governing the organization, and managing reputation. Some of the most popular [**tools for creating DAOs**](https://www.alchemy.com/dapps/top/dao-tools) include Aragon, DAOstack, DAOhaus, and [Colony](https://www.alchemy.com/dapps/colony). The differences between these tools mostly come down to the level of decentralization they offer, the cost of actions like voting, and the focus of the team behind the tool. Aragon is perhaps the most well-known tool for creating DAOs. It's an open-source platform that anyone can use to create and manage a DAO, with a focus on being as decentralized as possible. ## How to create a DAO using aragon Here is a simple 6-step process to create the DAO: ### Step 1. Visit the aragon govern website The first step is to visit the [Aragon Govern website](https://govern.aragon.org/#/) and connect your [MetaMask](https://www.alchemy.com/dapps/metamask) wallet when prompted. ### Step 2. Begin creating the DAO To being the process of creating a DAO, now click the big blue **"Create DAO" button in the top-right of the page**, which you can see below. ### Step 3. Personalize the DAO To personalize the DAO, enter basic information like the name of the DAO, the DAO token name and symbol, and the number of symbols. ### Step 4. Configure the DAO Add configuration details like the execution delay, rules/agreement of the DAO. ### Step 5. Provide collateral details Provide collateral addresses that can schedule or challenge transactions. The collateral is required to schedule or challenge any transaction. **When entering your collateral addresses make sure you double check that everything is correct, otherwise incorrect addresses may lock your DAO.** ### Step 6. Review the DAO details to create Last but not least, you need to review the information. **Again it's important you make sure all the details you've provided are correct so you are not locked out of the DAO. Once you have double checked everything and are happy to continue, click "Confirm and create your DAO" at the bottom of the page.** **That's it you've now created a DAO. It's really that simple to create a DAO with Aragon.** The steps for doing so with the other tools are similar, although not all tools are as "point-and-click" as Aragon. ## List of DAO creation tools In addition to Aragon, there are many alternative DAO Creation tools including: - **Colony** - a flexible and easy-to-use framework forand running DAOs. It provides everything an organization needs to operate on-chain - **DAOstack** - an open source software stack for DAOs advancing the technology and adoption of decentralized governance. - **Openlaw** - an open-source and low code framework that enables peer-to-peer legal agreements. This reduces the friction of the overwhelming journey that people experience in creating their first DAO. - **Tribute** - known as the next generation DAO framework, designed to make DAOs easy to assemble, and removes the complexity of DAO core contract deployment. - **Charmverse** - a Web3 operations platform for a simple creation and management of typical DAO tasks. --- # How to Use DAO Credential Tools URL: https://www.alchemy.com/overviews/how-to-use-dao-credential-tools.md Credentials serve as a means of verifying an individual's specific skills or knowledge. Traditionally, credentials take the form of degrees earned from universities, certifications obtained from professional organizations, and badges acquired through online courses. Even traditional firms can face challenges when it comes to verifying credentials, often relying on methods such as resumes and word-of-mouth. However, these approaches have inherent flaws in terms of accuracy, efficiency, cost, time, and privacy. Background checks, in particular, suffer from these shortcomings. ## Why do DAOs need credential tools?  In a DAO, where everyone is pseudo-anonymous, verifying credentials is even more difficult. That's why there's need for [**credential tools in the DAO space**](https://www.alchemy.com/dapps/best/web3-credential-tools). These tools, like [Otterspace](https://www.alchemy.com/dapps/otterspace), aim to provide a better way to verify credentials. Otterspace is an open-source tool that anyone can use to create and manage credentials for a DAO. ## How to setup otterspace for your DAO Setting up Otterspace is a simple 3-step process: 1. The first step is to visit the [Otterspace website](https://otterspace.xyz/). Once you are on the website's homepage, click on "The Badge Protocol" to initiate the process of creating your badge. 2. From the Badge menu, continue scrolling until you come across the "Badges = Permissions" section and click on the "Build a Badge" button. 3. To personalize your Badge, enter the badge name, badge art, and expiry date as applicable and finally, register your Badge, as depicted in the screenshot below. **That's it, you've successfully created your own Badge.** After creating a badge, you can now transfer it to anyone, with the transaction being securely recorded on the blockchain. This offers a reliable method to verify an individual's credentials, eliminating the need to depend solely on word-of-mouth. ## List of DAO credential tools In addition to Otterspace, there are several alternative DAO Credential tools available including: - **iDX** - an open-source, multi-platform identity protocol that enables users to build a unified digital identity and effortlessly share their data across various apps. - **ENS** - known as your Web3 username, ENS \(Ethereum Name Service\), serves as a centralized hub for managing all your cryptocurrency addresses and decentralized websites. - **brightID** - a Web3 credential tool that is a non-intrusive, decentralized, open-source technology seeking to reform identity verification. - **Violet** - a powerful Web3 compliance and identity infrastructure platform for DeFi \(decentralized finanance\). - **Proof of Humanity** - a platform where users can build their Web3 decentralized digital identity that is AI-resistant and economically incentivized. - **Spruce** - an ecosystem of open-source tools to enable user-controlled identity anywhere on the web. --- # How to Use DAO Project Management Tools URL: https://www.alchemy.com/overviews/how-to-use-dao-project-management-tools.md Every startup knows the importance of project management, and a DAO is no different. A DAO needs to have clear goals and a plan for how to achieve them. That's where [**DAO tools for project management**](https://www.alchemy.com/dapps/best/dao-project-management-tools) come in. Unlike in a traditional organization, where a central authority figures out what needs to be done and assigns tasks to individuals, in a DAO everyone has visibility into what needs to be done and can volunteer to work on any task they're interested in. In order to manage all of this, [DAOs](https://www.alchemy.com/dapps/top/daos) need project management tools.  ## What are the best project management tools for a DAO? While traditional PM tools work, DAOs can benefit from web3-native tools like [Coordinape](https://www.alchemy.com/dapps/coordinape) and [Wonderverse](https://www.alchemy.com/dapps/wonderverse) that offer features like posting tasks tied to bounties, tracking progress on tasks, assigning roles to individuals, and most importantly visibility for everyone. ### DAO project management tools Besides Coordinape and Wonderverse, there many other DAO PM tools including: - **DeWork** - a PM tool similar to Asana and Trello to create, track, and manage projects in Web3 communities - **Charmverse** - a Web3 PM tool to help you manage members, coordinate tasks, facilitate decisions and hold each other accountable - **Clarity** - the DAO contribution platform helps you to manage and share task boards and docs, manage access with tokens, and receive bounty payouts**‍** - **0xStation** - a Web3 toolkit for proposing and funding ideas, and collaborations with your favourite Web3 builders**‍** - **Kleoverse** - known as the platform of work in Web3 To start managing decentralized projects within your DAO community, try one of these tools. ## How to setup coordinape for your DAO **Setting up Coordinape is a simple 5-step process:** 1. First, you need to visit the [Coordinape website](https://app.coordinape.com/) and connect your wallet. 2. Once your wallet is connected it will then take you to a welcome page, where you can "Start a Circle" using the web app's simple point-and-click interface to configure it. 3. To complete creating your Circle, you need to personalize it, which includes creating the name of the Circle, uploading a Circle logo, adding a username, and email address. Below, you can see what this simple interface looks like. 4. Once you've created your circle, you will be taken to your dashboard where you can manage, nominate and vouch for members, allocate rewards, give feedback, distribute rewards, and see the value flow. **That's it, you've now created your Circle using Coordinape and can seamlessly manage projects for your DAO.** ## Complimentary DAO tools If you're managing community projects for you DAO, there are complimentary types of tools that can help you organize and scale your operations. - **DAO Credentialing Tools** - assign non-transferrable tokens to DAO members. - **DAO Token Gating Tools** - enable NFT-based rules to create private channels in Discord. - **DAO Achievement Tools** - reward contributors and key members with non-transferrable achievement-based NFTs. - **DAO Reputation Tools** - score your member contributions and build more trust within your community. --- # How to Use DAO Reputation Tools URL: https://www.alchemy.com/overviews/how-to-use-dao-reputation-tools.md Reputation is fundamental to the modern world. We choose Uber drivers based on their reputation \(or rating\), decide which Airbnb to stay at based on reviews, and choose which Netflix shows to watch based on their ratings. Decentralized Autonomous Organizations \([DAOs](https://www.alchemy.com/dapps/top/daos)\) are collectives of individuals who share a common goal and actively contribute to achieving the objectives of the DAO. Unlike public and private companies, DAOs consist of both anonymous and pseudonymous individuals, as well as members who have chosen to disclose their identities \(known as "doxxed" members\). Due to the unique team structure of DAOs, it is essential to employ tools that facilitate the management of members' reputation. This helps to make informed leadership decisions and reward members based on their contributions. This article will provide an in-depth explanation of the role of [tools in managing DAO reputations](https://www.alchemy.com/dapps/best/dao-reputation-tools). It will cover the process of setting up a DAO reputation tool, specifically Karma, and also present a comprehensive list of alternative reputation tools available in the Web3 ecosystem. ## Why do DAOs need reputation tools? In a DAO, reputation is used to determine who gets to participate in decision-making and who doesn't. The challenge in a DAO is the pseudo-anonymity of the blockchain, which makes it difficult to know who is behind each wallet address. Manually managing reputation within a DAO can be an extremely time-consuming task. Fortunately, there are now several tools available that automate this process. DAO reputation tools such as **Karma** and **[DeepDAO](https://www.alchemy.com/dapps/deepdao)** monitor the activity of addresses within the DAO and assign a reputation score to each address based on its contributions and participation. DAO reputation tools provide the ability to promptly and effortlessly identify active and participating addresses within the DAO, as well as identify those that are inactive or not actively contributing. ## How to set up karma for your DAO There are multiple DAO reputation tools that exist. This is a simple overview of how to use Karma, a reputation aggregator that curates DAO contributor activity, provides visibility to the DAOs, and helps contributors showcase their work. ### 1. Add your DAO to karma Go to the [Karma website](https://www.showkarma.xyz/) and click the "Add Your DAO" button. ### 2. Complete the karma Google form The "Add Your DAO" button directs you to a Google Form where you can enter the details of your DAO. You will be required to provide the name of your DAO, your role, and your contact information. ### 3. Click submit Once you've provided all of the required information, click "Submit" and the Karma team will review your DAO's information and consider adding your DAO to their platform. ## List of DAO reputation tools In addition to Karma, there are several alternative DAO Reputation tools, including: - **Metopia** - a web 3 tooling infrastructure that creates data-based user reputation system for governance and reward applications. - **SOURC3** - a web3-native, decentralized platform for on-chain reputation management. - **PNTHN** - enables users, artists, designers, founders, software engineers, and more to track their reputations and establish credibility in the NFT space. - **Astraly** - developing on-chain reputation primitives and a reputation-based token distribution platform. - **Popula** - building internet reputation and monetization through content creation and social engagement. - **Underdog Protocol** - helps Solana communities manage their contributors' relationships on-chain. - **SourceCred** - helps communities incentivize contributors for their work. - **Orange** **Protocol** - a reputation and trust minting protocol. - **Krebit** - creates a pseudonymous economy for users to prove things about themselves without revealing any unnecessary information. Another plug-and-play reputation tool is SourceCred. You can find the [setup information here](https://sourcecred.io/docs/external/template-instance/). However, please note that using this tool requires proficiency in terminal, git, and JavaScript in order to properly set it up. --- # How to Use Token Gating Tools for your DAO URL: https://www.alchemy.com/overviews/how-to-use-dao-token-gating-tools.md **Token gating is a way of restricting access to a Decentralized Autonomous Organization \(DAO\) so that only certain people can participate.** This is done by creating a smart contract that gives or denies access to the DAO based on whether the person has a specific token, or even gating specific features based on the number of tokens a person has. ## Why do DAOs need token gating tools? Without [**tools for token gating**](https://www.alchemy.com/dapps/best/token-gating-tools), it's possible for someone to join a DAO and then abuse their power within the organization. Token gating can help to prevent this by ensuring that only people with a vested interest in the success of the DAO can participate. Token gating also helps prevent botnets from flooding a DAO with fake votes or contributions. ## How to setup token gating? **There are a few different approaches to token gating. The simplest is to just require that people have a specific token to participate in the DAO.** This could be the native token of the blockchain the DAO is running on \(like ether \(ETH\) for Ethereum\), or it could be a specific token created for the DAO. Another approach is to use a "stake-weighted" system, where people are given voting power based on the number of tokens they have staked. This approach is designed to incentivize people to hold tokens for the long term, as they'll lose their voting power if they unstake their tokens. ## How to setup token gating for your DAO using collab.land Using a token gating tool like [**Collab.Land**](https://www.collab.land/) is the easiest way to implement token gating for your DAO. [Collab.Land](https://www.alchemy.com/dapps/collab-land) is a fairly simple tool: It's just a Discord bot that manages token-gated channels and roles. 1. Create a Discord server\(s\). 2. Create the Discord roles you want Collab.Land to manage.  ### 1. Add a bot 1. Go to the [Collab.Land website](https://www.collab.land/) to start adding the Collab.Land bot to your server. 2. Add Collab.Land as admin for setup \(you can remove this later\). 3. The Collab.Land bot creates a collabland-config and a collabland-join channel. Do not delete or rename collabland-config or collabland-join. ### To configuring your TGRs \(token-granted roles\) **The last step is the most important, as it's where you'll configure the rules for who can have which roles.** **This is done by creating verious Discord roles and adding token configurations for each.** This is done through Collab.Land's web portal, that's made available once you add the bot to your Discord server, which you can see below. For full details Collab.Land offers a [**step-by-step guide**](https://collabland.freshdesk.com/support/solutions/articles/70000036689-discord-bot-walkthrough) to setting up a token-gated Discord server. From there, you just follow the instructions on the screen to add your token and configure the rules. Once you're done, Collab.Land will automatically manage the Discord roles for you based on who has what tokens. ## List of DAO token gating tools In addition to Collab.Land, there are many alternative DAO Token Gating tools including: - **MintGate** - a Web3 NFT tool to help you easily create, sell, and buy NFTs with unlockable content and gated links for token holders. - **Guild** - a Web3 token gating tool used to automate membership management for the platforms/[DAOs](https://www.alchemy.com/dapps/top/daos) your community already uses. - **Unlock** - a membership protocol used to create and manage your membership contracts. - **Koop** - a Web3 tool to help you manage your DAO governance by offering an improved layer of checks and balances through both off-chain and on-chain execution for proposals. --- # Meet Key3: Japan's Leading Web3 Education DAO URL: https://www.alchemy.com/overviews/key3-web3-education-in-japan.md Let’s overview two web3 use cases that were made by Japanese companies with Hakuhodo KEY3: The first case is about Japan Airlines \(JAL\) and the “[Kokyo NFT](https://www.kokyo-nft.jp/)”, a project that aims to improve the experience of the visitors of Japan in local regions.   The second use case is Calbee, leader in Japanese Snack Food, and how they used web3 to gamify the consumption of potato chips in Japan. ## Using Web3 to promote tourism in japan To promote tourism in lesser-known regions, JAL aims to create a sustainable flow of people through its partnership with Hakuhodo KEY3. The airline company released two rounds of collectible NFTs in February 2023 and 2024. Using web3 technology, the business co-creation project between Japanese companies and local craftsmen was titled “Kokyo NFT”. At first, JAL launched the experimental NFT project to revitalize the market and increase the involvement of visitors. As a matter of fact, Japan possesses a variety of fascinating regions with their own specialized experiences and crafts, but there are many that are not widely recognized.  The idea behind Kokyo NFT is to build a system that allows visitors, mainly inbound tourists, to maintain long-term relationships with the region before and after their trip. Indeed, the digital tokens are high-quality renders of goods and items unique to the region.   After their visit, owners of a NFT can receive physical goods over a long time period, for example: in the Kagoshima prefecture, the shochu bottle NFT serves as a ticket to visit the Kagoshima’s distillery and repeat the experience until 2026 to observe the aging process of the liquor. In addition, three bottles of the alcoholic beverage will be delivered to the NFT’s owner at the end of the fermentation. Through this experiment and in collaboration with Hakuhodo, JAL is communicating the attractiveness of lesser-known Japanese regions to the rest of the world and driving the engagement of its visitors. Because the first round was considered a success, JAL dropped a second round of NFTs in the beginning of 2024. Read more about Hakuhodo: [Wavehack 2024: Japan's Premier Web3 Hackathon](https://www.alchemy.com/overviews/wavehack-japanese-hackathon) ## Using Web3 to gamify consumer goods In a similar fashion, Calbee, a confectionery manufacturer, also developed a web3 project to augment their customer experience.  In partnership with Hakuhodo, they promoted the first-ever campaign in Japan to give away NFTs that steadily grow and evolve with each purchase. Indeed, Calbee’s NFT Chips Campaign offers consumers who buy a pack of three popular flavors of potato chips will be able to claim a free, evolving Potato NFT, as pictured above, by participating in an origami-style game nicknamed “Ori-pake” \(a wordplay with Origami and Package\). The game requires players to follow the instructions that are printed on the package and to fold the chips wrapper, much like an origami. The player can then confirm a successful origami by scanning it with Calbee’s smartphone application. Each time someone registers a new Ori-pake after consuming a bag of chips, their Potato NFT will evolve and grow. After registering five Ori-pakes, the Potato NFT will transform into its final form, which randomly features a character from the dozens of characters from the “Jagaverse” virtual world. Like the Kyoko NFT project, Calbee’s NFT Chips Campaign is not only collectible figures but also grants benefits in the real world: a hundred lucky winners will end up harvesting a special “gold character” Potato that entitles them to six free packets of Calbee potato chips. Moreover, the project promised to give access to new digital experiences in future to the holders of a fully evolved Potato NFT. Through these two use cases, KEY3 and these Japanese companies demonstrated new ways to generate consumer engagement with the latest web3 technology. Start-ups and companies that are interested in working with KEY3 are welcome to [write their inquiry on this form](https://www.key3.co.jp/en/inquiry). --- # A Complete Guide to Ethereum's Kiln Testnet URL: https://www.alchemy.com/overviews/kiln-testnet.md Deprecation Notice: The Kiln testnet was deprecated by the Ethereum Foundation during the week of September 12th, and as of September 26th, 2022, Alchemy's Kiln faucet has been deprecated. [Testnets](https://www.alchemy.com/overviews/what-are-testnets) allow developers to test the functionality of their applications before deploying them to a blockchain’s mainnet’s production environment. Before Ethereum switches its consensus mechanism from proof-of-work to proof-of-stake, developers must have a safe environment to test their applications and guarantee a smooth transition when the [Ethereum 2.0 upgrade](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022) takes place.  The Ethereum Kiln merge testnet helps developers test their applications on the post-merge Ethereum blockchain. The Kiln testnet launched as a proof-of-work blockchain in parallel with [the Beacon chain](http://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain), and merged on March 15, 2022, transitioning to a fully proof-of-stake system allowing developers, node operators, and stakers to get familiar with a post-merge Ethereum environment.  This article covers the essential aspects of the Kiln testnet, including why a developer would use it, how to acquire and send testnet Ether, and an overview of helpful tools for building, monitoring, and testing applications. ## **What is the kiln Testnet?** **The Kiln testnet simulates the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum)'s merge with the beacon chain, initiating the complete transition from proof-of-work to proof-of-stake network consensus.** Kiln’s merge testnet acts as a development environment for developers, node validators, and stakers to experiment with their application\(s\) functionality on the upcoming Ethereum upgrade to proof-of-stake consensus before [The Merge](http://www.alchemy.com/overviews/the-ethereum-merge) takes place.  [Kiln launched](https://blog.ethereum.org/2022/03/14/kiln-merge-testnet/) as a proof-of-work system and transitioned to proof-of-stake on March 15, 2022, and is maintained by the Ethereum developer team. The public Kiln testnet currently has 110,000 active validators with 3.5 million ETH staked. The network has processed 1.3 million total transactions at an average of eight thousand per day since its inception. Is the Kiln testnet deprecated? As of September 26th, 2022, Alchemy's Kiln faucet has been deprecated and no longer serving active requests as the Kiln Testnet has been deprecated by the Ethereum Foundation. ### **Why was a developer likely to use the kiln merge Testnet vs. other testnets?** When [choosing a testnet](https://www.alchemy.com/docs/choosing-a-web3-network), a developer would deploy to the Kiln testnet to experiment with their application's functionality on a proof-of-stake beacon chain.  For instance, if a developer created an NFT smart contract and wanted to ensure it ran as intended after the Ethereum merge, they could use the Kiln testnet to test the contract functionality.  There are many different types of testnets, and each serves a different purpose for testing applications. For an overview, read Alchemy’s [guide on Ethereum testnets](https://www.alchemy.com/overviews/what-are-testnets) to learn when different testnets should be utilized.  Many of the current testnets are still using the proof-of-work consensus and will soon be deprecated and replaced with proof-of-stake testnets.  ## **How to get Testnet ETH** Since the deprecation of the Kiln testnet, developers and Ethereum enthusiasts have transitioned to using the Sepolia testnet as an alternative testnet for testing Ethereum protocol upgrades and smart contracts. Here's a step-by-step guide on obtaining [Sepolia ETH](https://www.alchemy.com/overviews/sepolia-testnet) from a Sepolia testnet faucet that allows anyone to send a small amount of fake ETH to their wallet. 1. Head to Alchemy's [**free Sepolia Faucet**](https://sepoliafaucet.com/) 1. Sign in to your Alchemy account 1. Enter your wallet address or ENS name 1. Click "Send Me ETH" A popup will display ‘Transaction sent’ with the amount of Sepolia ETH deposited to your wallet. Next, you can check your Ethereum wallet to confirm you received the SepoliaETH. With your Sepolia ETH, you can now run smart contracts on the Sepolia testnet. To view the date and time, transaction fee, gas burnt, and other transaction details, you can look up your transaction hash on the [**Sepolia Etherscan**](https://sepolia.etherscan.io/). --- # What is the Kintsugi Testnet? URL: https://www.alchemy.com/overviews/kintsugi-testnet.md As the Ethereum Foundation prepared to launch the long-anticipated [consensus layer \(ETH 2.0\)](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022), the Kintsugi test network marked the first public exposure of the post-merge Ethereum environment with the transition to proof of stake.  In this article, you’ll learn how the Kintsugi testnet originated and why it existed. You’ll also learn how to get and send testnet Ether and tools to kickstart your development. **WARNING**: The Kintsugi testnet has been DEPRECATED. This article is purely informational. Instead, use the [**Sepolia** **testnet**](https://www.alchemy.com/overviews/sepolia-testnet) for testing smart contracts on a post-merge testnet. ## **What is the kintsugi Testnet?** The Kintsugi testnet was the first major [**test network**](https://www.alchemy.com/overviews/what-are-testnets) to experiment and familiarize the public with Ethereum in its post-merge context. Launched in December 2021 after four short-lived testnets, the Kintsugi testnet was the first public network to undergo [the Merge](https://www.alchemy.com/overviews/the-ethereum-merge) in preparation for the long-awaited consensus layer. Created and maintained by the Ethereum Foundation, the organization behind the community-driven development of the Ethereum chain, the Kintsugi merge testnet launched as a proof of work \(PoW\) network in parallel with a [Beacon Chain](http://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain) running proof of stake \(PoS\).  Throughout the Merge, the Kitsugi network then transitioned into using the PoS mechanism. As a public post-merge Ethereum testnet, Kintsugi sought to face rigorous tests for potential issues and attack vectors. ## **How was the kintsugi Testnet different from other testnets?** The Kintsugi testnet was designed specifically to test the Ethereum network after the merge of a PoW chain and the Beacon Chain. Hence, the network provided Ethereum developers with a safe environment to test their applications on a theoretical post-merge Ethereum chain and prepare for the consensus network. Other testnets exist for developers to test their applications and contracts before deploying on the PoS mainnet. As a developer, it boils down to their need to [choose a certain testnet](https://www.alchemy.com/docs/choosing-a-web3-network). Sepolia

", tooltip: "", icon: "" }, "2": { title: "

Oct 2021

", tooltip: "", icon: "" }, "3": { title: "

PoW

", tooltip: "", icon: "" }, "4": { title: "

Like-for-like representation of Ethereum

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Görli

", tooltip: "", icon: "" }, "2": { title: "

Jan 2019

", tooltip: "", icon: "" }, "3": { title: "

PoA

", tooltip: "", icon: "" }, "4": { title: "

Proof-of-Authority

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Kiln

", tooltip: "", icon: "" }, "2": { title: "

Mar 2022

", tooltip: "", icon: "" }, "3": { title: "

PoS

", tooltip: "", icon: "" }, "4": { title: "

Post-Merge (for ETH2), shadow fork of the mainnet

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Kintsugi

", tooltip: "", icon: "" }, "2": { title: "

Dec 2021

", tooltip: "", icon: "" }, "3": { title: "

PoS

", tooltip: "", icon: "" }, "4": { title: "

DEPRECATED, use Kiln; post-Merge (for ETH2)

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Ropsten

", tooltip: "", icon: "" }, "2": { title: "

Nov 2016

", tooltip: "", icon: "" }, "3": { title: "

PoW

", tooltip: "", icon: "" }, "4": { title: "

DEPRECATED, use Sepolia; the Merge to happen on Jun 8, 2022

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Rinkeby

", tooltip: "", icon: "" }, "2": { title: "

Apr 2017

", tooltip: "", icon: "" }, "3": { title: "

PoA

", tooltip: "", icon: "" }, "4": { title: "

DEPRECATED, use Görli and Görli Faucet

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Kovan

", tooltip: "", icon: "" }, "2": { title: "

Mar 2017

", tooltip: "", icon: "" }, "3": { title: "

PoA

", tooltip: "", icon: "" }, "4": { title: "

DEPRECATED, use Sepolia or Görli

", tooltip: "", icon: "" }, id: 6, }, ], }} /> The actual programming of applications on the testnet doesn’t change from the mainnet. The Kintsugi testnet maintained the same developer experience as the mainnet. Ethereum launched the testnet to catch any edge cases of a post-merge PoS Ethereum chain. ## **What happened to the kintsugi Testnet?** **The Kintsugi testnet was designed to identify major bugs with the post-Merge Ethereum environment. During the testing phase, it was forked into multiple chains causing it to be deprecated in favor of a new post-merge testnet, Kiln.** A month after the launch, the Kintsugi testnet hit a significant roadblock. Among countless tests and attack vectors the testnet underwent, **Marius van der Wijden**, an Ethereum core developer with the [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) client team, was able to cause the network to split twice.  By altering the hash of a newly submitted block to its parent hash, van der Wijden’s test forced conflicts between different Ethereum clients. Whereas the expected result was all clients rejecting such a faulty block, some clients accepted the block as it used the cache of the valid parent block.  The Geth clients rejected the fault block, while [Nethermind](https://www.alchemy.com/dapps/nethermind) and Besu clients accepted the block, leading to the first split. Then, some Geth nodes running variations of the client disagreed on the result internally, causing the second network split. Because the Kintsugi network lost the ability to finalize transactions due to multiple forks, the Ethereum Foundation [introduced the Kiln Merge testnet](https://blog.ethereum.org/2022/03/14/kiln-merge-testnet/) in March 2022 to test the Merge once again, hoping to transition existing long-lived testnets finally.  Since then, the Kintsugi testnet has been deprecated, and the Kiln network was used to carry out the first mainnet “shadow fork.” ## **Conclusion** The launch of the Kintsugi testnet marked a significant milestone for the Ethereum Foundation in completing The Merge. By opening the Kintsugi testnet up to Web3 developers, the Ethereum Foundation onboarded existing developers to deploy applications and battle-test the network with edge cases. Although the Kintsugi network was deprecated in favor of the Kiln merge testnet, the network served its purpose of catching significant bugs.  To get testnet ETH on popular testnets, [create a free Alchemy account](https://www.alchemy.com/?a=dbb227a12a). To learn more about testnets, visit Alchemy’s ever-expanding catalog of [developer resources on Ethereum](https://www.alchemy.com/overviews). --- # Kintsugi vs. Kiln testnet URL: https://www.alchemy.com/overviews/kintsugi-vs-kiln.md **Note**: As of** September 12th, 2022**, the Kiln testnet was deprecated by The Ethereum Foundation, and Alchemy's Kiln faucet was deprecated on** September 26th, 2022**. As the Ethereum blockchain matures, [more test networks](https://www.alchemy.com/overviews/what-are-testnets) have emerged to help core developers and Ethereum dApp developers prepare for Ethereum’s upcoming merge to proof of stake. Two of the testnets, Kintsugi and Kiln, focus on preparing for the upcoming launch of [Ethereum’s new consensus layer](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022) upgrade.  This article will compare the Kiln and Kintsugi testnets and show how to use them. ## **What are the similarities between the kiln Testnet and the kintsugi Testnet?** **The biggest similarity between Kiln and Kintsugi is their consensus mechanism: proof-of-stake \(PoS\) instead of proof-of-work \(PoW\).** Having undergone [the long-anticipated Merge](https://www.alchemy.com/overviews/the-ethereum-merge), both Kiln and Kintsugi use the eco-friendly consensus layer with cheaper gas. The client developer intends this transition from PoW to PoS to uncover any major issues before the completion of the Merge later this year.    The [Kintsugi test blockchain](https://www.alchemy.com/overviews/kintsugi-testnet) was launched by the Ethereum Foundation as an Ethereum community initiative in December 2021. Kintsugi was the first “longer-lived public testnet” intended for initial merge testing. Similarly, the Kiln testnet was launched by Ethereum in March 2022 as the second testnet to experiment with the post-merge environment. Both merge testnets are shadow forks of the Ethereum chain. Thus, they are identical to the Ethereum chains and thus are completely EVM-compatible. As the testnets simulate post-merge environments, they use Beacon nodes and Execution engines in their consensus clients, handled by the existing execution layer client \(pre-merge\).  While both layers maintain independent API endpoints, they are intertwined with peer-to-peer connections to bridge the Eth1 clients with the PoS mechanism of Beacon chains.  More information about [Ethereum’s post-merge architecture](https://tim.mirror.xyz/sR23jU02we6zXRgsF_oTUkttL83S3vyn05vJWnnp-Lc) can be found in Tim Beiko’s AllCoreDevs update 007 on Mirror. ## **What are the differences between the kiln Testnet and the kintsugi testnets?** **The main difference between the Kiln and Kintsugi testnets is one is still active and the other is deprecated.** In its early months, the Kintsugi testnet experienced major client bugs that resulted in the network forking twice. Soon after, the [Kiln testing network](https://www.alchemy.com/overviews/kiln-testnet) was launched with improvements to re-test the post-merge environment. After the launch of the Kiln testnet, the Kintsugi network was officially deprecated. ## **Should I use the kiln Testnet or the kintsugi Testnet?** Since the Kintsugi and [Kiln testnet are officially deprecated](https://blog.ethereum.org/2022/09/09/kiln-shutdown), we recommend developers use the[ Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) to test their [apps](https://www.alchemy.com/dapps/top/defi-dapps), as Alchemy has full Sepolia support and a free[ Sepolia faucet.](https://sepoliafaucet.com/) --- # Launch a Memecoin on Robinhood Chain | Alchemy URL: https://www.alchemy.com/overviews/launch-a-memecoin-on-robinhood-chain.md Robinhood built its chain for tokenized stocks, but deployment is permissionless, so anyone can ship anything they want on it. Mainnet went live on July 1, 2026, and within two weeks [DEX volume on the chain jumped from around $200K to more than $500M](https://defillama.com/chain/robinhood-chain), led by meme tokens like CASHCAT. A memecoin is an ERC20 contract with a story. The contract is the easy half, and on Robinhood Chain it works exactly like it does on any EVM chain. You can deploy one yourself with Foundry in about twenty minutes, or hand the whole flow to a coding agent. Both paths are below, including a copy-paste prompt that lets any agent that can run shell commands drive the launch with the Alchemy CLI. ## What is Robinhood Chain? [Robinhood](https://www.alchemy.com/rpc/robinhood) Chain is an Ethereum layer 2 built on the Arbitrum Orbit stack, operated by Robinhood and designed for tokenized real-world assets. It settles to Ethereum, uses ETH for gas, and runs under [chain ID 4663](https://robinhood.com/us/en/support/articles/robinhood-chain-mainnet/). It is fully EVM-compatible, and deployment is permissionless. [Robinhood Chain mainnet is live on Alchemy](https://www.alchemy.com/blog/robinhood-chain-mainnet-is-live-on-alchemy) with [RPC](https://www.alchemy.com/rpc-api) and WebSockets, [webhooks](https://www.alchemy.com/webhooks), [gas sponsorship](https://www.alchemy.com/gasless-transactions), and the [Data API](https://www.alchemy.com/docs/data). Endpoints live on the Robinhood Chain page. If you have deployed to Ethereum, Arbitrum or Base before, nothing here will surprise you. Same tooling, same bytecode, different chain ID. ## How do you deploy the token? You need three things before anything touches the chain: - **A funded wallet.** Gas is paid in ETH - **The token contract.** For a memecoin, a minimal fixed-supply ERC20 is the standard shape. Our [guide to the ERC-20 standard in Solidity](https://www.alchemy.com/overviews/erc20-solidity) covers what every function does. - **An RPC endpoint.** Create a free app in the [dashboard](https://dashboard.alchemy.com/) and select Robinhood Chain. The [Robinhood Chain API quickstart](https://www.alchemy.com/docs/reference/robinhood-chain-api-quickstart) walks through the first call. The contract itself is short. Fixed supply, no mint function, no owner, so there is nothing to rug later: Save that contract as `src/Bagel.sol` (`forge init` scaffolds a `Counter.sol` you can delete), then deploy it with Foundry: That last command puts the contract live on mainnet. `cast wallet import` stores the key in an encrypted keystore and `--account` unlocks it with a password at deploy time, which keeps the raw key out of your shell history and the process list. Robinhood also publishes its own [Foundry deployment tutorial](https://docs.robinhood.com/chain/deploy-smart-contracts) if you want the chain team's version. ## What happens after the deploy? A deployed contract is a token nobody can buy. The launch becomes real when you seed a liquidity pool on one of the DEXs already live on the chain and start distributing supply. This is also where buyers will judge you. Experienced memecoin traders check whether the supply is fixed, whether liquidity is locked, and how much the deployer wallet holds before they touch a token. ## Can an agent launch the coin for you? Every step above is scriptable, which makes it a natural job for a coding agent. The [Alchemy CLI](https://www.alchemy.com/agents) was built for exactly this. Every command takes `--json --no-interactive` so an agent can parse the output, and [agent wallets](https://www.alchemy.com/blog/agent-wallets-alchemy-cli) give it a scoped session to sign with instead of a raw private key. This works with any agent that can run shell commands, Claude Code, Cursor, an OpenAI-based agent, or your own script. Claude Code users get a shortcut: the [Alchemy plugin](https://www.alchemy.com/blog/alchemy-claude-plugin-now-live) installs the CLI's skills and MCP server in one command. One honest note on the division of labor. The CLI has no deploy command, so the agent runs the deployment through Foundry against your Alchemy endpoint and uses the CLI for everything around it, checking balances, pulling receipts, reading the contract back, and moving tokens. Those two halves sign differently, and it matters: contract creation goes through your Foundry keystore account, while the CLI steps sign with the agent wallet session. Set up the keystore before you hand the prompt over, or the agent will reach the deploy step with no key it can use. Install the CLI with `npm i -g @alchemy/cli`, then give your agent this prompt. It interviews you for the token details before it writes a line of Solidity: \` using \`--dry-run\` first. Show me the preview and wait for my approval before the real send. The logo never goes onchain. Keep the file path and hand it back to me for the block explorer and token list submissions once the contract is live. Ask before every transaction that spends funds.`} /> Nothing in the prompt is specific to any one agent product, since the CLI and Foundry do all the actual work. For a deeper pattern on wiring agents to wallets and onchain data, see our guide to [building onchain agents](https://www.alchemy.com/blog/how-to-build-onchain-agents). The prompt keeps every irreversible action behind your approval. When an agent holds a funded wallet on mainnet, that dry-run-then-approve gate is the difference between a preview and a live transaction. ## Start building on Robinhood Chain Robinhood Chain endpoints are live on our free tier. Create an app in the [dashboard](https://dashboard.alchemy.com), select Robinhood Chain, and you have a mainnet endpoint on day one. No contracts, no waitlist, no minimum commitment. If you are taking the agent path, the [Alchemy CLI](https://www.alchemy.com/agents) gets you from install to a signed mainnet transaction in a few minutes. Robinhood built the chain for stocks. Its first two weeks showed it will run whatever people deploy on it. --- # Layer 1 Blockchain Ecosystems: Overview URL: https://www.alchemy.com/overviews/layer-1-blockchain-ecosystems-overview.md ## Introduction Since its launch in 2015, Ethereum has had tremendous growth due to its first-mover advantage. Ethereum mainly focuses on providing a way to enable smart contracts without the interference of a third party. This eliminates the need for centralization and provides a significant move towards decentralization.  Although Ethereum designed its systems to be flexible, it still suffers from problems such as heavy congestion and slower, expensive transactions due to parabolic growth in network effects. This problem is related to The Scalability Trilemma, a term coined by Vitalik Buterin \(founder of Ethereum\). The Scalability Trilemma refers to the tradeoffs crypto projects often face when optimizing the underlying architecture of their own blockchains. This has led to the growth of alternative layer ones, or L1s, that can provide another way to resolve the technical limitations through the current blockchains we face today. ## Avalanche Avalanche is a blockchain platform designed for scalability and an open-source platform that is an alternative to Ethereum. Their consensus system makes them a faster and more efficient alternative. Ultimately, this helps them focus on better transaction speeds, gives them lower costs for transactions, and helps them be more eco-friendly. Just like Ethereum using ETH as its currency for transactions, Avalanche uses the AVAX token, which in turn also is the currency used for its own blockchain transactions. Ava Labs launched Avalanche in September of 2020. Cornell researcher, Emin Gün Sirer, leads Ava Labs and aims to provide specific features geared towards onboarding developers from Ethereum so they can easily make the switch over to the Avalanche system. ## Avalanche's tools and libraries Avalanche provides a variety of tools for developers to use within its blockchain: - Abigen: Compiles solidity contracts into golang to deploy and call contracts programmatically. Some tools used to interact, monitor, and communicate the nodes within the network alongside Abigen include AvalancheJS, Avalanche’s Public API, Grafana Dashboards, and Postman Collections. - Avalanche Wallet SDK: A typescript library used for creating and managing non-custodial wallets.  - Avalanche Local Simulator: A tool to help developers spin up local instances of the Avalanche blockchain. - Avalanche Network Runner: A shell client deploys local networks or communicates with nodes. It also does rapid launch test network environments.  - Index API: Enables developers to index the Avalanche network. ## Technical differences in development Founding Year

", tooltip: "", icon: "" }, "2": { title: "

2015

", tooltip: "", icon: "" }, "3": { title: "

2019

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Transactional Output

", tooltip: "", icon: "" }, "2": { title: "

15-20 tps

", tooltip: "", icon: "" }, "3": { title: "

>4,500 tps

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Transactional Finality

", tooltip: "", icon: "" }, "2": { title: "

5-6 min

", tooltip: "", icon: "" }, "3": { title: "

<2 sec

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Energy Efficient

", tooltip: "", icon: "" }, "2": { title: "

No; GPU-Optimal

", tooltip: "", icon: "" }, "3": { title: "

Yes; CPU-Optimal

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Number of Validators

", tooltip: "", icon: "" }, "2": { title: "

~300k

", tooltip: "", icon: "" }, "3": { title: "

~1.2k

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Sybil Protection

", tooltip: "", icon: "" }, "2": { title: "

PoW

", tooltip: "", icon: "" }, "3": { title: "

PoS

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Avalanche is fast and cost is low Avalanche supports the development of Ethereum [apps](https://www.alchemy.com/dapps/top/defi-dapps), which confirm several thousands of transactions. The transaction speed is much faster than other blockchain platforms in the market. This is due to a combination of the network’s components, the Virtual Machine, Ethereum’s RPC calls, and much more. This speed enables a much better experience for users overall. ### Deployment of customized blockchains Nodes within Avalanche must reach a consensus within a certain timeframe.  ### Easy access to the network Ease of access to the network is better since Avalanche is able to handle millions of validators that are engaged constantly throughout the validation process. The blockchain doesn’t require any highly configured hardware for someone to join as a validator.  ### Hard to perform attacks In order for an attack to occur within Avalanche, one must be able to hold at least 80% of the token. This would improve the vast security of the network itself. ### Avalanche’s proof of stake Avalanche uses a Proof-of-Stake \(PoS\) system instead of Proof-of-Work \(PoW\), which Ethereum uses. Ethereum has more energy use and a lack of scalability due to its PoW system \(for now\).  Since Avalanche uses a PoS model, this allows holders of a token to lock investments in return for a chance to earn rewards. Transactions on Avalanche are verified by Stakers supporting the network. Stakers are able to help the network prevent fraud by punishing those who don’t comply. Validators that don’t do their job can have their stake slashed, meaning a portion of their crypto held in stake can be lost. Overall, Avalanche’s PoS is much faster and cheaper, which provides a great reason to choose its blockchain over other models. Mining capacity depends on computational power

", tooltip: "", icon: "" }, "2": { title: "

Validating capacity depends on stake of the network

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Receive block rewards by solving cryptographic puzzles

", tooltip: "", icon: "" }, "2": { title: "

Receive transaction fees as a reward

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Hacks would require a computer more powerful than 51% of the network

", tooltip: "", icon: "" }, "2": { title: "

Hacks would require owning 51% of all the cryptocurrency within the network

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

The greater the hash, the more secure the network would be

", tooltip: "", icon: "" }, "2": { title: "

Staking locks crypto assets and secure the network

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

High energy consumption and more expensive

", tooltip: "", icon: "" }, "2": { title: "

Less cost and energy efficient

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

More reliable

", tooltip: "", icon: "" }, "2": { title: "

Less reliable

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Primary network Avalanche is unique  in the three blockchains that it uses to achieve superior robustness and functionality. The Primary Network, a special subnet, validates and secures these three blockchains, each of them serving a different role. These blockchains are as follows: - X-Chain \(Exchange Chain\): Used for issuing digital assets. Enables the creation and the exchange of assets within the blockchain. - C-Chain \(Contract Chain\): Also known as the Conversion chain, it’s used as the smart contract blockchain for Avalanche. This enables Ethereum developers to convert compatible applications and assets to Avalanche \(Avalanche’s EVM\). The protocols involved make the process faster, cheaper, and seamless. - P-Chain \(Platform Chain\): This blockchain is responsible for coordinating validators and monitoring subnets. This is where validators stake AVAX tokens to secure the network.  ## Challenges for Avalanche The main challenge of Avalanche is that it faces stiff competition like Ethereum and other competing projects coming out in the future. In addition, it’s required that validators must stake 2,000 AVAX tokens in order to become a validator. Lastly, Avalanche does not punish validators that are considered negligent or have done malevolent behavior by making them lose their AVAX. This means there will never be a penalty with a decrease in the $AVAX cryptocurrencies staked to validate the network.  ## Metrics - Market Cap: ~$20b - TVL: $11.2b - Top apps \(Past 30 Days\): [Trader Joe](https://www.alchemy.com/dapps/trader-joe), Pangolian Exchange, [Sushi](https://www.alchemy.com/dapps/sushi), NFTrade, Bogged.Finance, Kalao, [Aave](https://www.alchemy.com/dapps/aave), Platypus, Kill Rich, Cradabra, etc. - 1 Day Fees: [$834,536.42](https://cryptofees.info/protocol/avalanche) - 7 Day Avg. Fees: [$758,107.12](https://cryptofees.info/protocol/avalanche) - Number of Validators: 1,249 ## Solana ## Introduction Solana is one of the hottest blockchains currently in the market. Solana is unique in that it has a different consensus system compared to other blockchains called Proof of history \(PoH\). Just like Ethereum, Solana continues to attract developers and enables them to create high-potential projects in the space. Solana provides a “stateless” architecture and has become highly scalable due to its reduced memory consumption. Anatoly Yakovenko founded Solana in 2017, after publishing a white paper on Proof of History. In 2018, Greg prototyped the first implementation of the whitepaper, which is open source. The project was originally named Loom but rebranded to Solana on March 28th. The project debuted as an ICO in 2020. Solana, now run by the Solana Foundation as [Solana Labs](https://www.alchemy.com/dapps/solana), continues to be the main contributor.  ## Solana's tools and libraries Solana currently provides its own Command Line Interface and Web3.js SDK that enables developers to communicate with the blockchain and programs from Solana itself \(just like an API\). Solana has many other tools that are open-source like a [Solana faucet](https://www.alchemy.com/dapps/list-of/crypto-faucets-on-solana), a Metaplex Metadata Finder, and a Merkle Distributor. More tools are provided by Solana’s strong community here: ​​[https://soldev.app/library/tools](https://soldev.app/library/tools). You can find out more about the community here: [https://solana.com/developers](https://solana.com/developers) ## Technical differences in development As Ethereum and other blockchains use Proof of Work or Proof of Stake consensus systems within their blockchains, Solana relies on a Proof of History consensus system. This use of PoH makes the blockchain much faster, scalable, and energy-efficient overall. Founding Year

", tooltip: "", icon: "" }, "2": { title: "

2015

", tooltip: "", icon: "" }, "3": { title: "

2018

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Transactional Output

", tooltip: "", icon: "" }, "2": { title: "

15-30 tps

", tooltip: "", icon: "" }, "3": { title: "

50,000-65,000 tps

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Transactional Finality

", tooltip: "", icon: "" }, "2": { title: "

5-6 min

", tooltip: "", icon: "" }, "3": { title: "

0.4-1 sec

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Energy Efficient

", tooltip: "", icon: "" }, "2": { title: "

No; GPU-Optimal

", tooltip: "", icon: "" }, "3": { title: "

Yes; CPU-Optimal

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Number of Validators

", tooltip: "", icon: "" }, "2": { title: "

~300k

", tooltip: "", icon: "" }, "3": { title: "

~1.5k

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Consensus Mechanism

", tooltip: "", icon: "" }, "2": { title: "

PoW

", tooltip: "", icon: "" }, "3": { title: "

PoS + PoH

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Why proof of history? PoH, events, and transactions are hashed with the SHA256 hash function. This makes it easier for validators to track hashes in chronological order and process transactions as they come. Validators can process transactions without waiting for a block to be filled. Because of this, Solana has the ability to process more transactions per second.  Since the hashing process creates a clear and verifiable sequence of transactions, the validator can add the transactions to a block without the need for a conventional timestamp. Overall, it’s a way for validators to keep track of hashes in chronological order with Solana’s “delay function”,  encoding time as data. ### Turbine Solana uses a protocol called Turbine that breaks down information into smaller bits, which enables the information to be easier to process. Solana is able to solve bandwidth problems and increase the capacity to process transactions this way. Turbine is similar to Ethereum’s plans for Sharding. ### Gulf stream Gulf Stream is another protocol Solana uses in order to push transaction caching and forwarding towards the edge of the network. Clients and validators forward transactions to the expected leader and allow validators to execute transactions ahead of time. In addition, Gulf stream allows for smaller confirmation times, faster leader switch times, and reduced memory pressure on validators. This solution is not possible if networks have a non-deterministic leader or don’t have the ability to know initial conditions in order to predict an outcome. ### Sealevel For Ethereum, its EVM is considered single-threaded which means that only one smart contract can modify the state of the blockchain at a time. However, Solana is able to be parallel-threaded, meaning that smart contracts can be run without overlapping one another.  Solana uses Sealevel, which is a hyper-parallelized transaction processing engine that is used to scale across SSDs \(solid-state drives\) and GPUs \(graphics processing units\). This enables Solana to scale horizontally rather than vertically. ### Pipelining Pipelining is a technique Solana uses to make sequencing data inputs into hardware components. This results in enabling data to be verified and duplicated across nodes at a rapid rate. Overall, It’s made to be an effective CPU \(central processing unit\) design improvement. ### Cloudbreak Essentially, this is a horizontally-scaled architecture for Solana. Since scaling computing is not sufficient enough for Solana, memory, needed to store account information, becomes a bigger problem. Cloudbreak allows Solana to scale without the use of sharding. Solana made Cloudbreak to simultaneously utilize all hardware for indexing data, reading the database, and writing transaction inputs. ### Archivers Finally, Solana is able to store data through the use of Archivers. Archivers enable the network to offload data from the validators to the Achievers themselves. This is what allows nodes to duplicate information with very few hardware requirements. Archivers allow for the use of secure and efficient blockchain data on a distributed and public ledger. Archivers are efficient at what they do because they only store small parts of the state itself. However, the networks will ask Archivers to prove that it's storing data they are supposed to store. This technique would be called Proof of Replication \(PoRep\). ## Challenges for Solana Like other blockchains, one challenge for Solana is that it needs to secure a strong position in the cryptocurrency world. Another challenge is staking centralization.  Potential security risks exist if, say, a Standard Custody stakes a significant portion in Solana. Something going wrong with the Standard custody could bring down Solana’s blockchain.  In addition, a high concentration of Solana in one place is bad for the blockchain since having  Solana gives voting power. Finally, liquidity and price data are important since a great deal of liquidity is on Project Serum, which made a tool on Solana called Serum DEX. Damage on Serum DEX could cause damage to Solana.  Recently, Solana suffered a network outage due to bots performing duplicate transactions excessively. This is an increasing problem, as network stability isn’t guaranteed within Solana. ## Metrics Market Cap: ~$30.5b TVL: $7.2b Top apps \(Past 30 Days\): [Raydium](https://www.alchemy.com/dapps/raydium), MeanFi, Orca, [Magic Eden](https://www.alchemy.com/dapps/magic-eden), Solanart, Solend, Saber, Solsea, Wormhole, Mercurial, etc. 1 Day Fees: [$108,723.89](https://cryptofees.info/protocol/solana) 7 Day Avg. Fees: [$79,375.03](https://cryptofees.info/protocol/solana) Number of Validators: 1,531 ## Terra ## Introduction Terra is a blockchain protocol that allows an abundant use of algorithmic stable coins. Stable coins are pegged to the price of any fiat currency, like the US dollar or Euros. Because of this, users on the Terra blockchain can save, exchange, or spend Terra stable coins. Terra provides more stability than other blockchains like Bitcoin, Ethereum, and other altcoins.  Throughout the Terra blockchain, the word Terra also refers to one of the two cryptocurrencies within the Protocol. The other important token within the Terra blockchain is called Luna. We’ll explain more about this later. Terra Labs made the Terra blockchain with the help of Terra Alliance \(15 large e-commerce companies that have garnered large transaction volume and users in Asia\). Co-founded by Daniel Shin and Do Kwan, they considered price stability and adoption to be important in taking the next steps towards massive adoption of cryptocurrency and blockchain infrastructure.  ## Terra's tools and libraries Frontend SDK

", tooltip: "", icon: "" }, "2": { title: "

Terra.js, Terra SDK

", tooltip: "", icon: "" }, "3": { title: "

Web3.js, Web3py

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Browser Extension

", tooltip: "", icon: "" }, "2": { title: "

Station CX

", tooltip: "", icon: "" }, "3": { title: "

MetaMask, MEW

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Local Testnet

", tooltip: "", icon: "" }, "2": { title: "

LocalTerra

", tooltip: "", icon: "" }, "3": { title: "

Ganache

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Contract Language

", tooltip: "", icon: "" }, "2": { title: "

Rust

", tooltip: "", icon: "" }, "3": { title: "

Solidity, Vyper

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Terra provides the same tools as Ethereum, except it's made and provided by the protocol itself. Just like how Ethereum uses Web3.js and Web3py as a frontend python SDK, Terra uses Terra.js or the Terra SDK. In addition, Terra has a browser extension \(Station CX\) and its own local test net for experimentation on the Terra blockchain. Finally, instead of using Solidity, Terra uses Rust instead.  Terra provides its own command line interface called Terrad to help interact with the Terra blockchain. Terra also has a core module called Terra Core. Terra Core enables users to reference implementation of the Terra protocol, written in Golang. The blockchain can provide multi-sig accounts. A mult-sig account is a special key that can require more than one signature to sign transactions, which is useful for multiple parties wanting consent for transactions. Finally, Terra provides a faucet called Terra Testnet Faucet, which lets users receive tokens for the latest Terra testnet. ## Technical differences in development Terra functions differently compared to Ethereum and most other blockchains because its main role is to create algorithmic [stablecoins](https://www.alchemy.com/dapps/top/stablecoins). Terra aims to enable a decentralized economy and increase participation in new financial primitives to help innovate the concept of money. Founding Year

", tooltip: "", icon: "" }, "2": { title: "

2015

", tooltip: "", icon: "" }, "3": { title: "

2018

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Transactional Output

", tooltip: "", icon: "" }, "2": { title: "

15-30 tps

", tooltip: "", icon: "" }, "3": { title: "

10,000 tps

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Transactional Finality

", tooltip: "", icon: "" }, "2": { title: "

5-6 min

", tooltip: "", icon: "" }, "3": { title: "

5-6 sec

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Energy Efficient

", tooltip: "", icon: "" }, "2": { title: "

No; GPU-Optimal

", tooltip: "", icon: "" }, "3": { title: "

Yes; CPU-Optimal

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Number of Validators

", tooltip: "", icon: "" }, "2": { title: "

~300k

", tooltip: "", icon: "" }, "3": { title: "

130

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Consensus Mechanism

", tooltip: "", icon: "" }, "2": { title: "

PoW

", tooltip: "", icon: "" }, "3": { title: "

PoS

", tooltip: "", icon: "" }, id: 5, }, ], }} /> ### Tokenomics What makes Terra unique is that it is secured by a distributed consensus on a staked asset called Luna. This supports the stablecoins that are pegged to the fiat currencies algorithmically.  The protocol consists of two main tokens: - Terra: These are the coins that are pegged or tracked to the price of fiat currencies. For example, UST would be pegged to USD which is the currency for the United States. It’s common practice to name Stablecoins for their fiat counterparts. Users are able to receive new Terra tokens by burning Luna tokens. All Terra denominations exist in the same pool. - Luna: Mainly used for governance, staking, and mining, the Luna is Terra protocol’s native token used to absorb the price volatility of Terra. Staking luna rewards validators for recording and verifying transactions on the Terra blockchain. These rewards come in the form of fees. There is a correlation here: the more Terra is utilized, the higher in value Luna becomes. ### Proof of stake Just like Avalanche, Terra uses a Proof of Stake consensus protocol, as opposed to Ethereum’s Proof of Work consensus protocol. Terra exists using the consensus mechanism currently used by Tendermint, securing its network through the use of validators.  ### Transaction fees The transaction fee in the Terra network is quite low, compared to that of Ethereum’s ecosystem. This is because of the price stability algorithm that ensures lower transaction fees and seamless cross-border transactions. Terra aims to eliminate the use of third parties in order to complete transactions without incurring high fees.  In addition, every payment gets a fee of only 0.6% within six seconds or less. This is a much better alternative compared to traditional credit card payments charging 2.8% or more. ### Interoperability The Terra blockchain is known to be built on top of Cosmos IBC \(Inter-Blockchain Communication protocol\). This enables Blockchain Interoperability; the ability for a network like Terra to see and access information on many blockchain systems, meaning that networks can communicate amongst themselves. For example, Terra is able to run on Solana, Ethereum, and other blockchains as more developers are beginning to use the protocol. ## Challenges for terra The market cap of Terra is much smaller than Ethereum, so Terra still faces competition to reach a spot towards innovation in the finance economy. In addition, if Terra somehow does not peg to the price of fiat currencies, it could lead to huge risk, losses, and damage towards the protocol. Terra subjects Validators and delegators to slashing if they don’t perform or if they misbehave in their role. An example of not completing a role as a validator or delegator includes signing twice on a transaction \(Double signing\), being unresponsive \(downtime\), or missing votes in the Oracle process. ## Metrics Market Cap: ~$33b TVL: $23.13b apps: Mirror, Achor, Terraswap, Pylon, Terra Station, Chai, Mavalo, Spectrum, LoTerra, Preserver, etc. Total Number of Validators: 305  Number of Active Validators: 130 ## Conclusion Many of these Ethereum ecosystems provide a compelling reason for developers to build on top of a more scalable, interoperable network. But the challenges for these Layer 1 blockchains will play out as they face tough competition onboarding more users and tackling the scalability trilemma. Time will tell if Ethereum will be the main solution to mitigate scaling problems or if viable alternative L1s will begin to dominate the space in the future. --- # What is lazy minting NFTs? URL: https://www.alchemy.com/overviews/lazy-minting.md [Non-fungible Tokens \(NFTs\)](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155) are used by artists, creators, and web3 startups to build community, sell digital art, and create token-gated experiences. There is a lot of work that goes into [creating a successful NFT project](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project), and NFT launches can be damaged by high gas prices, and bots that prevent community members from minting NFTs and unfairly influencing the price by owning a large share of tokens. NFT developers have launched a lot of interesting solutions to lower NFT costs like the [ERC-721A batch minting smart contract](https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts), and in the case of lazy minting, defer the cost of minting NFTs to the buy instead of charging the seller who creates the NFT. ## What is lazy minting? Lazy minting lets NFT artists sign “minting authorizations” that allow a user to mint NFTs at a later time. These mint authorization signatures are free to produce, and guarantees no NFTs can be minted without prior approval. Lazy Minting is a way to defer the minting until _right before_ the NFT is sold. This way, buyers pay the minting fee after their NFT is sold, making NFT creation affordable and equitable for creators. Today, major NFT platforms like [OpenSea](https://www.alchemy.com/dapps/opensea) and [Rarible](https://www.alchemy.com/dapps/rarible) offer lazy minting as an option. ### Why is lazy minting important? Lazy minting is important because it helps artists save money minting NFTs, which is a primary concern when gas prices for transacting on Ethereum are high. When the Ethereum blockchain is congested, the price of gas can become extremely high, which forces NFT artists to pay large amounts of ETH to list their art for sale on NFT marketplaces.  The cost to mint an NFT can become quite high during hyped NFT launches, bull markets, and as an outcome of market-related news where many people try to conduct on-chain transactions. ## How does lazy minting work? Lazy minting makes use of off-chain NFT creation. This means that the NFTs artists create are not officially on the blockchain until someone buys the NFT. Once the lazy-minted NFT is purchased, it is minted on-chain and the gas costs to mint the NFT is covered by the buyer and not the seller. We can generalize the process of lazy minting into 3 steps: 1. The **creator** lazy mints an NFT using a smart contract. This contract will mint and sell the NFT on the seller’s behalf. 1. The **seller** provides a private signature detailing a wallet and NFT details \(e.g. token ID, price, etc.\) to authorize the lazy minting process. 1. The **buyer** purchases the NFT, pays a price that covers the minting cost and the NFT itself. The NFT is then put on-chain and transferred to the buyer’s wallet. ## How to lazy mint NFTs on OpenSea If you are a 1-of-1 NFT artist selling art on OpenSea, you can lazy mint NFTs through the OpenSea Account Manager automatically. 1. Go to opensea.io and create an account.  1. Click create in the upper-right-hand corner 1. Upload your NFT content and fill in the necessary information \(the only required field is Name!\) 1. Click the blue “Create” button to create your NFT! 1. Click the asset you’ve created, where it will take you to the asset’s page. 1. Click “Sell” 1. Set the price and duration for your listing. 1. Click “Complete Listing” 1. Sign the message from your wallet Just like that, you’ve successfully lazy minted an NFT on OpenSea. ## How to lazy mint NFTs on Rarible Lazy minting on Rarible is super quick and easy.  1. Go to rarible.com 1. Connect your wallet 1. Create an account 1. Click “create” in the upper-right-hand corner 1. Fill in information about your NFT 1. Enable “Free Minting” \(it should be automatically enabled\). 1. Click “Create Item” 1. Sign all authorizations with your wallet Congrats, you’ve successfully lazy minted an NFT on Rarible! ## How to lazy mint NFTs on Solana Currently there are no lazy minting options for Solana NFT marketplaces. One reason why NFT minting is not as necessary for Solana as it is for Ethereum is because the gas fees to mint NFTs on Solana are extremely low and predictable compared to layer 1 Ethereum.  For example, to mint an NFT on the [Solana 1-of-1 NFT marketplace](http://www.alchemy.com/overviews/solana-nft-marketplaces), Exchange.Art, NFT artists pay fractions of a SOL token, on the order of pennies, to mint an NFT through Exchange.Art’s self-serve NFT minting interface. While lazy minting is not a feature offered on Solana since gas fees are not an issue, there are [NFT tools created by Metaplex](http://www.alchemy.com/overviews/metaplex) for running NFT mints that prevent bots, smart contracts to launch a personal NFT storefront, and contracts for running NFT auctions. Additionally, [Strata](https://www.alchemy.com/dapps/strata) Protocol launched a [dynamic NFT minting price tool](https://docs.strataprotocol.com/launchpad/dynamic-pricing-mint) that allows NFT projects to set a lower and upper bound on the price of NFTs.  As time passes without NFTs being minted the price decreases to its lower bound, and as NFTs are purchased the mint price increases toward its higher bound. This tool helps to economically dissuade bots from minting out collections before genuine NFT community members can mint. While these NFT tools don’t add mint authorizations to lower the cost of minting NFTs for [1-of-1 NFT creators on Solana](http://www.alchemy.com/overviews/solana-1-of-1-nfts), they help prevent bots from disrupting launches, and improve the NFT user experience like lazy minting improves the UX of minting NFTs with lower mint costs. --- # How to Learn Solana Development (2024) URL: https://www.alchemy.com/overviews/learn-solana-development.md This article will explain why Solana development is suitable for building programs and [apps](https://www.alchemy.com/dapps/top/defi-dapps), introduce a roadmap for learning Solana development, and finally answer  questions about Solana development. By the end of this article, you will understand how to become a Solana developer and you will have been provided with resources to help you learn Solana development.  ## **4 reasons to learn Solana development** Solana is a fast and scalable blockchain platform that has been designed specifically for decentralized applications. It allows developers to build and deploy apps quickly and efficiently, making it an ideal platform for creating new and innovative projects. Interested to dive deeper? Here are a few more reasons why Solana development is great for dApp creation. ### **1. High scalability** Solana is known for its high scalability, with the ability to process tens of thousands of transactions per second. This makes it an attractive platform for building apps that need to handle a large volume of transactions, such as decentralized exchanges or games.   ### **2. Advanced features** Solana offers a number of advanced features that can be leveraged to build innovative apps, such as support for smart contracts, proof of history \(PoH\) for secure and fast transaction processing, and Layer 2 solutions like Optimistic Rollup.   ### **3. Strong ecosystem** A thriving [ecosystem](https://www.alchemy.com/ecosystem/solana) of developers, investors, and entrepreneurs, making it an exciting place to be for anyone interested in the blockchain space. By learning Solana development, you can become a part of this community and contribute to the growth and development of the platform. ### **4. Growing demand** As the demand for apps built on Solana increases, there will be a corresponding demand for developers with expertise in Solana development. By learning Solana development, you can position yourself as a valuable asset to companies looking to build apps on the platform. ## **How to become a Solana developer** Some of the most important concepts developers need to learn on the [Solana Developer roadmap](https://vitto.cc/the-complete-solana-development-roadmap/) are: 1. Solana programs 1. Transactions 1. Solana Account Model 1. Solana Programming Lnguages 1. Setting up the Solana development environment 1. Using Solana Development Frameworks 1. Developing Programs 1. Deploying Programs 1. Testing Programs 1. Building Apps ### **1. Learn Solana programs** Solana Programs are smart contracts on the Solana blockchain that contain executable code and can be used to interpret instructions within transactions on the blockchain. They can be native programs, which are built into the core of the Solana blockchain and can only be upgraded as part of the blockchain's software updates, or on-chain programs, which are user-written programs that can be deployed and updated directly on the blockchain by their respective program owners.  Solana Programs run on the Sealevel runtime, which is the parallel processing model of the Solana blockchain that helps to enable its high transaction speeds. Programs are considered stateless since they only contain compiled code, and they can be upgraded by their owners. They can also own other accounts and can read or credit any other account, but they can only change the data or debit accounts that they own. ### 2. Learn Solana transactions In Solana, transactions are submitted to the cluster and processed by the Solana runtime. Transactions contain a compact-array of signatures, followed by a message. The message includes a header, a compact-array of account addresses, a blockhash, and a compact-array of instructions. Instructions specify a single program, a subset of the transaction's accounts that should be passed to the program, and a data-byte array that is passed to the program.  The program interprets the data array and operates on the accounts specified by the instructions. Programs can return successfully or with an error code, which causes the entire transaction to fail. Transactions are verified for the number of signatures and that each signature was signed by the private key corresponding to the public key at the same index in the message's account addresses array. ### 3. Learn the Solana account model Solana's Sealevel runtime has a unique [account model](https://www.alchemy.com/overviews/solana-account-model) compared to Ethereum's Virtual Machine \(EVM\). In Sealevel, any account can store state, unlike on Ethereum where only smart contracts can store state in their storage. In Solana, the state of a smart contract is stored in other accounts, and each account assigns an owner contract to have exclusive control over state mutations.  **Sealevel** has two types of accounts: executable and non-executable. 1. **Executable accounts** - are immutable and can store their own executable bytecode or a proxy address of an account with mutable executable byte code 1. **Non-executable accounts** - store data and can be modified by their owner, but changes by any other programs will be reverted In Sealevel, executable accounts store a public key that identifies the account and the BPF bytecode of the program that will be executed when the account is called, and non-executable accounts store a balance and data. ### 4. Learn Solana programming languages The programming languages used for Solana development include [Rust](https://www.alchemy.com/overviews/solidity-vs-rust), C, and C\+\+. These languages are used to build programs, also known as smart contracts, that are deployed on the Solana blockchain and run through the Solana Runtime.  While understanding these languages and creating programs is not a requirement for building on Solana, developers may choose to learn them to create their own programs. Solana also offers a JSON RPC API and various SDKs, including solana-[web3.js](https://www.alchemy.com/dapps/web3-js) and Java, C\#, Python, Go, Swift, Dart-Flutter, and Kotlin, to allow for the creation of decentralized applications that resemble traditional web or mobile apps and interact with centralized APIs. ### **5. Learn how to set up your Solana development environment** To write a Solana Program, developers will need to build and test their programs in a local development environment using [core Solana developer tools](https://www.alchemy.com/overviews/solana-developer-tools). such as the command line interface, and the Solana tool suite. If you're just getting started, follow this [step-by-step guide to setting up your local environment](https://www.alchemy.com/docs/reference/solana-api-quickstart). ### **6. Learn Solana development frameworks** The two main development frameworks for building Solana applications are Anchor and Seahorse. Anchor abstracts away a lot of the complexity from developing applications natively in Rust. Seahorse is similar to Anchor, but it is a [Solana development framework for Python developers](https://www.alchemy.com/overviews/solana-seahorse). ### **7. Learn how to develop a Solana program** At this point in the roadmap, you will have enough conceptual knowledge about Solana fundamentals and different tools to use to build applications. To learn how to write a program, follow an introductory ["Hello World" Solana tutorial](https://www.alchemy.com/docs/hello-world-solana-program), or consult one of many free developer resources. #### **1. Solana developers** [Solana Developers](https://solana.com/developers) is a resource provided by the Solana team for developers interested in learning about and building on the Solana blockchain platform. The website provides a wealth of information and resources, including documentation, tutorials, and community support, to help developers get started with Solana development. #### **2. Solana docs** [Solana Docs](https://solana.com/developers) is a collection of resources and documentation provided by Solana. This consists of the platform's features, technical details, and guides on how to build and deploy apps on Solana. #### **3. Solana cookbook** [Solana Cookbook](https://solanacookbook.com/core-concepts/accounts.html#facts) is a developer resource that provides information and examples for building applications on the Solana blockchain. It is organized into different sections that cover core concepts, guides, and references for Solana development. It’s open to contributions from new developers and provides guidelines for contributing.  #### **4. Solana blockchain developer bootcamp** The [Solana Blockchain Developer Bootcamp](https://chain.link/bootcamp/solana-2022-on-demand) is led by Solana and [Chainlink](https://www.alchemy.com/dapps/chainlink) for participants to learn about the intricacies of the Solana architecture and programming model. This consists of the basis of developing on Solana using Rust to build, deploy, test and interact with the Solana blockchain. Developers will be able to learn directly with the support from teams from Solana, Chainlink and others to build Solana apps and kickstart a new journey. ### 8. Learn how to deploy a Solana program Once your code is complete, you can compile your code into BPF bytecode and create a .so file that can be deployed on the blockchain.   To [deploy your program](https://docs.solana.com/cli/deploy-a-program), you can use the solana program deploy command, solana program deploy followed by the path to your compiled .so file. This will send a transaction to the blockchain and deploy your program to the specified address.  A successful deployment will output the program id. ### **9. Learn to test a Solana program** Solana provides a number of tools for debugging and testing programs including the crate solana-program-test, which allows for interactive testing and debugging of programs using a local runtime environment. The crate solana-validator enables more robust testing on a local validator node, while the CLI tool solana-test-validator allows for testing and execution of transactions from the command line for Rust or Javascript/Typescript applications.  It is recommended to use the msg! macro in the program to log information during the testing and debugging process, but to remove it once the program is stable to avoid exceeding the Compute Unit budget.  It is also possible to test programs using a local validator node, which allows for more comprehensive testing that more closely resembles the behavior of the program when deployed on the Solana network. ### **10. Learn to build Solana apps** To build a Solana dapp, you will need to familiarize yourself with the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) and learn how to interact with the blockchain. For building Solana apps, Solana offers numerous APIs and SDKs that allow developers to build apps using popular programming languages such as JavaScript, Java, Python, and Go. You can access these SDKs on the Solana Developers Page. ## **Get started developing on Solana** Now that you know the steps to learn Solana development, the next step is to sign up for a [free Solana developer account](https://dashboard.alchemy.com/signup/?a=learn-solana-development) with Alchemy, and start building! --- # The Best Way to Learn Solidity for Free (2024) URL: https://www.alchemy.com/overviews/learn-solidity.md [Solidity](https://www.alchemy.com/overviews/solidity) is an object-oriented, high-level language for programming smart contracts. Learning Solidity will allow you to create smart contracts and [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps).  This article covers the most common methods to learn Solidity and introduces important Solidity concepts that students need to learn to [become an Ethereum developer](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer). ## **Why is learning Solidity important?** Solidity, the programming language for writing smart contracts on Ethereum and EVM compatible blockchains, is one of the most important skills for blockchain developers. As the ecosystem around Ethereum and other smart contract platform grows, so does the demand for [Solidity developers](https://www.alchemy.com/overviews/solidity-developer). The average yearly salary for a Senior Solidity Developer is** $120,000 to $225,000 per year **before adding token-based equity or employee stock options. According to cryptocurrencyjobs.co, the [average base salary](https://www.alchemy.com/overviews/solidity-developer-salary) for Solidity developers in the US is $127,500, with a low base salary of $80,000 and a high base salary of $180,000. In contrast, remote developers make $111k - $200k per year. Compared to the average US-based developer salary of $103,000, it's clear that blockchain specialization is in high demand. The following is a list of location-based salary structures of Solidity developers per year \(US Dollars\): - **North America** - $125K-$200K - **Europe** - $80K-$135K - **Asia** - $46K-$116K - **Oceania** - $85K-$120K - **South America** - $49K-$150K - **Africa** - $49K-$75K - **Remote** - $111K-$200K   Not only can learning Solidity provide tremendous financial opportunities, but it also allows you to build amazing apps that can have a huge impact on the world. In fact, Ethereum alone has close to 3,000 apps serving a range of goals from financial inclusion to sustainable energy. ## **Ways to learn Solidity** There are many ways to learn Solidity including online courses, bootcamps, tutorials, and reading documentation from popular Solidity development tools like Hardhat. ### **Learn Solidity with online courses** Online courses are a great way to learn Solidity if you want more structure and guidance than tutorials provide. There are many high-quality courses available, including [Alchemy University's free Solidity Development Course](https://www.alchemy.com/university/courses/solidity). While tutorials are self-paced, online courses often have set lessons and deadlines, providing time-bound motivation for learners to stay on track. In addition, [Solidity courses](https://www.alchemy.com/overviews/solidity-course) often include quizzes and other assignments to test your knowledge as you progress. ### **Learn Solidity with an Ethereum bootcamp** If you want to learn Solidity and other blockchain development skills in a structured, immersive environment, a [Solidity bootcamp](https://www.alchemy.com/overviews/solidity-bootcamp) might be the right option for you. Blockchain bootcamps provide intensive, hands-on training to help you become a job-ready blockchain developer. After Alchemy acquired **ChainShot**, Alchemy redesigned ChainShot's 7-week, $3,000 Ethereum Developer Bootcamp, and is offering it to the public for FREE under Alchemy University. To learn Solidity with expert teachers and alongside motivated peers, secure your place in line for [Alchemy University's Ethereum bootcamp](https://www.alchemy.com/university/courses/ethereum). If developers are new to development in general, Alchemy University's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. ### **Learn Solidity with tutorials** If you're a self-starter and want to learn at your own pace, tutorials are a great way to learn Solidity. There are many high-quality [Solidity tutorials](https://www.alchemy.com/overviews/solidity-tutorial) available online, ranging from beginner to advanced levels. The official **Ethereum developer resources** include 53 tutorials tagged "Solidity," covering everything from the basics of smart contracts to more advanced topics like [gas optimization](https://www.alchemy.com/overviews/solidity-gas-optimization) and secure signing. ## **Important Solidity concepts to learn** Once you've chosen your learning method, it's time to start learning how to code in Solidity. A number of core Solidity concepts are important to understand to write effective code. ### **Solidity ABI** The [Application Binary Interface](https://www.alchemy.com/overviews/solidity-abi) \(ABI\) is a set of rules that allows two different pieces of software to interact with each other. In the context of Solidity, the ABI allows smart contracts to interact with each other, as well as with external software like wallets. The ABI allows you to write code that can interact with any contract, regardless of whether you have the source code or not. This is possible because the ABI includes all the information needed to encode and decode data that is passed between contracts. ### **Smart contracts** A [smart contract](https://www.alchemy.com/overviews/solidity-smart-contract) is a piece of code that runs on the Ethereum blockchain and performs certain actions when a set of conditions are met. Smart contracts can be used to create digital tokens, decentralized applications, and more. A common smart contract use case is creating an ERC20 token, which can be done in just a few lines of code. More complex smart contracts include token swaps, yield farming, and synthetic assets. These contracts are compiled using a [Solidity compiler](https://www.alchemy.com/overviews/solidity-compiler), which outputs bytecode used to deploy the contract. #### **ERC20 tokens** [ERC20](https://www.alchemy.com/overviews/erc20-solidity) tokens are a type of digital asset that runs on the Ethereum blockchain. They are often used to represent real-world assets, such as commodities or fiat currencies. ERC20 tokens are the most common type of digital asset on Ethereum. Since ERC20 tokens are also one of the easiest types of contracts to write, learning how to creating them is an important skill to master. #### **Contract interface** An [interface](https://www.alchemy.com/overviews/solidity-interface) is a way to specify what functions a contract must have. Interfaces allow you to create contracts that can be easily reused and extended. For example, you could create an interface for a token contract, and then any contract that implements that interface can be used as a token. #### **Inheritance** **Inheritance** is a way to reuse code in Solidity. Inheritance allows you to create "child" contracts that inherit all the code from a "parent" contract. This lets developers avoid duplicating code and makes smart contract maintenance much easier. Inheritance is an important concept in object-oriented programming, and it's one of the things that makes Solidity so powerful. Learning how to to create standardized contracts that can be easily extended and modified is an important Solidity lesson to master. ### **Functions** As with any programming language, functions are a key part of Solidity. [Solidity functions](https://www.alchemy.com/overviews/solidity-functions) are pieces of code that receive inputs, performs some action, and returns an output.  Functions can be written into Solidity smart contracts to perform all sorts of actions, from sending tokens to storing data. A collection of functions intended for reuse is called a library. A basic principle in coding is called the "D.R.Y. principle," which stands for "Don't Repeat Yourself." This principle states that developers should never write the same piece of code twice. Instead, developers should write a function once, and then call that function whenever you need to perform that action. #### **Function visibility** One important thing to note about Solidity functions is that they have [visibility settings](https://www.alchemy.com/overviews/solidity-function-visibility). Visibility determines who can see and execute the function. There are four visibility levels in Solidity: public, external, internal, and private. - **Public functions** can be seen and executed by anyone. - **External functions** can be seen by anyone but can only be executed by other contracts. - **Internal functions** can only be seen and executed by other functions within the same contract. - **Private functions** can only be seen and executed by the contract itself. #### **Call function** The [_call_ function](https://www.alchemy.com/overviews/solidity-call) allows you to execute code in another contract. This is how contracts interact with each other on Ethereum. The _call_ function allows you to write code that can interact with any contract, regardless of whether you have the source code or not. This is possible because the ABI includes all the information needed to encode and decode data that is being passed between contracts. #### **Delegatecall function** The _delegatecall_ function is similar to the _call_ method, but with one important difference; it executes the code in the context of the caller. This means that any storage changes made by the called contract will be made to the caller's storage. The _delegatecall_ function allows you to write contracts that can be reused by other contracts. For example, you could write a contract that implements an interface, and then other contracts can _delegatecall_ that contract to use the interface. #### **Modifiers** [Modifiers](https://www.alchemy.com/overviews/solidity-modifier) are like functions, but with some important differences. First, modifiers can only be used on functions. Second, modifiers are called before the function is executed. An example of a modifier is [payable](https://www.alchemy.com/docs/solidity-payable-functions), which allows a function to receive Ether into the contract. Modifiers allow you to change the behavior of a function without touching the actual code. For instance, a modifier could check if a user has enough balance before executing a function, or to add an event that is triggered when the function is called. ### **Arrays** Arrays are linear data structures that store a fixed-size of elements of the same data types which are stored in contiguous and adjacent memory locations. An array can be both of fixed or dynamic size. The size of dynamic arrays are not predefined when they are declared, in contrast to fixed arrays which have a predefined size. If developers need to iterate over a group of data \(e.g. using a loop\) then use an array. If there’s no need to iterate over a set of data, and instead developer can retrieve values based on a known key, then consider using mappings. #### **Structs** A [struct](https://www.alchemy.com/overviews/solidity-struct) is a way to store data in a Solidity contract. Structs are useful for creating more complicated data types that have multiple properties. ### **Mappings** A [mapping](https://www.alchemy.com/overviews/solidity-mapping) is a way to store data in a Solidity contract. Mappings are similar to arrays, but the keys can be any type and not just integers. This feature makes mappings versatile and powerful. Mappings allow you to store data in a contract in a way that is flexible and easy to use.  ### **Events** Events are a way to trigger code execution when certain conditions are met. For example, developers can write an event that is triggered when a user buys a token, or when a transaction is confirmed on the blockchain. [Solidity events](https://www.alchemy.com/overviews/solidity-events) allow developers to write code that is executed in response to real-world events. This is how many apps are able to interact with the real world, for example by sending an email or SMS when a condition is met. ### **Require \(error handling\)** The ["require"](https://www.alchemy.com/overviews/solidity-require) keyword is one of three special functions: _require_, _assert_, and _revert_. Require checks if a condition is true, and if not, it will revert the transaction and return an error message. Using _require_ allows you to prevent errors from happening in your contract. For example, you could use _require_ to check that a user has enough balance to make a purchase, or that an address is valid before sending a transaction. ### **Upgradeable smart contracts** **Upgradeable smart contracts** are a type of contract that can be upgraded without the need to redeploy the contract. Upgradeable smart contracts allow you to make changes to a contract after it has been deployed, without effecting any of the data or code that is already on the blockchain. ### **Proxy contracts** A **proxy contract** is an updatable routing contract designed to funnel function calls to the most up-to-date implementation. This way, protocols can upgrade their implementations without requiring all users to update their code to the new address. By using a proxy, builders can have a static address for their functions to be found. Proxy contracts have an update function that can be called by the team to update the function routing path to new implementation contract addresses. ### **Multisig contracts** A **multisig contract** is a type of contract that requires more than one signature to execute its code. Solidity multisig contracts are useful when developers want to require multiple people to approve a transaction before it is executed. Multisig contracts are also useful for cases where developers want to limit the amount of money that can be spent in a certain period of time. For example, you could use a multisig contract to require two signatures for any transaction over $1,000. ### **Reentrancy attacks** [Reentrancy attacks](https://www.alchemy.com/overviews/reentrancy-attack-solidity) are a type of attack that can occur in Solidity contracts when a contract calls another contract, and then the second contract calls back into the first contract or another untrusted contract, typically before the first contract has finished executing. Reentrancy attacks can be used to exploit vulnerabilities in contracts. For example, an attacker could use a reentrancy attack to drain all the Ether from a contract. ## **The best way to learn Solidity** No matter what your goals are, there is a way for you to learn Solidity that fits your needs. If you're looking for a quick and easy way to get started, tutorials are a great option. You can also check out our introduction to Solidity. If you want more structure and guidance, online courses might be a better fit. And if you're looking for an immersive, hands-on experience, a bootcamp could be the right choice. Once you've chosen your learning method, there are a number of important concepts to ensure you get down, including smart contracts, functions, events, and more. By understanding these concepts, you'll be well on your way to becoming a proficient Solidity developer. --- # What is a light node? Everything You Need to Know URL: https://www.alchemy.com/overviews/light-node.md Ethereum nodes are computers running the software needed to connect to the Ethereum network. However, running a full node is a big time and financial commitment since it requires specialized hardware, maintenance overhead, and a large setup time. Light nodes are the perfect alternative due to their low bandwidth and storage requirements — enabling users to access the blockchain via laptops and smartphones. In this article, we’ll dive into what are light nodes, how to run a light node and the main benefits of using them. ## What is a light node? A light node is a cost-effective Ethereum node, which only downloads Ethereum block headers, the minimum data needed to transact on the Ethereum network. Unlike the other classes of Ethereum nodes, [full nodes and archive nodes](https://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes), a light node is the most basic type of node you need to get started. Light nodes use the minimum amount of data possible to interact with the Ethereum blockchain, and outsource all of the other information from full nodes, while full nodes store full blockchain data and participate in verification and validation of the blocks. ### How do light nodes work? **Light nodes interact with the Ethereum blockchain on a need-to-use basis with block headers that contain summary information about the contents of the blocks. Any additional information required by the light node is requested from a full node.** This process allows light nodes to efficiently interact with the network and save megabytes of bandwidth and gigabytes of storage. ### What are the benefits of light nodes? **The biggest benefit of running light nodes is the low barrier to entry due to minimal bandwidth and storage thresholds, and the cost-effectiveness of running a light-weight version of the Ethereum blockchain.** Users can run light nodes on devices such as laptops and smartphones, which allows much greater access to data on the blockchain whereas full nodes and [archival nodes](https://www.alchemy.com/overviews/archive-nodes) use a lot of hardware, storage, and maintenance time to operate. In contrast to full nodes, light nodes are fast, efficient, and relatively easy to use. ### What are the downsides of light nodes? Because light nodes do not have full functionality and rely on full nodes for their data, they cannot participate in consensus, meaning they can’t be validators. The data retrieval process is messy, time consuming, often fails, and is much slower than just running a full node and retrieving the information oneself. Thus, if one anticipates frequent data retrieval needs, light nodes are not the optimal node to use. ### Who should run a light node? **Anyone with a computer and an internet connection can run a light node, provided they have a basic understanding of the Web3 ecosystem.** Light nodes are easier to run than full nodes, but the process is still time consuming, requires technical experience to install the client software to run the light node, configure variables, download block headers, and monitor the node to make sure nothing goes wrong.  Therefore, only those who have technical expertise and are familiar with the web3 ecosystem should run a light node. Most users who end up choosing to run light nodes do so because they want to support the Ethereum network. With each new light node, there is greater censorship resistance, corruption resistance, and prevention of centralization of the Ethereum network. However, users must note that, unlike running a full node, running a light node doesn’t allow users to reap the same financial benefits. So, most users who run light nodes do so for altruistic reasons.  ### What node clients can run light nodes? **The most common client software developers use to run light nodes is Go Ethereum, widely known as [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one).** Geth is a software that connects to other computers running the software in a peer-to-peer manner and an original implementation of the Ethereum protocol. ## How to run a light node with Geth Using the Geth node client software, users who want to run a light node can start one up in a few minutes. ### Light node requirements To run a light node with Geth, you have to meet the following requirements: - A device with around 400MB of storage - Familiarity with terminal commands - Internet Access ### Step 1. Install Geth The first step is to head to [https://geth.Ethereum.org/downloads/](https://geth.ethereum.org/downloads/) and download Geth. This website offers downloads for Mac, Windows, and Linux operating systems. Any option will do, so choose the installation that is most practical. ### Step 2. Start running a light node After installing Geth, you can run a light node by running the following command in a new terminal window: `geth --syncmode light` It’s as easy as that. Now that you have your light Ethereum node running, there are a million things you can do. ## Ready to run your own light node? This article has explained how to setup your own node and the benefits and downsides of using a light node. If you’re someone who just wants to get started with the world of nodes, light nodes are a cost-effective and efficient way for you to explore Ethereum with your existing computing resources. If you want to interact with Ethereum on a deeper level, and don't want to run your own node, you can [work with a blockchain node provider](https://www.alchemy.com/overviews/blockchain-node-providers/?a=65f1c01e4e) like Alchemy to create, maintain and manage your nodes for you. This shifts the responsibility of running nodes from individual developer to a reputable web3 infrastructure provider. --- # How Does Liquid Staking Work? URL: https://www.alchemy.com/overviews/liquid-staking.md Staking on the Ethereum network has become a popular choice for investors since the transition to a proof-of-stake \(PoS\) consensus mechanism. PoS design enables users to participate in securing the network by staking ETH in order to earn rewards.  Users need to stake a minimum of 32 ETH and navigate technical code in order to participate, making solo-staking an expensive venture. [Liquid staking](https://www.alchemy.com/dapps/best/liquid-staking-platforms) has emerged as a far more accessible alternative to traditional staking on ETH, reducing technical barriers and empowering users to stake as little as 0.01 ETH to benefit from ETH staking. ## What is liquid staking on Ethereum? Liquid staking platforms use novel mechanics to make ETH staking far more accessible for individuals.  These DeFi protocols allow users to deposit ETH to a staking pool and in return, users receive a liquid staking token \(LST\) representing their staked asset and accrued interest.  These LSTs can be traded freely and even used in other DeFi applications to earn extra yield.  This approach makes it possible for anyone to stake ETH while retaining full control of their capital. As a result, liquid staking services have seen incredible adoption in recent years. ## Liquid staking vs. solo staking While liquid staking has become the go-to choice for most investors, some users may still prefer the autonomy offered by solo staking. The fact that liquid staking requires only 0.01 ETH and minimal technical knowledge makes it the ideal choice for most participants. Additionally, the ability to retain control of one’s capital by holding LSTs makes liquid staking even more attractive.  In contrast, solo staking is a complex endeavor mostly used by large entities and those who can afford to lock up 32 ETH in order to run a validator node.  Solo stakers need to set up, run, and maintain their own validator nodes, which requires significant technical proficiency. Furthermore, stakers need to ensure their nodes are synced with the network at all times, making it necessary to invest in expensive hardware. Solo stakers are thus generally power users with a deep understanding of the Ethereum network. Users who choose to solo stake may do so in order to earn higher rewards than those offered by liquid staking, while also minimizing reliance on third party platforms. ## 3 notable Ethereum liquid staking tokens DeFi’s top liquid staking protocols continue to grow rapidly as more users recognize the value of this utility. These projects have entrenched themselves as leaders in the sector, offering users robust platforms to put their ETH to work. ### What is Lido staked ETH \(stETH\)? Launched in December 2020, [Lido](https://www.alchemy.com/dapps/lido) has become the most popular liquid staking service in DeFi with a massive 8.1M ETH staked via the protocol. At the time of writing this accounts for more than 31% of all ETH staked.  Lido users can deposit ETH in exchange for the Lido Staked ETH \(stETH\). As one of the earliest liquid staking projects, Lido has been instrumental in increasing LST liquidity throughout the space.  Lido’s positioning as DeFi’s largest protocol highlights its continued success, with the project boasting $15B in total value locked. Stakers on Lido currently earn 3.8% APR returns on their ETH. ### What is rocket pool ETH \(rETH\)? [Rocket Pool](https://www.alchemy.com/dapps/rocket-pool) has gained significant traction in DeFi thanks to additional features that make it easier for anyone to run their own validator node.  While users can still mint rETH by staking as little as 0.01 ETH, the platform also lowers the threshold for users to run their own nodes through the use of minipools.  Users can deposit ETH and the protocol’s native token, RPL, in order to run their own nodes. Rocket Pool’s recent upgrade makes it possible for anyone to run a node by staking a minimum of 8 ETH, far lower than solo staking’s 32 ETH threshold.  Standard rETH stakers currently earn ~3.3% APRs, while validators accrue ~7.59% APR and RPL rewards. ### What is frax staked ether \(sfrxETH\)? Stablecoin protocol [Frax Finance](https://www.alchemy.com/dapps/frax-finance) entered the liquid staking arena in 2022 with a different approach to LSTs. Instead of using one token to represent users’ staked assets and accrued interest, Frax’s model utilizes two tokens – Frax Ether \(frxETH\) and Frax Staked Ether \(sfrxETH\).  Users who stake their ETH to Frax receive an equivalent amount of frxETH, representing their staked capital. However, frxETH does not accrue rewards on its own. Holders of frxETH can deposit their tokens to Frax’s sfrx vault in order to earn staking rewards in the form of sfrxETH. This design isolates the non-yield bearing token \(frxETH\) and the yield-bearing token \(sfrxETH\) in order to give users more flexibility over their assets. In turn, sfrxETH holders earn higher rewards as yield is concentrated from the two-token design. ## Will liquid staking yield change? The benefits of liquid staking have been a key driver of ETH staking adoption. However, this also means that yields are increasingly compressed as more adopters share the rewards on offer.  With demand for ETH staking growing consistently, this trend is likely to continue. Liquid Staking Finance \(LSTfi\) protocols have emerged to address this challenge. These projects empower LST holders to earn extra yield on their assets by putting them to work in blue-chip DeFi protocols. ## What is lstfi? Ethereum’s DeFi landscape offers a multitude of opportunities for investors to generate yield.  Users can earn passive returns in numerous ways, such as providing liquidity to trading pairs \(liquidity mining\), or staking tokens to specific protocols. However, these activities incur significant time and gas costs when done manually. In contrast, LSTfi protocols like [Origin Ether](https://www.oeth.com/) provide a seamless avenue to earn outsized yield. Users can deposit ETH, rETH, stETH, and frxETH in order to mint OETH, thus boosting yield while also allowing users to keep their capital liquid.  Origin’s [strategies](https://www.oeth.com/how-does-the-oeth-amo-work) deploy deposited collateral to premier DeFi protocols, with yield distributed directly to holders’ wallets. As a result, users can enjoy significant returns without needing to lock up funds or pay excessive gas fees. ## Should you stake Ethereum? While all investments carry risks, staking ETH offers one of the safest and lucrative yield opportunities in the space. Ethereum has cemented its standing as the top smart contract network since launching in 2015. The network currently boasts a [market cap of](https://www.alchemy.com/dapps/marketcapof) ~$220B, evidencing its widespread adoption.  At present, 21.43% of ETH has been staked to the network. While significant, this figure pales in comparison to other proof-of-stake blockchains, which regularly see >40% of tokens staked. Coupled with the [entrance of LSTfi innovators](http://www.alchemy.com/overviews/liquid-staking-token-finance), these factors make ETH staking primed for tremendous growth in years to come. --- # What Is Liquid Staking Token Finance (LSTFi)?  URL: https://www.alchemy.com/overviews/liquid-staking-token-finance.md [Liquid Staking Tokens \(LSTs\)](http://www.alchemy.com/overviews/liquid-staking) have carved out a thriving sector in DeFi as an inclusive approach to staking Ethereum. With LSTs, users can enjoy staking rewards with a deposit of just 0.01 ETH, while also retaining control of their capital. LSTs have become an increasingly popular choice for investors looking to benefit from Ethereum’s proof-of-stake consensus. Their unique mechanics make staking ETH far more accessible than previously possible.  This growth has also seen the emergence of LSTfi protocols that seek to aggregate yield on offer across DeFi’s leading LST platforms.  ## How does liquid staking token finance \(lstfi\) work? Leading [liquid staking](https://www.alchemy.com/dapps/best/liquid-staking-platforms) protocols like Lido Finance and [Rocket Pool](https://www.alchemy.com/dapps/rocket-pool) allow users to deposit ETH to staking pools. In exchange, users receive an LST representing their holdings and accrued interest.  These LSTs, such as Lido’s stETH and Rocketpool’s rETH, can be used freely in DeFi. As a result, users are able to retain control of their capital while earning yield. Liquid Staking Token Finance \(LSTfi\) protocols further enhance this capital efficiency via platforms that provide opportunities for users to put their ETH and LSTs to work.  These protocols utilize novel mechanics to maximize yield by deploying staked assets to various DeFi protocols. LSTfi projects thus enable users to compound their staked ETH. ### Overview of 3 notable lstfi apps Despite the sector’s nascency, a number of LSTfi protocols are already competing to dominate market share. These innovative staking services are growing rapidly as more users stake ETH and look to maximize returns on their liquid staking derivatives.  #### What is pendle? Launched in 2021, [Pendle](https://www.alchemy.com/dapps/pendle).Finance allows users to earn fixed yields on their assets. The protocol currently supports Frax’s sfrxETH, Lido’s stETH, [Swell](https://www.alchemy.com/dapps/swell)’s swETH, and USDT. Pendle’s product suite offers users a number of opportunities to boost their returns. Users can also provide liquidity, trade yield and bet on future growth through Pendle’s novel automated market maker \(AMM\). The protocol is governed by holders of vePENDLE, which is granted to investors who stake the platform’s native token, PENDLE. At present, Pendle’s sfrxETH vault delivers the highest APYs on the platform, with users enjoying ~4.9% returns. #### What is origin ether? [Origin Ether’s](https://app.oeth.com/) launch in May 2023 disrupted the LSTfi space with cutting-edge mechanics. Users can deposit ETH in addition to premier LSTs – stETH, rETH, and frxETH. In exchange, participants receive an equivalent amount of OETH representing their holdings and generated yield.  Holders are free to use OETH like any other token, with yield distributed directly to holders’ wallets. Meanwhile, supplied collateral is deployed to blue-chip DeFi protocols in order to generate maximal yield.  [Origin Ether](https://www.alchemy.com/dapps/origin-ether) is governed by Origin DeFi Governance \(OGV\), which acts as the governance and value-accrual token for the broader Origin DeFi ecosystem. OGV stakers receive veOGV which empowers stakers to vote on new proposals and strategy allocations. At the same time, OGV stakers enjoy double-digit APYs derived from a portion of protocol fees. OETH’s battle-tested strategies have seen the platform claim a place as Ethereum’s 2nd largest yield aggregator after [Yearn Finance](https://www.alchemy.com/dapps/yearn).  The protocol’s unique mechanics have generated more than 44,000 ETH in TVL in just four months. Impressively, the protocol has still been able to offer [trailing 30-day APYs of >6.6%](https://www.oeth.com/analytics) despite scaling rapidly.  #### What is lybra finance? [Lybra Finance](https://www.alchemy.com/dapps/lybra-finance) entered the LSTfi fray in 2023 with a native interest-bearing stablecoin, eUSD. Users can deposit ETH or Lido stETH in order to mint eUSD. Participants earn interest on their staked capital in eUSD, which can also be traded freely in DeFi. eUSD is an algorithmic stablecoin that maintains its peg through a number of mechanisms, such as overcollateralization. Users who mint eUSD or provide liquidity to the eUSD-ETH pool can earn Lybra’s native token, LBR, which governs the protocol.  ### Risks of earning yield on Ethereum? Etherem’s thriving DeFi landscape offers endless opportunities to earn passive yield. Users can earn yield through a number of mechanisms, such as providing liquidity for trading pairs or staking tokens to specific protocols. However, all investments carry varying degrees of risk. Conducting thorough research is vital when it comes to avoiding fraudulent projects. With battle-tested LSTfi apps like Pendle and Origin Ether, users can rest assured that their funds are being managed transparently and securely. ### Will liquid staking finance catch on? As crypto’s most robust smart contract network, Ethereum’s success is integral to the space. It’s inevitable that Ethereum staking will continue its upward trajectory as the technology matures. However, this also means that yields will decline as rewards are split between an increasing number of users. Liquid staking finance is built to address this decline in pure staking rewards. By aggregating yield through innovative mechanics, LSTfi protocols offer vital utility that boosts yield for users. Despite making substantial strides, LSTfi remains in its infancy. With this in mind, the sector is primed for tremendous growth in years to come. --- # How to Make Money Playing Play-to-Earn Games URL: https://www.alchemy.com/overviews/make-money-playing-p2e-games.md [Play-to-earn \(P2E\) crypto games](https://www.alchemy.com/overviews/play-to-earn-games) are built on blockchains and allow players to earn cryptocurrency, NFTs, and other digitals assets for progressing through the game.  P2E gaming assets can be sold on mainstream NFT marketplaces and sold on customized gaming NFT marketplaces in exchange for digital currency. Additionally, P2E games offer a variety of revenue streams for developers including in-game purchases, metaverse advertisements, trading fees, and royalty fees.  Because of blockchain technology, crypto games not only offer unique monetization models, but can protect the integrity of user data, user safety, and are quickly becoming one of the most popular segments of the gaming industry. ## **How do p2e games make money?** Play-to-earn games make money through mechanisms such as in-game purchases, metaverse advertisements, and asset trading fees. ### **1. In-game purchases** In-game purchases are one of the main ways that play-to-earn games generate revenue. Players can buy in-game assets such as characters, weapons, and other supplies using cryptocurrency, to enhance their gaming experience and progress more quickly. This is similar to the traditional pay-to-play model, except that the in-game assets in P2E crypto games have real-world value. In popular P2E game [The Sandbox](https://www.alchemy.com/dapps/the-sandbox), for example, players can buy plots of land, in-game items, and other digital assets. While it’s possible to play The Sandbox without spending any money, doing so may result in slow progress. To keep moving forward, players typically make purchases. ### **2. Metaverse advertisements** Most P2E games implement a metaverse in their gameplay \(i.e. a virtual universe where players can explore, interact and create in-game assets.\) It’s possible to place ads in this interactive virtual environment, similar to billboards in the real world, allowing game developers to earn revenue from advertisers. Because metaverse advertising is entirely digital, ads can be shown to laser-focused audience segments. The same "billboard" can show different ads to different players based on their interests, potentially providing a much higher return on investment than the real world equivalent. This allows game developers to charge a premium for sponsorship. ### **3. Asset trading fees** P2E games offer players the option to trade in-game assets. Game developers can generate revenue by charging fees on each such transaction, and also small royalty fees. Some of these fees can be used to reward miners who process the transactions and help secure the network, and they may also act as a deterrent to potential malicious actors who attempt to [wash trade NFTs](https://www.alchemy.com/overviews/choose-nft-game) to manipulate asset prices. ## **How do gamers earn money playing p2e crypto games?** Because assets gained through gameplay hold real-world value and can be sold on marketplaces, P2E crypto games offer opportunities for players to earn money. ### **1. Earning in-game digital currency or tokens** One way players can earn money with P2E games is by earning cryptocurrencies via gameplay. P2E games often have their own built-in cryptocurrency or token that can be acquired through in-game activities. Players can then sell these tokens on [cryptocurrency exchanges](https://www.alchemy.com/dapps/best/crypto-exchanges) for real-world money. Here are some examples of P2E games and their respective native tokens \(in-game cryptocurrencies\): - Decentraland \($MANA\) - The Sandbox \($SAND\) - Aavegotchi \($GHST\) ### 2. Collecting in-game NFTs Players can also earn money with P2E games by collecting NFTs and selling them on marketplaces for real-world money. Many P2E crypto games have [built-in marketplaces](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces), where players can buy and sell their in-game assets. ### 3. Professionally trading assets The ability to trade gaming NFTs also provides an opportunity for professional arbitrageurs and day traders to make money from P2E crypto games, by purchasing in-game assets and reselling them for a profit on another platform. ## What should you consider before playing p2e crypto games? Before you dive into P2E crypto games you should protect yourself by doing thorough research and paying particular attention to the legitimacy of the game, [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices), and game mechanics. Remember that play-to-earn games come with inherent risk, so due diligence is crucial before connecting your wallet to these games or signing transactions. With the right precautions, you can have a great time earning real-world rewards while gaming. ### 1. Legitimacy of the game P2E crypto games are a relatively recent innovation, so users should be vigilant when selecting a game. It’s important to check that the team behind the game is legitimate, and to read up and see if anyone has had a bad experience while playing it. Sometimes, spammers create fake websites with addresses that are very similar to legitimate sites. Interacting with these fake websites can drain your wallet of funds, so always double-check where you are connecting your crypto wallet and do not engage if the website looks suspicious. ### 2. Smart contract security Smart contracts are an integral part of P2E games. Before playing a game or interacting with its smart contracts, ensure that it’s secure by checking that the code has been audited by a reputable [smart contract auditing company](https://www.alchemy.com/dapps/best/blockchain-auditing-companies). It’s vital that the smart contracts do not have bugs or loopholes that could allow hackers to steal your funds. ### 3. Game mechanics Before beginning to play a P2E game, familiarize yourself with the game mechanics and look out for any malicious clauses in its terms and conditions. Read up on the game rules to understand how rewards are distributed, fees are charged, etc. The gameplay should be fair and not favor one particular party over another. You should also check whether there are restrictions on withdrawals, and whether in-game items can be exchanged for fiat currency. --- # What are Meta Transactions (ERC-2771)? URL: https://www.alchemy.com/overviews/meta-transactions.md All Ethereum transactions use gas, and the sender of each transaction must have enough Ether to pay for the gas spent. This forces new users to purchase Ether \(which can be a daunting task\) before they can start using a dapp. This is a major hurdle in user onboarding. So-called “Meta transactions” made it possible to pay gas fees on behalf of users. However, many such solutions are [transitioning towards Account Abstraction \(ERC-4337\) infrastructure](http://www.alchemy.com/overviews/4337-vs-2771) as it is a more promising and sophisticated way of gas abstraction with many more features! ## What are meta transactions? The idea of Meta Transactions is simple: a third party, called a Relayer, sends the transaction on behalf of the user and pays for the gas fees. Users sign messages \(preferably EIP-712 compliant\) which have information about the transaction to be executed. The signed message is passed to the Relayer who is then responsible to validate whether the Relayer will get paid or not \(this could be optional more on this later\), have enough funds to pay for gas fees, sign a native transaction and submit it for execution. Let us understand Meta Transactions by taking OpenZepplin’s Relayer as an example: ## What do meta transaction request look like? This is how a sample Meta Transaction Message looks... The above message mints an NFT and is to be signed by the from address 0x7099797... Once the message is signed, the client \(or user\) can create a Meta Transaction request \(seen below\). This is sent as a POST request to the Autotask, a webhook that when invoked internally uses the Relayer private key to sign native transactions. ## What is the meta transaction relayer? A Relayer is an Ethereum Account containing the funds for sponsoring the user’s gas fees. The private key of the Account is stored in a secure vault on the provider’s server.  The developer can then send funds to the Relayer, which will cover their user’s transaction fees. Developers can spin up as many Relayers as they want, each of which need to be separately funded with ETH. OZ Relay allows pausing the Relayer, accepting requests from Whitelisted Addresses, and Gas Price Capping. More conditional logic can be programmed into the Autotask if desired. Keep in mind, the user-defined transaction now lives inside the data field of the Relayer’s native transaction. A Meta Transaction is this transaction inside of another transaction! ## What is the MinimalForwarder in meta transactions? Until now, no on-chain validation has been performed. This is where the MinimalForwarder comes in. MinimalForwarder is an on-chain smart contract that validates the user-signed message to ensure validity and replay-protection. On successful validation, MinimalForwarder executes the transaction by making the call to the request contract with appropriate calldata This is also where the disadvantages of Meta Transactions come into play because the contract being called by the MinimalForwarder needs to allow the MinimalForwarder to call the contract on behalf of the users. ## What is ERC-2771? Finally, when the call reaches the intended target contract, it needs to be able to figure the original user \(_msg.sender_\) and calldata \(_msg.data_\) which are nested inside of the Relayer’s transaction. To standardize this process[ ERC2771](https://eips.ethereum.org/EIPS/eip-2771) was proposed. OpenZepplin provides a utility contract called[ ERC2771Context](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/metatx/ERC2771Context.sol) to make it easy for the smart contract developer to extract the intended msg.sender and msg.data out of the data sent by the MinimalForwarder. Because each smart contract must know how to read Meta Transactions, implementing them for already-deployed contracts is difficult and can lead to the introduction of bugs! Even though there are many other Meta Transaction Infra services, all of them require the target contract to inherit EIP-712 or EIP-2771 based contract for deducing _msg.sender_ and _msg.data_. While this standard is great, it doesn’t work retroactively. This is why ERC-4337 was created, and is replacing most of the ERC-2771 solutions out there. ## Frequently asked questions ### What are meta transactions? Meta transactions allow a third party called a Relayer to send transactions on behalf of users and pay for gas fees, removing the barrier of requiring users to hold Ether before interacting with [apps](https://www.alchemy.com/dapps/top/defi-dapps). ### How do meta transactions work? Users sign messages containing transaction information, which are passed to a Relayer who validates the request, pays for gas fees, signs a native transaction, and submits it for execution on the blockchain. ### What is ERC-2771? ERC-2771 is a standard that allows smart contracts to identify the original user and calldata when receiving meta transactions through a trusted forwarder, ensuring proper msg.sender and msg.data extraction. ### What is the MinimalForwarder in meta transactions? The MinimalForwarder is an on-chain smart contract that validates user-signed messages for authenticity and replay protection before executing the transaction by calling the target contract. ### What is ERC2771Context? ERC2771Context is an [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) utility contract that makes it easy for smart contract developers to extract the intended msg.sender and msg.data from meta transactions sent by the MinimalForwarder. ### What are the limitations of ERC-2771 meta transactions? ERC-2771 requires target contracts to explicitly support the standard by inheriting EIP-712 or EIP-2771 based contracts, making implementation difficult for already-deployed contracts and potentially introducing bugs. ### How does ERC-2771 compare to ERC-4337? While ERC-2771 enables gasless transactions through relayers and forwarders, ERC-4337 \(Account Abstraction\) is replacing most ERC-2771 solutions because it works retroactively and doesn't require existing contracts to be modified. ### What role does the relayer play in meta transactions? A Relayer is an Ethereum account that sponsors users' gas fees, with its private key stored securely on the provider's server, and can be configured with features like whitelisting, gas price capping, and conditional logic. --- # Everything You Need to Know About Solana's Metaplex URL: https://www.alchemy.com/overviews/metaplex.md [Metaplex](https://www.alchemy.com/dapps/metaplex) is a collection of NFT standards and tools for Solana. Learn how to use Metaplex for Solana NFT mints, NFT airdrops, NFT storefronts, and more! ## **What is metaplex?** Metaplex is a network of contracts built on [Solana](https://alchemy.com/solana?a=7f82338b3d) to supercharge the blockchain’s NFT community. The ecosystem has four contracts: Token Metadata, Token Vault, Auction, and Metaplex. While the term Metaplex often refers to the contract ecosystem, we will use it to refer to the Metaplex contract \(one of the four\) in this overview. ### **Why is metaplex important?** The Metaplex ecosystem unlocks a completely new way to interact with NFTs on Solana and consequently has been the de facto NFT tool on Solana. Through Metaplex, users can mint NFTs, host auctions for primary/secondary sales, and visualize NFTs in a standard way. ### **Metaplex smart contracts** The Metaplex ecosystem is a collection of four separate contracts, which communicate via the Metaplex contract to provide Solana developers with the tooling they need to create NFTs. #### **1. Token metadata** Referred to as a “mint decorator,” this contract enables the NFT creators to attach a Metadata PDA \(Program Derived Address\) to their mint. This associated PDA contains the bedrock information of the NFT collection, such as name, symbol, royalty fee, and sold status. #### **2. Token vault** As the name suggests, the Token Vault contract can hold NFTs deposited from any mints and enables fractional ownership of the vault and its NFTs.  There are two states for the vault: Activated and Combined.  When in “**Activated**” status, any NFTs in the vault is locked and inaccessible. The vault owner can now issue and sell treasury shares on the vault, thereby creating fractional ownership of any NFTs in the vault.  The vault can transition to “**Combined**” only when there are no outstanding fractional shares in circulation, i.e. the vault owner has all the shares. To reclaim the NFTs in the vault, the vault owner must buy back all the fractional shares on the market, from which they can “Combine” the vault. #### **3. Auction** The Auction contract acts as the auction mechanism on Metaplex and facilitates NFT auctions in **English Auction** and **Open Edition Auction** formats. As a simple bid-and-sell program, Auction operates without any knowledge of NFTs or other resources in the Metaplex ecosystem. This separation greatly reduces points of failure and increases the flexibility of the Auction program. #### **4. Metaplex** The Metaplex contract provides the **AuctionManagers**, which manages the three main contracts listed above. The AuctionManager keeps the record of all token metadata and their corresponding auctions, and enables smooth transition of account data between the Token Metadata, Token Vault, and Auction contracts. ## **Metaplex tools and features** Here are the most important features of Metaplex, what they do, when to use them, why they’re important, and how to start building with those features! ### **What is the metaplex storefront?** Metaplex Storefront is the one-in-all [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) to create and sell NFTs via the Metaplex contracts. Unlike [centralized Solana NFT marketplaces](https://www.alchemy.com/overviews/solana-nft-marketplaces) like [Magic Eden](https://www.alchemy.com/dapps/magic-eden), anyone can create and self-host the Storefront as a white-label solution, or they can use existing branded Storefronts.  This unique self-hostable feature of Metaplex’s Storefront feature empowers users to fully enjoy the benefit of decentralization on Solana, as they can create their own NFT marketplaces. #### **How to create a storefront with metaplex** This is a brief overview of how to create a Storefront, which is extensively covered in [Metaplex’s original documentation](https://docs.metaplex.com/). First, you need to clone and jumpstart the Metaplex Storefront source code on Github. Next, visit http://localhost:3000/ and switch the Solana network to Devnet. If you're unfamiliar with Solana test networks, read our [complete guide to using Solana's devnet](https://www.alchemy.com/overviews/solana-devnet). Then, initialize the Storefront by clicking “Init Store” and approving the transaction.  In the Store configuration section, copy the code and paste it into the _.env_ file located in _js/package/web_.  Now, restart the website with `yarn start`. You now have a Storefront associated with your address and hosted by you!  Through the Storefront’s default UI, you can mint NFTs and list them for sale, either as instant, "Buy Now" options, or list them as an auction. When you create an NFT, you can specify the description, royalty, and image. Because Metaplex’s Storefront NFT tool is open-source and customizable, you can update the forked GitHub code to modify the user interface \(UI\) and add new functionalities like creating a vault of NFTs or burning NFTs. ### **What is Candy Machine v2?** Candy Machine \(CM\) is an [on-chain generative NFT distribution program](https://www.alchemy.com/overviews/candy-machine-v2) designed to streamline the NFT experiences for buyers, sellers, and creators altogether.  Candy Machine V2 is the second iteration with improved and added features. Before CM, there was no universal program to manage the minting and sales of NFTs on Solana. This led to countless errors and bad user experiences for NFT creators and collectors, which inspired the Metaplex development team to create Candy Machine. Candy Machine solves the fundamental problems in NFT distribution that ease users’ interactions with NFTs: - Define precise minting time periods - Accept buyer funds only when NFTs can be minted - Help programs to create consistent NFTs by enforcing metadata types Candy Machine v2 added more features: - **Unpredictable mint index** - prevent buyers from sniping specific NFTs within a collection since v1 minted sequentially - **Whitelist** - allow only certain addresses to mint - **Captcha** - prevent bots from minting Additionally, v2 now supports larger collections, hide-and-reveal drops, lets web3 developers update their configuration at any point, and pause ongoing mints. #### **How to use Candy Machine v2** Since Candy Machine is a fully on-chain NFT mint program, any interactions must happen programmatically, although there are UIs that automate some features, users need to have foundational programming experience to fully utilize Candy Machine. To get started with CM v2, refer to Metaplex's official documentation. ### **What is gumdrop?** Gumdrop is a new beta [tool for Solana airdrops](https://docs.metaplex.com/airdrops/create-gumdrop) at low gas costs. Developed by the Metaplex community, Gumdrop achieves airdrops to a large number of users by sending them a redemption link off-chain, such as through social media. It provides an easy solution for projects to distribute tokens integrated with Metaplex at a cheap cost. Unlike the traditional airdrop framework where tokens appear in a user’s [Solana wallet](https://www.alchemy.com/overviews/solana-wallets), Gumdrop uses a “pull-based” paradigm where users have to actively claim or otherwise forfeit their tokens. Gumdrop utilizes a merkle tree to check whether a user is in the whitelist, which allows for fast computation on the chain. Gumdrop supports multiple types of token drops on Solana:  - Token airdrops - Candy Machine pre-sales - Edition prints In all cases, the drop builds a merkle tree from whitelisted users and distributes claim links in an off-chain manner. #### **How to use gumdrop** You can use Gumdrop programmatically or an interactive experience with a [guided Solana airdrop UI](https://lwus.github.io/metaplex/). For programmatic steps, refer to the official documentation. To use the graphic user interface \(UI\), follow these directions: There are three actions you can take:  1. Create 1. Claim 1. Close On the **Create** page, specify the claim method \(type of airdrop\). Next, choose an off-chain distribution method. Based on the selection, you will need to fill out additional inputs, including the mint address, to complete the creation. On the **Claim** page, users can initiate a claim of their airdrop, which is verified with the merkle tree of the Solana airdrop whitelist. On the **Close** page, creators can delete a Gumdrop airdrop by providing the private key and the mint address. Once closed, users won’t be able to claim the airdrop’s tokens. ### **What is AuctionHouse?** AuctionHouse is an **on-chain escrow-less NFT sale program** that allows creators and minters to seamlessly auction and sell NFTs. AuctionHouse is a separate concept from the self-hosted, frontend Storefront website — it is a program deployed on-chain that accepts SOL and any SPL token. By using the AuctionHouse, developers can skip the complexity and errors in writing their own NFT sale programs. Any Solana NFT marketplaces can implement the AuctionHouse protocol to benefit from its features, such as automatic buyer-seller match for NFT listings.  Unlike other common auction processes where buyers need to “claim” NFTs, the sale transaction executes all necessary interactions automatically. In other words, AuctionHouse reduces all unnecessary steps to intuitive actions for end users, while providing a standardized program for developers. AuctionHouse has a variety of parameters that can be configured. For example, a seller can create a partial sell order of a Solana NFT collection with a customized fee and treasury destination, and also enforces the auction house to sign off all transactions. AuctionHouse can also accept certain or all SPL tokens. AuctionHouse also keeps the history of all NFT transaction receipts \(e.g. listing, bids, and sales\). #### **How to use AuctionHouse** Currently, AuctionHouse only provides a [CLI library](https://github.com/metaplex-foundation/metaplex/tree/master/js/packages/cli/src) written in TypeScript, though a graphic user interface GUI implementation is coming soon. First, clone the all-in-one Metaplex that contains the AuctionHouse library. Then, install the necessary packages in the CLI \(JS\) subfolder of the _metaplex_ folder. Finally, using an existing keypair, you can create an AuctionHouse. Upon successful transaction, your command line should display these messages. Note: your auction house key will be different For more CLI procedures, refer to the official documentation. ### **What is sugar?** Sugar is an alternative to the Candy Machine v2 command line, with better performance and simplified steps for the developers. It provides an interactive process for Solana NFT developers to deploy Candy Machine v2 without much complexity and hassle in the original Command Line Interface \(CLI\). Sugar provides numerous benefits over using the CM v2 CLI, as noted in its documentation: - B​​etter performance for upload of media/metadata files - Simplified build and installation procedures taking advantage of _cargo_ - Robust error handling and input validation - More informative error messages #### **How to use sugar for Solana NFT drops** First, install the Sugar library with cargo. Next, modify the Solana CLI config with your desired [Solana RPC node provider](https://www.alchemy.com/overviews/solana-rpc) and your keypair.  Finally, launch the interactive session to deploy the Candy Machine. ### **What is hydra?** [Hydra](https://hydra-docs.glasseaters.xyz/) is a wallet of wallets that enables fund distribution to extremely large membership sets of addresses. It is also known as the “Fanout Wallet” for resembling a fanout of wallets from the main wallet. Hydra enables exciting features like tokenized royalties \(i.e. distributing received royalties to members\) and token membership \(e.g. easy staking rewards\). A Hydra wallet has three phases in its lifecycle:  1. Creation 1. Member Addition 1. Distribution #### **1. Creation phase** In the Creation phase, you, the creator \(known as the Authority\), can create a Hydra wallet. There are multiple angles of customization, such as the membership model, name, accepted tokens \(SOL or any SPL token\), and total shares of membership. Because of its complex operations and requirements, creating a Hydra wallet will cost hundreds of SOL. #### **2. Member addition phase** In the Member Addition phase, you can add an account as a member to the Hydra wallet. You can add a normal wallet \(user\), an NFT, and tokens, which involves a more sophisticated approach to computing the fund shares. #### **3. Distribution phase** In the Distribution phase, the Hydra wallet is called many times to distribute the fund of membership to each member, according to their shares. Each distribution call must include the receiving Member, and the Hydra wallet expects multiple calls throughout its lifespan. This design of one-call-per-member allows the wallet to maintain low processing and memory cost when dealing with a large set of members. #### **How to use hydra** Hydra is another program on-chain that can be called for interactions.  The program IDs for Hydra are: - _Mainnet_: hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg - _Devnet_: hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg The official documentation includes minimal code examples to interact with and create a Hydra wallet. You can create a create a wallet as such: You can add new members \(their addresses\) in just a few lines as well. Here is an example of adding a wallet address as a member. ### **What is amman?** Amman is a toolkit to test Solana SDK libraries and apps by running a local validator. The toolkit was developed by the Metaplex Foundation to enhance the developer experience for projects involving high-frequency updates and testing. Despite the low gas fee, deploying a complex Solana program on the mainnet can be cost-prohibitive. Hence, for fast deployment and testing of apps and SDK libraries, developers can either use the Solana devnet, testnet, or a local validator.  Because the testnet/devnet requires constant airdrops and repetitive deploy and wait processes, a local validator is preferred for rapid, no-WiFi deploys and tests.  Additionally, running a local validator guarantees 100% uptime while testing, whereas the testnet/devnet may go offline in the process. Amman CLI includes the _relay_, _validator interface_, and _mock storage server_ that together acts as a validator. The Amman Client includes _asserts_, _address labeling_, _transaction interface_, and a client to the _relay_, all of which should be used in tests and the browser to connect with the local validator. #### **How to use amman** The [Amman Github repo](https://github.com/metaplex-foundation/amman) provides an excellent guide to running Amman. You will need to clone that repo to start using Amman. To run Amman CLI, you need to create a configuration file. An example is given in the Amman GitHub repo. With the config file, you can start and later stop the local validator with the following commands: The Amman Client repository provides many TypeScript files that can be used in test scripts or web browser. ### **What is metaboss?** Touted as the Metaplex “Swiss Army Tool,” [Metaboss](https://metaboss.rs/overview.html) provides many functions wrapped around Metaplex for developers to easily build in the ecosystem. As Metaplex is a new, rapidly evolving system, developers implement their own functions to interact with Metaplex. Metaboss helps in the process by delivering consistent, standardized functions to the ecosystem. **Some of the functionalities Metaboss provides are:** - Decode the metadata of a token mint account - Mint new NFTs from a JSON file - Get a snapshot of current NFT holders for a given Candy Machine ID or update authority - Get a list of all candy machine state and config accounts for a given update authority - Update all metadata Data struct fields for a NFT #### **How to use metaboss** First, install Metaboss as a package to your Solana program by running: Now you are ready to use Metaboss!  There are numerous examples on the official documentation. For example, you can mint a new NFT from a JSON file with a single line of command. First prepare the JSON file _new_nft.json_ for the NFT. Then, you can create any number of this NFT using the command: ## **How to get started with metaplex on Alchemy** Alchemy provides [Solana APIs](https://www.alchemy.com/docs/reference/solana-api-quickstart) with the most robust free plan for developers to start building right away. Want to deploy your Metaplex NFT project on Alchemy? [Sign up for a free Alchemy account](https://alchemy.com/solana?a=7f82338b3d) to start building! --- # What is Fusion by Metaplex? URL: https://www.alchemy.com/overviews/metaplex-fusion.md As a Solana launchpad, [Metaplex](https://www.alchemy.com/dapps/metaplex) helps creators launch and scale their NFTs and their Fusion program builds and expands on this vision. Fusion is one of Metaplex's endeavors to bring more functionality around [NFTs](https://www.alchemy.com/overviews/solana-nft-analytics-tools) for creators on the Solana blockchain. This article will give a detailed overview of how the Fusion program works and how to set it up. ## **What is fusion?** **Fusion is an NFT composability feature, that builds on the Trifle program, that allows NFTs to be reassembled or rearranged based on individual components. The Trifle program is an extension of one of [Metaplex's](https://www.alchemy.com/overviews/metaplex) most used programs called Token metadata**. With Token metadata, the Trifle adds flexibility, the ability to create complex models NFT ownership, and adding features like on-chain tracking to NFT projects. ### **What are composable NFTs?** **Composable NFTs are flexible NFTs that allow individual NFT components to be rearranged to build complex models.** A prominent example of composability would be a brick Lego — it has a structure that permits connection with other lego bricks and this, in turn, permits the formation of complex models. Thus, composability is the components' ability to support or permit inter-relationships with one another to be re-assembled or rearranged to form a more complex structure. Composable NFTs build on the Trifle Program. ### **What are the use cases of fusion by metaplex?** **Fusion by Metaplex has use cases in multiple crypto ecosystems such as gaming, NFTs and decentralized finance.** #### **1. Gaming** Fusion's flexibility and composability features are perfect for asset gamification in modern web3 games. In-game assets can be combined to form other Tokens in real-time. For example, if you have two stars in a game and the value of these two stars equals 1 diamond, you can combine both tokens and track them on-chain.  #### **2. NFTs** Using Fusion, compatible NFT images can become composable to form new images. For instance, individual NFTs can be puzzle pieces, or parts of a car that can be combined together to create an entirely new NFT. #### **3. DeFi** NFTs can now be bundled or composed together and sold on decentralized exchange platforms. ## **How does fusion by metaplex work?** **Fusion uses Trifle which is an NFT composability program built as an extension to the Token Metadata program.** The Fusion program is made up of different Metaplex programs, which are made to bring more functionality to NFTs built on Solana. Fusion can be used to enhance [apps](https://www.alchemy.com/dapps/top/defi-dapps) and NFT marketplaces, and it also empowers creators to specify rules around NFT trading and ownership. ## **What is the trifle program?** **The Trifle program, which is an extension of the Token Metadata program by Metaplex, powers NFT composability by using Creator-Owned Accounts, which is a type of NFT Escrow account that extends the Token metadata program.** There are two types of Escrow accounts, TOE \(Token owned escrow\) and COE \(Creator owned escrow\). The Trifle program uses COEs and designates a [Program Derived Address \(PDA\)](https://www.alchemy.com/overviews/program-derived-address) as the creator of the NFT, giving a PDA the benefits and features ascribed to creators to and other functionalities like on-chain tracking. ### **What are token ownership rules?** These are three types of rules and constraints associated with the ownership of a token that a creator can set — none, Metaplex certified collections, and Token set. Every other constraint comes under these three main types. #### **1. None** This is set when no requirements or rules are necessary, and it permits the transfer of any token. See these as allowing guests to an event without a gate pass. #### **2. Metaplex certified collections** This is set when tokens are required to belong to a specific collection. #### **3. Token set** This is set when a minted token is required to match one token in the set. ## **What are Solana accounts used with fusion?** Metaplex Fusion uses two accounts — the escrow constraint model account which is an extension of the Token metadata program/Contract, and a Trifle account.  ### **What is the escrow constraint model account?** **An escrow constraint model account outlines requirements that must be met before an instruction can be used to access a Trifle account.** The Escrow account uses a hashmap to implement its data structure, where it maps keys to values by passing them through a hash function. With the escrow model account, the key is the Constraint/slot name while the value is the constraint type, which can only be \(None/ Collection or TokenSet\) and the Token limit \(the maximum amount of tokens in the escrow account\). A unique feature of the constraint model account is NFTs for similar use cases can be connected to the same escrow constraint model. Additionally, the constraint model can be used as a bank to store the fees paid by Trifle users for each instruction.  ### **What is a trifle account?** **The Trifle account manages and tracks tokens stored in the COE accounts on-chain, and is linked to the Escrow constraint account during execution.** The Trifle account uses a hashmap to manage these tokens. #### **Instructions associated with the escrow constraint and trifle account:** 1. **Create Escrow Constraint Model Account** - this creates an escrow model account 1. **Create Trifle Account** - this is used to create a Trifle account 1. **Transfer In** - this is used to transfer a token to the COE managed by the Trifle account 1. **Transfer Out** - this is used to transfer a token out of the COE that is managed by the Trifle account The transfer in instruction checks the constraint model to verify that the token about to be transferred in meets the specified requirements, and the transfer out instruction checks the constraint model to verify that the token about to be transferred out meets the specified requirements. ## **How to use metaplex fusion** At the program level, using Fusion involves three steps: creating a parent NFT, defining the schema of your NFT, and setting up the Trifle account. ### **Step 1: create a parent NFT** Here’s a typical code example that creates a parent NFT. **Here’s what the code does:** #### **A. Generate a new KeyPair object** The KeyPair object consists of a public key and a private key, and assign it to the nftMint variable. This will be used as the mint \(issuer\) of the NFT. #### **B. Call the findTriflePda function** Next, call the with the findTriflePda function public key of the nftMint object and the updateAuthority object as arguments. The findTriflePda function returns a program address that will be used as the Trifle account for the NFT. #### **C. Call the create method of the NFT** Call the create method of the NFTs property of the Metaplex object, passing an object with the following properties as an argument: - **URI** - a string that will be used as the static URI for the NFT - **name** - a string that represents the name of the NFT - **sellerFeeBasisPoints** - a number that represents the seller fee for the NFT in basis points - **useNewMint** - the nftMint object, which will be used as the mint \(issuer\) of the NFT **Note**: the URI string is constructed by concatenating the following items separated by slashes: - METAPLEX_BUCKET constant - the first element of the TrifleAddress array - the string ".json" After the create method is called, it returns a value that represents the parent NFT. ### **Step 2: define schema** A schema is a blueprint of how data is organized in a database. With Fusion, the constraint model has a field/slot called the **schema** field, which determines how some attributes of the NFT are organized.  #### **Here is what each schema attribute represents:** - **type** -  represents what type of schema it is - **layers** - represents the different slots in the Trifle account - **defaults** - this shows the default metadata to use when comparing and combining Fusion’s metadata ### **Step 3: set up a trifle account** The final step is to set up a Trifle account, but according to the [Metaplex documentation](https://docs.metaplex.com/programs/fusion/getting-started), the instructions for setting up a Trifle account are not yet available. ## **Start developing on Solana today** Fusion by Metaplex is used to create composable NFTs on Solana. To start developing on Solana, sign up for a free [Solana RPC](https://www.alchemy.com/dapps/list-of/rpc-node-providers-on-solana) node account with Alchemy today! --- # What is MEV Boost? URL: https://www.alchemy.com/overviews/mev-boost.md [Maximal Extractable Value \(MEV\)](https://www.alchemy.com/overviews/what-is-mev) is the process of extracting value from a blockchain network by adding, removing, or changing the order of transactions included in a block. MEV profits often come at the expense of the ordinary user. Flashbots, an MEV research organization, created **MEV-Boost** in order to mitigate block producers' ability to harm users. ## **What is MEV-boost?** ‍**MEV Boost is an iteration of the current Flashbots mechanism designed to counteract the negative effects of Maximal Extractable Value \(MEV\) on Ethereum.** Flashbots arose from the need to [solve several problems related to MEV](https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752) including: - Quantifying the scale and volume of MEV extraction - Democratizing access to MEV profits  - Reducing the impact of MEV-related transactions on regular users The original Flashbots product was mev-[geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), a forked version of the go-ethereum \(geth\) client software used by mining nodes in building blocks. Mev-geth allowed miners to outsource the work of finding MEV opportunities and building the most profitable block to other parties, called **searchers** and **relayers**.  ### **What are searchers and relayers?** A **searcher** is a specialized party, such as a trader, that finds profitable transactions and sends them to a miner for inclusion in a block, and instead of passing through the public mempool, searcher transactions go to a **relayer** that validates the transaction bundles who then sends them to the miner for inclusion in a block. **‍**This process encourages transaction privacy. The miner running mev-geth uses software to evaluate all incoming bundles and chooses the bundles with the most profitable transaction ordering. Flashbots also allows searchers to express their inclusion preference \(i.e. the position of their transactions in a block\) using a **sealed-price bid scheme**. This means transaction senders don’t have to bid for the top position in a block as was the case with the pre-Flashbots era. After building a block, **mev-geth** compares it to a regular Ethereum block to see which has more profits. If the Flashbots block is deemed more profitable, it starts mining on it–otherwise the client mines on the regular Ethereum block.  ## **How does mev-boost work?** Like mev-geth, [**mev-boost**](https://github.com/flashbots/mev-boost) enables block proposers (known as validators in PoS) to outsource block production. However, the current MEV Boost design has certain differences including the Builder API, block builders, escrows, and validators. ### **What is the builder API?** The Builder API is a modified version of the Engine API used by Beacon Chain nodes to connect execution clients that are responsible for building blocks and consensus clients that responsible for proposing blocks for addition to the Beacon Chain. The Builder API is a more neutral name for the mev-boost middleware that facilitates interactions between validators and block builders. The [Builder API](https://github.com/ethereum/builder-specs) sits between the validator running a consensus client and a block builder running an execution client. The Builder API allows block builders to send an ‘[execution payload header](https://github.com/ethereum/consensus-specs/blob/a45ee9bf5b1fde766d69e551a6b1a21fe2531734/specs/merge/beacon-chain.md#executionpayloadheader)’–a cryptographic commitment to the block’s contents and total value–to the validator for signing. This prevents validators from stealing the block’s content and locally producing a block to capture the MEV.  Afterward, the validator for the next Beacon Chain block, who must have been selected as a proposer, signs the execution payload header with their public key, and is then transferred to the **escrow** which passes it to the block builder. The block builder then is expected to publish the body of the execution payload \(i.e. the transaction bundle\) to the network along with the validator’s signature attesting to the block’s integrity.  ### **What is a block builder** **A block builder is an entity that invests in specialized hardware necessary for resource-intensive block production.** The block builder receives transactions from searchers who, in addition to the gas fee, express their preferred position in the block by making a sealed-price bid. The builder’s job is to build the most profitable block using different strategies.  ### **What is the relayer?** **A relayer is an entity responsible for checking blocks before passing them to validators.** The relay protects the validators from spam by confirming the builder blocks for validity and estimating the MEV-related value of each block.  ### **What is the an escrow?** **An escrow is an entity that receives the contents of a block from the relay.** The escrow provides [data availability](https://www.alchemy.com/overviews/data-availability-layer) to validators by ensuring that data for every execution payload which the validator signs off on is available. Also, relayers must trust escrows not to reveal the contents of the payload to the validator before the latter signs it.  ### **What is a validator?** **A validator in the mev-boost architecture is a staked participant in the Beacon Chain selected to propose a block for a particular slot.** The validator communicates with the relay to get the most profitable block header, which it attests to it by signing with its public key. Once the block is added to the chain, the validator receives transaction fees and MEV tips in the “fee recipient” address specified in the execution payload. ## **What are the benefits of MEV-boost?** The benefits of MEV Boost include democratizing MEV opportunities so that solo stakers can participate profitably, lowering gas fees, and increasing privacy for Ethereum users. ### **1. MEV-boost protects against centralization** MEV can lead to the creation of permissioned mempools or off-chain deals between traders and block producers. Both could significantly threaten decentralization in Ethereum. MEV-Boost fixes this problem by democratizing access to MEV opportunities which, although counterintuitive, mitigates the risk of centralization.  In a post-Merge Ethereum, large staking pools with lucrative MEV profits can reinvest the money into exploiting even more MEV opportunities. This would likely put pressure on solo stakers to join big staking pools if they want to earn more staking returns. By running MEV Boost, any validator, including solo stakers, have access to MEV opportunities. The commit-reveal scheme in which validators sign payload headers and block builders release the body afterward means builders don’t need to trust validators. Thus, large staking pools cannot use their reputation as leverage to corner MEV deals. ### **2. MEV-boost helps lower gas fees and improves security** MEV impacts gas fees for regular users through **priority gas auctions** carried out by players in DeFi \(particularly trading bots\). MEV-Boost’s contribution to solving this problem is moving gas auctions off-chain.  Instead of repeatedly sending transactions to the public mempool, DeFi traders send one-time sealed-price bids to miners. In a **sealed-price bid auction**, all bids are revealed at once, with buyers only required to pay what they initially bid. Sealed-price bid auctions eliminate the PGA-style bidding wars that result in massive stress to the p2p network and higher gas fees for regular transactions.  Ethereum users, especially participants in DeFi, will also benefit from greater transaction privacy. Using MEV Boost is perhaps the safest \(and legal\) option for escaping Ethereum’s **Dark Forest**, the colloquial name for the public mempool.  Resorting to access-only mempools or off-chain deals is rarely beneficial since operators are more likely to exploit users when they have no alternatives. Flashbots is an open-source, decentralized alternative to private mempools and offers more options for privacy-focused users. ## **How does MEV-boost work with proposer/builder separation?** [Proposer-Builder Separation \(PBS\)](https://www.alchemy.com/overviews/proposer-builder-separation) is a part of Danksharding and is a planned change to Ethereum’s consensus that will see different entities manage block production and block proposals. Here, validators \(proposers\) will receive bids from multiple block builders before choosing which block to propose to be added to the chain.  Because MEV gives validators and miners incentives to [reorg Ethereum](https://www.alchemy.com/overviews/what-is-a-reorg), perform time-bandit attacks, and conduct off-chain deals with traders, PBS is designed to reduce the impact of MEV on consensus-layer security. In-protocol separation of the block production and proposal would further reduce this risk. PBS could use a version of the commit-reveal scheme used in MEV Boost’s Builder API to prevent proposers from accessing the contents of a block before signing it. This would directly eliminate the incentive for validators to conduct chain reorganizations or collude with traders.  Flashbots MEV-Boost can be seen as a precursor to in-protocol PBS. This is a critical role since in-protocol PBS would require [updating the Beacon Chain’s fork choice rule](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725). In the meantime, MEV-Boost allows researchers and users to see what Proposer-Builder Separation might look like in a post-Merge Ethereum. MEV Boost will also serve as a prototype to inspire the development of the consensus-layer logic and middleware necessary for implementing external block-building in Ethereum. ## **Conclusion** Researchers hope that MEV Boost and, in the future, Proposer-Builder Separation via [danksharding](https://www.alchemy.com/overviews/danksharding) will help to mitigate MEV’s real threats to a [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) and decentralized Ethereum and will continue to further help reduce gas fees and network congestion for users. --- # How to Migrate from Kovan to Goerli on Optimism URL: https://www.alchemy.com/overviews/migrate-from-kovan-to-goerli-on-optimism.md The Optimism team recently announced the migration from Kovan to Goerli for their testnet. This article will explain why web3 developers building on Optimism should migrate their [apps](https://www.alchemy.com/dapps/top/defi-dapps) to Goerli, and how to migrate with Alchemy, a developer platform that supports Optimism applications. ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/). ## **Why is Optimism migrating from Kovan to the Goerli Testnet?** Kovan is a Proof-of-Authority \(PoA\) test network, and it has been deprecated for over a year. As of this announcement, there are only two remaining validators left supporting the Kovan testnet.  To keep parity with the Ethereum network throughout [The Merge roadmap](https://www.alchemy.com/the-merge), Optimism applications should migrate to Goerli, another Proof-of-Authority testnet that was maintained after [The Merge](https://www.alchemy.com/overviews/the-ethereum-merge) was completed last year. Other Ethereum testnets like [Ropsten](https://www.alchemy.com/overviews/ropsten-testnet), [Rinkeby](https://www.alchemy.com/overviews/rinkeby-testnet), [Kiln](https://www.alchemy.com/overviews/kiln-testnet), and [Prater](https://www.alchemy.com/overviews/prater-testnet) have already been deprecated. For more information on Ethereum’s [testnet deprecation](https://blog.ethereum.org/2022/06/21/testnet-deprecation/) and merge timeline, refer to the official Ethereum blog. ### **When will Optimism and Alchemy end support for Kovan?** Optimism aimed for all projects to be completely migrated to Goerli by **August 15th, 2022**, and Alchemy ended support for the Kovan testnet on** October 5th, 2022**.  Toward the deadline for the end of Kovan support, Alchemy informed current users through in-app alerts, email notifications, and direct messages to Enterprise customers about upcoming deadlines. #### **How will the migration from Kovan to Goerli be rolled out on Optimism?** The migration from Kovan to Goerli will be rolled out in three phases: - Wave P0 - Infrastructure - Wave P1 - Projects \(Building Block Apps\) - Wave P2 - Projects \(End-user Apps\) Because the migration happened in phases, the Optimism team recommended that teams use Optimism Goerli for testing that didn't require a hard dependency on anything not yet supported." ### **Things to consider before migrating from opt-Kovan to Goerli** Before migrating smart contracts from Kovan to Goerli, dApp developers should consider their: 1. Product roadmap - identify competing initiatives to plan the migration timing accordingly 1. Upcoming deadlines - ensure the proper time of energy is available to migrate successfully 1. Testing and verification needs - determine what testing and QA must be completed  1. Smart contract dependencies - review Kovan smart contract dependencies such as Aave v2 Web3 developers can ensure their Optimism apps work as intended on Goerli by considering these areas and completing their migration to the new Opt-Goerli test network as soon as possible. ## **How to migrate from Kovan to Goerli on Optimism** To migrate from Kovan to the Goerli testnet on Optimism, create a new app in the Alchemy dashboard with the “Chain” set to “Optimism” and the “Network” set to “Goerli.” If you don’t already have an account, [create a free Alchemy account](https://www.alchemy.com/?a=0c424db84f) to start testing on Optimism’s Goerli testnet. Next, copy the Optimism-Goerli RPC URL for your app.  This is what the new Goerli RPC URL will look like: https://opt-goerli.g.alchemy.com/v2/ After you create a new Opt-Goerli RPC endpoint URL, you can[ request 0.02 Goerli ETH ](https://goerlifaucet.com/)per day from Alchemy’s faucet. If you need more goETH, please email support at faucet@alchemy.com. \(Note: The Goerli faucet requires a minimum mainnet balance of [0.001 ETH](https://www.alchemy.com/faucets/ethereum-sepolia) on the wallet address used to prevent bots and abuse\). Before you can start testing smart contracts on the Opt-Goerli network, you need to bridge your test ETH from Ethereum to Optimism.  ### **How to bridge Goerli ETH to Optimism** There is no public bridge to transfer Goerli ETH to Optimism yet, but it can be accomplished using [Cast from Foundry](https://github.com/foundry-rs/foundry/tree/master/cast), a toolkit for Ethereum application development. There is no user interface \(UI\) yet, but it is expected shortly. Here is what an example code snippet would look like: cast send --legacy --rpc-url=$ALCHEMY-OPT-GOERLI-ENDPOINT --value=0.001ether --private-key=<REDACTED> 0x636Af16bf2f682dD3109e60102b8E1A089FedAa8 Now that you have Goerli ETH on Optimism, deploy your Optimism smart contracts in the new Opt-Goerli app within Alchemy the same way you deployed your Kovan application. Once your Optimism dApp is deployed on the Opt-Goerli testnet, you can continue running tests, debugging code, and iterating on your product the same way you did when testing it on Kovan ### **Additional Optimism Goerli resources** For more information on the Optimism testnet migration from Kovan to Goerli, refer to these resources: - Read the Optimism team's [official announcement](https://dev.optimism.io/kovan-to-goerli/). - Follow migration progress updates on the phased rollout - Review the [official Twitter post from the Optimism team](https://twitter.com/optimismPBC/status/1542589602329919490) - Check the [Opt-Goerli testnet status](https://status.optimism.io/) - Explore transactions on the Opt-Goerli block explorer --- # How to Migrate from Rinkeby to Goerli on Ethereum URL: https://www.alchemy.com/overviews/migrate-from-rinkeby-to-goerli.md With the upcoming deprecation of the [Rinkeby test network](https://www.alchemy.com/overviews/rinkeby-testnet), developers should be prepared to migrate [apps](https://www.alchemy.com/dapps/top/defi-dapps) off of Rinkeby, which will be deprecated by the Ethereum Foundation and as of October 5th, 2022, will no longer be supported by Alchemy. Leading up to[ the Ethereum Merge](https://www.alchemy.com/overviews/the-ethereum-merge), where today’s Proof-of-Work \(PoW\) blockchain merges with the new Proof-of-Stake \(PoS\) Beacon Chain, apps should redeploy their smart contracts on the **Goerli testnet**.  The Goerli test network will be the primary testnet that is maintained for dApp developers after The Merge is complete. Popular Ethereum layer 2 networks have already migrated and are supported by Alchemy including the [Arbitrum Nitro Goerli testnet](https://www.alchemy.com/overviews/arbitrum-nitro-testnet) and the [Optimism Goerli testnet](https://www.alchemy.com/overviews/migrate-from-kovan-to-goerli-on-optimism). TL;DR - Migrating from Rinkeby to Goerli is as simple as switching your Rinkeby RPC endpoint URL with a [Goerli RPC endpoint URL](https://www.alchemy.com/chain-connect/chain/goerli). ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/). ## **What is Rinkeby used for?** Rinkeby is a Proof-of-Authority \(PoA\) test network that is primarily used by application developers to test their smart contracts in a safe, and cost-neutral environment. Web3 developers can [get free Rinkeby Ether from a faucet](https://rinkebyfaucet.com/), deploy their contracts to Rinkeby, and ensure their smart contracts will work as expected in production. Once the dApp is tested, developers can then deploy updates to their smart contracts on Ethereum’s mainnet. Some web3 apps use Rinkeby for testing because that is where popular applications like [OpenSea](https://www.alchemy.com/dapps/opensea), Chainlink, and Aave v2 enable testing for their smart contracts. Because these apps have migrated to Goerli, developers dependent on applications like OpenSea and Chainlink, can now switch from Rinkeby to Goerli. ## **Why is Rinkeby being deprecated?** Rinkeby is a Proof-of-Authority \(PoA\) test network that will not be receiving [critical network updates](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer) during The Merge preparation, which will make it no longer fit to be an accurate testing environment.  The two test networks that will be maintained after the merge are Goerli, which will be the predominant testnet recommended for Ethereum application developers, and the [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet), a permissioned test network primarily for node client developers who need to test the implementation of [Execution Layer client software](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients). ### **When will Rinkeby be deprecated?** An exact date for the Rinkeby test network deprecation has not been determined yet. For up-to-date information, refer to the Ethereum Foundation’s blog, or follow core developers on Twitter including **Tim Beiko**. Although the Rinkeby won't be deprecated until later in 2022, we recommended web3 dev teams with smart contracts deployed on Rinkeby to start planning, testing, and re-deploying their contracts on the Goerli testnet. As of **October 5th, 2022**, Alchemy will no longer support the Rinkeby testnet.  ### **What happens after the Rinkeby Testnet is deprecated?** After Rinkeby is deprecated by the Ethereum Foundation, no additional client updates or bug fixes will be provided by the community, and the software used to run testnet nodes will not actively be maintained. Because Rinkeby won’t be actively maintained, it will lose parity with [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), and will not be a safe or accurate testing environment. Because Rinkeby will be deprecated by the Ethereum Foundation, infrastructure providers, including Alchemy, will phase out support for the test network When zero node providers are running Rinkeby nodes, the testnet will be sunset. ### **When will Alchemy end support for Rinkeby?** **Alchemy will end support for Rinkeby in on October 5th, 2022.** As the Ethereum Foundation and core Ethereum developers continue to plan for the Rinkeby deprecation, Alchemy will inform current users through in-app alerts, email notifications, and direct messages to Enterprise customers. For more information on [the Ethereum Merge timeline](https://alchemy.com/the-merge) and Rinkeby testnet deprecation, refer to the Merge portal. ## **How to migrate from Rinkeby to Goerli** To migrate from Rinkeby to the Goerli testnet, create a new app in the Alchemy dashboard with the following details: - **Chain** - Ethereum - **Network** - Goerli Next, copy the Goerli RPC URL for your app from the dashboard. This is what the new Goerli RPC URL will look like:** https://eth-goerli.alchemyapi.io/v2/** After you create a new Goerli RPC endpoint URL, [request Goerli ETH from a faucet](https://www.alchemy.com/overviews/goerli-faucet). This goETH will be used to pay for test transactions on the Goerli testnet. By signing up for a [free Alchemy account](https://www.alchemy.com/?a=8ce234145c) you can request 0.02 goETH per day from [Alchemy's free Goerli faucet](https://goerlifaucet.com/) during the lead up to The Merge. Typically, the goETH drip is 0.02 test ETH. If you need more goETH, please email faucet@alchemy.com. Now that you have Goerli ETH, deploy your smart contract in the new Goerli app within the Alchemy dashboard the same way you deployed your Rinkeby application! Once your application is deployed on Goerli, you can run additional tests, modify code, and update your dApp the same way you did when testing Rinkeby apps. ## **Things to consider before migrating from Rinkeby to Goerli** Before migrating smart contracts from Rinkeby to Goerli, dApp developers should consider their: 1. **dApp roadmap** - identify concurrent initiatives to plan the migration accordingly 1. **impending deadlines** - ensure the proper amount of resources are dedicated to migrating to Goerli 1. **testing and verification** - determine what tests need to occur to validate a successful migration 1. **smart contract dependencies** - review smart contract dependencies using Rinkeby Web3 developers can ensure their apps work as intended to work on Goerli, by considering these four areas and complete their move from Rinkeby to Goerli before the Rinkeby testnet is deprecated by the Ethereum Foundation. --- # How to Migrate from Ropsten to Goerli URL: https://www.alchemy.com/overviews/migrate-from-ropsten-to-goerli.md With the [deprecation of the Ropsten](https://www.alchemy.com/overviews/ropsten-testnet) and [Rinkeby testnet](https://www.alchemy.com/overviews/rinkeby-testnet), developers should migrate their [apps](https://www.alchemy.com/dapps/top/defi-dapps) off testnets that are no longer supported after the Ethereum merge, where Ethereum's Proof-of-Work blockchain merged with the [Proof-of-Stake Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain).  [Testnets are important web3 developer tools](https://www.alchemy.com/overviews/what-are-testnets) for testing the smart contracts used in decentralized applications and the configurations of nodes running various types of client software. With the [Ethereum Merge timeline](https://www.alchemy.com/the-merge) underway, the recommended testnets engineers should use are changing. ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [**Goerli will soon be deprecated**](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [**Sepolia** **testnet**](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://sepoliafaucet.com/). ## **What testnets are being deprecated?** The testnets that have been deprecated include Kovan, Ropsten, [Kintsugi](https://www.alchemy.com/overviews/kintsugi-testnet), and Rinkeby. [The Prater testnet](https://www.alchemy.com/overviews/prater-testnet) was merged with Goerli. The Sepolia testnet continues to be maintained after the merge so client developers can continue to test their nodes. Alchemy supported the Ropsten and Kovan testnets until July 1st, 2022. These testnets were deprecated by the Ethereum Foundation and the larger Ethereum community. Kovan was deprecated last year, whereas the Ropsten testnet completed its merge on June 8th, 2022, as a planning exercise ahead of the mainnet merge, which occurred on September 15th, 2022. ### **What happens after a Testnet is deprecated?** After a testnet is deprecated, no additional client updates will be provided by the community, and the software used to run testnet nodes will not actively be maintained. This means these networks will no longer serve as a safe or accurate environment for testing applications. Once a testnet is on the deprecation path, while some node infrastructure providers might continue running nodes, they will eventually lose parity with the Ethereum Virtual Machine \([EVM](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)\). In other words, the EVM execution will drift apart from the production EVM execution environment on mainnet. Because Ropsten and Kovan are no longer actively maintained, they are no longer good places to test smart contracts. #### **What is the difference between deprecated and sunset?** Deprecation means a testnet will no longer be supported by the community, whereas sunset means the testnet no longer exists \(i.e., nodes are no longer running the network\). Ropsten and Kovan have been sunsetted and deprecated, which means they no longer exist, and no more upgrades or bug fixes will be deployed to maintain the node client software. ## **What testnets should I use instead of Ropsten?** The testnets Alchemy and the Ethereum Foundation recommend using are Goerli and Sepolia.  For Ethereum application developers building apps like DeFi protocols, NFT marketplaces, and web3 projects, **Goerli** is the recommended testnet. This will be the majority of builders in the web3 space. For engineers building, maintaining, and testing node client software, [Sepolia](https://www.alchemy.com/overviews/sepolia-testnet) is the recommended testnet to use after the merge because it is a Proof-of-Stake \(PoS\) testnet that most similarly reflects the current state of the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). Since the Rinkeby testnet was deprecated in late 2022, it is recommended that [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) teams using Rinkeby redeploy their contracts to the Goerli testnet as well. Note: The Goerli testnet was deprecated in Q1 2023 and will sunset in Q4 2023, so developers and users should migrate to Sepolia for testing and development purposes. ## **How to migrate from Ropsten to Goerli** To migrate from Ropsten to the Goerli testnet [create a new app](https://dashboard.alchemy.com/) in the Alchemy dashboard for the Ethereum blockchain and the Goerli test network. Then, copy the [Goerli RPC URL](https://www.alchemy.com/chain-connect/chain/goerli) for your app. This is what the new Goerli RPC URL will look like: https://eth-goerli.alchemyapi.io/v2/<your api key> Once you've created a new Goerli RPC URL, [get goETH from a Goerli faucet](https://goerlifaucet.com/). This fake ETH will be used to pay for transaction on the Goerli testnet. By [signing up for a free Alchemy account](https://www.alchemy.com/?a=1d820503ba) you can request **0.02 goETH per day**. If you need more goETH, please contact faucet@alchemy.com. \(Note: The Goerli faucet requires a minimum mainnet balance of 0.001 ETH on the wallet address used to prevent bots and abuse\). Now that you have goETH, deploy your smart contract in your new Goerli app with Alchemy the same way you deployed your Ropsten app. Once your app is deployed on Goerli, you can run tests, fine-tune code, and iterate on your product the same way you did when testing apps on other testnets. ### **Things to consider before migrating from Ropsten to Goerli** Before migrating smart contracts from Ropsten to Goerli, dApp developers should consider their: 1. Product roadmap 2. Upcoming deadlines 3. Testing and verification needs 4. Smart contract dependencies By considering these four areas, engineers can ensure their apps work as they are expected to work on Goerli, and complete the migration from Ropsten before the deprecated testnet begins to lose parity with Ethereum. --- # How to Migrate from Goerli to Sepolia URL: https://www.alchemy.com/overviews/migrate-to-sepolia.md With the Ethereum Foundation’s announcement that [**Goerli will be deprecated**](https://www.alchemy.com/blog/goerli-faucet-deprecation) in early 2024, developers should move their [apps](https://www.alchemy.com/dapps/top/defi-dapps) to the [**Sepolia testnet**](https://www.alchemy.com/overviews/sepolia-testnet) as soon as possible. As of The Merge, both Ethereum and Sepolia have transitioned to Proof-of-Stake. Sepolia is continuously maintained by the Ethereum community, making it a suitable environment for testing Ethereum-based projects. [In our previous announcement on Sepolia](https://x.com/Alchemy/status/1635694028053442560) we highlighted its benefits, such as improved scalability and lower gas fees; all attributes we think will ultimately lead to better application development. ## What happens when a network is deprecated? When a testnet is deprecated, like Ropsten, Rinkeby, and Kovan were in the past, it loses parity with the Ethereum Virtual Machine \(EVM\), making it unsafe and inaccurate for testing apps and other web3 projects. In other words, the deprecation of a network [like Goerli](https://github.com/eth-clients/goerli) signifies that it will no longer receive updates or maintenance, making it incompatible with the latest Ethereum Virtual Machine \(EVM\) changes. This leads to a significant drawback for developers: Goerli will no longer mirror the mainnet environment accurately. It's akin to using an app that's no longer supported — it might work for a short time, but eventual glitches and incompatibilities will emerge, and there will be no fixes in sight. Thankfully, all developers have to do to prevent disruptions is migrate from Goerli to Sepolia. The migration to Sepolia represents a critical move to ensure that your development environment remains robust and reliable. While performing this migration may cause a temporary inconvenience, choosing to delay instead could lead to significant issues down the line, especially after the depreciation date for each network \(see the table below\). To avoid any risk of issues, the Alchemy team strongly recommends to start planning and executing the migration to Sepolia as soon as possible. This proactive approach will safeguard your projects against future disruptions and ensure continuity in your development workflow. ## **What is the Sepolia Testnet?** Testing smart contracts is a critical part of the dapp development process. However, testing on the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) is unnecessarily and prohibitively costly. Testnets like Sepolia exist to offer a cost-effective and smooth development experience. Sepolia functions similar to Ethereum, allowing web3 developers to test their projects without spending real ETH tokens. With Sepolia, developers can confidently design, create, test, and monitor their project's performance before deploying it on the Ethereum mainnet. Sepolia has a permissioned set of validators, and is relatively new meaning its state and history are small. These factors make running [Sepolia nodes](https://www.alchemy.com/chain-connect/endpoints/alchemy-sepolia) quick and easy for developers.  ### Sepolia testnets on Alchemy Alchemy’s team is working to support Sepolia testnets on every EVM chain as soon as they are available. ## How to migrate from Goerli to Sepolia To migrate from Goerli to Sepolia testnet, [create a new app](https://dashboard.alchemy.com/) in the Alchemy dashboard with the following details: 1. Chain: Ethereum 1. Network: Sepolia _This example uses Ethereum, but you can follow these steps for every EVM-compatible chain on Alchemy._ **To get the Sepolia RPC URL** for your app, follow these steps: 1. Click on the **view key** button 1. Copy the **HTTPS URL** that appears The new Sepolia RPC URL will look like this: https://eth-sepolia.g.alchemy.com/v2/ ## **How to get Sepolia ETH** Once you've created a new Sepolia RPC URL, the next step is to get Sepolia ETH. [**You can get Sepolia ETH from Alchemy’s Sepolia faucet**](https://sepoliafaucet.com/), which allows you to receive a small amount of Sepolia ETH to your EOA or smart contract wallet.  Sepolia ETH is the currency used to complete transactions on the Sepolia testnet, similar to how ETH is used to pay gas for mainnet Ethereum transactions. 1. Go to the faucet: [https://sepoliafaucet.com/]() 1. Enter your wallet address or ENS name in the provided box 1. Click on the “Send Me ETH” button to receive your Sepolia ETH Open your Metamask wallet, go to the activity tab, and you can see all the transactions.  In this example, 1 Sepolia ETH was deposited to the [MetaMask](https://www.alchemy.com/dapps/metamask) wallet from the [Sepolia faucet](https://www.alchemy.com/overviews/sepolia-eth). Open the Activity Tab in Metamask You can now start deploying and testing smart contracts on Sepolia testnet with your test ETH! ## **How to access Sepolia block explorer** Web3 developers can use a Sepolia block explorer to access information such as the date and time of blocks, transaction fees, gas burned, and Sepolia testnet transaction data by looking up the transaction hash. For example, [Etherscan’s Sepolia block explorer](https://sepolia.etherscan.io/) and [Otterscan](https://www.alchemy.com/dapps/otterscan) are two popular examples. ## **3 things to know when migrating from Goerli to Sepolia** If you're a dapp developer planning to migrate smart contracts from Goerli to Sepolia, there are several things to consider to ensure a safe transition: dependencies, deadlines, and testing. ### **1. Smart contract dependencies**  Review your smart contract [dependencies on Goerli and make sure they are compatible with Sepolia's network](https://www.alchemy.com/overviews/goerli-vs-sepolia). This can help you identify any potential issues that need to be addressed before migrating. ### **2. Impending deadlines** Make sure to allocate the necessary resources and time to complete the migration before any impending deadlines. This can help you avoid any last-minute rushes or issues. Our team is closely monitoring chain developments and as soon as we have new information on all deadlines, they will be integrated into this guide. ### **3. Testing and verification** Determine the tests needed to validate a successful migration, such as verifying the compatibility of your smart contracts with Sepolia's network. This can help ensure that your dApp works as intended on Sepolia. By considering these three areas, developers can complete their move from Goerli to Sepolia with confidence and ensure their decentralized application works on Sepolia. --- # What is Modular Account Abstraction? URL: https://www.alchemy.com/overviews/modular-account-abstraction.md Modular AA is a movement aimed at evangelizing modularized smart accounts. The goal is to make accounts customizable for users and allow developers to build context-rich and self-contained account features. Modular smart contract accounts \(SCAs\) allow builders to create [useful new extensions to accounts](https://www.alchemy.com/overviews/smart-contract-wallet-benefits). Some examples include: 1. **Social Recovery** - Allow a trusted device or friends to help you recover your account in case you lose access 1. **Spending Limits** - Allow [apps](https://www.alchemy.com/dapps/top/defi-dapps) to spend tokens on behalf of you up to a specified limit 1. **Passkey Support** - Login with your biometrics like FaceID By standardizing modularity counter-party risk can be greatly reduced, leading to simple and secure web3 user experiences. The [ERC-4337 standard](https://www.alchemy.com/overviews/what-is-account-abstraction) lays out the infrastructure components and coding standards which when implemented enables users to have a primary account type of a smart contract over a private key. Historically, the primary account type was an EOA \(End User Account\), which, unlike SCAs doesn't have custom validation and execution logic. This article aims to provide you with an overview of Modular Account Abstraction, what it enables, and the existing standards and implementations. Onboard users with no seed phrases or gas by [embedding modular smart account wallets](https://www.alchemy.com/smart-wallets) to your web3 app and scaling with our vertically integrated AA infrastructure. ## What are the different types of modular smart contract accounts? [Smart contract accounts](https://www.alchemy.com/overviews/what-is-account-abstraction) are fundamentally smart contracts; they are upgradeable, extensible, and also inheritable. Depending on the SCA implementation it can either allow or disallow adding plugins/modules. There are two different concepts of modular AA this article will explore are: ERC-6900 and SAFE Modules. ### **1. ERC-6900: modular smart contract accounts and plugins** The objective of [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900) is to define a set of interfaces between a standard Account and Module implementation. The proposal hopes to improve the developer experience, Module interoperability, and data portability when switching between account implementations. The standard is inspired by ERC-2535, however, it does not require developers to follow the Diamond pattern. #### What are ERC-6900 plugins for modular smart contract accounts? #### What types of plugins does ERC-6900 define? According to the standard, plugins can be of three types: 1. **Validation Schemes** - Define the circumstances under which the modular smart contract account \(MSCA\) will approve the transactions on its behalf**‍** 1. **Execution Logic** - Any arbitrary logic to be performed during the execution 1. **Hooks** - Hooks can trigger any logic to be executed, pre- and post-execution of the [user operation](https://www.alchemy.com/overviews/user-operations) **The standard also defines:** 1. How to implement Validation, Execution, and Hook plugins for a MSCA. 1. How compliant account implementations should add, remove, update, and inspect plugins. 1. Helper types like **FunctionReference**. #### What types of interfaces does ERC-6900 define? The ERC-6900 specification defines three main interfaces: IPluginUpdate, IPluginLoupe and IStandardExecutor. ##### **1. IPluginUpdate** The IPluginUpdate interface defines: - Plugin actions **ADD**,** REMOVE**, and** REPLACE** - Validator types and Hook types - User defined **structs** to update various plugins types - A standardized **updatePlugins** function to be called when updating plugins and the **ExecutionPluginUpdate** event to be emitted post update ##### **2. IPluginLoupe** The IPluginLoupe is inspired by ERC-2535, and ERC-6900 defines how a dapp or other contracts can read the supported plugins by the MSCA. ##### **3. IStandardExecutor** The IStandardExecutor interface modular smart contract accounts should implement to allow for open-ended execution. ### **2. SAFE modules** All SAFE-based accounts have support for SAFE Modules. To maintain high-security standards, the SAFE team followed the separation of concerns pattern and implemented different module types. - **Modules** - Whitelisted addresses that can execute transactions in the name of the Safe Smart Account. - **Guard** - A contract that can be set to perform additional checks on transactions to be executed. - **Fallback Handler** - A contract that can be set to handle arbitrary incoming \(read\) calls. More information can be found in Safe's [modular SCA architecture article](https://safe.mirror.xyz/t76RZPgEKdRmWNIbEzi75onWPeZrBrwbLRejuj-iPpQ). #### **What are SAFE SCA modules?** SAFE's Modules are individual smart contracts that have permission to execute transactions on the user's SAFE smart contract account. Modules can execute arbitrary transactions on the SAFE account via the **execTransactionFromModule** function. Since the SAFE team decides how the SAFE accounts are implemented, the plugin developers must comply with the rules and guidelines. SAFE modules are only _compatible with SAFE accounts_. There are major trust assumptions between the module developer and the user, and as such, modules that are battle-tested are more likely to continue being adopted. #### **What are SAFE SCA guards?** Guards are smart contracts that can be set for a SAFE account to perform additional security checks on incoming transactions. Before the execution of a transaction, a Guard is called with all the transaction parameters, and if the Guard does not revert then the transaction proceeds to execution. The Guard is called again after execution to perform state change checks or execute arbitrary logic. Guards can also be thought of as hooks as they are appropriate for pre and post-transaction state checks. #### **What is the SAFE SCA fallback handler?** The Fallback Handler executes all calls made to the SAFE account which can be handled by it. This can be useful to comply with industry-wide standards like contract signatures \(EIP-1271\). According to SAFE, “plugins are completely independent of the core SAFE contracts and maintain their own storage”. ## **Conclusion** Modular Account Abstraction as described by ERC-6900 and designed by Safe Modules aims to extend the capabilities of Smart Contract Accounts through plugins, which can be built by developers, and safely installed by smart contract wallet users. For more information, explore our ERC-4337 education center, or check out our plug-and-play Embedded Accounts to start building today. --- # Modular vs. Monolithic Blockchains URL: https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains.md Every blockchain has the same  core tasks: providing consensus and security, guaranteeing data availability, and executing transactions. Typically, most blockchains handle these duties on the same layer—these blockchains, such as Bitcoin, are called “monolithic blockchains.” Monolithic blockchains have been the industry standard since the emergence of the first cryptocurrencies, but that is changing quickly. With ever-increasing evidence that the  performance of monolithic designs is suboptimal, modular* blockchains are gaining popularity. A modular chain only focuses on specific *tasks, while offloading the rest to other layers. This guide provides a high-level introduction to the concept of modular blockchains. We’ll explain how a modular blockchain works, what separates it from a monolithic blockchain, and why modular designs matter for blockchain adoption.  ## What is a modular blockchain? A modular blockchain is one that focuses on handling a select few duties and outsources the rest to one or more separate layers. To understand how modular blockchains function, we must first evaluate the “duties” of a regular blockchain: consensus, execution, data availability, and settlement. ### 1. Consensus Consensus refers to the mechanism by which nodes come to an agreement about what  data on the blockchain can be verified as true and accurate. The consensus protocol determines how transactions are ordered and how new blocks are added to the chain.  ### 2. Execution Execution is how nodes on the blockchain process transactions to transition the blockchain between states. Nodes participating in consensus must execute transactions using their copy of the blockchain to attest before validating blocks.  ### 3. Data availability Blockchains enforce rules that require the availability of transaction data. This means that block producers must publish data for each block for network peers to download and store; this data must be made available upon request.  ### 4. Settlement Finally, blockchains provide “finality”—a guarantee that the transactions that have been committed to the chain’s history are irreversible \(or “immutable”\). For this to happen, the blockchain must be convinced of a transaction’s validity. Therefore, the settlement function  requires the chain to validate transactions, verify proofs, and arbitrate disputes. Having explored the key features of a blockchain, we can now review the mechanics of modular blockchain designs.  ### How does a modular blockchain work? Modular blockchains work off the principle of modularity, which refers to separating a system into distinct components that can be combined in various ways to achieve specific objectives. Modularity relies on specialization: each component can only do a few things, but it must do them _well_. You can think of modular components as Lego bricks that can be combined to form different structures.  A modular chain is a component within a larger “modular stack” of blockchains that can be combined to achieve different ends. Modular blockchains act as “pluggable modules” and can be swapped out or merged with one another depending on the use case.  #### What is a modular blockchain architecture? A modular blockchain can be designed to handle one or a combination of the following tasks:  - **Execution**: Support the execution of transactions and enable the deployment of and interaction with smart contracts.  - **Data availability**: Guarantee the availability of transaction data.  - **Consensus**: Agree on the contents and ordering of transactions.   - **Settlement**: Provide a layer for finalizing transactions, settling disputes, validating proofs, and bridging between different execution layers.  Rollups are an example of a modular blockchain. A rollup chain processes transactions \(execution\) but outsources consensus, data availability, and settlement to the parent chain. We’ll highlight more examples of modular blockchains in a later section of the article and see how they approach these functions.  A modular chain may often perform two or more functions, especially if they’re interdependent. For example, data availability layers must also reach consensus on the ordering of data, or it becomes impossible to know what data represents the correct version of history.  #### How does Ethereum work in a modular context? Like Bitcoin and many first-generation blockchains, Ethereum was designed as a monolithic blockchain. However, to increase scalability and sustainability, the Ethereum network is currently transitioning towards a modular framework. Here’s how Ethereum works in a modular context: ##### Sharding  Sharding is the process of splitting up a system \(e.g., a database\) to work in parts. By splitting functions across multiple components, the system achieves more output and efficiency than if all parts were working together on the same duties. In blockchain networks, sharding splits up the blockchain into multiple sub-chains, each handling a different portion of network activity.  Ethereum is adopting a sharded design in which e 64 shard chains will operate in parallel. Shards can process transactions in parallel \(execution sharding\) or serve as “depots” for storing different chunks of blockchain data \(data sharding\). Using data sharding, an [Ethereum node](http://www.alchemy.com/overviews/what-is-an-ethereum-node) will only store data published on its shard chain; this is in contrast to its current structure, which  requires all nodes to store the same data.  ‍[Ethereum sharding](https://www.alchemy.com/overviews/ethereum-sharding-an-introduction-to-blockchain-sharding) is a form of modularity in which different components \(shard chains\) handle different duties. In data sharding, shard chains store different portions of Ethereum’s data, while execution sharding allows each shard chain to process its own set of transactions, which increases data throughput and shrinks processing times.  ##### Rollups Some developers have adopted a [rollup-centric approach](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) to [scaling Ethereum](https://www.alchemy.com/overviews/ethereum-scaling-solutions). Unlike pure off-chain scaling solutions, such as [sidechains](https://www.alchemy.com/overviews/sidechains-vs-layer2s), rollups are tightly coupled with the parent chain. If anything, a rollup is an extension of the main chain designed to scale throughput on the latter. The Ethereum blockchain outsources computation to rollups while focusing on settlement, consensus, and data availability. Rollups can aggressively optimize for execution by having faster block times and bigger blocks without harming decentralization or security. That’s because Ethereum acts as the base layer \(or “Layer 1”\) for rollups sitting on Layer 2. ### What are the benefits of a modular blockchain design? Modular blockchain designs offer the following benefits: scalability, flexibility, and the ability to launch new blockchains. #### 1. Scalability  The blockchain trilemma states that a blockchain can only have two of three possible qualities, but never all three at the same time: decentralization, security, and scalability. Optimizing for certain qualities \(scalability\) leads to trade-offs in other areas \(security and decentralization\), which is why scaling blockchains is difficult.  However, scaling difficulties mostly occur when a blockchain tries to handle all activities at once  under _a single_ layer. Applying modularity to blockchains \(separating tasks between different layers\) improves scale without introducing unwholesome trust assumptions. For example, rollups that focus on execution provide greater scalability than regular chains. Still, they achieve a high degree of security by relying on Ethereum for consensus and data availability.  #### 2. Launching new blockchains Launching a new blockchain can be difficult owing to the need to build up its security properties. A proof-of-stake chain may need to establish a wide distribution of tokens to avoid centralization risks, while a proof-of-work chain may need to attract miners to prevent a few parties from controlling the network’s hash rate.  But what if developers could focus on the minimum, such as execution, and plug in another modular blockchain component to handle specific tasks, like security? By leveraging modular designs, new blockchains can launch faster without worrying about getting every part of the architecture correctly.  #### 3. Flexibility  Modularity provides flexibility that monolithic chains simply cannot offer. Bitcoin’s focus on decentralization and security automatically rules out scalability, while high-throughput chains often trade off some measure of decentralization and security.  Purpose-built modular chains offer greater flexibility with respect to trade-offs and design implementations. For instance, a modular blockchain system may include modular chains that focus on security and data availability, while others focus on execution. Here’s how both benefit from modular design: 1. A security and data availability layer benefits from extra scalability since transactions are processed separately. It only needs to enforce the validity of off-chain execution and guarantee the availability of off-chain data. This is how Ethereum’s scalability benefits from using rollups.   1. An execution layer \(which is optimized for scalability\) benefits from extra security by leveraging the parent chain’s properties. This is how Layer 2s benefit from Ethereum’s decentralization.  ### What are the drawbacks of a modular blockchain? Modular blockchain designs have the following drawbacks: security, complexity, and token value. #### 1. Security Unlike monolithic chains, a modular chain cannot guarantee its own security qualities. If the security layer \(which usually handles consensus and data availability\) isn’t effective, the modular chain risks failure.  #### 2. Complexity Implementing modular blockchain designs introduces new complexity. For example, Ethereum’s data sharding plan relies on [data availability sampling](https://hackmd.io/@vbuterin/sharding_proposal) to ensure nodes on one shard don’t withhold data. Similarly, execution layers must require certain complex mechanisms, such as fraud proofs and validity proofs, that allow the security layer to enforce the validity of off-chain state transitions.  #### 3. Token value Some modular chains may be unable to attract value to their native tokens due to their limited applications. For example, a layer purely focused on consensus and data availability will likely see less use for its utility token compared to an execution layer. It may also be more difficult to attract participants to such networks.  ## Modular blockchain platform examples ### Ethereum  As explained, Ethereum’s reliance on data sharding and rollup-centric computation make it a kind of modular chain. It separates consensus and data availability in the first case and outsources execution in the second.  ### Celestia and Polygon avail Celestia and Polygon Avail are two new modular blockchains primarily concerned with consensus and data availability. Celestia and Polygon Avail nodes are only responsible for storing and ordering transactions; they don't interpret transaction data for execution. It is expected that these chains will serve as data availability layers for other execution layers \(e.g., rollups\).  ### Validiums  A validium is similar to a [zero-knowledge rollup](https://www.alchemy.com/blog/zero-knowledge-rollups): it executes transactions off-chain and submits them \(in batches\) to a parent chain along with a validity proof. The difference is that a validium chain stores off-chain data elsewhere, not the parent chain. This can be with a [data availability committee](https://medium.com/starkware/data-availability-e5564c416424) or a data availability network composed of proof-of-stake validators \(Celestia is an example of a PoS-based data availability network\) The validium’s modular stack is as follows: - Execution layer \(validium chain\) - Settlement and security layer \(parent chain\) - Data availability and consensus layer \(DAC or PoS validator network\) ### Rollups As previously described, rollup designs \([optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups) and [zero-knowledge rollup projects](https://www.alchemy.com/overviews/zk-rollup-projects)\) adopt a modular approach. An optimistic rollup running the [Optimistic Virtual Machine]() or a ZK-rollup [running a zkEVM](https://www.alchemy.com/overviews/zkevm) acts as an execution layer \(executing smart contracts, processing transactions\). However, they rely on Ethereum for other functions: 1. **Data availability and consensus**: Rollups publish transaction data to [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) as CALLDATA. This allows anyone to execute the rollup’s transactions and rebuild its state if necessary.  1. **Settlement**: All rollup transactions are finalized on Ethereum. For zero-knowledge rollups, this happens after the [zero-knowledge proof](https://www.alchemy.com/overviews/snarks-vs-starks) is verified. Optimistic rollup users wait until the challenge period elapses or if the transaction is deemed valid after a fraud proof computation.  ## What is a monolithic blockchain?  “Monolithic” means “formed from a single piece”, which explains its use in describing blockchains that adopt a unified-structure model. A monolithic chain is one in which  nodes are responsible for consensus, data availability, and execution. Since transactions are validated on-chain, the monolithic chain also serves as a settlement layer. ### How does a monolithic blockchain work? In a monolithic chain, all tasks are handled on a single layer or a group of tightly-coupled chains operating on the same layer. The latter distinction is important to note: a network of interconnected blockchains that handle all roles, such as Polkadot’s parachains or Avalanche’s subnets, doesn’t qualify as modular architecture.  To understand how a monolithic chain works, we’ll use the Bitcoin protocol as an example: 1. A Bitcoin node receives a transaction from another peer, verifies the signature, and ensures it satisfies consensus rules.  1. If the transaction is valid, the node adds it to the mempool \(otherwise, it drops the transaction\).  1. A miner takes the transaction from the mempool and adds it to a candidate block.  1. If the miner succeeds in finding the nonce for the candidate block \(as dictated by proof-of-work rules\), they can broadcast the block to peers. Other nodes re-execute transactions to ensure validity and, if all is approved, add the new block to the chain.  1. This process repeats with other miners, eventually increasing the chain by building new blocks on the previously added block.  ### What is a monolithic blockchain architecture? The previous section describes the workflow for a transaction on a proof-of-work chain, but how does it translate to a monolithic architecture? Here’s a list of things nodes on a monolithic chain do for every transaction: #### 1. Data availability Each node holds a copy of the entire blockchain and stores every transaction. A peer can always request transaction data from fellow nodes.  #### 2. Execution All nodes re-execute transactions to check validity. On an account-based blockchain \(usually one that supports smart contracts\), nodes execute transactions to compute the new network state.  #### 3. Consensus The nodes agree on what transactions will be processed for new blocks and the ordering of the transactions they contain #### 4. Settlement Settlement requires committing a transaction permanently to the chain’s history. Nodes proposing transactions must place an economic stake against the integrity of blocks. For Proof-of-Work blockchains, this “stake” is the energy expended on mining new blocks, while Proof-of-Stake blockchains require validators to stake tokens on the validity of blocks—these tokens can be confiscated from bad actors who attempt to write false or inaccurate transactions to the chain  A monolithic blockchain architecture requires nodes to perform all of these roles. This is different from a modular chain, which separates execution from settlement, consensus, and data availability.  Monolithic

", tooltip: "", icon: "" }, "2": { title: "

Execution, Settlement, Consensus, and Data Availability

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Modular

", tooltip: "", icon: "" }, "2": { title: "

Execution

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Modular

", tooltip: "", icon: "" }, "2": { title: "

Settlement

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Modular

", tooltip: "", icon: "" }, "2": { title: "

Consensus and Data Availability

", tooltip: "", icon: "" }, id: 3, }, ], }} /> ### What are the benefits of a monolithic blockchain design? Monolithic blockchain designs offer the following benefits: security, utility, and simplicity. #### 1. Security Monolithic blockchains have the advantage of being able to enforce their own security. Nodes can see transactions executed on-chain and check their validity before reaching consensus. It is also trivial to solve the [data availability problem](https://blog.polygon.technology/the-data-availability-problem-6b74b619ffcc/) since blockchain data is redundantly stored on multiple nodes.  #### 2. Utility A monolithic blockchain handling execution in addition to other duties has a better value proposition. With users buying the native token for several uses, it can accrue more value in the long term.  #### **3. Simplicity**  Monolithic blockchains are easier to design and implement, as developers have  years of experiments in blockchain technology to draw from. Designing secure and efficient modular chains requires a higher level of skill and introduces more considerations to the design process.  ### What are the drawbacks of a monolithic blockchain? Monolithic blockchain designs have the following drawbacks: inefficient execution, resource limits, flexibility, scalability, security, and decentralization. 1. **Inefficient execution**: Nodes on a monolithic chain have to re-execute transactions to verify validity.  1. **Resource limits**: Limits on a node’s resources, such as storage and bandwidth, affect the blockchain’s efficiency.  1. **Flexibility**: Monolithic chains are inflexible and cannot optimize for desired qualities without trading off another.  1. **Scalability**: To achieve higher throughput, monolithic chains implement faster block times and bigger block sizes. This imposes higher hardware requirements on nodes and reduces the number of those that can validate the chain—leading to centralization and greater security risks.  1. **Security and decentralization**: To achieve high decentralization, monolithic blockchains limit block times and block sizes. This increases the number of validating nodes, but having every node process transactions leads to lower throughput.  1. State bloat: Storing transaction data on-chain leads to exponential growth in the blockchain’s size over time. This can impose higher hardware requirements on nodes and harm decentralization. ## Monolithic blockchain platform examples ### Bitcoin  Bitcoin is the original monolithic chain, requiring nodes to execute every block against their copy of the blockchain. While this increases decentralization and security, it limits Bitcoin’s ability to support high throughput or scale to accept more users \(the Bitcoin blockchain processes 5-7 transactions per second\).  ### Ethereum 1.0  Ethereum, without sharding and rollups, exists as a monolithic chain. This accounts for  its slow transaction speeds \(15-20 transactions per second\) and greater emphasis on decentralization and security.  ### Solana Solana is another monolithic chain that handles execution, data availability, and consensus in one location. Unlike Ethereum, Solana optimizes for scalability and has claimed speeds of up to 65,000 transactions per second. These scalability benefits, unsurprisingly, come at the cost of decentralization and security—especially as the hardware requirement to run a validator node is high, with many validators running bare-metal environments rather than cloud infrastructure.  ## How to choose: modular vs. monolithic blockchains Monolithic chains and modular chains both have their benefits and drawbacks. Choosing either option requires understanding your project’s needs and acceptable trade-offs. A high-value DeFi application might opt for a monolithic chain’s security guarantees, while projects that require cheaper and faster operations \(e.g., high-frequency trading\) may be better suited to  a modular chain optimized for execution.  Alchemy offers support for building on monolithic blockchains, including [Ethereum](https://www.alchemy.com/ethereum?a=b19fd62f31), [Solana](https://www.alchemy.com/solana?a=b19fd62f31), and [Crypto.org](https://www.alchemy.com/crypto-org?a=b19fd62f31). You can also leverage the power of modular blockchains, such as optimistic rollups \(e.g. [Optimism](https://www.alchemy.com/layer2/optimism?a=b19fd62f31), [Arbitrum](https://www.alchemy.com/layer2/arbitrum?a=b19fd62f31)\) and ZK-rollups/Validium \([StarkNet](https://www.alchemy.com/layer2/starknet?a=b19fd62f31)\).  ## Frequently asked questions ### What is the main difference between modular and monolithic blockchains? Monolithic blockchains handle all core functions—execution, consensus, data availability, and settlement—on a single layer, while modular blockchains split these duties across specialized layers or chains. ### Why are modular blockchains more scalable than monolithic ones? Modular designs offload tasks like execution to separate layers, allowing each component to be optimized independently and enabling higher throughput without sacrificing decentralization or security on the base layer. ### What are the main benefits of using a modular blockchain architecture? Modular blockchains offer improved scalability, greater flexibility in design trade-offs, and enable faster blockchain launches by allowing developers to focus on specific functions while leveraging existing infrastructure for others. ### What are the drawbacks of modular blockchain designs? Modular blockchains introduce complexity in coordination between layers, cannot guarantee their own security properties, and may have limited token utility compared to monolithic chains. ### How does Ethereum function as a modular blockchain? Ethereum is transitioning to modularity through sharding \(splitting data across multiple chains\) and a rollup-centric approach where it handles settlement, consensus, and data availability while outsourcing execution to Layer 2 rollups. ### What are some examples of modular blockchain platforms? Examples include Celestia and Polygon Avail \(data availability layers\), rollups like Optimism and Arbitrum \(execution layers\), and validiums that separate execution, settlement, and data availability across different layers. ### What are the advantages of monolithic blockchain designs? Monolithic blockchains offer simplicity in design and implementation, can enforce their own security properties, and typically have better token utility since users need the native token for multiple functions. ### Is Solana a monolithic or modular blockchain? Solana is a monolithic blockchain that handles execution, data availability, and consensus in one location, optimizing for scalability with claimed speeds up to 65,000 transactions per second. --- # What is a multi-party computation (MPC) wallet? URL: https://www.alchemy.com/overviews/mpc-wallet.md Multi-party computation \(MPC\) is a cryptographic technique that allows multiple parties to jointly compute a function without revealing their individual inputs. This technology has numerous practical applications, including the secure storage and transfer of digital assets in [MPC wallets](https://www.alchemy.com/dapps/best/mpc-wallets). In this article, we will explore the concept of an MPC wallet, how it works, its benefits and downsides. ## **What is multi-party computation?** **Multi-party computation \(MPC\) or secure MPC \(SMPC\) is an essential cryptographic security measure that enables multiple parties to assess a computation without revealing any private information or related secret data held by each party.** As a result of technological advancements and the proliferation of the internet - data security and privacy protection have proven challenging, especially when data is spread across large distributed networks. MPC is a critical technique that provides a trustworthy solution to the problem of data security and privacy, especially in the context of blockchain applications. To better understand MPC, let’s explore a simple example. Consider a scenario where three blockchain developers are employed at a Web3 startup and want to determine their average salary without revealing their individual salaries to one another or to a trusted third-party during the calculation process. In this scenario, the employees would use a multi-party computation \(MPC\) protocol to calculate their average salary without disclosing sensitive or private information. The MPC protocol would employ a well-known cryptographic technique called **additive secret sharing**, which involves dividing and distributing a secret among a group of independent parties. As a result, an external party could determine the average salary without interacting with the employees directly. The MPC protocol is dependent on two important variables: privacy and accuracy. Each party’s **private information** cannot be worked out once the protocol has been executed. If, by chance, a few parties within the broader group decide to share information or deviate from the protocol’s general instructions during the execution phase, MPC will not permit them to force the honest parties to output an incorrect result or leak an honest party’s secret information. ### History of multi-party computation Research on MPC began in the early 1970s, with the development of practical applications starting in the 1980s, representing a relatively recent advancement in the field of cryptography. Before this, cryptography was mainly focused on concealing information. However, the new type of computation used in MPC aims to conceal only partial information while performing calculations using data from multiple sources. Today, MPC is used for a range of practical applications, such as digital auctions and securing digital assets in MPC wallets. MPC has become the de facto standard for institutions and developers looking to secure their digital assets while maintaining quick and easy access to them. However, the ability to securely store and transfer digital assets is only guaranteed as long as the private key remains secure. ### MPC wallet vs other wallets Popular private key storage methods used across Ethereum and [Solana wallets](https://www.alchemy.com/overviews/solana-wallets) include cold storage, hot storage, and hardware wallets. 1. **Cold storage** - the private key is stored in an offline environment 1. **Hot storage** - the private key is stored in an online storage environment 1. **Hardware wallet** - the private key is stored on a physical apparatus or device However, cold storage, hot storage, and hardware wallets all have their risks. Cold storage, while secure, is still vulnerable to loss due to human error. Hot storage, on the other hand, is vulnerable to theft. Hardware wallets can be difficult to manage at scale. Ultimately, MPC wallet technology has risen to prominence due to the operational and security challenges associated with each solution mentioned above. MPC is a good solution for both digital asset storage and transfers. ## What is an MPC wallet? **An MPC wallet is a cryptocurrency and digital asset wallet that uses multi-party computation to offer strong security guarantees to individuals, firms, financial institutions, and governments that manage digital assets.** [MPC wallets](https://www.alchemy.com/dapps/best/multisig-wallets) are not the first generation of institutional-grade wallets that enable multiple parties to control. Multi-signature \(Multisig\) wallets are another contemporary wallet implementation. Before we delve deeper into the pros and cons of adopting an MPC-based wallet, let’s first explore what distinguishes MPC wallets from [Multisig wallets](https://www.alchemy.com/dapps/best/multisig-wallets). ### What is the difference between MPC wallets and multisig wallets? **A multisig wallet uses a unique digital signature that requires more than one private key to authenticate an outgoing transaction. In contrast, an MPC wallet divides a single private key among multiple parties.**  Non-custodial [crypto wallets](https://www.alchemy.com/dapps/top/wallets), which allow the user to control their private keys, usually have a single private key that grants access to the funds in the wallet. This means that only one private key is required to sign and verify an outgoing transaction without the need for additional authorization. In contrast, Multisig wallets involve multiple parties, each with their own private key, and a transaction can only be completed if a majority of the parties sign it. Multisig technology is closely associated with the advent of Bitcoin. It was first introduced to the Bitcoin network around 2012, leading to the widespread availability of multisig wallets. Like MPC-based wallets, multisig wallets are also designed to enhance security. #### **Downsides of multisig wallets** In today’s fast-moving digital asset ecosystem, multisig wallets are losing adoption for multiple reasons, including but not limited to a lack of protocol agnosticism and operational inflexibility. ##### **1. No protocol agnosticism** It is difficult for multisig wallet providers to securely support new chains as the few cryptocurrency protocols that support multisig have distinct implementations from one another. ##### **2. Operational inflexibility** As an organization that manages digital assets expands, adjusting the process of accessing and transferring digital assets using a multisig protocol can be cumbersome. As a result of these shortcomings and comparatively more efficient designs that MPC wallets provide in the context of today’s challenges, numerous wallet providers have already begun transitioning to MPC technology. ## What are the benefits of MPC wallets? Using MPC technology for wallets offers several advantages, including eliminating the need to trust third parties, enhanced data privacy, increased accuracy, the removal of single points of failure, increased difficulty for hackers, and reduced reliance on cold storage. 1. Eliminate the need to trust third parties - data can be shared in a distributed manner without any third parties 1. **Increased data privacy** - data is encrypted at rest and in transit so no private information is revealed or compromised  1. Increased accuracy - MPC provides highly accurate results for different computations using cryptography 1. Removal of single points of failure \(SPOF\) - private keys are not stored in one single place 1. **Increased hacking difficulty** - a hacker would need to attack multiple parties across systems and locations 1. **Reduced reliance on cold storage** - users can only hold their assets online and no longer need cold-storage devices ## What are the downsides of MPC wallets? There are a few limitations that developers and the broader community should be aware of when using MPC wallets, including computational overhead and high communication costs. 1. **Computational Overhead** - To provide the security we need to generate random numbers for private key creation, the random number generation requires more computational overhead, which slows down the runtime 1. **High Communication Costs** - Data distribution to multiple parties for computational purposes over networks can lead to an uptick in communication costs in comparison to simple plaintext computation ## MPC wallet use cases The MPC technology has become the go-to standard for institutional-grade [custodial solutions](https://www.alchemy.com/dapps/best/custody-solutions) due to the numerous benefits of using MPC wallets. Major financial institutions, such as **Revolut**, have already announced their transition to MPC, which effectively eliminates the existence of whole or complete cryptographic keys to protect against both internal and external adversaries. Moreover, the recent increase in consumer-oriented product innovations means that MPC wallet users can access the broader Web3 ecosystem. For instance, buying and selling non-fungible tokens \(NFTs\) via popular NFT marketplaces has become more convenient and secure. ## Which Web3 wallets use MPC? Given the advantages of using MPC technology, numerous organizations offer [web3 wallets](https://www.alchemy.com/dapps/zengo) that depend on MPC technology including, Zengo, Fireblocks, and Coinbase. ### **1. Zengo** Launched in 2019, Zengo was the first self-custodial wallet with no seed phrase vulnerability. [Zengo](https://www.alchemy.com/dapps/zengo) boasts 1\+ Million users and 0 wallets ever hacked, drained or phished. With multichain support and 24/7 in-app customer service, Zengo is consistently rated as the go-to wallet for secure self-custody. Zengo leverages institutional-grade MPC technology instead of relying on a centralized private key like traditional hardware and software wallets. While Zengo Essentials is free, in 2022 Zengo Pro launched with a suite of advanced security and self-custody features powered by its MPC technology, including a built-in inheritance-style feature \([Legacy Transfer](https://zengo.com/pro-legacy-transfer/)\), Biometric Theft Protection, and Vaults. ### **2. Coinbase** The public [crypto exchange](https://www.alchemy.com/dapps/best/crypto-exchanges)’s MPC wallet enables a large and growing number of users to access the Web3 ecosystem in a safe, reliable, and secure manner. The MPC system developed in-house at [Coinbase](https://www.alchemy.com/dapps/coinbase) supports both ECDSA and EdDSA protocols. This means the wallet can handle cryptographic signing for almost any blockchain, and users don’t have to pay for gas transactions since there is zero overhead.  Users can access other product categories outside the usual buying, selling, and holding of cryptocurrencies through the dApp wallet. The revamped wallet is also gearing up to support all blockchains compatible with the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) and select others, such as Solana. ### **3. Fireblocks** [Fireblocks](https://www.alchemy.com/dapps/fireblocks) is an institutional digital asset custodian that offers an MPC wallet with support for over 30 blockchain protocols and 1,100 tokens. With the combination of MPC technology with hardware isolation, Fireblocks’ institutional MPC wallet maximizes security and service level agreements \(SLAs\) while minimizing transaction costs. ### 4. Liminal [Liminal Custody](https://www.lmnl.app/business-solutions/) is a leading digital asset wallet and custody infrastructure company. [Liminal](https://www.alchemy.com/dapps/liminal)'s MPC wallet is a highly secure and efficient way to store and manage digital assets. It uses advanced cryptography to distribute the private keys across multiple servers to avoid a single point of failure. Liminal also offers a number of unique features: 1. Businesses can tailor the security settings of their MPC wallet to their specific needs with multi-dimensional self-custody parameters 1. Liminal's MPC wallet uses advanced algorithms to optimize transaction confirmation times and save users money on gas fees 1. Liminal provides each of its customers with a dedicated onboarding team to help them get started quickly and easily. ‍ ## Which MPC wallet is best? There is no one-size-fits-all MPC wallet that is suitable for every user. For individuals or small teams seeking the added security and usability of an MPC wallet, Zengo is an excellent option. For institutional investors, many more options are available, such as Fireblocks. To choose the best MPC wallet, review these areas: 1. dApp connectivity 1. User experience 1. Wallet security 1. Native features 1. User interface design 1. Customer support An MPC wallet is the foundational piece of infrastructure for institutional custodians, investors, and traders, and choosing the right wallet will be based on your needs. --- # How to Get Testnet MATIC Using a Mumbai Faucet on Polygon URL: https://www.alchemy.com/overviews/mumbai-faucet.md Polygon is one of the main Ethereum scaling solutions aimed at addressing the current throughput limitations of the Ethereum blockchain. Specifically, it solves the problem of high gas fees, slow transaction confirmation times, and limited TPS.  Recently we’ve seen a new wave of developers begin to use new tools for web3. One of the most highly demanded and used tools were faucets for testnets. More than thousands of developers are using these faucets hoping one would work for a testnet like Mumbai. Alchemy aims to create the most used and agile tools for chains like Polygon. [Developing on Polygon with Alchemy](https://www.alchemy.com/layer2/polygon/?a=7b9837ff99) is now easier than ever with the use of Mumbai. You can now receive testnet MATIC with only a couple of steps.  In this guide, we’ll go over the Mumbai testnet and faucet, provide an overview of testnet MATIC, and show how to receive more testnet MATIC with Alchemy. ## **What is the mumbai Testnet?** The [**Mumbai testnet**](https://www.alchemy.com/overviews/mumbai-testnet) is a collection of Polygon nodes \(i.e. a test blockchain\) that allows developers to test their smart contracts using fake MATIC tokens before launching their decentralized application to Polygon’s Mainnet. Polygon developers build on the Mumbai testnet to test and refine their smart contracts without  having to spend real funds like they would if they were testing their smart contracts on the Polygon Mainnet.  Testnets are critical blockchain developer tools that empower developers to test new features, test their smart contract’s security, and ultimately bring better value and functionality to the [Polygon ecosystem](https://www.alchemy.com/dapps/ecosystem/polygon).  ## **What is test MATIC?** **Like Polygon’s native token, MATIC, on the Mumbai testnet, developers use test MATIC to deploy smart contracts and pay transaction costs.** MATIC is considered the native cryptocurrency token that is essentially used to stake and pay transaction fees on the Polygon blockchain, and test matic does the same thing but is used for testing purposes.  ### **How do developers use Testnet MATIC?** **The primary use case for test MATIC is for developers to test their applications in a controlled testing environment that functions like Polygon’s mainnet without spending real money to execute smart contracts and iterate on their applications features and functionality.** Using test MATIC is also a great way for developers to experience its uses as an educational tool. Often, developers make several mistakes along their journey. Using test MATIC helps them enhance their understanding of how to better use the main Polygon network in the future.  Finally, test MATIC is often used by blockchain developers to test upgrades to the underlying platforms as well. This is essential in creating better [developer tools for the Web3 ecosystem](https://www.alchemy.com/overviews/20-blockchain-development-tools). This is key to creating more libraries, better documentation, and essential feedback overall.  All these use cases relate to creating a safe space for developers to thrive. Without test MATIC, developers would bear the consequences of potentially losing real-world assets, and they would have to be more careful interacting with their smart contracts.  ### **Where can developers get fake MATIC?** Developers can get fake MATIC through a Mumbai faucet. A Polygon faucet enables developers to receive free Mumbai MATIC tokens on the testnet so they can start testing their applications on the Mumbai testnet without spending real MATIC tokens when testing in production.  ## **What is a mumbai faucet?** The Mumbai faucet is a Polygon testnet faucet that gives out fake MATIC tokens for web3 developers to use to test their Polygon [apps](https://www.alchemy.com/dapps/top/defi-dapps) on the Mumbai testnet. This testnet faucet will only give MATIC tokens that can be used on the Mumbai network. ### **What is the best mumbai faucet?** One of the best options to [get fake MATIC](https://mumbaifaucet.com/) is Alchemy's Mumbai faucet because it gives users 1 testnet MATIC every 24 hours when they create an Alchemy account compared to users without an account which only receive 0.5 Mumbai MATIC token every 24 hours! Alchemy combines the most powerful developer tools in blockchain with helpful resources, talented community, and legendary support. ## **How to get Testnet MATIC from a mumbai faucet** ### **Step 1: sign up with Alchemy to get 2x MATIC** This is very important. Sign up for a [free Alchemy account](https://www.alchemy.com/?a=7b9837ff99) to **get two times as many testnet MATIC tokens** as you would without an Alchemy account. ### **Step 2: connect MetaMask to the mumbai test network** Open Metamask and click the network name located at the top right of the window. ### **Step 3: click add network** Click the "Add Network" button at the bottom of the pop-up window to add the Mumbai test network to your Metamask wallet. ### **Step 4: enter details for the Polygon Mainnet and mumbai Testnet** Enter the following Mumbai RPC endpoint details and click “save.” - **Network Name:** Polygon Mainnet - **New RPC URL:** https://polygon-rpc.com/ - **Chain ID:** 137 - **Currency Symbol:** MATIC - **Block Explorer URL:** https://polygonscan.com/ If you signed up for a [free Alchemy account](https://www.alchemy.com/?a=7b9837ff99), you will be able to get your new RPC URL from the dashboard after creating a new app with the Mumbai Testnet. This will give you more features and abilities provided by Alchemy as your new RPC URL node provider. - **Network Name:** Mumbai Testnet - **New RPC URL:** https://polygon-mumbai.g.alchemy.com/v2/your-api-key - **Chain ID:** 80001 - **Currency Symbol:** MATIC - **Block Explorer URL:** https://mumbai.polygonscan.com/ ### **Step 5: get your Testnet MATIC** To request funds, enter your wallet address and hit **“Send Me MATIC”**.  Remember, if you [log in with Alchemy](https://www.alchemy.com/?a=7b9837ff99), you’ll receive 2x the amount of MATIC for free. We support wallets as received addresses but not smart contracts. P.S. Whatever you do on the site, don't click up, up, down, down, left, right, left, right, b, a 😉 ## **Conclusion** There you have it, you now instantly have testnet MATIC in your Metamask wallet.  As always, please try it out and share this with Polygon developers building on the Mumbai testnet that need fake MATIC tokens. If you have any feedback, feel free to let us know in [discord](https://discord.com/invite/mMGsVgd)! --- # Polygon’s Mumbai Testnet: A Complete Guide URL: https://www.alchemy.com/overviews/mumbai-testnet.md ## Does Polygon have a Testnet? Yes, the Polygon testnet is called Mumbai, which is a layer-two \(L2\) scaling platform for Ethereum. Like other testnets, Mumbai allows developers to deploy and test their applications on the Polygon network without having to spend real money.  In the case of [Polygon](https://www.alchemy.com/polygon), their native token is called MATIC, which is trading at around $1 as of May 2022. On the other hand, the test tokens for Mumbai, or testnet MATIC, are distinct from the actual MATIC tokens and do not carry any monetary value. Therefore, developers often use what are called [faucets to receive free testnet MATIC](https://www.alchemy.com/overviews/mumbai-faucet) for development on Mumbai. In this guide, we will cover everything you need to know as a developer working on the polygon testnet. First, we will provide you with an overview of the testnet. Then, we will show you how you can get 2 times more testnet MATIC with Alchemy’s Mumbai faucet and how to send them using Metamask. Finally, we will list some common developer tools that you will need to build, monitor, and test a decentralized app \(dApp\). Without further ado, let’s get started! ## What is the mumbai Testnet? The Mumbai testnet is the testnet of the Polygon network, which replicates the Polygon mainnet. It enables developers to deploy, test, and execute their [apps](https://www.alchemy.com/dapps/top/defi-dapps) in the blockchain environment risk-free and at no cost.  Like Polygon, which launched in 2017, Mumbai also uses the proof-of-stake \(PoS\) consensus mechanism to agree upon the state of the blockchain.  Retaining the features of Polygon, Mumbai offers very high throughputs and extremely low transaction fees while leveraging Ethereum’s security. This makes Mumbai \(and developing on Polygon, in general\) particularly desirable for developers as it expedites the testing process dramatically. Indeed, since Mumbai is essentially a replica of the Polygon mainnet, this allows developers to clearly visualize how their apps would behave in production. Furthermore, because Polygon is [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\)-compatible, Mumbai provides an easy way for developers who wish to migrate their apps from the Ethereum main chain to connect to Polygon to test them before deploying onto the mainnet. ## How to get started using the mumbai Testnet? To use Mumbai to test your apps, you will first need to set up a node in the network**.** A popular method is to connect your wallet to the virtual crypto wallet Metamask, which connects to a node by using a node provider like Alchemy.  If you haven’t already done so, sign up for a [free Alchemy account](https://docs.polygon.technology/docs/develop/network-details/network/) now. You will see how this is beneficial for getting more free testnet MATIC later on in the guide!  After you have created a new app in Alchemy, there is some Mumbai RPC network detailsyou may need to fill out in the Metamask settings to connect to the network: - **Network Name:** Mumbai Testnet - **New RPC URL:** https://polygon-mumbai.g.alchemy.com/v2/your-api-key - **Chain ID:** 80001 - **Currency Symbol:** MATIC - **Block Explorer URL:** https://mumbai.polygonscan.com/ Remember to replace “your-api-key” in New RPC URL with the API key of your Alchemy app. The Chain ID is one of the default Ethereum chains supported by Metamask. The block explorer URL points to Mumbai [Polygonscan](https://www.alchemy.com/dapps/polygonscan), the Mumbai block explorer.  For more details, you can also check out the [Mumbai testnet RPC URL documentation](https://docs.polygon.technology/docs/develop/network-details/network/).  Although this guide is dedicated to the Mumbai testnet, there are many other options out there of testnets you can connect with. If you have any questions about selecting which testnet to use for your dApp development, check out our [overview of Ethereum testnets](https://www.alchemy.com/overviews/what-are-testnets) and [guide on choosing a web3 network](https://www.alchemy.com/docs/choosing-a-web3-network), or reach out to us on Discord or Twitter! ## How to get mumbai Testnet MATIC? You can receive Mumbai testnet MATIC through the Mumbai faucet, which basically provides you with free fake MATIC for development purposes. Using [Alchemy’s Mumbai faucet](https://mumbaifaucet.com/), you should receive the testnet MATIC within a few seconds.  This is significantly faster than other faucets which may take up to a few minutes. If you sign in with your Alchemy account, you will be able to receive 5x as much test MATIC! If you have any questions, feel free to check out our guide on how to use the [Mumbai faucet](https://www.alchemy.com/overviews/mumbai-faucet). ## How to send mumbai Testnet MATIC? To send Mumbai testnet MATIC, you will need a Metamask account that is connected to the Mumbai network.  You may need to manually add Mumbai using the information provided in the first section into the settings tab. Once finished, you can now send testnet MATIC to another Metamask account that is also connected to Mumbai. ### Step 1: connect MetaMask to the mumbai Testnet Open Metamask and confirm that you are on the Mumbai testnet in the network selection dropdown and you have sufficient funds in your wallet \(I currently have the 5 test MATIC I received from Alchemy’s [Mumbai faucet](https://mumbaifaucet.com/)\), then click the “Send” button in the middle. ### Step 2: enter the recipient's mumbai Testnet wallet address After you have clicked “Send,” Metamask should guide you to an interface where you can enter the recipient’s public address \(which can be copied from the top of the main page\). If you have sent to other addresses before, they will be conveniently displayed under “Recents.”  You can either ask for a friend’s Mumbai address or create a second account in your own Metamask wallet. Using your metamask wallet is recommended for quick testing. ### Step 3: enter the amount of test MATIC to send After pasting in the address of the recipient account \(or clicking the “Transfer between my accounts” button\), enter the amount you would like to send! We’ll send 1 MATIC for now. But if you are feeling generous, you can click on the “Max” button under “Amount” to send all your MATIC funds! ### Step 4: confirm the mumbai Testnet transaction Next, Metamask will ask you to confirm your total transaction amount, which is the sum of the amount you hope to send and the gas fee incurred by the blockchain.  As you can see, on Mumbai \(and also Polygon\), the gas fee is extremely low and the transaction speed is also super fast. If you are satisfied with the total amount, click on “Confirm” to send the transaction. ### Step 5: transaction complete The transaction will take a few seconds to be validated and added to the blockchain.  Once it is complete, you should see the confirmation under the “Activity” tab on the main page of your Metamask account. If you’ve directly switched to your second account, you can also double-check that the transaction has been received. ## What are the best mumbai Testnet tools? To monitor, test, and build your dApp on the Mumbai testnet, the best tools include:   ### 1. Mumbai Polygonscan The [Mumbai Polygonscan](https://mumbai.polygonscan.com/) is the block explorer for the Mumbai testnet. This allows you to search for the details of all the addresses, transactions, and other activities that have ever happened on the network.  ### 2. Alchemy composer The [Alchemy Composer](https://www.alchemy.com/composer) allows you to quickly test Ethereum JSON-RPC APIs and Alchemy Enhanced APIs. This is extremely helpful if you want to experiment with different methods that you may want to use or if you want to debug failing requests in your current dApp.  In particular, the Composer requires zero code set-up and allows you to work directly from the browser. It also includes support for all major Ethereum \+ L2 chains \(including their mainnets and testnets\)!  For the sake of this guide, we will choose the Polygon chain with the Polygon Mumbai network to perform tests. For instance, we can get the balance of the Mumbai address that we sent 1 testnet MATIC to in the previous section.  We receive a response with a result of “0xde0b6b3a7640000” in hexadecimal form, which is “1000000000000000000” in decimal form in units of Wei, which is equal to 1 MATIC, as expected! To view the details of all the methods that Alchemy supports for Mumbai development, please read the [Polygon API Documentation.](https://www.alchemy.com/docs/reference/polygon-pos-api-quickstart) ### 3. Alchemy enhanced APIs Apart from the APIs provided in the composer, there are also more [Alchemy Enhanced APIs](https://www.alchemy.com/enhanced-apis/?a=db1720288f) that you can use on the Mumbai testnet for building your dApp. For instance, you may want to include [Alchemy Notify/Webhooks](https://www.alchemy.com/docs/reference/notify-api-quickstart) to notify users whenever their transactions are mined and dropped or when they send or receive tokens.  You can easily create these webhooks for the Mumbai testnet on the Alchemy Notify dashboard by selecting Polygon Mumbai in the network dropdown list and adding your webhook URL.    ## Conclusion You made it! Now you have all the knowledge you need to start developing on the Mumbai testnet. As always, if you found this documentation helpful, we would really appreciate it if you could share it with other developers in need. At Alchemy, we are always very excited to see the amazing projects built using our platform and services. So, if you are doing cool things with Alchemy, don’t forget to tag us on Twitter [@Alchemy](https://x.com/Alchemy). Happy hacking! ## Frequently asked questions ### What is the mumbai Testnet? The Mumbai testnet is Polygon's official testnet that replicates the Polygon mainnet, allowing developers to deploy, test, and execute their apps in a blockchain environment risk-free and at no cost. ### How can I get free Testnet MATIC for mumbai? You can get free testnet MATIC through Alchemy's Mumbai faucet at mumbaifaucet.com, which delivers tokens within seconds. Signing in with your Alchemy account provides 5x more test MATIC than using the faucet without an account. ### How do I send Testnet MATIC on mumbai? Connect MetaMask to Mumbai, click "Send", enter the recipient's address, specify the amount, and confirm the transaction. Gas fees are extremely low and transactions complete in seconds. ### Can I use the same smart contracts on mumbai as Polygon Mainnet? Yes, because Polygon is EVM-compatible, the same contracts that run on Ethereum and Polygon mainnet can be deployed to Mumbai for testing with minimal or no code changes. ### What is mumbai Polygonscan used for? Mumbai Polygonscan is the block explorer for the Mumbai testnet, allowing you to search for details of addresses, transactions, and other network activities. --- # What are NFT card games? URL: https://www.alchemy.com/overviews/nft-card-games.md NFTs use blockchain technology for ownership verification, authentication, and provenance tracking, enabling the blend between the physical and digital worlds. As such, NFT card games now offer players a new level of immersion, NFT interactivity, and collectability. In this article, we will explore the basics of NFT card games, how they work, learn some examples, learn important things to know before playing, and how to start playing them. ## **What are NFT card games?** NFT card games are [**NFT gaming niche**](https://www.alchemy.com/overviews/nft-gaming) that use cards as NFTs to track ownership and provide a provable scarcity of cards. The NFTs can also be traded, exchanged, and sold as digital assets via NFT marketplaces. Unlike traditional trading card games printed on cardboard or paper, NFT cards can be managed as digital tokens on a blockchain network. This uniqueness as NFTs means the cards can be digitally traded, sold, and exchanged. ### **How do NFT card games work?** NFT card games use blockchain technology to create unique, one-of-a-kind virtual cards that can be collected, traded, and used in gameplay. To start playing, players will typically need to have a cryptocurrency wallet compatible with the blockchain platform used by the game. This wallet is used to store the player's NFT cards and make transactions such as buying new NFTs or trading with other players. Each NFT card is unique and represents an asset on the blockchain. The blockchain acts as a distributed ledger that stores the ownership and attributes of each NFT card. Smart contracts are used to manage the NFTs within the game. Smart contracts are self-executing computer programs that define the rules and logic of how NFTs are created, traded, and used within the game. For example, a smart contract might specify the attributes of an NFT card, such as its rarity, power level, and special abilities. One thing to note is that the media file itself \(JPEG, PNG, PDF, etc., representing the NFT\) is usually not stored on the blockchain due to limited block size. instead, these are stored off-chain on centralized servers like AWS or [decentralized storage solutions like IPFS](https://www.alchemy.com/dapps/ipfs). In the game, players can view, collect, and trade NFT cards through a user interface. This interface interacts with the blockchain through APIs to verify the authenticity and ownership of NFT cards and execute transactions such as trades or purchases of new NFTs. When a player collects an NFT card, the card's ownership record is etched permanently in the blockchain's distributed ledger, and the player becomes the sole owner of that NFT. Players can then trade, sell, or use the NFT card within the game as they see fit, with the ownership and provenance of the card securely recorded on the blockchain. The attributes and rarity of each NFT card can also affect gameplay, as some cards may have special abilities or higher power levels that can give players an advantage. ## **NFT card game examples** There are a few notable [NFT card games](http://www.alchemy.com/overviews/play-nft-card-games) already in the market today, mostly on the [Ethereum blockchain](https://www.alchemy.com/list-of/web3-games-on-ethereum). Here are some popular examples players can start with: ### **1. Sorare** [Sorare](https://www.alchemy.com/dapps/sorare) is a blockchain-based fantasy soccer game that allows players to collect and trade unique, one-of-a-kind digital player cards featuring some of the biggest names in soccer. Each card is an NFT on the Ethereum blockchain. #### Gameplay In Sorare, players can collect digital player cards, build their own teams, and compete in various online tournaments. The game uses a scoring system based on the real-life performance of the players featured on the cards, so the better the players perform in real life, the higher the score of the card in the game. #### Cards Sorare has a wide variety of cards available, ranging from "Limited" to "Unique." The rarest cards are the Unique cards, which are limited to just one copy of each card. By collecting and trading these cards, players can make a profit in the game. ### **2. Gods unchained** [Gods Unchained](https://www.alchemy.com/dapps/gods-unchained) is a free-to-play, digital collectible card game that is built on top of [ImmutableX](https://www.alchemy.com/dapps/immutablex), a Layer-2 scaling solution for Ethereum. In Gods Unchained, players collect, trade, and use unique digital cards featuring powerful gods, heroes, and creatures from a rich fantasy world. #### Gameplay In Gods Unchained, players build decks of cards and use them to battle against other players in fast-paced, turn-based games. The game features a wide variety of cards with different abilities, strengths, and weaknesses, providing players with a high degree of strategic depth and replayability. #### Cards Cards in Gods Unchained range from **Common** to **Mythic**. The rarest cards are the Mythic cards, which feature special abilities and powers that make them incredibly powerful. Players can give themselves a massive advantage in the game by collecting, trading, and using these Mythic cards. ### **3. Blockchain cuties universe** [Blockchain Cuties Universe](https://www.alchemy.com/dapps/blockchain-cuties-universe) is an adventure game where players can collect, breed, and battle unique digital creatures called Blockchain Cuties, which are NFTs. This is the first game to offer interoperable gameplay. Players can play the game on Ethereum, TRON, EOS, and NEO blockchains. #### Gameplay In Blockchain Cuties Universe, players go on adventures with their Cutie, completing quests and participating in battles. The game also features a variety of mini-games that allow players to earn rewards, such as new Cuties or special items. #### Cards Blockchain Cuties come in a wide variety of shapes and sizes, ranging from cats to dragons. They are of three types; Regular, Tribute, and Unique. The rarest Cuties are often the most powerful. ## **NFT card marketplaces** **NFT card marketplaces are [NFT marketplaces](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces) where players can buy, sell, and trade NFT cards with other players.** Not only can they be used to buy and sell cards, but these marketplaces also provide an opportunity for players to connect with each other and build relationships. ### **Best NFT card game marketplaces** There are many [NFT marketplaces to trade gaming NFTs](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces), and some of the most popular NFT marketplaces include: 1. OpenSea 1. Sorare Marketplace 1. Blockchain Cuties Universe Marketplace 1. ImmutableX Marketplace 1. DTTD 1. NBA Top Shot ### **How can I buy NFT trading cards?** When buying NFT trading cards, there are simple steps first-time players can take to purchase one. **Steps to buy an NFT trading card:** 1. Create a digital wallet \(e.g. [MetaMask](https://www.alchemy.com/dapps/metamask)\) 1. Buy some cryptocurrency, such as Ethereum 1. Search for the card of interest or browse until a desired one is found 1. Connect a wallet to the chosen marketplace  1. Authorize a transaction to buy the NFT at the listed price 1. Receive the NFT trading card in your cryptocurrency wallet ## **How do NFT card game players make money?** There are a number of ways NFT card game players can [make money through playing games](http://www.alchemy.com/overviews/make-money-playing-p2e-games) including trading in-game assets and hosting tournaments. ### **1. Trading in-game assets** One of the most straightforward ways for NFT card game players to make money is by selling in-game assets in exchange for cryptocurrency. Similar to physical trading card games, the value of NFT cards is influenced by various factors such as rarity, popularity, and power level. This can lead to a vibrant market for NFT card trading, where players can buy and sell NFT cards for a profit. Further, since NFTs do not rely on intermediaries, trading these assets is safe, trustless, and fast. ### **2. Playing NFT card game tournaments and special events** Playing in tournaments and special events are an excellent way for NFT card game players to use their skills to win prize pool money. Players can organize and host tournaments in their own games, charging fees for participation, or participating in marketing events where game developers may offer cash prizes to the winners. ### 3. Earn money from airdrops Players can also earn money by receiving airdrops. For example, TreasureDAO is a game on Arbitrum, and during the Arbitrum's token airdrop, the TreasureDAO community received 8 million $ARM tokens. ### **4. Renting NFTs** Renting NFTs is a relatively new possibility for web3 gamers where they can lend an NFT to another player, and that player can use the NFT to access private communities, or unlock new areas of a the game. In this scenario, the NFT owner will receive interest payments from the renter, while they're lending their assets. ## Start playing NFT card games Researching NFT card games can be a daunting task, but with the right approach, it can be an enjoyable and rewarding experience. By researching each game's community, economics, and gameplay mechanics, players can identify the [best NFT card games](https://www.alchemy.com/dapps/best/web3-games) for themselves. --- # How Much Does It Cost To Deploy an NFT Project on Ethereum? URL: https://www.alchemy.com/overviews/nft-deployment-cost.md Long story short, it depends. The price of Ether has skyrocketed in 2021.. and so have gas fees! If you're jumping into [Web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) for the first time, exploring things like the [Solidity](https://soliditylang.org/) programming language, [Ethereum](https://ethereum.org/en/) smart contracts, and [making NFTs](https://www.youtube.com/watch?v=ftMzXpToq9Q)... 1. Welcome! You're in for one heck of a ride.. 1. MAKE SURE YOU KNOW HOW GAS FEES AND TRANSACTION FEES WORK! Back in the day.. deploying [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) was relatively affordable. - In 2017, the [CryptoPunks](https://www.larvalabs.com/cryptopunks) NFT project was deployed for **$7.56** \([source](https://etherscan.io/tx/0x0885b9e5184f497595e1ae2652d63dbdb2785de2e498af837d672f5765f28430)\) - In 2020, the Shiba Inu Token \($SHIB\) was deployed for **$60** \([source](https://etherscan.io/tx/0x0a4022e61c49c59b2538b78a6c7c9a0e4bb8c8fce2d1b4a725baef3c55fb7363)\) Today — November 30th, 2021 — those exact same contracts would cost an arm and a leg to deploy :\( - [CryptoPunks](https://www.larvalabs.com/cryptopunks) would cost **$964** - $SHIB would cost **$2,026** This means it costs you somewhere between 30x to 120x more in USD terms to deploy contracts to Ethereum today, compared to a few years ago. The big question is... WHY? Well, there are three things that ultimately affect your deploy costs: 1. the **UNITS** of gas used in the transaction to deploy your contract 1. the **PRICE** per gas based on current traffic conditions and network congestion 1. the **VALUE** of Ether \(ETH\) based on market rates and these factors come together in a very simple formula: **TOTAL COST** = **UNITS** **PRICE** **VALUE** Let's look at the [CryptoPunks contract deployment from 2017](https://etherscan.io/tx/0x0885b9e5184f497595e1ae2652d63dbdb2785de2e498af837d672f5765f28430) as a starting example. From looking at the transaction information on [Etherscan](https://etherscan.io/): 1. **UNITS** of gas = 2,142,276 gas 1. **PRICE** per gas = 0.000000011 ETH per gas \(or 11 gwei\) 1. **VALUE** of ETH = $320.97 per ETH TOTAL COST = 2,142,276 0.000000011 320.97 **TOTAL COST = $7.56** So what changes happen when we try to deploy the CryptoPunks contract today, in 2021? - The **UNITS** of gas stayed the same — The \# of gas units is dependent on the logic contained in the smart contract, and it's the same contract today as it was 4 years ago. - The **PRICE** per gas has increased — Ethereum has become a very popular blockchain to  transact on, and the more traffic there is, the more that a single unit of gas costs in ETH terms due to the gas bidding mechanism. This is when users send transactions with higher and higher gas fees included to incentivize miners to include their transactions first. - The **VALUE** of ETH has also increased — More investors and interest over time means more demand for the cryptocurrency. The average **PRICE** per gas these days is somewhere between 0.0000001 ETH - 0.00000015 ETH \(100~150 gwei\), while the average **VALUE** of ETH is somewhere between $4,000 ~ $4,500. So how would the calculation look for deploying the CryptoPunks contract today? 1. **UNITS** of gas = 2,142,276 gas 1. **PRICE** per gas = 0.0000001 ETH per gas \(or 100 gwei\) 1. **VALUE** of ETH = $4,500 per ETH **TOTAL COST** = 2,142,276 0.0000001 4,500 = **$964** Try it out yourself! Look up your favorite NFT contract on [Etherscan](https://www.alchemy.com/dapps/etherscan), find the three components of the transaction fee, and verify the final cost. What kind of prices are you seeing today? Tweet your example [@thatguyintech](https://twitter.com/thatguyintech) and I'd love to retweet :\) Now you might be thinking, "why are people still building on Ethereum if it's so expensive?" That's an excellent question. And there are three very good reasons: 1. **Decentralization**. Ethereum is the most decentralized smart contract platform available today. According to [ethernodes.org](https://ethernodes.org/), there are over 3000 nodes running the network. Other smart contract platforms have much fewer nodes or validators. The more decentralized the network is, the harder it is to censor, control, manipulate, or take down. These guarantees are usually necessary for serious financial applications. 1. **Developer Ecosystem**. It has the largest developer ecosystem and most mature tooling. According to Electric Capital, [Ethereum has over 2400 monthly active developers and growing](https://medium.com/electric-capital/electric-capital-developer-report-2020-9417165c6444). Ethereum is the oldest smart contract platform and has enjoyed the most network effects in terms of building usable applications and composable tooling.**‍** 1. **Market**. Ethereum has the biggest market for apps \(most users and money\). The largest and most used DeFi protocols and NFT marketplaces are built on Ethereum today. Even with all these benefits however, this does not mean that Ethereum has to be the best tool for your project. Perhaps you are just poking around and learning and the cost of deploying to [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) does not make sense at all. Or maybe you're targeting a very specific use case that prioritize speed and efficiency over decentralization guarantees. Whatever it is, there are plenty of reasons why you might want to explore alternatives. Here are a couple of alternatives to get you started.. If you want to stay within the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum), check out **sidechains** and **layer 2s** \(L2s\): - [Polygon](https://polygon.technology/) - [Immutable X](https://www.immutable.com/) - [Optimism](https://www.optimism.io/) - [Arbitrum](https://offchainlabs.com/) - [ZKSync](https://zksync.io/) - [StarkNet](https://starkware.co/) The benefit of using a sidechain or an Ethereum layer 2 solution is that you can use similar tooling, and the underlying security mechanism for recording your transactions and securing your DApp remains the same. You also benefit from massively cheaper transaction costs and faster speed. The tradeoff is that both user and developer experience may be lacking for now. If you want to venture farther and explore different blockchains with different programming languages and different system architectures, you should consider these other **layer 1s** \(L1s\): - [Flow](https://www.onflow.org/) - [Solana](https://solana.com/) - [Avalanche](https://www.avax.network/) - [Tezos](https://tezos.com/) - [Polkadot](https://polkadot.network/) Finally, if you are concerned about deployment costs but you still want to deploy on Ethereum mainnet, you can try optimizing your solidity code to reduce unnecessary logic. The purpose of gas fees is to pay miners for running the logic of your program. The less complex logic there is, the cheaper it is to deploy and run your contract. Here's [a great article that talks about how to optimize Ethereum NFT smart contracts to reduce gas.](https://medium.com/@kaymonft/optimizing-nft-smart-contracts-to-reduce-gas-usage-7f4e819eb49d) Deployment Cost

", tooltip: "", icon: "" }, "2": { title: "

1,775,269

", tooltip: "", icon: "" }, "3": { title: "

0.25208198

", tooltip: "", icon: "" }, "4": { title: "

$1,076.92

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Mint 1 (Wallet 1)

", tooltip: "", icon: "" }, "2": { title: "

102,474

", tooltip: "", icon: "" }, "3": { title: "

0.01455130

", tooltip: "", icon: "" }, "4": { title: "

$62.16

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Mint 2 (Wallet 1)

", tooltip: "", icon: "" }, "2": { title: "

147,874

", tooltip: "", icon: "" }, "3": { title: "

0.02099810

", tooltip: "", icon: "" }, "4": { title: "

$89.70

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Mint 3 (Wallet 1)

", tooltip: "", icon: "" }, "2": { title: "

147,874

", tooltip: "", icon: "" }, "3": { title: "

0.02099810

", tooltip: "", icon: "" }, "4": { title: "

$89.70

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Mint 4 (Wallet 2)

", tooltip: "", icon: "" }, "2": { title: "

145,074

", tooltip: "", icon: "" }, "3": { title: "

0.02060050

", tooltip: "", icon: "" }, "4": { title: "

$88.01

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Mint 5 (Wallet 2)

", tooltip: "", icon: "" }, "2": { title: "

147,874

", tooltip: "", icon: "" }, "3": { title: "

0.02099810

", tooltip: "", icon: "" }, "4": { title: "

$89.70

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Mint 6 (Wallet 2)

", tooltip: "", icon: "" }, "2": { title: "

147,874

", tooltip: "", icon: "" }, "3": { title: "

0.02099810

", tooltip: "", icon: "" }, "4": { title: "

$89.70

", tooltip: "", icon: "" }, id: 6, }, ], }} /> ‍If you found this explanation useful, shoot us a tweet at [@Alchemy](https://x.com/Alchemy)! We'd love to see what you're building and give your project a boost :\) --- # What are NFT farming games? URL: https://www.alchemy.com/overviews/nft-farming-games.md NFT farming games allow players to participate in different activities and complete tasks within the game to earn and collect NFTs. This article will explore the concept of [web3 farming games](https://www.alchemy.com/dapps/best/web3-games), the types of games available, the advantages of playing them, and the challenges and involved. ## **What are NFT farming games?** NFT farming games are decentralized games built on a blockchain that combine token staking and liquidity farming to provide rewards in the form of unique NFTs. By staking specific tokens, NFT farming gamers have the chance to accumulate valuable digital assets. The rewards earned by the players depend on the type and design of the staked token, offering various opportunities for users to gain valuable assets with unique characteristics that can be used across different services. ### **What is token staking?** **Token Staking is a process where users can buy and sell NFTs through NFT browser games by investing money, tokens, or cryptocurrencies.** This investment process earns interest, which is paid back to the account holder and helps increase their position as a trusted network validator. ### **How do NFT farming games work?** **NFT farming games work by giving players the ability to earn rewards through their participation in the game and by holding staking tokens. These rewards, combined with NFTs, can then be sold on an NFT marketplace.** The concept of NFT farming games is similar to [platforms for yield farming](https://www.alchemy.com/dapps/best/defi-yield-farming-platforms), where tokens are placed in a pool and earn rewards based on the specified Annual Percentage Yield \(APY\). As such, NFT farming games offer a unique opportunity for players to earn rewards through the use of NFTs and digital currencies. To participate, a player must have a digital wallet and staking tokens. In these games, NFTs are created to be more engaging and exist in-game. To receive rewards, players must use a staking portal, a platform where they can stake their tokens. The rewards are then returned to the player in the form of NFTs. The player can then choose to sell the NFT on an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) for profit. ### **NFT farming game examples** NFT farming games are still relatively new in their development and proof of sustainability. However, there are already a number of NFT farming games in the market currently. Two examples of popular NFT farming games include Planet IX and DeFi Land. #### **1. Planet IX** [Planet IX](https://www.alchemy.com/dapps/planet-ix) is a free-to-play strategy game that uses blockchain technology and NFTs. The goal of the game is to restore a fallen planet to its former glory by collecting virtual assets, such as land and buildings, which have true ownership and can be traded securely. In-game incentives reward players for gathering assets and upgrading their inventory. With innovative[ DeFi gaming components](http://www.alchemy.com/overviews/defi-gaming), Planet IX rewards players for their hard work and strategy.  #### **2. DeFi land \(DFL\)** [DeFi Land](https://www.alchemy.com/dapps/defi-land) is an NFT farming game that is a fun way to learn and participate in the DeFi world and can either play for free or buy a generation 0 NFT. The game has all the traditional DeFi features, and you can trade in-game assets and NFTs with $DFL tokens \(the native in-game currency of DeFi Land\). Players can also stake and earn incentives, participate in-game mechanics, and vote on governance issues. It’s accessible to a wider audience with its multi-chain feature. ### **NFT farming game pros and cons** Before [playing an NFT farming game](http://www.alchemy.com/overviews/play-nft-farming-games), gamers should consider the benefits and tradeoffs of NFT gaming: #### **Pros** - Earning potential through token ownership from in-game rewards - Ability to sell NFTs to obtain liquid assets through rewards - Fun and exciting gaming communities #### **Cons** - Vulnerability to smart contract bugs and hacking attempts - Potential for operational faults that may cause negative consequences - Value of in-game assests is dependent on game popularity and tokenomics --- # What is NFT gaming? URL: https://www.alchemy.com/overviews/nft-gaming.md NFT gaming has earned worldwide recognition in a short time, as it flipped the narrative that games are just for fun and leisure, and owned entirely by gaming studios. NFT games now offer players ownership over their in-game items and more pathways to making money playing video games.  In fact, the NFT gaming industry market size is set to reach USD 65.7 billion by 2027, with a Compound Annual Growth Rate \(CAGR\) of 70.3%, according to a the "Blockchain Gaming Market by Game Type, Platforms And Region - Global Forecast t" by **ReportLinker**. ## **What is NFT gaming?** **NFT gaming is a niche gaming industry that uses Non-Fungible Tokens \(NFTs\) to represent unique digital assets on the blockchain and prove in-game ownership of items.** A Non-Fungible Token \(NFT\) is a digital asset on a blockchain that is unique. NFTs can take the form of digital art, sports cards, virtual in-game items, music, and videos. No two NFTs are the same, and their ownership is immutable and publicly visible. On Ethereum, NFTs follow the ERC721 token standard.  In addition to ERC721 tokens, semi-fungible tokens are used in NFT gaming when in-game assets need to be modified. Example use cases for semi-fungible tokens include weapons with limited uses or characters that gain important player stats as in-game achievements are unlocked. On Ethereum these modifiable NFTs follow the [ERC1155 token standard](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155) \(Multi Token Standard\), and on Solana, [Metaplex](https://www.alchemy.com/dapps/metaplex)’s [Semi-Fungible Tokens \(SFTs\)](https://www.alchemy.com/overviews/semi-fungible-tokens-sfts) offer web3 game developers the same flexibility. While NFTs have several use cases, they are increasingly used in [web3 games](https://www.alchemy.com/dapps/best/web3-games) enabling players to truly own in-game assets such as characters, weapons, virtual currency, and avatars. ### **How does NFT gaming work?** NFT games combine the characteristics and mechanisms of traditional games with blockchain technology to provide players the ability to exercise complete control over their assets. Here’s a step-wise approach to explaining how an NFT game actually works: 1. [Web3 gaming studios](https://www.alchemy.com/dapps/best/web3-game-studios) create blockchain games using multiple [web3 gaming tools ](https://www.alchemy.com/dapps/top/web3-gaming-tools) 1. Web3 game designers create digital assets that represent digital collectibles, weapons, or characters 1. Web3 game developers turn unique in-game items into NFTs and add them into the gameplay 1. Players earn NFTs by completing quests inside the game or purchasing NFTs using in-game cryptocurrencies 1. In-game assets are owned by a player’s [web3 wallet](https://www.alchemy.com/overviews/web3-wallets) 1. Player-owned NFTs are used in the game to advance play 1. The blockchain ledger tracks the NFT each time it changes owners or it is modified \(e.g. SFTs\) 1. NFT gamers can earn money or level up their assets by trading on NFT gaming marketplaces 1. Players can also earn money by [renting NFTs to other players](https://www.alchemy.com/dapps/best/nft-renting-dapps) using popular gaming [DAOs](https://www.alchemy.com/dapps/top/daos) ## **How is NFT gaming different from traditional gaming?** [NFT games differ from conventional games](https://www.alchemy.com/overviews/nft-gaming-vs-web2-gaming) in several ways including technology, ownership, Play-to-Earn vs. Pay-to-Play, and interoperability. Before you [choose a game that uses NFTs](https://www.alchemy.com/overviews/choose-nft-game), understand these key differences to determine if playing NFT games is right for you. ### **1. Technology and control** Unlike conventional gaming, NFT games are built using blockchain technology — which marks the biggest difference between traditional gaming and decentralized web3 gaming. Moreover, NFT games impart an unprecedented gaming experience to the users by letting them participate in future game developments through [gaming DAOs and governance](https://www.alchemy.com/dapps/best/gaming-daos) through on-chain voting mechanisms. In-game voting mechanisms are possible since NFT games leverage smart contracts \(code on the blockchain that runs when predetermined conditions are met\), allowing a decentralized gaming experience and full transparency.  Conversely, in traditional games, the gameplay is entirely set by the developer leaving little control for users. ### **2. Ownership of assets** NFT in-game items provide players complete ownership and control over their assets as they exist independently of the game. Ownership allows players to sell and trade  on [NFT marketplaces for in-game digital assets](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces). However, in regular games, in-game items cannot be owned, making them valueless outside the game. ### **3. Play-to-earn \(p2e\) vs. pay-to-play** The [P2E model](https://www.alchemy.com/overviews/play-to-earn-games) enables players to earn money for the time and value they create within games. These in-game rewards can be exchanged for real money, allowing players to make money as they advance in the game. On the other hand, the Pay-to-Play or freemium gaming model requires players to spend money to advance certain areas of gameplay or to access assets. Furthermore, these in-game items from web2 games cannot be sold for profit within the game's ecosystem. ### **4. Interoperability** As NFTs are nothing but digital assets held in the user’s web3 wallets, they can be moved and used in different blockchain games as cross-chain messaging and NFT bridging tools become more mature. Conversely, regular games do not support interoperability as the in-game items have no value outside the game. --- # What is the difference between NFT gaming vs. Web2 gaming? URL: https://www.alchemy.com/overviews/nft-gaming-vs-web2-gaming.md [NFT gaming](https://www.alchemy.com/overviews/nft-gaming) is a popular use case for blockchain technology because it offers players more ownership over their in-game assets, and enables game developers to incorporate more interesting mechanics and economics into their game. Before [choosing a web3 game](https://www.alchemy.com/overviews/choose-nft-game) to play, explore the benefits and tradeoffs of playing [NFT games](https://www.alchemy.com/dapps/best/web3-games). ## **5 benefits of NFT gaming** NFT games have introduced unrivaled benefits to gaming which is evident by their explosive growth in recent years. Here are some benefits NFT games have introduced or improved to the gaming industry: ownership, scarcity, trading, earning potential, and composability.  ### **1. Ownership of NFTs** NFTs allow players to truly own in-game assets, such as characters, weapons, and collectibles, rather than simply having a license to use them. Players of NFT games now get to store their in-game assets in their [web3 wallets](https://www.alchemy.com/web3-wallets-overview) rather than having them locked in the game itself. ### **2. Scarcity of NFTs** NFTs can be used to create limited edition items, adding value and rarity to in-game assets. Players can enjoy a higher valuation for obtaining in-game assets, or incentive deeper levels of engagement from players. ### **3. Trading of NFTs** NFTs enable players to trade and sell in-game assets on various [gaming marketplaces](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces), potentially creating new revenue streams for game developers through gaming NFT royalties and enabling players to earn money from their in-game achievements. While trading in-game assets and gamer accounts has been done throughout gaming’s history, most trading has been done without controls or player protections. Having a marketplace built on the blockchain gives players a safe and trusted venue for trading in-game assets. ### **4. Earning potential** Unlike traditional gaming rewards which can be exchanged for in-game assets, NFT games create pathways to convert in-game assets into legal tender. For example, an NFT can be sold in the game’s marketplace for the game’s native currency. Then, that currency can be [swapped for a stablecoin on a decentralized exchange](https://www.alchemy.com/overviews/how-to-use-a-decentralized-exchange-on-ethereum) like [Uniswap](https://www.alchemy.com/dapps/uniswap). ### **5. Game composability** The composability of NFT games allows gaming developers to adapt or build on top of the existing blockchain games, aiding them to unlock the best use cases efficiently. Unlike traditional games, in-game NFTs can be used across multiple games or metaverse environments because they share the same standards \(e.g. ERC721\). ## **5 tradeoffs of NFT gaming** **With NFT gaming’s newness, there are some trade-offs including scalability, regulation, interoperability, volatility, and complexity.** ### **1. Scalability** As NFT games gain popularity, the blockchain infrastructure that supports them may struggle to keep up with the increased demand for transactions, leading to slower performance and higher fees. One solution to scalability is using an appchain, or a blockchain that is exclusively [designed for the use of a single application](https://www.alchemy.com/overviews/what-is-an-appchain). Appchains offer games scalability while removing congestion from public blockchains like Ethereum. One example of a web3 game that uses an appchain is [Axie Infinity](https://www.alchemy.com/dapps/axie-infinity) which uses Ronin Network, an application-specific blockchain created specifically for Axie Infinity. ### **2. Lack of regulation** As NFTs and blockchain technology are relatively new, there is currently a lack of regulation in the NFT gaming space, which can create uncertainty and risk for investors and gamers. Before playing a web3 game, make sure you are following your local rules and regulations. ### **3. Lack of interoperability across blockchains** NFTs are typically specific to a particular blockchain, which can limit the ability of players to use their assets across different games or platforms of different blockchains. While bridges and cross-chain messaging protocols exist, they are still relatively young, and we have not seen extensive cross-chain gaming solutions. ### **4. High volatility** As the NFT gaming space evolves, the games players choose to play, and the relative value of the NFTs acquired in each game will change. Like cryptocurrency, the value of NFTs can be highly volatile, making it difficult for players to predict the value of their assets over time.  ### **5. Complexity** Understanding the underlying blockchain technology and navigating the various aspects of an NFT game such as creating a wallet, depositing cryptocurrency, buying NFTs, managing in-game assets, and securing your wallet can be daunting for those unfamiliar with the NFT gaming space. The complexity of starting to play an NFT game is a steep learning curve and is often cited as a major obstacle that hinders the growth and widespread adoption of blockchain-based games. --- # What are NFT minting platforms? URL: https://www.alchemy.com/overviews/nft-minting-platforms.md ‍[**NFT minting platforms**](https://www.alchemy.com/dapps/best/nft-minting-tools) are no-code solutions that anyone can use to mint NFTs. There are [five types of NFT minting platforms](https://www.alchemy.com/overviews/types-of-nft-minting-platforms): [NFT Marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) tools, DIY minting tools, curated minting platforms, programmatic NFT miniting APIs, and gaming NFT minting platforms. Before the creation of NFT minting platforms, users had to write complex code for NFT smart contracts, and make sure they effectively deployed it on the blockchain. This left plenty of room for mistakes, which could compromise an entire NFT project, robbing creators of their hard work and NFT owners of their NFTs. By the end of this article, you will learn about NFT minting platforms, their benefits, how they work, and be able to choose the best NFT minting platform for your project! ### Benefits of using NFT minting platforms The benefits of using NFT minting platforms include no-code tooling, extremely easy to use, especially for non-developers, there are lots of options, and they have low costs. #### 1. No-code The number one reason why most people choose to use NFT minting platforms is that they are no-code solutions, which means users can use the platform without having any prior coding knowledge.  #### 2. Ease of use The nest NFT minting platforms all have super sleek designs, ensuring that you have an intuitive and pleasant NFT minting experience. Most NFT minting platforms will have an in-depth guide on exactly how to create all types of NFTs from scratch.  #### 3. Versitility Most NFT minting platforms offer the ability to mint a wide variety of NFTs, such as avatars, one-of-one artworks, collectibles, gamified NFTs, music NFTs, collectibles, and event NFTs. With these premade options, users can forget the hassle of trying to reinvent the wheel; if you want to create a set of NFTs, there’s already an option for that! ### Tradeoffs of using NFT minting platforms Even though it’s easier and sometimes cheaper to mint NFTs using a no-code minting tool, there are some tradeoffs you should consider such as the platform's constraints and lack of customization. #### 1. Can be restrictive While the preset on most NFT minting platforms will capture most use cases of NFT creators, if you have an idea for the structure of your NFT that doesn’t neatly fall into one of the presets, it can be difficult to create your own preset.  #### 2. Lack of customization The second biggest tradeoff of using low-code minting tools is that, within the presets, there are only so many options that you can customize. For example, you may be able to set the number of NFTs dropped and when, but if you wanted to do a more complex drop, it may be very difficult to match your preferences with the options offered in the platform.  ### NFT minting platform example Easymint is an upcoming NFT minting platform built by Alchemy. [Easymint](https://www.alchemy.com/easymint) removes all of the needs to interact with the complex technicalities of blockchain infrastructure. For example, it removes the need to set up a blockchain-compatible crypto wallet, creating and deploying a smart contract on the blockchain, and mint NFTs with that smart contract’s address. Easymint deploys these smart contracts on the creator’s behalf, eliminating the need for users to interact with the blockchain at all. All they have to do is pay for the fees associated with deploying an NFT collection using fiat money. Easymint supports multiple EVM chains, such as Ethereum, Polygon, Arbitrum, and Optimism. This means that you can choose where you deploy your NFT collection. ## How do NFT minting platforms work? This section will walk you through exactly how to go from start to finish in the no-code NFT minting process. ### How to mint an NFT Now that we have a clear understanding of how NFT minting platforms work, let’s follow these simple steps to mint your first NFT. #### 1. Create an account Almost all NFT minting platforms will require users to create an account. For many platforms, you will need to connect your wallet to pay for minting fees and sign transactions. #### 2. Enter your NFT project Once you create your account, there will be an option to create a new project. Enter the name of your project to create it.  #### 3. Import your NFT project If you have not yet designed your NFT collection, this is the point where you’ll have to create something to upload onto the blockchain. If you have already created your artwork, collectible, or other media, then continue reading! At this point, you’ll have to import all of the data for your NFTs, including the NFTs themselves and, as well as their metadata \(e.g. rarity, type, etc.\).  #### 4. Complete the NFT project details This stage is where you will be able to customize the specifics of your NFT drop, such as how many rounds of NFT drops you’re planning, what the mint price will be, and how many NFTs you’re planning on dropping. Make sure you fill out this section correctly, because it may not be possible to change this information once your NFT project is deployed.  #### 5. Deploy your project Once you’ve filled in all of the necessary information on an NFT minting platform, you’re done! Finalize your selection, and sit back and enjoy the NFT collection you just deployed on the blockchain!  ### How to choose an NFT minting platform To save money and time, evaluate these five factors before choosing an NFT minting platform: types of NFTs you can mint \(e.g. ERC721, ERC1155, etc.\), how easy the tool is to use, the cost to mint the NFTs, and integrations with other tools \(e.g. NFT allowlists\). #### 1. Types of NFTs you can mint This one might sound obvious, but make sure that you choose an NFT minting platform that matches the specifications of your project. Most platforms will allow users to mint NFT collections that are images and metadata. However, if you have a more complex NFT project, such as a [dynamic NFT](https://www.alchemy.com/overviews/dynamic-nft), you will need to find a platform that suits your needs. #### 2. Ease of use An important consideration when deciding which NFT minting platform to use is the user experience. If the website is not intuitive, or makes creators complete unnecessary tasks to mint an NFT, or doesn't fully support the specificity of your project \(e.g. custom metadata, total number of tokens, etc.\) choose another option that meets your needs.  #### 3. Cost to mint \(gas fees\) Cost is typically the single most important factor in choosing an NFT minting platform. If you choose the wrong platform, the minting of your NFT could be prohibitively expensive, possibly even costing you more than you generate in revenue. To spend the least money on gas, make sure you research how much it will cost to mint the same NFT across different platforms. Some NFT minting platforms may use [gas optimized NFT smart contracts like ERC721A](https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts) which leverages batch minting, or if you're minting NFTs in bulk on Solana, you may want to find a tool that supports [compressed NFTs](https://www.alchemy.com/overviews/compressed-nfts). #### 4. Integrations with other tools Some NFT minting platforms will integrate other tools into their interface, allowing for a much easier and more customizable experience. For example, integrations with NFT allowlist platforms such as Spearmint allow creators to specify which wallets are allowed to mint NFTs based on their own definitions \(e.g. if they hold a specific token, etc.\). Other integrations include NFT token gating tools. --- # What is NFT Seller Financing? URL: https://www.alchemy.com/overviews/nft-seller-financing.md Seller Financing is a well-established tool in traditional finance that is emerging as a new primitive in the NFT landscape. In comparison to traditional [NFT financing options](https://www.alchemy.com/dapps/best/nft-lending-dapps) which rely on third party lenders, Seller Financing is peer-to-peer \(P2P\) between buyers and sellers, where sellers set their terms for accepting payments directly from buyers over time. The flexibility of NFT Seller Financing has the potential to increase market participation.  ## **What is seller financing?** Seller Financing enables sellers to 'be their own bank,' equipping them with the tools to attract a broader buyer base by adjusting their financing terms, including price, down payment, interest rate, and duration. Should a buyer default, the seller, acting in a bank-like capacity, retains all payments made and reclaims the asset to hold or resell. Seller Financing has been used for decades in traditional finance to enable transactions banks wouldn’t underwrite or when sellers demanded prices buyers couldn’t afford.  Widely used in up to 90% of business sales, as well as in the sales of cars, boats, planes, and real estate, Seller Financing has increased transaction volumes across a variety of markets, especially in emerging, volatile, or hard-to-value markets. ### **Seller financing for NFTs** [NiftyApes](https://niftyapes.readme.io/docs/introduction), an NFT lending protocol backed by [Coinbase](https://www.alchemy.com/dapps/coinbase) and Variant, is the first to bring Seller Financing to the world of NFTs. Rather than build their own marketplace, they've developed a Seller Financing Software Development Kit \(SDK\) to empower any [NFT platform](https://www.alchemy.com/dapps/top/nft-dapps) — including minting platforms, secondary marketplaces, trading tools, and games — to provide Seller Financing options to their users.  Through a simple integration, NFT platforms can not only enrich their offerings but also stimulate transaction volumes, thereby fostering resilience throughout the NFT ecosystem. ## **What are the current NFT financing options?** Aside from credit cards, current NFT financing options — like those from Blur, NFTfi, PWNDAO, BenDAO, and ParaSpace — are limited to a few collections, usually just blue-chip NFTs. Existing NFT financing options rely on 3rd party lenders to provide liquidity, which becomes problematic in bear markets when lenders may impose less favorable terms or withdraw their liquidity, hindering sellers and dampening the overall market. This reliance on profit-seeking middlemen also goes against the very ethos of cryptocurrency. With Seller Financing, the paradigm shifts from a third party's ability to offer liquidity to a seller's willingness to receive payments over time. By disintermediating third parties, NFT Seller Financing promotes P2P relationships between buyers and sellers. ## **How does NFT seller financing work?** NFT Seller Financing is the process of listing an NFT, determining payment terms, delegating ownership, and transferring full NFT ownership once the payments are made in full.  Here is a description of the [step-by-step process of NFT Seller Financing](https://niftyapes.readme.io/docs/introduction): ### **1. A seller lists their NFT** The seller lists an item for sale on an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) that has integrated the NiftyApes SDK and sets financing options \(either custom or pre-made\) including price, down payment, duration, and interest rate. ### **2. The seller signs a financing offer** The seller signs their financing offer into the offer book, which records all offers made on the marketplace. The seller can define rules such as their sale price, down payment, payment duration, payment frequency, and a buy now price. ### **3. A buyer initiates the purchase** A buyer initiates the purchase by making a down payment on the NFT and agreeing to the payment terms set by the seller. ### **4. The NFT is transferred to an escrow contract** The NFT is transferred to a neutral [NFT seller financing escrow smart contract](https://niftyapes.readme.io/docs/sellerfinancingsol) which has been [audited by Quantstamp and Sherlock](https://niftyapes.readme.io/docs/introduction) ensuring a secure transaction.  ### **5. Buyer and seller ticket minting** An ERC721 NFT is minted and sent to each wallet which represents both sides of the purchase as a buyer and seller ticket. Because these tickets are NFTs, they can be transferred or sold at any time.  The buyer ticket represents the debt obligation and the right to use the underlying NFT, and the seller ticket represents the revenue ownership of the loan and the right to seize the NFT if the buyer defaults.  Upon full loan repayment \(or asset seizure\) both tickets are automatically burned.  ### **6. NFT ownership is delegated** Immediately after clicking “Buy,” the buyer becomes the delegated owner of the NFT and can start using it. The NiftyApes Seller Financing escrow contract delegates usage of the underlying NFT to the buyer ticket holder using Delegate.cash. This delegation of NFT ownership allows the buyer to use the underlying NFT anywhere delegate.cash is integrated. Such use cases include giving the buyer immediate access to token gated Discords, airdrops, and more. #### **What is delegate.cash?** Delegate.cash is an NFT delegation registry widely used to link cold wallets with hot wallets, so the hot wallet can act on behalf of the cold wallet, like crypto power-of-attorney.  **Delegate.cash is being used by multiple NFT projects including:** - ForgottenRunes for their Halloween airdrop - ArtBlocks for their gated minting processes - TokenProof for wallet verification - PunksClub for ownership verification - InvisibleFriends for their 3D airdrop - Collab.land and Vulcan.xyz for token gated discords NFT ownership delegation enables the buyer to immediately start using the NFT while paying off their debt obligation. ### **7. Full NFT transfer** The buyer makes payments until the purchase is paid in full. Once the seller financed purchase is fully paid, the NFT ownership is transferred out of the escrow contract to the buyer's wallet.  If the buyer fails to make a payment, the seller keeps all the payments made and can reclaim the NFT to sell again. Buyers are afforded a soft grace period where they can make a late payment up to one month late. However, during the soft grace a seller can seize the NFT at any time. Ideally, the soft grace period offers the buyer and seller an opportunity to communicate and keep the loan in good standing.  ## **The potential impact of seller financing on NFTs** The introduction of Seller Financing in the NFT market has the potential to create far-reaching changes across the blockchain landscape by enabling sellers to provide their own financing terms, enhancing the transaction flexibility and financial accessibility of NFTs in a peer-to-peer manner that is congruent with the values of web3.  As this financial primitive for buying and selling NFTs becomes more prevalent, it has the potential to shape the evolution of the NFT market, broadening its appeal and reach to new and existing users. --- # What is NFT token gating? URL: https://www.alchemy.com/overviews/nft-token-gating.md Non-fungible tokens are digital assets that can be used to provide access to exclusive web3 communities and platforms through a token gating verification system. This article explains why token gating is an effective marketing strategy for strengthening web3 communities, introduces [Alchemy's NFT API](https://www.alchemy.com/nft-api) that developer teams can use to set up token gating, and explains how creators can manage their project. ## What is token gating? Token gating is a verification method whereby communities can provide exclusive access to spaces, events, content, and communities to people who own specific digital assets in their wallet. ## Why is token gating a good Web3 marketing strategy? Token gating is essential to the success of any web3 marketing strategy because it is one of the most effective ways to strengthen a community among token holders. Some benefits of token gating include: #### 1. Creates exclusivity **Token gating generates exclusivity for token holders**, and allows project creators to grant access to content, events, and merch exclusively to token holders.  Token gating benefits both creators and token holders: - Creators have greater control over who can access their community's products and content - Token holders benefit by getting preferential access based on their level of support The exclusivity that token gating creates is exemplified by The Block’s tokenized paywall access to exclusive articles. The Block uses **[Access Protocol](https://www.alchemy.com/dapps/access-protocol)** and issues Access Tokens on crypto marketplaces for consumers to purchase. Access Token holders are then able to access The Block’s exclusive subscriptions.  #### 2. Strengthens community **Token gating builds community among token holders.** By providing access to token holders-only communication channels like Discord and content like Alchemy University's free Ethereum Developer bootcamp, token gating allows holders to congregate and develop a sense of community. An example of effective community-building with token gating is **VeeCon**. VeeCon is a multi-day mega-conference hosted by GaryVee, which is only accessible to VeeFriends token holders. Every VeeFriend holder is airdropped a unique VeeCon ticket that they can use to visit the conference or sell on the open market. #### 3. Rewards holders **Token gating allows token holders to access special rewards.** For instance, token holders can receive exclusive merch or acquire entrance into special festivals and events.  An example of token holders rewards, is **Lyrical Lemonade**, a Chicago-based multimedia giant. Lyrical Lemonade launched a tech subsidiary,** L3mon**, which spearheaded its first NFT drop, The Carton NFT Collection. There are only 500 holders of this NFT, and holders of Carton NFTs get three years of access to Lyrical Lemonade’s Summer Smash festival. Tickets are airdropped to all holders. ## How does token gating work? **Token gating tools check the contents of a user's wallet to see if they are the owner of a specific asset, and once ownership is verified, the owner is able to access the gated areas.** Different projects use various [NFT verification tools like Collab.Land](https://www.alchemy.com/case-study/collab-land) on Ethereum. ## What are examples of token gating? An example of token gating is the access restrictions and roles assigned to a user determined by the quantity or utility of a token in their crypto wallet. The following are two examples of how token gating functions: ### 1. Discord A private communication channel is restricted by a token gated portal, and requires users to log into Discord and connect their [crypto wallets](https://www.alchemy.com/dapps/top/wallets). Token gated Discord works with both hot wallets and cold wallets. Once a user connects their crypto wallet, web3 tools like Matrica on Solana verifies if the user holds the required token in their wallet. Depending on the collection or token owned in the wallet, access to Discord channels and roles will be assign with Discord's API. Users who do not hold the necessary token can purchase an NFT from a popular [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) like [OpenSea](https://www.alchemy.com/dapps/opensea), [Rarible](https://www.alchemy.com/dapps/rarible), or [Magic Eden](https://www.alchemy.com/dapps/magic-eden). ### 2. Shopify Token creators can partner with Shopify on [token gated merchandise](https://www.shopify.com/retail/token-gating) by adding a token gating app to their online store and deciding which products, collections, and experiences will be available exclusively for token holders. Currently, Shopify’s gated merch shop is in beta, open by invitation only to select merchants with an NFT collection. Some brands token gating on Shopify include World of Women, Stapleverse, and Doodles. ## What API endpoints can be used to set up token gating? There are three API endpoints creators may use to set up token gating with Alchemy's NFT API: getOnwersForCollection, isHOlderOfCollection, and getNFTs. The following list highlights the specific function of each: - [getOwnersForCollection](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/get-owners-for-collection) - gets all owners for a given NFT contract - [isHolderOfCollection](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/is-holder-of-collection) - checks whether a wallet holds an NFT in a given collection - [getNFTs](https://www.alchemy.com/overviews/getnfts) - gets all NFTs currently owned by a given address ## What chains does Alchemy's NFT API support? **Alchemy’s NFT API offers comprehensive NFT API support that lets you instantly find, verify, and display any NFT  across all major blockchains.** Currently supported chains include: Ethereum, Polygon, Arbitrum, and [Optimism](https://www.alchemy.com/overviews/optimism-nft-api). Alchemy's NFT API also supports the following testnets: - Goerli - Mumbai - Arbitrum Goerli - Optimism Goerli ## Start token gating your Web3 communities Token gating is an effective [web3 marketing strategy](https://www.webstacks.com/blog/crypto-marketing-strategies) for creating value and strengthening communities through exclusivity and rewards. Token gating uses API endpoints to read the data of a digital wallet to verify the necessary token that will grant or deny the token holder access into an online community. Token gating is an important tool for project teams to develop marketing strategies that allows for greater control over their projects, while also providing token holders a valuable asset.  ## Frequently asked questions ### What is NFT token gating? Token gating is a verification method that provides exclusive access to spaces, events, content, and communities to people who own specific digital assets in their wallet. ### How does NFT token gating work? Token gating tools check the contents of a user's wallet to verify ownership of a specific asset, and once ownership is confirmed, the owner can access the gated areas. ### What are the main benefits of token gating for Web3 communities? Token gating creates exclusivity for holders, strengthens community bonds among token holders, and allows creators to reward supporters with special access to content, events, and merchandise. ### Can token gating be used on Discord? Yes, Discord channels can be token gated by requiring users to connect their crypto wallets, with verification tools checking for required tokens and assigning appropriate roles and channel access. ### What is token gated merchandise on shopify? Token creators can partner with Shopify to offer exclusive products and experiences only to token holders by adding token gating apps to their online stores. ### Which API endpoints does Alchemy offer for token gating? Alchemy's NFT API provides three key endpoints: getOwnersForCollection, isHolderOfCollection, and getNFTs for verifying token ownership and setting up token gating systems. ### What blockchains does Alchemy's NFT API support for token gating? Alchemy's NFT API supports Ethereum, Polygon, Arbitrum, and Optimism, along with their respective testnets. --- # Why NFTs are more than just JPEGs URL: https://www.alchemy.com/overviews/nft-use-cases.md As the world of Web3 continues to take shape, non-fungible-tokens, or NFTs, are playing a critical role in the mainstream adoption of cryptocurrency and helping shape the future of decentralization, ownership, finance, and more.  Though some believe NFTs to be nothing more than "JPEGs," the reality is that innovation within the NFT ecosystem goes far beyond art or even collectibles. Appealing to our innate desire for social status and longing for community, NFTs are the building blocks of a new way to interact both online and in the physical world.  In this article, we'll explore the many unique ways NFTs have and will continue to shape our world and, more specifically, what it means for building in the Web3 era for developers and technologists.  ## More than just art: 3 unique use cases of NFTs ### 1. NFTs have a permanent, public history on the blockchain  NFTs live on a variety of blockchains, which are open digital ledgers that are accessible to all. As a result, it's incredibly easy to understand the history of a particular NFT using a blockchain explorer such as [Etherscan](https://etherscan.io/). When was it minted? Who was involved in the last sale? While the majority of NFTs currently live on the Ethereum blockchain, other chains such as [Flow](https://www.alchemy.com/blog) and Solana have also built popular NFT ecosystems as well. Ultimately, the transparency of the blockchain can help reduce fraud and theft given that everything can be viewed in the public square.  Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

tomjohn....

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.50Ξ ($2,099)

", tooltip: "", icon: "" }, "5": { title: "

Oct 31, 2021

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

tomjohn....

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.50Ξ ($2,099)

", tooltip: "", icon: "" }, "5": { title: "

Oct 31, 2021

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

0xe8f48e

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

20.4K= ($87.64M)

", tooltip: "", icon: "" }, "5": { title: "

Oct 29, 2021

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

0xe8f48e

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

20.4K= ($87.64M)

", tooltip: "", icon: "" }, "5": { title: "

Oct 29, 2021

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

tomjohn....

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.05Ξ ($207)

", tooltip: "", icon: "" }, "5": { title: "

Oct 28, 2021

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

tomjohn....

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.05Ξ ($201)

", tooltip: "", icon: "" }, "5": { title: "

Oct 27, 2021

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

0x319aae

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.11Ξ ($369)

", tooltip: "", icon: "" }, "5": { title: "

Sep 14, 2021

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

0x319aae

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.11Ξ ($366)

", tooltip: "", icon: "" }, "5": { title: "

Sep 14, 2021

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

Offered

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

35K= ($111.16M)

", tooltip: "", icon: "" }, "5": { title: "

Aug 30, 2021

", tooltip: "", icon: "" }, id: 8, }, { "1": { title: "

Offered

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

38.89K= ($126.19M)

", tooltip: "", icon: "" }, "5": { title: "

Aug 28, 2021

", tooltip: "", icon: "" }, id: 9, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

0xeea014

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

0.10Ξ ($311)

", tooltip: "", icon: "" }, "5": { title: "

Aug 08, 2021

", tooltip: "", icon: "" }, id: 10, }, { "1": { title: "

Offered

", tooltip: "", icon: "" }, "2": { title: "

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

35K= ($90.5M)

", tooltip: "", icon: "" }, "5": { title: "

Aug 01, 2021

", tooltip: "", icon: "" }, id: 11, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

"meta".e...

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

<0.01Ξ ($<0.01)

", tooltip: "", icon: "" }, "5": { title: "

Jul 05, 2021

", tooltip: "", icon: "" }, id: 12, }, { "1": { title: "

Sold

", tooltip: "", icon: "" }, "2": { title: "

0x661lfe

", tooltip: "", icon: "" }, "3": { title: "

0x7b8961

", tooltip: "", icon: "" }, "4": { title: "

4.2K= ($7.58M)

", tooltip: "", icon: "" }, "5": { title: "

Mar 11, 2021

", tooltip: "", icon: "" }, id: 13, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

0x7b8961

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

4.2K= ($7.58M)

", tooltip: "", icon: "" }, "5": { title: "

Mar 11, 2021

", tooltip: "", icon: "" }, id: 14, }, { "1": { title: "

Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

0x51636d

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

1.4K= ($2.19M)

", tooltip: "", icon: "" }, "5": { title: "

Mar 04, 2021

", tooltip: "", icon: "" }, id: 15, }, { "1": { title: "

Bid

", tooltip: "", icon: "" }, "2": { title: "

0x51636d

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

1.4K= ($2.17M)

", tooltip: "", icon: "" }, "5": { title: "

Mar 02, 2021

", tooltip: "", icon: "" }, id: 16, }, { "1": { title: "

Bid Withdrawn

", tooltip: "", icon: "" }, "2": { title: "

0xa489e9

", tooltip: "", icon: "" }, "3": { title: "

", tooltip: "", icon: "" }, "4": { title: "

1.39K= ($2.14M)

", tooltip: "", icon: "" }, "5": { title: "

Mar 02, 2021

", tooltip: "", icon: "" }, id: 17, }, ], }} /> While the often cited statistic that nearly [10% of art is fake may be exaggerated](http://www.mutualart.com/ExternalArticle/The-secret-lives-of-works-of-art--What-p/D7AA63DB3ECF5D64?utm_source=mutualart&utm_medium=referral), misattributed art and collectibles are a natural part of the art ecosystem.  Would you be able to tell if a version of the Mona Lisa was fake?  How could you prove you're the legitimate owner of a rare baseball card or Beanie baby for example? With NFTs living on public blockchains, there is an open and transparent process in which to determine who is the owner of what.  As Kyle Chayka wrote in the [New Yorker](https://www.newyorker.com/tech/annals-of-technology/how-beeple-crashed-the-art-world), "Imagine digital Beanie Babies, but with only one existing copy of each. For art works, the N.F.T. format functions a little like a museum label noting the piece’s provenance—a proprietary stamp, attached to digital pieces that can still circulate freely across the Internet." Just as downloading a song online without paying for it doesn't give you ownership, downloading an image on your desktop doesn't give you ownership rights of an image, video, or any other piece of media. A public viewable history of ownership helps strengthen the value of NFTs.  ### 2. NFTs have multiple novel use cases Beyond just art and profile pictures, NFTs have the ability to provide additional value to holders with many creators pushing the boundaries of what's possible in a short period of time.  From collectibles, to being eligible for future airdrops, to even getting access to real world venues , NFTs allow creators and collectors to engage and interact in ways that weren't necessarily possible before. In the music industry, artist 3lau recently raised eyebrows when he announced that he would be giving away royalties to his fans based on the performance of his new songs.  As [Rolling Stone](https://www.rollingstone.com/pro/news/3lau-streaming-rights-royalties-nft-crypto-marketplace-1230638/) shared in October: "He’s going to give away 50 percent of its streaming rights to 333 fans. The novel business play, the DJ/producer explains in an exclusive conversation with Rolling Stone, is designed to showcase the capabilities of Royal — a still-incomplete blockchain-powered marketplace he hustled to put together following 2021’s big NFT boom."  Another unique and powerful use case for NFTs? Events and concerts.  The recent [Bored Ape Yacht club event](https://boredapeyachtclub.com/), which was considered by most to be a massive success, was accessible through owning a Bored Ape or being one of the select few invited to the event. Owning a Bored Ape not only got you into an amazing event, but also exclusive access to network and connect with others who also owned a Bored Ape. The event included many surprise guests and A-list celebrities which was a hit among the BAYC holders.  In many cases, NFTs offer access to events and individuals that otherwise would have been inaccessible before.  For example, several lucky [NBA Top Shot](https://www.alchemy.com/dapps/nba-top-shot) card holders have [received tickets to games and signed worn jerseys](https://www.si.com/nba/2021/03/17/nba-top-shot-crypto-daily-cover). Multiple NBA stars have also engaged directly with NBA Top Shot holders to trade for a particular card as well. For NBA fans specifically, it's clear how this line of direct interaction can be massive for the sport of professional basketball.  Another NFT project "Lost Boy" was designed to raise funds for mental health and provide a safe community for those struggling in these trying times. Owning a "Lost Boy" provides holders with their own unique music track, and access to additional perks as well. As the adoption of NFTs continues to become more mainstream, there will be further ways in which holding can add value to the lives of those who invest in them.  ## 3. NFTs benefit the creator   In addition to providing utility to the holders, NFTs also present a unique opportunity for creators to thrive as well.  Using NFT marketplaces such as Opensea and likes of smart contracts, creators are able to earn royalties on their work based on each time an NFT sells, generating consistent revenue and income for creators in perpetuity. Developers of popular NFT projects also stand to benefit long term as opposed to looking to make a quick buck.   The direct access to fans who feel bought into the success of a project gives creators the ability to receive feedback from supporters. Artists, photographers, and creators who may not have had the opportunity to showcase their work at a global scale have been thrust into the spotlight largely as the results of the NFT community. 18 year old artist, Victor Langlois aka \(FEWOCiOUS\) is one of the most successful NFT artists. As [Esquire shared back](https://www.esquire.com/entertainment/a36878931/fewocious-crypto-nft-art-christies-profile/) in June, "Since breaking into the [NFT market](https://www.alchemy.com/dapps/best/nft-marketplaces) in 2020, Langlois has earned just under $18 million. His digital art work “The Everlasting Beautiful” sold for a staggering $550,000. Now he is the youngest artist ever to be featured by Christie’s and the first to crash its site—two incredible records that he reacted to in perfect, teenage fashion on a recent Zoom call: “It’s like… woah.” Not bad for an 18 year old.  NFTs have also helped Issac "Drift" Wright, a former paratrooper who quickly rose to prominence through his daring photography all over the globe. His following on social media and selling his photos as NFTs completely changed his life and he remains actively engaged in the NFT ecosystem.  "Isaac Wright is an honorably retired Army special operations veteran of six years who began shooting photography to cope with mental illness, specifically PTSD and depression. His work involves capturing the world from never before seen perspectives" says his [website](https://driftershoots.com/about/).  Photographer Justin Aversano felt the power of the NFT community who helped his Twin Flames project reach audiences around the world and ultimately land in the Christies auction house.  "Conceived as a tribute to Aversano’s twin brother, who passed away in utero, Twin Flames is a collection spanning 100 photos, each of a different set of twins. Taken around the world between 2017 and 2018, the photos showcase a wide array of subjects in the location and apparel of their respective choosing, all united by the shared attribute of being twins." - [Decrypt](https://decrypt.co/82730/how-nft-photo-sensation-twin-flames-landed-at-christies): Originally hoping to sell the project as a whole, after connecting with those involved in cryptocurrency and NFT he reconsidered.  "In 2021, Justin connected with GmoneyNFT and some of the folks involved in the CryptoPunks movement, and they encouraged him to let go of the attachment to the project as one whole. Justin tells me that he realized he could allow the project to “exist centralized in the physical world, decentralized in the digital world.” And thus, the plan to mint the images as separate NFTs was born" says One37pm.  Though still in their infancy, NFTs are allowing creators all around the globe to connect with their supporters at scale and in many cases make a living doing what they love. As the creator economy grows, so too will the many use cases of NFTs.  ## How to get involved With innovation within NFTs only just beginning, now is the time to get involved! At Alchemy, one of our primary goals is to help educate blockchain developers on the tooling available in the space, and to provide resources to help you become a better developer.  Here’s a few tutorials that might help you get started minting your own NFTs:  [How to Build an NFT](https://www.alchemy.com/blog/how-to-create-an-nft) [NFT Minter: How to Create a Full Stack dApp ](https://www.alchemy.com/blog/nft-minter-tutorial-how-to-create-a-full-stack-dapp) [How to View Your NFT in Your Mobile Wallet](https://www.alchemy.com/blog/how-to-view-your-nft-in-your-mobile-wallet) Additionally, we’ve just released an NFT API that will help you fetch this metadata without relying on the limited toolset available to you via [web3.js](https://www.alchemy.com/dapps/web3-js) or [ethers.js](https://www.alchemy.com/dapps/ethers-js)! [Alchemy’s NFT API](https://www.alchemy.com/nft-api) And finally, we're always available to help 24/7 on our [Alchemy Discord](http://www.alchemy.com/discord). Stop by and say hi - we'd love to help you on your journey to becoming a full-fledged blockchain developer! --- # How to Develop an NFT Viewer (5-Step Tutorial) URL: https://www.alchemy.com/overviews/nft-viewer.md One of the most prominent aspects of NFT smart contracts is that they do not include the artwork, images, or files themselves, but just links or URIs to them and their metadata. These tokens identify off-chain locations for such files and data, therefore the blockchain is not responsible for hosting this content. As we will see in this next section, ERC-1155 is an improvement over ERC-721 in that its code works for both non-fungible and semi-fungible tokens \(NFTs\). ### NFT viewer requirements - Node >= 16.13.x - Alchemy - React.js - TailwindCSS - [NFT Viewer GitHub repo](https://github.com/alchemyplatform/Build-Your-NFT-Explorer) ### NFT viewer tutorial Here are the steps to create an NFT viewer dapp using Alchemy. ### 1. Clone the repo To clone the NFT Viewer repository, open up your terminal and run the following command: ### 2. Install npm NPM stands for "node package manager." To install npm, simply run this command from your terminal: ### 3. Create an Alchemy account on Alchemy Create a [new Alchemy account](https://dashboard.alchemy.com/signup/?a=d30817db92) or create a new app if you're already an Alchemy developer. Once you have your app, copy your API Key. ### 4. Replace your API key in the fetNFTs.js file From there update const apiKey = "demo"; in src/utils/fetchNFTs.js with your Alchemy API Key. Then run this command in your terminal: ### 5. Enter a wallet address To view the owned NFTs of a given wallet address, simply enter the wallet's address string. For more info on this tutorial refer to [this video](https://www.youtube.com/watch?v=YehktV6LSqw)! ### Using the Alchemy NFT API The NFT API from Alchemy allows you to rapidly obtain all of the information you need about NFTs from the blockchain, and it works across Ethereum, Polygon, Arbitrum, Optimism, and Ethereum testnets. Rather than manually scanning, indexing, and storing data, you can now submit a single request to retrieve particular NFT information for both ERC-721 and ERC-1155 tokens. This includes retrieving information such as finding all NFTs held by an address or metadata/attributes for a given NFT token.  For more information check out the [NFT API documentation.](https://www.alchemy.com/docs/reference/nft-api-quickstart)  ## What are NFTs \(non-fungible tokens\)? **The term "NFT" refers to digital assets that represent real-world artifacts, such as art, music, or video game assets.**‍ Even though they've only been around since 2014, the use of NFTs to purchase and sell digital artwork continues to grow in popularity. Today there are multiple smart contract implementations for NFTs on Ethereum with the two main token standards being [ERC-721 and ERC-1155](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155). ### What are ERC-721 tokens? Since their first release as an Ethereum Improvement Proposal \(EIP\) in September 2017, ERC721 tokens, also known as Non-Fungible Tokens \(NFTs\), allow developers to tokenize ownership of any arbitrary data on the Ethereum blockchain. ERC-721 defines the minimal interface that a smart contract must technically implement. This basic interface facilitates token ownership, trading, and administration. ERC-721 does not require a token-related information standard and does not exclude the installation of functions that exceed minimum requirements. The ERC-721 token standard greatly expands the design space for tokens. Because each non-fungible token is linked to a distinct identity, they are all unique to their owner. Tokens adhering to the ERC-20 token standard on the other hand are fungible, meaning they may be used interchangeably. Dieter Shirley, the chief technology officer at [Dapper Labs](https://www.alchemy.com/dapps/dapper-labs), designed ERC-721 as a draft EIP \(Ethereum Improvement Proposal\), which ultimately served as the foundation for the game [CryptoKitties](https://www.alchemy.com/dapps/cryptokitties). Other ERC-721 authors include William Entriken, Jacob Evans, and Nastassia Sachs. ### What are ERC-1155s? **The ERC-1155 token standard is for semi-fungible tokens, and was created by a team of developers at Enjin to solve the limitations of ERC20 and ERC721 tokens.** Previously, a separate contract was needed for each fungible or non-fungible currency under ERC-20 or ERC-721 respectively. In addition, older standards restricted certain capabilities by dividing each contract into a separate address. As a result, the Ethereum blockchain is littered with unused bytecode.  ## Conclusion Although NFTs are still in their infancy, they are presenting artists with extraordinary benefits like digital ownership, new revenue streams, and enhanced community engagement. To continue learning about NFT [apps](https://www.alchemy.com/dapps/top/defi-dapps), explore related tutorials such as: 1. [How to Create an ERC-721 Token](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) 1. [How to Create an ERC-1155 Token](https://www.alchemy.com/docs/how-to-interact-with-erc-20-tokens-in-solidity) 1. [How to Batch Mint NFTs with ERC721A](https://www.alchemy.com/overviews/erc721-vs-erc721a-batch-minting-nfts) --- # What is OpenZeppelin? Developer's Guide 2023 URL: https://www.alchemy.com/overviews/openzeppelin-developers-guide-2022.md ## What is OpenZeppelin? [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) is a crypto cybersecurity technology and services company. They provide an open-source framework for building secure smart contracts as well as comprehensive security audits for some of the largest DeFi and NFT projects. Their clients include notable projects such as the Ethereum Foundation, Coinbase, and Brave.  Beyond audits, OpenZeppelin aims to bring greater security to the DeFi ecosystem by providing smart contract developers with a library of security tools. These products allow smart contract developers to focus more on deployment and less on security, allowing for faster launches and greater reliability.  Today, OpenZeppelin powers over 3,000 public projects with its products.  ## What are smart contracts? Smart contracts are programs that are stored and run on the blockchain. Like real-world contracts, they describe agreements and set rules. However, they can also automatically enforce them.  This “smart” behavior is possible because the terms of these agreements are written and executed as code on the blockchain. On Ethereum, the most popular smart contract platform, smart contracts are just like any account in that they have their own balance and can create transactions.  Other users can send and receive funds from these smart contracts as well. Unlike normal contracts, these smart contracts are generally irreversible and cannot be deleted once deployed.  Smart contracts are what enable developers to create decentralized applications and tokens. Much of the infrastructure required of decentralized finance is based on smart-contracts, making complex financial processes such as insurance or lending possible.  ## Why do we need OpenZeppelin? It goes without saying that security is key to any decentralized application.  Previously, project teams often had to write their own security infrastructure, leading to developers often “reinventing the wheel.”  While writing smart contracts from scratch can be a nice learning exercise, it can be a dangerous practice in production. For smart contracts to be secure, they must be robust and that cannot be achieved in vacuum. It takes time and usage to ensure reliability; something not achievable from the get go especially for smaller projects. With no clear standard for DeFi security, it becomes difficult to recognize a secure project. With each protocol coming with its own contract implementation, it becomes difficult to verify or recognize whether a protocol is even safe.  Additionally, given how lucrative DeFi projects can be, it's not unheard of for developers to pass on security in favor of a quick launch.  A classic example is YAM Finance, the now notorious yield farm sensation, that decided to forgo an expensive security audit. The YAM Finance protocol was created in just 10 days, and after just 48 hours after its launch it had already  accumulated $600M in assets. However, due to a security liability found in its smart contract protocol, it had to be shut down. Given that user’s funds are at stake, a lack of security adherence can become disastrous. While security audits are key to minimizing potential security vulnerabilities, they aren’t enough, especially in the case of YAM Finance. Quickly made projects like YAM are rarely going to undergo security audits given the cost, making it important for developers to have the right security tools from the start.  ## What functionality does OpenZeppelin offer? OpenZeppelin mitigates events like these by providing developers with out-of-box security tools and infrastructure. These products allow smart contract developers to continue focusing on deployment, rather than reinventing the wheel with their security infrastructure.  The OpenZepplin team likes to say a sound security foundation can now “take minutes instead of months.” OpenZeppelin has two main products, Contracts and Defender. OpenZeppelin’s _Contracts_ is a [library of secure smart contracts](https://docs.openzeppelin.com/contracts/4.x/) for Ethereum and other blockchains that developers are free to use.  These open source templates are community reviewed and use the most up to date security practices. One way OpenZeppelin achieves this is through their bug bounty hunter program where the community can be rewarded for finding security vulnerabilities in OpenZeppelin’s contracts By reusing audited OpenZeppelin contracts, projects can greatly reduce their attack surface area. Attack surface area being the number of different points where an unauthorized party could theoretically attack. Further, given their modularity and standardization, collaboration and audits are significantly easier. OpenZeppelin also provides an interactive contract generator with their Contracts Wizard. Developers can use the Wizard to create contracts using components from OpenZeppelin. Additionally, the Wizard lets you specify the type of contract \(ex. [ERC20](https://www.alchemy.com/overviews/erc20-solidity)\), parameters and features.  Once finished, the Wizard will generate the corresponding code ready to be deployed. Here are a few examples of some of OpenZeppelin’s many built-in functionalities: - **Access Control**: OpenZeppelin’s access control allows developers to easily configure essentially who is allowed to what in their system. This infrastructure is critical to the security of any project as a failure could lead to [a system effectively being stolen](https://blog.openzeppelin.com/on-the-parity-wallet-multisig-hack-405a8c12e8f7/).  OpenZepplin Contracts provides both simple single administrator ownership and flexible [Role-Based Access Control](https://en.wikipedia.org/wiki/Role-based_access_control) functionality. Using these features, developers can safely assign who can mint tokens, vote on proposals, freeze transfers, and other protected functions. - **Governance**: OpenZeppelin’s Governor contract provides an out of box governance protocol. On-chain governance is necessary for truly decentralized protocols and has become a central component to many. Community governance can decide important decisions, such as parameter tweaking, smart contract upgrades, integrations with other protocols, treasury management, grants, etc. Since OpenZeeplin’s Contracts are highly modular, changes can often be introduced by creating new modules using [Solidity](https://www.alchemy.com/overviews/solidity) inheritance, removing the need for a hard fork.  - **Tokens:** OpenZeppelin has token contracts for many of the most common Ethereum standards, such as ERC20 and ERC721. Using this infrastructure, developers can deploy their own tokens along with many other capabilities like price monitoring, specified token transfer methods, purchase authentication, etc. ‍ Defender is OpenZeppelin’s web-based security operations \(SecOps\) platform. [Defender](https://openzeppelin.com/defender/) simplifies deployment and administration of smart contracts, by helping developers automate much of the operations associated with running Ethereum decentralized applications. The platform comes with many features such as web-based back end integrations, automated tasks, and manual contract interaction. Developers can build right on the Defender platform which gives them a sound security foundation from the get-go. > “Multiple exploits we’ve seen in DeFi this year, such as those in YAM, [Uniswap](https://www.alchemy.com/dapps/uniswap), [dForce](https://www.alchemy.com/dapps/dforce), and Hegic, could have been avoided or reduced by following a careful security process, but teams lack a comprehensive system that fully informs them on security best practices and how to assess risk.” -OpenZeppelin’s Chief Technology Officer, Jonathan Alexander According to OpenZeppelin, the user funds lost major exploits like the bZx and Opyn hacks, could have been reduced with the type of quick response tool possible with Defender. ## What does OpenZeppelin achieve for DeFi?  OpenZeppelin is laying the groundwork for more secure decentralized applications, as they remove the need for developers to handle their own security. With baked-in security functionality, developers will be able to continue building fast, at no cost to security. This is incredibly important as attacks and DeFi systems become more complex. As OpenZepplin emerges as a security standard for smart contracts, it helps to minimize trust across DeFi. People often talk about 0% trust, whereas no trust is required between parties. In the case of DeFi protocols, this is unrealistic. You’re always trusting some party whether it's a team, a DAO, or an auditor. While this may sound problematic, compared to traditional banking, this is a far more transparent process, as you can still always read the code in DeFi.  Damian Bermer, CEO of OpenZeppelin, argues that we should aim towards a goal of trust minimization rather than 0%.  > Trust minimization narrows down the pieces that we are trusting and can’t see. We can see the code executed on-chain. But even with the most trust minimized DeFi platforms, what things do we still have to trust? The best way to scale DeFi is to get to a place of massive trust minimization. -Damian Bermer By providing open source security resources, OpenZeppelin is able to minimize trust for the ecosystem as less new code is created for each protocol. With security infrastructure becoming more trusted, far less certainty will remain regarding Defi projects’ security, allowing for greater adoption and scale. ## Deploy your own smart contract with Alchemy OpenZeppelin smart contracts are secure, community-vetted, and battle-tested. Sign up for Alchemy and [get started deploying your first smart contract](https://www.alchemy.com/?a=fd92c87506) today! --- # Optimism Bedrock Testnet Migration Guide (2023) URL: https://www.alchemy.com/overviews/optimism-bedrock-testnet-migration-guide.md Optimism is a layer 2 blockchain that uses optimistic rollups to help Ethereum scale. Optimism is undergoing a network upgrade to [Optimism Bedrock](https://dev.optimism.io/introducing-optimism-bedrock/), which introduces a series of performance improvements from its existing rollup architecture design.  This article explains Optimism Bedrock, how it works, and what developers can expect when Optimism upgrades their [Goerli testnet](https://www.alchemy.com/overviews/migrate-from-kovan-to-goerli-on-optimism) on **Thursday, January 12th at approximately 10 AM PT**, and when the mainnet is planned for upgrade in the weeks to follow. ## **What is Optimism Bedrock?** Optimism Bedrock is a network-wide upgrade for Optimism nodes that is designed to be the cheapest, fastest, and most advanced rollup architecture available, with support for multiple fault-proof and client implementations. ### **What improvements does Optimism Bedrock offer?** Optimism Bedrock is expected to bring a number of improvements to the Optimism mainnet. Some of the main changes and improvements that have been mentioned include: #### **1. Faster deposit transactions** Optimism Bedrock will significantly reduce the time required for deposit transactions to 2.5 minutes due to a smaller confirmation depth of 10-12 L1 blocks. This reduces the currently estimated deposit time which is roughly 10 minutes. #### **2. Lower gas fees** Optimism Bedrock introduces new changes to lower gas fees. [Optimism Bedrock’s projected transaction fee reduction](https://community.optimism.io/docs/developers/bedrock/#transaction-fees) \(20%\) is a result of calldata compression and sending transactions to Ethereum using a “non-contract address,.” Besides lowering gas fees, Optimism will also mirror Ethereum’s gas fee design by Supporting EIP-1559. #### **3. More predictable block production** Optimism Bedrock is expected to produce blocks every two seconds, compared to the current block production rate of 1 block per transaction, the same way Ethereum uses [fixed block times](https://www.alchemy.com/overviews/ethereum-commitment-levels). #### **4. Ethereum equivalence** Ethereum Equivalence means Optimism Bedrock is designed to be the most seamless rollup possible by dovetailing all of Ethereum's “code, infrastructure, and design patterns,” into the design of Bedrock. **For example, some Ethereum Equivalents in Bedrock include:** - A lightweight shim on top of Ethereum’s [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) client - Separation between [Execution Layer \(EL\) and Consensus Layer \(CL\) clients](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients) - Ability to rapidly develop and support multiple node clients \(e.g. Erigon\) - [EIP-1559 support](https://www.alchemy.com/docs/how-to-send-transactions-on-ethereum) for Optimism’s L2 execution fee - A [private mempool](https://community.optimism.io/docs/developers/bedrock/how-is-bedrock-different/#mempool) to be used by Optimism’s sequencer to process pending transactions ## **What is the Optimism Bedrock migration timeline?** The Optimism Bedrock upgrade involves several steps: 1. First, deposits and withdrawals will be paused on the legacy network 1. The legacy sequencer will start rejecting transactions 1. Then, the smart contracts on L1 will be upgraded and an irregular state transition will be performed on L2 1. Next, the Bedrock sequencer will be started up. 1. Finally, deposits and withdrawals will be re-enabled. The upgrade is expected to result in significantly reduced transaction fees, faster node synchronization, and improved block production. It is not expected to affect everyday users of Optimism, but a mainnet upgrade proposal will be submitted to the Token House for approval after a successful testnet migration. During both the testnet and mainnet upgrades there will be some downtime from infrastructure providers to upgrade nodes, however transaction history will be maintained. ## **How should Optimism dapp developers prepare for the Bedrock migration?** During a network-wide migration, developers should: ### **1. Plan for downtime** Deposits, withdrawals, and transactions in general will be paused during the upgrade process. Developers should plan for this downtime and ensure that their applications can handle it. ### **2. Confirm your dapp works on the new Bedrock Goerli Testnet** The Bedrock upgrade will introduce some changes to the way that transactions are processed, including the use of [address aliasing](https://community.optimism.io/docs/developers/build/differences/#address-aliasing) for contract deposits. Developers should familiarize themselves with these network-wide changes and ensure that their applications are compatible once the Opt-Goerli testnet is upgraded to Bedrock. By testing applications on the Bedrock Goerli testnet, developers can ensure their applications will operate as designed when the Optimism Mainnet is upgraded to Bedrock in February. ### **3. Identify product improvements afforded by Bedrock** The Bedrock upgrade is expected to significantly reduce transaction fees and improve the speed of the network. The upgrade may also introduce new features and capabilities that developers can leverage in their applications.  The Optimism team created [upgrade guides based on application type](https://community.optimism.io/docs/developers/bedrock-temp/infra/), which explains the expected impact Bedrock will have on each product type including wallets, frontend/backend engineers, infrastructure providers like Alchemy, and bridge developers. ## **Optimism Bedrock FAQs** Here are the most frequently asked questions about the Optimism Bedrock upgrade. ### **How do I upgrade to Bedrock?** If you’re an application developer, there is nothing you need to upgrade. If you are an infrastructure provider, or if you run your own Optimism nodes, follow the [Bedrock documentation instructions for infrastructure companies](https://community.optimism.io/docs/developers/bedrock-temp/infra/).  ### **If I use Alchemy, do I need to do anything to support Optimism Bedrock?** No, if you use [Alchemy's Optimism RPC endpoint](https://www.alchemy.com/chain-connect/endpoints/alchemy-optimism) there is nothing you need to do during the Optimism Bedrock upgrade. Our team of infrastructure specialists will be managing both the testnet upgrade and mainnet upgrades for you. There will be a 1-hour service pause on Thursday, January 12th, 2023 where the Optimism Goerli testnet will not be able to accept transactions for roughly one hour beginning at 10:00 AM PT while the Optimism team performs the upgrade. To follow along with the network upgrade, visit the [Optimism Status page](https://status.optimism.io). Alchemy’s JSON-RPC endpoints for Optimism Goerli will remain the same after the upgrade. You can find the full details on the chain-level changes in [Optimism’s Bedrock documentation](https://community.optimism.io/docs/developers/bedrock/how-is-bedrock-different/#json-rpc). ### **Can I continue to use my existing smart contracts after the Bedrock upgrade?** Some [JSON-RPC calls will be deprecated during the Bedrock upgrade](https://community.optimism.io/docs/developers/bedrock/how-is-bedrock-different/#json-rpc) including: `eth\_getBlockRange` and `rollup\_gasPrices`. Instead, Optimism developers are encouraged to use `eth\_getBlockByNumber` and `eth\_gasPrice` instead. Lastly, `rollup\_getInfo` will no longer return information on Bedrock. If your Optimism [apps](https://www.alchemy.com/dapps/top/defi-dapps) don’t use the aforementioned JSON-RPC calls, your existing smart contracts and applications should continue to work as normal after the Bedrock upgrade. Before Optimism upgrades their main network, it is always best to validate dapp functionality on the Bedrock Goerli testnet. --- # Optimism NFT API - Everything You Need to Known URL: https://www.alchemy.com/overviews/optimism-nft-api.md NFT collections are surging on [Optimism](https://www.alchemy.com/optimism) with more developers building new NFT [apps](https://www.alchemy.com/dapps/top/defi-dapps) on the network. These developers need NFT APIs to query the network and obtain NFT metadata to fulfill user data requests. Without proper NFT APIs, indexing and querying NFT metadata becomes a time and resource-intensive procedure for individual developers.  Learn how to start building NFT tools, marketplaces, apps, and more with Alchemy's Optimism NFT API. ## **Optimism’s NFT ecosystem** Optimism is an L2 \(layer 2\) Ethereum scaling solution, running on [optimistic rollup infrastructure](https://www.alchemy.com/overviews/optimistic-rollups). Optimistic rollups reduces the burden on Ethereum by conducting off-chain transactions, thereby offering higher transaction throughput and reduced gas fees. Optimistic rollups bundle multiple transactions into a single transaction, and sends them back to Ethereum for validation, thus enhancing network scalability.  Optimism’s in-built scalability makes it an ideal solution for developing NFT projects. Users get an enhanced experience for playing [NFT games](https://www.alchemy.com/dapps/best/web3-games) or trading collectibles with Optimism’s high-speed transactions and cheap fees.  With over 1 million NFT assets on Optimism spread over 238K NFT wallets according to the **Optimism [NFTScan](https://www.alchemy.com/dapps/nftscan-api)** website, developers require the right toolset to build NFT protocols and interact with a high volume of NFTs. Alchemy’s Optimism NFT API is a primary tool that developers need to build NFT projects for the Optimism ecosystem. ## **What is an Optimism NFT API?** The Optimism NFT API helps developers instantly fetch information from the L2 network. Developers can read block/transaction data, execute smart contracts, query on-chain information, and store data on-chain with Optimism NFT API.  Alchemy offers a [multichain NFT API](https://www.alchemy.com/nft-api) for developers that use the JSON-RPC standard APIs to interact with Optimism’s decentralized node infrastructure. Alchemy’s Optimism NFT API empowers developers to access higher request throughput, increase concurrent requests, and use free data archives, logs, and individual usage metrics. Further, the solution supports all NFTs following the ERC-721 and ERC-1155 standards, and selected NFTs that predated Ethereum’s standardized NFT contracts. Developers also get access to a broad range of NFTs and their metadata through multiple code paths. Alchemy’s Optimism NFT API can handle on-chain or off-chain NFTs in JSON, SVG, UTF-8 format, IPFS gateways like Pinata, and encoded Base64 images.  Developers can use Alchemy’s NFT API for the following purposes: - Display NFTs to users - Develop an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces)  - Design an NFT analytics protocol  - Build NFT gaming applications - Verify NFT ownership ## **How does the Optimism NFT API work?** Alchemy’s Optimism NFT API uses the following mechanisms to achieve high performance functionality: image caching, spam filters, image resizing, and clear error descriptions. ### **Image caching** Developers usually interact with decentralized storage providers like IPFS and third-party servers to access NFT media files. However, they face longer loading times and timeout errors.  Alchemy offers a low latency solution with fast loading and quick responses because it caches NFT images with Cloudinary. Thus, Alchemy can serve NFT URLs from their own cache to developers, thereby reducing response time.  ### **Spam filters** [Unwanted spam NFTs](https://www.alchemy.com/overviews/spam-nfts) can lead to scams and hinder user experiences in an NFT marketplace, gallery, or analytics platform. Developers usually have to read and parse individual smart contracts to access NFT metadata for filtering out spam NFTs. To help make things simpler, Alchemy offers the following API endpoints as NFT spam filters:  - **isSpamForContract** - checks for spam NFT smart contracts. Developers can also filter contract addresses to check for owners of spam NFTs. - **getSpamContracts** - returns the list of spam ERC-721 and ERC-1155 smart contracts of a particular network. Developers can use Alchemy’s spam filters to send spam NFTs for burning or flag wallet addresses that send spam NFTs. By August 2022, Alchemy NFT API had marked 5,000 smart contracts as spam NFTs. **Alchemy uses the following criteria to identify spam NFTs:** 1. Breaks ERC-721 and ERC-1155 token standards 1. Breaks token standards during token transfers 1. Mint tokens to honeypot addresses like vitalik.eth 1. Provides false data about the total token supply ### **Image resizing** NFTs need different image sizes for thumbnails, smartphones, desktops, and tablet viewports. Developers can resize Alchemy-hosted NFTs by changing URLs to include any combination of height and width pixels to create the aspect ratio. Thus, Alchemy makes image resizing easier for NFT developers.       ### **NFT errors** Although Alchemy’s NFT API returns most NFT metadata, it fails to fulfill the request in the following instances:   - **Token does not exist** - Alchemy uses a token ID to call the tokenURI/uri method, but the smart contract cannot recognize it. It either means the token isn’t minted yet or it doesn’t exist. - **Malformed token URI** - tokenURI/uri returns a ‘malformed’ or invalid website, and therefore cannot access the website to return metadata. - **Failed to get token URI** - generic error message when the token ID doesn’t return any metadata, even if the token exists. - **Token URI returns a non-200 response code** - this error shows when the URI returns a ‘502 Bad Gateway’ message if the website is down or it rate-limits Alchemy servers. - **Throttled token URI** - this error returns a ‘429 Too Many Requests’ message, indicating Alchemy has requested metadata too frequently, thereby getting rate-limited. - **Contract does not have any code** - this error shows when a token address doesn’t have a corresponding smart contract code on the blockchain network. - **Contract returned a broken token URI, do not retry** - this error message shows when the tokenURI doesn’t respond because the website URL may not exist, or lacks DNS setup.  ## **Optimism NFT API supported methods** Alchemy’s Optimism NFT API helps developers to build Optimism NFT apps with the following categories of [NFT API endpoints](https://www.alchemy.com/docs/reference/nft-api-endpoints):  ### **Optimism NFT ownership and token gating** - **getNFTs** - get Optimism NFTs owned by a wallet  - **getOwnersForToken** - get Optimism owners for a token  - **getOwnersForCollection** - get Optimism NFT owners for collection - isHolderOfCollection - check if the Optimism wallet holds an NFT - **getNFTsForCollection** - get NFTs for Optimism NFT collection ### **Optimism NFT metadata** - **getNFTMetadata -** get Optimism NFT metadata - **getContractMetadata** - get Optimism NFT smart contract metadata ## **Optimism NFT API examples** Alchemy’s [getNFTs is a versatile NFT API endpoint](https://www.alchemy.com/overviews/getnfts) is a versatile NFT API endpoint, enabling developers to use it in multiple NFT protocols. To understand how the getNFTs API endpoint functions, consider the following examples. ### **1. Optimism token gating** When developers build an NFT marketplace, they design a user profile page that displays user-owned NFTs. Developers can use the Optimism NFT token gating tool, [isHolderOfCollection](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/is-holder-of-collection), to fetch NFTs from a particular wallet address is they hold a particular token from a specified collection. ### **2. Optimism NFT analytics tool** NFT analytics tools like rarity ranking websites or aggregators require NFT metadata to create lists and obtain trading data. Developers can use the Optimism NFT metadata API, [getNFTMetadata](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/get-nft-metadata), to retrieve the on-chain metadata used in NFT analytics tools.   ### **3. Optimism NFT airdrop lists** An NFT project hires developers to airdrop new NFTs to owners of a specific NFT. Without an API, developers have to parse the whole blockchain to trace NFT asset ownership. However, Alchemy’s Optimism NFT collection API, [getOwnersForToken](https://www.alchemy.com/docs/data/nft-api/api-reference/nft-api-v-2-methods-older-version/get-owners-for-token), enables developers to instantly identify owners and create the airdrop list. Developers can also use this API to verify asset ownership when users want to put up a particular NFT as their profile picture. ## **How to start building with the Optimism NFT API** Instead of running your own Optimism node, it’s easy to [create a private Optimism node on Alchemy](https://www.alchemy.com/overviews/optimism-node), and then follow three easy steps to start building with Alchemy’s Optimism NFT API:  1. **Choose a package manager** - use a package manager like **npm** or **yarn** 1. **Setup the repo** - open a terminal to create a new repository from the command line for the quickstart scripts 1. **Choose a library** - install the [Alchemy SDK](https://www.alchemy.com/docs/alchemy-quickstart-guide) to interact with the Optimism NFT API Although developers can use Fetch and Axios, [the quickest way to start using the Optimism NFT API](https://www.alchemy.com/optimism?a=ef68f81fd0) is with Alchemy’s SDK because it offers better facilities with WebSocket support, retries, and many other benefits.      ## **Use the best Optimism NFT API with Alchemy** During the 2021 bull run, the NFT market surpassed $40 billion according to Bloomberg. Although the NFT sector is currently going through a tough bear market phase, NFT technology holds immense potential for future growth.  Therefore, builders will need the right NFT developer tools to create their NFT apps on the scalable Optimism network. [Create a free account on Alchemy](https://www.alchemy.com/optimism?a=ef68f81fd0) and start building NFT apps with Alchemy’s free NFT API. --- # Which Optimism node is best? Public, Private, or Self-Hosted URL: https://www.alchemy.com/overviews/optimism-node.md To retrieve data from Optimism, dApp’s need to send requests through RPC nodes. In this article, we will explore the different types of nodes available to support [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) on [Optimism](https://www.alchemy.com/layer2/optimism).  ## What is Optimism? Optimism is an Ethereum layer 2 \(L2\) scalability solution that leverages the power of optimistic rollups to enable up to 2,000 transactions per second. Optimism designed and maintains their blockchain with a clear set of core design values. 1. Simplicity 1. Pragmatism 1. Sustainability 1. Optimism ### What is an optimistic rollup? An [optimistic rollup](https://www.alchemy.com/overviews/optimistic-rollups) uses the security of Ethereum to improve throughput and latency on Ethereum’s base layer by moving computation and data storage off-chain. Optimism creates a rollup of many transactions made on their layer 2 chain, bundling them as one. Then, the [rollup protocol](https://community.optimism.io/docs/protocol/2-rollup-protocol/) optimistically assumes the validity of all these transactions and submits rollup to the Ethereum L1 chain. ## What are Optimism nodes? An Optimism node is a program running on a single computer that allows builders and traders to connect with the rest of the Optimism blockchain network. There are two main components involved with Optimism nodes: the Data Transport Layer and the Client Software.  ### **Data transport layer \(DTL\)** The **Data Transport Layer** serves as a contact between Optimism and Ethereum. Hosted on Ethereum is a smart contract — the _CanonicalTransactionChain_ \(CTC\) contract — containing a list of all the blocks published to the Optimism blockchain. The DTL regularly constructs the Optimism blockchain on a node by retrieving blocks previously published to the CTC. Without the DTL, Optimism nodes would not be able to stay up to date with blocks constructed by the L2 optimistic rollup. ### **Client software** Running next to the Data Transport Layer is the **Optimism client software**. The Optimism client is nearly identical to a vanilla version of [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one), or Go Ethereum – the most widely used [Ethereum client](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients). As such, internally, Optimism is very similar to Ethereum, allowing shared EVM, identical accounting structures, gas metering, and more. A huge benefit of developing on Optimism is that most tools that work on Ethereum will also work on Optimism, with little-to-no code changes. ## Why do you need an Optimism node? Building an Optimism application requires publishing transactions through the optimistic rollup, to the CTC. Additionally, Optimism nodes allow [apps](https://www.alchemy.com/dapps/top/defi-dapps) to retrieve data about Optimism’s blocks. To support a high-performing dApp on Optimism, a well-functioning node is a must-have. ## Types of Optimism nodes There are several options for connecting your dApp to an Optimism node including private Optimism nodes, using Optimism's public RPC node endpoint, and running your own, self-hosted node. Most Optimism developers will use a private RPC endpoint from an Optimism node provider like Alchemy because Public endpoints and self-hosted nodes have numerous downsides including lower throughputs, higher setup costs, and more engineering maintenance support required. ### 1. Public Optimism nodes Alchemy manages [Optimism's primary public endpoint](https://community.optimism.io/docs/useful-tools/networks/#optimism-mainnet) and it can be accessed using this endpoint URL: https://mainnet.optimism.io. Although there is support for public endpoints, Optimism emphasizes that public RPC endpoints are not at all suitable for production use. The public Optimism endpoints will rate-limit applications, and often only support limited JSON-RPC methods. ### 2. Private Optimism node provider If the lack of throughput of Optimism's public node is limiting your application or trading, a private Optimism RPC endpoint from a [dedicated Optimism node provider](https://www.alchemy.com/overviews/blockchain-node-providers) will give engineers access to reliable and scalable Optimism nodes. Alchemy is [Optimism's recommended node provider](https://community.optimism.io/docs/useful-tools/providers/#). Along with the most reliable Optimism node performance in web3, Alchemy providers Optimism developers with a range of a host dev tooling including, Alchemy Build, Monitor, and [Optimism webhooks](https://www.alchemy.com/overviews/optimism-webhooks), which are all designed to give you the best Optimism developer experience. #### How to start using a private Optimism RPC endpoint with Alchemy Alchemy offers a robust free tier, allowing you to get started with a reliable [private Optimism RPC endpoint](https://www.alchemy.com/overviews/private-rpc-endpoint). To create a new Optimism app in Alchemy: 1. Sign up to [create a Free account](https://dashboard.alchemy.com/signup/?a=2b2fa82d19) or sign into your existing account 1. Click the "Create App" button at the top right of the dashboard Now fill out the following fields including: 1. Naming your app 1. Writing a description 1. Choosing "Optimism" as your "Chain" 1. Selecting "Optimism Mainnet" as your Network If you want to create or [migrate an application on Optimism's Goerli testnet](https://www.alchemy.com/overviews/migrate-from-kovan-to-goerli-on-optimism), you can chose the testnet in the "Network" dropdown menu. Next, **Click the "View Key" button** on the dashboard to view your HTTPS key and begin sending requests to your new node! Now, replace your Optimism RPC URL in your application to start sending traffic through a dedicate Optimism endpoint provided by Alchemy. ### 3. Self-hosted Optimism nodes To have complete control over their node's configuration and implementation, developers may choose to [run their own Optimism nodes](https://www.alchemy.com/overviews/running-your-own-node) \(i.e. self-hosted nodes\). The first step in setting up an Optimism node is deciding on your node’s hardware. For this, Optimism recommends systems with: 1. At least 16GB RAM 1. An SSD \(Solid State Drive\) with at least 100GB free space After deciding on hardware, Optimism provides directions for two methods to set up your self-hosted node: a configuration using Docker, and a configuration without Docker. Below are summaries of the two approaches to setting up an Optimism node. If you decide to set up a node, follow Optimism’s [node configuration instructions](https://community.optimism.io/docs/developers/build/run-a-node/). #### 1. Docker configuration Optimism’s recommended method for setting up a self-hosted node is to use their provided [Docker images](https://hub.docker.com/u/ethereumoptimism). By using a Docker image for your node setup, you get to skip many configuration steps as the images already have most configuration settings. **Here is a high-level overview of the steps using a Docker configuration:** 1. Clone the node Github [repository](https://github.com/smartcontracts/simple-optimism-node) on your machine 1. Configure the node settings 1. Run your self-hosted Optimism node For step two, you will have to provide multiple other nodes, another L2 Optimism node and an L1 RPC node. The secondary L2 Optimism node that will be used by your Optimism node to verify its correctness, and Ethereum \(L1\) RPC node is used for checking your node’s state roots, and to download L2 blocks from L1 via the CTC \(_CanonicalTransactionChain_\) Optimism recommends that these supporting nodes are from RPC providers. Using this Docker configuration, your node will benefit from a number of additional features to help you maintain the node.  ##### How does the healthcheck service work? The healthcheck service will regularly compare your node state to the state of the reference node — confirming your node is syncing properly. A fault detector will scan transactions from the Optimism sequencer and compare the results against transactions computed on your node. Lastly, a locally-hosted dashboard will give you easy access to basic node metrics including fault data, DTL syncing, and more. #### 2. Non-Docker configuration If the preconfigured Docker images do not offer enough customization for you, Optimism also describes the framework for setting up a node independently. However, they do not recommend setting up a node this way.  While these instructions are tested, they are not as robust as the Docker configuration. This method comes with the risk of setting up poorly functioning nodes. A summary of the instructions is below.  1. **Install the packages and tools needed to run an Optimism node** The packages and tools you need to install are: - ‍**Libusb** - a library Geth uses to check for hardware wallets - **Node.js** - a Javascript runtime - ‍**Yarn** - a popular Node.js package manager - **Go** - the programming language 2. **Set up the Data Transport Layer** DTL is the first piece of your node software. Here you will download the source code, edit its configuration, and run the layer.  As is the case with the Docker configuration, here you will need to provide your self-hosted Optimism node with another node so it can sync its blocks. Once running, manage the DTL to make sure it’s syncing correctly with Optimism. 3. **Set up the Optimism client** Setting up your Optimism client is the second component of your self-hosted node. You must compile the source code, download and verify the state from Optimism’s genesis, create and configure its environment, run the configuration, and finally start the client.   Running self-hosted nodes is an alternative option for expert web3 developers who want more control over their Optimism node configuration. However, choosing to launch and manage a self-hosted node is more expensive and time-consuming than using an Optimism node provider and developer platform like Alchemy. ## Which type of Optimism node is best for me? In the majority of circumstances using a private Optimism endpoint through Alchemy is the best option. Public Optimism endpoints should not be used for production traffic, and unless you are an expert infrastructure engineer, you should not manage your own Optimism node. Even if you are a casual trader or dApp user on Optimism, [updating your MetaMask wallet with a dedicated Optimism endpoint](https://www.alchemy.com/docs/reference/optimism-api-quickstart#optimism-tutorials) can provide faster and more reliable service. [Get started](https://www.alchemy.com/layer2/optimism/?a=2b2fa82d19) today with the most robust, free Optimism node provider tier in the market, and unleash the full power of your dApp with Alchemy. --- # What is the Superchain? A Deep Dive Into OP Stack Rollups URL: https://www.alchemy.com/overviews/optimism-superchain-op-stack-guide.md The **Optimism Superchain** is a growing family of [OP Stack](https://www.alchemy.com/dapps/op-stack) rollups. These are Layer 2 chains that help Ethereum handle more transactions while keeping everything secure and working well together. The **OP Stack** is like a shared toolkit that helps all these chains work in similar ways, making them easier to use for both developers and users. This article looks at how the Superchain is built, how it helps different chains talk to each other, and how projects can create their own Layer 2 rollups using Alchemy's tools. ## **What is the Optimism superchain?** The Optimism Superchain connects many Layer-2 solutions \(L2s\) that are built using the OP Stack. All chains in this network share important features like bridges, governance, upgrades, and security with **Optimism Mainnet****.** Think of the Superchain as a family of blockchains that all follow similar rules. This makes it easier for everyone to use the same tools, even though each chain can be set up differently. Using the OP Stack helps reduce risks and makes development easier for everyone in the network. When all these L2 chains share security systems, communication methods, and open-source technology, they become more like interchangeable parts of a bigger system. For users, this means it doesn't matter much whether they're using Chain A or Chain B - the experience feels similar. The goal is to make moving between chains so smooth that users feel like they're using one big "Superchain" rather than many separate [blockchain networks](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains). Many Superchain Layer 2s, including Base, Ink, [Soneium](https://www.alchemy.com/soneium), Unichain and World Chain, rely on infrastructure providers like Alchemy to deliver developer tools, APIs, and scalable L2 node support. The Optimism Superchain is leading the way in Optimism's plan to help Ethereum handle more transactions. For new rollups, it’s a chance to launch with fewer technical hurdles by plugging into shared tools, bridges, and upgrades. And because all chains in the Superchain follow the same basic structure, the Superchain aims to scale Ethereum while removing fragmentation.  ## **How does the superchain work?** **The Superchain works by having all its chains use the same bridge contract that connects with Ethereum**. This means that tokens sent to any OP Chain have the same security protections. **The Superchain at a Glance** Because all OP chains use the same bridge contract, the entire Superchain uses Ethereum as its foundation and final settlement layer. With Ethereum serving this role, any node on any OP chain can check transaction ordering across all OP chains. In simple terms, OP Chain 1 can verify if a transaction happened on OP Chain 4 by checking Ethereum timestamps. This shared transaction ordering across all chains is essential for keeping the network secure and making chains work well together. ## How does the OP stack work? To understand the Superchain, it’s important to know that the **OP Stack** is the modular toolkit that powers all chains in the Optimism Superchain. It's built in layers that work together like building blocks, making it flexible for different needs while keeping all chains compatible. The OP Stack has five main layers: - **Sequencing**: This part collects and organizes user transactions. Right now, each chain typically has one sequencer handling this job, though this may change as the system evolves. - **Data Availability**: This is where all the raw transaction data is stored. Most OP chains use Ethereum for this, ensuring everything is traceable and secure. - **Derivation**: This layer takes the raw data and prepares it for processing. It uses rollup technology to bundle transactions efficiently. - **Execution**: This is where transactions actually happen and change the blockchain's state. It uses the same [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) as Ethereum, making it compatible with existing apps. - **Settlement**: This layer helps other blockchains verify what's happening on an OP Stack chain. It uses a system called "attestation-based fault proof" to ensure everything is legitimate. Alchemy provides robust support for developers working with the OP Stack through its Rollups-as-a-Service \(RaaS\) platform. When building on any Superchain rollup, developers can leverage Alchemy's tools to interact with each layer of the stack more efficiently, reducing the technical complexity of launching and maintaining OP Stack-based chains. ## **Configurable OP chain characteristics** Let's look at how OP chains can be customized to fit different needs. ### **1. Configurable options** With the [**Optimism Bedrock upgrade**](https://www.alchemy.com/overviews/optimism-bedrock-testnet-migration-guide), each OP chain can choose its own settings. These include: - Which data availability \(DA\) provider to use. - What type of rollup to be \([ZK-rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) or [optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups)\). - Which sequencer address to use \(currently limited to one sequencer per chain\). All these custom settings are stored on Ethereum in Optimism's bridge contracts. This includes things like chain ID, gas limits, and data availability addresses. ### **2. L2 bridge contract** Once these settings are stored on Ethereum, a factory function can set up the L2 bridge contract on the new OP chain. This means developers can create their own custom OP chain without having to write bridge contracts from scratch. As a bonus, all chains in the Superchain inherit the same security standards. The L1 bridge contracts \(on Ethereum\) that all OP chains share are owned by the Optimism Collective and can be upgraded when needed. ### **3. Custom sequencer** Each OP chain can choose its own sequencer, which helps make the system more decentralized and resistant to censorship. If a sequencer acts badly and tries to block transactions, developers can bypass it by submitting directly to the OP Chain's L1 inbox, keeping the network accessible and fair. ## **How does the Optimism superchain interoperate with other L2s?** Once an OP chain's settings are synced, an [**Optimism node**](https://www.alchemy.com/overviews/optimism-node) can figure out the state of that chain in a [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains) and secure way. This allows different chains in the Superchain network to communicate easily. Thanks to the factory function and shared bridge contracts, Optimism nodes can calculate any connected OP chain's state as long as they have a connection to an L1 node. This enables messaging between all the chains in the Superchain network. The Superchain uses tools like the OP Supervisor to help OP Stack chains read each other's state. This connection allows for easy transfer of tokens and data between chains. To learn more about cross-chain messaging and transfers, including using the SuperchainERC20 standard, click [here](https://docs.optimism.io/interop/compatible-tokens). This has many useful applications. For example, a DeFi app on one OP Chain could access liquidity from many other OP chains. This increases interoperability and available funds for chains built with the OP Stack. ## **Projects building on the Optimism superchain** The Optimism Superchain has gained strong support from L2 developers, especially after [Coinbase](https://www.alchemy.com/dapps/coinbase) launched its L2 solution called Base. This Ethereum Layer 2 rollup shows how the OP Stack can be used for mainstream applications and sets an example for others to follow. Beyond Base, the Superchain ecosystem continues to grow with innovative chains like Ink, Soneium, Unichain, and [World Chain](https://www.alchemy.com/case-studies/scaling-world-chain). These projects use Alchemy's tools and infrastructure for their development. Alchemy provides reliable APIs, developer tools, and node infrastructure that these chains need to perform well. As more projects join the OP Stack framework, users can move easily between chains, and developers can focus on building great applications instead of worrying about the underlying technology. This is helping Ethereum's Layer 2 scaling solutions grow faster than ever. Interested in launching your own OP Chain? Ambitious teams choose Alchemy for key reasons: - Reliable infrastructure trusted by the biggest names in Web3. - White-glove support and expert guidance every step of the way. - Access to 100\+ APIs, Smart Wallets, Account Abstraction, and more, all instantly available on your chain. Explore Alchemy's complete rollup platform for ambitious teams: alchemy.com/rollups ## **FAQ** ### What is the OP stack? The OP Stack is a modular framework that allows developers to build standardized Layer-2 rollups that remain Ethereum-compatible while enabling customization.  ### What is the superchain? The Optimism Superchain is a network of Layer-2 rollups built with the OP Stack that share security, bridging, governance, and upgrades while working together smoothly. ### How does the OP stack support superchain rollups? The OP Stack provides a standard framework so rollups can share the same bridge to Ethereum, allowing for unified security, transaction ordering, and easy cross-chain messaging. ### Can I build OP chains with Alchemy? Yes, you can build and deploy OP Chains using Alchemy's comprehensive developer tools, APIs, and node infrastructure specifically designed for the Superchain ecosystem. ### Is Alchemy compatible with other OP stack chains? Yes, Alchemy is fully compatible with other OP Stack chains. --- # How to Use Webhooks on Optimism URL: https://www.alchemy.com/overviews/optimism-webhooks.md If you want your web3 application to communicate with third-party apps or services, you’re going to love webhooks. In this tutorial, we’ll learn how to set up and use webhooks on [Optimism](https://www.alchemy.com/layer2/optimism/?a=a40402f9aa). Then we’ll show you how you can set up automated notifications for sending and receiving ETH on Optimism in Slack. ## What is a webhook? [**Webhooks**](https://www.alchemy.com/overviews/what-is-a-webhook) are tools web3 developers can use to allow third-party apps or services to communicate with applications when an event occurs.  This technology is more efficient than continuously polling nodes to check if a particular state has changed via an API, as webhooks allow these servers to push notifications to the app at the time of the event. [Alchemy webhooks](https://www.alchemy.com/docs/reference/notify-api-quickstart) have a lot of potential to improve the user experience and drive the engagement of web3 applications and services, such as tracking NFT sales in a Discord channel or sending wallet activity to a Slack channel. ## What Optimism events can be tracked with webhooks? **There are three types of Optimism events we can receive notifications for via Alchemy webhooks:** 1. Mined transactions - a transaction is completed 1. Dropped transactions - a transaction fails or is dropped from the mempool 1. Address Activity - tokens are received or transferred For this tutorial, we will be tracking _Address Activity_ events, where we’ll receive Slack notifications for sending and receiving ETH on Optimism.  ## How to set up Optimism webhooks Here is the 10-step process for setting up Optimism webhooks and automating notifications to Slack. This process can be followed for many other 3rd-party platforms supported by Zapier like Discord, Twitter, and more! ### 1. Create an Ethereum wallet We need an Ethereum wallet to send and receive transactions. For this tutorial, we’ll use **[MetaMask](https://www.alchemy.com/dapps/metamask)**, a browser-based digital asset wallet to manage Ethereum accounts. [Download MetaMask](https://metamask.io/download.html) and create a free account ### 2. Sign into Alchemy To make things easy, [sign up for a free Alchemy developer account](https://dashboard.alchemy.com/signup), so you can communicate with the Ethereum chain without having to run your own nodes. ### 3. Create an API key Next, create a new app to generate an API key and to [connect to the Optimism test network](https://www.alchemy.com/docs).  Navigate to the _Create App_ page in your Alchemy Dashboard by hovering over _Apps_ in the navbar and click _Create App._ Name your app \(we chose “optimism_webhooks”\), and write a short description.  Next, select _Optimism_ for your chain and choose _Optimism Goerli_ for your network. Then, click _Create app._ Now, click on the newly created app link under _Apps_ and click _Add to Wallet_. You should now be connected to Optimism Goerli testnet on Metamask! ### 4. Get Testnet ETH from Goerli faucet To deploy your smart contract to the Optimism test network, [get ETH from a Goerli faucet](https://www.alchemy.com/overviews/goerli-faucet). First, change your MetaMask network to Ethereum Goerli, and then click _Claim_. Then, you should see 0.05 ETH in your MetaMask account on the Goerli testnet. ### 5. Bridge Goerli ETH to Optimism-Goerli Testnet There is no public bridge to transfer Goerli ETH to Optimism yet, but it can be accomplished using [Cast from Foundry](https://github.com/foundry-rs/foundry/tree/master/cast), a toolkit for Ethereum application development. **Use this code snippet:** `cast send --legacy --rpc-url=$ALCHEMY-OPT-GOERLI-ENDPOINT --value=0.001ether --private-key= 0x636Af16bf2f682dD3109e60102b8E1A089FedAa8` Now that you have Goerli ETH on the Opt-Goerli testnet. ### 6. Create a zap and an Optimism webhook URL Now, [create your Zapier account](https://zapier.com/sign-up) or log into your account if you already have a Zapier account. Next, in the dashboard, click _Create Zap_ in the top left corner. We will now create the webhook URL for sending the webhook response from Alchemy to Zapier. Under _Trigger_, search and select _Webhooks by Zapier_ as the app event/trigger. For the _Trigger Event_, select _Catch Hook_ since Zapier is waiting for Alchemy’s address activity webhook to send the event data to the URL whenever a transfer occurs. Click _Continue_ to the _Set up trigger_ section and copy the _Custom Webhook URL_. ### 7A. Create an Optimism webhook Now, we need to create the address activity webhook to track transfer events and send that data off to the Zapier webhook URL. We will show two ways that you can set up the webhook, first from Alchemy’s **Notify tab** within the dashboard, and second programmatically by using **Alchemy’s Notify API** \(recommended for dealing with address activity webhooks for 10\+ addresses\). 1. Make sure you are in the _Ethereum \+ L2_ ecosystem on the upper left of the Alchemy dashboard 1. Navigate to the Notify tab and click _\+ Create Webhook_ button in the *Address Activity* section 1. Select _Chain_ to be _Optimism_ 1. Select _Network_ to be *Goerli* 1. Paste in the webhook URL you copied from Zapier in the last step 1. Paste your MetaMask wallet address into the _Ethereum Addresses_ section. NOTE: If you want to test if the Alchemy webhook successfully sends requests to Zapier’s webhook URL before confirming the creation, click on _Test Webhook_ next to the webhook URL. Or if you have already created the webhook but want to test again, click on the three dots by your webhook and select _Send Test Notification_. Now, go back to Zapier and continue to the _Test trigger_ section, and click _Test trigger_. If you see a “We found a request message,” congratulations! ### 7B. Create an Optimism webhook using notify API If you want to create webhooks for multiple Optimism addresses, usw the[ Notify API](https://www.alchemy.com/docs/reference/webhooks-overview). To get started, copy your Alchemy authentication token \(X-Alchemy-Token\) from the upper right corner of your Notify dashboard under the _AUTH TOKEN_ button. Then, navigate to your command line and type the following: `*curl https://dashboard.alchemy.com/api/create-webhook \` `*-X POST \` `*-H "X-Alchemy-Token":"your-X-Alchemy-Token" \` `-d '\{"network":"OPT_KOVAN","webhook_type":"ADDRESS_ACTIVITY","webhook_url":"your-Zapier-Webhook-URL", "addresses":["your-Ethereum-Address"]\}'`` ` Remember to use your own _your-X-Alchemy-Token_, _your-Zapier-Webhook-URL,_ and _your-Ethereum-Address_ \(aka, the wallet address you pasted\), and you can add as many Ethereum addresses as you’d like to track their transfer events. After refreshing, you should see the newly created address activity webhook appear in your Notify dashboard with all your specified parameters. ### 8. Parse Optimism webhook responses in zapier Given the webhook response from Alchemy, we need to parse it in Zapier to create an action that sends an alert whenever our Optimism address successfully sends a transaction. Under the _Action_ section, select the _Filter_ option on the right-hand side. In _Filter setup & testing_, we want to continue if the _Event Activity From Address_ \(or you can simply search for _fromAddress_\) _\(Text\) Exactly matches_ our Optimism address \(paste it into the last text field\). If you click _Continue_ and find that “Your Zap would not have continued,” don’t worry! The test notification was not sent from the wallet so this message is expected. ### 9. Integrate your Optimism webhooks with slack First, let’s create a Slack account and workspace. Create an account on [Slack](https://slack.com/) or log into your account if you already have one. Then, create a new workspace. We named ours _Optimism Wallet Alerts_, but feel free to use your own creativity! #### Handle alerts for sending tokens Next, we want to send a message if our wallet is the sender of a **transfer** **event**.  1. Click _“_\+” at the bottom 1. Search for and select _Slack_ in the new _Action_ section 1. For the _Action Event_, choose _Send Channel Message_ 1. After clicking _Continue_, sign in to your Slack account 1. Fill out the fields to send our message in the _Set up action_ section 1. Select the channel you want the alerts to be sent in \(_Optimism-Wallet-Alerts_ in our case\). In the message text, you can get creative and choose what fields and values you want to send. We chose these fields: You can leave everything else on the default option. Click _continue_, then _test and continue_. If no errors pop up, that means we’re good to go! A Slack message should have been made on your account. Now, publish the Zap.  Congrats! Now, whenever your Optimism wallet sends out a transaction, our Zap will send a message detailing that transaction. You can also view the run details of your Zap on the Zap History page in the Zapier dashboard.  ### 10. Send a message to handle receiving tokens on Optimism We also want to send alerts when our wallet is on the receiving end of an Optimism transaction.  First, edit the _continue only if_ action. Click on _Filter Setup & Testing_ and press the “\+ or” button, filling in _Event Activity To Address_ \(or you can simply search for _fromAddress_\) and _\(Text\) Exactly matches_ our Optimism address \(paste it into the last text field\). Sweet, now our Zap will run when the Wallet is also a recipient! Next, let’s create a _Code by Zapier_ action between our _Only continue if…_ and _Send Channel Message in Slack_ actions. You can choose either _Run Python_ or _Run Javascript_. We will choose the latter but the logic works the same for Python. After clicking _Continue_, we will set up our input data under _Set up action_ as follows: We are parsing through the webhook response again because our current notification is only written for when our wallet **sends** ETH. Therefore, we need to customize them for when our wallet **receives** ETH. In the code block, paste in the following code \(read the comments to see what each line means\): `// Since JavaScript is case-sensitive, we will be comparing addresses in upper case const address = "Wallet-Address".toUpperCase\(\); // Define Account 1 \(Our wallet\) let account\_1 = ""; // Define Account 2 \(the user our wallet is sending to / receiving from\) let account\_2 = ""; // Define to use "to" or "from" in message let t\_or\_f = ""; let f\_or\_t = ""; if \(inputData.fromAddress.toUpperCase\(\) == address\) \{     // If Wallet is sending, then it is the fromAddress     account\_1 = inputData.fromAddress;     account\_2 = inputData.toAddress;     t\_or\_f = "from";     f\_or\_t = "to"; \} else if \(inputData.toAddress.toUpperCase\(\) == address\) \{     // If Wallet is receiving, then it is the toAddress     account\_1 = inputData.toAddress;     account\_2 = inputData.fromAddress;     t\_or\_f = "to";     f\_or\_t = "from"; \}` `//` Output the fields to be used in email `output = \[\{account\_1: account\_1, account\_2: account\_2, t\_or\_f: t\_or\_f, f\_or\_t: f\_or\_t\}\];` Again, remember to **replace Wallet-Address** with your MetaMask wallet address. When testing the action, don’t worry if it doesn’t assign anything to the output variables. Lastly, go to the _Send Channel Message in Slack_ action and click on the _Set up action_ section. We will now replace the generic fields from the webhook response in the message text with the more dynamic outputs from our Javascript code, which are customized depending on whether our Wallet sent or received tokens: Click _Continue_ and test your action. Then publish! Congrats! You just finished creating Optimism webhooks! --- # How Do Optimistic Rollups Work (The Complete Guide) URL: https://www.alchemy.com/overviews/optimistic-rollups.md Once considered a fringe idea, Ethereum—the world’s first smart contracts platform—has grown considerably over the years, and now hosts nearly 3,000 [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps), 4,000\+ smart contracts, and over 90,000 transactions daily.  But the increased activity on Ethereum has come with a cost: scalability. Limits on block sizes and block times, although necessary for decentralization and security, reduce Ethereum’s capacity to scale and accept more users. The end result is a collection of problems most Ethereum users are familiar with—namely, high gas fees and slow transactions.  [Scaling Ethereum](https://www.alchemy.com/overviews/ethereum-scaling-solutions) safely requires increasing its ability to scale network throughput and latency without introducing trust assumptions. This is what several scaling solutions such as [Layer 2 rollups and sidechains](https://www.alchemy.com/overviews/sidechains-vs-layer2s) attempt to do. This article explores Optimistic Rollups \(ORUs\), a class of L2 rollup solutions designed to make using Ethereum cheaper and faster.  ## What are optimistic rollups? ‍**Optimistic rollups are a layer 2 \(L2\) construction that improves throughput and latency on Ethereum’s base layer by moving computation and data storage off-chain.** An optimistic rollup processes transactions outside of [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum), reducing congestion on the base layer and improving scalability.  The “optimistic” label points to a distinctive feature of optimistic rollups: they publish little information about transactions on-chain and automatically assume all transactions are valid. They are called “rollups” because they aggregate \(“roll up”\) thousands of transactions into batches before submitting them on Mainnet. ## The architecture of an optimistic rollup  #### 1. Entering the optimistic rollup Optimistic rollups use smart contracts deployed on Ethereum to manage the interaction between the L2 chain and the L1 blockchain \(Ethereum\). Rollup users must deposit funds into one of these smart contracts before getting an equivalent amount unlocked on the rollup.  A third party, known as a _sequencer_, credits the user with funds on the rollup after receiving proof of the latter’s deposit in the rollup contract. The user is then free to transact freely on the rollup until they exhaust their balance.  #### 2. Using the optimistic rollup On the rollup, users sign transactions and submit them to the sequencer who’s responsible for ordering and executing transactions. The sequencer verifies transactions, compresses the data into a block, and submits the batch to Ethereum as a single transaction. This is another area where the rollup contract comes into the picture. The on-chain contract stores a “state root”, which is a Merkle root of the rollup’s state. Let’s break this down further: ##### **State** _State_ is a concept referring to the available information about a network at a specific point in time. The “rollup’s state” describes the L2 chain’s present condition and specifies details, like existing accounts, balances, smart contracts, and so on.  Every transaction performed on the rollup causes a change in its state—for example, Alice’s balances will decrease after she sends 5 ETH to Bob. Thus, transactions are called _state transitions_ since the rollup moves from an old state to a new state after executing a transaction. ##### Merkle root A [Merkle root](https://www.alchemy.com/docs/web3-glossary) enables users to encode large amounts of information using cryptographic hashes. Merkle roots also make it easier to check if a piece of data \(e.g., a transaction\) is part of a larger dataset \(e.g., a batch of transactions\).  Therefore, the “state root” stored in the rollup contract is a cryptographic commitment verifying the rollup’s status at different points in time. When a sequencer submits a batch of transactions to the rollup contract, it must include a _pre_-state root and a _post_-state root.  1. Pre-state root: The _old_ state root, which describes the rollup’s condition before the submitted transactions were executed. 2. Post-state root: The new state root, which describes the rollup’s condition after the submitted transactions were executed. Once the sequencer submits the batch, the contract verifies that the _pre_-state root matches the existing state root. If the two match, the contract discards the old state root and stores the new state root proposed by the sequencer.  This means transactions referenced in the _post_-state root have become final and cannot be reversed. Note that the sequencer doesn't have to submit proof of the validity of batched transactions.  The only time a proof is required is if a verifier reports a fraudulent rollup transaction using a fraud proof. We’ll explain the mechanics of a fraud proof in a later section of this article.  #### 3. Exiting the optimistic rollup  Say Alice \(the user\) has had enough of this rollup business and wants to withdraw her funds from the rollup contract on Ethereum Mainnet. To do this, she needs a Merkle proof that—yes, you guessed it—proves her transaction included in the rollup’s state root.  Constructing the Merkle proof requires having access to the initial transaction data, which the sequencer is expected to provide. If all goes well, Alice gets the data, creates the Merkle proof, and submits to the rollup contract.  But relying on the sequencer to provide transaction data introduces trust assumptions. A sequencer could go rogue, execute a transaction transferring Alice’s token to their wallet, and deny her the data she needs to prove ownership of the funds. Even something less malicious, like a sequencer going offline, can still threaten the decentralization and security of optimistic roll-ups.  Optimistic rollups solve this problem by requiring sequencers to post the full transaction data on the main Ethereum execution layer. This information is published on Ethereum Mainnet as "calldata," which is cheaper than storing it in the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)'s memory or storage \(further reducing rollup fees\). **This achieves two objectives:** 1. If a sequencer goes offline, another sequencer can use the transaction data to reconstruct the rollup’s state and continue producing blocks.  2. Alice \(the user\) can download the data herself and use it to create a Merkle proof.  The use of on-chain data availability is what makes optimistic rollups considerably more secure than other scaling solutions. With transaction data stored on Ethereum, user funds are always safe—so long as Ethereum remains operational.  So, one way or the other, Alice manages to create a Merkle proof to prove ownership of funds. However, she must wait for the _dispute period_ to elapse before withdrawing her funds. In optimistic rollups, the dispute period is a 1-2 week interval between submitting a withdrawal request and getting the requested funds.  During this period, anyone can publish a fraud proof claiming a particular transaction, or batch of transactions, is invalid. If the fraud proof succeeds, the sequencer’s bond \(provided as a guarantee of honest behavior\) is slashed, Alice’s “funds” are reverted, and the “whistleblower” \(called a _verifier_\) is rewarded for their efforts.  If no one challenges Alice’s withdrawal request, then she can get her funds from the rollup contract after 1-2 weeks.  ## What is a fraud proof? A fraud proof is a claim that a state transition \(i.e., transaction\) is invalid and the entire batch should be reverted as a result. Although complex, fraud proofs heavily rely on state roots \(mentioned earlier\) to work. The process starts when a party \(verifier\) detects a mismatch between the rollup state referenced in the state root on the L1 chain and the actual state of the rollup chain.  An example would be the sequencer submitting a post-state root that reduces Alice’s balances by 5 ETH and increases Bob’s balance by the same amount, even though Alice never performed a transfer.  The verifier can “challenge” this state transition and prove its invalidity. This is possible because the verifier downloads data for every transaction, applies it to their copy of the rollup state, and computes the post-state root.  If the sequencer’s post-state root matches the verifier’s, nothing happens. If, however, the sequencer’s post-state root is different—likely because it includes a false transaction, such as the one described in Alice’s case—then the verifier can trigger a fraud proof computation.  ## How do fraud proofs work? Here’s a high-level description of the fraud proof process: 1. The verifier initiates a challenge and provides the following information:                   a. Disputed state transition                   b. The pre-state root                   c. Rollup state data                   d. Their version of the post-state root.        2. The transaction is replayed in a sandboxed environment on the L1 chain using, among other things, information provided by the challenger. This “sandboxed environment” is a smart contract running on Ethereum, which doubles as a virtual machine \(VM\).         3. If the computation results in a post-state root matching the challenger’s, then we know the sequencer indeed published a batch with an invalid state transition. The invalid batch \(and others\) published afterward will be reverted, restoring the rollup to its earlier state.  We should note that the fraud proof mechanism is more complicated than described here.  This article on [fraud proofs in rollups](https://medium.com/@cpbuckland88/fraud-proofs-and-virtual-machines-2826a3412099) may provide some additional context.  ## What is the difference between fraud proofs and validity proofs? A fraud proof is different from a validity proof mainly because it is computed on-chain. Validity proofs \(also called zero-knowledge proofs\) are computed off-chain \(i.e., on the rollup\) and verified on Ethereum.  As explained in our article comparing different [types of zero-knowledge proofs](https://www.alchemy.com/overviews/snarks-vs-starks), a validity proof, such as a SNARK or STARK, is used to prove the validity of transactions performed off-chain. This is the foundation of a [zero-knowledge rollup](https://www.alchemy.com/blog/zero-knowledge-rollups). In a ZK-rollup, a validity proof is produced for every batch using the transaction data as inputs. This validity proof is submitted along with the batch to Ethereum Mainnet and verified by an on-chain contract. This means transactions can be declared valid immediately, without waiting for a challenge \(as with optimistic rollups\).  Another difference between fraud proofs and ZK proofs is that the latter is somewhat easier to verify on-chain. All the smart contract needs to do is run the validity proof to determine the validity of batched transactions. With a fraud proof, the entire state transition must be replayed before completing the fraud proof computation.  ## What are the differences between optimistic rollups and zk rollups? The major difference between optimistic rollups and ZK rollups comes from the former's support for smart contracts, delayed withdrawals, reliance on cryptoeconomic incentives, and security properties. Here's a detailed comparison of optimistic rollups and ZK rollups: ## What are the top optimistic rollup blockchains? **The top optimistic rollup blockchains are Arbitrum, Optimism, Metis Andromeda, and Boba Network in terms of Total Value Locked \(TVL\).** Below is an overview of the different optimistic rollups \(ORUs\): ### 1. Arbitrum [Arbitrum](https://www.alchemy.com/layer2/arbitrum/?a=39dca3d5aa) is an optimistic rollup project designed to improve Ethereum’s user costs and transaction speed by moving computation and data storage off-chain. The Arbitrum Virtual Machine \(AVM\) supports EVM-compatible smart contracts, allowing users to use favorite apps for a fraction of Ethereum’s costs.  ### 2. Optimism [Optimism](https://www.alchemy.com/layer2/optimism/?a=39dca3d5aa) is an EVM-compatible, optimistic rollup chain leveraging Ethereum’s security guarantees. Optimism uses an optimistic rollup \(OR\) construction to roll up thousands of off-chain transactions and save users on gas fees. ### 3. Metis andromeda Metis Andromeda is a scalable, low-cost, and functional L2 protocol based on optimistic rollups. Metis Andromeda’s unique stack can be applied to different use-cases, including apps, [DAOs](https://www.alchemy.com/dapps/top/daos), and DeFi. ### 4. Boba network Boba Network is an Ethereum L2 scaling throughput with optimistic rollup designs. Boba Network offers a Liquidity Provider \(LP\) service that allows users to withdraw funds immediately without waiting for a seven-day challenge period to elapse. ### What optimistic blockchains or projects have tokens? The following optimistic rollup projects have tokens: - Optimism \(OP\) - Boba Network \(BOBA\) - Metis Andromeda \(METIS\) ## Optimistic rollup tools Optimistic rollups are useful solutions for scaling apps and interacting with smart contracts in a more cost-effective and efficient manner. But first, you'll need various tools to use optimistic rollups easily and safely. Here are various optimistic rollup tools for developers and end-users: ### Cross-chain bridges to optimistic layer 2 blockchains While optimistic rollups are built on top of Ethereum’s base layer, assets on both chains are not natively compatible. However, you can transfer funds from an L1 chain, like Ethereum, to an optimistic rollup [using cross-chain bridges](https://www.alchemy.com/overviews/cross-chain-bridges): Here are examples of bridges connecting L1 chains and different L2 rollups: ### Bridges to and from Arbitrum - Arbitrum Token Bridge - cBridge - Hop Protocol - Synapse Protocol - Anyway Bridge - DeGate Bridge ### Bridges to and from Optimism - Connext - Celer Bridge - Li.Fi - Optimism Bridge - Poly Network - Via Protocol - Synapse Protocol - Across ### Bridges from and to metis andromeda - Metis Bridge - cBridge - AnySwap - Synapse Protocol ### Bridges from and to boba network - Across - Boba Standard Token Bridge/Fast Token Bridge - cBridge - Synapse Protocol ### Optimistic rollup testnets  A [testnet](https://www.alchemy.com/overviews/what-are-testnets) is a public blockchain network that simulates the behavior of an associated main network \(Mainnet\). Testnets don't use real funds, unlike a real blockchain, allowing developers to deploy and test smart contracts with minimal risk.  Some optimistic rollups have versions of Ethereum testnets, like [Rinkeby](https://www.alchemy.com/overviews/rinkeby-testnet), which can use for testing your dApp:   #### 1. Optimism Ethereum Kovan Testnet  The Optimistic Ethereum Kovan Testnet is an EVM-compatible optimistic rollup chain designed for testing purposes. Like Optimism on Ethereum Mainnet, the Optimistic Ethereum Kovan Testnet is designed for faster and cheaper transactions than obtainable on L1s.  #### 2. Arbitrum Rinkeby Testnet Offchain Labs, the team behind Arbitrum, launched an EVM-equivalent rollup chain on the Rinkeby network. The Arbitrum Rinkeby testnet allows developers to deploy [Solidity](https://www.alchemy.com/dapps/solidity) smart contracts on the Arbitrum rollup without downloading software. It also comes with a blockchain explorer and a bridge for moving ERC-20/ERC-721 tokens.  #### 3. Boba network Rinkeby Testnet Boba Network is another project with an EVM-compatible rollup chain on the Rinkeby testnet. You can request testnet ETH with Alchemy's [Rinkeby faucet](https://rinkebyfaucet.com) to create or test your smart contracts.  ## Conclusion Optimistic rollups are a major part of efforts to scale Ethereum using layer 2 architecture. Optimistic rollups build on Ethereum's security and decentralization while offering cheaper fees and faster transactions.  Alchemy supports two leading projects based on optimistic rollups, Arbitrum and Optimism. [Sign up for free today](https://www.alchemy.com/?a=39dca3d5aa) and see how you can scale your dApp with Ethereum-based optimistic rollups.  ## Frequently asked questions ### What are optimistic rollups? Optimistic rollups are layer 2 scaling solutions that improve Ethereum's throughput and latency by moving computation and data storage off-chain while assuming all transactions are valid unless challenged. ### How do you deposit funds into an optimistic rollup? Users deposit funds into smart contracts deployed on Ethereum, and a sequencer credits them with equivalent amounts on the rollup after receiving proof of the deposit. ### What is the challenge period in optimistic rollups? The challenge period is a 1-2 week interval after submitting a withdrawal request during which anyone can publish a fraud proof to dispute invalid transactions before funds can be withdrawn. ### What role does the sequencer play? The sequencer orders and executes transactions, compresses transaction data into blocks, submits batches to Ethereum as single transactions, and credits users with funds after deposits. ### How do optimistic rollups differ from ZK rollups? Optimistic rollups assume transactions are valid and use fraud proofs only when challenged, while ZK rollups use validity proofs for every batch and allow immediate withdrawals without waiting periods. ### What is a fraud proof? A fraud proof is a claim that a state transition is invalid, triggered when a verifier detects a mismatch between the rollup state and submits evidence to revert the fraudulent batch. ### Why do optimistic rollups have withdrawal delays? The 1-2 week withdrawal delay allows time for verifiers to detect and challenge any fraudulent transactions before funds are released from the rollup contract. ### What are the main optimistic rollup blockchains? The top optimistic rollup blockchains by Total Value Locked are Arbitrum, Optimism, Metis Andromeda, and Boba Network. --- # What is the Optimistic Virtual Machine (OVM)? URL: https://www.alchemy.com/overviews/optimistic-virtual-machine.md The Optimistic Virtual Machine \(OVM\) is the execution environment for smart contracts running on an optimistic rollup. [Optimistic rollups](https://www.alchemy.com/overviews/optimistic-rollups) are layer 2 \(L2\) scaling solutions that help scale throughput and latency on Ethereum through off-chain execution. Rollups are “hybrid scaling solutions” because, while they execute transactions off-chain, they post data required to reconstruct the chain’s state on Ethereum.  Optimistic Virtual Machines \(OVMs\) are crucial to the functionality of optimistic rollups. OVMs allow developers to run [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) on L2 rollups, as they would on Ethereum, without noticeable differences in the user experience.  This guide explains what an OVM means and how it differs from other virtual machines, such as the EVM and zkEVM. We’ll also cover the basic architecture of OVM designs used in popular optimistic rollups, such as Optimism and [Arbitrum](https://www.alchemy.com/arbitrum).  ## What is an optimistic virtual machine? **The Optimistic Virtual Machine \(OVM\) is an EVM-compatible virtual machine for running general computation on layer 2 \(L2\) protocols.** An OVM executes transactions “optimistically,” which means it doesn’t enforce transaction validity, but relies on the L1 chain to arbitrate disputes concerning the correctness of state transitions. These disputes are known as fraud proofs. We can unpack this definition by considering its key components. ### **EVM compatibility** The [Ethereum Virtual Machine \(EVM\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) is a “decentralized and global computer,” that enables the execution of programs on the Ethereum blockchain. The EVM is made up of thousands of individual computers \(nodes\) providing computational resources anyone can access to run software \(e.g. smart contracts\) on the Ethereum network.  “EVM compatibility” means a particular system is designed to work with programs written or compiled for the EVM. The Optimistic Virtual Machine is EVM-compatible because it supports the EVM’s instruction set \(opcodes\) as specified in the [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf). This allows the OVM to execute Ethereum smart contracts without any significant changes to the code.  ### **Optimistic execution** Virtual machines can also function as state machines, allowing them to transition between various states in response to inputs. In blockchains, the consensus protocol governs state transitions and outlines rules guiding state transition functions. For example, the rules for updating Ethereum’s state are defined by the EVM and enforced by the network’s proof-of-work \(PoW\) consensus.  The OVM relies on an “optimistic execution” model—the protocol doesn’t check if a state transition is valid or not before accepting it. This increases efficiency since the need to reach consensus on the validity of state updates slows down processing on layer 1 \(L1\) blockchains, like Ethereum. By assuming all transactions are valid by default, the OVM can make progress much faster. However, to provide security, OVM designs allow anyone to dispute the validity of state transitions—with the L1 chain serving as the judge. This process relies on “fraud proofs”, which we explain in a later section.  ### General computation on L2 If a virtual machine \(VM\) supports general computation, it can perform most tasks, given the right instructions and enough resources. Because the OVM can execute arbitrary logic \(i.e., it is Turing-complete\), developers can apply it to running different kinds of smart contracts.  Also, the OVM runs on a [layer 2 blockchain](https://www.alchemy.com/overviews/sidechains-vs-layer2s), a protocol that operates on top of a base blockchain \(Ethereum in this case\). L2 protocols are an extension of the parent chain and are managed by smart contracts on the L1 blockchain. More importantly, the L1 chain guarantees the correctness of state transitions in the L2 OVM and the availability of data behind the execution.  ## How is the OVM different from the EVM? The OVM is similar to the EVM since they both serve to execute computation. However, the OVM merely serves as an interface to the EVM. The EVM is the virtual machine used to process transactions on L1, but the L1 VM is slow because each computation must be re-executed by all nodes in the network before it is accepted. It is also expensive since there are so many transactions to process, and nodes can only process a small number of transactions at a time.  Optimism

", tooltip: "", icon: "" }, "2": { title: "

$0.13

", tooltip: "", icon: "" }, "3": { title: "

$0.20

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Polygon Hermez

", tooltip: "", icon: "" }, "2": { title: "

$0.25

", tooltip: "", icon: "" }, "3": { title: false, tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Arbitrum One

", tooltip: "", icon: "" }, "2": { title: "

$0.32

", tooltip: "", icon: "" }, "3": { title: "

$0.44

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Aztec Network

", tooltip: "", icon: "" }, "2": { title: "

$0.80

", tooltip: "", icon: "" }, "3": { title: false, tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Ethereum

", tooltip: "", icon: "" }, "2": { title: "

$0.93

", tooltip: "", icon: "" }, "3": { title: "

$4.67

", tooltip: "", icon: "" }, id: 4, }, ], }} /> The OVM \(running on L2\) allows users to use the L1 EVM without updating the latter’s state directly. Instead, the OVM executes transactions “off-chain” \(i.e. outside the L1 chain\), but uses the off-chain data to guarantee what will happen on layer 1. Here's an example: Say Alice has 2 ETH on the optimistic rollup and sends 1 ETH to Bob. An aggregator submits the transaction to the rollup contract on layer one which, if not challenged, is included as a part of a mined transaction on Ethereum.  In this way, we have guaranteed that a transaction paying Bob 1 ETH on the rollup will pass consensus on the main Ethereum chain and be finalized as part of the latter’s state. This guarantee stems from the following facts: 1. The OVM uses the EVM’s rules to guide the execution of transactions. If the optimistic rollup executes a transaction correctly, it’ll be accepted on L1.  1. The aggregator publishes the transaction data on L1, allowing anyone to dispute the transaction if it was executed incorrectly.  Bob and Alice can decide to withdraw their funds from the rollup or continue transacting. Either way, they will have benefited from the EVM without executing any transactions on L1.  Other differences between the OVM and EVM include:  - Enforcing validity - Instant finality - Transaction speed ### **Enforcing validity** The OVM doesn't enforce the validity of a state transition function. For example, a malicious operator can transfer Alice's balance to himself and submit the transaction to L1. If the transaction is unchallenged, the OVM simply accepts it. Conversely, every state transition on the EVM must follow the network's consensus rules before getting accepted. For example, the scenario described above wouldn't be following these rules since the sender's signing key wouldn't match their public key \(which is a criteria for valid transactions\).  ### Instant finality The EVM guarantees instant finality. This means a state transition is permanent once accepted on the network and cannot be altered or reversed.  The OVM cannot guarantee instant finality because it doesn't enforce transaction validity \(finalizing invalid transactions would corrupt the chain\). Instead, updates to the OVM's state are only final if and only if accepted on the L1 chain.  ### Transaction speed As explained, the OVM has a higher processing capacity compared to the EVM due to design differences. A single node \(the sequencer\) can write to the chain without having to wait for approval from other nodes.  This is unlike the EVM, where nodes cannot write to the chain unless a transaction has been verified and accepted by other peer-to-peer nodes. This reduces the number of transactions that can be processed in the EVM.  ## How is the OVM different from zkEVMs? As explained, the OVM primarily focuses on execution and relies on the layer one EVM to enforce rules on state updates. Thus, transactions performed in the OVM are simply submitted to L1 without any proof of their validity. That increases scalability, but it increases the risk that invalid transactions will be finalized on L1, particularly if no one challenges them.  A [zkEVM \(Zero-Knowledge Ethereum Virtual Machine\)](https://www.alchemy.com/overviews/zkevm) solves this problem by generating cryptographic proofs attesting to the correctness of off-chain computation. This gives L1 strong guarantees of the validity of state updates. The zkEVM is EVM-compatible, like the OVM, and can run smart contracts. However, it differs from the OVM in several ways: 1. Near-instant finality 1. Objective proof 1. Complexity Let's explore these a little more. ### **1. Near-instant finality** State transitions are finalized immediately because the validity proof is verified on-chain. This removes the need for delays in finalizing L2 transactions on L1.   ### **2. Objective proof** ‍[Zero-Knowledge proofs](https://www.alchemy.com/overviews/snarks-vs-starks) are used to guarantee the correctness of VM computation. This removes the need for subjective proofs \(i.e., waiting for the challenge period to elapse\) or fraud proofs to determine transaction validity.  ### **3. Complexity**‍ A zkEVM is more difficult to implement than the OVM because generating validity proofs for multiple steps of computation is expensive. OVMs are not encumbered by the need to verify off-chain computation upfront and only use fraud proofs when necessary. This makes them easier to implement than zkEVMs. ## How does the optimistic virtual machine work? Like the EVM, the Optimistic Virtual Machine functions as a runtime environment for executing computation. However, the OVM also needs to account for proving computation because optimistic rollups rely on fraud proofs to detect invalid state transitions.  ### Execution The OVM provides the functionality for deploying and executing contracts, monitoring balances, and other tasks a smart contract platform must perform. The OVM receives input in the form of transactions sent by a node on the L2 chain. These inputs cause the OVM to change its state and produce outputs, such as emitting events or processing payments.  Other details about execution in the OVM include gas, bytecode, and transactions. #### Gas “Gas” refers to computational resources for executing programs in the EVM. Like the EVM, the OVM uses the notion of gas to limit execution steps for each transaction. Transaction senders must set a gas limit to specify how much gas they're willing to spend on a transaction. This prevents malicious transactions from running infinitely and consuming all network resources. Gas fees also compensate L2 nodes for providing computational resources for executing transactions.  #### Bytecode Bytecode refers to low-level instructions that the Optimistic Virtual Machine \(OVM\) can interpret to execute functions. Smart contracts written in high-level EVM-compatible languages, such as [Solidity](https://www.alchemy.com/overviews/solidity), must be [compiled to bytecode](https://www.alchemy.com/overviews/solidity-binaries) before deployment. The bytecode itself executes as a series of opcodes that perform operations on transaction inputs.  The OVM is compatible with the EVM at the bytecode level, except for a few differences. This means you can deploy compiled EVM bytecode in the OVM with minimal changes.  #### Transactions A transaction in the OVM works similarly to the EVM. A transaction can be initiated by an externally owned account \(EOA\) or a contract account. Transactions from EOAs can either be any of the following: - Transfer of assets \(e.g. Alice sends 5 ETH to Bob\) - Contract creation \(e.g. Bob sends a transaction to the network with the compiled bytecode as a data payload\) - Smart contract execution \(e.g. Alice pays for 5 UNI tokens\) Similarly, contract accounts can initiate transactions \(called “message calls”\) with an EOA as the recipient or another contract. A contract can also create a new contract in the OVM using a contract-creation transaction.  ### **Fraud proving** As mentioned, the OVM relies on a fraud proving scheme to detect and reverse invalid state transitions. For fraud proofs to work, the OVM’s state is hashed as a [Merkle tree](https://www.alchemy.com/docs/web3-glossary), with the root stored in the rollup contract on layer 1. Merkle trees and roots allow nodes to make claims about different parts of the OVM’s state.  For example, a rollup operator—after initiating a state transition by executing transactions—is expected to publish a new state root when submitting rollup blocks. The state root is the equivalent of saying: “This sequence of transactions, when executed, transitions the VM from an old state \(referenced in the old state root\) to a new state \(referenced in the new state root\).” However, the rollup contract cannot know if the state transition was valid or not \(the system is “optimistic”\). To prevent nodes from executing invalid state updates in the OVM, rollups use fraud proofs.  #### What is a fraud proof? A fraud proof is simply a claim that a transaction, if correctly executed, leads to a state root different from the one computed by the block producer. This is possible because anyone monitoring the L2 chain can download transactions submitted to the rollup operator, re-execute them using their copy of the rollup’s state, and calculate the state root independently. Say Alice's balance was 5 ETH in the OVM’s old state \(cryptographically fingerprinted by the root hash: “0x67989898…”\). If she transfers 4 ETH, the rollup enters a new state \(cryptographically fingerprinted by the root hash: “0x7879056…”\).  If the transaction was invalid \(e.g. maybe the signature was incorrect\), then it should revert, which would leave the VM's state unchanged. However, let’s imagine a malicious operator applied the invalid update \(perhaps transferring Alice’s ETH to their wallet\), they can publish the new, albeit incorrect, state root to finalize the transaction.  Thus, it is the challenger's role to publish the correct state root and declare the rollup block invalid. It is the equivalent of saying: “This transaction, if executed _correctly_, leads to a different state root.” #### What are the two ways to prove fraud in OVM-based rollups? There are generally two approaches to proving fraud in OVM-based rollups: re-executing transactions and the bisection protocol. ##### **1. Re-executing transactions** Here, the OVM is “containerized” in a smart contract running on the L1 chain. The smart contract acts as a sandboxed environment that allows us to replay an OVM transaction within the EVM to get the correct state root. This is done by supplying other context-related inputs, such as state and storage, as well as the disputed transaction. In the example of the malicious operator described previously, the transaction would revert—leaving the state root as is. The computed state root would inevitably match the challenger’s state root, exposing the malicious operator and preventing the invalid state transition.  ##### 2. Bisection protocol The bisection protocol is a different approach to fraud proving that attempts to minimize the work the L1 chain has to do in fraud proving. It is called a bisection protocol due to its unique design: 1. The process starts with a challenger disputing an assertion \(rollup blocks are called “assertions” as they are disputable\). 1. The asserter then divides the disputed assertion into two _equal_ assertions, with the challenger choosing what part they wish to challenge.  1. After the challenger has chosen another assertion to challenge, the asserter again divides the assertion. 1. This process continues until both parties are disputing the results of one step of computation performed in the OVM.  1. The asserter is then required to provide a one-step proof showing that the disputed step of execution is correct. 1. If the asserter fails to submit the proof, or the L1 contract deems the proof invalid, they lose the challenge.  Unlike re-executing transactions, bisection removes the need to re-execute a whole block/transaction on-chain, which is expensive. It also makes it unnecessary to publish state roots for every transaction, which is necessary when re-executing transactions to prove fraud.. The bisection protocol is used in Arbitrum, with other optimistic rollups, such as Optimism planning to use [a bisection protocol for fraud proving](https://github.com/ethereum-optimism/optimistic-specs/wiki/Cannon-High-Level-Overview).  ## Final thoughts The Optimistic Virtual Machine is key to scaling Ethereum by moving computation off-chain to rollups. With the OVM, developers can deploy smart contracts on L2 chains without facing high gas fees and slow processing times that plague Ethereum. Moreover, fraud proving means the OVM can offer the same security guarantees as the EVM on Ethereum's main network.  Alchemy supports building on optimistic rollups utilizing the Optimistic Virtual Machine, including [Optimism](https://www.alchemy.com/layer2/optimism?a=46008e9089) and [Arbitrum](https://www.alchemy.com/layer2/arbitrum?a=46008e9089). Sign up for a [free Alchemy account ](https://www.alchemy.com/?a=46008e9089)to start building ultra-fast, scalable, EVM-compatible apps today. --- # Permissioned vs. Permissionless Blockchains in 2026 URL: https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains.md Most people picture blockchains as open networks where anyone can see the data, transact, or even launch their own project without anyone’s "permission." And that’s true for networks like Bitcoin, Ethereum, and Solana. You could verify any Ethereum transaction right now or deploy a new token on Solana in the next 10 minutes. But these very traits that make blockchains powerful \(openness, transparency, and inclusivity\) raise concerns for enterprises. Businesses operate in regulated environments where accountability, privacy, and control are essential. What they need from a blockchain is not complete openness, but structured governance and restricted participation. To address these differing needs, blockchains  have evolved into two main types: permissioned and permissionless blockchains. In this article, you’ll learn what permissioned and permissionless blockchains are, how they differ, and what is the purpose of each. ## What are permissionless blockchains? Permissionless blockchains \(a.k.a. public or trustless blockchains\) are open networks that anyone can join and participate in without prior approval. In a permissionless blockchain, any [node on the internet](https://www.alchemy.com/overviews/blockchain-node-providers) \(say, your laptop\) can become part of the network,, submit transactions, and take part in the consensus process that validates new blocks. This open-access design embodies the original decentralized vision of blockchain. *Also read: [Pros and Cons of Running Your Own Node](https://www.alchemy.com/overviews/running-your-own-node)* The vast majority of blockchains you come across are permissionless blockchains. Think Ethereum, Solana, Cardano, Polkadot, etc. Permissionless blockchain networks are ideal if you want to build a product or deploy a project that is open, community-driven, and accessible to anyone without restrictions. ### Traits of permissionless blockchains - **Open participation:** Anyone can join the network without approval. You can run a node or build applications freely. - **Decentralized governance:** Decision-making is distributed among participants through [consensus mechanisms](https://www.alchemy.com/docs/what-are-blockchain-consensus-mechanisms) and community proposals. - **Transparency & auditability:** All transactions and smart contract interactions are recorded on a public ledger that anyone can verify in real time. - **Pseudonymity:** Users are identified by wallet addresses, not real-world identities. This provides privacy without full anonymity \(though some networks provide anonymity, too\). - **Censorship resistance:** No authority can block, alter, or reverse legitimate transactions once they’re confirmed. - **Native incentives:** Participants are rewarded for securing and maintaining the network, aligning incentives for honest behavior. - **Global accessibility:** Anyone with an internet connection can participate regardless of geography, wealth, or status. - **Security through consensus:** Security comes from cryptography and distributed consensus \(like [Proof of Work](https://www.alchemy.com/docs/proof-of-work) or [Proof of Stake](https://www.alchemy.com/docs/what-is-proof-of-stake)\), making it nearly impossible to manipulate the ledger. ## What are permissioned blockchains? Permissioned blockchains are closed networks where access and participation are restricted to a predefined group of vetted participants. They are sometimes called private blockchains \(if run by a single organization\) or consortium blockchains \(if governed by a group of organizations\). In permissionless chains, enterprises can set up hierarchical permissions. Meaning, participants can have distinct roles and access levels within the network for more control over security, governance, and data visibility. For example, common applications of permissioned chains include requiring all users to submit identifying information for the purposes of KYC/AML or to limit who can see onchain data to internal staff only. Permissioned blockchain networks are ideal if you want to build a product that is secure, controlled, and designed for trusted participants within a regulated environment. [Hyperledger Fabric](https://www.lfdecentralizedtrust.org/projects/fabric) \(an open-source framework by IBM/Linux Foundation\) and R3 Corda are popular platforms for permissioned blockchains. ### Traits of permissioned blockchains - **Restricted participation:** Only approved entities can join the network or access specific data. - **Centralized or consortium governance:** Decision-making and rule-setting are handled by a central authority or consortium of members. - **Known and verified identities:** All participants have verified identities, often tied to real-world organizations or individuals. - **Controlled privacy & confidentiality:** Not all data is visible to everyone. Organizations can maintain commercial confidentiality of transactions. - **Customizable consensus mechanisms:** Since participants are trusted, these networks use [lightweight consensus algorithms](https://dl.acm.org/doi/10.1145/3768149) \(like RAFT, PBFT, or IBFT\). - **Permission hierarchies:** Different participants can have different roles for flexible governance and layered security. ## Key differences of permissioned vs. permissionless blockchains Both permissionless and permissioned blockchains use distributed ledger technology. But, they differ in how they balance openness, trust, and control. The following table summarizes the key differences across critical dimensions: Access control

", tooltip: "", icon: "" }, "2": { title: "

Open to all.

No permission needed.

", tooltip: "", icon: "" }, "3": { title: "

Only vetted/specified entities can read or write to the ledger.

Administrators can grant and revoke user access.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Identity

", tooltip: "", icon: "" }, "2": { title: "

Users are typically pseudonymous (identified by cryptographic addresses).

", tooltip: "", icon: "" }, "3": { title: "

Participants are known and identities verified. This accountability supports auditability and compliance.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Governance

", tooltip: "", icon: "" }, "2": { title: "

Decentralized community governance.

No single entity can easily force changes.

", tooltip: "", icon: "" }, "3": { title: "

Centralized or consortium governance.

A single organization can force network changes.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Consensus Mechanism

", tooltip: "", icon: "" }, "2": { title: "

Proof-of-Work, Proof-of-Stake, or similar consensus algorithms secure the network via economic incentives.

", tooltip: "", icon: "" }, "3": { title: "

More efficient permissioned consensus since validators are known (e.g., PBFT, Raft, Proof-of-Authority). No anonymous miners.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Security Model

", tooltip: "", icon: "" }, "2": { title: "

Trustless security. Relies on cryptographic proof and game-theory incentives.

", tooltip: "", icon: "" }, "3": { title: "

Access security. Relies on gatekeeping and internal trust.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Transparency

", tooltip: "", icon: "" }, "2": { title: "

Fully transparent ledger by default.

All transactions and smart contracts are visible to the public.

", tooltip: "", icon: "" }, "3": { title: "

Controlled transparency and privacy.

Data can be concealed from the public; only authorized nodes see all or certain transactions.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

Speed

", tooltip: "", icon: "" }, "2": { title: "

Historically slower because transactions must propagate across a decentralized network of nodes.

", tooltip: "", icon: "" }, "3": { title: "

Historically faster because transactions are processed by a centralized entity.

", tooltip: "", icon: "" }, id: 6, }, ], }} /> ## Benefits of permissionless blockchains ### 1. Global access Anyone with an internet connection can join a permissionless network. That freedom invites users and capital from everywhere, accelerating innovation and network effects. ### 2. Open source flywheel A byproduct of open access is developer network effects: these networks are open source and encourage other developers to build with or on your product. Depending on what you’re building, that flywheel could make or break your project. ### 3. Stable foundation No single company or government can easily force protocol changes. By resisting unilateral control, permissionless blockchains get long term international credibility and better network resiliency. ### 4. Security by network Permissionless blockchains rely on game theory and have mechanisms in place that are designed to ensure everyone plays fair. At a high level, this means that a sufficiently decentralized network is actually more secure than its centralized counterpart, and everyone is incentivized to maintain an honest network. ## Disadvantages of permissionless blockchains ### 1. Unpredictable fees With open accessibility comes a lack of predictability. In public chains, block space is shared among all users and apps. Every transaction competes for inclusion in the next block. So, your users’ experience is never fully in your hands. A surge in activity can lead to very high transaction fees or delayed confirmation times ### 2. Risk of attacks and protocol exploits Openness cuts two ways: anyone can use the network, for good or bad. If you’re building a product on a permissionless blockchain, you have to invest in audits and fail-safes. Every line of code is a potential attack surface for a bad actor. ### 3. Lack of privacy Transparency is great for auditability, but it’s a big bug if privacy is important to your users or use case. Every transaction and address is visible on-chain. Enterprises handling sensitive data \(e.g., financial assets or identity management\) may not be able to operate directly on public blockchains. And if they do, then they need to adopt complex technologies like [zk-SNARKs](https://www.alchemy.com/overviews/snarks-vs-starks) or off-chain encryption. ## Benefits of permissioned blockchains ### 1. Controlled participation and compliance Permissioned blockchains allow only verified and approved participants to join. This makes them naturally aligned with regulatory and compliance requirements such as KYC, AML, and GDPR, which are critical for some enterprise and government applications. This control over participation makes permissioned blockchains suitable for enterprises in heavily regulated industries. ### 2. Enhanced privacy and confidentiality Network access is customizable, and you can specify who can see what data. This is a crucial feature for companies operating in highly regulated industries that need to protect user data, or trade secrets. ### 3. Greater accountability Because participants are known entities, misbehavior can be traced to real people \(or entities\) with surprising ease. This creates a strong deterrent against malicious activity, and when you find it, you can actually remove the responsible party from the network. ### 4. Stable network fees Since permissioned chains often work as “appchains” serving a single use case, you don’t have to worry about other network participants or apps causing congestion or spikes in fees, that in turn impact your users. Instead, permissioned networks generally enjoy lower transaction fees, higher throughput, and better UX.  ## Disadvantages of permissioned blockchains ### 1. Centralization risk In permissioned networks, governance is handled by a set of administrators, introducing single points of failure. If that central entity is compromised, so is the entire network. ### 2. Reduced transparency and auditability In permissioned environments, private ledgers are not accessible to external observers. So, while privacy is enhanced, public verifiability is lost. This might reduce public trust in your chain, and slow market adoption. ### 3. Higher cost and maintenance burden Without a public incentive layer \(like block rewards\), the maintainers of a permissioned network must fund its infrastructure, security, and governance directly. Consequently, that comes with higher overhead and costs, more so than building on an open network. And when maintaining a network at scale, enterprise may find that they need a lot of expertise in order to deliver the performance and reliability their users expect. ## Get the best of both with Alchemy rollups Permissioned and permissionless blockchains each have unique strengths and weaknesses. And some teams want such a mix of features that neither blockchain offers independently. For example, an enterprise may want the openness of a public network but with the control of a private network. With [Alchemy Rollups](https://www.alchemy.com/rollups), they can have both. A rollup is essentially a separate blockchain that batches transactions and settles them onto a main network like Ethereum. That means you can set up custom rules, access controls, and performance parameters while still inheriting Ethereum’s security, transparency, and auditability. *Also read: [What Are Rollups-as-a-Service and Appchains?](https://www.alchemy.com/overviews/what-are-rollups-as-a-service-appchains)* ## Real-world examples of enterprises using permissionless blockchains ### 1. Coinbase pioneers with Base One emerging trend is not only enterprises building on permissionless blockchains, but launching their own chain altogether. With over [$4.5B in TVL](https://defillama.com/chain/base), [Coinbase](https://www.alchemy.com/dapps/coinbase)’s [Base](https://www.base.org/) chain is perhaps the most successful example of this to date, providing a network for Coinbase to onboard users, integrate their products onchain, and generate revenue. ### 2. Stripe announces tempo In September this year, Stripe and [Paradigm](https://www.alchemy.com/dapps/paradigm) [announced a new payments-focused L1](https://fortune.com/crypto/2025/09/04/stripe-paradigm-tempo-blockchain-stablecoins-matt-huang-payments/) called Tempo. With $500M in funding and the support of one of the largest merchant processors in the world, this project is a clear signal that enterprise payment rails are moving onchain. ### 3. Figure technology solutions: lending & RWAs [Figure Technology Solutions](https://en.wikipedia.org/wiki/Figure_%28blockchain_lender%29) operates lending and asset-tokenization infrastructure on [Provenance Blockchain](https://provenance.io) \(a public protocol designed for financial services\). It has broad institutional partners, tokenized real-world assets, and uses a public-chain architecture rather than a purely private ledger. ## Real-world examples of enterprises using permissioned blockchains ### 1. SWIFT: blockchain-based cross-border payments [SWIFT is adding](https://www.swift.com/news-events/press-releases/swift-add-blockchain-based-ledger-its-infrastructure-stack-groundbreaking-move-accelerate-and-scale-benefits-digital-finance) a blockchain to its core infrastructure to improve settlement speed and transparency of international payments. Built in collaboration with over 30 major financial institutions, the ledger operates as a permissioned network that enables real-time, 24/7 cross-border transactions for tokenized regulated assets. ### 2. London Stock Exchange Group: blockchain-powered fundraising The LSEG became the first major stock exchange in the world to launch a system that’s fully powered by blockchain. It completed its [first blockchain-powered fundraising](https://www.ft.com/content/89d3f7eb-f6eb-4f03-92d8-f4de3353c5b3) through an open-access infrastructure that supports issuance, trading, and settlement on a single network. ### 3. Hitachi: procurement smart contracts Hitachi had a procurement process involving approximately 3,500 supplier companies, with manual contract handling, paperwork, and fraud/inefficiency risks. So, the company [implemented a permissioned blockchain solution](https://www.lfdecentralizedtrust.org/case-studies/hitachi-case-study) using Hyperledger [Fabric](https://www.alchemy.com/dapps/fabric) to support paperless procurement contracts and transactions. The result was improved security and reduced the dependency on paper processes while handling at least one contract per company per month in a streamlined way. ## Conclusion Whether you are going to be building on public or private chains, it’s important to familiarize yourself with the [enterprise blockchain tech stack](https://www.alchemy.com/overviews/choose-enterprise-blockchain-infrastructure). Both permissionless and permissioned blockchains have proven their worth in recent years, but in different arenas. Choose **permissionless** if you want anyone, anywhere to use or build on your product. In this open-source setting, your app becomes part of a global ecosystem where developers, partners, and users can extend what you’ve started. Choose **permissioned** if you need to control network access and data permissions. This is for banks, fintechs, or enterprises that have to follow KYC and privacy rules, or just want to use blockchain to make internal operations more efficient. ## Frequently asked questions ### What is the difference between permissionless blockchain and permissioned blockchain? The main difference lies in access control. A permissionless blockchain is open to anyone. A permissioned blockchain, on the other hand, restricts participation to verified entities approved by an administrator. ### Why would an enterprise need a permissioned chain? Enterprises need permissioned blockchains to share data securely and stay compliant. They get blockchain’s transparency and efficiency while controlling who can access, validate, or view sensitive information, crucial for regulated sectors like finance. ### Is Ethereum permissioned or permissionless? Ethereum is a permissionless blockchain. Anyone can create a wallet, deploy smart contracts, or run a node without needing approval. ### What is an example of a permissioned blockchain? A modern example of a permissioned blockchain is SWIFT’s new shared ledger, built for global banks to settle payments securely while keeping full control and compliance. Other examples include LSEG’s Digital Markets Infrastructure, which uses private ledgers for regulated asset transfers and settlements. ### What does "permissionless" mean in blockchain? “Permissionless” means that no authorization is required to access or interact with the blockchain. Anyone can join and participate in the network. --- # How To Start Playing DeFi Games URL: https://www.alchemy.com/overviews/play-defi-games.md DeFi, or Decentralized Finance, is a new approach to financial services that relies on blockchain technology to offer more transparency, security, and accessibility. DeFi games, a subset of the [web3 gaming ecosystem](https://www.alchemy.com/dapps/best/web3-games), that allow users to earn cryptocurrency while playing.  By leveraging game theoretical elements, DeFi games make it fun and easy for players to interact with the larger system. Players can use these games to learn about cryptocurrency, blockchain, and DeFi while potentially earning rewards in the process. In this article, we explore how to start playing DeFi games today! ## **3 factors to consider before playing DeFi games** It’s important that players know about the following before they start playing [DeFi games](https://www.alchemy.com/overviews/defi-gaming) in order to protect their investment and maximize their profits. ### **1. High risk, high reward** **One of the main things to know before playing DeFi games is that they come with a high level of risk. These games are highly speculative and can result in massive financial losses.** For example, the infamous PancakeBunny hack on BNB Chain resulted in a loss of over $45 million for investors. Thus, it is essential to understand the risk-reward ratio of the game and invest only what you can afford to lose. ### **2. Very volatile** **Another critical thing to keep in mind is that DeFi games are highly volatile. The value of in-game assets, such as cryptocurrencies and NFTs, can fluctuate significantly and rapidly.** For instance, the value of the [Axie Infinity](https://www.alchemy.com/dapps/axie-infinity) token \($AXS\) increased by over 3,200% from January to November 2021 before dropping by about 45% within the next 30 days. Therefore, it is crucial to stay updated with the market trends and not invest more than what you can afford to lose. ### **3. Initial investment** **Always consider the initial investment required to start playing these games. Many DeFi games require a high initial investment to participate in the game's economy.** Axie Infinity, for example, requires three Axies to start playing, which can cost 1000s of dollars. Additionally, there are other costs, such as transaction fees, gas fees, and more. Do thorough research and ensure that you have enough funds to participate in these games. ## **3 steps to start playing DeFi games** Before you start playing DeFi games, there are certain things you should take into consideration. These include: knowing blockchain basics, familiarizing yourself with DeFi terminology, and setting up your [web3 wallet](https://www.alchemy.com/overviews/web3-wallets). ### **1. Know blockchain basics** **DeFi games rely on the same underlying technology that powers cryptocurrency, namely blockchain. So, it is important to have a basic understanding of how this technology works and the underlying concepts behind it.** To get up to speed quickly, you can start by reading some introductory articles or watching tutorials like Alchemy's [Blockchain 101 guide](https://www.alchemy.com/docs/blockchain-101). You can also join online blockchain communities with active discussion forums and engage with other people. ### **2. Familiarize yourself with DeFi terms** You should also to familiarize yourself with the different terms used in the [DeFi space](https://www.alchemy.com/overviews/guide-to-defi) such as liquidity mining, staking, yield farming, impermanent loss, and more. Knowing these terms will help you understand how DeFi works and make informed decisions when playing a game. ### **3. Buy crypto, connect wallet, and start playing!** Once you have the basics down, it’s time to start playing. You will need to buy some cryptocurrency, and then connect your wallet to a DeFi game's website. Depending on the game and its rules, you can then start playing and earning rewards.. ## **How to be safe playing DeFi games** To have a safe experience with DeFi games, follow the steps below. ### **1. Pick the right game for you** There is a whole universe of DeFi games for you to explore. If you are getting started right away, it is easy to be overwhelmed with so many choices. So, the first thing to do when picking the game you are going to play is narrow down to one or two that **fit your interest and skill level**. Some games demand low reaction times due to fast gameplay, while others are more strategic and slow. Some are best-played solo and others can be played with a team. Whatever game you choose, always qualify games for their legitimacy by researching the game's team and their credentials. Doing proper research before you start playing any game will ensure that you don’t fall for scams and rug pulls. ### **2. Ability to swap in-game assets for cash** The success of your DeFi game experience also depends on how easy it is to enter and exit the game. Being able to cash out quickly when you need money is paramount, particularly in a volatile environment like crypto. **Always ensure that the depositing and withdrawal process will be quick and hassle-free before investing your money in the game.** For example, you might not be able to liquidate your funds quickly if you have staked them in the game because most games have a specific unstaking period. ### **3. Scrutinize the tokenomics** The in-game token is the driving force for most DeFi games. **Closely examine the game's token economics before investing in it**. This will help you understand how your investments are being used and if there is any potential for future profits. Things to look out for when studying the game's tokenomics include: - Total supply of the token - Fully diluted value - Trading volume - Inflation rate - Rewards for staking and playing - Transaction fees Also, take a close look at how the tokens have been allocated during the launch. If a large fraction of the tokens remain with the game creators or are distributed only among a handful of wallets, there is a greater chance of price manipulation. ## **Conclusion** Playing DeFi games can be a fun and rewarding experience if done with caution. Before you start, always do your research and make sure that the game is legitimate. Additionally, consider the risk-reward ratio of the game and invest only what you can afford to lose. --- # How to Start Playing NFT Card Games URL: https://www.alchemy.com/overviews/play-nft-card-games.md **NFT card games are web3 games that use cards as NFTs to track ownership and provide a provable scarcity of cards. The NFTs can also be traded, exchanged, and sold as digital cards on the open market.** In this article, we will explore four things you should consider before you start playing [NFT card games](https://www.alchemy.com/overviews/nft-card-games), and four steps you should take to get started! ## **4 things to know before playing NFT card games** Before playing any NFT card games, it is important for players to take note of a number of scams such as rug pulls, wash trading, and phishing. ### **1. Rug pulls** **A rug pull is a scam where a web3 game developer creates hype for a project to attract players and their money, and then disappears without providing the promised value, and taking player's investments with them.** This fraudulent activity has become more prevalent as the value of cryptocurrencies has increased. According to a report by [Solidus Labs](https://www.soliduslabs.com/reports/rug-pull-report), 200,000 out of 1.8 million tokens deployed in 12 chains from September to December 2022 were rug pull scams. To protect from rug pulls, players must do their own research on the team behind the game and make sure it is reputable. It is important to look at its partnerships, investors, funding rounds, and community engagement to measure the authenticity of a project. ### **2. Wash trading** Wash trading is a phenomenon when a player \(or a group of players\) buys and sells their own assets to inflate the market price artificially. This artificial inflation in price can make it difficult for new players to know if there is real activity in a game, and if the asset's value is real. Research from Dune shows that about [45% of NFT trading volume](https://dune.com/blog/wash-trading-2-blur) on Ethereum is wash trading. To prevent themselves from being a victim to wash trading, players should look at the history of trades and find out if there are any patterns in the data. If players notice a pattern in the wallet addresses that are buying and selling the NFT trading card, then it is likely an orchestrated effort by a single person or group. If this is the case, it's best to stay away from that particular card or game. ### **3. Phishing** **Phishing is a type of scam that involves a malicious actor creating a website or social media account that looks like a legitimate game and attempts to steal players’ credentials and their digital assets.** In NFT scams, phishing attackers imitate legitimate websites to get players to connect their wallets and authorize deceitful transactions. When players connect their wallets, their digital assets often get stolen without their notice. Scammers can also use social engineering to get players to click on links or attachments that steal a player’s personal information, such as usernames, passwords, and credit card numbers. To prevent themselves from becoming a victim of phishing, players should always double-check the URL of websites they visit and be careful when clicking on random links. Players should also use wallets that use [Transaction Simulation tools](https://www.alchemy.com/transaction-simulation) or Chrome Extensions like Fire to preview what transactions will do before signing them. Additionally, if players receive a message from someone claiming to be from the game development team, they need to independently verify the person's identity before giving out any sensitive information. ### **4. Illegitimate games** **Illegitimate games are games that do not have a real team behind them or projects that were created with the sole purpose of making money for the creators.** They tend to make a lot of claims and promises without delivering value on their plans. To identify these games, look out for any red flags, such as the team not being transparent about their plans, having an unrealistic roadmap, and too-good-to-be-true promises. Always research to see if the team is legitimate or not. If they have a credible track record, then they are more trustworthy. However, if a player is still doubtful of its credibility, then it is better to avoid investing in the project. ## **How to start playing NFT card games** To start playing [NFT games](https://www.alchemy.com/overviews/nft-gaming), there are a number of steps that players need to follow. Here are some guiding steps to get started: ### **1. Research NFT card games** The first step is for players to do their own research and [find web3 games](https://www.alchemy.com/dapps/best/web3-games) are worth playing. Ensure the game has a reputable team behind it and a good track record in the NFT space. It is also important to check if it is an active game with regular updates, events, and tournaments. While the most traditional way to research NFT card games is to visit websites and forums, there are a few more out-of-the-box methods to could consider. #### **1. Attend blockchain conferences and events** Many of these events feature demos and showcases of the latest blockchain games, including NFT card games. This is a great way for players to get a first-hand look at the games and talk to developers and players in person. For example, the GDC, the Game Developer Conference, usually has good participation from web3 game designers. #### **2. Follow NFT card game developers and players on social media** Twitter, Discord, and Reddit are all great places to find people passionate about NFT card games. Players can follow them to keep up with the latest news, updates, and trends in the industry. #### **3. Play other digital card games** While not specifically NFT card games, players can play other digital card games to get a good sense of the strategy and gameplay mechanics that are common in NFT card games. This can help players better understand the genre as a whole. ### **2. Research the NFT card game community** A legitimate and active community is an excellent sign for players. The community of an NFT Card Game can play a significant role in the success of the game, and it can also impact the overall experience as a player. Look for active communities on social media platforms such as Twitter and Discord, and check to see if the game has an official subreddit. Check if the NFT card game in question has a tournament and meetup event held by the game's developers or players. Such physical meetups are good evidence to get a sense of how committed the community is to the game. ### 3. Learn the NFT card game economics Economics is the backbone of the NFT card game, and it is crucial to understand how the game works to determine what type of ROI is possible for players. Since NFT card games are based on blockchain technology, they often have unique economic models that are different from traditional games. For example, some games use a system of "mining" or "[farming](https://www.alchemy.com/overviews/nft-farming-games)" to earn new cards or tokens, while others use [a marketplace where players can buy and sell cards](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces) directly. The best place to start this is by reading the whitepaper of the game and viewing its terms of service. These documents will provide a detailed overview of the game's economics, as well as any special rules and regulations that govern the game. ### **4. Understand the NFT card gameplay** Players need to then learn about the mechanics, cards, and strategies that will be used in the game. Start by reading beginner guides or tutorials on the official website or forums. Players should also try to watch videos of people playing so they can get a better understanding of how it all works. Finally, try to play a few practice games against the computer or other players to get a better feel for the game. If players want to start playing without spending any of their cryptocurrency, they can begin with games that offer a free-to-play version. ## **Start playing NFT card games** Researching NFT card games can be a daunting task, but with the right approach, it can be an enjoyable and rewarding experience. By researching each game's community, economics, and gameplay mechanics, players can identify the best NFT card games for themselves. Regardless of whichever NFT card game players choose, patience and practice are essential ingredients for success in the game. --- # How to Start Playing NFT Farming Games URL: https://www.alchemy.com/overviews/play-nft-farming-games.md NFT farming games allow players to participate in different activities and complete tasks within the game, thus earning and collecting NFTs. This article will explore how to start playing NFT farming games and considerations to evaluate before you start playing. ## **3 factors to consider before playing NFT farming games** Before playing [NFT farming games](http://www.alchemy.com/overviews/nft-farming-games), it’s essential to know a few important things. Here are some key elements to consider: risks, flexibility, and profitability. ### **1. Risks** As the technology is still in its early stages, there is a possibility of bugs in smart contracts or faults in operation that could lead to negative consequences. It is important for players to thoroughly research the NFT farming game they are interested in and assess its security measures before participating. Do check that the NFT farming game in question has gone through multiple stages of security audits of their operations and smart contracts. ### **2. Flexibility** NFT farming games provide flexibility to NFT holders and traders. They can convert NFTs into liquid assets and monetize them through rewards, providing extra options for their NFTs. ### **3. Profitability** Participating in NFT farming games offers the potential to earn profits by owning extra tokens and gaining tangible value. However, it is important to understand that there are inherent risks in any investment. ## **How to get started playing NFT farming games** To get started with NFT farming, players are required to have a few items ready: - A [web3 wallet](https://www.alchemy.com/dapps/top/wallets) - Tokens that the NFT farming game uses Below are some guiding steps in detail to get started with playing NFT farming games. ### **1. Research NFT farming games** Before you start farming NFTs, it is important to research the different NFT farming games that are available and understand what each game offers. Look for games that have a strong community, unique NFTs, and good reward systems. Read reviews and forums to get a better understanding of the game’s overall experience and user satisfaction. Do make sure to do a thorough check on the founders, have a look at their roadmap, and read their whitepaper. ### **2. Research the game’s community** Joining a supportive and active community is a great way to get started with NFT farming games. Research the community of the NFT farming games that you’re interested in and look for forums or groups where users can ask questions, share tips, and discuss the latest developments in the NFT Farming space. NFT farming games typically have a Discord community or Twitter account that you can follow. ### **3. Learn the farming economics** Understanding the economics of NFT farming games and the rewards system of each game is essential. Some games might have a higher earning potential, while others may offer more unique NFTs. A good understanding of the economics of NFT farming maximizes your rewards and minimizes your risk. ### **4. Learn the farming mechanism** Familiarizing yourself with the farming mechanism of the game you’re interested in playing is critical to your success and profitability. This may involve staking tokens, pooling tokens, or participating in liquidity pools. Understanding the mechanism thoroughly will help you maximize your rewards and ensure you are getting the most out of your investment. ### **5. Connect a Web3 wallet** With your [web3 wallet](https://www.alchemy.com/overviews/web3-wallets) ready, navigate to the NFT farming game and look for the "Connect Wallet" button. Click on this button, and select your web3 wallet from the list of options that appears. The game will ask for permission to access your wallet. Click "Connect" to grant access. With your wallet connected to the game, you can now buy, sell, and trade NFTs within the game. Simply follow the game's instructions for performing transactions, and confirm each transaction using your web3 wallet. ### **6. Play the game to start farming rewards** Once you’re comfortable with the farming mechanism, it's time to start [playing and earning rewards](http://www.alchemy.com/overviews/make-money-playing-p2e-games). Look for special events, bonuses, and incentives that will help you maximize your NFT farming rewards. In addition, make sure to keep track of the changes in the economy of the game to stay ahead of the curve. This will give you an edge in the game and help you maximize your earnings. ### **7. Participate in the community** Participating in the community of an NFT farming game is a great way to stay up-to-date with the latest developments and get new ideas for maximizing rewards. Join forums, groups, or Discord servers related to your game and interact with others who are farming NFTs. You can also participate in discussions around economics, strategies, and trends to stay ahead of the curve. ### **8. Sell NFT rewards on an NFT marketplace** When you are ready to sell your NFT rewards, look for a [marketplace where you can list NFTs](https://www.alchemy.com/dapps/best/gaming-nft-marketplaces). Choose a marketplace that is reputable and secure, and has the features and tools that you need.  Experiment with different marketplaces and find one that offers the best user experience, fees, liquidity, and security. Once you have chosen a marketplace, you can list your NFTs and take profits. --- # What are Play-to-Earn (P2E) games? URL: https://www.alchemy.com/overviews/play-to-earn-games.md Play-to-earn \(P2E\) crypto games are games built on the blockchain that allow players to earn built-in cryptocurrencies, NFTs, and other assets with real-world value via gameplay. These in-game digital assets can be sold on marketplaces and [cryptocurrency exchanges](https://www.alchemy.com/dapps/best/crypto-exchanges) for real currency. This article gives an overview of P2E games, detailing how they work, and what types of P2E games are most popular.  ## What are play-to-earn \(p2e\) games? **P2E crypto games are blockchain-based games that deploy on-chain digital assets and allow players to earn cryptocurrencies, NFTs, and other assets as they advance.** The first P2E game to gain widespread attention was Cryptokitties, which emerged in 2017. But their roots can be traced further back, to 2014, when NFT trading card game Counterparty was created in partnership with Force of Will. Counterparty lacked attractive mechanics so didn’t garner much attention. When [Cryptokitties](https://www.alchemy.com/dapps/cryptokitties) debuted on the Ethereum blockchain, it propelled the P2E gaming model to a new level through composable features and better gameplay. Since then, the P2E gaming market has continued to grow and evolve, with new games emerging and offering players more opportunities to earn cryptocurrency through gameplay. Some more recent popular P2E games include [Alien Worlds](https://www.alchemy.com/dapps/alien-worlds), [DeFi Land](https://www.alchemy.com/dapps/defi-land), and [Decentraland](https://www.alchemy.com/dapps/decentraland). ## How do play-to-earn crypto games work? In play-to-earn crypto games, games reward players with on-chain digital assets which can be used to progress, exchanged between peers, or traded on decentralized exchanges. Some games also offer rewards in the form of cryptocurrencies such as Bitcoin, Ethereum, and various altcoins. Game developers are free to design the in-game economy however they like and can set rules governing the distribution and transfer of assets among users. The use of non-fungible tokens \(NFTs\) adds collectability and novelty to a game, making it more attractive to gamers. While features such as in-game currency and asset collection exist even in conventional free-to-play and pay-to-play games, these currencies and assets cannot be traded outside the game environment. Blockchain-based games provide a more immersive experience through complete ownership, provable scarcity, and provenance tracking of in-game assets. Play-to-earn crypto games leverage the intrinsic characteristics of blockchains—decentralization, immutability, and transparency—to provide a unique gaming experience that is both trustless and rewarding with assets that have real-world value. ## What are the most common types of p2e games? **Most P2E games fit into one of five broad categories: NFT games, DeFi games, Farming games, NFT trading card games, and AAA web3 games.** ### 1. NFT games [NFT games](https://www.alchemy.com/overviews/nft-gaming) rely on cryptocurrencies and NFTs for their core gameplay. The most popular types of [NFT games](https://www.alchemy.com/dapps/best/web3-games) involve collecting virtual land and building items on top of it that are also NFTs, or combining multiple NFTs to minut unique NFTs. With the rise of composable NFTs, developers are able to create even more complex and engaging gameplay experiences. One early and popular example of an NFT game is **CryptoKitties**, which allows players to buy, breed, and sell digital cats with unique characteristics. Each cat is represented by an NFT, the value of which can fluctuate depending on market demand. Another NFT game is **Decentraland**, which is a virtual reality world where players can buy and develop virtual land, represented by NFTs, and build their own virtual experiences. Players can also buy and sell virtual items, such as clothing and accessories, all of which are also represented by NFTs. ### 2. DeFi games [DeFi games](https://www.alchemy.com/overviews/defi-gaming) are built on top of decentralized finance \(DeFi\) protocols, or allow players to interact in DeFi through a gamified experience. DeFi gaming also enables users to earn outsized yields by providing liquidity to the network and staking their cryptocurrencies. One popular DeFi game is **Pool Party**, which allows users to join prize pools and win rewards based on the amount they put in. The game is based on the prize savings model, under which users put in money and gain entry into a prize pool which then pays out rewards to players. These rewards are randomized and a player may or may not receive a significant return—however, they are guaranteed to get the entry fee back. ### 3. Farming games [Farming games](https://www.alchemy.com/overviews/nft-farming-games) are a relatively new category of P2E games that revolve around gathering resources, growing crops, and farming animals. They use blockchain tokens to track ownership and build in-game markets for players to buy and sell items. One such farming game is **DeFi Land**, which allows users to own virtual land and build farms on it. Players can then harvest crops, raise animals, and produce goods. The goal of DeFi Land is to gamify all aspects of decentralized finance. ### 4. NFT trading card games Trading card games have long been popular but were not previously easily digitized due to the difficulty of verifying authenticity—a problem that is solved by blockchain technology and NFTs. The ownership, authenticity, and provenance of NFTs is completely transparent and tamper-proof. One of the current most popular [NFT-based trading card games](https://www.alchemy.com/overviews/nft-card-games) is **[Splinterlands](https://www.alchemy.com/dapps/splinterlands)**, in which players compete against each other strategically to win more cards. Cards won in Splinterlands can be traded on other DeFi marketplaces. ### 5. AAA Web3 games [AAA web3 games](https://www.alchemy.com/dapps/best/aaa-web3-games) are large, complex games that use blockchain technology to provide players with true ownership and interoperability of in-game items. These games are designed to give gamers a truly immersive experience like never seen before. Most AAA web3 games incorporate many interactive elements within the metaverse along with AR/VR compatibility. They are also optimized for low latency and increased responsiveness. **Alien Worlds** and **[Star Atlas](https://www.alchemy.com/dapps/star-atlas)** are two popular AAA web3 games, available on Ethereum and Solana respectively. ## Build with Alchemy There are many [gaming tools built on the blockchain](https://www.alchemy.com/dapps/best/decentralized-gaming-tools) that can help developers build a great P2E game, but to make a game that is adopted at scale, developers also need robust and reliable infrastructure. Interferences like node downtime or network congestion can greatly discourage users from playing the game. That's why web3 game creators, like the team behind [the Smurfs' Game choose to work with Alchemy](https://www.alchemy.com/blog/gas-optimized-transaction-case-study). --- # What is a Polygon node: Everything You Need To Know URL: https://www.alchemy.com/overviews/polygon-node.md Similar to the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), [Polygon, a Layer-2 solution](https://www.alchemy.com/layer2/polygon), uses nodes to ensure that all computers participating in the network are behaving correctly. However, Polygon nodes have a different architecture – where it categorizes and delegates sub-section of processing tasks to different node layers. In this article, we’ll go through the different types of Polygon nodes, how to create and run a Polygon node, and how node providers help make this entire process easier. ## What is Polygon? Polygon is a sidechain, [**an Ethereum scaling solution**](https://www.alchemy.com/overviews/sidechains-vs-layer2s), that reduces gas costs and improves scalability by performing resource intensive tasks off of the main Ethereum blockchain while maintaining compatibility with the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) (EVM). Formerly known as MATIC, Polygon rebranded in 2017 but kept MATIC as its ticker symbol. Polygon and MATIC are, therefore, one and the same. The main test network for Polygon is called Mumbai. Mumbai is a testnet where developers can [use test MATIC tokens to test Polygon applications](https://www.alchemy.com/overviews/mumbai-testnet) in a cost-free environment. ## What is a Polygon node? ‍**Polygon nodes are computers that have a downloaded copy of the Polygon blockchain and participate in the Polygon network, but because Polygon has multiple node types - Bor nodes, Heimdall nodes, full nodes, Sentry nodes, and validator nodes - each node serves a different purpose.** The Polygon network is broadly split into three layers:  1. **The Ethereum mainnet** - used for contract Proof-of-Stake, checkpointing, and rewards 1. **The Heimdall node layer** - used for validation 1. **The Bor node layer** - used for producing blocks Below, we focus on the Heimdall and Bor nodes in more detail, as well as how they can be used in conjunction for more complex functions. ### What is a bor node? **Bor nodes are the most rudimentary type of Polygon node, and are responsible for the aggregation of transactions into blocks, which can then be parsed and utilized by Heimdall nodes.** In this way, Bor nodes act as one half of a roll-up scheme, which also aggregates data into more efficiently processable forms. Block producers are chosen randomly from a set of validators nodes. ### What is a heimdall node? **Heimdall nodes validate all Bor blocks since a previous checkpoint, and then aggregate all blocks created by the Bor nodes into a Merkle tree.** Heimdall nodes also periodically send the hash of the Merkle root to the main blockchain. Checkpoints are incredibly important for the Polygon system, as they manage the randomness of block producers and the validator set selection for a given span or set of blocks. ### What is a full node? A full node is a node that completely validates transactions and blocks and is of two types: 1.\) pruned full nodes and 2.\) archival full nodes, also known as archive nodes. A pruned full node discards all failed transaction states and only goes back a set number of blocks to be more lightweight. **Archive nodes** are full nodes that also save all historical states of the chain. In essence, Archive nodes contain the exact states of the chain from inception to the most recent transactions. One problem that Polygon archive nodes may run into is the [archive node limit](https://www.alchemy.com/blog/polygon-archive-node-limit), as the total chain nears 16TB of state data. Because of this, it is recommended to either increase the node storage, delete and resync nodes so wasted data is cleared out, or use a Polygon node provider. ### What is a sentry node? A sentry node is a full node that runs both Heimdall and Bor nodes to download data from other nodes and transfer this data to selected validator nodes, while also having access to the entire Polygon network. Sentry nodes also isolate validators from the public, and can protect validator nodes from attack vectors like Distributed Denial of Service \(DDOS\) attacks, which can slow down or halt transaction throughput. ### What is a Polygon validator? **A Polygon validator is someone with a validator node on one machine, a sentry node on a different machine, and MATIC token staked.** Polygon validators are randomly selected to validate transactions in the Heimdall layer. A validator node has a similar architecture to a sentry node, except it is the method by which data is passed to and from the sentry node.  ## What is a Polygon node provider? [**Polygon node providers**](https://www.alchemy.com/overviews/blockchain-node-providers) are companies that offer developers with Polygon node API endpoints so [apps](https://www.alchemy.com/dapps/top/defi-dapps) can send requests to and receive payloads from the Polygon blockchain without having to run their own Polygon node. While having your own Polygon full node offers some benefits such as software client customization, node providers offer significant [benefits in contrast to individual Polygon nodes](https://www.alchemy.com/overviews/running-your-own-node) in terms of stability, speed, and data accuracy. Worrying about the node maintenance requires valuable engineering time, and node providers can solve this common problem. For apps, [choosing the best Polygon node provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider) is an important decision when building for scale and population demand. The most vital factors from an infrastructure perspective are scalability, data accuracy, and types of nodes \(e.g. full, archive, etc.\), and supported blockchains \(if you plan to build multichain\). From a customer perspective, it is also important for node providers to have good pricing, a helpful developer relations team, responsive support staff, and better developer tools like optimized APIs and SDKs to effectively suit web3 developers’ needs.  ## How to connect to a Polygon node on Alchemy There are full instructions available on [how to connect to a Polygon full node using Alchemy](https://wiki.polygon.technology/docs/develop/alchemy/) on Polygon's official documentation, but here is a simplified explanation for getting started quickly. ### 1. Sign up for Alchemy Alchemy offers a free tier for its services, and you can quickly [create a free Polygon account on the Alchemy developer platform](https://www.alchemy.com/layer2/polygon?a=c2ee97cb63) to interact with the Alchemy Polygon API. ### ‍ 2. Create your Polygon Application and Generate an API key After successfully creating an Alchemy account, you will need to generate an API key by creating an app. This authenticates the requests made to the Polygon mainnet or Mumbai testnet. To generate a new API key, navigate to the "Apps" tab on the Alchemy dashboard navigation bar and select the "Create App" sub-tab. After filling out the fields and selecting the testnet, click on “Create app”. Your new app should appear in the table below. To get your custom Polygon RPC URL from Alchemy, go to your app in your Alchemy dashboard and click "View Key" in the top right corner. Then copy your Alchemy HTTPS API key, and paste it into your application. **Note:** use Alchemy Chain Connect to view [public Polygon RCP URLs](https://www.alchemy.com/chain-connect/chain/polygon-pos) from multiple infrastructure providers. ‍ ### Step 3. Set up the Polygon API and start building If you're using JavaScript and Node.js, simply install the Alchemy SDK, create an Alchemy object, and you'll be ready to start making Polygon node requests in a couple of lines of code.  1. Set up a project with: npm init -y 1. Install the SDK by running the following command in your terminal: npm install alchemy-sdk. 1. After installing the SDK, you can import and use it in your projects with Polygon as shown below For more details on setting up the Alchemy SDK, refer to the [SDK Quickstart Guide](https://www.alchemy.com/docs/alchemy-quickstart-guide). Using a Polygon node provider is easy and scalable, allowing developers of all skill levels to start building in web3. ‍ ## Polygon node requirements To run a Polygon full node, some [technical specifications](https://docs.polygon.technology/docs/category/nodes/) and software prerequisites need to be met. The current minimum requirements are16-32 GB of RAM and a 4-8 core CPU, with a minimum expandable storage drive of 1.2TB. Because nodes need to save more and more data as the chain's history grows, the minimum specifications will grow accordingly. Additionally, while Polygon notes that any operating system will work fine, they highlight that the security and stability of Linux server distributions like CentOS are preferred over MacOS and Windows. ## How to set up a Polygon full node If you don't want to use a Polygon node provider, and instead want to configure and maintain your own Polygon node, here is a summary of the steps you'll need to take. ### 1. Build machines to run your nodes Because Linux is recommended, you’ll want to use a machine running a Linux server that can host your node. You can also remotely connect to Linux servers using Secure Shell \(SSH\) on the command line. Look at the hardware requirements then ensure that your machines have a pretty large minimum storage, and computing power. ### 2. Download the prerequisites In terms of software requirements, Ansible should be downloaded on a machine with Python 3.x, and can be downloaded via this command: pip3 install ansible In addition, make sure that you do not have Go or previous setups for Heimdall and Bor installed, as these will conflict with a completely new installation process.  ### 3. Set up and run your node All instructions are from the [official Polygon documentation for setting up and running a full node](https://docs.polygon.technology/docs/develop/network-details/full-node-deployment/). The steps are summarized below: 1. Ensure access to the remote machine/virtual machine, clone the given repository, and verify its functionality by setting up IPs 1. Set up the full node, enter the remote/virtual machine, and configure the Heimdall and Bor nodes 1. Run the full node and check logs to see if the nodes have synced correctly ## Start building on Polygon with Alchemy Polygon is a fast-growing Ethereum sidechain that offers developers a fast, affordable, and scalable blockchain for building EVM-compatible applications. Polygon is the choice for some of the largest web2 companies such as Starbuck's new loyalty rewards program because of it's scale, affordability, and low carbon footprint. To start building on Polygon, create a [free Polygon developer account](https://www.alchemy.com/layer2/polygon?a=c2ee97cb63) with Alchemy today! --- # Polygon ZK Rollups: Everything You Need to Know URL: https://www.alchemy.com/overviews/polygon-zk-rollups.md [Polygon \(formerly MATIC Network\)](https://www.alchemy.com/layer2/polygon/?a=dd081c99da) is a Web3 startup that builds products to scale Ethereum and encourage mass adoption.  The company's core product, the Polygon proof of stake \(PoS\) sidechain, has become a popular alternative to Ethereum due to its low fees and faster transactions. Currently, Polygon is developing a suite of [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) \(ZK rollups\) to increase throughput on Ethereum without sacrificing decentralization or security. ZK rollups process transactions off-chain and reduce computation on the base layer to achieve scalability.  This guide will explain how Polygon ZK rollups work and what benefits they offer. We’ll also consider different Polygon ZK rollup solutions and compare them with existing ZK rollups.  ## What is a Polygon ZK rollup? **A Polygon zero-knowledge rollup is a scaling solution that aggregates multiple off-chain transactions into a single on-chain transaction.** The Polygon ZK rollup scheme eliminates the need for miners on the [Ethereum Mainnet](https://www.alchemy.com/rpc/ethereum) to verify individual transactions by generating a validity proof \(or zero-knowledge proof\) for every rollup.  Because validity proofs are mathematically provable, the Ethereum network can trustlessly verify the authenticity of batched transactions. This improves the security of rollups, as malicious activity is much harder to pull off.  More importantly, validity proofs \(or zero-knowledge proofs\) enable the immediate confirmation of rollup transactions on the main chain. Users can move funds seamlessly between the rollup and the base blockchain \(Ethereum\) without experiencing friction or delays.  In contrast, Optimistic rollups \(used by Optimism and Arbitrum\) impose a waiting period before users can withdraw funds. This limits the efficiency of rollups and reduces the value for users. The Polygon network has previously reiterated its commitment to scaling Ethereum via ZK rollups and plans to [invest over $1 billion in zero-knowledge technology](https://blog.polygon.technology/the-polygon-thesis-strategic-focus-on-zk-technology-as-the-next-major-chapter-for-polygon-1b-treasury-allocation/). At least four products in Polygon’s stack are based on ZK rollups, including Zero, Hermez, Miden, and Nightfall.  In the next section, we review each Polygon ZK rollup solution and explain what it offers.  ## What is Polygon zero? **Polygon Zero is a ZK rollup solution specifically designed to reduce the computational cost of generating validity proofs.** While ZK rollups can indeed increase scalability, their functionality is limited due to the time-intensive and costly proof-generation process.  Polygon Zero solves this problem by using “recursive proofs”, which are faster than existing prover systems. These recursive proofs come from [Plonky2](https://blog.polygon.technology/introducing-plonky2/), a proving mechanism developed by the team behind Mir Protocol.  Mir Protocol was a project exploring recursive ZK proofs to scale [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) until the team's acquisition by Polygon. Mir Protocol’s core team continued to work on scalable proofs, leading to the launch of [Plonky2](https://www.alchemy.com/dapps/plonky2) early in January 2022. Recursive proof systems work differently from existing ZK prover mechanisms. With existing projects, the idea is to generate proofs one batch of transactions at a time. However, this can take a lot of time.  Polygon Zero adopts a different approach by generating proofs simultaneously for every transaction in the batch. Then the machine aggregates multiple transaction proofs into a single proof submitted on the Ethereum network.  This mechanism significantly reduces the effort it takes to generate reliable validity proofs for transaction rollups. Polygon Zero’s Plonky2 can generate a recursive proof in 0.17 seconds, making it arguably the fastest ZK proof-generation scheme today.  Polygon Zero is designed to be compatible with the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) and can batch up to 3,000 transactions per block. Although Polygon Zero is yet to go live, further breakthroughs in cryptography research may position it as the dominant ZK rollup project in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum).  ## What is Polygon hermez? Polygon Hermez is a ZK rollup project with decentralization as the main objective, and it is reputedly the only decentralized ZK rollup operating atop the Ethereum network. The Hermez network uses a novel consensus algorithm, called proof of efficiency \(PoE\), to ensure decentralization and network security. This system consists of **Sequencers and Aggregators**, who collectively ensure the rollup’s functionality. Sequencers accept transactions and include them in a batch, while Aggregators generate ZK proofs to be submitted to Ethereum.  In the PoE system, anyone can become a Sequencer or Aggregator, and there are built-in cryptoeconomic incentives to encourage honest behavior. This protects Polygon Hermez from centralization problems that plague ZK rollups, and also reduces the chances of malicious activity on the network.  The Hermez protocol achieves considerable throughput by using tested-and-true zero-knowledge technology. It can include up to 2,000 transactions in one batch and generates SNARK \(Succinct Non-Interactive Argument of Knowledge\) proofs to confirm the validity of transactions in each rollup.  #### Polygon hermez 2.0 While Polygon Hermez has been active since 2021, usage has remained low. Hermez lacks EVM compatibility, so functionality is limited to simple token transfers and atomic swaps.  But Polygon has announced plans to bring EVM compatibility to Hermez in the future. The project, dubbed “Hermez 2.0” will see the introduction of a [zero-knowledge EVM \(zkEVM\)](https://blog.polygon.technology/zkverse-deep-dive-into-polygon-hermez-2-0/) that combines the existing ZK rollup with an EVM implementation.  With Hermez 2.0, Polygon can make good on its promise to scale Ethereum through ZK rollups. Already, the Polygon Hermez team plans to use machine instructions \(opcodes\) native to the EVM. This will make it easy for projects to port Ethereum-based apps to Polygon Hermez or launch EVM-compatible apps directly on the rollup.  ## What is Polygon miden? **Polygon Miden is a general-purpose, STARK-based ZK rollup with EVM compatibility.** STARK \(Scalable Transparent Argument of Knowledge\) is a type of cryptographic proof with similarities to the more popular SNARK system.  Some consider ZK-STARKs better than ZK-SNARKs because the former doesn't need a trusted setup, and can deter quantum-computing attacks. The downside is that STARKs require larger proofs, making them more expensive to use.  As an [EVM-compatible ZK rollup, Polygon Miden](https://blog.polygon.technology/polygon-announces-polygon-miden-a-stark-based-ethereum-compatible-rollup/) is fairly unique. Other STARK-based ZK rollups \(most notably StarkNet\) cannot support [Solidity](https://www.alchemy.com/dapps/solidity) smart contracts, limiting their value to Ethereum users.  Polygon Miden relies on the **Miden Virtual Machine \(VM\)** to execute arbitrary logic and run smart contracts. Developers can easily compile code written in Solidity or Vyper into Miden Assembly, the language used for programming machine instructions in the Miden VM.  Polygon Miden can process up to 5,000 transactions in a single block, with new blocks produced every five seconds.  Although this ZK rollup exists as a prototype for now, it is expected to boost throughput to over 1,000 transactions per second \(TPS\) at launch.  ## What is Polygon nightfall? **Polygon Nightfall is an enterprise rollup solution developed to facilitate private transactions for institutions that launched on the Ethereum Mainnet on May 17th, 2022.** The project is the result of a collaboration between Polygon Technology and corporate giant Ernst & Young \(EY\).  Polygon Nightfall uses a unique rollup design that combines Optimistic rollups and zero-knowledge cryptography. Using Optimistic rollups lowers transaction costs, while ZK technology protects transactions from prying eyes.  For large-scale companies looking for scalable and private blockchain transactions, Polygon Nightfall offers a compelling use case. Nightfall is still in production, although the Polygon team [recently announced the launch of a beta version on Ethereum Mainnet](https://blog.polygon.technology/introducing-polygon-nightfall-mainnet-decentralized-private-transactions-for-enterprise/). The ZK rollup's architecture relies on the following components: #### Nightfall contracts Nightfall Contracts are smart contracts that govern activity on the L2 chain. They also manage the Block Proposer system and are responsible for selecting, rotating, and evicting Block Proposers.  #### Block proposers These are nodes responsible for validating and rolling up transactions into batches and then submitting them to the L1 blockchain.  #### Challengers Challengers are nodes selected to ensure honest behavior among Block Proposers. Challengers can create fraud proofs and submit the same on-chain to challenge invalid blocks.  #### Liquidity providers Liquidity Providers \(LPs\) monitor the L2 chain and provide liquidity for users who wish to withdraw to Ethereum. LPs are critical to Polygon Nightfall’s operation, as it solves the problem of delayed withdrawals that affect other Optimistic rollup systems.  Polygon Nightfall facilitates the secure and privacy-protecting exchange of ERC-20, ERC-1155, and ERC-777 tokens. With an estimated 100 TPS rate, Nightfall works well for enterprise clients wanting to transact quickly and privately on Ethereum. ## How do Polygon ZK rollups differ from other zero-knowledge rollups? Polygon ZK rollups are different from other zero-knowledge rollup designs in terms of speed, cost, and the ability to support EVM-compatible computation. ### Polygon ZK rollups are faster A drawback associated with traditional ZK rollups, like [StarkNet](https://www.alchemy.com/layer2/starknet) or [zkSync](https://www.alchemy.com/overviews/what-is-zksync-era), is the computational cost of generating validity proofs. Often, inefficiencies in proving mechanisms offset the benefits of ZK rollups.  Conversely, Polygon ZK rollups are designed to shrink the computational cost of creating proofs. One of Polygon's ZK rollup, Polygon Zero \(using Plonky2\), **can generate recursive ZK proofs in 170 milliseconds.**  ### Polygon ZK rollups are EVM-compatible  While zkSync recently released a zero-knowledge EVM implementation, most ZK rollups are incompatible with Ethereum. For instance, using StarkNet requires learning Cairo, a Turing-complete language for executing programs in the StarkNet OS.  The implication is that these systems cannot extend Ethereum's capabilities as Polygon's ZK rollups do. Users cannot access Ethereum-based apps on such ZK rollups, while developers cannot effectively harness the network effects of Ethereum. ### Polygon ZK rollups are cheaper to use  Polygon's zero-knowledge rollup stack is designed to minimize the costs involved with using L2s. ZK rollups often attract criticism because generating validity proofs requires expensive, specialized hardware—with these costs passed on to users.  Polygon ZK rollups, like **Polygon Zero**, aim to simplify proving schemes—which would allow even lower devices to participate. For instance, testing for the Plonky2 proof generation was carried out on a consumer-grade PC.  Moreover, Polygon ZK roll ups offer smaller proof sizes than other ZK prover mechanisms. Plonky2, mentioned earlier, **can generate proofs as small as 45kb**. Not only does this eliminate hardware centralization, but it reduces cost burdens on end-users.  ## Why are Polygon ZK rollups important? **Polygon ZK rollups are important because of their scalability, lower transaction fees, and security.** ### 1. Scalability  Zero-knowledge rollups are a big part of the drive to scale Ethereum whilst preserving decentralization and security. ZK-rollups, like Polygon Zero and Polygon Hermez, can boost throughput to thousands of transactions per second.  ### 2. Low transaction fees  Exorbitant gas fees have been the major sticking point for Ethereum users. By taking transactions off the main chain and decongesting the network, Polygon ZK rollups can massively lower Ethereum's transaction fees.  ### 3. Security  ZK rollups are based on solid cryptography and have a higher security threshold than other rollup designs. Instead of relying on economic incentives or trust assumptions, like Optimistic rollups, ZK rollups rely on cryptographic guarantees to ensure network security.  Polygon ZK rollups post transaction data on Ethereum, so users can rely on Ethereum to enforce transactions conducted on the Layer 2 \(L2\) chain. For this reason, ZK rollups are among the most preferred solutions to Ethereum’s scalability woes.  ### 4. Innovation  Ethereum's limitations in terms of scalability can limit what developers can achieve. With gains in processing capacity from implementing Polygon ZK rollups, Ethereum developers are likely to find new use cases and expand into new areas.  ## Conclusion Zero-knowledge rollups are among the most-lauded solutions to Ethereum's scalability issues. With Polygon's commitment to integrating ZK rollups, the possibility of scaling Ethereum increases.  Polygon ZK rollups have the potential to massively increase Ethereum’s processing capabilities and bolster mass adoption. Alchemy is committed to scaling Ethereum and offers support for developers [building on Polygon](https://www.alchemy.com/layer2/polygon/?a=dd081c99da). ## Frequently asked questions ### What is a Polygon ZK rollup? A Polygon zero-knowledge rollup is a scaling solution that aggregates multiple off-chain transactions into a single on-chain transaction, using validity proofs to enable trustless verification without sacrificing security or decentralization. ### How do Polygon ZK rollups differ from other ZK rollups? Polygon ZK rollups offer faster proof generation \(around 170 milliseconds\), smaller proof sizes \(45KB\), EVM compatibility for easier Ethereum app migration, and lower costs through consumer-grade hardware requirements. ### What is Polygon zero and how does it work? Polygon Zero is a ZK rollup solution that uses recursive proofs from Plonky2 to reduce computational costs, generating validity proofs in 0.17 seconds and batching up to 3,000 transactions per block with full EVM compatibility. ### What makes Polygon hermez unique among ZK rollups? Polygon Hermez is the only decentralized ZK rollup operating on Ethereum, using a Proof-of-Efficiency consensus system where anyone can become a Sequencer or Aggregator, supporting up to 2,000 transactions per batch. ### How do Polygon ZK rollups compare to optimistic rollups? Polygon ZK rollups provide immediate transaction finality through cryptographic validity proofs, while Optimistic rollups require waiting periods and rely on economic incentives rather than mathematical guarantees for security. ### What is Polygon miden? Polygon Miden is a STARK-based, EVM-compatible ZK rollup that can process up to 5,000 transactions per block every five seconds, aiming for over 1,000 TPS at launch using the Miden Virtual Machine. ### What benefits do Polygon ZK rollups offer for Ethereum scaling? They increase throughput to thousands of transactions per second, significantly reduce gas fees, maintain high security through cryptographic proofs, and post transaction data on Ethereum for inherited protection. ### What is Polygon nightfall designed for? Polygon Nightfall is an enterprise rollup solution combining Optimistic rollups and zero-knowledge cryptography to facilitate private transactions for institutions, supporting ERC-20, ERC-1155, and ERC-777 tokens with approximately 100 TPS. --- # What is the Prater testnet? URL: https://www.alchemy.com/overviews/prater-testnet.md This article covers the Prater testnet and how developers can use it to test and refine their smart contracts on the Ethereum blockchain.  The Prater testnet allowed developers to test node operations such as adding and removing validators, migrating between clients, and performing upgrades and backups.  The Prater testnet is unique because it involves a proof-of-stake testing environment rather than proof-of-work. Because the mainnet Ethereum blockchain [merged with the Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain) to switch to a proof-of-stake consensus mechanism, the Prater testnet was a useful environment for developers to test their node configurations and smart contracts.  Generally, [testnets](https://www.alchemy.com/overviews/what-are-testnets) are alternative blockchains for developers to run their smart contracts in a sandbox environment to detect bugs and refine their codebase.  Overall, the Prater testnet was a great place for developers to test their validators, particularly regarding node operations, which ensured a smooth deployment of [Ethereum's planned proof-of-stake mainnet migration](https://www.alchemy.com/overviews/the-ethereum-merge) in 2022.  ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free [Sepolia faucet](https://www.sepoliafaucet.com/). ## **What is the prater Testnet?** The Prater testnet, a Proof-of-Stake beacon chain, which was first deployed in March 2021 by the Ethereum Foundation, is a testnet that specializes in testing node validator actions, particularly those that simulate staking.  A testnet is a sandbox environment that mimics the blockchain mainnet \(in this case, the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum)\), to allow developers to test their node configurations and smart contract code without threat of spending real ETH or disrupting the production environment.  To understand the Prater testnet, we must first understand the basics of consensus and validation on Ethereum. A validator is an entity that participates in the process of achieving consensus on the Ethereum protocol–effectively, they vote on whether a new block should be added to the blockchain.  The more Ethereum a validator has staked, the higher the weight of their vote. The minimum weight for an Ethereum–and Prater–validator is 32 ETH, and this ETH is staked to ensure financial consequences if validators behave improperly.  Additionally, to ensure that the validation of nodes is not taken over by a large party and remains decentralized, staking more than 32 ETH does not add to the weight of one’s consensus vote. The Prater testnet currently has 328,681 active validators. ## **Prater and Goerli merge** In preparation for the Ethereum merge, which had Ethereum migrating from a Proof-of-Work consensus mechanism to a Proof-of-Stake consensus mechanism, the Consensus Layer \(CL\) Proof-of-Stake testnet, [Prater, was merged with the Goerli](https://goerli.net/), the Execution Layer \(EL\), Proof-of-Authority testnet. Because Prater simulates a Proof-of-Stake, Consensus Layer environment, independent stakers, and validators should use Prater to test their CL client configurations before the official Prater merge with Goerli. If you are not an independent staker or node operator and want to test [apps](https://www.alchemy.com/dapps/top/defi-dapps) in a testnet, it is recommended that you use the Sepolia testnet because it is the primary testnet after the Ethereum Merge, with all others - Kovan, Ropsten, and [Rinkeby](http://www.alchemy.com/overviews/rinkeby-testnet) - being deprecated. ## **How to get prater Testnet ETH** Because Prater merged with the Goerli testnet, Prater accepts Goerli ETH \(goETH\). You can [get Prater testnet ETH from a Goerli faucet](https://goerlifaucet.com/) by following this simple guide on [how to request Goerli ETH from a faucet](https://www.alchemy.com/overviews/goerli-faucet). If you need larger quantities of Goerli ETH, please reach out to the Alchemy support team. ## **Prater Testnet alternatives** Alternative testnets to Prater that might be relevant to your blockchain application or Ethereum Merge planning include the [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) which uses a Proof-of-Stake consensus mechanism that will replace the now merged [proof-of-work testnet, Ropsten](http://www.alchemy.com/overviews/ropsten-testnet). For more information regarding the [Ethereum Merge timeline](https://alchemy.com/the-merge), review Alchemy’s resources. --- # Public vs. Private vs. Dedicated RPC Endpoints, Explained URL: https://www.alchemy.com/overviews/private-rpc-endpoint.md Every wallet and onchain app talks to a blockchain through an RPC endpoint: a URL that accepts requests like "what is this address's balance?" and "broadcast this transaction," and forwards them to a node running that chain's software. Most wallets ship with a default endpoint shared by every user of that wallet. The nodes behind that default are usually run by professional providers, but inside it you are one anonymous user among millions: you share the wallet's allocation with everyone else, you cannot see or debug your own requests, and you cannot raise your limits when your usage grows. A private RPC endpoint fixes that by giving you a connection of your own, with your own metered quota, from a provider you choose. Before setting one up, it is worth knowing that "private RPC" here can mean a few different things: - **A private RPC endpoint.** A URL with your API key embedded in it, served by a node provider's managed infrastructure, like [Alchemy's RPC API](/rpc-api). "Private" means only you can use that particular API URL, so your requests never queue behind a crowd. This is what most wallets and apps mean by the term. - **Private transactions.** Transaction routing that keeps a transaction out of the public mempool (the waiting room where pending transactions sit in plain view) until it is included in a block. This is what protects a transaction from MEV bots. Private transactions are a feature some RPC providers add to their endpoints, but it isn't necessarily a part of every private RPC endpoint. - **Private, single-tenant infrastructure.** Blockchain nodes reserved for one customer, for workloads with isolation, latency, or customization requirements that shared machines cannot meet, like [Alchemy's Dedicated Clusters](/dedicated-clusters). These three definitions are not competing options. They are layers: a private endpoint is the entry point, private transaction routing is a feature a provider can attach to it, and single-tenant infrastructure is what you graduate to when sharing itself becomes the problem. This guide explains each of these privacy options and how they compare. ## What is a private RPC endpoint? A private RPC endpoint is an RPC endpoint with a unique URL that only the owner can use, giving you your own authenticated lane into a node provider's fleet instead of the open queue of a public gateway. Think of it like an apartment building. A private endpoint gives you your own key and your own front door, but the building's plumbing and power are shared with every other tenant. That sharing is what makes a private endpoint free to create and instant to provision: your URL is yours alone, while the node fleet behind it is operated at scale for many customers. Our fleet at Alchemy is the same infrastructure that powers $1T+ in annual transaction volume for teams like Robinhood, Coinbase, and Polymarket, and you can access that same node fleet infrastructure for free. When you create an Alchemy account, the endpoint URL embeds an API key, which is what makes your connection private. The nodes are still shared, but your request quota is not: we meter usage per key, so you have a reserved slice of throughput that no one else's traffic can consume. A public endpoint works the other way around, with one pool of capacity rationed across every anonymous caller, usually per IP address, so your effective limit shrinks as the crowd grows. Compared with sharing a wallet's default endpoint or calling a public one, a private endpoint gets you four things: - **Speed.** Your requests hit a fleet tuned for low latency instead of queuing behind thousands of strangers in a public endpoint. You can [compare providers on live latency benchmarks](/benchmarks) before choosing one. - **Accurate data.** Nodes that lag behind the head of the chain serve stale balances and cause failed transactions. A managed fleet keeps its nodes current, so your wallet and apps see the chain as it is now. - **Reliability.** During airdrops, mints, and volatile trading windows, public endpoints degrade first, because their shared pool is exactly what everyone rushes at once. With an API key, your keyed throughput is unaffected by that crowd, and keeping the fleet behind your endpoint performant and serving all of your traffic is the provider's job. - **Visibility.** Public endpoints are often anonymous. With your own endpoint you can see every request, debug failures, and set alerts, which matters the first time a transaction silently fails. For developers, using the endpoint in code is a one-line change: it is a standard JSON-RPC URL, so you pass it to ethers, viem, or web3.py as the provider URL, and a `wss://` version of the same URL serves subscriptions. Since the key rides in the URL, protect your URL if it ships in a frontend: the dashboard lets you restrict a key to specific domains and IP addresses. ## How do public, private, and dedicated endpoints compare? RPC access comes in three tiers, and each column to the right buys you more isolation. 99.99% measured at Alchemy)', tooltip: "", icon: "", }, dedicated: { title: "Redundant nodes plus failover", tooltip: "", icon: "", }, id: 3, }, { feature: { title: "Customization", tooltip: "", icon: "" }, public: { title: "None", tooltip: "", icon: "" }, private: { title: "None", tooltip: "", icon: "" }, dedicated: { title: "Custom tracers, binaries, regions", tooltip: "", icon: "", }, id: 4, }, { feature: { title: "Cost", tooltip: "", icon: "" }, public: { title: "Free", tooltip: "", icon: "" }, private: { title: "Free tier, then usage-based", tooltip: "", icon: "", }, dedicated: { title: "Fixed monthly, capacity-based", tooltip: "", icon: "", }, id: 5, }, { feature: { title: "Best for", tooltip: "", icon: "" }, public: { title: "Quick tests", tooltip: "", icon: "" }, private: { title: "Most users, apps, and production workloads", tooltip: "", icon: "", }, dedicated: { title: "Hard isolation, latency, or customization requirements", tooltip: "", icon: "", }, id: 6, }, ], }} /> The real difference between the first two columns is accountability, not competence. [Public RPC endpoints](/rpc) are run by chain foundations, volunteers, and providers offering a free sample, and many are run well. But none of them owe you anything: no capacity, no uptime commitment, no guarantee of current data, and no one to call when requests start failing. They are fine for a quick test. A private endpoint on a managed provider is the right default for almost everyone: individual users who want faster wallet transactions, developers building apps, and production teams serving real traffic. The provider is accountable for keeping the fleet fast, current, and up, and publishes its measured performance so you can hold it to that. Beyond those needs, [Dedicated Clusters](/dedicated-clusters) also exist for the narrow set of workloads with requirements that shared infrastructure cannot satisfy by design. Note what the customization row in the table above implies: a private endpoint serves the same standard APIs to every customer, because everyone shares the same nodes. Only single-tenant infrastructure can run code or configurations that are yours alone. ## Do private endpoints protect transactions from MEV? Not by default, and this is where the second meaning of "private RPC" can cause confusion. The "private" in a private endpoint refers to who can use the URL endpoint. The transactions you send through it still enter the public mempool on most networks and with most providers, where MEV bots can see them before they are mined and front-run or sandwich them. Keeping a transaction out of the public mempool until it is included in a block requires private transaction routing, and that is a per-provider feature, not a standard part of the RPC stack. Some providers do not offer it at all; others sell it as an add-on or a separate endpoint. At Alchemy, we offer MEV protection for free on Ethereum, Solana, Base, Arbitrum, and BNB Smart Chain to customers who send their write traffic exclusively through us. Transactions sent through our standard endpoints are [routed through private submission channels](https://www.alchemy.com/docs/reference/mev-protection) automatically. Instead of being gossiped across the public network for anyone to inspect, they go straight to the parties who assemble blocks, such as trusted block builders on Ethereum. The exact channel differs per chain, but the effect is the same: your transactions stay hidden until they are in a block, which shields them from front-running and sandwich attacks. This requires no configuration, costs nothing extra, and does not worsen your execution price. And to be explicit about whose side the routing is on: we never front-run our customers' transactions or extract value from their order flow. The only MEV in our pipeline is the kind that works in your favor, like better execution prices. The exclusivity requirement is how the protection works, not fine print. A transaction is protected only if every copy of it stays out of the public mempool. If you multiplex your writes, broadcasting the same transaction through multiple providers for redundancy, the copies sent elsewhere land in public mempools where MEV bots can see them, and that transaction loses its protection. If you are evaluating providers and MEV protection matters to your users, ask for it by name. An endpoint being "private" tells you nothing about how it routes transactions. ## How do you create a private RPC endpoint? Creating a private RPC endpoint is straightforward with any RPC provider. Simply [create an account or login](https://dashboard.alchemy.com/?utm_source=overview&utm_medium=overview&utm_campaign=node), and many providers will offer you a free API key with some usage limits upon account creation, no credit card required (hint: we're talking about us). From there, select the chain and network you want to use the endpoint for. At Alchemy, all you need is one API key to access any of the [100+ networks we support](/rpc), and each network gets its own URL (eth-mainnet, base-mainnet, etc.) with your key attached. Remember: your URL contains your API key, so treat it like a password. For developers testing their application, you will then need to connect your wallet to your new endpoint, which you can do by opening your wallet of choice and opening the network selector. You will enter the details of the chain you want to connect to as well as your private RPC URL. Once that's done, all transactions associated with that wallet will route through your private endpoint! ## When is a private endpoint not enough? A private endpoint reserves your own slice of throughput, but the machines serving it are still shared with other customers. For the vast majority of workloads that is exactly the right trade: instant provisioning, elastic scaling, and usage-based pricing with no capacity planning. However, a small set of workloads has requirements that a shared fleet cannot satisfy by design: - **Custom code on the node.** Security and forensics teams run bespoke tracers and modified node clients. A shared fleet cannot host one customer's custom code, because every customer shares the same node runtime. - **Regulatory isolation.** Regulated financial institutions need to prove that no other customer's traffic, code, or data touched their environment. On multi-tenant hardware, that proof is impossible by definition. - **Regional latency.** Trading firms competing on speed need nodes placed in a specific region: next to their own servers to shave round-trip time off reads, or near a rollup's sequencer (the service that receives and orders that rollup's transactions) so submitted transactions arrive sooner. Shared fleets are placed for aggregate performance, not for one customer's geography. - **Unbounded historical queries.** Oracles, indexers, and analytics platforms need unlimited getLogs ranges and heavy archive access, which shared fleets rate-limit to protect other tenants. For those workloads, the next step up is a product like Alchemy's [Dedicated Clusters](/dedicated-clusters): single-tenant node clusters that we provision, operate, and maintain, configured to your requirements. Each cluster runs redundant nodes per chain, single-tenant isolation covered by our SOC 2 Type II audit, deployment in the region you choose, and a fixed monthly price based on provisioned capacity. For spikes beyond the cluster's provisioned capacity, traffic can automatically fail over to our shared fleet instead of returning errors; teams whose isolation requirements rule that out can size the cluster for peak load instead. Teams like [Blockaid](/dapps/blockaid) use Dedicated Clusters to run custom tracers securing $312B+ in assets. If you are weighing the decision, our guide to [choosing between shared and dedicated infrastructure](/overviews/dedicated-vs-shared-nodes) walks through it in detail, and there are deeper dives on [how dedicated infrastructure works](/overviews/how-dedicated-blockchain-infrastructure-works) and [how to evaluate dedicated providers](/overviews/how-to-evaluate-dedicated-blockchain-infrastructure). Teams currently running their own nodes can see [what migrating to dedicated infrastructure involves](/blog/migrate-self-hosted-nodes-dedicated-infrastructure). It is an endpoint swap, not a rebuild. ## Get a faster connection to the chain Whichever tier fits, the upgrade path starts the same way. Create a private RPC endpoint on the free tier in a couple of minutes, point your wallet or app at it, and get faster, more reliable access to every major network. If your workload has isolation, latency, or customization requirements that shared infrastructure cannot meet, [talk to our team about Dedicated Clusters](/dedicated-clusters). ## Frequently asked questions ### What is a private RPC endpoint? A private RPC endpoint is an RPC endpoint with a unique URL that only the owner can use, giving you your own authenticated connection to a node provider instead of a shared public gateway. The URL embeds an API key, and usage is metered per key, so no one else's requests can consume your capacity. ### What is the difference between a public and a private RPC endpoint? A public RPC endpoint is open to everyone and run on a best-effort basis: no rate-limit guarantees, no uptime commitments, and no one accountable when it degrades. A private endpoint is a keyed URL on a provider's managed fleet, with rate limits that scale with your plan, published uptime performance, and a dashboard showing your traffic. ### Does a private RPC endpoint make my transactions private? Not by itself. "Private" in the name refers to who can use the endpoint: every transaction still settles publicly onchain, and the provider operating the endpoint can see the requests you send, as with any RPC provider. Keeping transactions out of the public mempool before inclusion requires private transaction routing, which is a per-provider feature. Alchemy includes it on Ethereum, Solana, Base, Arbitrum, and BNB Smart Chain; many providers do not offer it. ### Does Alchemy protect my transactions from MEV? Yes. Standard Alchemy RPC endpoints on Ethereum, Solana, Base, Arbitrum, and BNB Smart Chain include MEV protection at no extra cost. Transactions are routed privately so MEV bots cannot see them before inclusion, which prevents front-running and sandwich attacks without changing your send-transaction flow or worsening your execution price. Protection requires sending your write traffic exclusively through Alchemy: if you multiplex the same transaction to multiple providers, the copies sent elsewhere enter public mempools where MEV bots can see them, and that transaction loses protection. ### What is the difference between a private RPC endpoint and a dedicated node? A private RPC endpoint is a keyed URL served by shared, multi-tenant infrastructure: the URL is exclusive, the nodes behind it are not. A dedicated node or cluster is single-tenant infrastructure reserved for one customer, used for workloads that need custom code on the node, regulatory isolation, specific regions, or unbounded historical queries. Alchemy offers both, and most workloads run best on a private endpoint backed by shared infrastructure. ### Do I need technical skills to create a private RPC endpoint? No. Creating a private RPC endpoint with Alchemy takes a couple of minutes: create a free account, create an app, and copy the RPC URL it generates. Adding it to a wallet like MetaMask is a settings change, not a coding task. ### Can I connect my private RPC endpoint to MetaMask? Yes. Open MetaMask's network menu, add a custom network, and paste your private RPC URL along with the chain ID, currency symbol, and block explorer for your network. Once saved, all activity on that network routes through your endpoint. ### Which blockchains does Alchemy support for private RPC endpoints? Alchemy supports private RPC endpoints for Ethereum, Solana, Base, Polygon, Arbitrum, Optimism, and more than 100 other networks across every major layer 1 and layer 2 ecosystem. ### When should I move from a private endpoint to dedicated infrastructure? Move to dedicated infrastructure when your workload has a hard requirement shared infrastructure cannot meet: running custom tracers or binaries on the node, proving single-tenant isolation for compliance, deploying in a specific region for latency, or running unbounded archive and log queries. If none of those apply, a private endpoint on shared infrastructure is the better default. --- # What is a Program Derived Address (PDA)? URL: https://www.alchemy.com/overviews/program-derived-address.md Program Derived Addresses \(PDAs\) are accounts on the Solana blockchain that have special properties. Using PDAs properly can make [Solana dApp development fast](https://www.alchemy.com/overviews/learn-solana-development) and efficient since they aid in cross-program communication.  This article will explain PDAs, what they are, which problems they solve, how they work, and how they are different from other accounts in [Solana's account model](https://www.alchemy.com/overviews/solana-account-model). ## **What is a program derived address \(pda\)?** **A Program Derived Address is an account on the Solana blockchain that does not have a private key**. Since a PDA is not a public key, the address of the account is found using the program ID, a SHA-512 hashing function, seed array, and a special bump seed. ### **What is a standard account on Solana?** **A standard Solana account has both private and public keys \(32 bytes each\), and together they form a keypair, which is 64 bytes long and sits on an elliptic curve \(ED25519\)**. In order for the keypair to be valid it must lie on this curve.  Here is a representation of an ED25519 Elliptic Curve: ## **How are program addresses derived?** PDAs require three main components: 1. **Parent Program ID** - the ID of the parent program that creates the PDA 1. **Seeds** - an array of strings 1. **Bump Seed** - makes sure that the PDA does not have a private key **Creating a valid Program Derived Address requires taking the ID of its parent program, the seeds array, and running them through a SHA-512 hashing function**.  In about 50% of the cases, however, the result of this hash is a keypair that lies on the _ED25519 Elliptic Curve_. Because PDAs do not have a private key, Program Derived Addresses **must not lie on the elliptic curve**. To prevent PDAs from having private keys, a special _bump_ seed is used to “bump” the hash result off the curve.  The bump seed is nothing more than a number, starting at 255. In the case where even with the bump seed, the hash result still resides on the curve, the hashing function is run again, with a bump equating to 254, then 253, etc. until the generated result is not on curve. Note: Seeds can be any arbitrary string, but developers use them in a context specific to the state variables of the parent program to create hashmap-like structures. ## **What problems do PDAs solve?** **Program derived addresses streamline transaction confirmation by programmatically generating transaction signatures, thus helping trustless services like DeFi accounts to function seamlessly.** Here is a hypothetical example use case for PDAs. Consider a Solana program that lets the user set an NFT as their default profile picture \(PFP\). The program will consist of two programs: 1. **The PFP program** - creates accounts to store a user’s selected profile picture 1. **The Core program** - acts as a proxy between the user’s inputs and the PFP program For the PFP program to update a user’s selected profile picture, it would need to use its private key to sign a transaction that will change the user’s profile picture. However, this would also mean that the program would need to store its private key on-chain. A Solana program cannot use its private key to sign a transaction on its own behalf, because the key itself would be stored on-chain, making it visible to everyone. If this happened, the private key could be used to sign transactions on behalf of the program and change the profile picture of any user. Imagine that the PFP program was responsible for handling millions of SOL tokens. Such an exploit would become a major hack. Program Derived Addresses solve this. ## **Why are PDAs important?** Program Derived Addresses play an instrumental part in Solana programming because they aid the communication between different programs \(Cross Program Invocations\) and can act as a hashmap for storing specific data that its parent program can easily update and change. ### **1. Storing a program’s state variables** PDAs allow Solana developers to store and track a variable or a set of variables, related to a specific user. A PDA’s best use case is storing state variables or data for its parent program because by default it has authorized the parent program to make changes on its behalf. ### **2. Use PDAs as hashmaps** Mapping represents a set of key-value pairs, and is used to easily find information that is associated with a key. In Solana development, a PDA’s seeds and the correct strings can be used to achieve the same result.  **Let's go back to our previous wallet profile picture example.** Once a user selects their wallet’s PFP, the PFP program takes the selected image, the user’s address, and uses those as ‘seeds’ for creating a PDA that would store the user’s choice. Once the Program Derived Address is successfully found by the hashing algorithm, its public key is ‘mapped’ to the user’s address and chosen NFT avatar. The hashmap feature could be utilized even better by providing another PDA as a third seed. We can take all the available profile pictures and store them in a separate PDA, and we will pass each profile picture as its seed, and we end up with a PDA that stores all the profile pictures. Now, when a user comes and picks their profile picture, the PDA will look like a hashmap because the seeds are passed so that if you look at them, you will know that out of a selection of profile pictures \(the PFP group PDA\), a user’s address that we passed as a first seed, has chosen the profile picture that we passed as the second seed.  This example could be built upon to create even deeper hashmap structures. ### **3. Cross program invocations** [Cross Program Invocations \(CPI\)](https://www.alchemy.com/overviews/cross-program-invocation) is the process of one program calling a function in another program. CPIs are useful because they allow for better code composability. Going back to our example, let's say that a user wants to change their profile picture from a Degen Ape to a Solana Monkey Business avatar. **Here’s what happens under the hood:** Upon logging into their wallet, the core contract will take the user’s address \(public key\) and will look for an already created PDA, whose seeds include the user’s public key.  After finding it, the core program will invoke a function in the PFP program called ‘changePFP\(\)’ \(this is a Cross-Program Invocation\), which would accept the PDA that has already been ‘selected’ by the Core program as an argument.  Once the function is called, the selected PDA will check if the account that is ‘asking’ for the change to happen is its parent. If the PDA is a mismatch the transaction will be rejected, because only a parent program can modify the data of a PDA.  Since the PFP program is the parent of the selected PDA, it will be allowed to change the selected profile picture of the user from a Degen Ape to an SMB avatar. Program Derived Addresses allow their parent programs to sign on their behalf and can be used to store a program’s state, hashmaps and in cross-program invocations. PDAs are a foundational topic in the realm of Solana programming that enable fast and efficient dApp development. ## **Program derived address FAQs** When working with Program Derived Addresses, it may be helpful to understand how Solana handles transactions and data. The two primary types of accounts are executable and non-executable. ### **What is an executable account?** Executable accounts, also known as **_programs_**, are similar to an Ethereum smart contract — a piece of code that changes its state when an account interacts with it. ### **What is a non-executable account?** Non-executable data accounts are simply used for storing data \(e.g. the amount of SOL that the account owns, NFTs, token balances, etc.\), essentially, the state variables of a program. ### **How is Solana program data storage different than Ethereum smart contracts?** One foundational difference between Ethereum and Solana is how the storage of executable code is organized. Smart contracts on Ethereum come ‘prebuilt’ with **storage** where the [smart contract stores all its state variables](https://www.alchemy.com/docs/smart-contract-storage-layout). In comparison, programs on Solana do not have pre-built storage, but they have separate data accounts which hold the various state variables they want to store and reference. --- # What is Proposer / Builder Separation (PBS)? URL: https://www.alchemy.com/overviews/proposer-builder-separation.md The blockchain emerged as a solution to decentralize the trust required to run a digital economy, which traditionally has been managed by central authorities. In a blockchain, a network of validators work together to process transactions and add new blocks to the chain.  **Block proposers** effectively have control over which transactions get included in a block and can use this power to censor or otherwise manipulate transaction flow. Researchers have proposed various solutions to this censorship problem, one of which is known as [Proposer/Builder Separation \(PBS\)](https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance). ## **What is in-protocol proposer/builder separation \(pbs\)?** **Proposer-Builder Separation \(PBS\) is a potential solution to the blockchain censorship and MEV attack problem where** **block construction \(i.e. block building\) and block proposing are assigned to different roles in the network.** Block builders create "exec block bodies," which are ordered lists of transactions, and submit bids for these blocks. The proposer's job is simply to accept the exec block body with the highest bid. Proposer/builder separation isolates building, which is prone to centralization, from transaction validation which should be highly decentralized. Unlike the traditional approach, the proposer \(and everyone else\) cannot see the contents of an exec block body until after they select the header that wins the auction. This "pre-confirmation privacy" is necessary to prevent the stealing of [Maximal Extractable Value \(MEV\)](https://www.alchemy.com/overviews/mev-boost) by parties that could otherwise control the transaction ordering in a block. The long-term plan for PBS is to be protocol-native in Ethereum. **Flashbots**, an R&D organization mitigating the negative externalities of MEV attacks, is leading the protocol standard today. ### **What is hybrid PBS?** In hybrid PBS, each transaction comes with a **witness** to prove the balance and nonce of the transaction sender. These witnesses can be added by intermediary nodes, such as builders. This extension allows for validators to be stateless, as they would no longer need to keep track of the entire transaction history.  ### **What is a block proposer?** In today’s Ethereum, a **block proposer** is an entity which creates a block of transactions, and propagates it to the network for inclusion in the blockchain. A block proposer can choose to include or exclude transactions from a block, as they look at which transactions in [the Ethereum mempool](https://www.alchemy.com/overviews/what-is-a-mempool) pay the highest priority fee. The design of [post-merge Ethereum](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022) is the same. In PBS, the proposer instead relies on a market of outside actors \(the builders\) who produce bundles with complete block contents, and the fee for the proposer, with the proposer choosing the bundle with the highest fee.  #### **Who can be a block proposer?** In the traditional approach, any node can be a block proposer. With the [Ethereum Merge](https://www.alchemy.com/overviews/the-ethereum-merge), where Ethereum became Proof-of-Stake, validators are randomly selected to be block proposers in every slot. This validator creates the new block and sends it to other nodes in the network. At the same time, a committee of validators is randomly selected, who will vote to determine the validity of the proposed block. Under the PBS proposal, there's not yet a concrete answer as to who would become block proposers, but since the only thing the proposer needs to do is select the highest-fee bundle, it could be done inside a simple [MPC \(multiparty computation\)](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) to prevent cheating. ### **What is a block builder?** **A block builder is an entity which creates an "exec block body" – a list of transactions – and submits it, along with a bid, to the Ethereum network.** The block proposer then chooses the exec block body with the highest bid to include in the new block.  In one proposed PBS solution, there are two types of builders: 1. **Primary builders** are block builders that can build primary exec blocks and can see the pre-state they are building on top of 1. **Auxiliary builders** are block builders that can build auxiliary exec blocks and don’t know what state they are building on top of #### **Who can be a block builder?** Since committees currently exist in Ethereum to help finalize blocks, it's likely that these same committees could act to vote for the selection of builders in each block period. It would be possible to have a group of semi-trusted builders that are voted on by the network.  ### **What is required to be a block builder?** **Vitalik Buterin** explains that proposers "are totally able to be their own block-builders," but they wouldn't have to be. Any node that can pay the fee for the proposer and run the algorithm to create an exec block body could be a builder.  ## **How does two slot PBS work?** In [two-slot PBS](https://ethresear.ch/t/two-slot-proposer-builder-separation/10980), a beacon block is needed in every slot to include the winning exec header, which is attested by committees. If a beacon block is missing, then the next slot is switched to be a beacon block instead of an intermediate block. ## **How is proposer/builder separation related to MEV?** Under the current design, miners are able to capture a large portion of MEV by choosing which transactions to include in a block. This allows them to front-run other users or conduct other MEV attacks. PBS would mitigate this problem by separating the block construction process from the block proposal process. Builders would be selected by the highest fee they're willing to pay, and proposers would simply select the exec header with the highest fee. At this time, PBS is simply a research idea. It's not being used in Ethereum, or any other blockchain. ### **Alternative solutions to MEV** **There are other alternative solutions to MEV costs, including request-for-quote \(RFQ\) exchanges and TWAMM \(Time Weighted AMM\) designs.** Request-for-quote exchanges use off-chain quoting to avoid the problem of sandwich attacks where an entity will include two transactions around the victim's transaction, profiting from their slippage tolerance. With RFQ exchanges the client does not reveal their order to the market until it is ready to be executed. This way, there is no window for another entity to place their transactions around the victim's. TWAMM also prevents sandwich attacks by executing transactions lazily. In TWAMM, orders are executed as if they were placed in between blocks. This way, an attacker would need to straddle blocks in order to take advantage of the victim's slippage tolerance, which is riskier than simply including transactions around the victim's.  ## **How does PBS work in relation to danksharding?** The PBS design makes it easy to [implement danksharding](https://www.alchemy.com/?a=077efcaade) on top of it. Danksharding is a new sharding design, which has a merged fee market, where one proposer chooses all transactions and data that goes into a slot. This forces high system requirements on validators. PBS could be used such that builders bid on the right to choose the slot's content, and the proposer simply selects the valid header with the highest bid. ## **How does separating builders and proposers help scalability?** PBS improves scalability by allowing for stateless validators. If all builders include a witness for each transaction, then the proposer can just select the header with the highest fee, without having to process any data. This means that validators wouldn't need to keep track of the entire blockchain history. ## **How does separating builders and proposers protect security and decentralization?** PBS protects security and decentralization by making it more difficult for block proposers to censor transactions or manipulate the transaction order. By isolating the block construction process from the block proposal process, PBS makes it more difficult for block proposers to control which transactions get included in a block. ### **Why is it likely that block proposers become centralized?** There is extractable economic value in the selection of the next block. Mining pools or other centralized entities are likely to emerge and control the block proposer role due to this economic incentive. ### **What are the censorship challenges of PBS?** Front-running, or when a party submits a transaction to take advantage of another party's transaction, is a major issue with the current approach to transaction ordering. If a large enough actor is trying to censor a particular transaction, they can raise the priority fee required for that transaction to such a high amount that it becomes uneconomical for anyone else to include it in a block. The actor effectively controls which transactions get included simply by paying higher fees. PBS needs to mitigate that risk, alongside the following censorship-resistance requirements: #### **Denial of service \(DoS\) protection** Data that no one pays for, and thus bloats up the chain, must not be included in a block. For example, if a transaction is found to be invalid due to insufficient balance or other problems, the protocol must still charge the proposer for including it in the block. #### **Minimal bandwidth** **‍**The solution should not require excessive data to be exchanged between network participants. For instance, having many redundant exec block bodies floating around the network would use up unnecessary bandwidth. #### **No reintroduction of centralization** **‍**The proposal should not incentivize proposers to become more sophisticated and thus enter into relationships with other entities or join pools. #### **Allowing stateless proposers‍** It would be ideal if validators could remain stateless, as this would further decentralize and scale the network.  ## **Proposer/builder separation takeaways** PBS is a potential solution to the blockchain censorship and MEV attack problem that is currently being researched. By separating the roles of block construction and proposal, PBS could create a more decentralized, secure network.  However, there are a number of challenges that need to be addressed before it can be implemented, such as the risk of builder centralization and the use of bandwidth. Additionally, there are other potential solutions, such as request-for-quote exchanges and TWAMM designs. To start building on Ethereum, [create a free Ethereum developer account](https://www.alchemy.com/?a=077efcaade) today. --- # What is a reentrancy attack in Solidity? URL: https://www.alchemy.com/overviews/reentrancy-attack-solidity.md **A reentrancy attack** in [Solidity](https://www.alchemy.com/overviews/solidity) repeatedly withdraws funds from a smart contract and transfers them to an unauthorized contract until the funds have been exhausted. The attack occurs during the execution cycle on the blockchain when bad actors find an exploitable smart contract. Reentrancy attacks have liquidated millions of dollars from [DAOs](https://www.alchemy.com/dapps/top/daos) and blockchain protocols. The following article explains the mechanics of a reentrancy attack, two types of reentrancy attacks, and the preventive measures **Solidity developers** can take to secure a smart contract from vulnerabilities on the Ethereum and Solana blockchains.  ## What is a reentrancy attack? Reentrancy attacks occur when a smart contract function temporarily gives up control flow of the transaction by making an external call to a contract that is sometimes written by unknown or possibly hostile actors. This permits the latter contract to make a recursive call back to the primary [**smart contract function**](https://www.alchemy.com/overviews/solidity-functions) to drain its funds. The execution cycle of a smart contract on the Ethereum blockchains checks the balance, sends the funds, and then updates the balance. While the smart contract is in escrow, bad actors can [make another call](https://www.alchemy.com/overviews/solidity-call) to withdraw funds. The cycle repeats until all funds are effectively drained. ## How does a reentrancy attack work? **A reentrancy attack creates a recursive process that transfers funds between two smart contracts, the vulnerable contract and the malicious contract.** Here are the steps of a reentrancy attack: 1. The bad actor makes a call on the vulnerable contract, "X," to transfer funds to the malicious contract, "Y." 1. Contract X determines whether the attacker has the necessary funds, then proceeds to transfer the funds to contract Y. 1. Once contract Y receives the funds, it executes a _callback_ function which calls back into contract X before the balance is updated. 1. This recursive process continues until all funds have been exhausted and transferred. **The diagram below illustrates the attack scenario:** ## **What are the different types of reentrancy attacks?** **There are two types of reentrancy attacks: a single function and cross-function reentrancy attack.**  ### **1. Single reentrancy attacks** A single reentrancy attack occurs when the vulnerable function is the same function the attacker is trying to recursively call. Single reentrancy attacks are simpler and easier to prevent than cross-function reentrancy attacks.  ### **2. Cross-function attacks** A cross-function reentrancy attack is feasible only when a vulnerable function shares state with another function that has a desirable effect for the attacker. Cross-function attacks are harder to detect and more difficult to prevent. ### **3. Cross-contract attack** A cross-contract reentrancy attack occurs when a state from one contract is called in another before it is fully updated. Cross-contract reentrancy attacks usually occur when multiple contracts manually share the same variable and some update the shared variable insecurely. ## **Solidity reentrancy attack examples** The following prominent reentrancy attacks further illustrate how bad actors have exploited vulnerabilities in blockchain protocols: The DAO hack, Lendf.me, and [Cream Finance](https://www.alchemy.com/dapps/cream-finance). ### 1. DAO hack \(2016\) The Ethereum DAO was hacked for approximately $60 million in Ether. Ethereum’s DAO was designed as an investment fund where network members could vote on investment decisions directly. The DAO raised roughly $150 million, but experts and community participants expressed concerns surrounding the smart contract's security that was storing funds. The funds were locked in a smart contract vulnerable to a reentrancy attack due to a recursive call bug in the source code. Before the developer team fixed the problem, a hacker executed an attack and drained the contract.  ### **2. Lendf.me protocol \(2020\)** In April 2020, a bad actor stole $25 million using a reentrancy attack from the Lendf.me protocol, a decentralized finance protocol for lending operations on the Ethereum network. The protocol developers overlooked the fact that ERC-777 tokens contain a callback function that notifies users when money has been sent or received. Hackers exploited the vulnerability by instituting a malicious smart contract as the recipient and draining the Lendf.me protocol of 99.5% of its funds.  ### **3. Cream finance hack \(2021\)** In October 2021, a bad actor stole over $130 million worth of ERC-20 and CREAM liquidity protocol \(LP\) tokens by using a reentrancy attack on the protocol’s ‘flash loan’ feature. The root cause of the exploit was the erroneous integration of AMP into the CREAM finance protocol.  ## **How to prevent a reentrancy attack** **Developing a rigorous blockchain security framework is critical to prevent and mitigate potential damage from a reentrancy attack.** The following anti-reentrancy best practices will help developers and the broader web3 community secure their funds: checks, effects and interactions \(CEI\), reentrancy guards, pull payments, and gas limits. ### **Checks, effects, and interactions \(CEI\)** The CEI process is a rudimentary method to prevent reentrancy. Checks refer to the truthfulness of the condition, effects refer to state modifications that result from interaction, and interactions refer to transactions between functions or contracts. Potential security risks and loopholes associated with placing executive effects before interactions are an important consideration for developers.  ### **Reentrancy guard or mutex** A reentrancy guard or mutex can be created as a function or [function modifier](https://www.alchemy.com/overviews/solidity-modifier). A boolean lock is placed around the function call that is vulnerable to reentrancy. This implies that the initial state of ‘locked’ is false, however, it is set to true immediately before the vulnerable function execution begins and is then quickly set back to false after termination.  ### **Pull payment** A more secure end-to-end transaction is by using the pull payment methodology. The pull payment process mandates using an intermediary escrow to send funds and avoids direct contact with a potentially hostile contact. By sending funds via an intermediary escrow, the smart contract's funds are protected from a reentrancy attack. The escrow could be subject to reentrancy if it manages funds for multiple accounts. The CEI pattern and reentrancy guard should be implemented where appropriate.  ### **Gas limit** Gas limits are not an optimal method to avert an attacker since gas costs depend on Ethereum’s opcodes, which are subject to change. On the other hand, smart contract code is immutable. Understanding the difference between the [_send_, _transfer_, and _call_ functions](https://www.alchemy.com/overviews/solidity-functions) is important. _Send_ and _transfer_ are effectively the same, but the _transfer_ will revert if the transaction fails and _send_ will not. Unlike _send_ and _transfer_, the _call_ function does not have a gas limit and will forward its gas to execute multi-contract transactions. Unfortunately, this also means that reentrancy attacks are possible.  ## **Learn more about reentrancy attacks with Alchemy University** The execution cycle of a smart contract on Ethereum is not a foolproof process. Bad actors exploit the blockchain by implementing [reentrancy attacks](https://solidity-by-example.org/hacks/re-entrancy/) to transfer and drain funds from vulnerable smart contracts. Taking preventive measures will ensure Soldiity developers safer execution cycles and the protection of their blockchain protocols. To learn about Solidity smart contract development best practices, join Alchemy's free, [7-week Ethereum Developer Bootcamp](https://www.alchemy.com/university/courses/ethereum?a=c1cf9a376f). Originally a $3,000 certification course, Alchemy University's bootcamp is the premier place to [learn Solidity for free](https://www.alchemy.com/overviews/learn-solidity). If developers are new to development in general, Alchemy's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # A Complete Guide to Ethereum's Rinkeby Testnet URL: https://www.alchemy.com/overviews/rinkeby-testnet.md ## **The Rinkeby Testnet is deprecated** The Rinkeby testnet was deprecated by the Ethereum Foundation on October 5th, 2022. On October 5th, 2022, Alchemy's Rinkeby faucet was also deprecated. The Rinkeby testnet will be read-only for the foreseeable future and will be sunset in Summer 2023. Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) to test your [apps](https://www.alchemy.com/dapps/top/defi-dapps), as Alchemy has full Sepolia support and a free[Sepolia faucet](https://sepoliafaucet.com/) ## **What is the Rinkeby Testnet?** The Rinkeby testnet was an [**Ethereum testnet**](https://www.alchemy.com/overviews/what-are-testnets) used by developers to test decentralized applications before deploying them to the Ethereum mainnet. The network was a fork of the Ethereum mainnet that was run by pre-authorized nodes, preventing spam attacks and increasing performance. Developers used Rinkeby Faucet to get free testnet ETH to test their smart contracts without the risk of losing tangible financial assets. Because it was a testnet, the currency was worthless. Users couldn't mine ETH within the Rinkeby testnet; they only requested it. Authorized nodes were the only ones that created new blocks, meaning no other nodes were awarded mining rewards. The Rinkeby testnet supported the following node clients: Geth, Besu, Nethermind, and OpenEthereum.  This article will explain the Rinkeby testnet, its main uses, the Proof-of-Authority \(PoA\) consensus mechanism, and why it was deprecated.  ### **When did Rinkeby launch?** **The Ethereum team launched the Rinkeby testnet in 2017 using a modified proof of authority consensus model and was deprecated in favor of the Goerli testnet, another popular testnet that used the proof of authority consensus mechanism.** Rinkeby used proof of authority \(PoA\), a modified form of Proof of Stake \(PoS\)**.** Instead of staking with something that has monetary value, a validator’s identity performs the staking to provide high performance while also giving fault tolerance.  ### **How big was the Rinkeby Testnet?** There were about 11,000,000 blocks on the network, and as of 2021, Rinkeby had about 50 million transactions. While in use, the Rinkeby testnet had 46 active nodes, and the block time for the Rinkeby testnet was about 15 seconds. The max limit a block could be filled up with transactions was about 41,000. The Block gas limit for the Rinkeby testnet was about 30 million gas. The gas limit refers to the max price a cryptocurrency pays when sending a transaction or performing a smart contract function in the Ethereum blockchain. Fees are calculated in gas units, and the gas limit defines the maximum value that the transaction or function can "charge" or take from the user. With the gas price at about 1,000 gwei and 0.1 h/s average network hash rate, it provided 100% uptime with 30-80 ms page latency.  ### **Why did developers use Rinkeby over other testnets?** Developers chose Rinkeby over other testnets due to its faster block time. Ropsten had a block time of about 30 seconds, but Rinkeby cut that time in half.  The chain data size for Rinkeby was only about 6GB, which meant running an Ethereum node for Rinkeby wouldn’t require much data size compared to other testnets. Overall, Rinkeby was known to be more reliable and faster than other testnets. ### **What were some disadvantages of using Rinkeby?** One of the disadvantages of using Rinkeby was that its proof of authority blockchain consensus model didn't fully simulate the production environment. This was different from the Ropsten testnet, where miners on the network had a financial incentive to maintain the testnet itself. The Ropsten testnet used a PoW consensus mechanism, which made it identical to the Ethereum PoW consensus mechanism. Unlike the Kovan testnet, Rinkeby's testnet supported Geth software, not Parity. ### **How did developers use the Rinkeby Testnet?** **The primary use case for using the Rinkeby testnet was for developers to test their applications in a controlled testing environment that functioned like Mainnet Ethereum without taking the financial risk of executing smart contracts, iterating application features, and performing functionality.**‍ Rinkeby was famously used by well-known companies such as [OpenSea](https://www.alchemy.com/dapps/opensea), Manifold Studios, and [Rarible](https://www.alchemy.com/dapps/rarible), which deployed their NFT marketplaces on Rinkeby before deploying on the mainnet. Developers also used the testnet as an educational tool. Often, developers make several mistakes along their journey, and using a testnet enables them to understand better how to use the mainnet in the future. Finally, developers used Rinkeby to test upgrades to the underlying platforms. This is essential to create better developer tools for the Web3 ecosystem and to create more libraries, better documentation, and essential feedback overall.  All these use cases relate to creating a safe space for developers to thrive. Without testnets like Rinkeby, developers would have to bear the consequences of potentially losing real-world assets, and they would have to be more careful interacting with their smart contracts.  ## **How to get Testnet ETH** Since the deprecation of the Rinkeby testnet, developers and Ethereum enthusiasts have transitioned to using the Sepolia testnet as an alternative testnet for testing Ethereum protocol upgrades and smart contracts. Here's a step-by-step guide on obtaining Sepolia ETH from a Sepolia testnet faucet that allows anyone to send a small amount of fake ETH to their wallet. 1. Head to Alchemy's [**free Sepolia Faucet**](https://sepoliafaucet.com/) 1. Sign in to your Alchemy account 1. Enter your wallet address or ENS name 1. Click "Send Me ETH" Sepolia faucet interface for getting free SepoliaETH A popup will display ‘Transaction sent’ with the amount of Sepolia ETH deposited to your wallet. Next, you can check your Ethereum wallet to confirm you received the SepoliaETH. With your Sepolia ETH, you can now run smart contracts on the Sepolia testnet. To view the date and time, transaction fee, gas burnt, and other transaction details, you can look up your transaction hash on the [Sepolia Etherscan](https://sepolia.etherscan.io/). ## **What are the best Rinkeby Testnet tools?** While the Rinkeby testnet was in use, it worked best with other [blockchain developer tools](https://www.alchemy.com/overviews/20-blockchain-development-tools) to ensure developers had a great experience creating decentralized apps using a modern web3 tech stack. Web3 developers should consider the depth and breadth of available developer tooling, such as: ### **Popular Web3 libraries** Two of the most used Web3 native libraries include **[ethers.js](https://www.alchemy.com/dapps/ethers-js)** and **[web3.js](https://www.alchemy.com/dapps/web3-js)**. These libraries natively support remote procedure calls \(RPC\) to blockchain nodes hosted on the blockchain interaction layer. This enables seamless integration into a developer’s [Web3 tech stack](https://alchemy.com/overviews/web3-stack) and reading and writing data to the blockchain. Alchemy has another Web3 library. The [alchemy-web3.js](https://www.alchemy.com/docs/alchemy-quickstart-guide) library is a drop-in replacement for web3.js and is built and configured to work seamlessly with Alchemy and provide multiple advantages, such as automatic retries and robust WebSocket support. ### **Popular Web3 development environments** Fortunately, EVM-compatible chains benefit from years of Ethereum development and have many battle-hardened options for development environments. Hardhat, Truffle, and Brownie are all great options for development environments in Web3. These developer environments allow developers to compile, test, deploy, and debug Ethereum software. In addition, they come with more tooling and easily customizable local blockchain development environments. When it comes to decentralized storage, IPFS, Filebase, and Arweave serve as great options. Decentralized storage fills the gap for expensive and inefficient frontend content like images, videos, and GIFs. ### **Alchemy tools** Development platforms like [Alchemy](https://www.alchemy.com/?a=cfc275384d) provide an extensive suite of tools for testing and fixing bugs: [Supernode](https://www.alchemy.com/docs/reference/api-overview), Build, [Monitor](https://www.alchemy.com/monitor), and [Notify](https://www.alchemy.com/docs/reference/webhooks-overview) make this process much more convenient.  Now that the Rinkeby testnet is deprecated, developers can use Alchemy’s Sepolia development platform and dashboard to easily configure their needs in building Web3 decentralized applications.  Alchemy’s [JSON Composer](https://www.alchemy.com/composer) also helps developers create, fix, and share Ethereum requests, making the engineering process much faster. ## **Start building today** As web3 grows from its current state to maturity, there will surely be paradigm shifts, new web3 infrastructure tools, and plenty to learn. Using testnets is essential to developing web3 apps before deploying them to the Ethereum mainnet. With the Rinkeby testnet deprecated, developers can build while having the security, speed, and scalability using tools on the Sepolia test network. Join a growing movement of developers—both Web3 natives and fellow travelers from Web2— and together, we can [build the future](https://www.alchemy.com/?a=cfc275384d)! --- # What are Rollups-as-a-service (RaaS)? URL: https://www.alchemy.com/overviews/rollups-as-a-service-raas.md Rollups-as-a-Service \(RaaS\) offers a layer of abstraction over Rollup frameworks and SDKs to make it easy to deploy, maintain, and build on top of custom, production-grade application-specific rollups \(AppRollups\). RaaS empowers developers to focus on building the application layer, turning what used to take multiple engineers dozens of hours into a 10 minute no-code deployment process. To understand RaaS, we first need to establish some definitions. For the purposes of this article, we’ll assume readers have a basic understanding of L1s, sidechains, and [general purpose L2 rollups \(eg. Optimism and Arbitrum\)](https://www.alchemy.com/overviews/optimistic-rollups). ## What are appchains? An application-specific blockchain, or appchain, is a blockchain dedicated to serve and operate one specific application instead of multiple apps like a public blockchain. In this way, appchains offer a more sustainable long-term approach to scaling applications while enabling web3 developers to exercise greater freedom over economic structure, governance structure, and consensus algorithm for their apps. A year ago, app developers faced three primary choices when deciding where they wanted to deploy their application:  1. Public L1s or Sidechains like Ethereum, Solana, and Polygon 2. Shared general-purpose L2 rollups like Optimism and [Arbitrum](https://www.alchemy.com/arbitrum) 3. L1 appchain networks like Cosmos Each of these came with a unique set of tradeoffs that we’ll discuss below. Fortunately, we now have more advanced alternatives thanks in large part to Rollup SDKs. ### What are rollup SDKs? Rollup SDKs are frameworks for developers to build customized rollups from scratch. In practice, this enables any developer to create their own new, dedicated application-specific rollup \(AppRollup\) based on the same underlying software as leading general purpose rollups like Arbitrum and Optimism. As such, popular rollup SDK providers include [Arbitrum Orbit](https://www.alchemy.com/dapps/arbitrum-orbit), the [OP Stack](https://www.alchemy.com/dapps/op-stack), and Rollkit. AppRollups built with Rollup SDKs combine the customizability and flexibility of dedicated appchains with the security and scalability of general purpose rollups. Unfortunately, building effective AppRollups using Rollup SDKs requires intensive infrastructure engineering along with a comprehensive knowledge of all pieces involved in the modular stack to ensure the final infrastructure best suits the unique needs of the application. That’s where RaaS comes in to help. ## What are RaaS providers? In addition to deployment, RaaS providers like [Caldera](https://caldera.xyz/), Ankr, or [Dymension](https://www.alchemy.com/dapps/dymension) work with developers to tailor AppRollups to fit their specific use-case through custom data availability and settlement layers, fee payments, and even native gas tokens. Deploying a custom AppRollup through the Rollup SDKs requires teams to build support tools like testnet faucets, block explorers, and bridge interfaces. Most RaaS providers create these tools for every chain through their service, along with continued support with infrastructure-related needs in perpetuity. ### How do rollups-as-a-service \(RaaS\) compare to L1 blockchains? While deploying on top of an existing public L1 comes with strong security guarantees and robust resources, the nature of sharing blockspace with dozens of other applications inevitably hurts performance, raises user transaction costs, and limits customizability. As an L1 network and its applications grow in popularity, so do costs and processing speeds. For example, block times on [Caldera](https://www.alchemy.com/dapps/caldera) chains will take 10-100 milliseconds on average compared to 10-12 seconds on Ethereum. In order to combat the scaling issue, the development of more rollups which provide sufficient scalability while still preserving the security of the underlying base chain, has become commonplace.  RaaS providers enable developers to leverage the security of a base layer such as Ethereum, and enjoy the customizability of a dedicated appchain, all while maintaining EVM-compatibility and access to popular developer tools. ### How do rollups-as-a-service \(RaaS\) compare to layer 2 networks? Like public L1s, every dApp deployed on top of an Ethereum L2 \(including general purpose rollups like Arbitrum and Optimism\) is forced to share computational resources with all the other [apps](https://www.alchemy.com/dapps/top/defi-dapps) on that rollup, leading to inevitable battles for the limited blockspace. These shared networks also lack customizability in comparison to RaaS, as they’re meant to serve a wide range of usecases rather than optimize for a single one. Imagine a blockchain based video game that needs quick settlement time and is ok with a centralized sequencer. For this team, a RaaS makes much more sense than sharing blockspace on a general purpose L2. ### How do rollups-as-a-service \(RaaS\) compare to L1 appchains like Cosmos? The limited blockspace and lack of customizability mentioned above have contributed to the rise of application-specific blockchains through frameworks like the [Cosmos ecosystem](https://www.alchemy.com/dapps/ecosystem/cosmos), Polygon Superchains, and Avalanche Subnets. The trouble is that these L1 appchains require developer teams to bootstrap their own validator network for security, despite possessing far smaller developer communities with fewer resources and tooling. In contrast, RaaS solutions are able to inherit security from their settlement layers, while abstracting away difficult infrastructure engineering and providing developers access to the full suite of EVM tooling. ### What are the benefits & tradeoffs of rollups-as-a-service \(RaaS\)? RaaS represents a new status quo in Web3 infrastructure, enabling developers to deploy custom, performant AppRollups in the click of a button without the hassle and cost of intensive infrastructure engineering. The primary tradeoff for working with a RaaS provider at the moment is the lack of liquidity that you’d face with any new appchain. As expected, public general-purpose chains like Ethereum will almost always have more liquidity across its network due to the sheer number of applications and users operating all at once. However, for RaaS: the edge in performance enables a smoother user-experience, the customizations allow for more sustainable revenue generation \(through MEV optimization, sequencer fee collection, etc\), and the bridge interfaces make it easy for users to transfer funds from large public chains onto the AppRollups. These features should render any immediate lack of liquidity insignificant in the long term for most successful projects. ### What are the use cases of rollups-as-a-service \(RaaS\)? Because of the customizability, RaaS is a great infrastructure solution for nearly any application that plans to build at scale. These include on-chain gaming, DeFi applications, and a variety of consumer & enterprise protocols. --- # Ethereum's Ropsten Testnet: A Complete Guide URL: https://www.alchemy.com/overviews/ropsten-testnet.md The [Ethereum-based testnet](https://www.alchemy.com/overviews/what-are-testnets), Ropsten, enabled developers to experiment with protocol upgrades and decentralized applications before their deployment on the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). The testnet was similar to the PoW mainnet before the mainnet transitioned to the PoS consensus model due to its proof-of-work consensus model. It’s essential to know the testnet [merged with the Ropsten Beacon Chain](https://blog.ethereum.org/2022/06/03/ropsten-merge-ttd/) on June 8, 2022, when the Terminal Total Difficulty \(TTD\) of 50000000000000000 was reached. Because of this merge, developers are advised to use alternative testnets like the [Sepolia network](https://www.alchemy.com/overviews/sepolia-testnet) to test their applications and nodes in a post-merge environment.  Note: The Ropsten testnet was deprecated on October 5, 2022. ##### **Deprecation notice** While you can use the Goerli testnet, we caution against it as the Ethereum Foundation has announced that [Goerli will soon be deprecated](https://www.alchemy.com/blog/goerli-faucet-deprecation). Therefore, we recommend using [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) as Alchemy has full Sepolia support and a free[Sepolia faucet](https://sepoliafaucet.com/). ## **What is the Ropsten Testnet?** **The Ropsten testnet, which is now deprecated, is an Ethereum-based test blockchain used by Ethereum developers to test protocol upgrades before deploying applications on the Ethereum mainnet**. Ropsten supported node clients such as:  - [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one) - Parity - Nethermind - Hyperledger Besu Because it was a testnet on the Ethereum network, there was no direct fiscal tie with the mainnet, which means that developers don’t need to worry about the implications of transactions and the cost of testing applications on the testnet.  As the expense of erroneous implementations on the mainnet can be relatively high, it’s important for web3 developers to have access to a sandbox-like environment where the cost of a mistake or failure is negligible.  ## **When was Ropsten launched?** **Ropsten launched in November 2016 as the official successor to Morden, the first Ethereum testnet based on a PoW authority consensus model**. The Ropsten testnet has a chain and network ID of 3. Using a PoW consensus mechanism, the Ropsten testnet relied on all nodes to verify the computational effort a single node expended. This thwarted certain economic attacks on the network because miners had capital at risk.  However, Ethereum core developers merged the PoW mechanism with the Ropsten Proof of Stake Beacon Chain to prepare for [Ethereum’s mainnet merge](https://www.alchemy.com/overviews/the-ethereum-merge). The Ropsten testnet was primarily used by core developers for testing upgrades to underlying protocols. Like so many other testnets on the Ethereum blockchain, the Ropsten testnet was maintained by the Geth developer team.  ## **How big was the Ropsten Testnet?** **As of May 2022, there were approximately 12.3 million blocks on the Ropsten testnet, and developers had executed roughly 230 million transactions.**  The block time on the Ropsten testnet was below 30 seconds, and 15 miners had governance power, with 1 possessing 94.5% hash power.  The maximum block gas limit stood at 50,000. This represents the highest price a cryptocurrency will distribute when a smart contract is executed, or a transaction is sent on the Ethernet blockchain.  The gas price was about 146,602 Gwei with an average burn of 23.66 Gwei per block. To date, ~113,440 ETH was burned on the Ropsten testnet.  ## **Why did developers use the Ropsten Testnet?** **Developers used the Ropsten testnet because it best mimicked the production environment of the Ethereum mainnet when it was based on a PoW mechanism and to prepare for the Ethereum mainnet merge.** Miners on the Ropsten test network had a financial incentive to maintain the testnet itself, given its resemblance to the mainnet at the time. Moreover, the testnet provided helpful information about certain issues faced on the mainnet, such as the relationship between gas prices and [uncle block rates](https://www.alchemy.com/docs/what-are-uncle-blocks). It was also useful for decentralized application development as Ropsten provided realistic back-end and front-end performance tests.   In February 2017, the tesnet experienced a denial-of-service \(DoS\) attack where spam blocks were inserted into the network and were slow to process, requiring much CPU, time, and memory. This attack on Ropsten meant that connecting an Ethereum client to the Ropsten testnet was slow and consumed excessive disk space as the attack added 10 GBs of bloat to the distributed database.  In this instance, the Ropsten testnet demonstrated a vulnerability to spam attacks, indicating instability and unreliability. The [Ropsten network was revived](https://github.com/ethereum/ropsten/blob/master/revival.md) with new security provisions to combat similar threats. Until it was deprecated, no serious incident was reported on the testnet. ## **What happened to the Ropsten Testnet after the merge?** **The Ropsten testnet merged on June 8, 2022, when the Terminal Total Difficulty \(TTD\) of 50000000000000000 was reached, and it is no longer updated \(i.e., it is now deprecated\)**. Instead, Ethereum recommends developers use the Sepolia and Goerli testnets. While the Sepolia testnet is a PoS testnet, the Goerli testnet is a proof-of-authority testnet that can work across different clients. The Ropsten testnet merge was a vital testing milestone in anticipation of the [Ethereum merge](https://ethereum.org/en/upgrades/merge/) when the mainnet merged with the beacon chain PoS system. In effect, the Ropsten testnet merge simulated the eventual merge on the mainnet.  Marking the end of PoW for the Ethereum network, the Merge ensured a complete transition to a PoS consensus. PoS consensus mechanism reduced the need for energy-intensive mining activity. It also helps facilitate user participation in securing the overall network, which further promotes decentralization and will augment crypto-economic security relative to the PoW model.  Nevertheless, switching to a PoS model presents the following disadvantages: - The PoS consensus model is newer compared to the PoW model  - End-users need to run more pieces of software on the PoS model which involves an execution layer and a consensus layer \(formerly known as ETH2\) - PoS implementation is more complex than PoW  ## **Where can I get test ETH since Ropsten faucets are deprecated?** **Historically, developers could request testnet ETH on the Ropsten testnet using a Ropsten faucet, but because the network is no longer supported, it is recommended to use other testnets and faucets, such as Sepolia and Goerli, to test apps on Ethereum.** The two recommended testnets and faucets are Sepolia, which reflects most closely the post-merge development environment on Ethereum, and Goerli, a PoA test network. To support Web3 developers, Alchemy maintains a [Sepolia faucet](https://sepoliafaucet.com/) and a [Goerli faucet](https://goerlifaucet.com/), which provide extra fake ETH when users sign up for a free Alchemy account. An [Ethereum faucet](https://www.alchemy.com/dapps/list-of/crypto-faucets-on-ethereum) enables developers to obtain testnet ETH, which has no real-world value. Developers can use this testnet ETH for experimentation purposes on a decentralized application or protocol before deployment on the mainnet, where financial risks are real. ## **Saying goodbye to the Ropsten Testnet** The Ropsten testnet provided tremendous value to Ethereum developers since its launch in 2017 through the Ropsten merge until it was deprecated last year. From giving developers a safe testing environment for building applications to helping core developers plan and test for the mainnet merge, the Ropsten testnet has been a key web3 infrastructure for many web3 developers. --- # What is an RPC node? URL: https://www.alchemy.com/overviews/rpc-node.md A decentralized application \(app\) consistently requires data from the blockchain to complete user requests such as sending transactions, retrieving block data, or evaluating the state of the blockchain. Nodes enable this function through Remote Procedure Calls \(RPC\) which connect apps to the blockchain. Blockchain RPC nodes enable apps to interact with the blockchain and access user data easily.  In this article, we will dive into what a blockchain RPC node is and how they work. By the end, you will have a firm understanding of blockchain RPC nodes, RPC endpoints, and how to use [an RPC node provider](https://www.alchemy.com/overviews/blockchain-node-providers). ## What is a remote procedure call \(rpc\)? A Remote Procedure Call, or RPC, is a lightweight software communication protocol, which allows a program \(the client\), to communicate with a remote program \(the server\) hosted on a different network without needing details about the server’s network. For example, you may use an RPC from your local computer to request resources from a remote server system. Once the client makes a request, it prompts the server to execute a procedure, called a **subroutine**.  In blockchain, an app requires blockchain data to function correctly. As such, in the RPC client-server model, the app is the client and the server is an RPC node. ### What is an RPC node? An RPC node is a computer running blockchain client software — for example, a server running both an Execution Layer \(EL\) and Consensus Layer \(CL\) infrastructure for the Ethereum blockchain. There are multiple[ types of Ethereum nodes](https://www.alchemy.com/overviews/what-is-an-ethereum-node) including light nodes, full nodes, and archival nodes. In contrast, on Solana, developers can run both validator and RPC nodes. While the validator nodes run the Solana consensus protocol and earn rewards on block validation, [Solana RPC nodes](https://www.alchemy.com/overviews/solana-rpc) merely serve as a gateway for a Solana app to obtain blockchain information. For the purposes of this article, we will consider _any node that has the ability to respond to RPC requests_ as an RPC node. ### What is an RPC endpoint? An RPC endpoint is the network location where a program sends its RPC requests to access the server’s data. For example, after connecting your app to an [Ethereum RPC endpoint](https://www.alchemy.com/chain-connect/chain/ethereum), you can easily perform operations that make use of blockchain data in real-time. A _node_ with the proper software installed will have the ability to respond to RPC requests. An RPC endpoint running on a node refers to the service through which your app will retrieve blockchain information for its users. Accordingly, all RPC endpoints run on RPC nodes, and all RPC nodes are nodes with RPC endpoints. Thus, we will use the terms RPC node and RPC endpoint interchangeably.  ## What are the different types of RPC endpoints? Node RPC endpoints are categorized into two main infrastructure offerings: public and private. Alternative RPC endpoints support these two by helping apps maintain fault-tolerant backups for their RPC endpoints. ### 1. Public RPC endpoint Public RPC Endpoints are shared, rate-limited resources which run on RPC nodes available for any person to make requests to. Blockchains offer public RPC endpoints because they allow anybody to send and receive data from the blockchain \(e.g. make a transaction\). Public endpoints are free and ready to use at any time, and because they are not meant to support production-grade applications, they are often rate-limited. Further, public RPC endpoints have no customer support, lack active developer infrastructure, and do not scale to the demands of running apps. ### 2. Private RPC endpoint [**Private RPC endpoints**](https://www.alchemy.com/overviews/private-rpc-endpoint) are those that operate in order to service your app's needs alone, avoiding request congestion created by other programs and benefiting from a fast and consistent RPC service. Private RPC nodes run at your request. Additionally, if you’re using a node provider, private RPC endpoints often maintain explicit service-level agreements \(SLAs\), guaranteeing your app performant service, whenever you need it. For example, Alchemy offers [free Optimism RPC nodes](https://www.alchemy.com/overviews/optimism-node), [free Base RPC nodes](https://www.alchemy.com/docs/reference/base-api-quickstart?utm_source=overview&utm_medium=overview&utm_campaign=node),[ free Monad RPC nodes](https://www.alchemy.com/docs/reference/monad-api-quickstart?utm_source=overview&utm_medium=overview&utm_campaign=node), and free RPC nodes for [40\+ chains](https://www.alchemy.com/docs/chains?utm_source=overview&utm_medium=overview&utm_campaign=node). ### 3. Alternative RPC endpoint If your RPC endpoints experience downtime, an [**alternative RPC endpoint**](https://www.alchemy.com/overviews/alternative-rpc-endpoint) act as backup endpoints that help your app maintain a smooth user experience. Without an alternative RPC endpoint available, if your primary RPC endpoint fails, so will all of your user’s transactions. Building an app with an alternative RPC endpoint is a great practice to guarantee there is no single point of failure. ## How do RPC nodes work? RPC nodes function by connecting an app to all of the blockchain’s information. When a program initiates a subroutine, an RPC node is able to retrieve the necessary requests through the blockchain and send its payload back to the app. In this section, we will briefly unpack the technology behind blockchain RPC requests. ### The JSON-RPC protocol The standard RPC specification used in blockchains is called JSON-RPC. It is notable for its ability to receive and process requests for data quickly.  Recalling the client-server model, your app is the client, your RPC endpoint is the server, and JSON-RPC is the specific methods through which you request services from the RPC endpoint. Using methods outlined by each blockchain’s JSON-RPC API, you can request essentially any type of blockchain data your app could possibly need. As an illustration of the diversity of JSON-RPC methods, Ethereum denotes a set of core methods that get data from the Ethereum network. These methods are divided into three categories: gossip methods, state methods, and history methods. 1. **Gossip Methods** - tracks the head of the blockchain and is used for finding blocks 1. **State Methods** - returns reports on the current state of all the blockchain’s data 1. **History Methods** - retrieves historical records of any block on the chain Whenever a user’s action relies on blockchain data, the application \(client\) will use JSON-RPC methods to make calls \(subroutines\) through the RPC node \(server\) which will return information to be used by the application. # How to access RPC nodes There are three main ways for developers to access RPC nodes: using a private RPC endpoint from an RPC node provider, running their own node \(i.e. a self-hosted node\), or by sending traffic through a public RPC node. ## 1. Use an RPC node provider [**RPC node providers**](https://www.alchemy.com/overviews/blockchain-node-providers) handle all node setup, management and maintenance for your app and ensure that it’s running smoothly, and is the best practice for building onchain. Therefore, by [choosing a blockchain node infrastructure provider](https://www.alchemy.com/overviews/how-to-choose-a-blockchain-node-provider), all node setup and maintenance responsibility is relieved from the developer. The top blockchain node providers have these features integrated natively, saving developers time and energy to focus on building innovative end-user products. Node providers are available for most leading blockchains such as Ethereum ## How to get started using alchemy’s RPC node infrastructure Alchemy offers RPC endpoints across [40\+ chains](https://www.alchemy.com/docs/chains?utm_source=overview&utm_medium=overview&utm_campaign=node) including Ethereum, Solana, Monad, Base and Arbitrum. You can get sted with a high-performing, Alchemy RPC node in a just a few clicks. 1. Create [an Alchemy account](https://dashboard.alchemy.com/signup?utm_source=overview&utm_medium=overview&utm_campaign=node). 2. Create your first app by using the Create App button on the dashboard. 3. Name your app and pick your use case 4. Select the desired blockchain and network. 5. Use the "View Key" button on the dashboard and copy your new node’s URL to begin sending it RPC requests ## How to run your own RPC node While there are [**benefits and tradeoffs of running your own node**](https://www.alchemy.com/overviews/running-your-own-node), it is an option for technical developers and web3 teams that need complete control over how their node is configured. Here, we will describe, at a high-level, the steps to starting your own node on the Ethereum blockchain. ### 1. Choose your RPC node configuration Ethereum nodes are composed of three components: client implementation \(e.g. consensus client and execution client\), hardware and system environments, and settings. Let's review these at a high level. #### **Client implementation** This means [choosing node client software](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients) for your execution layer \(EL\) and for your consensus layer \(CL\). ELs include node clients such as **Besu**,** Erigon**, and** [Geth](https://www.alchemy.com/overviews/what-is-a-geth-node-and-how-to-run-one)**. Consensus Layer clients include those such as** [Lighthouse](https://www.alchemy.com/dapps/lighthouse-one)**,** Teku**, and** Lodestar**. #### **Hardware and system environments** You need to install your client software on hardware capable of running the clients. Your hardware needs will vary depending on the clients you choose and the blockchain on which you are building. For example, running Solana nodes have higher hardware clients than Ethereum. To see hardware specifications, refer to the blockchain's documentation.  Developers can either choose to build their own machines, or purchase hardware from a provider of hardware systems designed specifically for running nodes. The cheapest general node machine by an industry leading hardware provider, dAppNode, costs over $1,500. #### **Client settings** One of the main benefits of running your own node is the level of customizability. You can easily configure the node during setup based on your hardware and software requirements and any specific client requests. ### 2. Spin up an RPC node Once you have made all your hardware and software decisions, it is time to start up your node. You can either select a guided setup service, which will give you a user-friendly user interface \(UI\) to make your client setup decisions through, or set the node up manually using a Command Line Interface \(CLI\). **The high level steps are:** 1. Install both pieces of client software \(EL and CL\) 1. Start both clients, completing the setting configurations you decided upon Afterwards, your node will sync with the blockchain. Depending on the speed of your hardware and the size of the blockchain's historical state, this can take anywhere from a few days to several weeks. The lengthy sync process is one tradeoff of running your own node. If you need more capacity, it can take days or weeks to spin up a new node, whereas a node provider can provide extra capacity on demand. ### 3. Maintain your RPC node Maintenance costs is another tradeoff of running your own node. Nodes are intermittent and can go down, fall out of sync, and fail for a number of reasons. Additionally, the execution layer and consensus layer software will constantly be upgrade by node client software developers. ### Why is an RPC node provider better than running your own RPC node? **Aside from saving you time and resources spent on node management, node providers can guarantee 24/7, reliable, low-latency node access.** Your node will be serviced by an experienced team dedicated solely to the high-performance of your RPC node.  Deciding to run your own node is a great choice for extremely high levels of customizability, but not for a smooth and painless developer experience. ## How to send traffic through a public node **Depending on which blockchain you’re using, you can send requests by referencing your network’s documentation for public RPC endpoint offerings and routing traffic through that URL.** Some blockchains, such as Solana, offer access to a limited number of public RPC nodes. Below is an example of a curl request made using a Solana public RPC node. Note, however, that your requests will be rate-limited on public endpoints, and it is not a recommended practice for developers. ## Start building with Alchemy's free RPC nodes There are three ways to connect to RPC nodes: using a node provider like Alchemy, running your own nodes, and sending traffic through public nodes. Because running your own node requires a lot of unnecessary overhead, and public nodes are heavily rate limited, taking advantage of Alchemy's large free RPC node tier is the best option for building onchain. Ready to start using managed RPC nodes to make your development experience smoother? [Sign up for Alchemy](https://dashboard.alchemy.com/signup?utm_source=overview&utm_medium=overview&utm_campaign=node) and get started with a free RPC node! ## Frequently asked questions ### What is an RPC node? An RPC node is a computer running blockchain client software that enables applications to interact with the blockchain through Remote Procedure Calls \(RPC\). ### How do RPC nodes work? RPC nodes function by connecting apps to blockchain information, receiving requests from applications, processing them by interacting with the blockchain, and returning results using the JSON-RPC protocol. ### What are the different types of RPC endpoints? There are three main types: public RPC endpoints \(shared, rate-limited resources\), private RPC endpoints \(dedicated to your app's needs\), and alternative RPC endpoints \(backup endpoints for fault tolerance\). ### What's the difference between running your own RPC node and using a node provider? Running your own node requires significant hardware investment, maintenance, and sync time, while RPC node providers like Alchemy handle all setup, management, and maintenance, offering reliable 24/7 access with better developer experience. ### What is the JSON-RPC protocol? JSON-RPC is the standard RPC specification used in blockchains that enables quick data retrieval through methods like gossip methods \(finding blocks\), state methods \(current blockchain state\), and history methods \(historical records\). ### What blockchains support RPC nodes? RPC nodes support multiple blockchains including Ethereum \(with execution and consensus layers\), Solana, Base, Arbitrum, Optimism, and many others, with Alchemy supporting 40\+ chains. ### Why are RPC endpoints important for developers? RPC endpoints provide essential gateway access for apps to retrieve blockchain data, submit transactions, and interact with smart contracts without requiring developers to run their own full nodes. ### How can I get started with RPC nodes? You can create an Alchemy account, set up your first app through the dashboard, select your desired blockchain and network, and start making RPC requests using your provided endpoint URL. --- # Pros and Cons of Running Your Own Node URL: https://www.alchemy.com/overviews/running-your-own-node.md Running a node means installing “client” software on a machine, which will download, verify, and propagate new blocks across a blockchain network.  There are currently two types of node client software: [execution clients and consensus clients](https://www.alchemy.com/overviews/execution-layer-and-consensus-layer-node-clients). Execution layer clients are responsible for managing the overall state of the blockchain and completing transactions, and consensus layer clients are responsible for verifying transactions.  To [propagate transactions across the network](https://www.alchemy.com/overviews/transaction-propagation), nodes use a series of P2P networking protocols to discover new nodes, establish secure connections, and synchronize state, blocks, and pooled transactions. ## What is an Ethereum node? An Ethereum node is a node that operates on the Ethereum blockchain, and is one of [three main types](https://www.alchemy.com/overviews/full-vs-light-vs-archive-nodes): light nodes, full nodes, and archive nodes.  #### **1. Full node** A full node client verifies all transactions in each new block, helps ensure that the network is secure, and that the transaction data is valid.  #### **2. Light node** A light node stores block header data, such as the preceding block's hash and a timestamp, rather than the complete block data like a full node does. Light nodes send on-demand requests to full nodes, validating only the parts of the state that their user's require. #### **3. Archive node** An [archive node](https://www.alchemy.com/overviews/archive-nodes) holds all of the same data as a complete node, as well as the full blockchain's history state data dating back to the Genesis Block \(i.e. the first block\). ### Why run an Ethereum RPC node? Web3 developers may choose to run an Ethereum RPC node to read and write data to the blockchain. Some developers choose to run their own nodes to customize the node configuration, increase security, and make system-level optimizations that are not possible using shared or dedicated nodes with a RPC provider. ## **What are the benefits of running your own Ethereum node?** There are four main benefits of running an Ethereum node: privacy and security, censorship resistance, decentralization, and sovereignty.  ### **1. Privacy and security** When using shared nodes, your transactions are sharing the same hardware as other companies, which may be a compliance or security risk for your specific product. Some teams will prefer dedicated nodes, by running their own nodes to ensure complete isolation and autonomy, or using a node provider that offers dedicated nodes.  ### **2. Censorship resistance** Maintaining your own node enables you to have guaranteed broadcasted transactions to the rest of the network at any time. If you use third-party nodes, providers could potentially block transactions from your specific IP address or block transactions to specific smart contract addresses. ### **3. Decentralization** Running your own node means you are not rely on a centralized infrastructure provider to run your node. However, there are additional centralization vectors to consider such as the cloud provider you choose \(e.g. AWS, GCP, etc.\), or if you’re running a bare metal configuration, the server location \(e.g. Virginia, Germany, etc.\). In the event there is an outage in your data center or with your cloud provider, web3 developers managing their own nodes should evaluate their providers, built a fault-tolerant setup, and document a business continuity plan. ### **4. Sovereignty** Developers running their own nodes provides them with full control to choose their preferred node software clients, how those node clients are configured, the amount and make of their hardware, and other hardware-specific decisions. This level of flexibility can mean better performance for specific web3 application use cases where an RPC node provider can not offer the same granular choices about hardware and software configurations. ## **What are some trade offs of running your own node?** There are three main trade-offs with running a node on your own compared to using an RPC node provider, including maintenance, time, and reliability costs. ### **1. Maintenance costs** Running your own full node requires dedicated hardware \(e.g. RAM, storage, etc.\) to download, validate, and store transaction information. Maintaining hardware to support changing levels of product usage is important to balance capacity and fault tolerance for your customers without overspending. The maintenance costs of running a node will be highly dependent on whether you use a provider like Amazon Web Services, run a bare-metal server, engineering time, and the amount of hardware and bandwidth resources you need for your specific application. ### **2. Time costs** Running and maintaining blockchain nodes can involve lots of technical issues, which can be difficult and time-consuming for beginners. For web3 startups with limited funding and engineering time, dedicating a non-trivial amount of engineering resources to managing their own infrastructure comes at the cost of not focusing on building out the core functionality of their product.  Additionally, as your web3 product scales, your engineering resources will also need to scale to maintain a fleet of reliable self-managed nodes to guarantee uptime and capacity to support additional users. ### **3. Reliability costs** Startups considering running their own node face numerous reliability issues such as bugs in software updates, CPU spikes, memory leaks, disk issues, inconsistent peering, and [data accuracy](https://www.alchemy.com/blog/data-accuracy) across a fleet of nodes. Unreliable nodes not only take time away from engineers that could be building core functionality of their product, but it directly impacts the user experience.  When nodes go down, users can not use your product, which has many potential downstream implications such as users churning to alternative products. ## **4 ways Alchemy helps Web3 developers with node infrastructure** Alchemy is the leading web3 developer platform powering the top decentralized applications on chains such as Ethereum, Polygon, Optimism, Arbitrum, and more. Below is a list of tools that Alchemy built to ensure devs have access to reliable node infrastructure and best-in-class developer tooling. ### **Alchemy Supernode** [Alchemy Supernode](https://www.alchemy.com/docs/reference/api-overview) is our web3 engine that replaces self-hosted blockchain nodes, with a fleet of nodes that developers interact with as if it was a single super node. **Supernode has unparalleled advantages:** - 99.9% reliability - Dynamic scalability - Data correctness - No setup or sync times - Testnets - Enhanced APIs ‍ ### **Alchemy build** Alchemy also provides an in-house suite of developer tools to catch errors and ship faster than ever. With Alchemy Build, devs can instantly search through millions of requests, view real-time mempool transactions, make JSON-RPC calls directly from their browser, and more.  Alchemy Build’s suite of developer tools includes: - **Composer** - test out API calls in real-time from a simple online interface - **Explorer** - search through historical requests to debug transactions - **Mempool Visualizer -** see the real-time state of transactions in the mempool ### Alchemy monitor Alchemy helps monitor the health of your applications with a robust command center to instantly check response times, usage analytics, insights, and alerts alongside daily reports so that you never lose touch. Alchemy’s [monitoring tool](https://www.alchemy.com/monitor) provides devs with: - Application monitoring and alerts - Dashboard with app-level details - Geographic visualizations to know where your users are located - Usage measurement to understand how your app is being used ### ‍**Alchemy support** Alchemy has expert, hands-on support, and manages the [Alchemy Status Page](https://status.alchemy.com/) to keep users updated about the status of our APIs. - 98% Customer Satisfaction \(CSAT\) Score - Access to Customer Product Engineers - Connections to other people in the industry For urgent requests, send a support ticket to **support@alchemy.com**! --- # What is selfdestruct in Solidity? URL: https://www.alchemy.com/overviews/selfdestruct-solidity.md **Update**: Selfdestruct was deprecated during the Shanghai Ethereum upgrade as called for by [EIP-6049](https://eips.ethereum.org/EIPS/eip-6049). This article is now outdated and only reflects how the feature formerly worked. _Selfdestruct_ is a keyword in [Solidity](https://www.alchemy.com/overviews/solidity) that is used when developers wanted to terminate a contract. In a 2021 research paper, "Why Do Smart Contracts Self-Destruct? Investigating the Selfdestruct Function on Ethereum", around 800 contracts have included the _selfdestruct_ keyword, making it an important concept to understand [while studying Solidity](https://www.alchemy.com/overviews/learn-solidity). This article defines what _selfdestruct_ was, describe its purpose, and provide an example of implementing _selfdestruct_ in a [Solidity](https://www.alchemy.com/dapps/solidity) smart contract. ## **What is selfdestruct?** Selfdestruct was a keyword that is used to terminate a contract, remove the bytecode from the Ethereum blockchain, and send any contract funds to a specified address. _Selfdestruct_ originated in 2016 when the Ethereum blockchain and decentralized organizations \([DAOs](https://www.alchemy.com/dapps/top/daos)\) were in their formative stages. One of the earliest DAOs lost 3.6 million ETH to a hack. The attack continued for days due to the immutability of Solidity contracts. Since a way to destroy a contract didn’t exist at that time, earl DAO developers forked the entire blockchain to prevent further exploits. Therefore, _selfdestruct_ was created to serve as an exit door in case of security threats. Although it was first called the “suicide function”, it was renamed to _selfdestruct_ from **Solidity v0.5.0** onwards. ### Why do developers use the selfdestruct function? Developers used the selfdestruct function primarily to improve smart contract code security, clean up unused contracts and transfer Ethereum assets quickly. _Selfdestruct_ was helpful when developers need to upgrade smart contracts. For instance, [the ERC-20 framework](https://www.alchemy.com/overviews/erc20-solidity) is the standard implementation for all fungible tokens on Ethereum for the purpose of interoperability. Any token that does not interface with the ERC-20 standard will have difficulty interacting with other contracts. In such cases, developers will change to a new contract instead of upgrading the current contract. Thus, they could have used the _selfdestruct_ function to extract funds from the current contract and build a new contract with the required functionalities. Developers also used the _selfdestruct_ function to safeguard against potential security threats. According to the same [2021 selfdestruct smart contract report](https://arxiv.org/pdf/2005.07908.pdf#:~:text=On%20the%20one%20hand%2C%20using,an%20attack%20vector%20for%20attackers), when developers find security flaws in their contracts, a _selfdestruct_ function helps them immediately terminate the flawed contract and replace it with a secure contract. ### What are the disadvantages of using selfdestruct? The disadvantages of the selfdestruct function were its inability to recover ERC-20 tokens, and its inability to reroute tokens after self destruction. Typically, _selfdestruct_ functions are called by developers who fail to communicate about contract termination on time. Even when a team communicates the update, it may not circulate fast enough. As a result, some people might end up sending funds to the destroyed contract thinking it’s still active. In such a case, the funds are lost. The second disadvantage of using _selfdestruct_ is that it can only transfer Ether \(ETH\) and not other ERC-20 tokens such as altcoins or NFTs which follow the ERC-721 token standard. Once _selfdestruct_ is called, these assets can never be recovered. #### Why did some consider the selfdestruct function to be dangerous? The selfdestruct function made it easier for malicious developers to execute rug pulls. The function made it possible for developers to call _selfdestruct_, and direct the funds to their personal wallets. For this reason, some protocol users and developers have expressed mixed feelings about using the _selfdestruct_ function.  ## How does selfdestruct work? Selfdestruct works by erasing the contract bytecode from the chain, sending any liquidity to a specified address, and then, refunding a portion of the gas fees to developers. A contract consists of two components: state and functions. These components define contract behavior and [callable functions](https://www.alchemy.com/overviews/solidity-functions). Removing the bytecode means that the contract has no components that define it, rendering the contract uncallable. The _selfdestruct_ function had a required parameter that indicated where the caller wanted the contracts funds to end up after destruction. ### **What is negative gas and why is it relevant?** Negative gas refers to a part of the transaction fee that the Ethereum chain refunds whenever the developers use the selfdestruct function. Ethereum incentivized using the _selfdestruct_ function by rewarding the caller with the gas savings generated by removing the data from the blockchain. When a contract calls the _selfdestruct_ function, half of the total gas used for the transaction was refunded to the caller. ### Does selfdestruct remove the contract's history on the Ethereum blockchain? No, the selfdestruct function does not remove the history of a contract from the Ethereum chain — it only removes the contract's bytecode. Ethereum is a blockchain, a public ledger, where a network of interconnected nodes always keep a copy of the blockchain’s state. Therefore, all the data and transactions done before calling the _selfdestruct_ function are permanently recorded onchain and cannot be altered. ### Are funds permanently lost after calling the selfdestruct function? **No and Yes, existing ETH is sent to another address specified by the function caller, while ERC-20 tokens are lost.** Additionally, if anyone sends funds to a selfdestructed contract \(i.e. terminated contract\) they will not be rerouted and will be lost. ## Selfdestruct function example The goal of this program is to allow minting of NFTs until a certain amount of ETH in the contract is reached. Once reached, the program sends all the Ether to the last minter’s wallet as a bonus. Each person can mint multiple NFTs with 1 Ether but only one at a time. **This contract is not meant to be used in production, it is for example purposes only.** The main issue with the mint contract is that it uses “_this.balance_” to verify if the contract has the sufficient funds or not to trigger the end clause. So, the attacker can easily send an amount to push the contract over the specified limit and then use the _selfdestruct_ keyword to redirect the funds to their declared constructor.  Therefore, while using _selfdestruct_, developers have to be careful about the variables you use to satisfy specific conditions. Avoid using any reference to contract addresses or the funds in the contract, as they can be artificially manipulated. ## **How to use the selfdestruct function** Initializing a selfdestruct function is simple: you need to use the selfdestruct keyword within a function and specify a payable address that can receive contract funds after the selfdestruct function is called. Here is an example of a _selfdestruct_ function typically taught in a Solidity course: This is what the code is doing: - The name of the function is *destroy* - The parameter specifies the address as *apocalypse* - When the destroy function is called, the address is specified via the apocalypse variable - The [function visibility is declared public](https://www.alchemy.com/overviews/solidity-function-visibility) so other contracts can access it. - Then we use the _selfdestruct_ keyword and pass the apocalypse variable after declaring it as payable. Now, since the function is public, it represents a potential security flaw. To counter this, you can consider adding an _onlyOwner_ modifier or using a [require statement](https://www.alchemy.com/overviews/solidity-require) to confirm that only the owner can call the destroy function. ### Learn Solidity and the selfdestruct function with alchemy’s Solidity developer course *Selfdestruct* acts as a failsafe to terminate a contract during security breaches, when developers want to upgrade contracts, or to remove old contracts. While the usage of _selfdestruct_ is still debated in the Solidity developer community, introducing the function has helped protect against many potential hacks. You can learn more about important functions like _selfdestruct_ and [become a better Solidity developer](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer) by signing up for Alchemy University's [free, 7-week Ethereum Bootcamp](https://university.alchemy.com/?a=d1bd288312). If developers are new to development in general, Alchemy's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # What are semi-fungible tokens (SFTs)? URL: https://www.alchemy.com/overviews/semi-fungible-tokens-sfts.md Semi-fungible tokens \(SFTs\) combine the characteristics of fungible tokens \(FTs\) and non-fungible tokens \(NFTs\), and are a comparatively recent innovation for the Solana blockchain. SFTs are currently being used in gaming and metaverse applications, and are expected to have many other uses in the future. The idea of semi-fungible tokens were initially created on Ethereum with [the ERC1155 multi-token standard](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155), and now exist on Solana as SFTs. To grasp how SFTs function on Solana it’s necessary to understand the blockchain’s architecture, which divides logic and data into Data Accounts and Program Accounts, as well as Solana's Token Metadata program. ## **How are SFTs different from fungible and non-fungible tokens?** Semi-fungible tokens exhibit the qualities of fungible tokens and non-fungible tokens at different points in their lifecycle. Initially, SFTs function like fungible tokens and can be exchanged with identical tokens with no loss of value for either party. Once used, they lose their exchange value and gain the attributes of collectible [non-fungible tokens](https://www.alchemy.com/overviews/solana-1-of-1-nfts). ### **What are the main advantages of using SFTs instead of NFTs?** SFTs are preferable to NFTs in certain contexts as they are more efficient, cost-effective, flexible, and involve improved transaction security. #### **1. Reversible transactions** Perhaps the most significant advantage of using SFTs over NFTs is that token transactions to incorrect addresses are reversible and refundable. #### **2. More efficient and cost-effective** Unlike NFTs which must be transferred individually, SFTs support batch transfers. This means that multiple SFTs can be transferred in a single program call, saving time and significantly reducing transaction costs. #### **3. Improved security** SFTs permit highly secure transfers by improving upon the existing standards for NFTs. ## **What are SFTs used for?** **Currently, SFTs are primarily used in gaming and metaverse environments where on-chain activity can be attached to in-game assets**. Let's look at two examples: managing many units of the same NFT, and recording gaming achievements. ### **1. Genopets SFT example** Genopets is an [NFT game on the Solana blockchain](https://www.alchemy.com/list-of/web3-games-on-solana) that utilizes both NFTs and SFTs. Players can buy a unique pet as an NFT, and the abundant resources they gather \(e.g. wood, water, crystals, metal etc.\) are available as SFTs. SFTs are preferable for NFT gaming because they allow players to buy and sell multiple assets \(e.g. 15 water crystals\) in a single transaction. Fungible tokens can accommodate multiple assets in a single program \(i.e. smart contract\), meaning their transfer generates less congestion and lower transaction fees than standard NFTs, which are handled individually. ### **2. In-game achievements example** SFTs are also useful for recording game history. For example, an in-game weapon can be made as an SFT, and as the weapon is used it gains the characteristics of an NFT to become a new unique item because of it's recorded in-game history. As the item changes hands over time, new history can be stored \(e.g. how many times the weapon has been used, how many times it had been used to kill other players, etc.\) like traditional weapon characteristics in web2 video games. ## **How do SFTs work on Solana?** **SFTs on Solana operate as a unique type of account to which metadata is attached to a token to represent characteristics in a game or metaverse environment.**  The functioning of SFTs on Solana is related to the blockchain’s unique architecture, specifically, the division of logic and data into two distinct components called **programs** and **data** accounts, and the Token Metadata program. ### **What are programs and accounts on Solana?** Unlike most blockchains, Solana divides logic and data into two distinct components called [programs and accounts](https://www.alchemy.com/overviews/solana-data-vs-program-accounts). Rather than storing data in variables like [Solidity](https://www.alchemy.com/overviews/solidity) smart contracts, programs in Solana can interact with, and have the ability to mutate, external data stored in data accounts. This unique structure makes programs in Solana highly performant by allowing programs to run in parallel while accessing several accounts. The separation between executable cope and data accounts makes the programs in Solana more modular, as they are not inherently bound to any individual data. Solana accounts are arrays of bytes stored at a particular address. The address of an account can be defined as the public key of a cryptographic pair. To sign into an account, a program must also have access to the key pair’s private key. Some types of programs have the ability to mutate data in that account. Newly created accounts are usually initialized by a program marked as the owner of the account. The program defines the structure of data allocated to the account and is also responsible for providing instructions to the account. **The types of accounts on Solana include:‍** 1. ‍**Mint Accounts** - store the global information of a token 1. **Token Accounts** - store the relationship between a user’s Wallet Account and a Mint Account. #### **How are program derived addresses \(PDAs\) different from other accounts on Solana?** **PDAs are account addresses that are algorithmically derived from the public key of the program that owns the account they’re home to, rather than forming part of a cryptographic pair.** Accounts located at PDAs are designed to be controlled by the specific program their address is generated from. Because [Program Derived Addresses](https://www.alchemy.com/overviews/program-derived-address) are algorithmically generated from a program’s public key, it’s impossible for two different programs to generate the PDA. PDAs have some important uses, such as allowing programs to sign [Cross-Program Invocations](https://www.alchemy.com/overviews/cross-program-invocation) and enabling the creation of multiple accounts within an address that can be derived deterministically. ### **What is the token metadata program on Solana?** The purpose of the Token Metadata program on Solana is to allow the addition of extra metadata to tokens because Mint Accounts are limited in the amount and types of data they can store. The Token Metadata program is part of the [Metaplex protocol](https://www.alchemy.com/overviews/metaplex), which was initially developed to simplify the creation of NFTs on Solana. However, the program also works with SFTs. A Mint Account stores only a few data attributes about a token, such as its current supply and authorities. Mint Accounts can’t hold other data that apps and marketplaces use. To overcome this limitation, the Token Metadata program offers a Metadata Account located at a PDA derived from the address of the Mint Account. The Metadata Account incorporates many valuable attributes, allowing regular on-chain tokens to be made into digital assets. #### **What is the JSON standard?** The JSON standard is a way to add data to tokens that is stored off-chain, in order to save on the fees involved in storing additional data on-chain. The URI attribute in Metadata Accounts links to an off-chain JSON file which stores useful information on tokens following a certain standard. To ensure the JSON file cannot be updated, it can be stored using a permanent storage solution such as Arweave. Additionally, the **Is Mutable** attribute in the Metadata Account can be used to prevent the URI attribute, and other attributes, from being changed. ### **What is the relevance of the token metadata program to SFTs on Solana?** **Token metadata is the way that SFTs on Solana become functional in games or metaverse environments as metadata-heavy objects, such as weapons.** A Semi-fungible Token in Solana consists of a Mint Account with two properties: 1. It has a supply greater than or equal to 0, \(e.g. more than 1 token is in circulation\) 1. It has no decimal places \(e.g. whole integers only\) The addition of the Metadata Account keeps track of the fungibility of a token through its Token Standard attribute. The program automatically assigns this attribute, which cannot be updated manually. Additionally, The FungibleAsset attribute represents the token standard for SFTs.  The Metadata Account also contains other important information that specifies the SFT as a particular in-game weapon, for example. This information includes the animation or logo which, under the JSON standard, can be stored off-chain using the URI attribute. name

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

Name of the asset.

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

symbol

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

Symbol of the asset.

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

description

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

Description of the asset.

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

image

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

URI pointing to the asset's logo.

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

animation_url

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

URI pointing to the asset's animation.

", tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

external_url

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

URI pointing to an external URL defining the asset — e.g. the game's main site.

", tooltip: "", icon: "" }, id: 5, }, { "1": { title: "

attributes

", tooltip: "", icon: "" }, "2": { title: "

array

", tooltip: "", icon: "" }, "3": { title: "

Array of attributes defining the characteristics of the asset.

", tooltip: "", icon: "" }, id: 6, }, { "1": { title: "

trait_type

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

The type of attribute.

", tooltip: "", icon: "" }, id: 7, }, { "1": { title: "

value

", tooltip: "", icon: "" }, "2": { title: "

string

", tooltip: "", icon: "" }, "3": { title: "

The value for that attribute.

", tooltip: "", icon: "" }, id: 8, }, ], }} /> ## **What are the implications of SFTs for the future of Web3?** The hybrid nature of SFTs has opened up new possibilities for how tokens can be used to represent complex digital assets in a variety of environments in a cost-effective, highly functional manner. Although gaming and metaverse use cases are the most popular uses for SFTs, they’re attracting a lot of attention because of their enhanced flexibility and the opportunity to reduce costs by storing data off-chain. --- # How to Get Sepolia ETH from a Faucet URL: https://www.alchemy.com/overviews/sepolia-eth.md The [Sepolia testnet](https://www.alchemy.com/overviews/sepolia-testnet) is a proof-of-stake \(PoS\) testnet where Ethereum application developers can test their smart contracts without having to spend real ETH tokens. Because there is no fixed cap on the total number of SepoliaETH tokens that can be minted, [Sepolia is the preferred network of developers compared to Goerli](https://www.alchemy.com/overviews/goerli-vs-sepolia). This article will explain how to get test Sepolia ETH tokens in 3 simple steps. ## 1. Visit Alchemy's faucet This [Sepolia Faucet](https://www.alchemy.com/faucets/ethereum-sepolia) is managed by Alchemy, and provides developers with a fast and reliable way to collect free sepoliaETH tokens. Unlike many faucets that require social verification through tweets, Alchemy is available to the public without social validation. ## 2. Request SepoliaETH The final step is to enter your Ethereum wallet address or Ethereum Name Service \(ENS\) domain, and click the "Send Me ETH" button to receive your free test ETH! Within a few seconds, your Sepolia ETH tokens should arrive in your wallet! If you don't see sepoliaETH in your wallet, make sure your wallet is connected to a [Sepolia RPC endpoint](https://www.alchemy.com/rpc/ethereum-sepolia). That's it! You can now use your SepoliaETH to deploy and test smart contracts on the Sepolia Testnet! --- # Top Sepolia RPC Providers and Public Endpoints (2024) URL: https://www.alchemy.com/overviews/sepolia-rpc-providers.md [Sepolia is an Ethereum testnet](https://www.alchemy.com/overviews/sepolia-testnet) that provides developers with a platform to test smart contracts and [apps](https://www.alchemy.com/dapps/top/defi-dapps) using a Remote Procedure Call \(RPC\) provider. Sepolia allows developers to experiment with their code in a safe and controlled environment before deploying it on the mainnet without financial consequences. In this article, we’ll explore six [Sepolia RPC endpoint providers](https://www.alchemy.com/chain-connect/chain/sepolia) that can help you test smart contracts on the Sepolia testnet. ## **What is a Sepolia RPC provider?** A Sepolia RPC Provider provides an API endpoint through which developers can read and write information to the Sepolia blockchain. While developers can run their own Sepolia nodes, it is faster and less expensive to use an RPC provider to test applications on the Sepolia network. One reason why developers are looking for Sepolia RPC providers is because the most popular Ethereum testnet, Goerli, is facing token scarcity issues. As a result, liquid GoerliETH/ETH markets are making Goerli an unsustainable testnet for the future.[ Compared to Goerli](https://www.alchemy.com/overviews/goerli-vs-sepolia), Sepolia does not have a fixed number of SepoliaETH tokens, which prevents issues like the Goerli testnet's token scarcity. ## **Top Sepolia RPC node providers** Here are 6 Sepolia RPC endpoint providers that can help you streamline your dapp development and testing: ### **1. Alchemy** Alchemy is a leading provider of RPC node infrastructure, and provides developers with [private endpoints for the Sepolia testnet](https://www.alchemy.com/overviews/private-rpc-endpoint). Additionally, Alchemy offers a variety of enhanced API endpoints, archive node support, and web3 developer tools like the Alchemy SDK. **To get started simply:** 1. Open a free account 1. Create a [new Sepolia app](https://www.alchemy.com/overviews/sepolia-eth) 1. Get free SepoliaETH from Alchemy's [public Sepolia Faucet](https://sepoliafaucet.com/) Alchemy’s RPC node service offers three pricing tiers to meet different needs and usage levels: - **Free Tier** - provides ~12 million transactions per month at no cost - **Growth Tier** - provides ~16 million transactions per month for $49/month - **Enterprise Tier** - customized usage and throughput tailored to specific requirements With its reliable and scalable infrastructure, Alchemy is a trusted partner for web3 developers testing their apps on the Sepolia testnet. ### **2. Sepolia.org** Sepolia.org is an independently run toolset for the Sepolia testnet, which offers a variety of useful features and resources for developers. Maintained by **unnawut**, it provides a range of RPC endpoints that developers can use to interact with the Sepolia network. The available RPC endpoints include: - **RPC \(Asia\)** - https://rpc.sepolia.org - **RPC2 \(Europe\)** - https://rpc2.sepolia.org - **Status** - https://status.sepolia.org These endpoints provide free, public access to the network and can help developers optimize the performance and scalability of their applications. ### **3. Bordel.wtf** Bordel is a small community that offers a public RPC endpoint to enable users to easily deploy and run smart contracts on the Sepolia blockchain. As a trusted RPC endpoint provider for the Sepolia test network, users rely on Bordel’s secure and reliable infrastructure to seamlessly interact with the network. To access the endpoint, visit: https://rpc.bordel.wtf/sepolia ### **4. RockX** RockX offers access to Sepolia node infrastructure, allowing users to focus on building instead of managing and maintain Sepolia nodes. RockX offers two pricing tiers for their node service to suit their users’ needs accordingly: - Free Tier - $0/month with up to 100,000 requests/day - Growth Tier - $49/month with up to 800,000 requests/day ### **5. Omniatech** Omniatech offers a secure and highly available endpoint that provides privacy, security, and compliance for Ethereum developers. Omniatech protects users from malicious threats, enables front-running protection, and its free subscription allows up to 100,000 requests/day. ### **6. BlockPi** BlockPi is dedicated to delivering high-quality and efficient RPC services. BlockPi's distributed network is designed to avoid single-points of failure and provide reliability and consistency to its users. BlockPi provides a free tier and two paid tiers: - **Elementary Tier** - $49/month with 500,000,000 request units - **Premium Tier** - $299/month with 4,000,000,000 request units --- # What is the Sepolia testnet? URL: https://www.alchemy.com/overviews/sepolia-testnet.md In this article we will explain what Sepolia is, [Sepolia's network and RPC information](https://www.alchemy.com/chain-connect/chain/sepolia), and how to [get test Sepolia ETH tokens](https://www.alchemy.com/overviews/sepolia-eth). ## What is the Sepolia Testnet? **Sepolia was a proof-of-authority testnet created in October 2021 by Ethereum core developers and maintained ever since.** After the Ropsten testnet reached a Terminal Total Difficulty \(TTD\) of 50000000000000000 the Sepolia and the Goerli testnets transitioned to a proof-of-stake consensus mechanism to mimic the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum). Testnets are blockchains designed to mimic the operating environment of a ‘mainnet’ but exist on a separate ledger. These testnets help developers test their applications and smart contracts in a risk-free way before deploying their products to Ethereum’s mainnet environment. Sepolia was designed to simulate harsh network conditions, and has shorter block times, which enable faster transaction confirmation times and feedback for developers. [Compared to other testnets like Goerli](https://www.alchemy.com/overviews/goerli-vs-sepolia), Sepolia's total number of testnet tokens is uncapped, which means it is less likely that developers using Sepolia will face testnet token scarcity like Goerli. ## Sepolia network information If you are [adding the Sepolia blockchain to your wallet](https://www.alchemy.com/overviews/how-to-add-sepolia-to-metamask), this is the network information to include: - **Network Name** - Sepolia Test Netwok - **RPC URL** - https://eth-sepolia.g.alchemy.com/v2/\[YOUR-API-KEY\] - **Chain ID** - 11155111 - **Currency Symbol** - SepoliaETH - **Block Explorer URL** - https://sepolia.etherscan.io/ Note: There is also a 1-click option to add Sepolia to your wallet in the Alchemy dashboard. ## How to get Sepolia Testnet ETH? Sepolia ETH can be obtained from a Sepolia testnet faucet, that allows anyone to send a small amount of fake Sepolia ETH to their wallet. Sepolia ETH is the currency used to pay to complete transactions on the Sepolia testnet, similar to how ETH is used to pay for computation on the Ethereum’s mainnet which is also a Proof-of-Work chain before the merge. 1. Head to Alchemy's [free Sepolia Faucet](https://www.alchemy.com/faucets/ethereum-sepolia) 1. Enter your wallet address or ENS name 1. Click "Send Me ETH" A popup will display ‘Transaction sent’ with the amount of Sepolia ETH deposited to your wallet. Next, you can check your Ethereum wallet to confirm you received the SepoliaETH. With your Sepolia ETH, you can now begin running smart contracts on the Sepolia testnet. To view the date and time, the transaction fee, the gas burnt, and other transaction details, you can look up your transaction hash on the Sepolia Etherscan. ## Frequently asked questions ### What is the Sepolia Testnet? Sepolia is a proof-of-stake testnet created in October 2021 by Ethereum core developers that mimics Ethereum's mainnet environment on a separate ledger for safe testing. ### What is Sepolia used for? Developers use Sepolia to test their applications and smart contracts in a risk-free way before deploying to Ethereum's mainnet, using valueless test ETH. ### How do I get Sepolia ETH for testing? You can obtain free Sepolia ETH from [Alchemy's Sepolia faucet](https://www.alchemy.com/faucets/ethereum-sepolia) just by entering your wallet address. ### How is Sepolia different from other testnets like Goerli? Sepolia has shorter block times for faster transaction confirmation, an uncapped supply of testnet tokens to avoid scarcity issues, and is designed to simulate harsh network conditions. ### Are Sepolia ETH tokens worth anything? No, Sepolia ETH is fake currency with no real-world value, used only for testing transactions and smart contracts on the Sepolia network. ### Can I deploy the same smart contracts on Sepolia that I plan for Mainnet? Yes, you can run the same smart contracts on Sepolia testnet that you plan to deploy on Ethereum mainnet, making it ideal for testing before production deployment. --- # What is a shadow fork? URL: https://www.alchemy.com/overviews/shadow-fork.md ## **What is a shadow fork?** **Shadow forks are similar to devnets, but instead of having their own state, they copy the state of another network \(devnet or mainnet\).**  For example, a shadow fork of the main Ethereum network still accepts all transactions that go to the mainnet.  This branch could switch to Proof-of-Stake, but it would still keep mainnet transactions and other state/history data.  After a successful merge on the shadow fork, it moves on to the Proof-of-Stake chain and ignores any Proof-of-Work blocks that were added to the mainnet. ### **How is a shadow fork different from a normal fork?** Unlike a shadow fork which is intentionally created to test network upgrades with existing state data from the original chain, a normal fork happens when the development community modifies the protocol or is affected by hacks. When a fork occurs, the blockchain splits, making a second \(new\) blockchain with the same history as the first but a different path. One example of how upgrades to a blockchain from core developers causes a fork, is the [London Hard Fork](https://www.alchemy.com/overviews/what-is-eip-1559) which introduced EIP-1559 to optimize Ethereum’s transaction fee structure. Bitcoin and Ethereum are both based on blockchain technology and run on open-source software. They are called "blockchains" because they are made up of blocks of data that can be linked back to the first transaction on the network.  Because they are open source, their communities are responsible for maintaining and enhancing the source code. As a result, a fork may happen to make a blockchain more secure, to add new features, or to mitigate the effects of a hack, which occurred in 2016  after The DAO hack.  In 2016 the Ethereum blockchain forked into Ethereum Classic which maintained an accurate ledger that reflected the 3.6 million ETH that was stolen, and Ethereum which forked to reverse the hack. ### **What is the difference between soft forks and hard forks?** The difference between soft forks and hard forks is that soft forks change the code of an existing blockchain and hard forks divide the blockchain into two distinct blockchains. #### Soft fork A soft fork can be thought of as an update to the software that runs the blockchain. As long as everyone uses it, it will become the new set of rules for the network.  Soft forks have been used to add new features or functions to Ethereum, usually by changing the codebase and client software. The changes work with blocks that were made before the fork because the end result is a single blockchain. #### Hard fork When the code changes so much that the new version can't be used with older blocks, this is called a "hard fork." In this case, the blockchain splits into two parts:  1. the old blockchain that follows the old rules 1. the new blockchain that follows the new rules This makes a brand-new cryptocurrency and is where many well-known currencies got their start. A hard fork created Bitcoin Cash from the original Bitcoin blockchain, and Ethereum Classic \(ETC\) was made from Ethereum \(ETH\). ## **Why are shadow forks important?** **Shadow forks are important tools for web3 developers because it allows them to test their assumptions about the network's upcoming upgrades against the most current conditions of the mainnet’s production environment.** The [Kiln test network](https://www.alchemy.com/overviews/kiln-testnet) is the last testnet for developers to test in preparation for [The Merge](https://www.alchemy.com/overviews/the-ethereum-merge), which changes Ethereum's Execution Layer from Proof-of-Work to Proof-of-Stake.  Shadow forks are important to show that the Merge will come to fruition without a detrimental transition for existing [apps](https://www.alchemy.com/dapps/top/defi-dapps) that run on the network.  [Testnets](https://www.alchemy.com/overviews/what-are-testnets) that have these shadow forks will be the testing grounds to ensure a smooth merge transition occurs, and will help engender trust to node operators and builders.  ## **How do shadow forks work?** In the picture above, the top row of Goerli blocks shows a node on the canonical \(i.e. original\) blockchain that doesn't know about the shadow fork.  The middle row of Goerli blocks represents a node on the shadow-forked chain with a different configuration that tells it to split when it reaches the terminal total difficulty \(TTD\) or the total mining difficulty that is used as a trigger for clients to stop mining and transition to PoS. In the last row, there is a picture of a Beacon Chain that was made just for the shadow fork. When the TTD is reached, the nodes in the canonical chain keep making blocks as if nothing had happened and the nodes whose configurations have changed split off go through the Merge.  Then, the next validator makes the first block for [the Beacon Chain after the Merge](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain).  Shadow forking is the best way to do this because it lets developers test how well the fork and merge process works without affecting the public testnet or mainnet. By doing this shadow fork operation over and over again, developers can test the merging transition under different situations. ## **What are well-known shadow forks?** **Two testnets stand out as having some of the most well-known shadow forks: Goerli has gone through three shadow forks, while mainnet has gone through six.** The main difference between the two mainnet shadow forks was that all client combinations made it through a shadow fork transfer and stayed in sync.  This shadow fork also uses the develop/unstable branch for each client. This means that developers no longer need to merge branches. On the mainnet, the deposit contract was used again, but with a different fork ID.  This implies that on the shadow fork, every mainnet deposit must be processed and marked as invalid. This resource-intensive computation caused some edge conditions for a small number of clients, but the network still worked fine.  ## **How to shadow fork Ethereum** If you’re interested in forking Ethereum, you can follow Alchemy’s step-by-step guide on [how to fork Ethereum mainnet](https://www.alchemy.com/docs) with a [free Alchemy account](https://www.alchemy.com/?a=ddab180718), HardHat, and a command line interface \(CLI\). ## **Shadow forks are critical Ethereum developer tools** Shadow forks play an important role in the ongoing development and [scaling improvements of the Ethereum blockchain](https://www.alchemy.com/overviews/ethereum-scaling-solutions). With shadow forks, core Ethereum developers, node providers, and independent stakers can prepare for upcoming network-wide changes so the Ethereum application ecosystem is not interrupted. --- # Ethereum Sidechains vs Layer 2s: What’s the Difference? URL: https://www.alchemy.com/overviews/sidechains-vs-layer2s.md With millions of users joining the Ethereum network and developers [building Ethereum applications](https://www.alchemy.com/ethereum/?a=7e5de6cfc2) every day, Ethereum is limited by the number of its transactions. Ethereum’s capacity to process transactions, its transaction throughput, is limited to 15 transactions/second, leading it to become increasingly expensive and often too congested for many people to use.  The Ethereum network is the main chain, and all transactions that occur directly on it are “on-chain”, while anything else is considered “off-chain”. It’s some of these off-chain solutions like sidechains and layer 2s that could help Ethereum scale, increasing transaction speed and increasing the amount of transaction data the network can handle. In this article, we’ll show you what sidechains and layer 2 solutions are and how they can help with scalability.    ## What problems do sidechains and layer 2s solve? **Sidechains and layer 2 Ethereum solutions tackle the problem of helping Ethereum scale**. Attempts to try to scale up performance on-chain often lead to trading off either the decentralization or scalability of Ethereum - this is known as the Scalability Trilemma.  Increasing the sophistication of Ethereum layer 1 is not ideal as it would heighten the level of governance overhead for the platform to continuously debate, decide and implement new improvements. Sidechains and layer 2 solutions allow for constant and incremental innovation that improves Ethereum for everyone while maintaining security and decentralization.  ### What’s the main difference between sidechains and layer 2 solutions? **The main difference between sidechains and Ethereum layer 2 solutions is that while layer 2 inherits the security of the main Ethereum network,  sidechains rely on their own security.**  ## What is an Ethereum side chain? **An Ethereum sidechain is a separate blockchain network that runs in parallel to the Ethereum main chain.** Sidechains connect to the main chain via a two-way peg system allowing assets to be exchanged between the chains.  There are two basic types of sidechains, one in which a chain is dependent on the other and another where they are independent.  When one chain is dependent on another chain like Ethereum, it can be considered the child chain of this parent chain. Typically, the child chain doesn’t create its own assets and derives any assets from transfers from the parent chain. Sidechains have their own consensus protocols that are often designed for specific kinds of transactions and allow them to be faster and more affordable. However, this also means that they don’t typically inherit the security properties of Ethereum and when using a sidechain you lose custody of your funds and rely solely on the side chain’s security, including the nodes participating in its own consensus protocol. Sidechains reduce the congestion on the main chain, reducing the cost for everyone and increasing the usability and scalability of the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum). Developers can also use sidechains to explore and test new features and use cases that are not available on the main chain. Popular sidechains include Polygon PoS, Skale, and Rootstock. Ethereum 2.0 has its own variation of sidechains called [shard chains](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022#thirteenth_header) that are attached to the recently launched [Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain), which aims to ultimately become the main chain of proof of stake \(PoS\)-based Ethereum. ## How do sidechains work? **Sidechains work by connecting to the main chain through a two-way-peg system or bridge.** From the main chain, you can send your Ethereum to an exit address that acts as a lockbox so that you’re not able to spend it elsewhere. Once this transaction is completed and the “contest period”, for additional security, has passed, then a receipt called the “Simple Payment Verification” \(SPV\) is provided. This triggers the release of the same value from a lockbox on the side chain via a smart contract. When “transferring” from the side chain back onto the main chain, the exact same process happens but in reverse. ## How to develop on sidechains? Sidechains are based on the [**Ethereum Virtual Machine (EVM)**](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm), which is the computation engine for Ethereum, and this compatibility with the Ethereum Virtual Machine means developers don’t need to make any changes when they want to use their application in a sidechain. It’s simply a matter of deploying the same code because they all share the same software layer of [Solidity](https://www.alchemy.com/overviews/solidity) and can be accessed through the same Web3 API! ## What is layer 2 protocol? Layer 2 protocols are chains that live inside the Ethereum chain but are able to achieve greater scalability through a secondary framework. This reduces congestion on the main layer by having the bulk of activity processed through the second layer. Unlike a sidechain, layer 2 generally inherits the security properties of the main chain. Layer 1 is the base blockchain. Ethereum is a layer 1 blockchain because it is the underlying foundation on top of which various layer 2 blockchains are built. Simply put, layer 2 compresses bundles of transactions and submits them to the main Ethereum network.  ## What are layer 2 scaling solutions? **Layer 2 scaling solutions include channels, rollups, and plasma.** Here’s a breakdown of each of these individual solutions. ### 1. State channels With state channels, users transact with one another directly off-chain and reduce on-chain transactions to only the most important information. Specifically, part of the blockchain is locked via a smart contract so that the participants involved in the transaction have to completely agree before updating it.  Participants update the state among themselves by creating and signing transactions that could be submitted to the blockchain. Once you want to stop using the channel, you exit and submit the last state update to the main chain which unlocks the state again.  ### 2. Rollups A rollup performs transaction execution off the main Ethereum blockchain and then batches together multiple transactions before sending them back to the main Ethereum network. Rollups rely on proofs to allow Ethereum to verify their correctness without processing transactions.   #### What are the two types of rollups? **In general, there are two types of rollups, Zero-knowledge \(ZK\) Rollups and Optimistic Rollups.** ##### **1. Zero-knowledge rollups \(ZK rollups\)** **Zero-Knowledge Rollups \(ZK rollups\)** use validity proofs. Every batch of transactions includes a cryptographic proof called a Succinct Non-Interactive Argument of Knowledge \(SNARK\) that is verified by a contract on the main Ethereum layer.  Since just the validity proof and not the bulky transaction data needs to be stored on the main chain, this computation off-chain saves large amounts of processing time and power, making [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) faster and much more efficient. ##### **2. Optimistic rollups** **Optimistic Rollups** use fraud proofs. As the name suggests, these optimistically assume all transactions are valid and submit batches without any initial proof. There is a challenge period in which others are able to detect and prove that the data in a batch is fraudulent.  If the batch turns out to be fraudulent, Optimistic rollups execute a fraud proof and runs the correct transaction computation using the data available on the main Ethereum chain. Making it a requirement that participants stake ETH that is rewarded or slashed based on their actions incentivizes good behavior.  Companies like [Optimism](https://www.alchemy.com/blog/alchemy-optimism) help Ethereum scale by offering greater throughput, lower latency, and lower gas fees. At the time of writing, Optimism gas fees are up to 10x cheaper than Ethereum! ### 3. Plasma Think of Plasma as Ethereum’s native sidechain, using a combination of smart contracts and Merkle trees to create a limitless branching of child chains. These child chains are smaller copies of the Ethereum main chain with their own consensus mechanism.  The bandwidth needed for computation and the transaction data is offloaded from the parent chains but posted to the root chain at regular intervals. Each child chain relies on a proof of fraud system for security that is similar to rollups with a time period where anyone can challenge its validity.  The key difference from other sidechains is that the “root” of each plasma chain block is published to Ethereum, meaning it does inherit the main chain’s security. Companies like Polygon enable faster transactions with much lower gas fees to developers and end users alike. These clear benefits make it incredibly enticing to build on plasma, and it’s easy to see why they have seen [explosive growth](https://www.alchemy.com/case-study/polygon/?a=7e5de6cfc2). ## What sidechains and layer 2s does Alchemy support? [Get a free Alchemy developer account](https://www.alchemy.com/?a=7e5de6cfc2) to start building on Ethereum or these sidechains and Ethereum layer 2s: - Polygon \(Sidechain\) - [Arbitrum](https://www.alchemy.com/arbitrum) \(Layer 2\) - Optimism \(Layer 2\) - Starknet \(Layer 2\) Mass adoption of the implementation of scaling solutions like sidechains and layer 2 \(channels, optimistic rollup, zk rollup, and Plasma\) takes stress off the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) and therefore helps more users speed up slower transaction times and lower high transaction fees while still maintaining the same security guarantees \(in the case of Layer 2 solutions\) and decentralized apps so well known to Ethereum. --- # 12 Solidity Smart Contract Security Best Practices URL: https://www.alchemy.com/overviews/smart-contract-security-best-practices.md Smart contracts are the wizards behind blockchain's magic. They are the code blocks that automate onchain logic, specifying everything from the liquidation thresholds of decentralized lending protocols to the tokenization of real world assets, and much more. But with great power comes great responsibility, especially when it comes to security. One bug can lead to massive exploits, and nobody wants their project to be the next headline for a multimillion dollar hack. In the first half of 2025 alone, over [$2.3 billion in crypto was lost to exploits and breaches](https://www.quillaudits.com/reports/crypto-exploits-h1-report-2025), with access control issues alone accounting for over $1.6 billion of that pain. If you're building with [Solidity](https://www.alchemy.com/overviews/solidity) on Ethereum or similar chains, nailing security isn't optional: it's what keeps your users' funds safe and your reputation intact. In this post, we'll break down what smart contract security really means, dive into some of the biggest contract vulnerabilities, and share practical best practices with code examples to help you bulletproof your code and deploy safe contracts on mainnet. And remember, always test on testnets first before mainnet deployments. It’s far better to find vulnerabilities _before_ your users start sending funds to your contract. ## What is smart contract security? [Smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract) are self executing pieces of code that run when certain conditions are met. Think automated agreements that handle transfers, votes, or even complex DeFi maneuvers without middlemen. They're deployed as bytecode on the blockchain, and once live, they're immutable, so any flaw in a contract is there for the public to see. Security here boils down to making sure that code is rock solid because often contracts themselves custody onchain assets. Can hackers drain funds from a particular contract? Does the contract logic hold up under weird edge cases? Are assets locked away from unauthorized access? A vulnerability in those answers means a malicious actor could drain the contract of user funds and take that money for themself. To protect those vulnerabilities, you need to be thinking about implementing input checks, design patterns, and code audits that can harden your code before mainnet deployment. For a deeper intro, check out the [Ethereum docs on smart contract security](https://ethereum.org/en/developers/docs/smart-contracts/security/). ## Why security matters for you Building insecure contracts isn't just risky for users, it can tank your project overnight. When a project gets drained, users lose faith, and they often don’t come back. Blockchain's irreversibility means that once funds are gone, they're gone. There are no chargebacks here. And just as funds can get wiped out in a moment, so can your reputation. With billions of dollars flowing onchain, hackers are always probing for weak spots; recent stats show the stakes: that $2.3B lost in H1 2025. Most of those losses came from preventable bugs like [bad access controls and reentrancy](https://www.quillaudits.com/reports/crypto-exploits-h1-report-2025). By prioritizing security, you can protect your users, build trust, and avoid the nightmare of your project going to $0 in a single transaction. With the tools and best practices on the market, there are plenty of things that you can do that will allow you to write better code that is not only functional, but resilient. ## Understanding smart contract vulnerabilities One helpful resource to understanding smart contract vulnerabilities is [OWASP](https://owasp.org/) \(short for Open Web Application Security Project\), which is a nonprofit that creates free resources to improve software security worldwide. Their [Smart Contract Top 10](https://owasp.org/www-project-smart-contract-top-10/) is like a hit list of the most dangerous vulnerabilities in blockchain apps, based on real world exploits and data from incidents causing billions in losses. This list gives devs a prioritized shortlist of vulnerabilities to focus on in audits and contract design, drawing from patterns in hacks across ecosystems. The 2025 edition highlights risks like access flaws that led to [$953M in losses last year alone](https://cybersecuritynews.com/owasp-top-10-2025-smart-contract/). When reviewing your code, being conscious about these common vulnerabilities is a great grounding framework to start building up your code’s resiliency. 1. **Access control vulnerabilities**: Flaws letting unauthorized folks mess with data or functions, often from missing permission checks. This issue tops the list for a reason. Think stolen admin keys draining contracts. Simple, but effective and prevelant. 1. **Price oracle manipulation**: Hackers can tamper with external data feeds \(oracles\) to skew prices, leading to bad loans or trades. This is common in DeFi where accurate prices are crucial. 1. **Logic errors**: Bugs where the contract does something unintended, like minting extra tokens or miscalculating rewards. A vulnerability where you have to cover every edge case. Requires deep auditing of contract logic. 1. **Lack of input validation**: Not checking user inputs can allow junk data to break logic or exploit overflows. 1. **Reentrancy attacks**: External calls can let hackers re-enter functions mid execution, often to withdraw funds multiple times. 1. **Unchecked external calls**: Failing to handle failed calls can cause the contract to proceed with wrong assumptions. 1. **Flash loan attacks**: Abusing instant loans can manipulate markets or protocols in a single transaction. 1. **Integer overflow and underflow**: Math errors when numbers wrap around limits can lead to wrong calculations or theft. 1. **Insecure randomness**: Bad RNG that's predictable can be exploited in games or lotteries. 1. **Denial of service \(DoS\) attacks**: Overloading contracts with gas-hungry operations to make them unusable. For the full OWASP details, head to their [Smart Contract Top 10 page](https://owasp.org/www-project-smart-contract-top-10/). And for Ethereum specific tips, see their [security guidelines](https://ethereum.org/en/developers/docs/smart-contracts/security/). ## 12 smart contract security best practices Now that you understand the threat landscape, let's dive into practical defenses. Each vulnerability on the OWASP list has corresponding best practices that have been battletested across thousands of contracts. The following sections break down these common flaws one by one with concrete code examples showing both vulnerable patterns and secure implementations. Think of this as your defensive playbook: straightforward techniques that when applied consistently can reduce your attack surface. ### 1. Use `delegatecall` carefully `Delegatecall` lets one contract run code from another while using its own storage – super useful for libraries or upgrades, but risky because it can lead to unexpected state changes if the called code messes with your variables. It's behind major exploits where hackers inject malicious logic that overwrites critical state like owner addresses or drains funds. The danger is that `delegatecall` preserves the calling contract's context \(`msg.sender`, `msg.value`, storage\), so the external code runs with full privileges. Only use it when absolutely needed, and ensure storage layouts match perfectly between contracts - misaligned slots can corrupt your data. Here's a vulnerable example: Here’s a safer approach: **Best practices:** Use established proxy patterns like [OpenZeppelin's upgradeable contracts](https://openzeppelin.com/contracts/), maintain identical storage layouts between versions \(never reorder or change variable types\), restrict `delegatecall` to trusted, audited contracts only, and consider using libraries with `library` keyword which uses `delegatecall` safely under the hood and never allow user controlled addresses in `delegatecall`: that's an instant takeover vector. ### 2. Use a reentrancy guard Reentrancy occurs when an external call hands over control before your function completes its state updates, etting the caller jump back in and repeat actions like withdrawals before balances update. It's ranked \#5 on OWASP's top Web3 risks and powered some of the most massive hacks in crypto like [The Infamous DAO Hack \($60M loss\)](https://www.gemini.com/cryptopedia/the-dao-hack-makerdao). Attackers can exploit this reentrancy window between sending funds and updating state to drain contracts by recursively calling withdrawal functions. You should always assume external contracts are hostile. Vulnerable example: uint256) public balances; function withdraw() public { uint256 bal = balances[msg.sender]; require(bal > 0); // DANGER: Sends Ether before updating balance! (bool sent,) = msg.sender.call{value: bal}(""); require(sent); balances[msg.sender] = 0; // Too late - already reentered! } } contract Attacker { VulnerableBank bank; fallback() external payable { if (address(bank).balance >= 1 ether) { bank.withdraw(); // Calls withdraw again! } } function attack() external payable { bank.withdraw(); // Starts the loop } }`} /> Secure implementation: solidity \`import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; contract SecureBank is ReentrancyGuard \{ mapping\(address => uint256\) public balances; uint256) public balances; function withdraw() public nonReentrant { uint256 bal = balances[msg.sender]; require(bal > 0); // Update state BEFORE external call balances[msg.sender] = 0; (bool sent,) = msg.sender.call{value: bal}(""); require(sent); } }`} /> **Best practices:** Use OpenZeppelin's `ReentrancyGuard` modifier, follow Checks-Effects-Interactions pattern \(validate → update state → external calls\), and consider pull-over-push patterns where users withdraw funds themselves. ### 3. Use `msg.sender` instead of `tx.origin` for authentication The call `tx.origin` traces back to the original transaction initiator, while `msg.sender` refers to the immediate caller; this distinction matters heavily in security. In multi-contract call chains, `tx.origin` remains constant, but it can be exploited by malicious intermediary contracts that trick your code into thinking the original user is authorized. An attacker can create a phishing contract that calls your function, and if you check `tx.origin`, it points to the victim who initiated the transaction, completely bypassing your authentication. `msg.sender` is always the direct caller, making it reliable for access control. Only use `tx.origin` in rare cases where you specifically need the transaction originator, and never for authentication. This vulnerability ties directly into access control flaws, OWASP's \#1 risk. Vulnerable example: Secure implementation: **Why this matters:** If an owner accidentally interacts with a malicious contract \(clicking a phishing link, using a compromised app\), that contract can drain the vulnerable wallet because `tx.origin` still points to the owner. With `msg.sender`, only the owner address itself can authorize transfers. Make sure you always use `msg.sender` for authentication and access control checks. ### 4. Properly use Solidity visibility modifiers Visibility modifiers define access boundaries: `public` \(callable by anyone, internally or externally\), `external` \(only from outside the contract\), `internal` \(this contract plus inheriting contracts\), and `private` \(strictly this contract\). In older Solidity versions, omitting a modifier defaulted to `public`, accidentally exposing sensitive functions to external attackers. Wrong visibility has led to exploits where hackers called admin functions or manipulated critical state variables that should've been restricted. Always explicitly declare visibility: it's both a security practice and readability win. solidity \`contract VulnerableBank \{ mapping\(address => uint\) balances; uint) balances; // BAD: accidentally public in old Solidity function resetBalance(address user) { balances[user] = 0; // anyone can call this! } // GOOD: explicit visibility function deposit() external payable { balances[msg.sender] += msg.value; } function _updateInternal() internal { // only this contract + children } }`} /> Use static analysis tools like [Slither](https://github.com/crytic/slither) to catch missing or incorrect visibility modifiers before deployment. ### 5. Avoid block timestamp manipulation Validators can manipulate `block.timestamp` within a small window \(roughly ±15 seconds on Ethereum\), making it unreliable for precise timing or as a source of randomness. Miners or validators can adjust timestamps to their advantage, triggering payouts, winning lotteries, or bypassing time based checks. To that end, never use `block.timestamp` for critical logic where seconds matter, and absolutely never use it for generating random numbers. It's fine for rough time estimates \(like "has 24 hours passed?"\) but dangerous for exact conditions. Vulnerable example: Better approach for timing: = startBlock + blocks; } }`} /> For randomness, never roll your own. Instead use [Chainlink VRF](https://chain.link/vrf) or similar verifiable random function oracles that provide cryptographically secure, tamper proof randomness. ### 6. Avoid arithmetic overflow and underflow In Solidity versions before 0.8, integers wrap around silently when they exceed their maximum or minimum values. Meaning a `uint8` at 255 increments to 0, or 0 decrements to 255. This has caused catastrophic exploits where attackers minted infinite tokens, created negative balances that wrapped to huge amounts, or bypassed critical checks. Vulnerable example \(pre-0.8\): uint8) public balances; function transfer(address to, uint8 amount) public { balances[msg.sender] -= amount; // Underflow: 0 - 1 = 255 balances[to] += amount; // Overflow: 255 + 1 = 0 } }`} /> Upgrade to Solidity >=0.8 for automatic overflow protection: uint8) public balances; function transfer(address to, uint8 amount) public { balances[msg.sender] -= amount; // Reverts on underflow balances[to] += amount; // Reverts on overflow } }`} /> If stuck on older Solidity, use OpenZeppelin's SafeMath library. For 0.8\+, checks are built-in and revert automatically, but you can use `unchecked \{\}` blocks when you intentionally want wrapping behavior for gas optimization. ### 7. Implement robust access control Broken access control lets unauthorized users execute privileged functions, it's the \#1 vulnerability on OWASP's Web3 top 10 and caused over $1.6 billion in losses during the first half of 2025 alone. Without proper guards, attackers can drain funds, mint tokens, pause contracts, or change ownership. Common mistakes include missing modifiers, relying on `tx.origin` for auth, or using simple `require\(msg.sender == owner\)` checks that get overlooked during upgrades. The fix is role-based access control with principle of least privilege: give each address only the permissions it absolutely needs. Secure implementation with OpenZeppelin: Regularly audit role assignments, implement time delayed admin actions for high-stakes changes, and use multi-sig wallets for critical roles. Never use `tx.origin` for authentication. Leverage battle-tested libraries like [OpenZeppelin AccessControl](https://docs.openzeppelin.com/contracts/5.x/access-control) rather than rolling your own. ### 8. Secure oracle integrations against manipulation Oracles merge blockchain and real world data, but if they're centralized or easily manipulated, attackers can feed false information to exploit your contracts. This type of exploit is ranked \#2 on OWASP's Web3 risks and has drained hundreds of millions from DeFi protocols. Flash loan attacks often manipulate onchain price oracles \(like using a single DEX as a price source\), letting hackers artificially inflate or crash prices to liquidate positions, drain liquidity pools, or mint undercollateralized loans. Never rely on a single price source or spot prices that can be manipulated within one transaction. Secure oracle usage with Chainlink: 0, "Invalid price"); require(answeredInRound >= roundId, "Stale price"); require(block.timestamp - updatedAt < STALENESS_THRESHOLD, "Price too old"); return price; } }`} /> Best practices: use decentralized oracle networks like Chainlink with multiple data sources, implement Time-Weighted Average Prices \(TWAPs\) for critical operations, validate freshness and sanity-check price bounds, and aggregate multiple oracles when possible. Check [Chainlink docs](https://docs.chain.link/) for network-specific feeds and security considerations. ### 9. Validate all inputs thoroughly Failing to validate user inputs lets attackers inject malicious data, trigger unexpected behavior, or exploit edge cases in code. It's \#4 on OWASP's Web3 vulnerabilities and a common vector for draining funds or breaking contract logic. Without proper checks, users can pass zero values to bypass fees, negative amounts to exploit arithmetic, addresses pointing to zero or malicious contracts, or array indices that cause out-of-bounds access. Every external input is untrusted until proven safe. Defense in depth means validating at every boundary: check ranges, nulls, array lengths, and business logic constraints before processing any user-supplied data. Proper input validation: uint256) public balances; uint256 public constant MAX_DEPOSIT = 1000 ether; function deposit(uint256 amount) public payable { require(amount > 0, "Amount must be positive"); require(amount == msg.value, "Amount mismatch"); require(amount <= MAX_DEPOSIT, "Exceeds max deposit"); require( amount <= type(uint256).max - balances[msg.sender], "Balance overflow" ); balances[msg.sender] += amount; } function transfer(address to, uint256 amount) public { require(to != address(0), "Invalid recipient"); require(to != address(this), "Cannot transfer to contract"); require(amount <= balances[msg.sender], "Insufficient balance"); balances[msg.sender] -= amount; balances[to] += amount; } }`} /> \}\` Always validate that amounts are non-zero and within bounds, addresses aren't null or invalid, array indices are in range, and business logic constraints are met. Use custom errors in Solidity 0.8.4\+ for gas efficient reverts with detailed messages. ### 10. Handle external calls safely External calls to other contracts can fail silently if you don't check their return values. This issue is \#6 on OWASP's Web3 risks and has led to funds getting stuck or contracts assuming success when operations actually failed. Low-level calls like `call\(\)`, `delegatecall\(\)`, and `send\(\)` return boolean success indicators instead of reverting automatically. If you ignore these return values, your contract might continue executing with false assumptions, thinking funds transferred when they didn't, or that a critical operation completed when it failed. ERC-20's `transfer\(\)` also has this issue in some implementations that return false instead of reverting. Vulnerable pattern: Secure implementation: \}\` Always capture and check return values from external calls. For Ether transfers, prefer `call\{value: x\}\(""\)` over deprecated `send\(\)` or `transfer\(\)`. For token transfers, use OpenZeppelin's SafeERC20 wrapper which handles non standard ERC-20 implementations that don't revert on failure. ### 11. Mitigate flash loan attacks Flash loans allow borrowing massive amounts with no collateral as long as you repay within the same transaction. Attackers can exploit this logic to manipulate prices, drain pools, or exploit protocol logic, making it \#7 on OWASP's Web3 risks with billions lost across DeFi. Hackers use flash loaned capital to artificially skew oracle prices, exploit rounding errors at scale, or create temporary market conditions that trigger vulnerable contract logic. A classic pattern that has played out in hacks time and time again: borrow millions, manipulate a price oracle or liquidity pool, exploit the mispricing in your protocol, repay the loan, and pocket the difference – all atomically in one transaction. Vulnerable pattern: = amount, "Insufficient collateral"); // Attacker manipulates price in same transaction! } }`} /> Better approach: uint256) public lastBorrow; function borrow(uint256 amount) public { // Add cooldown between borrows require(block.number > lastBorrow[msg.sender] + 2, "Too soon"); lastBorrow[msg.sender] = block.number; // Use TWAP or Chainlink instead of spot price uint256 price = chainlinkOracle.getPrice(); uint256 collateral = price * userCollateral[msg.sender]; require(collateral * 150 / 100 >= amount, "Need 150% collateral"); } }`} /> Defense strategies: use Time Weighted Average Prices \(TWAPs\) or Chainlink instead of spot prices. Add multi-block cooldowns for critical operations, require over-collateralization, and verify your protocol's health after state changes. If you don't need flash loans, consider blocking them entirely. ### 12. Avoid logic errors in critical functions Logic errors in critical functions break your contract's core security assumptions and can be catastrophic. This category of error is \#3 on OWASP's Web3 risks because these flaws undermine the entire system despite being technically "correct" code. Unlike syntax bugs caught by compilers, logic errors pass all checks but produce wrong outcomes: off-by-one errors in loops, incorrect order of operations, missing edge case handling, or flawed conditions. Classic examples include forgetting to update balances after transfers, using `>=` instead of `>`, or calculating fees in the wrong order causing precision loss. Common logic errors: uint256) public balances; // ERROR 1: Balance updated AFTER transfer (reentrancy risk!) function withdraw(uint256 amount) public { payable(msg.sender).transfer(amount); balances[msg.sender] -= amount; // Too late! } // ERROR 2: Off-by-one lets loop access invalid index function distribute(address[] memory users) public { for(uint i = 0; i <= users.length; i++) { // Should be // Crashes on last iteration! } } }`} /> Corrected version: uint256) public balances; function withdraw(uint256 amount) public { require(balances[msg.sender] >= amount, "Insufficient balance"); // Update state BEFORE external call balances[msg.sender] -= amount; payable(msg.sender).transfer(amount); } function distribute(address[] memory users) public { for(uint i = 0; i < users.length; i++) { // Correct boundary// Safe iteration } } }`} /> **Defense strategies:** Follow checks-effects-interactions pattern \(validate → update state → external calls\), write unit tests for edge cases \(zero, max values, empty arrays\), use fuzzing with Foundry to test random inputs, and define invariants like "total distributed should never exceed pool balance." Always have peer reviews for critical functions. ## 6 popular smart contract security tools The above best practices can help you increase the resiliency, but you also need tools that can catch errors the eye might miss. Here's a mix of classic and modern tools for auditing your code: 1. **Slither**: A static analyzer with 40\+ detectors for flaws. Great for quick scans and prints contract details. [GitHub](https://github.com/crytic/slither). 1. **Mythril**: An EVM bytecode analyzer for multiple chains that can spot symbolic issues. Part of MythX. [GitHub](https://github.com/ConsenSys/mythril). 1. **Securify**: An Ethereum Foundation backed scanner for 37\+ flaws, with precise static analysis. Website (no longer available). 1. **Foundry**: A modern testing/fuzzing framework for Solidity that offers invariant testing that shines for logic bugs. [Book](https://book.getfoundry.sh/). 1. **Certora**: A formal verification tool that proves code matches specs mathematically. [Website](https://www.certora.com/). 1. **Echidna**: A property-based fuzzer for vulnerabilities. [GitHub](https://github.com/crytic/echidna). Along with these 6 tools, you can also partner with platforms like [Code4rena](https://code4rena.com/) for bountied audits. ## Secure your smart contracts: final thoughts As a dev, your goal is simple: build contracts that don't get hacked, keeping user funds safe and your app running smooth. In that process, you should adopt the best practices above and embrace the mentality of being secure by design. Use upgradable proxies \(via [OpenZeppelin Upgrades](https://docs.openzeppelin.com/upgrades-plugins/)\), modular code, and account abstraction \(like ERC-4337 for better UX/security – see our [ERC-4337 guide](https://www.alchemy.com/overviews/what-is-account-abstraction) for more details\). Run unit tests, formal verifs, pro audits, runtime monitoring \(e.g., via [Fortress](https://forta.org/)\), and bug bounties on [Immunefi](https://immunefi.com/). Your users \(and your project’s success\) depend on it. For more resources around contract security, check out the following: - [Ethereum Security Best Practices](https://ethereum.org/en/developers/docs/smart-contracts/security/) - [OpenZeppelin Contracts Docs](https://docs.openzeppelin.com/contracts/) - [Solidity by Example](https://solidity-by-example.org/) - [Consensys Smart Contract Best Practices](https://consensys.github.io/smart-contract-best-practices/) ## Frequently asked questions ### What are the most important security patterns to follow when writing Solidity smart contracts? The most critical patterns include using checks-effects-interactions, implementing reentrancy guards, validating all inputs, setting explicit visibility modifiers, and following proper access control with role-based permissions. ### How can I prevent reentrancy attacks in my contracts? Use OpenZeppelin's ReentrancyGuard modifier, follow the checks-effects-interactions pattern by updating contract state before making external calls, and consider pull-over-push patterns where users withdraw funds themselves. ### Why should I use msg.sender instead of tx.origin for authentication? tx.origin can be exploited by malicious intermediary contracts that trick your code into thinking the original user is authorized, while msg.sender always refers to the direct caller, making it reliable for access control. ### How do I protect against arithmetic overflow and underflow in Solidity? Upgrade to Solidity 0.8.x or later, which has built-in overflow/underflow checks that automatically revert on errors. For older versions, use well-tested libraries like OpenZeppelin's SafeMath. ### What role do testing and security audits play in smart contract security? Comprehensive unit tests, fuzzing with tools like Foundry, and static analysis with Slither help uncover edge cases and vulnerabilities, while independent security audits identify logic flaws before mainnet deployment. ### How should I handle delegatecall safely in Solidity? Only use delegatecall with trusted, audited implementations, never with user-controlled addresses, maintain identical storage layouts between contracts, and prefer established proxy patterns like OpenZeppelin's upgradeable contracts. ### How can I secure my smart contracts against flash loan attacks? Use Time-Weighted Average Prices \(TWAPs\) or Chainlink oracles instead of spot prices, implement multi-block cooldowns for critical operations, require over-collateralization, and verify protocol health after state changes. ### What tools should I use for smart contract security testing? Popular tools include Slither for static analysis, Foundry for testing and fuzzing, Mythril for bytecode analysis, and Securify for comprehensive vulnerability scanning before deployment. --- # 8 Benefits of Smart Contract Wallets URL: https://www.alchemy.com/overviews/smart-contract-wallet-benefits.md Smart contract wallets that use [ERC-4337](https://www.alchemy.com/overviews/what-is-account-abstraction) are web3 wallets that manage smart contract accounts, and they offer the simple user experience of conventional EOA \(Externally-Owned Account\) wallets, with additional functionality, flexibility, and security benefits. [Alchemy's Account Kit enables you to instantly equip your app with Smart Contract Wallets.](https://www.alchemy.com/account-kit) ## What are the benefits of smart contract wallets? Smart contract wallets leverage the programmability of smart contracts to increase their utility compared to EOA wallets. Although [smart contract wallet transactions need to be initiated by EOA wallets](https://www.alchemy.com/overviews/how-do-smart-contract-wallets-work), Account Abstraction infrastructure services like Bundlers, Paymasters, the EntryPoint contract, and Wallet SDKs make the process simpler for wallet developers and end users. **Some of the possible features enabled by smart contract wallets include:** 1. Two-factor authentication 1. Social Recovery 1. Flexible gas policies 1. Custom Signature Schemes 1. Multicall 1. Spending Limits 1. Allowlisting addresses 1. Multi-sig wallet support ### 1. Two-factor authentication [Smart contract wallets ](https://www.alchemy.com/dapps/best/smart-contract-wallets)can offer two-factor authentication, which requires two different components to confirm a user’s identity, for example: - something the user knows, such as a password; - something the user has, such as a phone; - something the user is, such as a fingerprint. This is a well-known web2 feature that provides an added layer of security and prevents unauthorized access. ### 2. Social recovery Smart contract wallets are programmable, and during social recovery the public key of a smart contract wallet is changed if the original private key was lost by the wallet owner. This is achieved through a multisig transaction with predefined trusted friends or relatives \(known as guardians\). This removes the need for the owner to store seed phrases. ### 3. Flexible gas policies Smart contract wallets can create flexible gas policies using APIs that support ERC-4337's Paymaster specification. Being able to [manage gas policies](https://www.alchemy.com/account-abstraction) enables developers to sponsor transactions on behalf of users \(i.e. gasless transactions\) and allow users to pay for gas in any ERC-20 tokens \(e.g. USDC\). #### Sponsoring transactions The transaction would contain a designated sponsor of the fee in its **calldata**. The Paymaster would check with the sponsor if it is willing to [sponsor the transaction fee](https://www.alchemy.com/docs/reference/how-to-sponsor-gas-on-evm) and, if so, proceed with the execution of the transaction. #### Paying for gas with any ERC-20 token The Paymaster also allows for fee payment in currencies other than the blockchain's native token. For example, if a wallet owns only an ERC-20 token like USDC and not the native token on Ethereum \(ETH\), the Paymaster would check if the USDC balance is enough to cover the fee. If the wallet has enough USDC, the Paymaster will pay for the transaction execution with ETH and accept the wallet's USDC as compensation. ### **4. Custom signature schemes** Smart contract wallets could easily be programmed to use a [different signature scheme](https://www.alchemy.com/overviews/account-abstraction-aggregate-signatures) to the default ECDSA used in Ethereum. This default signature scheme could be substituted with multisig, social recovery, or even a quantum resistant option like Crystals-Kyber.  ### **5. Multicall** Multicall is the ability of a smart contract wallet to execute more than one action in a single atomic transaction. Multicall functionality improves the current wallet paradigm where every transaction is propagated and confirmed separately, resulting in longer processing time and poor user experience. For example, if a user wants to trade a token on [Uniswap](https://www.alchemy.com/dapps/uniswap), they must first click ‘approve’ and wait for the transaction to be confirmed. Afterwards, they must wait for the ‘swap’ transaction to be confirmed, and only then is the token exchange completed. Smart contract wallets would allow these transactions to be batched into one atomic transaction. ### **6. Spending limits for different signers** Smart contract wallets can be set to recognize more than one valid signer, which could be used to set different spending limits for different signers. For instance, a user could add both their laptop and [Ledger](https://www.alchemy.com/dapps/ledger) hardware wallet as signers, allowing transactions of up to 0.05 ETH through their laptop, but requiring that the hardware wallet be used for larger transactions. ### 7. Allowlisted and denylisted addresses Smart contract wallets allow users to grant or deny one or more wallet addresses access to their account. Allowlisting enables the user to grant access, while denylisting accounts would block or deny accounts access. Both of these features improve security and give users additional control over their account.  ### 8. Multi-sig wallet support The multi-sig support feature of smart contract wallets is particularly important for organizations, which often require more than one approval before a transaction can be executed. Multi-sig wallet support increases the security of transactions by requiring multiple people to authorize them, which makes it hard for a single person to steal funds or execute unauthorized transactions.  ## What are the disadvantages of smart contract wallets? Some of the main drawbacks of smart contract wallets are: higher gas costs, potential code issues, and the current lack of support by most web3 platforms. ### 1. Higher gas costs Smart contract wallets are controlled by smart contract code, and it’s necessary to pay for the computational resources required to execute this code. Executing smart contract wallet transactions are more expensive than operating an EOA wallet, especially if there are additional features that require complex smart contract code to run. ### 2. Potential code issues Smart contract wallets are code-based, which means they face many of the same auditing, security, and bug issues as an average software product. Because smart contract wallets are new, users adopting SC wallets should evaluate the team, wallet design, and code security of new ERC-4337-compliant wallets. ### 3. Lack of support Smart contract wallets are still in their early phase and are only supported by a few platforms. For smart contract wallets to go mainstream, they need to be supported by top-tier DeFi protocols and other web3 platforms. ## Should I use smart contract wallets? The main reasons why one should consider using smart contract wallets are: improved security features, automation, decentralization and user-friendliness. 1. **Security** - 2FA, multi-sig support, and social recovery make it safer to use than EOAs 1. **Automation** - programmatically interact with web3 protocols and smart contracts 1. **Friendly** **UX** - SCWs eliminate the complexity associated of EOA wallets --- # Smart Wallet APIs for Financial Institutions Adopting Crypto URL: https://www.alchemy.com/overviews/smart-wallet-apis-for-financial-institutions.md The stablecoin market has [surged to over $240 billion](https://www.theblock.co/post/357872/us-stablecoin-market-could-exceed-2-trillion-projection-by-end-of-2028-thinks-treasury-secretary-bessent) and is projected to [hit $2 trillion by 2028](https://cointelegraph.com/news/stablecoins-on-track-for-2-t-market-cap-by-2028-us-treasury) according to the US Treasury. Major banks including [JPMorgan](https://www.alchemy.com/blog/alchemy-smart-wallets-jp-morgan-token), Bank of America, and Citigroup are launching their own [stablecoins](https://www.alchemy.com/dapps/top/stablecoins), while Congress just [passed the GENIUS Act](https://www.npr.org/2025/07/17/nx-s1-5451413/crypto-week-stablecoin-genius-act-trump) providing comprehensive regulatory framework. Fiserv [announced plans](https://investors.fiserv.com/newsroom/detail/2848/fiserv-launches-new-fiusd-stablecoin-for-financial-institutions) to launch their stablecoin across 10,000 financial institutions, and Stripe [spent $1.1 billion](https://fortune.com/crypto/2024/10/22/stripe-announces-1-1-billion-acquisition-of-stablecoin-start-up-bridge/) acquiring stablecoin payment platform Bridge. The race is on for financial institutions to integrate onchain functionality without compromising security, compliance, or performance. We help to tackle these institutional challenges designed to meet enterprise requirements while dramatically simplifying integration. ## The problem when traditional finance meets crypto Financial institutions [integrating crypto rails](/fintech) are looking to unlock new revenue streams from crypto yields, enable instant global payments with no intermediaries, and monetize passive capital through 24/7 global markets. Smart wallets handle these requirements natively - programmable spending limits, automated policy enforcement, and instant, gas-free transactions. Major institutions like [JPMorgan](/blog/alchemy-smart-wallets-jp-morgan-token) are already leveraging smart wallet infrastructure for institutional deposit tokens, while payment processors use them to abstract away crypto complexity from end users. But implementing smart wallet infrastructure requires navigating significant technical complexity. ### Stablecoins require smart contract expertise When financial services interact with stablecoins like USDC, they're executing smart contract operations that require specialized blockchain knowledge. A simple stablecoin payment involves: - **Wallet deployment checks** and factory contract interactions - **Multi-layered gas estimation** across execution, pre-verification, and validation limits - **Transaction batching** for operational efficiency - **Paymaster integration** for gas sponsorship and fee optimization Traditional banking infrastructure wasn't built for this complexity. Current solutions force institutions to either build extensive onchain expertise in-house or rely on consumer-focused tools lacking enterprise features like audit trails and compliance hooks. ### The performance tax on financial operations Every smart wallet transaction requires multiple blockchain calls that compound into operational inefficiencies: 1. Wallet deployment status checks 1. Account nonce management for transaction sequencing 1. Complex gas estimation across fee structures 1. Compliance policy validation 1. Transaction submission For payment processors handling thousands of cross-border transfers or trading firms executing rapid strategies, these delays create competitive disadvantages. When processing high-volume flows, onchain latency impacts settlement times and regulatory reporting windows. ### The enterprise integration gap Financial institutions operate in battle-tested environments—Java core banking, .NET trading platforms, Python risk management, Go microservices. The current onchain ecosystem, focused on TypeScript and browsers, creates fundamental integration gaps. **Payment processors** need backend systems integrating compliance and AML with existing infrastructure. **Asset managers** require programmatic rebalancing with institutional custody. **Trading firms** need ultra-low latency execution with sophisticated risk management. These institutions shouldn't rebuild their entire stack to leverage programmable money. ## Institutional-grade smart wallet infrastructure ### JSON-RPC simplicity for enterprise systems The Wallet API abstracts blockchain complexity through four simple endpoints: - `wallet\_requestAccount` - Deterministic smart accounts with custody integration - `wallet\_prepareCalls` - Transaction preparation with automated gas optimization and compliance hooks - `wallet\_sendPreparedCalls` - Submission with institutional failure handling - `wallet\_getCallsStatus` - Status tracking with detailed audit trails ### Dramatic performance improvements By moving preparation logic server-side, we eliminate the latency tax so transactions happen faster. What previously required 5-6 separate RPC calls now happens in a single optimized request. Behind the scenes, our wallet server handles deployment checks, nonce management, gas estimation, and compliance validation. For trading firms executing arbitrage or payment processors handling remittances, this latency reduction translates directly into competitive advantage. ### Universal language support The JSON-RPC interface enables financial institutions to integrate smart wallet functionality into existing infrastructure without architectural rewrites. Java banking systems, .NET trading platforms, Python risk tools—they all become first-class onchain citizens. ### Built-in institutional failure recovery The API automatically handles UserOperation failures with enterprise-grade recovery: - **Intelligent retry management** for pending operations - **Detailed failure categorization** for compliance reporting - **Complete audit trails** for regulatory examination - **Automated recovery logic** meeting institutional reliability standards ## Enterprise architecture built for financial requirements ### Custody-agnostic design Our architecture recognizes that **signing solutions are just one component** of financial workflows. Whether using managed signers, hardware security modules, or qualified custodians, core wallet operations remain consistent. This enables sophisticated institutional patterns: - **Session key delegation** for backend operations with frontend authentication - **Multi-signature workflows** integrating existing approval processes - **Custodial integration** maintaining operational efficiency ### Verifiable security model The API returns fully verifiable transaction data for institutional security validation. Like institutional trading APIs, we provide complete transparency into signed transactions while handling preparation complexity. ## Real-world financial applications ### Payment processors and remittance Modern payment companies need programmatic wallet control for stablecoin-based cross-border payments: - **Process thousands of daily transfers** with sub-second confirmation - **Handle complex compliance** including AML, KYC, sanctions screening - **Manage multi-jurisdiction liquidity** across stablecoin pools - **Integrate existing banking rails** for fiat conversion The Wallet API enables frontend user authentication with backend compliance validation and transaction processing in existing security environments. ### Institutional asset management Asset managers deploying onchain strategies require automation integrating with portfolio management systems: - **Execute rebalancing strategies** across DeFi protocols - **Manage real-time risk limits** and compliance constraints - **Handle qualified custody requirements** - **Provide regulatory audit trails** ### High-frequency trading Trading firms need ultra-low latency execution integrating with risk management: - **Sub-200ms transaction preparation** for competitive market making - **Automated arbitrage execution** across [DEXs](https://www.alchemy.com/dapps/list-of/decentralized-exchanges-dexs-on-base) and CEXs - **Real-time position monitoring** and limits enforcement - **Integration with existing trading infrastructure** Previously, these firms needed complex TypeScript bridges. Now they integrate directly into Python, Java, or Go systems with HTTP calls. ## Implementation: getting started The API follows a simple prepare-sign-send pattern integrating with financial workflows: 1. **Request Account** - Get smart account for custody address 1. **Prepare Calls** - Receive prepared UserOperation with gas calculations 1. **Validate** - Use existing compliance systems for transaction review 1. **Sign** - Use institutional signing \(HSM, custodian, MPC\) 1. **Submit** - Send with automatic retry and failure recovery 1. **Monitor** - Track with audit trails for regulatory reporting The same pattern works in any language, enabling institutions to add programmable money to existing systems. ## Looking forward As regulatory frameworks like the GENIUS Act mature, [smart wallets](/smart-wallets) will become standard for institutional onchain operations. Building on emerging standards ensures financial institutions can future-proof infrastructure while meeting current compliance requirements. We're continuously optimizing for financial markets with sub-50ms response times, cross-chain operations, and advanced compliance integration—all while maintaining the simple interface that works with existing financial infrastructure. Whether you're processing stablecoin remittances, deploying onchain treasury strategies, or integrating crypto markets, our API delivers the performance, security, and compliance you need with no complexity. **[Start building today](/fintech) on crypto rails institutions trust.** ## Frequently asked questions ### What are Smart Wallet APIs? Smart Wallet APIs are JSON-RPC endpoints that enable financial institutions to integrate programmable smart accounts for handling stablecoins and onchain transactions with features like automated gas optimization, compliance hooks, and institutional failure recovery. ### How do Smart Wallet APIs benefit financial institutions? They unlock revenue from crypto yields, enable instant global payments without intermediaries, provide 24/7 market access, and dramatically reduce transaction latency by consolidating multiple blockchain calls into single optimized requests. ### What are the four main endpoints in the Wallet API? The API includes `wallet_requestAccount` for deterministic smart accounts, `wallet_prepareCalls` for transaction preparation with gas optimization, `wallet_sendPreparedCalls` for submission with institutional failure handling, and `wallet_getCallsStatus` for status tracking with audit trails. ### How do Smart Wallet APIs handle compliance and security? They feature compliance hooks for validation, complete audit trails for regulatory reporting, custody-agnostic design compatible with HSMs and qualified custodians, and fully verifiable transaction data for institutional security validation. ### What programming languages can integrate with the Wallet API? The JSON-RPC interface supports universal language integration including Java, .NET, Python, and Go, enabling institutions to integrate smart wallet functionality into existing infrastructure without architectural rewrites. ### What real-world applications exist for financial institutions using Smart Wallet APIs? Institutions use them for stablecoin remittances with sub-second confirmations, DeFi rebalancing in asset management with qualified custody, and high-frequency trading with sub-200ms transaction preparation. ### How does the Wallet API improve transaction performance? By moving preparation logic server-side, the API eliminates latency by reducing what previously required 5-6 separate RPC calls into a single optimized request, handling deployment checks, nonce management, gas estimation, and compliance validation automatically. ### What is the implementation pattern for the Wallet API? Follow the prepare-sign-send pattern: request an account, prepare calls with gas estimates, validate via compliance systems, sign using institutional methods (HSM, custodian, MPC), submit with automatic retry logic, and monitor status with audit trails. --- # SNARKs vs. STARKS vs. Recursive SNARKs URL: https://www.alchemy.com/overviews/snarks-vs-starks.md Zero-knowledge proofs are mechanisms that allow one party to reveal knowledge of information to another party without revealing the information itself. Also called validity proofs, ZK proofs were originally used to hide transaction details in privacy-focused blockchains.  But ZK proofs also have another exciting use case: scaling general-purpose blockchains. With validity proofs, blockchain nodes can verify transactions without storing the details or replaying the computation. This reduces confirmation times and boosts network throughput.   Due to their scalability benefits, ZK proofs have become a core infrastructure for [blockchain scaling projects](https://www.alchemy.com/overviews/ethereum-scaling-solutions), especially [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups). In this guide, we cover the major classifications of ZK proofs used in blockchains: ZK-SNARKs, ZK-STARKs, and recursive ZK-SNARKs.  ## What is a ZK-SNARK? ZK-SNARK is a protocol for generating zero-knowledge proofs to verify the authenticity of information without exposing the underlying data. The acronym means Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. A ZK-SNARK protocol involves two parties: the prover \(Alice\) and the verifier \(Bob\). The prover \(Alice\) is the party making a claim, while the verifier \(Bob\) is the party responsible for verifying the claim.  The information referenced in the claim is called a witness or _secret_. A prover \(Alice\) uses the ZK-SNARK mechanism to produce a proof to show a verifier \(Bob\) that the claim is true…without revealing the referenced information. A hypothetical example involving ZK-SNARKs is authenticating user identities. An individual could prove a statement \("I am a US citizen"\) without revealing personal information \(e.g., a passport or Social Security Number\).  ZK-SNARKs are so-called because they possess the following qualities: **1. Zero-knowledge**: This means that the verifier knows nothing about a statement except for its validity or falsity.  **2**.** Succinct**: The proof is small enough for the verifier to verify in a short timeframe.  **3. Non-interactive**: SNARKs are non-interactive because provers and verifiers don't need to exchange information beyond the initial proof submitted. Early zero-knowledge proving systems required provers and verifiers to exchange multiple messages to verify statements.   **4. Argument**: A SNARK is a "computationally sound" statement that satisfies rigorous requirements, making it difficult to cheat \(i.e., generate false proofs\).  **5. Knowledge**: SNARK-based proofs cannot be created with access to the underlying information or the _witness_.   ### ZK-SNARKs in blockchains  Distributed computing systems, like public blockchains, need to solve the so-called "computational integrity problem". Computational integrity \(CI\) refers to the correctness of the output gained from a specific computation.  In public blockchains, computational integrity refers to the correctness of transactions executed on a network. Most blockchains achieve it by making other computers \(nodes\) rerun each transaction.  However, this approach is problematic. Forcing every node to replay each transaction slows down the network and limits scalability. Nodes also have to store transaction data \(or they cannot replay computations\), causing exponential increases in the blockchain's size.  But what if nodes could check the validity of a computation without replaying it? This would improve network throughput and remove the need for nodes to store excess transaction data. Enter ZK-SNARKs.  Validity proofs generated using ZK-SNARK can prove the validity of a transaction without revealing the inputs. This is why privacy-focused cryptocurrencies like Zcash and Monero use SNARKs to obfuscate information about transactions.  A SNARK can also prove the correctness of a computation performed off-chain without nodes replaying every step of the computation. This is where ZK-SNARK becomes useful for scaling blockchains.  Verifying off-chain computations with SNARKs is a complex process that starts with encoding the computation into a mathematical expression. This mathematical statement forms the basis of the validity proof.  The verifier then performs an operation on the proof to check its correctness. If the proof passes all checks, the underlying computation is considered valid. This is why SNARKs are _succinct_—the size of a validity proof is many times smaller than the computation it verifies.  ### ZK-SNARKs and ZK rollups  A rollup is [a Layer 2 scaling solution for Ethereum](https://www.alchemy.com/overviews/ethereum-scaling-solutions) that improves throughput on the Layer 1 \(L1\) blockchain through off-chain execution. Rollups process transactions on an L2 chain, aggregate multiple off-chain transactions into blocks, and submit them to the L1 chain.  By moving computation away from the base layer, rollups decrease network congestion and scale transactions.  However, the L1 chain needs to know if transactions executed off-chain are valid or not \(i.e., the computational integrity problem\). Otherwise, a malicious actor can hijack the rollup and submit bad transactions to the main chain.  A type of rollup \(zero-knowledge rollup\) uses ZK-SNARKs to prove the authenticity of off-chain transactions to the L1 chain. SNARK proofs can be verified by anyone, which assures the L1 chain of transaction validity.  Most ZK rollups that use ZK-SNARKs follow the same structure: 1. Users on the L2 chain sign transactions and submit them to validators.  2. Validators compress transactions into a block and generate a corresponding validity proof \(SNARK\). This provides cryptographic guarantees that the new state resulted from the addition of valid transactions.  3. A smart contract on the L1 chain performs an operation on the validity proof. The results of this operation determine if batched transactions are validated and posted to the main chain.  ### What are the benefits of ZK-SNARKs? **There are three main benefits of using ZK-SNARKs: high throughput, small validity proof sizes, and security.** #### 1. High throughput  ZK-SNARKs scale throughput by shrinking computation on Ethereum's base layer. With ZK-SNARKs, rollups can increase TPS rates into the thousands.  A ZK-SNARK is usually many times smaller than the transaction data it verifies. This reduces congestion on the base blockchains and enables cheaper gas fees and faster transactions.  #### 2. Small proof sizes  The small size of SNARK proofs makes them easy to verify on the main chain. On Ethereum, this means lower gas fees for verifying off-chain transactions, reducing rollup costs for end-users.  #### 3. Security  ZK rollups are considered more secure than other scaling projects mainly because of the cutting-edge cryptographic security mechanisms used in ZK-SNARKs.  ZK-SNARK proof is computationally sound, making it difficult to deceive verifiers and act maliciously. The non-interactiveness of ZK-SNARKs also means proofs can be trustlessly verified by anyone.  ### What are the downsides of ZK-SNARKs? **There are three main downsides of using ZK-SNARKs: it requires a trusted setup, they are susceptible to quantum computing attacks, and they rely on special hardware.** #### 1. Trusted setup Setting up the ZK-SNARK protocol requires the creation of a Universal Common Reference String \(CRS\). Also described as _public parameters_, the CRS enables secure communication between provers and verifiers.  If a malicious actor gained knowledge of the public parameters, they could generate false validity proofs. Some projects attempt to solve this problem by [using multi-party computation](https://zkproof.org/2021/06/30/setup-ceremonies/amp/) \(MPC\), which involves different individuals, to generate the public parameters.  Nevertheless, this approach requires users to trust the integrity of those involved. This is quite problematic since the purpose of blockchains is to reduce the need to trust authorities.  #### 2. Susceptibility to quantum-computing attacks ZK-SNARK uses Elliptic Curve Cryptography \(ECC\) to encrypt information used in producing validity proofs. ECC is relatively secure for now, but advancements in quantum computing could break its security model.  #### 3. Reliance on special hardware  Generating validity proofs with ZK-SNARKs is a computationally-intensive process, which means provers must invest in specialized hardware. Because very few people can buy these machines, many think the ZK-SNARK proving process is highly centralized.   ### What projects use ZK-SNARKs? **Five notable projects that use ZK-SNARKs are ZKSync, Loopring, Aztec, Polygon Hermez, and ZKSpace.** #### zkSync EVM-compatible ZK rollup living on Ethereum Mainnet created by Matter Labs. [ZKSync](https://www.alchemy.com/overviews/what-is-zksync-era) supports smart contracts, token swaps, payments, and NFT minting.  #### Loopring Ethereum Layer 2 \(L2\) project powered by SNARK-based ZK rollup technology. Loopring also serves as a decentralized exchange for trading ETH and other ERC-20 tokens, for a fraction of the costs charged on DEXs on Ethereum Mainnet.  **Aztec** Open-source L2 network built on the Ethereum network. Aztec leverages ZK-SNARKs to scale transactions and increase the financial privacy of users.  #### Polygon hermez ZK rollup operating atop the Ethereum blockchain. Polygon Hermez uses ZK-SNARKs to power secure and low-cost token transfers and payments.  #### Zkspace ZK rollup project based on ZK-SNARKs. ZKSpace offers Ethereum users lower gas fees and faster transactions and comprises an AMM-style DEX \(ZKSwap v3\), payments network \(ZKSquare\), and [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) \(ZKSea\). ## What is a ZK-STARK? ZK-STARK is an acronym for Zero-Knowledge Scalable Transparent Argument of Knowledge. Just like ZK-SNARKs, ZK-STARKs show a statement is valid without revealing anything about the statement itself. Save for a few differences, a STARK has the same properties as a SNARK. STARK-based validity proofs are generated using a piece of information, which is hidden from the verifier. A STARK can also verify the correctness of transactions without revealing the inputs. ### ZK-STARKs vs. ZK-SNARKs The major difference with ZK-STARKs comes from their scalable and transparent properties: ZK-STARK is considered transparent because it can work without a trusted setup of a Common Reference String \(CRS\). Instead, STARK protocols use publicly verifiable randomness to set up interactions between provers and verifiers.  ZK-STARKs are _scalable_ because proving and verifying complexity scale _quasilinearly_ in relation to computation complexity. With ZK-SNARKs, proving and verification complexity scale _linearly_ in relation to the underlying computation.  This simply means ZK-SNARK protocols require more time to produce and verify proofs than ZK-STARKs when the computation we need to verify is larger. This is why STARKs are better suited to applications that handle large volumes of transactions.  ### What are the benefits of ZK-STARKs? **There are four main benefits of using ZK-STARKs: there is no need for a trusted setup, they’re scalable, they afford users with maximum throughput, and they have high-security guarantees.** #### 1. No need for a trusted setup ZK-STARKs don't require a trusted setup to function and instead rely on public randomness. This reduces trust assumptions on the part of users and improves the security of STARK-based protocols.  #### 2. Scalable properties  STARKs can be computed and verified faster at scale compared to SNARKs. More importantly, ZK-STARKs keep proving and verifying times low even as the complexity of the underlying computation grows exponentially.  #### 3. Maximum throughput  Like SNARKs, STARKs can scale blockchains by enabling secure and verifiable off-chain computation.  A single STARK proof submitted to the L1 chain can verify thousands of transactions conducted off the main chain. Hence, several high-profile ZK rollup projects use ZK-SNARKs to prove the integrity of off-chain computation.  #### 4. Higher security guarantees  ZK-STARKs use collision-resistant hashes for encryption instead of the elliptic curve schemes used in ZK-SNARKs. This is considered resistant to quantum computing attacks, making it more secure than the elliptic curves used in SNARKs. ### What are the downsides of ZK-STARKs? **The two main downsides of using ZK-STARKs are that they use larger proof sizes and there is less adoption of the technology in the blockchain space.** #### 1. Larger proof sizes  While STARKs provide faster proofs, the drawback is that these proofs are larger compared to SNARK-based proofs. This makes STARK proofs costlier to verify on Ethereum since computing bigger proofs incurs higher gas fees.  #### 2. Lower adoption  SNARKs were the first practical application of zero-knowledge technology in blockchains, which is why they have more market share than STARKs. Most ZK rollups use ZK-SNARKs and the developer ecosystem and tooling for SNARK-based ZK proofs is larger.  Although ZK-STARKs also has high-profile supporters, including the Ethereum Foundation, they have lower adoption. Developers may, therefore, find less support and tooling for building ZK projects with STARKs.  ### What projects use ZK-STARKs? #### StarkNet General-purpose ZK rollup operating as an L2 network on Ethereum. StarkNet allows [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) to achieve unlimited scalability without compromising Ethereum's decentralization and security.  #### dYdX Ethereum-based ZK rollup project \(which doubles as a decentralized exchange\) offering crypto users and traders fast and low-cost trading, borrowing, and lending. [dYdX](https://www.alchemy.com/dapps/dydx) uses STARK proofs as part of its security mechanism, guaranteeing users safety of funds.  #### Polygon miden STARK-based ZK rollup with EVM compatibility. Although still in production, Polygon Miden will be the first EVM-compatible ZK-STARK protocol at launch and allow developers to migrate Ethereum-native apps to enjoy scalability on the L2 network.  ## What is a recursive ZK-SNARK? **A recursive SNARK system generates proofs in parallel for different transaction blocks and aggregates them into one single block proof that gets submitted to the main blockchain, which means one SNARK can verify other SNARKs.** The L2 rollup still submits one validity proof on Ethereum. However, this "recursive proof" verifies transactions in multiple L2 blocks, all of which become valid once the on-chain contract accepts the submitted proof.  ### What problem do recursive ZK-SNARKs solve? **Recursive ZK-SNARKs dramatically increase the number of transactions that can be finalized with a ZK proof by including multiple L2 proofs in a single proof submitted to the L1 chain, which is currently limited by Ethereum’s 12-14 second block time.** Block time refers to how long it takes to mine a new block of transactions on Ethereum. ZK rollups can only submit one on-chain transaction \(and the corresponding validity proof\) per block, limiting how many transactions they can process.  ### How is a recursive ZK-SNARK different from a regular ZK-SNARK? A recursive ZK-SNARK is different from a normal ZK-SNARK because recursive ZK-SNARKs can verify more than one transaction block by combining SNARKs generated for different L2 blocks into a single validity proof that is submitted to the L1 chain.  ZK rollups create a SNARK proof for each batch of transactions before posting to the main blockchain, and a single SNARK proof can only verify one block of transactions conducted on the L2 rollup. ZK-SNARKs can verify transactions that have been verified by regular ZK-SNARKs without using the original inputs. Ergo, the on-chain smart contract can verify a larger set of off-chain computations without running multiple SNARKs as inputs.  ### What is plonky2? Plonky2 is a novel proving mechanism used in Polygon Zero, a proposed [**Polygon ZK rollup**](https://www.alchemy.com/overviews/polygon-zk-rollups) that uses recursive ZK-SNARKs to increase transactions. Recursive SNARKs scale the proof-generation process by aggregating several proofs into a recursive proof, and Plonky2 uses the same technique to decrease the time it takes to generate new block proofs.  The Plonky2 proving mechanism generates proofs for thousands of transactions in parallel before recursively aggregating them into one block proof. This is more efficient than traditional proving mechanisms that try to generate the _entire_ block proof at once. The benefits of this approach are obvious. **Plonky2 can generate a recursive proof in 0.17 seconds**, making it the fastest proving mechanism available. Moreover, Plonky2 produces proofs on a consumer-grade device, solving the hardware centralization issues with regular SNARK-based prover systems.  ## Conclusion Zero-knowledge proofs have gone from privacy-protecting technologies to becoming the next frontier of scaling technology. With the explosion of ZK rollups, it’s safe to say ZK-SNARKs, ZK-STARKs, and recursive SNARKs will feature heavily in the drive to scale Ethereum.  Web3 developers can harness zero-knowledge technology by building on [StarkNet](https://www.alchemy.com/layer2/starknet/?a=cfdfbd6b96), a STARK-powered Ethereum ZK rollup supported by Alchemy. Start building apps that scale today without trade-offs today! --- # What are Solana 1-of-1 NFTs? URL: https://www.alchemy.com/overviews/solana-1-of-1-nfts.md NFTs \(Non-Fungible Tokens\) are a form of digital art that use blockchain technology to verify ownership, authenticity, and rarity of a piece of digital art.  NFTs can either be 1-of-1, have many unique NFTs in a larger collection as is the case with generative NFTs, or be the same NFT with multiple editions. In this article we will discuss what 1/1 NFTs are, how they work, Solana NFT marketplaces that specialize in helping creators mint and sell 1/1s, and finally we'll look at a few of the most popular 1/1 artists on Solana. ## **What is a 1-of-1 NFT?** A 1-of-1 NFT \(also known as a 1/1 NFT, one-of-one, or OOO\), only has one edition of the artwork, and was not generated in bulk. Popular artists that sell one-of-a-kind NFTs that record high sales prices because of their limited quantity, unique artwork, and exclusivity. ### **How are 1-of-1 NFTs different from generative NFTs?** [Generative NFTs](https://www.alchemy.com/overviews/solana-generative-nfts) are NFTs that are made by combining a set number of design assets as layers into a piece of art, and randomizing the variations of each layer to make a large quantity of unique NFTs. These traits could include assets such as: - Background type - Eye type - Outfit - Accessory type - Facial expression The artist then specifies the frequency that each trait appears among the NFTs in the collection to create rarity amongst the NFTs in the collection. The script then randomly selects one variation for each trait and layers the assets on top of one another to compose a unique design. This process is repeated as many times as the artist wants, or until all the possible combinations are exhausted. ### **What types of media can be used to create 1-of-1 NFTs** 1-of-1 NFTs can be most forms of art like a drawing, photograph, music, writing, trading cards, videos, or even podcasts. This is ideal for artists who want to only have 1 copy of their art available for ownership such as a music video, photograph, or drawing. However, for artists who want their art to be more widely available for purchase, it is better to make many editions of the work of art. This is particularly useful for music NFTs where an artist might want to create multiple editions of their album so multiple people can own it. In this scenario, NFTs can still be unique based on the edition number or other NFT metadata. ## **How do 1-of-1 NFTs work?** 1-of-1 NFTs are often minted and sold on 1-of-1 NFT marketplaces. ​You can make a 1-of-1 NFT by following the same process for making an NFT in general. These are the general steps you need to follow: 1. Create the digital art that will become your NFT 1. Choose a blockchain to create your NFT on 1. Choose a marketplace to sell your NFT on 1. Connect your wallet and create an account 1. Use the marketplace's minting workflow to upload and mint your art 1. Once the NFT is minted and in your wallet, list it for sale To mint a 1-of-1 NFT on Solana, artists can use the 1-of-1 [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces)'s guided minting tool to create NFTs such as is the case with Exchange.Art. ## **What blockchain should I use to make a 1-of-1 NFT?** The Ethereum and Solana blockchains have pros and cons for any kind of transaction. Both blockchains vary in their block times, transactions per second, scalability, gas fees, and more. Let’s look at specifically the pros and cons of each blockchain for minting 1-of-1 NFTs.  ### **Ethereum pros & cons** Ethereum is the most commonly used blockchain for NFTs, and therefore has the most marketplaces, buyers, and transaction volumes. If you are looking to gain a larger audience for your NFT, then Ethereum could be the best option. However, Ethereum can only execute around 13-15 transactions per second while Solana can execute 4,000 transactions per second. This results in a longer transaction time and higher gas fees when using Ethereum. Because Ethereum uses a Proof-of-Work \(PoW\) consensus model to verify transactions which requires more time and energy, and because the amount of transactions that can fit into a single block is relatively small compared to the total number of pending transactions, Ethereum is slower and more expensive than Solana. ### **Solana pros & cons** The main advantages of [building on Solana](https://www.alchemy.com/solana?a=8f09f8005e) are its significantly faster transaction times and lower gas fees compared. Solana uses a Proof-of-Stake consensus mechanism for verifying transactions and uses Sealevel, a method for running parallel transactions to increase throughput. While Ethereum has more features for developers and a larger number of total users, Solana’s lower transaction times and gas fees have attracted a lot of attention from builders and collectors over the last year. Today, even Ethereum's largest NFT marketplaces like [OpenSea](https://www.alchemy.com/dapps/opensea) and [Rarible](https://www.alchemy.com/dapps/rarible) support [Solana NFTs](https://www.alchemy.com/dapps/list-of/nft-marketplaces-on-solana). ## **What exchanges are used to make 1-of-1 NFTs?** 1-of-1 NFTs often sell on marketplaces that are specifically for 1-of-1 artists, whereas marketplaces like [Magic Eden](https://www.alchemy.com/dapps/magic-eden) primarily list generative NFT collections with 100s, 1000s, or 10s of thousands of pieces. While the process of creating a 1-of-1 NFT is the same as creating any other NFT, it is best to create the NFT on a platform where you can then list it for sale immediately. #### **Exchange.art** Exchange.Art is a platform where you can mint, buy, and sell 1-of-1 NFTs on Solana. To give artists more control over how they interact with potential buyers for their work and how they can profit, Exchange.Art allows you to sell your NFT by either setting a fixed-price or by putting it up for auction. The founding member of **Exchange.Art**, @A2KDeFi, was a Co-founder of** [DigitalEyes](https://www.alchemy.com/dapps/digitaleyes)**, a once [prominent NFT marketplace on Solana](https://www.alchemy.com/overviews/solana-nft-marketplaces) before starting their project focused on 1-of-1 artists with Co-founder @MilstGuga. #### Holaplex Holaplex is an open-source platform where you can mint, buy, and sell NFTs on Solana. Holaplex provides buyers with a large array of marketplaces where they can buy NFTs, and gives artists the tools to create their own NFT store. Holaplex is a great option for independent artists who are looking to launch their own store compared to listing their art on public marketplaces or trying to get approved to sell art on an invite-only NFT marketplace. #### **Formfunction.xyz** Formfunction is a 1-of-1 marketplace where you can mint, buy, and sell NFTs on Solana that was created by the well-known Solana developer **@pencilflip**. Currently, Formfunction is not open to everyone who wants to sell NFTs. Instead, artists to be invited or apply to be listed. Formfunction has an easy-to-use interface and is well organized, making the user experience of browsing and buying NFTs positive. While the total number of creators selling NFTs is small, the exclusivity makes it an important destination for 1-of-1 NFT collectors to browse for rising artists. #### **SolSea** SolSea is another marketplace where you can mint, buy, and sell NFTs on Solana. SolSea provides buyers with a wide range of media types like photography, gaming, literature, and more. SolSea has many unique features like allowing artists to embed licenses and providing a calendar where buyers can track future NFT drops.  ## **Who are some of the best Solana 1-of-1 artists?** One-of-one NFTs enable individual artists to sell digital art without the need for a large team or technical knowledge. Based on the Particles [1-of-1 NFT leaderboard](https://tools.particlesnft.io/), these are some of the most notable 1-of-1 artists on Solana: #### **Boogle** Boogle is a Solana NFT artist that created 100 NFTs of ghosts. These ghosts are inspired by the myth of the Bogle man. These NFTs are viewed as highly valuable and often sell at high prices, with many selling for 1000s of U.S. dollars. Each NFT is a unique 1-of-1 NFT and is sold via auctions on Holaplex in batches of 3 Boogles at a time.  #### **Voxel monkes** Voxel Monkes has a collection of 100 NFTs that feature monkeys with various traits and actions. These NFTs are 3D pixel art with some being static and others animated. New NFTs are constantly being created in order to reference current events and pop culture.  #### **The observer** The Observer is a 1-of-1 NFT artist with NFTs that feature a dark creature called “The Observer” who observes human behavior to learn from us. The NFTs are works of art with some being static and others animated. Each NFT has a unique story that the artwork depicts. The Observer ranks among the top creators on Holaplex. --- # What is the Solana Account Model? URL: https://www.alchemy.com/overviews/solana-account-model.md Everything on Solana can be considered an account, and accounts are the way the protocol “organizes” the data on the blockchain. This article will provide a holistic overview of the Solana Account Model including types and categories, account components, and the notion of ‘rent’. ## **What is a Solana account and how does it work?** **Solana accounts can be thought of as storage buckets, capable of holding every data type: from tokens such as SOL to a program’s state variables \(e.g. integers, strings, public keys\), and even entire programs themselves.** Every account has a specified owner, and a single owner can own many different accounts. The Account Model is often compared to a computer file system: Name

", tooltip: "", icon: "" }, "2": { title: "

lamports

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Address

", tooltip: "", icon: "" }, "2": { title: "

owner

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Email

", tooltip: "", icon: "" }, "2": { title: "

rent_epoch

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Experience

", tooltip: "", icon: "" }, "2": { title: "

executable

", tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

GeorgeBrownCV.docx

", tooltip: "", icon: "" }, "2": { title: "

0cnjSElkwFlkffjckDSJRU432RIANCLk

", tooltip: "", icon: "" }, id: 4, }, ], }} /> ## **What are Solana account types?** Solana account types are of two main types of accounts: executable and non-executable. This is because Solana programs do not store state like Ethereum smart contracts do, so it needs to separate both type of actions. ### **What are executable programs?** Executable programs are comprised of immutable code that own and create other accounts that store the state. That code is written in a language like **Rust** and then compiled to eBPF, which is a form of bytecode. The most common example of executable programs is the core System Program of Solana, responsible for the creation of the accounts \(wallets\) that people use to access their tokens and NFTs. ### **What are non-executable programs?** Non-executable programs are “storage” accounts which contain all other types of data like program variables, token balances, NFTs, fungible currencies, etc. Through non-executable accounts, the protocol reflects the state changes that have occurred after every transaction. ### **Ethereum smart contracts vs. Solana programs** A smart contract comes prebuilt with a special compartment called “[storage](https://www.alchemy.com/docs/smart-contract-storage-layout)” where its state variables are stored. Smart contracts then uses its executable code to modify those state variables. An Ethereum contract can be seen as a unified place for executable and non-executable code to co-exist. Let’s take the USDC token for example. Its contract contains a mapping called “balances” which maps a user’s address to his own USDC amount. Upon sending or receiving USDC tokens, the contract reflects the changes by itself thanks to its executable code. Solana handles this in a different manner. There is a USDC token program that creates a new account for each individual token holder. These accounts store the holder’s available USDC amount. When a user propagates a transaction, the USDC Token account looks for the associated token accounts of the users that want to make the exchange and then reflect the change in them. ## **What are Solana account categories?** Executable and non-executable accounts can be divided into several additional categories such as native programs, [program accounts, and data accounts](https://www.alchemy.com/overviews/solana-data-vs-program-accounts). ### **What are executable native programs?** **Executable native programs are “native” to the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) and are responsible for tasks like maintaining and running the validator nodes. The most well-known example of this type is the System Program**, which is in charge of creating new system accounts \(what we commonly know as “wallets”\), transfer of SOL, etc. Other instances of Native Programs are the** Stake Program**, which is responsible for the staking mechanism, and the BPF Loader, which is similar to Ethereum’s EVM. ### **What are executable program accounts?** Executable program accounts are pre-made Solana programs that create and store other programs. A good example of these is the[ Solana Program Library](https://www.alchemy.com/overviews/solana-program-library) \(SPL\) — a collection of programs that support a number of on-chain activities, including creating, swapping, and lending tokens, generating stake pools, and maintaining an on-chain name service. A prominent representative of the SPL is the **Token Program**, which creates and manages tokens. Solana’s USDC token is just a Token account, managed by the Token Program. However, the Token account does not store the users’ token balances. This is handled by a member of the third type of accounts: **data accounts.** ### **What are non-executable data accounts?** While the Native Programs and Program accounts are considered executables, data accounts are the opposite: they are a registry that reflects the state changes for specific programs and the Solana protocol as a whole. Data accounts can be divided into: 1. **Token accounts** - accounts created by the Token Program 1. **Associated Token Accounts \(ATA\)** - accounts that store the token balances for each individual user 1. **System Owned Accounts** - store data and allow for the signing of transactions Token accounts represent each individual fungible currency \(USDC, USDT, etc.\), and contain basic information for the token like supply, number of decimals, name, etc. For each unique Token account a different [associated token account \(ATA\)](https://www.alchemy.com/overviews/associated-token-account) is generated. For instance, if you own both USDC and USDT, you have access to two ATAs that have been created by the USDC and the USDT Token accounts respectively. ## **What are Solana account elements?** **Each account element is a metadata set, so the protocol can easily understand the account’s type and additional information.** Metadata consists of: - **lamports** - the account’s SOL balance, denominated in lamports where 1 lamport is equivalent to one billionth of a SOL token - **owner** - this is the address of the program that owns the account - **executable** - a boolean variable that indicates if the account contains executable code - **data** - the raw data byte array, stored in the account, be it storage variables or executable code - **rent_epoch -** indicates the next epoch at which the account will owe rent The difference between an **owner** and a **holder** is that the owner is the program that controls the account and a holder is the user who holds the private key to the account. For example, the System Owned Account is owned by Solana’s Native System Program. ### **What is Solana account rent?** Every account [**pays a rent fee**](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs) to use memory on the blockchain, and is a preventative measure to keep attackers from clogging the network by using all of its memory. For a blockchain to satisfy all its users, it must include some kind of economic incentive. This applies especially to the validators, who supply their hardware and computational power to verify all the transactions. Validators need to maintain a working copy of all the state changes and receive rent as a reward. An account that maintains a minimum balance equivalent to 2 years of rent fees is exempt. If not, it is charged when it is referenced by a transaction or at every epoch, which currently equates to two days. If an account does not contain the minimum amount of SOL to be rent exempt, its data is deleted from the chain. ## **How to create a Solana account** Creating a System Account on Solana is what [**Solana wallets**](https://www.alchemy.com/overviews/solana-wallets) do in the background each time a user creates a new “wallet”. A wallet creates a new account by generating a 64-byte keypair that lies on an ED25519 elliptic curve. The first 32 bytes are the private key, which is used when the user wants to create a transaction and interact with another account or program. The second set of 32 bytes is the public key of the wallet. ## **Start building on Solana** The Account Model is the system that the Solana protocol uses to organize data. Accounts can be thought of as storage buckets, capable of holding everything- from raw data, code and state variables, to token balances, NFTs, etc. Accounts are of 2 main types: executable and non-executable. To start building with Alchemy, [open a free Solana developer account](https://dashboard.alchemy.com/signup/?a=solana-account-model) today! --- # Solana Agent Kit vs GOAT vs ElizaOS | Alchemy URL: https://www.alchemy.com/overviews/solana-agent-kit-vs-goat-vs-elizaos.md Three frameworks come up in every Solana AI agent guide: Solana Agent Kit, GOAT, and ElizaOS. All open source. All built around plugins. All promising to let your agent move tokens. Pick the wrong one and you spend week three ripping out the foundation when you realize it does not fit the build you want to ship. This guide breaks down what each framework is, who is shipping production agents on it, where it falls short, and how to choose. The framework decides what your agent can do. The infrastructure decides whether it works in production. If you want the broader build flow once you have picked, the [step-by-step Solana AI agent build guide](https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026) covers wallet setup, RPC integration, and [Jupiter](https://www.alchemy.com/dapps/jupiter) swaps end-to-end. ## What is Solana Agent Kit? [Solana Agent Kit by SendAI](https://github.com/sendaifun/solana-agent-kit) is an open-source TypeScript toolkit that gives any LLM agent direct access to Solana protocols. The pitch on the [project homepage](https://kit.sendai.fun/) is simple: "any agent, using any model can autonomously perform 60+ Solana actions." It is Apache-2.0 licensed and the de facto reference implementation for Solana-native agents. Production users include SEND [Arcade](https://www.alchemy.com/dapps/arcade)'s onchain games (via the Blinks plugin), [3land NFT minting flows](https://www.npmjs.com/package/@3land/minting), and SendAI's own [Solana MCP server](https://github.com/sendaifun/solana-mcp), which exposes the kit's actions to Claude Desktop and Cursor. Architecturally it is a tool library, not an agent runtime. The core `SolanaAgentKit` class wraps a wallet plus an [RPC](https://www.alchemy.com/rpc-api) connection, and you call `.use(...)` to register plugins. The kit ships five first-party plugins covering tokens, NFTs, DeFi, miscellaneous data, and Solana Blinks. You bring your own agent loop, usually [LangChain or LangGraph or Vercel AI SDK](https://github.com/sendaifun/solana-agent-kit), via the included adapter helpers. Where it shines: depth on Solana. Out of the box the kit drives the protocols any production Solana agent ends up touching: DEXs and aggregators (Jupiter, Raydium, Orca, Meteora DLMM), price feeds (Pyth, Switchboard), MEV protection (Jito Bundles), perps (Drift), [memecoin launches](https://pump.fun) (Pump), liquid staking (Marinade, Sanctum), bridges (Wormhole, [deBridge](https://www.alchemy.com/dapps/debridge)), ZK compression ([Light Protocol](https://www.alchemy.com/dapps/light-protocol)). The [v2 release notes](https://github.com/sendaifun/solana-agent-kit/releases) show the catalog growing through 2025 with embedded wallet support via Turnkey, Privy, and Phantom. Two providers ship as first-class plugins inside `@solana-agent-kit/plugin-misc`: Helius and Alchemy. Both expose Solana RPC, priority fees, webhooks, and curated data reads as native agent actions, callable from any agent loop with no glue code in between. They differ in reach: Helius is Solana-only; we add EVM chains (Ethereum, Base, Arbitrum, Polygon, and more) on top of Solana. That matters if your agent ever calls EVM contracts or follows a user's footprint across ecosystems. Where it falls short: Solana only at the framework level. There is no native EVM agent surface, no first-class Eclipse or other SVM coverage, and no built-in agent runtime, memory, or social platform clients. The Python port (`solana-agent-kit-py`) has no formal releases and trails the TypeScript version on every plugin. Tagged release cadence is also uneven: the [latest tagged release on GitHub](https://github.com/sendaifun/solana-agent-kit/releases) is v2.0.9 from July 24, 2025, though the `v2` branch keeps merging substantive contributions. Pick it when: you are Solana-only, you want first-class Helius or Alchemy infra baked in, and you control the agent loop. ## What is GOAT? [GOAT SDK by Crossmint](https://github.com/goat-sdk/goat) (short for Great Onchain Agent Toolkit) is a framework-agnostic, multi-chain agent SDK. The [original launch announcement](https://www.crossmint.com/announcement/introducing-goat-great-onchain-agent-toolkit) framed it as "a single, unified library of onchain actions, ready to be used in 5 agent frameworks, two programming languages, on any wallet architecture across 30+ chains." It is MIT licensed. The architecture is a clean three-axis matrix: framework adapter times wallet times plugin. You bring a wallet (viem, Solana [web3.js](https://www.alchemy.com/dapps/web3-js), [Crossmint](https://www.alchemy.com/dapps/crossmint) smart wallet, Lit, Safe, and others), wrap it with the matching `@goat-sdk/wallet-*` package, attach plugins, and pass the result to your framework's tool interface. The same plugin works across whatever wallets the underlying chain supports. Wallet packages exist for EVM, Solana, Aptos, Chromia, Cosmos, Fuel, Lit, Radix, Safe, Starknet, Sui, Zilliqa, MultiversX, plus Crossmint smart wallets in EVM and Solana flavors. Plugins span DEX swaps (Uniswap, Jupiter, 0x, Orca, [Balancer](https://www.alchemy.com/dapps/balancer)), lending (Aave, [Lulo](https://www.alchemy.com/dapps/lulo), Renzo), prediction markets (Polymarket), bridging (deBridge, Mayan), NFTs (OpenSea, [Magic Eden](https://www.alchemy.com/dapps/magic-eden), Tensor), data (CoinGecko, Dexscreener, BirdEye, Nansen, Allora), and commerce rails through Crossmint. ElizaOS officially treats GOAT as the canonical way to add onchain abilities to a character via the [ElizaOS GOAT plugin](https://www.npmjs.com/package/@elizaos/plugin-goat), and [LangChain's tools documentation](https://docs.langchain.com/oss/javascript/integrations/tools/goat) features it as a first-class integration. Development has stalled. The `main` branch on the [GOAT repo](https://github.com/goat-sdk/goat) has not been touched since August 19, 2025, and the latest `@goat-sdk/core` release on [npm](https://www.npmjs.com/package/@goat-sdk/core) is 0.5.0 from May 13, 2025. Solana coverage is also shallower than Solana Agent Kit's: GOAT exposes Jupiter, Orca, Tensor, and Magic Eden but skips the long tail of Solana-native protocols (Pump memecoin launches, Meteora DLMM, Drift perps, Marinade, Sanctum, Light Protocol). Pick it when: you are building multi-chain (especially EVM-plus-Solana) and value a clean wallet-and-plugin abstraction over Solana-native depth. If you go this route, plan to maintain a fork. ## What is ElizaOS? [ElizaOS by Eliza Labs](https://github.com/elizaOS/eliza) is a different category of tool. Solana Agent Kit and GOAT are SDKs you import into your own agent code. ElizaOS is a complete agent runtime: it owns the message loop, memory, model routing, social client integrations, and multi-agent orchestration. You bring a character file. It brings everything else. Launched in October 2024 as ai16z by Shaw Walters, the project [rebranded to elizaOS in late January 2025](https://www.theblock.co/post/337614/ai-agent-platform-ai16z-officially-rebrands-to-elizaos) and moved under Eliza Labs. As of May 2026 it has 18,400+ stars on GitHub, MIT licensing, and [v2 GA shipped in May 2026](https://github.com/elizaOS/eliza/releases) (v2.0.3 latest, with three tagged releases in 36 hours during launch week). ElizaOS is the most actively shipped of the three frameworks. Agents are defined by character files (JSON or TypeScript) that declare personality, plugins, and model settings. A minimal example from the [ElizaOS character interface docs](https://docs.elizaos.ai/agents/character-interface): The runtime is model-agnostic (OpenAI, Anthropic, Gemini, Llama, Grok, local models) and ships first-party clients for Discord, X/Twitter, Telegram, Farcaster, Slack, WhatsApp, and Bluesky. RAG and persistent memory are built in. Blockchain support arrives through plugins: `@elizaos/plugin-solana` covers Solana token ops directly, while [`@elizaos/plugin-goat`](https://github.com/elizaos-plugins/plugin-goat) and `plugin-solana-agent-kit` let an Eliza character borrow GOAT's multi-chain breadth or Solana Agent Kit's Solana depth without rewriting the runtime. Where it falls short: ElizaOS is heavier to set up than dropping an SDK into existing agent code. It is TypeScript-first with no first-class Python or Rust path. And because chains live behind plugins rather than at the core, raw Solana work is more direct in Solana Agent Kit. Pick it when: you want a deployable autonomous agent with a persona, memory, and social platform clients out of the box. ## How do these frameworks compare? ## How should you choose? This decision matrix maps common build profiles to frameworks. Three nuances on top of that matrix. These frameworks compose. ElizaOS can mount Solana Agent Kit (`@elizaos/plugin-solana-agent-kit`) or GOAT (`@elizaos/plugin-goat`) as plugins, so an SDK choice now does not lock you out of a runtime later. Start with what matches your chain scope and layer the runtime in when you need it. Active maintenance is uneven. ElizaOS shipped v2 GA in May 2026 (v2.0.3 latest, with three patch releases in 36 hours during launch week). Solana Agent Kit's tagged release is v2.0.9 from July 2025 but the `v2` branch is still merging substantive contributions. GOAT has not had a commit since August 2025. Star counts are a proxy, not proof. ElizaOS pulls 18,400+ because it is a full runtime with broader appeal. Solana Agent Kit and GOAT serve narrower audiences by design, not lower quality. ## What's the infrastructure layer underneath? All three frameworks send transactions through an RPC provider, and that provider determines whether your agent ships fast and stays up. Reads need archival depth and gRPC streaming. Writes need fast, reliable transaction landing. Multi-region coverage matters when your agent runs in production for hours at a time. If you are using Solana Agent Kit, we are no longer just the infrastructure layer underneath. We ship as a first-class plugin inside `@solana-agent-kit/plugin-misc`, exposing Solana RPC, priority fee estimation, token prices (by symbol, by address, historical), multi-chain portfolio reads, Notify webhooks, and an endpoint helper as native agent tools. The hosted [Solana agent scaffolder](https://www.solana.new/) wires both providers into every new project, so a fresh scaffold ships with the RPC choice baked in. We're now a first-class option in the skills catalog and the RPC provider guide. Spin up an agent with our plugin pre-wired at [solana.new](https://www.solana.new/). Use the [Alchemy CLI](https://www.alchemy.com/docs/alchemy-cli) for Alchemy account auth, wallet sessions, x402 payments, and cross-chain API queries: Use `alchemy agent-prompt` to drop the full CLI command tree into a coding agent's system prompt. See [Alchemy for agents](https://www.alchemy.com/agents) for the full stack. If you are still shopping for the build flow itself, the [Solana AI agent build guide](https://www.alchemy.com/blog/how-to-build-solana-ai-agents-in-2026) walks through framework selection, RPC setup, wallet security, and a working Jupiter swap example. Pick the framework that matches your chain scope and runtime needs, then wire it to the infrastructure underneath. The framework decides what your agent can do. The infrastructure decides whether it works in production. --- # What is Anchor and the Anchor Program Registry? URL: https://www.alchemy.com/overviews/solana-anchor.md Anchor is leading Solana development frameworks for writing safe, secure, and efficient high-level programs on Solana. A program in Anchor is a smart contract on the Solana blockchain that enables users to anchor data to the Solana blockchain. Due to Solana’s massive developer community, verified programs on Solana are hosted on the Anchor Program Registry for easy access. This article will help you understand how to use one of the most [important Solana developer tools](http://www.alchemy.com/overviews/solana-developer-tools), Anchor, and the Anchor Program Registry for building on Solana. We will also comparison Anchor and Seahorse, Python-based development framework for interacting with Solana. ## **What is the Solana account model?** Everything developers build on the Solana blockchain involves [**programs and accounts**](https://www.alchemy.com/overviews/solana-account-model), which execute and store data on the blockchain. There are different account categories in Solana including: - **Data accounts** - store data - **Program accounts** - store executable programs - **Native accounts** - indicate native programs on Solana And every account stores a set of information: - **lamports** - number of lamports owned by the account - **owner** - program owner of the account - **executable** - checks whether the account can process instructions or not - **data** - raw data byte array stored by the account - **rent_epoch** - next epoch that the account will [owe rent fees](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs) ## **What is anchor?** [**Anchor**](https://www.anchor-lang.com/) is a framework used to write safe, secure, and high-level programs on Solana, which abstracts the low-level construction of accounts and modification of the interfaces to your Solana programs. A framework acts as a foundation so that the users don't have to create unnecessary logic from scratch, helps users avoid redundant code, and help them write clean and secure programs. Specifically, Anchor provides a deserialized accounts and instruction data through boilerplates, a command line interface \(CLI\), and a workspace for [developing Solana apps](https://www.alchemy.com/overviews/learn-solana-development). ### **How does anchor work?** Anchor uses macros and traits to generate boilerplate Rust code for developer. Every Anchor program consists of three components: 1. **declare_id** -a macro used for declaring the program’s on-chain address 1. **\#\[program\]** - attribute macro used to denote the module containing the program’s instruction logic 1. **\#\[account\]** - attribute macro used to define custom account types for the program **Here is the basic structure of an Anchor program:** ### **1. Create a default keypair** When we build an Anchor program for the first time, it generates a new key pair which serves as a default keypair to deploy the program. The public key should be used as the programID specified in the declare_id! Marco. ### **2. Instruct the program** Then, we can separately instruct the program using the \#\[program\] attribute. Each instruction function requires a parameter of type **Context** and can optionally include additional function parameters representing instruction data. Anchor will automatically handle instruction data deserialization so that the user can work with instruction data as Rust types. ### **3. Implement an account deserializer** _\#\[derive\(Accounts\)\]_ implements an Account deserializer on the given struct and removes the need to deserialize each account manually. This is responsible for performing all requisite constraint checks and ensuring the accounts meet the conditions required for the program to run securely. ### **4. Invoke the initialize function** When the Initialize function is invoked, the program: - Checks that the accounts passed into the instruction match the account types specified in the Initialize struct - Checks the accounts against any additional constraints specified This is how an Anchor program works and allows you to get started with building Anchor programs. To know more about Anchor programs, it is highly recommended to check out their documentation. ## **What is the anchor program registry \(apr\)?** **The Anchor Program Registry (APR) is a directory of Anchor programs that have been registered on the Solana blockchain, allowing users to easily locate and access them. APR ensures that Anchor programs are registered and authenticated on the blockchain.** There are a number of programs in the Anchor Program Registry to make your job easier. Let us consider a few examples of them: - token_signer - provides a suite of programs for Solana key management and security. - spl_governance - a collection of on-chain programs targeting the **Sealevel parallel runtime.** - crate_token - allows anyone to create, manage, and trade a tokenized basket of assets. ### **How do Solana developers use the anchor program registry?** Solana developers use the Anchor Program Registry to access verified programs on the Solana blockchain. The Anchor Program Registry catalogs source code for verified programs, allowing developers to access a repository of working code. You can follow the flow provided below in order to use Anchor Program Registry: 1. Visit the address of an Anchor Program 1. Connect your wallet 1. Access the UI 1. Sign and send a transaction to execute an instruction The APR interface provides a list of instructions that Anchor program supports and form fields you can use to configure the inputs for a given instruction. ## **What is Seahorse?** Seahorse is a Solana development framework like Anchor, but it is built for Python developers. Seahorse provides a set of tools for building, deploying, and interacting with programs and accounts on the Solana blockchain. It supports different programming languages like JavaScript, Rust, and Python, complete with resources and documentation for new developers. ### **Anchor vs. Seahorse** Programming languages supported

", tooltip: "", icon: "" }, "2": { title: "

JavaScript, Rust, Python

", tooltip: "", icon: "" }, "3": { title: "

JavaScript, TypeScript

", tooltip: "", icon: "" }, id: 0, }, { "1": { title: "

Focus

", tooltip: "", icon: "" }, "2": { title: "

Flexibility and scalability

", tooltip: "", icon: "" }, "3": { title: "

User experience and ease of use

", tooltip: "", icon: "" }, id: 1, }, { "1": { title: "

Tools and feature

", tooltip: "", icon: "" }, "2": { title: "

Smart contract development

", tooltip: "", icon: "" }, "3": { title: "

Decentralized Application Development

", tooltip: "", icon: "" }, id: 2, }, { "1": { title: "

Local development environment

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 3, }, { "1": { title: "

Testnet for running simulations

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 4, }, { "1": { title: "

Documentation and resources

", tooltip: "", icon: "" }, "2": { title: true, tooltip: "", icon: "" }, "3": { title: true, tooltip: "", icon: "" }, id: 5, }, ], }} /> ## **Resources to learn anchor** There are several resources available to help you learn about the Anchor framework: 1. [Anchor Docs](https://www.anchor-lang.com/) - find the most relevant and up-to-date information 1. [Soldev](https://soldev.app/course) - start developing smart contracts with Anchor with example code 1. [Sol Playground](https://beta.solpg.io/) - start developing programs with Anchor using an online IDE There are plenty of resources available to help you learn about the Anchor framework and start building your own decentralized applications. ## **Start developing with anchor and Alchemy** The Anchor framework is a valuable tool for building **reliable and secure Solana programs \(smart contracts\)**. Further, the Anchor Program Registry is a directory for verified programs on the Solana blockchain, and is a critical resource for enabling better composability. Anchor framework’s versatility and scalability make it an attractive choice for Solana developers. If you’re ready to start with your Solana development journey, sign up for a free [Solana RPC account ](https://dashboard.alchemy.com/signup/?a=solana-anchor)today! --- # Solana Archival Data: How to Query Full Block & Transaction History URL: https://www.alchemy.com/overviews/solana-archival-data.md Sooner or later, every team indexing Solana hits the same wall. You ask a node for a transaction from a few months back and get a "block cleaned up" error, because the node deleted that stretch of the ledger weeks ago. A standard Solana RPC node holds [roughly the last couple of days of the chain](https://docs.anza.xyz/implemented-proposals/rpc-transaction-history) and prunes everything older to stay inside its disk budget. Given that Solana produces [over four petabytes of data a year at peak speeds](https://www.alchemy.com/blog/zero-downtime-zero-gaps-solana-grpc-streaming), no single machine was ever going to hold all of it. Archival data is how you reach everything the node threw away. Before anything else, get one definition straight. Solana archival data is old blocks and transactions, not past account state. If you're coming from Ethereum, where an archive node can report any account's balance at any historical block, that difference matters the first time you design a pipeline around a method that doesn't exist here. The rest is practical: where Solana's full history actually lives, which RPC methods reach it, how to query them, and how to backfill an index from genesis without gaps. ## Why can't a standard Solana node serve full history? A validator writes the ledger to a local database, and operators run it with the [`--limit-ledger-size` flag](https://docs.anza.xyz/operations/guides/validator-start) so the disk doesn't fill. With the flag set, the node purges the oldest data first. Its default value is 200 million shreds, the chunks Solana splits blocks into for network propagation, which keeps the ledger under roughly 500 GB. Without the flag, the node keeps everything it receives until it runs out of disk, which at Solana's data rate is not a long wait. Anza, the team that maintains the [Agave validator client](https://docs.anza.xyz/implemented-proposals/rpc-transaction-history), is blunt about the reason. Six months of transaction data cannot practically be stored in a validator's local ledger, so the history a node carries is "on the order of days." Everything older has to live somewhere else. You can find any node's floor by calling [`minimumLedgerSlot`](https://www.alchemy.com/docs/reference/solana-api-quickstart), which returns the oldest slot it still holds. Watch it for a while and the number only climbs, because pruning never stops. Query below it and you get the "block cleaned up" error instead of data. A bigger disk doesn't change any of this. Serving the chain tip and serving deep history are different infrastructure problems, and archival systems exist because the second one outgrew what a node can do. ## What does archival mean on Solana, and how is it different from Ethereum? An [Ethereum archive node](https://www.alchemy.com/overviews/archive-nodes) keeps every historical version of the state trie. You can ask what a contract's storage or a wallet's balance looked like at any past block, and the node answers from data it kept around for exactly that purpose. Teams arriving from Ethereum tend to assume Solana has an equivalent. It doesn't, and this one assumption wrecks more historical data plans than anything else. Solana overwrites account state in place. When an account changes, the new version replaces the old, and a [background cleaning process in AccountsDB](https://www.anza.xyz/blog/a-deep-dive-into-solana-s-accountsdb) garbage-collects superseded versions once a later slot is finalized. No record survives of what an account held three months ago. That's why the Solana RPC API has no "balance at slot N" method, and why [querying historic account state](https://github.com/solana-labs/solana/issues/18197) has sat open as a feature request in the Solana repo for years. What archival infrastructure preserves is the ledger itself, meaning blocks and the transactions inside them. An archive can hand you block 150,000,000, or every transaction that ever touched an address. It cannot hand you a wallet's USDC balance from last March. That question is still answerable, but you answer it by replaying the wallet's transaction history through [an indexer](https://www.alchemy.com/overviews/blockchain-indexer), not by asking a node for state it never kept. ## Which RPC methods need archival data? A method becomes an archival read the moment the slot it targets falls below the node's local floor. These are the ones that reach into long-term storage. getBlock

", tooltip: "", icon: "", }, "2": { title: "

Full block and its transactions at a slot

", tooltip: "", icon: "", }, "3": { title: "

Only maxSupportedTransactionVersion: 0 is accepted

", tooltip: "", icon: "", }, id: 0, }, { "1": { title: "

getTransaction

", tooltip: "", icon: "", }, "2": { title: "

A confirmed transaction by signature

", tooltip: "", icon: "", }, "3": { title: "

Rejects processed commitment; returns null if not found

", tooltip: "", icon: "", }, id: 1, }, { "1": { title: "

getSignaturesForAddress

", tooltip: "", icon: "", }, "2": { title: "

Signatures that reference an address, newest first

", tooltip: "", icon: "", }, "3": { title: "

Limit 1 to 1,000 per call; paginate with before and until

", tooltip: "", icon: "", }, id: 2, }, { "1": { title: "

getBlocks

", tooltip: "", icon: "", }, "2": { title: "

Confirmed slots in a range

", tooltip: "", icon: "", }, "3": { title: "

Range capped at 500,000 slots

", tooltip: "", icon: "", }, id: 3, }, { "1": { title: "

getBlockTime

", tooltip: "", icon: "", }, "2": { title: "

Estimated production time of a block

", tooltip: "", icon: "", }, "3": { title: "

Returns null if no timestamp was recorded

", tooltip: "", icon: "", }, id: 4, }, { "1": { title: "

getFirstAvailableBlock

", tooltip: "", icon: "", }, "2": { title: "

Lowest slot available from storage

", tooltip: "", icon: "", }, "3": { title: "

The archive's floor, not the node's

", tooltip: "", icon: "", }, id: 5, }, ], }} /> Most historical pipelines are built on two of these. Page backward through an address's history with `getSignaturesForAddress`, then fetch each transaction's detail with `getTransaction`. Since the signature call returns at most [1,000 results per call](https://www.alchemy.com/docs/reference/solana-api-quickstart), walking a busy address back to its first transaction means a long chain of paginated calls, and nearly every one of them past the node's minimum ledger slot is served from the archive. This is also where a weak archive gets exposed. If the provider's long-term storage has holes, some call deep into your backfill returns a "slot skipped" or "missing in long-term storage" error, and unless you're checking for it, your index comes up short without anyone noticing. Every provider exposes the same method names. What varies is whether the storage behind them has gaps, and how fast it answers when you're paging through it thousands of calls at a time. ## How do you query full block and transaction history? The queries themselves are ordinary JSON-RPC. There is no separate archival API and no special parameter that unlocks history. You call the same methods you would use at the chain tip, and the provider's archive answers whenever the slot falls below the node's local floor. Fetching one block from deep history looks like this: The response carries the whole block, every transaction in it, and each transaction's status and metadata. Keep `maxSupportedTransactionVersion: 0` in the params on every call. Without it, the call errors on any block that contains versioned transactions, which on mainnet is most of them. Walking an address's complete history is the two-method pattern from the table above, run in a loop. Page backward with `getSignaturesForAddress` until it comes back empty, then fetch each transaction's detail: entry.signature)); before = page[page.length - 1].signature; } // Resolve each signature to full transaction detail const tx = await rpc .getTransaction(signatures[0], { maxSupportedTransactionVersion: 0, encoding: "jsonParsed", }) .send();`} /> For a single wallet this loop is all you need, and it runs fine from a laptop. It stops being enough when the address is a busy program with millions of signatures, or when you need history for every address on the chain. That's the backfill problem, and the sections below cover where the data comes from and how to load it without gaps. ## How is Solana's full history actually stored? No validator holds the whole ledger, so long-term history lives off the node entirely. Two systems handle it in practice. The long-standing one is the warehouse pattern. A dedicated node continuously uploads finalized blocks to [Google Bigtable](https://docs.anza.xyz/operations/setup-an-rpc-node), and when an RPC node receives a query for a slot it no longer holds, it falls back to that store. Recent slots come from the node's local database and everything older comes from Bigtable. Most production Solana RPC has served deep history this way for years. The cost is concentration, since the entire chain's past ends up inside one proprietary cloud database. The newer one is [Old Faithful](https://old-faithful.net/), the open-source archive led by Triton and the Yellowstone project. It packs every block since genesis into content-addressed CAR files, spreads them across IPFS, Filecoin, and S3-compatible storage, and serves them over standard Solana JSON-RPC and gRPC. The project exists so that full Solana history doesn't depend on any single company's database, and teams that need verifiable from-genesis coverage treat it as the reference archive. Whichever backend sits behind your provider, the thing to internalize is that the archive is a separate system from the node. Depth and completeness are properties of that system, and they're worth asking about directly instead of assuming. ## How do you get account and token history at scale? Teams that want "Solana history at scale" rarely mean raw blocks. They want a wallet's balance over time, every transfer an address has made, or a token's full holder history, served fast enough to power a dashboard or a tax export. None of that exists in the ledger in queryable form. It has to be derived. The recipe barely changes between projects. Pull an address's complete transaction history from archival RPC, replay those transactions in order, and compute the state you care about along the way: balances after each transaction, ownership changes, transfer flows. Write the results into your own database so the expensive replay happens once instead of on every request. On any chain this is a blockchain indexer's job. On Solana it's the only route to historical state at all, because the node keeps none. For the sharpest version of the question, what a wallet held at a specific slot, we now ship a direct answer. [`getTokenAccountsByOwnerAtSlot`](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/get-token-accounts-by-owner-at-slot) keeps the syntax of the standard `getTokenAccountsByOwner` and adds a `slot` parameter, returning the wallet's exact token balances at that point in history in a single call. It's backed by a continuously maintained historical index rather than replay, so for point-in-time holdings the whole reconstruction pipeline above disappears. The [historical Solana token balances launch post](https://www.alchemy.com/blog/historical-solana-token-balances) walks through the mechanics. For the other common derived shapes, balances over time, transfers, and token metadata, [Data APIs](https://www.alchemy.com/docs/data) serve them pre-computed and you can skip the indexing project. Build your own indexer when you need custom derived data or full control of the pipeline. Use the managed methods when the standard shapes cover you. What cannot work is asking a plain node for past account state, because the node never kept it. Every working answer is an index built over the history. ## How do you backfill an index from genesis without falling over? The hard part of a historical pipeline is the cold start. Your index is empty, hundreds of millions of slots need to be loaded, and the chain keeps producing new blocks the whole time you're loading them. If the backfill and the live feed don't meet cleanly, a gap opens between where one ended and the other began. Plenty of teams start by polling archival RPC for the whole backfill, and at genesis scale it gets painful: rate limits, per-request cost across hundreds of millions of slots, and no clean way to prove nothing was missed. The pattern that survives contact with production uses a different source for each phase. Bulk history comes straight from an archive, and tools like [Jetstreamer](https://github.com/anza-xyz/jetstreamer) stream it directly out of Old Faithful. The chain tip comes from a live stream instead of more polling. For the live half, a Yellowstone-compatible [Solana gRPC stream](https://www.alchemy.com/solana-grpc) pushes new transactions and account updates to your indexer as they happen, filtered by account, program, or signature. The seam between backfill and stream is where pipelines usually leak, and replay is what seals it. [Our gRPC](https://www.alchemy.com/blog/introducing-alchemy-solana-grpc) lets a client reconnect with a `from_slot` parameter and re-receive the slots it missed while it was down, so a dropped connection doesn't leave a hole in your data. We also built the [streaming layer to ride through failovers](https://www.alchemy.com/blog/zero-downtime-zero-gaps-solana-grpc-streaming) without dropping messages, which is the work that otherwise becomes a separate gap-detection service you run beside your indexer. Once the archive covers the past and the stream covers the tip, replay keeps the two sewn together. ## What should you look for in a Solana archival provider? Depth is the first thing to pin down, and it's worth asking any provider in exactly these words: do you index from genesis, or from a more recent height forward? "Full historical data" with an unstated floor is common, and you usually discover the floor when your backfill dies on it. The rest of the checklist follows from how a backfill actually runs. Completeness matters because one gap corrupts the index you built on top of it. Speed matters because a full signature-history walk is thousands of sequential archive reads, so per-call latency multiplies into hours or days of wall-clock time. Standard JSON-RPC matters because a proprietary historical endpoint ties your pipeline to one vendor, while plain RPC needs no rewrite at all. And price matters because deep history is read-heavy by nature. We built our archival access against that checklist. It covers [complete block and transaction history from genesis](https://www.alchemy.com/docs/reference/solana-api-quickstart) over standard JSON-RPC, and [our benchmarks](https://www.alchemy.com/blog/solana-infrastructure) measured historical `getTransaction` running up to 20x faster than other providers, alongside up to 3x faster `getBlock` and up to 10x faster on heavy calls like `getProgramAccounts`, with no code changes or proprietary methods involved. The [engineering story of how we built the fastest archival methods on Solana](https://www.alchemy.com/blog/how-alchemy-built-the-fastest-archival-methods-on-solana) covers the architecture behind those numbers. For a full side-by-side on depth, uptime, pricing, and tooling, the [nine best Solana RPC providers decision guide](https://www.alchemy.com/overviews/solana-rpc) covers the whole field. Whoever you pick, get the genesis-depth and completeness answers in writing before you start the backfill. ## Build your Solana historical pipeline on Alchemy A working historical pipeline needs two things, an archive deep enough to backfill from genesis and a stream fast enough to keep pace with the tip. We run both as part of [Alchemy's Solana platform](https://www.alchemy.com/solana). Archival reads cover full block and transaction history over standard JSON-RPC, so pointing your existing Solana client at an Alchemy endpoint is the entire migration. [Solana gRPC streaming](https://www.alchemy.com/solana-grpc) is Yellowstone-compatible with replay on reconnect, priced pay-as-you-go at $75 per TB with no monthly minimum and no plan prerequisite. Start on the free tier, with no contract and no sales call. Teams building Solana infrastructure can also apply for up to $25,000 in credits through our [$20M Solana Fund](https://www.alchemy.com/solana-20m-fund). Once your pipeline is live, the history your node throws away stops being your problem. --- # Solana Data Accounts vs. Program Accounts URL: https://www.alchemy.com/overviews/solana-data-vs-program-accounts.md Solana is a decentralized blockchain platform that is designed to be fast, secure, and scalable by using unique[ account models](https://www.alchemy.com/overviews/solana-account-model) to orchestrate process flow. Typically a full Solana dApp layout would comprise three types of accounts: native accounts, data accounts, and program accounts. This article focuses on Solana data and program accounts, together on the Solana blockchain, and how they differ from [Ethereum smart contracts](https://alchemy.com/overviews/smart-contract-security-best-practices), the account equivalent on Ethereum. ## **What is a Solana data account?** **A Solana data account is a type of account on the Solana blockchain which stores data such as tokens, documents, or any other type of information.** Data accounts can store state but are not executable. Data accounts are similar to accounts on other blockchain platforms, in that they have a balance and can receive and send transactions. These accounts, alongside metadata, identifies their owner and type of possible interaction during runtime. Wallet, mint, and token accounts are great examples of data accounts, as they hold value and belong to a user and program account. ## **What is a Solana program account?** **A program account are smart contracts on the Solana blockchain used to execute code, typically triggered by incoming transactions or by the passage of time.** Program accounts can interact with data accounts, allowing them to read and write data to the blockchain. They themselves can’t store variable states but invoke these from data accounts. One key difference between Solana data accounts and program accounts is that program accounts can only be created by other program accounts, whereas data accounts can be created by any developer or user. However, program accounts can be used to create more program accounts, allowing for the creation of complex, multi-layered smart contract systems on the [Solana EVM](https://www.alchemy.com/overviews/solana-evm). ## **How do data accounts and program accounts work together?** Data accounts can be used to store the data that is used by program accounts, and program accounts can interact with data accounts to read and write this data. Data and program accounts co-exist and collaborate on the [Solana blockchain](https://www.alchemy.com/ecosystem/solana) to cultivate a broad range of dApp functions and services. For example, a program account could be used to create a simple token contract that allows users to transfer tokens between data accounts. In this case, the program account would be responsible for executing the logic of the contract, while the data accounts would be used to store the balances of the tokens. Something like this: In this example, we have created a program account called "transfer_tokens.wasm" that contains the logic for transferring tokens from one account to another. We can then connect the data account to the program account using the invoke method, passing in the data account and the arguments for the transfer as an array. When the program account is executed, it will use the data stored in the data account to perform the token transfer. In this case, the program account would transfer 100 tokens from the token account to the recipient account. You can test the program flow demonstrated in the example above with any other program of your choice or some of the pre-made programs in the[ Solana Program Library \(SPL\)](https://www.alchemy.com/overviews/solana-program-library). ## **Solana accounts vs. Ethereum smart contracts** Solana data accounts and program accounts are similar to Ethereum smart contracts, but there are some key differences including storage, calls, execution, gas, and more. ### **How are Solana data accounts and programs different from Ethereum smart contracts?** **Solana data and program accounts differ from Ethereum smart contracts in how data is stored, contracts are called, the execution model, language support and gas.** #### **1. Data storage** On the Solana blockchain, data accounts are used to store data, while on the Ethereum blockchain, data is stored within smart contracts. This means that on Solana, there is a separation between the data and the logic that interacts with it, whereas on Ethereum, the data and logic are combined in a single smart contract. #### **2. Contract calls** On the Solana blockchain, program accounts are triggered by incoming transactions,[ calls from other programs \(i.e. cross-program invocations\)](https://www.alchemy.com/overviews/cross-program-invocation), or by the passage of time. On the Ethereum blockchain, smart contracts are triggered by incoming transactions and can also be called by other smart contracts. #### **3. Execution model** Solana data accounts and program accounts are executed by the validators in the Solana network, while Ethereum smart contracts are executed by the Ethereum Virtual Machine \(EVM\) on individual nodes. #### **4. EVM gas and data correlation** Solana data accounts can store an unlimited amount of data, while Ethereum has a limited amount of [smart contract storage space](https://www.alchemy.com/docs/smart-contract-storage-layout) that is determined by the amount of gas consumed during execution. #### **5. Language support** Solana program accounts can be written in any language that can be compiled to WebAssembly \(WASM\), while Ethereum smart contracts are typically written in [Solidity](https://www.alchemy.com/overviews/solidity) or Vyper \(a Python-based implementation of Solidity\). ### **How are Solana data and program accounts similar to Ethereum smart contracts?** **Solana data and program accounts are similar to Ethereum smart contracts in terms of smart contract functionality, decentralization, immutability, transparency and programmability.** #### **1. Smart contract functionality** Both Solana accounts and Ethereum smart contracts can be used to facilitate transactions and automate processes, such as transferring assets or managing supply chain logistics. #### **2. Decentralization** Both Solana accounts and Ethereum smart contracts are deployed and executed on decentralized, public blockchain networks. #### **3. Immutability** Once a Solana data and program account or Ethereum smart contract is deployed to the blockchain, it cannot be modified or deleted. #### **4. Transparency** The code and data stored in Solana data and program accounts and Ethereum smart contracts are publicly accessible, allowing for transparency and auditability. #### 5. Programmability Solana data and program accounts and Ethereum smart contracts are programmable, meaning that they can contain logic and execute functions based on certain conditions. Solana, program accounts can create other program accounts, while on Ethereum, smart contracts can call other smart contracts. ### **How does neon labs' Solana EVM handle programs, accounts, and smart contracts?** Neon Labs' Solana EVM is a tool that allows developers to use Solidity/Vyper programming languages to build and [deploy Ethereum smart contracts to the Solana blockchain](https://www.alchemy.com/overviews/solana-evm), making it easy to port existing Ethereum [apps](https://www.alchemy.com/dapps/top/defi-dapps) to Solana. Prior to the [Neon EVM](https://www.alchemy.com/dapps/neon-evm) launch on the [Solana devnet](https://www.alchemy.com/overviews/solana-devnet) and mainnet, Ethereum apps were incompatible with the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). The Neon EVM provides smart contracts a platform to execute as they would on the Ethereum blockchain, while taking advantage of the features that accounts ordinarily enjoy on the Solana blockchain, such as low gas fees and high throughput. The Solana EVM works by emulating the Ethereum Virtual Machine on the Solana blockchain, allowing Ethereum smart contracts to be executed on Solana similarly to how they would be executed on the Ethereum blockchain. This means that developers can use their existing knowledge of the Solidity programming language and the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) to publish apps on Solana. ## **Build Solana accounts with Alchemy** A decentralized application built on Solana typically comprises of native accounts, data accounts, and program accounts. Native accounts represent programs on Solana, data accounts store information, and program accounts execute code on Solana. If you want to start building, [register a free Solana developer account](https://dashboard.alchemy.com/signup/?a=cbb287cfba) on Alchemy! --- # Essential Solana Developer Tools to Start Building on Solana URL: https://www.alchemy.com/overviews/solana-developer-tools.md In the past, a majority of blockchain and web3 development took place on the Ethereum blockchain. However, as competitor blockchains have surfaced in recent years, developers have begun to explore other blockchains in an effort to find a more developer-friendly and efficient solution. In this search, many have turned to the Solana blockchain. The Solana blockchain, one of the largest blockchains known for its efficient design, fast transaction speeds, and less crowded developer environment, solves many of the inefficiencies observed with the Ethereum network. In an effort to promote development, Solana has formed a strategic partnership with Alchemy with [Alchemy fully supporting Solana](https://alchemy.com/solana?a=f110498bf2). Earlier this summer, Alchemy announced its [expansion to the Solana ecosystem](https://www.alchemy.com/blog/solana-on-alchemy) in an effort to improve the Solana blockchain development experience. This article covers a broad introduction to Solana development through an array of explanations and tutorials. ## **Solana development tools** To start building on the Solana blockchain, devs must first [get a Solana RPC endpoint](https://www.alchemy.com/overviews/solana-rpc) and the correct developer environment configured. As a result, users must first become familiar with tools like the Solana Tool Suite, Rust, and Anchor. After you're familiar with the fundamental Solana developer tools, you can start interacting with more advanced tooling like [Metaplex](https://www.alchemy.com/overviews/metaplex), and you can start launching your smart contracts and [apps](https://www.alchemy.com/dapps/top/defi-dapps) to [the Solana Devnet](https://www.alchemy.com/overviews/solana-devnet). ### **Solana tool suite** The first step in creating a functional Solana developer ecosystem, is to install and become familiar with the [Solana tool suite](https://docs.solana.com/cli/install-solana-cli-tools), a strict prerequisite for many Solana developer tools like Anchor. #### **Solana tool suite setup** In order to set up the Solana Tool Suite for MacOS or Linux users, paste the following command into a terminal. For Windows users, paste the following command into a terminal. ### **Rust** Rust is a high-speed and stable programming language that is used to power a variety of software applications ranging from operating systems to blockchains. Specifically, the Solana blockchain is powered by the Rust programming language, necessitating its use for Solana-based blockchain development. #### **Rust setup** In order to set up Rust for MacOS or Linux users, paste the following command into a terminal. For Windows users, follow the detailed steps on [the Rust book's installation guide](https://www.rust-lang.org/tools/install). To ensure that Rust was properly installed and to practice development in Rust, we will compose a “Hello, World” program using the Rust programming language.  First, create a folder titled, “Hello_World_Rust” and cd into the folder with the command: Next, open the folder in preferred text editor \(i.e. Visual Studio Code, Atom, etc\). Once opened, create a file titled, “main.rs” Inside “main.rs” write and save: In the terminal, write: These steps should produce a functioning Rust program that prints “Hello World.” ### **Anchor** Anchor is a [Solana development framework](https://www.anchor-lang.com/docs/installation) that makes it easier to develop Solana-based programs and smart contracts. Anchor simplifies the Solana development process by providing boilerplate code and security infrastructure, allowing users to avoid dealing with the finicky inner-workings of an ordinary Solana program. As a result, Anchor is a pivotal tool in the Solana development ecosystem. #### **Anchor setup** To install Anchor, we must first install Anchor version manager \(AVM\). Open a terminal and paste the following command: Next, finish installing the Anchor software with the following command: To ensure that Anchor was properly installed, try composing an Anchor workspace using the command: In this folder, you will find the following main files and folders - Anchor.toml file - App folder - Programs folder - Tests folder - Migrations folder ### **Solana Web3.js** [Web3.js](https://www.alchemy.com/dapps/web3-js) for Solana is a Solana Javascript API built using the [Solana JSON RPC API](https://www.alchemy.com/docs/reference/solana-api-quickstart). Web3.js serves as an accessible interface for developers to interact with the Solana blockchain using Javascript, empowering engineers to build on the Solana blockchain.  #### **Web3.js setup** Installing Solana Web3.js is really easy. Go to your command line interface and run this command: ### **SPL-token** The SPL-Token package is another Javascript package that allows developers to mint, transfer, and interact with tokens native to the Solana blockchain, a necessity when developing software that requires Solana-based tokens to operate. #### **SPL-token setup** Installing the SPL-Token package is straightforward. Open your CLI environment and run this script: ### **Wallet-adapter** The [Wallet-Adapter javascript package](https://solanacookbook.com/getting-started/installation.html#wallet-adapter) allows developers to easily integrate [Solana-based wallets](https://www.alchemy.com/overviews/solana-wallets) like Phantom and [Solflare](https://www.alchemy.com/dapps/solflare) into their apps, facilitating easy access to Solana-based funds. #### **Wallet-adapter setup** To set up the Wallet-Adapter package, run: ## **Solana developer support** [Learning how to develop apps](https://www.alchemy.com/overviews/how-to-learn-web3-development) on a brand new blockchain can frustrate even seasoned developers. If you need help getting started on Solana, explore this collection of documentation, tools, and additional resources: - [Solana Discord](https://discord.com/invite/pquxPsq) - get support from Solana devs and developer relations team members - [Anchor Discord](https://discord.com/invite/ZCHmqvXgDw) - work with builders developing apps and maintaining the Anchor library - [Solana Playground](https://beta.solpg.io/) - start building on Solana directly from your browser - [Alchemy Discord](https://www.alchemy.com/discord) - our developer relations team is always ready to answer questions about Alchemy's Solana API ## **Solana tutorials and hackathons** Now that you have set up your Solana development environment, the next step in your journey as a Solana developer is to practice building with Solana's tools using [online tutorials, courses, and bootcamps](https://www.alchemy.com/overviews/best-web3-tutorials). One of the best ways to master a new blockchain is to learn by building Solana projects. In addition to following self-paced tutorials to reinforce knowledge, developers can also [attend Solana hackathons](https://www.alchemy.com/overviews/best-web3-hackathons) to meet use these essential tools in real-world projects. ### **Start building on Solana** In this article, you learned about the dev tooling required to start building on the Solana blockchain. You explored how to set up your local environment, Solana tutorials, and places to get support. Last step is to [sign up for a free Solana developer account](https://alchemy.com/solana?a=f110498bf2) on Alchemy and start building! --- # Everything You Need to Know About Solana's Devnet URL: https://www.alchemy.com/overviews/solana-devnet.md Solana’s fast transaction speeds, low transaction costs, and developer-friendly environment make it an excellent chain for both dApp developers and users. If you're looking to [start building on Solana](https://www.alchemy.com/solana?a=8e820d1a78), this article explains Solana's Devnet, an essential developer resource for testing smart contracts on a test network that mimics Solana's mainnet. ## **What is a cluster?** A cluster is **a set of nodes** which are responsible for evaluating the validity of incoming transactions to be added to the blockchain.  In each cluster one node is designated the ‘leader’ \(the leader changes roughly every two days\), which suggests which transactions should be added to the blockchain’s ledger and signs the suggested transactions with their signature. The other nodes within the cluster are ‘validators’, who double check whether the transactions are valid. ### **What is the Solana Devnet?** The Solana Devnet is an environment that replicates the actual Solana network \(i.e. Mainnet\) environment, but uses test SOL tokens to complete transactions so web3 developers don’t need to spend actual money to test their smart contracts. The Solana Devnet is a safe playground for developers, users, and validators to test applications at no risk. ### **What is a Solana Devnet faucet?** To prevent network congestion from malicious actors while keeping the network free to use, the Solana Devnet uses a different token than mainnet.  Devnet tokens can be acquired either through the [Solana Devnet faucet](https://solfaucet.com/) or from the following airdrop command you can enter in the Command Line Interface \(CLI\). ### **What is the Solana Devnet explorer?** The [Solana Devnet explorer](https://explorer.solana.com/?cluster=devnet) allows web3 developers to search for any block, transaction, program, or token on the devnet. This tool helps developers get information about their transactions, debug transactions that aren’t working properly, and explore program details. ### **What is the difference between solana’s Testnet and Devnet?** The difference between Solana’s Devnet and the Solana Testnet is that the testnet is a network meant to be used by Solana’s core developer team to test planned updates to the main network while Devnet is a testing environment for the general public to use. ### **How to connect to Solana's Devnet** Before connecting to Solana's Devnet, it's important to make sure you [install the essential Solana developer tools](http://www.alchemy.com/overviews/solana-developer-tools) in your local environment. If you're starting from scratch, you can install the basic tools using the following instructions. ### **1. Install the Solana tool suite** First, will need the Solana Tool Suite to connect to the Devnet. How you install the tool suite will depend on whether or not you're running a MacOS, Linux, or Windows operating system. Here are instructions for each development environment. #### **Mac users** If your operating system is **MacOS or Linux**, open your favorite terminal application and copy-paste the below command. The version number can be replaced with any version which you wish to install #### **Windows users** If **Windows** is your operating system, copy paste the below into Command Prompt instead. Run this command to install the Tool Suite: ### **2. Check your version of Solana** Afterwards for all operating systems, run this to double check you have the desired version of Solana. ### **3. Connect to the Devnet cluster** Lastly, execute this command to connect to the Devnet cluster, and you will have connected to Devnet. ## **How to deploy a Solana smart contract to Devnet** In this tutorial we’re going to deploy the [HelloWorld program](https://github.com/solana-labs/example-helloworld/blob/master/src/program-rust/src/lib.rs) that the Solana team developed. It creates a count for the account it is called on which represents the number of times that this program has been called on this account historically. For example, the first execution will increase the count to 1 but return a count of 0. The second will return a count of 1 and increase it to 2.  Because we have already installed the Solana Tool Suite, we just need to install the following dependencies: 1. NodeJS 1. Rust 1. Git Once the dependencies are installed, we'll clone the HelloWorld repo and follow the required steps to deploy it on Solana's Devnet. ### **1. Install NodeJS** To install [NodeJS](https://nodejs.org/en/download/) \(you’ll need v14 or higher for this tutorial\) - select the installer that matches your operating system. After following the steps shown from running the installer NodeJS will automatically execute the node commands below in your terminal. ### **2. Install Rust** To install Rust, run this command if your operating system is MacOS, Linux, or other Unix-like operating systems, and your command line is ready. On Windows, download and install [rustup-init.exe](https://forge.rust-lang.org/infra/other-installation-methods.html#:~:text=download%20and%20run-,rustup%2Dinit.exe,-.). ### **3. Install git** To install Git on Windows, [select an installer to match your Windows version ](https://git-scm.com/download/win)and follow the instructions. To install Git on MacOS and Linux, first install[ Homebrew](https://brew.sh/) with the following command in your terminal of choice.  Then run the following command in the terminal to install Git with Homebrew. ### **4. Clone the Solana HelloWorld repo** With the dependencies installed, next, clone the HelloWorld repository in your environment. ### **5. Connect to Devnet** Double-check if you are connected to the Devnet cluster by running the following command.  If you are not connected to the Devnet cluster, connect to the Devnet using this command: ### **6. Generate a keypair** Now, generate a keypair, which consists of a public key \(your wallet address\) and a private seed phrase. This keypair allows you to create an account on-chain and interact with Solana programs. ### **7. Get Devnet SOL tokens** You’re going to need Devnet SOL tokens in order to run our program on the Devnet. You can request tokens through the following command.  ### **8. Build and deploy it to Devnet** Now, build the program and deploy it to Devnet. At the bottom of the output that the console provides from building the program should be the command for deploying the program. If you can’t find it, copy paste the command below to deploy the program to Solana’s Devnet. ## **Start building on Solana** Using the Solana Devnet, web3 developers can build [apps](https://www.alchemy.com/dapps/top/defi-dapps) on one of the highest performance layer 1 blockchains in the world. To start building, [signup for access to Alchemy's Solana API](https://www.alchemy.com/solana?a=8e820d1a78). --- # An Introduction to the Solana EVM URL: https://www.alchemy.com/overviews/solana-evm.md A virtual machine is a building block of a virtualized computing resource that exhibits nearly all the same functionality as a computer, including running applications and operating systems. This concept of the virtual machine is not novel. The technology is used across numerous technology ecosystems.  The largest smart contract development platform, Ethereum, uses an [Ethereum Virtual Machine \(EVM\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) to run smart contracts on a globally distributed network of nodes. Because there are a lot of developers building Ethereum applications, EVM-compatible blockchains, and people using Ethereum, creating a Solana EVM to make Ethereum smart contracts compatible with Solana's rust-based blockchain is advantageous. This article will explain the Solana EVM, its benefits, limitations, and how it is currently being used. ## **What is a Solana EVM?** A Solana EVM is a software platform that enables [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) and transactions on the Ethereum blockchain network to also be processed by the Solana blockchain. The EVM is an abstraction layer separating a physical machine \(the node\) from the smart contract code. Since all Ethereum nodes run some instance of an EVM, they form a universal web or globally decentralized computer. Ethereum boasts one of the most established Web3 communities, with the most popular blockchain wallets, DeFi platforms, developer tools, and NFT projects, but there are obvious bottlenecks. Ethereum’s dynamic growth has contributed to high transaction costs and low throughput for a large addressable user and developer base.  In contrast, [Solana](https://www.alchemy.com/solana?a=acbb6b517f) provides end-users with rapid transaction speeds and low transaction expenses. Before the introduction of the Solana EVM, porting over Ethereum projects onto the Solana network was impractical because of differences between [Solidity and Rust programming languages](https://www.alchemy.com/overviews/web3-programming-languages) and other [developer tooling](https://www.alchemy.com/overviews/solana-developer-tools).  The Solana EVM enables Ethereum developers to leverage their familiarity and experience with [Solidity](https://www.alchemy.com/overviews/solidity), developer tooling, and existing codebases to scale their applications on Solana.  ## **Is Solana EVM compatible?** **Yes, the Solana blockchain network is EVM compatible using Solana EVMs like the EVM built by Neon Labs.** EVM compatibility allows Ethereum-based smart contracts and projects to deploy on a compatible blockchain. In general, interoperability between blockchains is one of the biggest issues that the industry is currently trying to solve, and EVM compatibility is a step in the right direction.  Due to the burgeoning user base and increasing volume of apps, it became unsustainable to maintain low costs and high transaction speeds on the Ethereum network. Noticing these rising problems, other permissionless blockchains reacted by offering infrastructure that could support faster transactions and lower gas fees.  Instead of devising a new way of implementing smart contracts, developers simply emulated parts of the Ethereum network. This resulted in time savings, reduction in knowledge transfer costs, and cut back on development requirements. Many new blockchain platforms now support the EVM to attract users, talent, and innovation present in the [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum).  ### **What are the benefits of the Solana EVM?** Though it’s still early, the benefits of using a Solana EVM  include efficient scaling, better accessibility to the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana), the ability to use complimentary tools across chains, easy porting of smart contracts, and providing access to more users. #### **1. Efficient scaling** As a result of the Solana network, web3 developers can take advantage of low gas fees and high throughputs due to its parallel processing \(Sealevel\) and novel innovations such as Proof-of-History which enables 400ms block times. #### **2. Access to the Solana ecosystem** Ethereum developers and creators can gain access to the Solana developer, DeFi, and NFT ecosystem by migrating or extending their application using a Solana EVM. #### **3. Using a complimentary toolset** Instead of learning how to use new tools, EVM developers can seamlessly continue using tools that they are already familiar with like [MetaMask](https://www.alchemy.com/dapps/metamask), Truffle, and Waffle.  #### 4. Adapting smart contracts easily Existing apps on Ethereum can be ported over to Solana Programs \(i.e. Solana smart contracts\) without any reconfigurations of the underlying smart contracts.  #### **5. Democratizing access** Using a Solana EVM means the Ethereum ecosystem’s consumers, talent, and innovation follow and can more easily adapt projects to both blockchains. ## **What companies are building a Solana EVM?** **The first EVM on Solana was created by Neon Labs, which brings together the benefits of the Ethereum infrastructure with the scalability and liquidity of Solana.**  ### **Neon labs** The Neon EVM is a cross-chain solution that allows dApp developers to access the advantages of Solana to expand their services, offering new products like arbitrage or high-frequency trading, grow their user base, and decrease costs where possible, including gas fees. The **Neon EVM** enables Ethereum transactions to process on Solana, taking full advantage of the functionality native to Solana, including the ability to execute transactions in parallel. To facilitate this parallel execution of smart contracts, the Neon EVM ensures that each contract keeps its data in its own Solana storage and account balances used to pay for Neon transactions stay updated.  The Neon EVM works as a smart contract on the Solana blockchain. This means that the contract can interact with and call other smart contracts on Solana such as SPL tokens. The Neon EVM can access data stored on Solana accounts, and every Ethereum-like account within the Neon EVM is stored in a corresponding Solana account.  Neon Labs has also developed complementary tools for developers and creators to maximize the user experience of their Solana EVM.  #### **What is the neon lab’s ERC-20/SPL wrapper?** **The ERC-20/SPL wrapper is the implementation of the ERC-20 interface for SPL tokens that ensures Solana applications interact with Neon EVM contracts.** The original ERC-20 tokens are wrapped in the SPL tokens so that they can operate with [Solana wallets](https://www.alchemy.com/overviews/solana-wallets) and programs. Transferring SOL/SPL tokens using Ethereum wallets such as MetaMask can also be achieved using the wrapper. #### **How to get started with the neon EVM** **The quickest way to get started with the Neon EVM is to install MetaMask and then proceed with connecting your MetaMask wallet to the NeonEVM devnet using Chainlist or manually**. Here's how to connect to a new chain in MetaMask: - **Neon EVM testnet RPC server address:** (no longer available) - **ChainID**: 245022926. - **Faucet**: https://neonfaucet.org/ Interested developers can learn more about the Neon EVM through [the NeonEVM documentation](https://docs.neon-labs.org/docs/developing/getting_started), and once you're on the [Solana devnet](https://www.alchemy.com/overviews/solana-devnet), developers can request test NEON tokens using the [NeonFaucet](https://neonfaucet.org/) website or by using the NeonFaucet API.  When you're ready to launch your Solana app into production, upgrade to a [reliable Solana RPC provider](https://www.alchemy.com/overviews/solana-rpc) like Alchemy for a seamless developer experience. ## **Conclusion** Solana EVMs combine the benefits of Ethereum with the speed and efficiency of the Solana blockchain network. This focus on EVM compatibility will help spur the next generation of applications to become multi-chain, induce network effects, and improve the overall user experience as engagement migrates towards scalable technology. To begin using Solana on Alchemy, head over to the Solana API documentation and find out what [Solana methods Alchemy supports](https://www.alchemy.com/docs/reference/solana-api-quickstart). --- # How to Get Testnet SOL Tokens from a Solana Faucet URL: https://www.alchemy.com/overviews/solana-faucet.md When [developing on Solana](https://www.alchemy.com/solana?a=acbb6b517f), you'll need SOL tokens to deploy your smart contracts or your programs, as Solana calls them. But when you're testing the programs out during the development stage, real SOL tokens won’t work. Instead, you’ll need test SOL tokens to [deploy smart contracts to the Solana Devnet](https://www.alchemy.com/overviews/solana-devnet) and Testnet. This article will show how to install the Solana CLI, create a new wallet from the command line, request Devnet SOL tokens from the CLI and from a user-friendly [Solana faucet](https://www.alchemy.com/dapps/list-of/crypto-faucets-on-solana) website. ## **What is a Solana faucet?** A Solana faucet is a helpful tool where Solana developers can get free test SOL tokens to deploy their programs on Solana's Devnet. Solana faucets work on both the Solana Testnet and Devnet for public use. You can’t transfer or use these SOL tokens to Solana's mainnet or cash them out as they’re solely used by developers and testers to test Solana programs and [apps](https://www.alchemy.com/dapps/top/defi-dapps). Before you can start using a Solana faucet to get free Devnet SOL tokens you need to complete a few prerequisite steps. ## **Two prerequisites – install Solana and create a wallet** Before you can get Solana testnet faucets, you need to have some prerequisites – especially for the sake of those just starting Solana development.  ### **1. Install the Solana command line interface \(CLI\)** First of all, you need to install the Solana CL interface, one of the [fundamental Solana developer tools](https://www.alchemy.com/overviews/solana-developer-tools). For this quick guide, we’ll use Windows.  Open your command prompt as an admin, then run this code so you can get the Solana installer into your transient directory: After downloading the Solana installer, the next step is to install Solana itself on our Windows. Run this command:‍ When you are done, your CLI should look like this: Now, ensure your Solana CLI is properly installed by opening a new command line interface, not as an admin, and run this code: ### **2. Create a Solana wallet** You will need a wallet where you can receive the free Solana faucet tokens, and there are multiple types of wallets you can use including browser-based wallets, hardware wallets, paper wallet, or file system wallets. If you're unfamiliar with the command line, you can connect to Solana's devnet with Phantom, the [most popular Solana wallet](https://www.alchemy.com/overviews/solana-wallets). Once you're in your [Phantom wallet](https://www.alchemy.com/dapps/phantom), switch to Devnet by following these steps: 1. Click the settings \(i.e. gear\) icon 1. Scroll down and click "Change Network" 1. Select Devnet For this tutorial, we will stick to a paper wallet to help new web3 developers building on Solana. To create a paper wallet from the command line, run this script to get your seed phrase: It will ask you for a passphrase which you will have to set, after which your public key and seed phrase will be displayed. In this example, our pubkey, or wallet address, is B5T1kz7LhoTLqWmVvrAFTVb47f6BfXgov4kYTqo8kH7g. In Solana development terminology, a wallet address is often used interchangeably with the term pubkey. Once you have your prerequisites, let’s access one of two different types of Solana faucets. ## **What are the two types of Solana faucets?** **There are two types of Solana faucets, the command line Solana faucet and a Solana faucet website the provides a graphical user interface \(GUI\) for easily getting test SOL tokens.** You can get your devnet tokens from either method. Choose the method that is more convenient for you.  ### **1. Get test SOL from a command line Solana faucet** You don’t need to go far to secure your free Solana faucet. You can access it directly from your command line. Use this script to receive test SOL tokens from the command line: Replace the recipient account address with the pubkey you generated earlier. Other things being equal, you will get 2 SOL into your paper wallet. Close that interface and open another one to confirm if the tokens are in your wallet. Paste this code snippet: If you did it properly, this is what you should see in your terminal: ### **2. Get test SOL from a Solana faucet website** If you are using a Phantom wallet to get test SOL tokens, you can easily request free Devnet SOL tokens from [a Solana faucet website](https://solfaucet.com/) with a visual user interface. All you have to do is follow three simple steps: 1. Copy and paste your Solana wallet address into the input field 1. Select Devnet as your network 1. Set the number of tokens you'd like to receive The max you can request is 10 SOL on this website. Below, you can see we requested 4 SOL. There you have it! In this guide, we showed you how to access a Solana faucet from your command line or by using a user-friendly Solana faucet website. If you are building a project using [the Solana API](https://www.alchemy.com/docs/reference/solana-api-quickstart), get free Solana RPC access when you [sign up for a free Alchemy account](https://www.alchemy.com/solana?a=acbb6b517f). --- # A Complete Guide to Solana Generative NFTs URL: https://www.alchemy.com/overviews/solana-generative-nfts.md Generative NFTs are a class of non-fungible tokens that enable NFT developers to create a large amount of unique NFTs using randomized combinations of design assets that become the NFT's traits and metadata attributes. Generative NFTs are different from 1-of-1 NFTs that are individually created, and generative NFTs are also different from computer-generated NFTs which use algorithms and Artificial Intelligence \(AI\) to generate NFTs programmatically. In this article, we will explain how generative NFTs work, how you can make them, and the tools you will need. Furthermore, we will review two blockchain ecosystems where you can deploy your generative NFT smart contracts: Solana and Ethereum.  ## **What is a generative NFT?** Generative NFTs are a type of non-fungible token that takes in multiple design variables and layers them on top of each other to generate a collection of unique NFTs. For example, the design variables for the Degenerate Ape Academy NFT collection, a blue-chip profile picture \(PFP\) NFT collection on Solana, has attribute variations for: - Background type - Clothing type - Fur / Skin type - Eyewear type - Head accessory - Mouth accessory - Teeth type Depending on how many generative NFTs you want your collection to have, or how diverse you want your artwork to be, the more attributes and variations of design assets for each group will determine the total number unique NFTs can be created. ## **How to calculate possible generative NFT combinations** There are two different equations to calculate the total number of possible combinations a series of traits and layers can produce for a generative NFT contract: one equation that assumes every trait \(e.g. background type\) has the **same number of variations** \(e.g. 5 different color background options\), and the other equation assumes the NFT project has a **different number of variable options** for each trait. ### **NFT collections with the same number of variations for each trait** The equation used to calculate the total number of possible unique generative NFTs when the number of design options for each trait is the same is: **Total NFTs = \(Number of traits\)^\(Number of layers\)** For example, if an NFT project has 7 unique traits, and for each trait there are 5 different options, the total number of unique combinations is **16,807**. ### **NFT collections with a different number of variations for each trait** The equation used to calculate the total number of possible unique generative NFTs when the number of variations for each trait is different, multiply the variations for each trait together. The equation would look something like this: **Total NFTs = \(number of variations for trait 1\)\(number of variations for trait 2\)\(number of variations for trait n\)** For example, if an NFT project has 7 unique traits, and the variations for each trait are 2, 3, 4, 4, 5, 5, and 7 the total number of unique combinations is **16,800**. Both of these calculations assume that each trait will have the same rarity. If your NFT project will limit the total number of NFTs minted with specific trait variations, the total number of combinations will decrease because of removal. ## **How are generative NFTs different from 1-of-1 NFTs?** Generative NFTs are a series of NFTs whose creation has been automated using smart contracts and design tools, while a [1-of-1 NFT is a single NFT](https://www.alchemy.com/overviews/solana-1-of-1-nfts) that is created by an NFT artist, which makes up an entire collection or a unique piece of a collection of 1-of-1 NFTs. In simpler words, the first difference is in their creations: a 1-of-1 NFT is directly created by the artist, while a generative NFT uses some basic logic, a list of potential traits, and trait variations \(i.e. design layers\) to create a large quantity of unique NFTs. The second difference is in their numbers; a 1-of-1 NFT is one unique singular NFT that makes up an edition, while a generative NFT can have 1000s of different variations of collectibles. Although both classes of NFTs are unique, their differences are opposite. ## **What is the difference between generative NFTs and computer-generated NFTs?** Generative NFTs take some design assets—such as body types, outfits, and backgrounds—to create a collection of randomized NFTs that use combination of the available design assets, while computer-generated NFTs are NFTs produced by machines that use algorithms, AI, and samples of art to create unique NFTs.  Generative NFTs are created by smart contracts, while computer-generated NFTs are created by machines via deep learning and later transferred on-chain.  The deep learning framework utilized in deriving computer-generated NFTs is known in the AI space as **generative adversarial networks**, or GANs for short. This is how GANs work:  Some primary images are provided to form a training set, and from this set, a machine samples the images to create new images. These are called secondary images.  At this point, the machine can combine some of these newly created secondary images with pre-existing primary images to form a new breed of secondary images.  The algorithmic manipulation will keep going on indefinitely. Later on, all of the images derived from the machine can be minted as NFTs and sold on [NFT marketplaces](https://www.alchemy.com/overviews/solana-nft-marketplaces). **Frakt** is a Solana-based art NFT collections that uses computer-generated NFTs, while the **Degenerate Ape Academy** is a popular generative NFT collection.  ## **How do generative NFTs work?** As an artist, you don’t need to draw hundreds or thousands of collectibles by yourself, instead you devise a series of traits that constitute your NFT, and design one or more variations for each trait. Once you have all of the design assets, you will have to write or copy smart scripts to generate new variations of NFTs accordingly. You will also need to place a limit on the number of NFTs that should be generated. Let's look at Solana and Ethereum for minting generative NFTs and some popular tools. ## **What blockchain should I make a generative NFT project on?** Before you can deploy your generative NFT contract, you need to determine the blockchain you will build on. A greater percentage of generative NFT contracts are on Solana and Ethereum. Therefore, you might consider building on these blockchain networks.  However, let’s have a brief comparison so you can pick a better option for your project.  ### **Ethereum** The [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) was the first blockchain to support NFTs, with some of the most iconic collections including CryptoPunks, and today's more popular collections like Bored Ape Yacht Club. The total number of NFT collectors, developer tooling, [NFT tutorials](https://www.alchemy.com/overviews/best-web3-tutorials), and security of the Ethereum blockchain attract a lot of new projects.  While Ethereum has its advantages for minting and launching generative NFT projects, you should be aware of its setbacks before you build on it.  Compared to Solana, Ethereum is slower to confirm transactions and can confirm less transactions per second. Ethereum's scalability limitations means that it can not successfully handle thousands of transactions within a short timeframe. Therefore, only transactions with high gas fees get approved. #### **Pros**  - Large number of NFT collectors - Lots of existing NFT tools and contract types - User-friendly NFT marketplaces - High Layer 1 security  ####  Cons - Higher gas fees  - Slower transactions - More competition ### **Solana** Solana is a rising NFT ecosystem with many blue-chip projects such as Okay Bears, [Taiyo Robotics](https://www.alchemy.com/dapps/taiyo-robotics), and Xin Dragons among other [popular NFT collections](https://www.alchemy.com/overviews/solana-nft-collections). It also has robust marketplaces such as [Magic Eden](https://www.alchemy.com/dapps/magic-eden), Yawww Marketplace, and Coral Cube. Because Solana is magnitudes cheaper and faster than Ethereum, it attracts a lot of new builders and collectors looking to enter the community with lower barriers to entry. It's noteworthy that the Solana blockchain often has network failure, many times due to bots spamming the network with a high volume of requests. Against this backdrop, you should consider these factors when deciding the blockchain on which you'll deploy your generative NFT smart contracts.  ####  **_Pros_** - Faster throughput  - Cheaper transactions  - Standardized NFT smart contracts #### **Cons** - Occasional network failure  ## **What tools are required to make generative NFTs?** To create generative art NFTs, you will need tools. Whether you are planning to build on Solana or Ethereum, here are some tools you should check out.  ### **No-code generative NFT tools for Ethereum** Since a lot of artists have been looking for easier ways to create generative NFTs on Ethereum, some companies have developed tools to help. #### **1. Bueno Ethereum generative NFT tool** Bueno generative NFT tool is perfect for artists who are not programmers because it is a no-code solution. With this tool, you can generate up to 10,000 new NFTs within a short period of time without development experience. Before you upload your art, make sure you arrange each trait in a folder. Next, upload your art, name your contract, and add other collaborating artists.  As the artist, you’ll need to set rules for your generative art contract, and Bueno has simplified this with three rules: 1. Always Pair With 1. Doesn’t Mix With 1. Only Mixes With This will inform the smart contract on how to generate different levels of rarity.  When the NFTs have been generated, you will need to upload them to IPFS via Piñata for storage. Bueno generative NFT tool will charge you once you want to export your collectibles — whether to IPFS or outside of its platform.  #### 2. NFT art generator Created by Onemint, the NFT Art Generator is another popular no-code tool for generative NFTs that has deployed over 8,000 contracts and generated more than 3,000,000 NFTs.  Once you have logged in with your wallet, you will have a dashboard where you can set how your generative NFT contract will work. Having filled in basic details about your project including the name and collection size, you can upload your images and select your backgrounds.  However, you should note that NFT Art Generator doesn’t have sophisticated rarity settings as some other Ethereum tools. In addition, you should be aware that NFT Art Generator has an upgrade plan with more benefits which requires payment.  ### **Solana generative NFT tools** Perhaps you want to create your generative NFT project on Solana, these are some popular Solana-native tools you can leverage: #### **1. Metaplex** [Metaplex](https://www.alchemy.com/overviews/metaplex) offers a series of standardized NFT smart contracts the simplify the development process of NFTs on Solana. Originally started by a small team at [Solana Labs](https://www.alchemy.com/dapps/solana), [Metaplex](https://www.alchemy.com/dapps/metaplex) is the most used NFT standard in the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). With tools such as Gumdrop to manage airdrops, Candy Machine to structure mints, and Storefront to enable creators to build their own website to sell NFTs, Metaplex is the go-to NFT tool for launching a generative NFT project on Solana. #### **2. Candy machine v2** Candy Machine is one of the most used generative NFT tools on Solana, especially with various new features embedded in its second version, [Candy Machine v2](https://www.alchemy.com/overviews/candy-machine-v2), which implements captchas to deter bots, unpredictable minting to deter bots from minting only the rare NFTs, amongst other improvements. To make your generative NFT mints more battle-tested against bots, you can also integrate your Candy Machine v2 with **[Strata](https://www.alchemy.com/dapps/strata) Protocol’s new NFT mint pricing tool**. In terms of rewarding the active community members, the Candy Machine v2 is a good tool for generative NFT projects because it allows the users to create whitelists and more predictably manage who can mint NFTs instead of launching a pure, first-come-first-serve type of NFT mint. ## Conclusion Generative NFTs offer projects with large communities the ability to generate a large quantity of NFTs that share the same artwork, while still affording each holder a unique asset based on the combinations of each variable trait. To get started building your generative NFT project on Solana, [sign up for a free Alchemy developer account](https://alchemy.com/solana?a=2f571ab213), and get started today! --- # What is the Solana Geyser Plugin? 2026 Guide URL: https://www.alchemy.com/overviews/solana-geyser-plugin.md **TL;DR: Geyser, Yellowstone, and when to stream** - **Geyser:** A validator-side plugin that pushes account updates, slots, transactions, blocks, and entries to external systems. No polling. - **Yellowstone gRPC:** The network protocol most builders use today. It wraps Geyser and exposes streams over the network. - **Use streaming when:** You need every account write, sub-second confirmations, or you're looping `getProgramAccounts` \(indexers, MEV, fill engines, AMM monitors\). - **Use RPC when:** Occasional reads \(balances, single txs, current slot\). - **Alchemy:** Runs validator + Geyser + Yellowstone-compatible gRPC. 5-15ms average delivery, multi-node redundancy, from $75/TB with no monthly minimum. If you only read one section, read [When should your team care about Geyser?](#when-should-your-team-care-about-geyser). The Solana Geyser Plugin is a validator-side interface that streams real-time state changes (account updates, slot status, transactions, blocks, and entries) out of a Solana validator to external systems like databases, message queues, or indexers. Geyser is the *mechanism inside the validator*. The protocol most builders interact with today, **[Yellowstone gRPC](https://www.alchemy.com/solana-grpc)**, sits on top of Geyser and exposes those streams over the network so apps can consume them without running their own validator. Use [Solana RPC](https://www.alchemy.com/solana) for occasional queries. Use a Yellowstone-compatible Geyser stream when you need every account change, transaction, or slot in real time without calling `getProgramAccounts` in a loop. ## What changed for the Solana Geyser Plugin since 2023 Geyser landed in Solana 1.9 as a plugin trait inside the validator. In 2023 most teams ran their own validator with a PostgreSQL or Kafka plugin compiled directly into it. That pattern is now rare. Since then: - **Yellowstone gRPC** (originally developed by [Triton One](https://github.com/rpcpool/yellowstone-grpc), now community-maintained) emerged as the standard protocol that wraps Geyser and exposes streams over the network. Most "Geyser providers" today actually sell Yellowstone-compatible gRPC. - **Managed providers** ([Alchemy](https://www.alchemy.com/solana-grpc), Helius, Triton, and others) run the validators and Geyser plugins for you and expose [streaming endpoints](https://www.alchemy.com/solana-grpc) behind an API key. - **Indexing pipelines** like Substreams, [Carbon](https://www.alchemy.com/dapps/carbon), and various proprietary stacks consume Yellowstone streams instead of polling RPC. If your blog or doc still says "compile the PostgreSQL plugin into your validator," that workflow exists but is no longer the path most teams take. For a side-by-side of the providers running these stacks, see our [top Solana RPC providers guide](https://www.alchemy.com/overviews/solana-rpc). ## What the Solana Geyser Plugin actually does A Geyser plugin is a shared library the validator loads at startup. The validator implements the [`GeyserPlugin` trait](https://docs.solana.com/developing/plugins/geyser-plugins) and calls into the plugin every time something interesting happens onchain. The plugin then decides what to do with that data: write it to a database, push it onto a queue, ship it down a gRPC stream, drop it, and so on. The validator pushes; the plugin reacts. That's the whole model. There is no polling, no RPC call, and no rate limit. The data arrives the moment the validator processes it. ### What gets streamed Geyser exposes hooks for: 1. **Account updates:** Every write to every account, with the slot, write version, and full account data. 2. **Slot status changes:** `processed`, `confirmed`, `rooted`. 3. **Transactions:** Full transaction details, including logs and inner instructions, as the validator confirms them. 4. **Blocks:** Block metadata including rewards, parent slot, and entry count. 5. **Entries:** Sub-block units (PoH entries), useful for the most latency-sensitive consumers. A plugin can subscribe to any subset. [Yellowstone gRPC](https://www.alchemy.com/solana-grpc) exposes the same set of hooks as subscription streams with server-side filtering (by account, program, owner, signature, or data slice). ## When should your team care about Geyser? Use a Geyser-backed stream when **any** of these is true: - You need every account write for a program (e.g., an AMM, an orderbook, a lending market). `getProgramAccounts` is too slow and too expensive. - You're building an indexer, a fill engine, an MEV bot, or a real-time analytics pipeline. - You need transaction confirmation events with sub-second latency. - You're paginating through large datasets and burning RPC credits doing it. - You need ordered, gap-free history of a program's state. You probably *don't* need Geyser when: - You're making occasional reads (token balance, single transaction lookup, current slot). RPC is the right tool. - Your app is read-heavy on user-driven queries, not write-stream consumption. ## How Geyser, Yellowstone, gRPC, and indexers fit together The modern Solana data stack is a four-layer stack: Validator

", tooltip: "", icon: "" }, "2": { title: "

The Solana node processing transactions

", tooltip: "", icon: "", }, "3": { title: "

Validator operators (or your provider)

", tooltip: "", icon: "", }, id: 0, }, { "1": { title: "

Geyser plugin

", tooltip: "", icon: "" }, "2": { title: "

Validator-loaded library that receives state-change callbacks

", tooltip: "", icon: "", }, "3": { title: "

Compiled into the validator

", tooltip: "", icon: "", }, id: 1, }, { "1": { title: "

Yellowstone gRPC

", tooltip: "", icon: "" }, "2": { title: "

Standardized streaming protocol on top of Geyser

", tooltip: "", icon: "", }, "3": { title: "

Exposed by your provider's endpoint

", tooltip: "", icon: "", }, id: 2, }, { "1": { title: "

Indexer / consumer

", tooltip: "", icon: "" }, "2": { title: "

Your app, your database, your pipeline

", tooltip: "", icon: "", }, "3": { title: "

You

", tooltip: "", icon: "" }, id: 3, }, ], }} /> Most modern Solana apps never touch the validator or Geyser plugin directly. They open a [Yellowstone gRPC](https://www.alchemy.com/solana-grpc) connection, subscribe to the slices they care about (filter by program, owner, signature, etc.), and stream events into whatever storage or processing layer they've built. The [streaming provider](https://www.alchemy.com/solana-grpc) runs the validator, loads the Geyser plugin, and exposes Yellowstone on the other end of that connection. Yellowstone-compatible gRPC is widely supported across Rust, TypeScript, Go, and any language that can compile a `.proto`, so migration between providers is typically a URL and key swap. ## Where Alchemy fits in the modern Solana data stack [Alchemy](https://www.alchemy.com/solana) runs the validator, the Geyser plugin, and the Yellowstone-compatible gRPC layer for you. A few things are worth knowing if you're evaluating providers: - **[Yellowstone-compatible gRPC](https://www.alchemy.com/solana-grpc):** Drop-in compatibility across Rust, TypeScript, Go. Migration is a URL change. - **5-15ms average delivery:** First-slot-data guarantees for latency-sensitive consumers. - **48-hour block replay and 6,000+ historical slots:** Recoverable on demand, so brief disconnects or restarts don't cost you data. - **Multi-node redundancy:** Every subscription is fanned across multiple upstream nodes, so a single slow or stalled node never surfaces in your stream. - **Regional endpoints:** US East, US West, EU Central, Asia-Pacific. - **Pay only for what you stream:** $75 per TB, no monthly minimum. - **Prometheus-compatible metrics:** Per-stream telemetry built into the Alchemy dashboard. Alchemy's [Solana stack](https://www.alchemy.com/solana) was built from the ground up in collaboration with leading Solana engineers from DexterLab and Bware Labs, and powers Phantom, Solflare, Robinhood, OpenSea, and Circle. ## Frequently asked questions ### What is the Solana Geyser Plugin? The Geyser Plugin is a validator-side interface that streams real-time state changes (account updates, slot status, transactions, blocks, and entries) out of a Solana validator to external systems. It's a push model: the validator notifies plugins as data arrives, with no polling or RPC overhead. ### What's the difference between Geyser and Yellowstone? Geyser is the validator-internal plugin interface. [Yellowstone](https://www.alchemy.com/solana-grpc) is the network protocol (built on gRPC) that exposes Geyser streams to remote clients. Most builders today interact with Yellowstone, not Geyser directly. They connect to a Yellowstone gRPC endpoint operated by a streaming provider rather than compile a Geyser plugin into their own validator. ### When should I use Geyser/Yellowstone instead of RPC? Use streaming when you need every account write, every transaction, or every slot in real time. That's common for indexers, MEV bots, fill engines, AMM/orderbook monitors, and real-time analytics. Use RPC for occasional reads (balances, single transactions, single accounts). If you find yourself calling `getProgramAccounts` in a loop, that's the signal to switch to streaming. ### Do I need to run my own validator to use Geyser? No. In 2023 that was common; in 2026 most teams use a [managed Yellowstone-compatible gRPC endpoint](https://www.alchemy.com/solana-grpc) from a provider that handles the validator and Geyser plugin for them. Self-hosting is reserved for teams with regulatory or sovereignty requirements. ### What can I stream with a Geyser/Yellowstone subscription? Account updates, slot status changes (`processed`/`confirmed`/`rooted`), transactions with logs and inner instructions, block metadata, and PoH entries. [Yellowstone gRPC](https://www.alchemy.com/solana-grpc) supports server-side filtering by account, program, owner, signature, or data slice, so the stream only carries what your app needs. ### How do I migrate between Yellowstone providers? Yellowstone is a standardized protocol, so most migrations are a URL and API key change. Verify the new provider supports the streams and filters you're using, test in staging, and roll traffic gradually. Reconnect-with-backfill behavior varies between providers, so confirm it before switching production workloads. ### What does Geyser/Yellowstone streaming cost? Pricing models vary. Per-TB pricing ([Alchemy](https://www.alchemy.com/solana-grpc): from $75/TB, no monthly minimum) is the most predictable for bursty workloads. Some providers bundle gRPC into monthly plans with included data, which can be cheaper at steady volume but expensive if traffic spikes. Always benchmark against your actual subscription filters before committing. *Ready to build on Solana? [Stream with Alchemy's Yellowstone-compatible gRPC](https://www.alchemy.com/solana-grpc): drop-in compatibility, multi-node redundancy, and $75/TB with no monthly minimum.* --- # The 11 Best Solana NFT Analytics Tools (2024) URL: https://www.alchemy.com/overviews/solana-nft-analytics-tools.md ## What is an NFT analytics tool? Non-fungible token \(NFT\) analytics tools are used by blockchain network users to gain insights into the supply and demand of NFTs, upcoming mint events, highly-traded collections, [trending NFT collections](https://www.alchemy.com/overviews/solana-nft-collections), historical data, number of holders, floor price, and trade volume among other relevant data points. In other words, by harnessing publicly available information on the network, these paid and free tools allow users to understand what is trending, who is trading specific NFTs, and where arbitrage opportunities exist across [Solana's various NFT marketplaces](https://www.alchemy.com/overviews/solana-nft-marketplaces). As a result of the explosive growth associated with NFT volume, trading, and user activity on Solana, there are several NFT tools on the market. In this article, we will look at a variety of NFT analytics tools on Solana including rarity tools, tracking tools, aggregators, and research tools. By using analytics tools to identify patterns and discrepancies, traders, builders, and collectors can gain a competitive edge in a brand new market. ## What are the different types of NFT analytics tools? There are two different types of NFT analytics tools: NFT rarity tools and NFT tracking tools. Each type of tool serves a different purpose for the end-user. As alluded to previously, many tools are dependent on public information, so access to open-source data is crucial. ### **NFT rarity tools** An NFT’s perceived worth is heavily influenced by the uniqueness of its specific attributes within the context of a [generative NFT collection](https://www.alchemy.com/overviews/solana-generative-nfts). Typically, rarer NFTs are valued at higher prices because fewer of them exist. The same is true for 1-of-1 NFTs: a limited supply of NFTs from popular artists increases the value. ### **NFT tracking tools** NFT tracking tools allow users to analyze historical and real-time data for NFT collections, wallets, or mints. End-users can employ this type of tool to obtain the latest data, create custom alerts, follow curated feeds, and view dynamic charts. While there are free online trackers, end-users can also opt for premium-tiered services that offer additional features.  ## What are the best NFT Solana analytics tools? While there are several NFT analytics tools to choose from, these tools are some of the most frequently used by collectors across the Solana NFT ecosystem. Developers and users who are interested in monitoring NFT activity on the Solana network can read on to learn more about Alchemy’s recommended tools. ### **1. HowRare.is** The NFT rarity tool, **[HowRare.is](https://www.alchemy.com/dapps/howrare-is)**, was established in 2021 by SOL Big Brain, the founder of Big Brain Holdings, a crypto-exclusive fund investing in early-stage blockchain projects. HowRare allows users to evaluate the rarity and market stats of Solana-based NFTs. To get listed on HowRare, creators can submit their NFTs for rarity ranking and potentially a listing on the site’s main page, a process driven by a few computational methodologies that determine the overall rank of the NFT.  Once listed, an end-user is able to view data on floor price, number of items and holders, NFTs on sale, and more information pertaining to each collection. Today, the tool boasts an impressive 3.32 million active items across 906 collections and a total volume of 831,000 SOL. Interested developers can tap into the tool’s public APIs to keep track of data or be informed about upcoming NFT drops.  ### **2. Moonrank.app** **Moonrank** is an absolute statistical rarity tool for NFTs on the Solana blockchain. This analytical tool ranks and indexes new collections in real-time with no external input into the ranking procedure, meaning each collection is ranked in exactly the same way. End-users can browse through the numerous collections on the site and sort through NFTs based on custom filters. In fact, end users can learn about the collection’s address, number of pieces, when the first piece was minted, and the time the last piece was minted. Compared to HowRare, Moonrank typically offers faster and broader listings of NFT collections. Moonrank utilizes a four-step process to rank NFTs on their platform:  1. Find the maximum “shape” of the metadata in the collection by filtering the collection and storing trait types  1. Inject “null” values for missing traits 1. Ranking the pieces based on the absolute statistical rarity of the combination of their traits to determine the rarity percentage of each trait type in a piece and multiplying it together to get the absolute statistical rarity  1. Sorting the collection by absolute statistical rarity to determine the overall rank ### **3. SolRarity** **SolRarity** is a real-time NFT rarity tool that allows users to run a simple command in the SolRarity’s Discord server and get rarity statistics much sooner than NFT rarity tracking sites like MoonRank and HowRare. SolRarity is most often used directly after a mint finishes to determine the rarity of a freshly minted Solana NFT. Solrarity also offers a sniping tool that checks over 15 marketplaces simultaneously and enables users to make a direct purchase on-chain. Access to the tool is only granted to holders of **rarikey**, a utility-based collection allowing users to be part of the SolRarity community and grants access to premium tools, among other benefits. SolRarity was launched in early 2022 by a small team of five people with a vision to become the most used rarity system on the Solana network. ### **4. Dune analytics** A newly minted unicorn following its $69.42 million series B fundraise in early 2022, Norway-headquartered [Dune Analytics](https://www.alchemy.com/dapps/dune-analytics) was founded by Fredrik Haga and Mats Olsen in 2018. A powerful tool to perform blockchain research, Dune Analytics, provides users all the tools to query, extract, and visualize vast amounts of data from blockchain networks.  Harnessing the power of public blockchain data, Dune Analytics provides accessibility to everyone. Moreover, users can create custom dashboards that group queries together to tell a story. These dashboards can track multiple marketplaces transactions across networks like Solana. Dune Analytics offers both a free version for the broader community and a pro version.  ### **5. SolanaFloor** **SolanaFloor** is a comprehensive tool to track historical information related to the Solana NFT market. End-users can learn about popular collections, trading volumes, total floor values, and even most recent sales. Data is updated once an hour and data, charts, and tables are free for personal use. Using SolanaFloor Pro, users can export data to a CSV file, view all available historical data, and set alerts when a specific NFT gets listed.  ### **6. Hyperspace** **Hyperspace** is an all-in-one NFT platform built on Solana by the original **Solanalysis** team. The organization’s mission is to enable the best NFT commerce experience for while improving the openness and composability of Web3.  #### Hyperspace offers four core products: 1. **Marketplace** - trade NFTs via a native marketplace contract with low fees and a singular User Interface 1. **Launchpad** - an environment for project creators to launch new NFTs 1. **Stats** - users can track and analyze trends across different NFT projects  1. **Upcoming drops** - users can monitor new NFT projects that are launched on the Solana network  Currently, four marketplaces have been integrated: 1. [MagicEden](https://www.alchemy.com/dapps/magic-eden) 1. Solanart 1. Solana Monkey Business \(SMB\) 1. Solsea End-users should potentially expect near-term marketplace additions including FTX and [OpenSea](https://www.alchemy.com/dapps/opensea). At present, the market capitalization on the platform is $784.8 million with an average 7-day trading volume of roughly $17.58 million.  ### **7. Nfteyez.global** **NFTEyez** is a simple NFT tool for viewing the assets held by a specific [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) address. With approximately 4,000 unique daily active users, website visitors can enter in their wallet address, the address of people sweeping NFT projects, or treasury wallets to see what NFTs whales, [DAOs](https://www.alchemy.com/dapps/top/daos), and individuals hold. Alternative NFT viewing apps include: - **Step.finance** - originally a dashboard for DeFi activity, [Step Finance](https://www.alchemy.com/dapps/step-finance) also supports NFTs - **Sonar.watch** - yield farming and DeFi tracking with support for NFTs ### **8. Particles 1-of-1 NFT leaderboard** **Particles NFT** created and NFT analytics tools for tracking 1-of-1 NFT artists on **Holaplex** in the style of a creator dashboard where users can see primary sales, NFTs sold, and the average SOL price per NFT piece from top 1-of-1 NFT creators. Particles has three other product offerings: vault, lab, and accelerator. The Particles Vault, powered by **[Bridgesplit](https://www.alchemy.com/dapps/bridgesplit)**, is fractionalized artwork, curated and owned by the community, with 35\+ on-chain masterpieces collected using a 500\+ SOL treasury that was raised during the NFT’s initial mint. ### **9. Scour** **Scour** is a Solana NFT blockchain explorer that enables users to track sales, listings, price drops, and bids on individual collections. Scour has been used to identify individual collections and track their performance by empowering users to filter NFT collections according to several criteria.  “Trending” provides data about the highest ranked collections in the past 24 hours by sales. The “blue chips” and “new” page displays Solana NFT collections ranked by market capitalization and those which were most recently minted and listed on a marketplace, respectively. Finally, the “wallets” page showcases the top buyers and sellers of NFTs based on filter. ### **10. SolSniper** **SolSniper** is a free Solana NFT analytics and trading tool that outlines trending collections and popular searches, indicating what’s receiving attention amongst the broader community. One of the best features about SolSniper is that it includes multifaceted trading charts with built-in tools that allows for technical analysis.  In addition, users can view the traits of each NFT in a collection, filter NFTs that were recently listed, delisted, and purchased, and allow users to buy directly through their website on marketplaces like Magic Eden. ### **11. Hellomoon.io** **Hellomoon** allows users to explore and track Solana NFT community activity in real time, including purchases, sales, listings, and de-listings. Using tables, line charts, bar graphs, and infographics, Hellomoon deconstructs NFT data into a simple and intuitive manner. --- # 10 Popular Solana NFT Collections (2024) URL: https://www.alchemy.com/overviews/solana-nft-collections.md An NFT collection is a group of Non Fungible Tokens arranged in a series, most often [**using generative art to create large quantity of unique NFTs**](https://www.alchemy.com/solana?a=0d969fdf8a). A Non-fungible token \(NFT\) is a digital item or asset on the blockchain that can exist as an image, audio file, or video. In this article, we showcase ten of the best NFT collections on Solana and explain what makes them popular including their teams, utility, artwork, market timing, and roadmap among other characteristics of successful NFT projects. ## **What makes a great NFT collection?** For a great NFT collection, you need four important attributes: artwork, utility, roadmap, and team. There are a lot of NFT collections on Solana that have one or more of these traits, but the most popular ones posses all four qualities. ### **1. Good art** While good art is subjective, NFT projects that have art aligned with their goals present a consistent brand to their community, holders, and potential collectors. With some projects like **Degenerate Ape Academy** that launched with 137 traits and 3D images, art made it attractive, whereas **Portals**, whose art simply features a rotating access card, is popular because of its utility and not its art. All this said, based on the popularity of Ethereum NFTs, some popular projects emulate popular art styles. For example, the artistic style of **Okay Bears** has similarities to Ethereum's Bored Ape Yacht Club collection, which may make it more attractive to collectors who like a classic style of NFT artwork. ### **2. Utility** Some of the first [Solana NFTs](https://www.alchemy.com/dapps/list-of/nft-marketplaces-on-solana) were simple projects that focused exclusively on artwork for profile pictures on Twitter. Over time, NFT projects that wanted to distinguish themselves from other collections, started providing additional utility to their holders. This utility would incentivize collectors and drive value back to the community. NFT projects with utility include blockchain games, NFTs that give access to exclusive tools, or NFTs where owners earn a percentage of the revenue from secondary sales or products the NFT project sells. Examples from this list that fall into these categories are **[Aurory](https://www.alchemy.com/dapps/aurory)**,** Xin** **Dragons**, and** Quantum** **Traders** to name a few. ### **3. Roadmap** Every NFT project should have a couple of goals, and it is helpful when projects have a well-defined plan, or roadmap, to achieve these goals. **Boryoku Dragonz**, for example, one of the Solana NFT projects in this article, has clear-cut plans for the phases of its collection.  As a potential NFT collector, analyzing the project's roadmap is a part of the due diligence process. Roadmaps show how visionary the founding team is concerning the collection. If the project has a rushed or unrealistic roadmap, it might not be a good collection to mint. ### **4. Team** Any Solana NFT collector will agree that the reputation of the founders is important when deciding how popular a collection can become. The founding team should be experienced in the NFT market, have strong developers, marketers, and community managers.  The founding team must know how to build a great community, build hype sell out their collections, be able to deliver on their roadmap, and be trustworthy enough so collectors can trust they won't abandon the project \(i.e. rugpull\). ## **What are some of the best NFT collections on Solana?** Some of the best NFT collections on Solana are Degenerate Ape Academy & Degen Trash Pandas, Degods, Aurory, [STEPN](https://www.alchemy.com/dapps/stepn), Boryoku Dragons, Okay Bears, [Taiyo Robotics](https://www.alchemy.com/dapps/taiyo-robotics), Portals, Xin Dragons. ‍ What sets these collections apart is that they exemplify the principles outlined above and have created a strong community for their project.  Solana has a lot of popular NFT collections as can be found on [Solana's NFT marketplaces](https://www.alchemy.com/overviews/solana-nft-marketplaces), so this article will highlight 10 examples that teach us how to create and run a successful project on Solana. ### **1. Degenerate ape academy and degen trash pandas** The **Degenerate Ape Academy** is the original Solana NFT collection that launched in the summer of 2021 for 6 SOL tokens each \(~$250 USD at the time\). The main idea behind the collection is an encouragement of brotherhood and rebellion against established systems to drive change. Today, this 10,000-piece collection of 3D apes with over 130 different traits, are the second most traded collection on Solana with over 1.3 million SOL traded on secondary markets. The team behind Degen Apes vests the intellectual property in each collector, and the ownership of a Degen Ape is criteria for joining the the Degen DAOO. Besides being a desirable NFT for their historical significane, Degen Apes also run a validator and other community initiatives. A related project from the same metaverse \(the Degeniverse\), **Degenerate Trash Pandas** with 30,000 NFTs launched a few months later. These NFTs were minted for 0.1 SOL because the entire community self-organized to bring down the mint price using [Metaplex](https://www.alchemy.com/dapps/metaplex)'s Fair Launch Protocol \(now deprecated\). ### **2. Degods** **Degods** is a Solana NFT collection with one of the best communities, founded by **Frank**. As an owner of a Degod, you can stake it to acquire $DUST which is a native token and a governance token of the project. Every day, you get 10 Dust tokens on a Degod that you staked.  However, some holders don’t stake their Degods, and prefer instead to acquire a DeadGod by burning 1000 $DUST tokens. DeadGods are more exclusive, and their rewards are 3 times greater. So instead of 10 DUST a day, you earn 30. The story of Degods and the leadership of Frank demonstrates how successful an NFT project can become simply by trying new strategies, building in public, and working with the community to create value for holders. ### **3. Aurory** One of the original NFT projects to launch on Solana, **Aurory** is a blue-chip NFT project that is building a Solana blockchain game. With unmistakeable art, a variety of NFT airdrops to holders, an immersive world of characters, and a native token, Aurory has consistently delivered on their promises. According to their whitepaper that was released earlier this year, the Aurory game is based on two virtual worlds—Antik and Nefties. In these worlds, players complete tasks and interact with in-game NFT characters. With their play-to-earn business model, the owners of Aurory NFTs use gameplay to get players to earn rewards. As a top 10 most traded project on Solana, Aurory highlights that even with long roadmaps that require a lot of building like a web3 game, by consistently shipping artwork, airdrops, tokens, mini games, and sneak previews, NFT projects can maintain their value for months and years. ### **4. STEPN** **STEPN**, one of the top projects from last year’s Solana’s Ignition Hackathon, is a play-to-earn game that rewards users for walking, jogging, running, and generally making active lifestyle choices. While play-to-earn games like Aurory are mainly applicable to gamers, STEPN introduced a game that maximizes the number of people who can participate by aligning the incentives with exercise. To participate, members need to buy pairs of NFT sneakers, download an app that records activities and rewards users in GST, or Green Satoshi Token, and then start moving! With over 33,000 shoes in the collection, STEPN was selected as a popular NFT collection on Solana because of how they made NFTs accessible and encourage people to make active choices. ### **5. Solana monkey business \(SMB\)** One of the original monkey-inspired PFP NFT projects on Solana, **Solana Monke Business** is a 5,000-piece collection of 2D pixel art that is the 3rd most traded NFT collection on Solana with over 1,100,000 SOL in secondary trading volume. What started as a simple profile-picture project, has transformed into a die-hard community of builders, creators, and well-connected NFT influencers who are engaged an practically every popular NFT project in the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). The [MonkeDAO](https://www.alchemy.com/dapps/monkedao), which is organized by SMB token holders, plan to buy out the original project creators to run the DAO entirely as the community. ### **6. Okay bears** With over 1,900,000 SOL in total secondary volume, **Okay Bears** is the most traded NFT on Solana, beating even the original Solana NFT collections like Degenerate Ape Academy and Solana Monkey Business. One reason why Okay Bears has ascended to such a high trading volume is because of market timing. Okay Bears launched around the same time [OpenSea](https://www.alchemy.com/dapps/opensea) started supporting Solana NFTs, which allowed more people to buy and sell Okay Bears on their preferred marketplace. With over 5,000 holders buying into the motto, “It is okay to be okay," and a culture that promotes transforming ordinary people into extraordinary ones, this laid back NFT community intends to create workshops, galleries, boutiques, and even studios. Okay Bears highlights that market timing is an important element for creating a popular NFT collection. Between OpenSea support Solana and memes about the Bear Market, this NFT collection took over the top spot for most traded NFT on Solana. ### **7. Taiyo robotics** The lore of **Taiyo Robotics** involves protecting the earth from dangerous aliens and monsters. This collection is one of the most phenomenal Solana NFT collections. Just a couple of weeks after mint, the founders lost interest in pushing the project. The price dipped down to 2 SOL and there were indications that the project would be abandoned. Fortunately, **SolportTom**, the owner of** Solsteads**, another popular Solana NFT collection that creates galleries for holders' NFTs, and active member of the TYR community took over the entire collection.  After resurrecting the Taiyo Robotics community, price actions moved up gradually until the NFT collection eventually became a blue-chip collection on Solana. To date, the collection has down over 133,000 SOL in secondary transactions. Taiyo Robotics is included in this list because the community's resilience demonstrates that having cool art, engaged holders, aligned incentives, and real utility like Solport, an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces), can resurrect projects destined to fail. ### **8. Portals** The Ethereum chain has a lot of mainstream Metaverse projects including [The Sandbox](https://www.alchemy.com/dapps/the-sandbox) and [Decentraland](https://www.alchemy.com/dapps/decentraland). When the Solana protocol launched its NFT support, there was a great demand for its native Metaverse.  Around 5 months ago, the **Portals** team raised $5 million to create a Metaverse NFT collection on Solana. The Portals metaverse provides virtual real estate property for people to invest in like the team at Audius, a Solana music streaming platform, who bought land property on Portals. In addition, FTX and [Binance](https://www.alchemy.com/dapps/binance) have created their headquarters in the Portals Downtown. What makes Portals a popular NFT collection on Solana is it's leadership and dedication to leading Solana's entry into the metaverse. Unlike other projects that are simple Profile-Picture projects \(PFPs\), Portals' popularity is generated from it's unique utility. ### **9. Xin dragons** The **Xin Dragons** NFT collection on Solana is an example of a project that was rugged \(i.e. abandoned\) by the original creator, and then salvaged by community members who wanted to lead the project. Today, Xin Dragons sell NFT tools to other projects including a bot-resistant NFT launchpad and a unique NFT staking mechanism that doesn't require users to remove their NFTs from their wallet. The original Xin Dragons collection has a limited supply of 887 NFTs and the second generation of Xin Dragons is a collection of 2661 baby dragons. When Dragons with similar traits are staked together, holders receive more $XIN tokens which can be used in raffles or to upgrade the NFT's artwork. Xin Dragons shows that small teams who build great products can turn a rugged project into a community of holders committed to making the Solana NFT ecosystem better. ### **10. Solsteins and quantum traders** **SolSteins** and **Quantum Traders** are two interconnected NFT collections on Solana that are related to **Yawww**, which stands for "You Are Why We Win," and is a platform that offers multiple NFT tools including escrow, collateralization, Peer-to-Peer NFT trading solutions, and a democratized NFT marketplace. The SolSteins, which were created first have 2,222 total pieces, and the Quantum Traders NFT collection has 8,888 NFTs. Based on the relative rarity of each NFT in, the holder earns more YAW tokens through Yawww's staking tool. YAW tokens can be used to pay for subscriptions to Yawww's NFT marketplace among other use cases. Quantum Traders and SolSteins are examples of NFT projects that have strong core teams that are consistently thinking of ways to increase the utility of their product suite to holders and shipping great products. ## **Conclusion** There are many other high-profile Solana NFT collections that we didn’t list including Solana Monke Business, Famous Fox Federation, Shadowy Super Coders, so many more. The best way to find other popular Solana NFT collections its to use [Solana NFT analytics tools](https://www.alchemy.com/overviews/solana-nft-analytics-tools) like Solsniper.xyz or browse Solana's multiple NFT marketplaces. If you want to launch your own NFT collection on Solana, learn [how to create a successful NFT project](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project), and then start building your project with common NFT tools on Solana like [Metaplex and Candy Machine v2](https://www.alchemy.com/overviews/metaplex). For user-friendly Solana NFT developer tools, [sign up for a free Alchemy account](https://www.alchemy.com/solana?a=0d969fdf8a) to start building your next NFT project or NFT tool! --- # The 14 Best Solana NFT Marketplaces (2024) URL: https://www.alchemy.com/overviews/solana-nft-marketplaces.md With so much NFT activity happening on Solana in the past year, it's important to know which marketplaces host the most collections to buy and sell, and which platforms provide collectors with the best user experience. Ever since Solana announced support for NFTs near May 2021, it has attracted over massive amounts of attention from builders, creators, and collectors. During Anatoly Yakovenko's presentation at 2022's NFT NYC, the Solana Co-founder announced there are over 100,000 NFT builders and creators on Solana, with over 14.8 million NFTs minted to date, and $3.1 billion in primary and secondary sales. ## Best Solana NFT marketplaces Here are some of the best Solana NFT Marketplaces: - Magic Eden - Coral Cube - OpenSea - Fractal - Solanart - Solsea - Hyperspace - Alpha Art - DigitalEyes - Solport - Exchange Art - Form Function - Holaplex - Releap ### **1. Magic Eden** **Magic Eden** is the most popular Solana NFT marketplaces hosting almost every blue-chip Solana NFT collection including DeGods, Okay Bears, and Pesky Penguins. Magic Eden allegedly receives an average of 10 million unique visitors every month to date has processed $1.8 billion in secondary trading volume. Following its recent closure of $130 million in a funding round, it has a valuation of $1.6 billion. The marketplace supports up to 13 native [Solana wallets](https://www.alchemy.com/overviews/solana-wallets), giving users many different options, and its mobile app is available on both Android and iOS. Its interface is well-segmented to include upcoming launches, launchpad projects, classic projects, and newly-listed collections. Additionally, Magic Eden has unique features like a "sweep" button that allows buyers to connect their wallet and buy a batch of NFTs all at once. #### **Pros** - 13 wallet options  - 2% transaction fee - Impressive user interface - Fast listings - Innovative features #### **Cons** - Lack of a feature to fish out IP-infringing projects  Magic Eden Website: [https://www.magiceden.io/](https://www.magiceden.io/) ### **2. Coral cube** **Coral Cube** is different from other Solana NFT marketplaces because it is an aggregator marketplace. An NFT aggregator collates and links to the projects on other marketplaces such as Magic Eden, Solanart V2, and OpenSea to create a single place where users can browse and buy NFTs. One of the main reasons NFT degens use Coral Cube is its hash list. As a result, you can see projects that are not-yet listed on Magic Eden. Once projects are on the secondary market, they are immediately indexed and listed on Coral Cube. The team behind Coral Cube pointed out that the marketplace aggregator plans to launch a feature where its users can earn rewards as they trade NFTs. #### Pros - Rarity rank feature  - Supports 6 wallets  - Showcases various Solana NFT collections  #### **Cons** - Doesn’t feature launchpad projects  - Doesn’t have customer support - Only available on the web **Coral Cube Website:** https://www.coralcube.io/ (no longer available) ### **3. OpenSea** Founded by **Alex Atallah** and **Devin Finzer** in 2017, **OpenSea** was among the first NFT marketplaces, and today is the most well-known place to buy and sell NFTs. Top projects such as Bored Ape Yacht Club, Azuki, and CryptoPunks were first listed on OpenSea. Today, there are more than 2 million collections on OpenSea. Although OpenSea was known for Ethereum projects, started supporting Solana NFTs in April of 2022. This announcement has enhanced the exposure and adoption rate of most Solana projects because OpenSea generates over 70 million monthly visitors. #### Pros - High traffic - Blue-chip collections  - Easy to use - Fiat top-up #### **Cons** - Limited featured collections  - Supports only 2 native Solana wallets OpenSea Website: https://www.opensea.io/solana-collections (no longer available) ### **4. Fractal** **Justin Kan**, the Co-founder of** Twitch**, founded Fractal around December 2021. The Fractal [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces) is different from the rest of the NFT marketplaces on this list because it is focused solely on gaming NFTs. As a result, Fractal has partnered with a lot of gaming studios that list their in-game NFTs on the platform. Fractal showcases trending game NFTs, upcoming mints, and newly listed projects. Fractal has also introduced a feature for its users to create an NFT wallet with their Google accounts. To learn more, visit #### Pros - Ability to create a wallet with a Google account  - Visually appealing UI  - 2% transaction fee #### Cons - Only gaming NFTs  **Fractal Website:** [https://www.fractal.is/](https://www.fractal.is/) ### **5. Solanart V2** **Solanart** was the original NFT marketplace on Solana that was the preferred destination for the biggest collections. Because Solanart focused on just blue-chip projects and high-value creators in the beginning of Solana's NFT bull run, getting listed on Solanart was a big achievement and status symbol. However, Solanart's poor user experience, limited collections, slow website speeds, and long turnaround times from mint to listing drove a lot of early NFT collectors to Magic Eden which emphasized speed, reliability, accessibility and improved features. With Magic Eden's rise and a 3% transaction fee that is higher than most other marketplaces, Solanart maintains a small marketshare of sales compared to it's former days as being the leading NFT marketplace for Solana projects. #### **Pros** - Wide option of wallets  - A lot of popular collections  - Launchpad #### Cons - Only for art NFTs  - Higher transaction fees than most other markets - Low traffic **Solanart Website:** [https://www.solanart.io/](https://www.solanart.io/) ### **6. Solsea** **Solsea** is a [Solana NFT Marketplace](https://www.alchemy.com/dapps/list-of/nft-marketplaces-on-solana) that was launched around August 2021 with the goal of making it easier for creators to create NFT projects. One of the most unique attributes of Solsea is the ability to create a copyrighted NFT collection. Solsea makes it possible for its users to fund their wallets with [MoonPay](https://www.alchemy.com/dapps/moonpay) and FTX-Pay. With this feature, users can buy NFTs in some popular international currencies. To keep its users posted on mints, Solsea has a calendar that features major NFT drops. However, Solsea doesn’t support bidding and auction at the moment.  #### Pros - Fiat payment option  - Built-in IP feature  #### **Cons** - 3% transaction fee - Doesn't support the auction  **Solsea Website:** [https://www.solsea.io/](https://www.solsea.io/) ### **7. Hyperspace** **Hyperspace** is a rebrand of the now defunct **Solanalysis**—a [Solana NFT analytics website](https://www.alchemy.com/overviews/solana-nft-analytics-tools). After the rebrand in February, Hyperspace became a Solana NFT aggregator. It is serving as a touchpoint of Solana NFT, such that the users can trade across various Solana NFT marketplaces from a single platform. Thus, making the NFT trading experience much easier. In its launchpad, Hyperspace is also working closely with new NFT projects to help them [produce successful NFT launches](https://www.alchemy.com/overviews/how-to-create-a-successful-nft-project). At the other end of the spectrum, it has an Upcoming Drop section so the users won't miss out on the latest mints. #### **Pros** - An all-in-one Solana NFT marketplace  - Supports a lot of native Solana wallets  - 2% transaction fee #### **Cons** - Has a list of unverified collections  **Hyperspace Website:** [https://www.hyperspace.xyz/](https://hyperspace.xyz/) ### **8. Alpha art** Alpha Art is an NFT Marketplace that was originally built by the developers of the Piggy Sol Gang NFT collection, which promised a portion of the exchange's royalties to be shared with their NFT holders. Today, Alpha.Art gets a modest amount of traction, but significantly less than Magic Eden and OpenSea who dominate the space. Alpha.Art also gives a wider array of purchase options as collectors can see and bid for any NFT in a collection whether or not they were listed. Alpha Art features different categories of NFTs including sports, pixel, art, gaming, and so on. #### Pros - Supports a wide option of wallet integration  - Doesn’t charge listing fees - 2% transaction fee #### **Cons** - Doesn’t support minting  - Can’t list NFTs that share royalty  - Doesn’t host a lot of collections  **Alpha.Art Website:** [https://www.alpha.art/](https://www.alpha.art/) ### **9. DigitalEyes** **DigitalEyes** was originally built founding team members of Exchange.Art before they left to create a marketplace dedicated to supporting 1-of-1 NFT artists. Before Magic Eden's rise to become the dominant marketplace, Digital Eyes was a top marketplace alongside Solanart. Because of DigitalEyes broad acceptance of new project in contradiction to Solanart's selective approval process, many more generative NFT projects were discoverable on DigitalEyes. With how easy it was to list NFTs and get listed as a collection made DigitalEyes a premier destination in the beginning of Solana's NFT boom. Today, DigitalEyes has much lower volume compared to it's competitors. However, the team continues to release features including a launchpad. #### **Pros** - Seamless interface  - Has a mint calendar - Originally built by the Exchange.Art team - Accepts most NFT collections #### **Cons** - Relatively high fees - Low engagement - Not updated frequently **DigitalEyes Website:** [https://www.digitaleyes.market/](https://www.digitaleyes.market/) ### **10. SolPort** **Solport** is a Solana NFT marketplace that was built by **@SolportTom**, the owner of [Taiyo Robotics](https://www.alchemy.com/dapps/taiyo-robotics) and Solsteads, two [blue-chip Solana NFT collections](http://www.alchemy.com/overviews/solana-nft-collections). Solport has recorded 8,000 total sales and recorded close to 26,000 SOL. While SolPort doesn’t have a lot of collections, it features some high-profile collections including DeGirls and Cosmic Apes. SolPort also has a filter feature for the collectors to easily categorize their desired collections. You can list your NFTs for instant purchase or sell them in an auction. #### **Pros** - Supports auctions  - 2% transaction fee - Community supported #### Cons - Doesn’t have a lot of collections  - Low volume indicates low buyers **SolPort Website:** https://www.solport.io/ (no longer available) ## 1 of 1 NFT marketplaces Most of the marketplaces we mentioned above feature Generative NFT collections with total supplies averaging between 1,000 to 10,000 tokens per collection. In contrast, platforms like Exchange.Art, Form Function, and Holaplex are Solana NFT marketplaces that support [1-of-1 NFT creators](https://www.alchemy.com/overviews/solana-1-of-1-nfts) spanning all types of digital art, photography, video, music, and more. Here are some top Solana 1 of 1 NFT marketplaces you should know in 2022: ### **1. Exchange.art** So far this month, Exchange.Art has secured over one thousand users and has recorded over 122,000 trading volumes. It has an easy onboarding process for new artists to join its platform and display their NFTs. Exchange Art has a lot of NFT categories including banners, digital real estate, games, arts, and so on. #### Pros - Attractive userinterface  - Easy NFT minter experience - Supports major Solana wallets  - Exclusive NFTs  #### **Cons** - Not available on Android and iOS - No batch minting for NFT editions **Website:** [https://exchange.art/explore/series](https://exchange.art/explore/series) ### **2. Form function** **Form Function** is a new 1-of-1 NFT marketplace built by **@pencilflip**, a Solana developer and influencer who previously worked on Oculus. Form Function has a clean user interfeace design, and is extremely easy to use. Because Form Function is new, they working with an invite-only model which limits the artists and NFT creators that can mint and sell their NFTs on the platform. However, the team plans to open the access to more artists through a community-governed model in the future. To join Form Function as a creator, you'll need to sign up and fill out a short form. #### **Pros** - Easy to join  - Seamless to navigate  - Made for independent creators  #### Cons - Only supports 3 Solana wallets  Website: [https://www.formfunction.xyz/](https://www.formfunction.xyz/) ### **3. Holaplex** **Holaplex** is hosting some high-ranking 1-of-1 Solana NFT projects such as **Boogle** and **Voxel Monkes**. One of the attributes that separates Holaplex is its open-source and more decentralized model compared to competitors like Form Function and Exchange.Art which are centralized. Holaplex is also working on creating a white-label NFT marketplace for artists where each artist will be able to customize its independent storefront, set its fees, and mode of operation similar to how anyone can create a Shopify storefront. #### **Pros** - Open-source - Original 1-of-1 NFT marketplace - Bulk-minting  - Plans to roll out no-code marketplaces #### **Cons** - Limited editions - Historically slow - Mediocre user interface design **Website:** [https://www.holaplex.com/](https://www.holaplex.com/) ### **4. Releap – music NFT marketplace** **Releap** is a decentralized Solana NFT marketplace that is solely dedicated to music NFTs. The music NFTs on Releap are stored on Arweave—a decentralized file storage protocol. Releap also features circle NFTs which grant fans access to their favorite musicians. Since music NFTs are always a product of many collaborations, Releap designed its marketplace with the ability to split royalties among everyone who contributed to a piece of music that is sold as an NFT. #### **Pros** - Music streaming platform  - Data stored on Arweave  - Connects fans with music creators  #### Cons - Still in its early stage  - Limited wallet support - No secondary NFT marketplace \(yet\) **Website:** https://www.releap.io/ (no longer available) ## Which Solana NFT marketplace is the best? The answer to which Solana NFT marketplace is best depends on what features and metrics you value as a creator and buyer. For instance, if you value a marketplace with the largest volume of buyers and sellers, Magic Eden is best. If you value 1-of-1 NFTs and super clean user interfaces, Form Function is best. In determining whether or not a particular marketplace is the most suitable one for your project, ask yourself: - What is the NFT marketplace's niche? - Is the NFT marketplaces's interface easy to use? - Does it have enough NFT sales volume? - Does the marketplace support fiat payments? - Does the marketplace support my wallet? Solana's rich developer community and pool of talented NFT artists have created a rich ecosystem of marketplaces, NFT analytics tools, and resources for everyone to participate. --- # Solana Nodes: Validators, RPC Nodes, and Self-Hosting URL: https://www.alchemy.com/overviews/solana-nodes.md A wallet reading a balance, an explorer retrieving a two-year-old transaction, and a trading system consuming account updates may appear to use the same Solana service. Underneath, they depend on different infrastructure. For application teams, the useful question is not simply, “Should we run a Solana node?” It is: Which workloads does our application need, and which parts of the stack should we operate ourselves? ## What are the three layers of Solana infrastructure? When building on Solana, there are 3 types of infrastructure that all stem from Solana nodes. So what is a Solana node? Simply put, a Solana node is a server running validator client software. Voting validators secure and produce the chain, while non-voting remote procedure call (RPC) nodes expose live state and transaction APIs. Separate archival, indexing, caching, and streaming systems serve workloads that a standard node cannot efficiently retain or answer on its own. ### Voting validators secure the chain Voting validators participate in consensus and help the network agree on the canonical chain. They also produce blocks when selected as leader. Their primary responsibility is staying synchronized, voting correctly, and performing leader duties reliably. Applications depend on this consensus, but most application requests are not sent directly to voting validators. ### RPC nodes serve live application traffic An RPC node usually runs the same validator client software without voting. It follows the cluster, replays blocks, and maintains current account state, but does not vote or enter the leader schedule. Instead, it exposes Solana’s RPC interface. Wallets, exchanges, explorers, bots, and other applications use that interface to query chain data, simulate transactions, and submit transactions. A voting validator can technically expose RPC as well. In production, operators normally keep that interface private or restricted so unpredictable application traffic does not compete with consensus and block production. ### Secondary systems serve specialized data workloads RPC nodes expose Solana’s API, but providers do not have to answer every request directly from a live node. They can use systems built for: - long-term transaction and block history - account indexing and expensive filtered queries - caching frequently requested data - real-time streams with filtering, buffering, replay, and recovery For standard RPC methods served by these systems, applications can keep using the same familiar API methods, parameters, filters, and response formats. Only the system answering the request changes. Old history comes from separate storage because the live node no longer has it, while expensive current-state queries can be served more efficiently from dedicated indexes or caches. ## Which infrastructure layer handles each Solana workload? Consider a few common application requests: - A wallet checks a balance or simulates a transaction. A live RPC node can answer directly from current state. - An explorer loads a transaction from two years ago. The application still calls a standard RPC method, but the provider answers from archival storage because the live node no longer has the data. - A portfolio app queries every account owned by a large program. The same RPC method and filters can be served from an account index or cache instead of making a node scan its state repeatedly. - A trading system needs every account or transaction update as it happens. It uses streaming infrastructure for continuous delivery, often alongside RPC for point-in-time queries. - A network operator wants to vote and produce blocks. That requires a voting validator, not an application RPC service. A provider may expose several of these capabilities as one service. The application sees familiar interfaces while different systems handle the work behind them. ## How do Solana nodes serve historical data? Methods such as `getTransaction`, `getBlock`, and `getSignaturesForAddress` can query old activity. A standard RPC node, however, retains only a limited ledger window locally. Once older data has been pruned, adding more CPU does not make the query work. The data is no longer on that node. Deep [Solana archival data](https://www.alchemy.com/overviews/solana-archival-data) requires a separate path that: 1. Ingests blocks and transactions from live and historical sources 2. Detects and repairs missing data 3. Stores the data for long retention and high query volume 4. Serves historical RPC requests from that storage layer This is why “archive RPC” is not simply a normal node with a larger disk. At production scale, providers typically serve archive RPC from separate storage and query systems, presented through a familiar RPC interface. At Alchemy, we learned this constraint directly. We initially used Google Bigtable for Solana history, then rebuilt the [archival stack on self-hosted HBase](https://www.alchemy.com/blog/how-alchemy-built-the-fastest-archival-methods-on-solana). Today, each record is written twice, validated programmatically, and scanned for completeness. When the system finds a gap, it re-ingests the missing entry. Historical methods such as `getTransaction` and `getSignaturesForAddress` now read from this optimized data layer rather than relying on the live RPC fleet’s local retention in order to provide the speed and reliability our customers expect. ## Why is `getProgramAccounts` expensive? `getProgramAccounts` illustrates a different limitation. The account data exists in current state, but answering the request may require searching a large set of accounts and applying filters at query time. A node stores accounts primarily so it can replay blocks and maintain current chain state. It is not a general-purpose analytical database. Occasional direct scans may be acceptable, but repeatedly scanning millions of accounts becomes slow and resource-intensive under production traffic. For sustained workloads, operators can consume account updates continuously and maintain query-friendly indexes or cached views. Requests then read prepared results instead of repeating a full scan each time. Repeated `getProgramAccounts` requests are an indexing problem, not a request for a larger node. Phrased another way, the distinction is not “small node versus large node.” It is live node data serving versus indexed data serving. ## How do Geyser and gRPC streaming work? Trading systems, indexers, and other real-time applications often need to process account, transaction, slot, or block updates as they happen. WebSocket subscriptions are part of Solana’s standard interface and work well for selected live events. For workloads that need lower latency, higher throughput, or richer filtering, Yellowstone gRPC provides a more performant streaming interface built on gRPC over HTTP/2. The Agave validator client, including when it runs as a non-voting RPC node, can also run [Geyser plugins](https://www.alchemy.com/overviews/solana-geyser-plugin). Geyser emits account, transaction, slot, and block updates as the node processes the chain. Providers can expose that data through [Yellowstone-compatible Solana gRPC](https://www.alchemy.com/solana-grpc), adding filtering, buffering, replay, reliability, and multi-node delivery. Streaming does not replace RPC. RPC answers a question about state. Streaming tells the application that state changed. Many production systems use both. ## When should you self-host Solana infrastructure? Most application teams should start with a provider. One self-hosted RPC node does not automatically cover all of the use cases you need (providing durable history, indexed queries, globally replicated APIs, or data streams), and doing that reliably is a lot of work. Self-hosting makes sense when control over your infrastructure improves the product or when policy requirements rule out a managed service. Examples include: - a validator operator participating in consensus - a latency-sensitive trading system that needs specific node placement or transaction-routing control - a service that requires custom Geyser plugins, indexes, or retention policies - an organization with strict compliance or infrastructure-control requirements - a large platform whose sustained traffic can justify a dedicated infrastructure team The test is whether owning the infrastructure creates a measurable advantage that outweighs the hardware, engineering, and on-call work. ## What does it take to operate Solana infrastructure? The current [Agave hardware guidance](https://docs.anza.xyz/operations/requirements) sets a high starting point before production traffic, redundancy, and adjacent data systems are considered. The hardware is only the floor. Under Solana’s current consensus system, voting validators can also spend up to roughly 1.1 SOL per day on vote transactions. Production RPC services need redundant nodes to avoid a single point of failure. Teams that self-host and require deep history, indexes, or reliable streams must operate those systems too. ## How do you run a Solana node? The setup begins with the role, not the command line. 1. Choose the workload. Decide whether the deployment will vote, serve RPC, or feed a specialized data pipeline. 2. Provision the host. Match current CPU, memory, storage, bandwidth, operating-system, and public-IP requirements to the client and role. 3. Configure the role. An RPC operator runs without voting and selects the required history, account indexes, and retention settings. A validator operator configures its identity and vote account. 4. Protect keys and endpoints. Keep sensitive keys off the validator host. Put public RPC and WebSocket endpoints behind authentication, rate limits, and load balancing. 5. Operate the complete service. Monitor synchronization, disk, CPU, network, process health, and application-level errors. Plan for upgrades, recovery, failover, and abuse. Use the maintained Agave guides for current [validator commands and flags](https://docs.anza.xyz/operations/setup-a-validator) or [RPC node setup](https://docs.anza.xyz/operations/setup-an-rpc-node). ## How should you evaluate a Solana infrastructure provider? Start with the workloads your application needs, then ask how the provider serves each one. Benchmark the methods, subscriptions, and regions your application will use. The [Solana RPC providers guide](https://www.alchemy.com/overviews/solana-rpc) compares current options across those criteria. ## The takeaway A Solana application does not need “a node” in the abstract. It needs specific capabilities: live state, transaction APIs, history, indexed queries, streams, or, in a much smaller set of cases, consensus participation. Identify those workloads first. Then decide which parts of the stack provide a real advantage when operated internally and which are better obtained from a managed service. ## Build on Solana with Alchemy Most application teams do not need to operate their own RPC fleet, archival databases, indexes, and streaming infrastructure. We provide live Solana RPC for state and transactions, block and transaction history from genesis over standard methods, and Yellowstone-compatible gRPC for real-time streams. [Start building on Solana](https://www.alchemy.com/solana), follow the [Solana API quickstart](https://www.alchemy.com/docs/reference/solana-api-quickstart), or [talk to our team](https://www.alchemy.com/contact-sales) about dedicated capacity and custom workloads. ## Frequently asked questions ### What is a Solana node? A Solana node is a server running validator client software. It follows the cluster, replays blocks, maintains current chain state, and communicates with peers. Voting validators participate in consensus and block production. Non-voting RPC nodes expose application APIs. ### What is the difference between a validator and an RPC node? Both follow and replay the chain. A voting validator participates in consensus and may produce blocks when selected as leader. An RPC node does not vote or enter the leader schedule. It focuses on serving live state and transaction APIs to applications. ### Is an archive node a separate Solana node type? Not usually. Deep transaction and block history is generally served by a separate archival data system behind an RPC-compatible interface, not by a standard node with a larger disk. ### Do applications need to run a validator? Usually not. Applications depend on validators to establish the chain, but their own requests normally go to RPC nodes and specialized data services. Running a validator is necessary for consensus participation, not ordinary application access. ### What are the hardware requirements for a Solana validator or RPC node? Current Agave guidance starts at 12 cores, 24 threads, and 256 GB RAM for a voting validator. A non-voting RPC node starts at 16 cores and 32 threads, with 512 GB RAM recommended when running all account indexes. Both require fast NVMe storage and reliable networking. ### Do I need SOL to run a Solana node? A non-voting RPC node does not require SOL for voting. A voting validator needs funded identity and vote accounts and pays vote-transaction costs under the current consensus system. ### Is running a Solana validator profitable? It depends on delegated stake, voting performance, commission, transaction-fee income when selected as leader, maximum extractable value income, and operating costs. Validators with little delegated stake often struggle to break even. Treat validator operation as its own infrastructure business, not as a way to give an application RPC access. ### How do you run a Solana node? Choose the role first, provision against current client requirements, configure voting or RPC behavior, secure keys and endpoints, and add monitoring and failover. Use current Agave documentation for commands and flags because supported releases and recommendations change. ### Should I self-host an RPC node or use a provider? Use a provider when you need managed capacity, historical data, indexed methods, streaming, or failover without operating those systems yourself. Self-host when control, custom configuration, physical placement, sustained scale, or policy requirements justify a dedicated infrastructure team. --- # What is the Solana Program Library? URL: https://www.alchemy.com/overviews/solana-program-library.md Solana is a high-speed programmable blockchain that allows developers to build and deploy decentralized applications. Solana maintains a dedicated documentation library known as the Solana Program Library – a collection of pre-compiled, deployed, and optimized programs \(i.e. smart contracts\) for use on the Solana blockchain. In this article, we'll explore the world of Solana and understand how you can develop quickly with the Solana Program Library. Whether you are new to Solana or an experienced developer, you can easily create and deploy your own custom tokens or a decentralized exchange with SPL.  ## **What are programs in Solana?** **Programs in Solana are executable code stored in buffer storage called an account that can be executed via transaction, similar to smart contracts on Ethereum or any other programmable blockchain.** However, unlike Ethereum, where the program and state are stored together in the smart contracts, Solana has adopted a [stateless program model](https://www.alchemy.com/overviews/solana-account-model) approach where data and programs are stored in accounts. ### **What are accounts in Solana?** As per the Solana documentation, “An account is a record in the Solana ledger that either holds data or is an executable program.” Think of Solana as a database where [accounts](https://www.alchemy.com/overviews/solana-data-vs-program-accounts) are rows, pub keys act as IDs, and the value is the information stored in the account. Now, this information can either be in the form of programs \(i.e _smart contracts\)_ or data/state of the program. Accounts can be identified by a unique Public Key \(256 bytes\), which typically looks something like: “DM6n1qcUCLzJ1RaAuA4gUbBZ9sfHP6KvEwX8oExQqPhk”. Solana has a logical separation between the code and its data, which causes two types of accounts to exist — executable and non-executable accounts. #### **1. Executable accounts**‍ Accounts that only store the immutable program code and are marked as _‘executables’_. #### **2. Non-executable accounts**‍ These accounts store all the data that its program may use, including the variables, assets, and state of the program. Even though anyone can read the data in these accounts, only the owner of the program \(the deployer\) can change it. The accounts are maintained by [validator nodes](https://www.alchemy.com/overviews/what-is-firedancer) that charge a maintenance cost called ’[Rent](https://www.alchemy.com/overviews/how-to-calculate-rent-for-solana-programs)’ in exchange for memory space for storing the information above. Rents are paid in **lamports** — the fractional denomination of SOL \(Solana’s native token\). Solana’s code and program data are maintained separately due to a system known as **Sealevel Parallel Runtime.** ### **What is sealevel parallel runtime?** **Sealevel Parallel Runtime is Solana’s implementation of a parallel transaction processing system**. Traditional single-threaded blockchains like Ethereum can process only one transaction at a time to avoid concurrency. This is because Ethereum smart contracts are** stateful** — meaning both the state and the code are coupled in the same contract. With the help of Sealevel, Solana can process thousands of non-conflicting transactions in parallel. Utilizing multiple validator cores, Solana can also execute up to 50,000 Tps with a 400-millisecond block time. This is possible because transaction instructions are stateless, and they decide which account’s data they would modify beforehand. Thus, Programs that do not share the same account data can run simultaneously. ## **What are the types of programs in Solana?** Solana’s ecosystem constitutes two distinct types of programs — native programs and on-chain programs. Let's look at both of these. ### **What are native programs?** **Native programs are responsible for implementing core functionalities of the Solana network, such as managing the allocation of account storage, creating new accounts, processing transactions, and enforcing the rules of the Solana network.** Native programs are an integral part of Solana’s core blockchain model. They are typically written in low-level languages like Rust and C/C\+\+ that are optimized for performance and security. Native programs can be called by any program/user, whereas a Kernel-level program in your Operating system cannot be directly called and accessed by a user. Updating these programs can only happen as a part of core blockchain upgrades or cluster upgrades to add features, fix bugs, or improve performance. There are numerous native programs that help to secure the validator. Some of them are: #### **1. System program** System programs are responsible for creating new accounts, transferring SOL between two accounts, assigning account ownership, and performing more such account management operations. #### 2. Berkeley packet filter \(bpf\): Berkeley Packet Filter handles the deployment, upgrades, and execution of programs on-chain. #### **3. Stake program** A Stake program is responsible for managing the staking of SOL tokens on the Solana blockchain. ### **What are on-chain programs?** **On-chain programs are user-written programs \(i.e. smart contracts\) that are deployed directly on the blockchain.** These can range from a dapp, an exchange, practice contracts, a multi-sig wallet implementation, or any other generic program. Unlike Native programs, on-chain programs do not form the core of the Solana cluster. Instead, they are custom programs created and deployed by developers on the Solana blockchain. This means that on-chain programs are not essential in the operation of the Solana blockchain. They are built on top of the core infrastructure provided by the Native programs and allow developers to build a wide range of applications and services on the Solana blockchain. The data that the programs interact with are stored in separate data accounts and passed in as references via instructions. Only the account owner can upgrade the program data. ## **What is the Solana Program Library?** The Solana Program Library \(SPL\) is a collection of pre-written, modular programs that can be used to build [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) on the Solana blockchain. SPL aims to make it easier for developers to create apps by providing a set of reusable, modular components that can be easily integrated into their applications, reducing the need for developers to write complex codes from scratch. Therefore, SPL enables developers to build apps using a "**building block**" approach, where each component can be easily integrated into the application. The SPL contains multiple on-chain generic programs, the Token program, and its variations being the most popular. which can help incorporate them into your project without implementing them from scratch. ### **SPL prerequisites** To interact with SPL, you can choose between the CLI approach or the commonly used JS approach, which inculcates solana/[web3.js](https://www.alchemy.com/dapps/web3-js) for interacting your Javascript code with the Solana blockchain.  To interact with any Solana cluster, you must also [set up the Solana CLI \(Command Line Interface\)](https://www.alchemy.com/docs/reference/solana-api-quickstart). The CLI might not be the most friendly to use for novice developers, but it provides the most direct and secure access to your Solana accounts. Moreover, the CLI is the first place the Solana Core Developers deploy newer functionalities. ## **What is the SPL token program?** **The SPL Token program is a generic implementation for fungible and non-fungible tokens on the Solana blockchain.** It provides an interface and detailed implementation which allows developers to create their own token. The code is natively written in Rust, and its auto-generated bindings are available in C and JavaScript. The source code is available in the [SPL GitHub repo](https://github.com/solana-labs/solana-program-library/tree/master/token/program). In Ethereum, the [ERC20](https://www.alchemy.com/overviews/erc20-solidity) Token program works differently than an Ethereum ERC-20 contract. Let’s take an example to understand the difference: Suppose you want to publish three different tokens on the Ethereum blockchain. To do so, you must deploy 3 separate contracts for each token. And every token contract will keep track of its respective state \(e.g. balances and transfers\). When it comes to Solana, there is no need to deploy three separate token programs. Instead, you can deploy one generic token program that can operate on a multitude of accounts \(e.g. minting and receiving accounts\). The mint address will uniquely identify the token type. This information can be passed as arguments to a singular static ERC20 program instance that is already deployed on the Solana chain. ## **How to use SPL token program to create a fungible token** With SPL Token Program, you can create your fungible token in a few steps. Before diving right into the Token program, make sure you have set up your CLI wallet, or [connected your Phantom wallet to Solana's Devnet](https://www.alchemy.com/docs/add-alchemy-rpc-to-any-project), and [airdropped enough devnet SOL](https://www.alchemy.com/overviews/solana-devnet) into your wallet. ### Step 1: create your fungible token The create token command is an instruction to the on-chain SPL Token Program to create a new Token. On successful creation of the token, we will receive a Token ID along with the transaction signature. But yes, we still have to mint them. **This is the token command**: `spl-token create-token` ### **Step 2: create a token account** To store the information related to our token in a separate data account. The [token account](https://www.alchemy.com/overviews/associated-token-account) is owned by the SPL-Token Program, which controls the access to these tokens along with the owner field \(which is our Token-ID that can spend/transfer the tokens\). Since this is a data account, its data can be modified by the Token Program by adding/minting, transferring, or burning the tokens.  **This is the token account creation command**: `spl-token create-account` As you can see below, we lost some minimal SOL as transaction fees by creating our token and its associated account. Also, notice that the initial supply is zero. This means we have to add a desirable amount of supply by minting out tokens. ### **Step 3: mint a desirable amount of tokens.** To mint a given number of tokens, run the following command: Once the command is executed, the said number of tokens will be minted into your file system wallet, and the token supply will get updated.  You can check the current token supply and the account associated with the token by running the following command: Now, let’s transfer our tokens to our [Phantom wallet](https://www.alchemy.com/dapps/phantom) — a popular wallet on Solana. ### Step 4: transfer tokens The plan is to transfer ‘x’ amount of tokens to the recipient — our Phantom wallet. The ‘fund recipient is responsible for creating a token account for the recipient if it does not exist. This is called creating an [Associated Token Account](https://www.alchemy.com/overviews/associated-token-account). **Here's the command to transfer tokens:** You’ll receive a success message once the transfer is successful. You can verify the transfer by running this command: `*spl-token accounts` Note: if you run the token supply command, it will still show 2,000 tokens because supply indicates the number of tokens in circulation in the network, whereas balance refers to the number of tokens that your token account has. ### **Step 5: limit token supply** One of the crucial aspects of contract security and demand is to restrict token supply. To disable mint functionality, set the mint authority to ‘None’. Command to disable the token mint authority: `*spl-token authorize mint --disable` ### **Step 6: burn tokens** If you want to reduce the supply of a token, you can choose to burn it. Here’s the command for it: `spl-token burn` Once burned, both the supply, as well as balance, will get reduced. As you can see in the example, our balance dropped from 4,978 to 3,978, and the supply got reduced to 4,000. SPL provides a complete reference guide on how you can use the Token program to perform more operations like: - Wrapping SOL in a token. - Transferring tokens to an explicit recipient token account. - Creating a non-fungible token. ## **Kickstart your Solana development journey with SPL** The Solana Program Library features a host of pre-published on-chain programs that can be easily interacted with. With SPL, developers can focus on the unique features and functionality of their apps — rather than spending time on basic, boilerplate token creation code. If you’re a beginner and want to get started with your Solana development journey, your first step is to explore SPL and [Alchemy’s Solana API](https://www.alchemy.com/docs/reference/solana-api-quickstart). and a [free Solana RPC node account](https://dashboard.alchemy.com/signup/?a=solana-program-library). These will help you get your program running in no time. --- # 9 Best Solana RPC Providers (2026): Decision Guide URL: https://www.alchemy.com/overviews/solana-rpc.md **TL;DR: Which Solana RPC provider should you pick?** - **Best overall:** **Alchemy.** 99.99% uptime, **10x faster** on heavy methods, **20x faster** on archival, **2x higher throughput**, Yellowstone-compatible gRPC at 5-15ms average delivery, the most generous free tier \(30M CU/month\), and transparent tiered pricing \($0.45 / 1M CU up to 300M, then $0.40 / 1M CU, roughly 5x more affordable than alternatives\). Powers Phantom, Solflare, Robinhood, OpenSea, and Circle. - **Best for Solana-native depth:** **Helius.** Solana-only focus, enhanced NFT/token APIs, validator services. - **Best for ultra-low latency trading:** **Triton.** Dedicated infra, gPA optimization, private validator services, starting at $500+/mo. - **Best free tier:** **Alchemy** \(30M CU/month\). - **Best for multi-chain teams already standardized on one provider:** **Alchemy** \(Solana + 70+ chains under one stack\) or **QuickNode** \(60+ networks\). If you only read one section, read the [How to choose](#how-to-choose-a-solana-rpc-provider) checklist below. ## Why your choice of Solana RPC provider matters Solana now processes 80M+ daily transactions and generates ~1TB of new chain data per day. At that volume, a wrong RPC choice surfaces as: dropped transactions during spikes, stale data, missing archival history, and surprise bills when traffic multiplies. Public endpoints are fine for prototypes. However, production apps need a private endpoint with an SLA, predictable pricing, and archival depth, and that's the choice this guide is built around. ## At-a-glance comparison Alchemy

", tooltip: "", icon: "" }, "2": { title: "

30M CU/mo

", tooltip: "", icon: "" }, "3": { title: "

PAYG: $0.45/1M CU up to 300M, $0.40/1M after · gRPC from $75/TB

", tooltip: "", icon: "", }, "4": { title: "

99.99%

", tooltip: "", icon: "" }, "5": { title: "

Full

", tooltip: "", icon: "" }, "6": { title: "

Production apps that need reliability + tooling

", tooltip: "", icon: "", }, id: 0, }, { "1": { title: "

Helius

", tooltip: "", icon: "" }, "2": { title: "

1M credits, 10 RPS

", tooltip: "", icon: "", }, "3": { title: "

$49/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

Solana-only teams, NFT/token apps

", tooltip: "", icon: "", }, id: 1, }, { "1": { title: "

QuickNode

", tooltip: "", icon: "", }, "2": { title: "

10M credits/mo

", tooltip: "", icon: "" }, "3": { title: "

$42/mo

", tooltip: "", icon: "" }, "4": { title: "

99.95%

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

Multi-chain teams needing analytics

", tooltip: "", icon: "", }, id: 2, }, { "1": { title: "

Triton

", tooltip: "", icon: "" }, "2": { title: "

N/A

", tooltip: "", icon: "" }, "3": { title: "

$500/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

HFT, MEV, trading infra

", tooltip: "", icon: "", }, id: 3, }, { "1": { title: "

Ankr

", tooltip: "", icon: "" }, "2": { title: "

30 RPS

", tooltip: "", icon: "" }, "3": { title: "

$10/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Limited

", tooltip: "", icon: "" }, "6": { title: "

Cost-sensitive, multi-chain

", tooltip: "", icon: "", }, id: 4, }, { "1": { title: "

Syndica

", tooltip: "", icon: "" }, "2": { title: "

10M req/mo

", tooltip: "", icon: "" }, "3": { title: "

$199/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

Solana-only, enterprise compliance

", tooltip: "", icon: "", }, id: 5, }, { "1": { title: "

Chainstack

", tooltip: "", icon: "", }, "2": { title: "

3M req/mo

", tooltip: "", icon: "" }, "3": { title: "

$5/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

Teams wanting bare-metal/dedicated options

", tooltip: "", icon: "", }, id: 6, }, { "1": { title: "

dRPC

", tooltip: "", icon: "" }, "2": { title: "

210M CU/mo (public)

", tooltip: "", icon: "", }, "3": { title: "

$6/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Aggregated

", tooltip: "", icon: "" }, "6": { title: "

Provider redundancy / routing

", tooltip: "", icon: "", }, id: 7, }, { "1": { title: "

Blockdaemon

", tooltip: "", icon: "", }, "2": { title: "

3M CU

", tooltip: "", icon: "" }, "3": { title: "

$600/mo

", tooltip: "", icon: "" }, "4": { title: "

N/A

", tooltip: "", icon: "" }, "5": { title: "

Partial

", tooltip: "", icon: "" }, "6": { title: "

Institutional / staking-adjacent

", tooltip: "", icon: "", }, id: 8, }, ], }} /> **How to read the archival column** - **Full:** History back to genesis - **Partial:** Extended lookback, not guaranteed complete - **Limited:** Constrained or recent-state access - **Aggregated:** Depends on upstream nodes Pricing and limits are listed at provider list price as of 2026 and change frequently. Verify before committing. ## How to choose a Solana RPC provider Work down this checklist in order. The first place a provider fails is usually the right place to disqualify them. 1. **Uptime SLA.** Require ≥99.9% with financial penalties. Alchemy commits to 99.99%. 2. **Latency under load.** Test P90 from your actual user regions, with traffic at 10x your current peak. Sub-150ms is table stakes; sub-100ms matters for trading and MEV. 3. **Archival depth.** Decide upfront: do you need full history back to genesis \(compliance, analytics, replay\) or only recent state? Many providers offer only limited lookback. 4. **Pricing model.** CU-based, transparent pricing \(e.g., Alchemy's $0.40 / 1M CU\) gives the most predictable bills. Be skeptical of per-request models. Different providers count credits very differently. 5. **Websocket reliability.** If you depend on subs, demand >95% message delivery and reconnect semantics you can rely on. 6. **Tooling adjacency.** Webhooks, request logs, alerts, smart wallets, enriched APIs. These are usually where the real productivity gap lives between providers. 7. **Migration friction.** Solana uses standard JSON-RPC, so most migrations are just an endpoint swap. Verify any provider-specific extensions you use are supported. ## The 9 best Solana RPC providers ### 1. Alchemy: best overall Alchemy powers **71%+ of the top onchain apps**, processes **$1T+ in annual transactions**, and serves **100M+ humans** across the crypto ecosystem. Phantom, Solflare, Robinhood, OpenSea, and Circle all run on Alchemy. The Solana stack is purpose-built from the ground up, combining 8+ years of infrastructure experience with deep [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana) expertise from leading engineers at DexterLab and Bware Labs. **Where it shows up in production:** - **10x faster** on heavy methods like `getProgramAccounts` - **20x faster** on archival queries - **2x higher throughput** than the previous-generation stack - **100% of transactions** sent through staked connections for maximum landing rate - **Yellowstone-compatible gRPC:** 5-15ms average delivery, 48-hour block replay, 6,000+ historical slots recoverable on demand, 5x more affordable than alternatives - **Zero dropped connections** on smart websockets - **Enhanced account data:** 1,000+ token accounts \(50x more\) in a single `getTokenLargestAccounts` call - **Multi-region, enterprise-grade infrastructure** with 3-5 layers of autonomous failover \(US East, US West, EU Central, APAC\) Alongside RPC and streaming, Alchemy ships gasless transactions \(rent-free sponsorship\), enriched data APIs, webhooks, request logs, and real-time analytics. gRPC migration is a URL change. Yellowstone-compatible across Rust, TypeScript, Go, and anything that compiles a `.proto`. - **Strengths:** 99.99% uptime, full archival, 10-20x faster on heavy/archival calls, ultra-fast Yellowstone-compatible gRPC, most generous free tier, transparent tiered pricing, full developer suite, multi-chain. - **Best fit for:** Teams that want production-grade reliability plus a full developer suite \(gasless transactions, webhooks, analytics, enriched APIs\) under one roof. Apps with very narrow needs may not use the full surface area. - **Pricing:** Free 30M CU/mo · PAYG $0.45 / 1M CU up to 300M, then $0.40 / 1M CU · gRPC from $75/TB \(no monthly minimum\) · Enterprise custom. ### 2. Helius: Solana-native specialization Helius focuses exclusively on Solana. That focus pays off in enhanced APIs for NFTs, tokens, and transaction parsing, plus hosted and managed validator options. - **Strengths:** Solana depth, direct leader connections, enhanced parsing APIs, transaction landing. - **Best fit for:** Solana-only teams that want a dedicated Solana vendor. Teams supporting other chains will pair it with a multi-chain provider. - **Pricing:** Free 1M credits / 10 RPS · Developer $49/mo \(10M\) · Business $499/mo \(100M\). ### 3. QuickNode: broad multi-chain footprint QuickNode is one of the oldest RPC vendors, with 60+ networks, 12 regional deployments, and built-in analytics. A safe pick for teams that prioritize chain breadth over Solana-specific depth. - **Strengths:** Multi-chain coverage, analytics, 99.95% uptime, marketplace add-ons. - **Best fit for:** Multi-chain teams that value breadth and built-in analytics. Worth checking specialized Solana features \(parsing, enhanced APIs\) against your specific needs. - **Pricing:** Free 10M credits · Build $42/mo \(80M\) · Scale $424/mo \(950M\). ### 4. Triton: ultra-low latency for trading Triton is purpose-built for HFT, MEV, and degens. Dedicated infra across NA/EU/APAC, gPA optimization, and an optional private validator. - **Strengths:** Latency, dedicated infra, multi-chain dashboard. - **Best fit for:** HFT, MEV, and other latency-sensitive workloads where the $500/mo starting tier is justified by the infrastructure. - **Pricing:** Starter $500/mo · Dedicated $2,900/mo. ### 5. Ankr: decentralized infrastructure network Ankr runs 800 nodes across 70 chains with global anycast routing. Strong on cost and censorship resistance. - **Strengths:** Cheap entry, multi-chain, distributed architecture. - **Best fit for:** Cost-sensitive multi-chain teams that prioritize consistency across networks over Solana-specific tooling. - **Pricing:** Free 30 RPS · PAYG from $10/mo. ### 6. Syndica: Solana-specific, compliance-oriented Syndica focuses solely on Solana with fault-tolerant load balancing, detailed RPC logging, and a read-optimized validator service. - **Strengths:** Solana-only focus, monitoring depth. - **Best fit for:** Solana-only teams that primarily need RPC, validator services, and observability rather than a broader tooling suite. - **Pricing:** Free 10M req/mo · Scale $199/mo \(200M\). ### 7. Chainstack: flexible infrastructure tiers Chainstack offers shared Kubernetes, dedicated cloud, or bare-metal nodes, plus SOC2 support and gRPC streaming for structured event delivery. - **Strengths:** Deployment optionality, compliance support, gRPC. - **Best fit for:** Teams that want to choose between shared, dedicated cloud, or bare-metal deployment models and are comfortable making the configuration choices that come with them. - **Pricing:** Free 3M req/mo · Growth $5/mo \(20M\) · Pro $199/mo \(80M\). ### 8. dRPC: multi-provider aggregator dRPC routes across many underlying providers from a single endpoint, with live per-node status. Useful as a redundancy layer rather than a primary. - **Strengths:** Aggregated routing, transparency dashboard, self-hosted nodes coming. - **Best fit for:** Teams using dRPC as a routing or redundancy layer across multiple upstream providers, with active monitoring of the underlying pool. - **Pricing:** Free 210M CU/mo \(public\) · Growth $6/mo \(20M CU\). ### 9. Blockdaemon: institutional infrastructure Blockdaemon serves institutions and secures $110B in assets. RPC sits inside a broader staking/MPC product suite. - **Strengths:** Institutional trust, MPC wallets, enriched data APIs. - **Best fit for:** Institutional and enterprise teams whose RPC needs sit alongside staking, custody, or MPC requirements. - **Pricing:** Free 3M CU · Starter $600/mo \(15M\). ## When should you switch RPC providers? Switch when **any** of these is true for more than a sprint: - You're hitting rate limits or 5xx errors during normal peak traffic. - Your provider can't return full archival history you need for compliance or analytics. - Latency P95 from your user regions has drifted above your product SLA. - Your bill is unpredictable month-to-month and you can't model the next quarter. - Your team is paying for tooling you'd get bundled elsewhere \(webhooks, logs, alerts, smart wallets\). Migration itself is simple. Solana uses standard JSON-RPC, so most switches are an endpoint URL and API key swap. Plan it as: 1. Pre-stage the new provider in staging and replay a week of production traffic. 2. Drop DNS TTL under 30 seconds. 3. Roll traffic gradually \(1% → 10% → 50% → 100%\) with health checks at each step. 4. Keep the old provider warm for 48 hours in case of rollback. ## Frequently asked questions ### What is the best Solana RPC provider in 2026? For most production applications, **Alchemy** is the best Solana RPC provider in 2026. It offers 99.99% uptime, 10x faster heavy methods, 20x faster archival, 2x higher throughput, Yellowstone-compatible gRPC at 5-15ms average delivery \(starting at $75/TB with no monthly minimum\), the most generous free tier \(30M CU/month\), and transparent tiered pricing \($0.45 / 1M CU up to 300M, then $0.40 / 1M CU, roughly 5x more affordable than alternatives\). It already powers Phantom, Solflare, Robinhood, OpenSea, and Circle. Helius is the strongest Solana-only alternative, and Triton is the right pick for ultra-low-latency trading workloads. ### What's the difference between public and private Solana RPC endpoints? Public endpoints are free but capped at 100-200 requests/second per IP, have 2-5 second data delays, no SLA, and shared resources that suffer "noisy neighbor" effects. Private endpoints offer 1,000+ requests/second per API key, real-time data, 99.9%+ uptime SLAs with financial penalties, and dedicated resources. Use public for prototypes; use private for anything serving real users. ### How do I choose a Solana RPC provider? Work down a 7-point checklist: \(1\) uptime SLA ≥99.9%, \(2\) P90 latency tested under 10x peak load, \(3\) archival depth matching your compliance and analytics needs, \(4\) transparent CU-based pricing, \(5\) websocket reliability >95%, \(6\) bundled tooling \(webhooks, logs, alerts\), and \(7\) migration friction. Disqualify on the first failure rather than scoring everything. ### When should I switch Solana RPC providers? Switch when you're hitting rate limits at normal peak, your provider lacks archival history you need, P95 latency drifts above your SLA, billing is unpredictable, or you're paying separately for tooling you'd get bundled elsewhere. Solana's standard JSON-RPC interface makes most migrations an endpoint and API key swap. Plan a staged rollout with DNS TTL under 30 seconds and a 48-hour rollback window. ### What free tiers do top Solana RPC providers offer? Alchemy has the most generous free tier at 30M CU/month. QuickNode offers 10M credits/month, Chainstack 3M requests/month, Syndica 10M requests/month, and Helius 1M credits with 10 RPS. dRPC offers 210M CU/month but only against public nodes. ### What are compute units (CUs) and how do they affect Solana RPC pricing? Compute units represent the computational cost of an RPC request. Simple queries like `getBalance` cost ~20 CU; heavier ones like `getProgramAccounts` cost more. CU-based pricing \(e.g., Alchemy's tiered $0.45 / 1M CU up to 300M, then $0.40 / 1M CU\) gives more predictable bills than per-request pricing, because traffic mix doesn't distort cost. Always normalize competitor pricing into a per-million-CU equivalent before comparing. ### Can I migrate Solana RPC providers without code changes? Usually yes. Solana follows a standard JSON-RPC interface, so most migrations require only an endpoint URL and API key swap. Verify any provider-specific extensions \(enhanced APIs, gRPC streams, parsing helpers\) are available on the new provider, and test in staging before redirecting production traffic. ### When does self-hosting Solana RPC nodes make sense? Almost never on cost alone. Self-hosting means $5,000+ hardware per node, 1TB+/mo bandwidth, 24/7 ops coverage, and constant tuning against Solana's rapidly evolving runtime. SaaS providers exist because the infrastructure is genuinely hard. Self-host only when regulatory or sovereignty requirements force the issue. *Ready to build on Solana? [Get started with Alchemy's industry-leading infrastructure](https://www.alchemy.com/solana) and join thousands of developers building on Solana.* --- # How to Write Solana Programs in Python Using Seahorse URL: https://www.alchemy.com/overviews/solana-seahorse.md Solana is a high-performance blockchain network with smart contract functionality built to scale for global adoption. Solana processes an average of 3,000 transactions per second, and is one of the fastest blockchain protocols. Solana Programs are smart contracts written on the Solana blockchain network used to perform every activity, including token transfers, minting NFTs, and voting on-chain. This article will explain how to write Solana Programs in Python using the Seahorse development framework from a local development environment and from an online IDE. ## **What are the main ways to develop programs on Solana?** **To develop Solana Programs, you need to learn Rust, build with the Anchor development framework, or use Seahorse, a pythonic development framework for Solana.** Rust is the programming language on which Solana was built, and it is the default[ web3 programming language](https://www.alchemy.com/overviews/web3-programming-languages) that can be used to interact with Solana's Sealevel Runtime.  ### **Developing on Solana with anchor** **Anchor is a framework used to make Solana application development easier by abstracting the complexities of the Rust language from the average user.** Anchor provides Solana developers with tools like the Interface Definition Language \(IDL\), Typescript packages that generate clients from the IDL, Rust crates, and Command Line Interface \(CLI\). ### **Developing on Solana with Seahorse** **Seahorse is a community-led Solana development framework that grants developers the ability to write Solana programs in the Python programming language.** **‍**Seahorse allows every program written in Python to have the same safety measures that come with Rust programs. Seahorse is fully compatible with Anchor, and is also interoperable with Rust code. **Python is used in the everyday programming of web applications and machine learning projects, and is the most popular programming language.** Since many developers interested in building blockchain-based applications might already have Python programming skills, they can use Seahorse to build a Solana application without having to learn a brand new programming language \(Rust\). ## **How to use Seahorse with a local Solana developer environment** A platform like Solana Playground is only for building and testing applications quickly and should not be depended on for creating large-scale [apps](https://www.alchemy.com/dapps/top/defi-dapps). To set up the environment needed for building with Seahorse on our local workspace, we are going to install the following: 1. Rust 1. The Solana Tool Suite 1. Node 1. Anchor 1. Seahorse ### **1. Install the essential Solana development tools** To install Rust, the Solana Tool Suite, Node, and Anchor, refer to this tutorial on [setting up a local Solana developer environment](https://www.alchemy.com/docs/reference/solana-api-quickstart). If you're running a Linux-based machine you may need to run the following command to add additional dependencies: ### **2. Install Seahorse** Seahorse depends on _Anchor_ and the _Rustfmt_ to work properly. Because Anchor is already be working on your machine, installing _Rustfmt_ package and _Anchor_ is easy. Run the following command to add the Rustfmt package: **Run the following command in your terminal to install Seahorse:** **Run one final command to check the Seahorse was properly installed:** ### 3. Generate a paper wallet Since you already have the [Solana Command Line Tools](https://www.alchemy.com/overviews/solana-developer-tools) installed, you can create a local "paper" wallet to use while working locally. Run the following command to verify the Solana CLI tools are installed: **Then type the next command to generate a new keypair:** Save the details properly so you can start using them in your local environment. **To fund your paper wallet:** Run the `solana airdrop 2` command to acquire 2 test SOL tokens If you want to use an online developer environment to test Seahorse instead of running it locally, a good option is Solana Playground. ## **How to set up Seahorse with Solana playground** Solana Playground is an online[ Integrated Development Environment](https://www.alchemy.com/overviews/solidity-ide) built for jumpstarting Solana application development.  [Solana Playground](https://www.alchemy.com/overviews/solidity-ide) offers the following prebuilt Crates: 1. **Native** \(Rust\) - for developers who intend to build on Solana without any framework 1. **Anchor** \(Rust\) - for developers to build on Solana in Rust additional tooling**‍** 1. Seahorse \(Python\) - for Solana developers with experience programming with Python ### **1. Create a new Solana playground project** Create a new project on Solana Playground with a name for the directory. After creating a name, a demo project named, _FizzBuzz_, will appear. This mini dapp is what we will use within this tutorial.  ### **2. Create a playground wallet** You must first generate a Playground Wallet for interacting with your Seahorse programs. The Playground Wallet acts as a test wallet for the application.  - Click on the “playground wallet” - Select a new wallet - Follow the prompts and download the JSON file ### **3. Get test SOL tokens** Type the following commands in the playground terminal to [get devnet SOL tokens](https://www.alchemy.com/overviews/solana-faucet): **$ connect**‍ The `connect` command links your test wallet with the project.  **$ solana address** **‍**The `solana address` command prints out your [Solana wallet](https://www.alchemy.com/overviews/solana-wallets) address. We will use this address later to initiate the FizzBuzz app. **$ solana airdrop 2** The `solana airdrop` command deposits test SOL tokens in your wallet to cover the fees required to execute transactions such as “Build” or “Deploy.” ## **How seahorse’s Python components work** In this section, we will walk through creating the popular but simple FizzBuzz app on-chain. There are three main sections in our code: 1. The Account 1. Instruction 1 1. Instruction 2 ### **1. Account** Executable Accounts are used to define the executable code \(smart contract\) that runs on the Solana blockchain. In the Accounts definition, you can assign the data types needed in your Solana programs.  **Fizz** and **Buzz** are defined to be Boolean data types, while the “n” variable is an unsigned integer type.  ### **2. Instruction 1** There are other forms of accounts called Built-In Accounts. Most of these built-in accounts are used in calling specific instructions on-chain. #### **A. Signer account** Instructions that require signers need a wallet’s approval. A _Signer_ is the wallet that signs the transaction with the instruction call defined in this part of the code.  The owner keyword is used to hold the value of the Signer’s details. To get the public key of the Signer, you can add this code: #### **B. Empty account** An empty account type is used to initialize the class of the main Account \(FizzBuzz\) even though it is initially empty.  By using the _Empty_ keyword, you can construct the class defined in the main Account. When the FizzBuzz account is initialized, the creation fee is paid by the Owner \(i.e. the signer of the transaction\). Once that account has been created on-chain, it can not be re-created when called again by the same owner. The seed generated from the initialization is able to identify the original account. ### **3. Instruction 2** The second instruction call uses the already created accounts with their values.  Here is the complete code sample for FizzBuzz:  ## **Start building Solana applications with Python using Seahorse** Seahorse is a community-led open-source project that is entirely free for public use. Seahorse is currently in beta and many of its features are still yet to be implemented. While it is not production-ready, it can be used to experiment and develop applications on [Solana's devnet](https://www.alchemy.com/overviews/solana-devnet).  With Seahorse, building on Solana with Python is possible and simple. If you're a Python [developer interested in learning web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development), exploring Seahorse with Solana Playground is a safe and fun way to start acquiring skills using Anchor, Rust, and Solana programs. --- # The Complete Guide to Solana Smart Contracts (2023) URL: https://www.alchemy.com/overviews/solana-smart-contracts-guide.md Solana is a blockchain platform that focuses on smart contract development and aims to address the challenges faced by existing blockchains. It hosts various blockchain projects, including NFTs and DeFi projects. The [Solana ecosystem](https://www.alchemy.com/dapps/solana) has grown in popularity in recent years thanks to its incredibly low transaction fees and high scalability. What sets Solana apart is its combination of the proof of stake consensus algorithm with a unique proof of history mechanism, providing developers with a versatile network for creating [NFT platforms](https://www.alchemy.com/list-of/nft-marketplaces-on-solana), [apps](https://www.alchemy.com/dapps/top/defi-dapps), and more. This article explains how Solana smart contracts work, how to create and deploy Solana programs, and the necessary tools. Furthermore, we will review some Solana smart contract tutorials, examples, repositories, developer tools, and resources to get you started.  ## **What is a Solana smart contract?** Solana smart contracts, also known as programs, are codes that interpret instructions and establish the terms of an agreement. Many developers consider Solana smart contracts a viable alternative to [Ethereum smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract), thanks to the comparatively low transaction fees. Smart contracts enable developers to create apps that leverage blockchain security, dependability, and accessibility while providing sophisticated peer-to-peer functionality ranging from loans and insurance to logistics and gaming.  Solana smart contracts can be written in a variety of programming languages. While [Rust is the native Solana smart contract language](https://www.alchemy.com/dapps/rust), the protocol also supports smart contract development in C\+\+, Solidity, and other languages via third-party JSON RPC API SDK clients. ### **Solana smart contract architecture** [Solana](https://www.alchemy.com/solana) uses a different smart contract model than traditional EVM-based blockchain. In the case of traditional blockchains, the code and state are combined into a single contract, whereas Solana smart contracts are stateless and contain only program logic. The [Solana architecture](https://www.alchemy.com/overviews/solana-evm) seeks to demonstrate the existence of a set of software algorithms that, when combined to implement a blockchain, eliminate software as a performance bottleneck, allowing transaction throughput to scale proportionally with network bandwidth. To enhance interaction with apps, Solana also comes with a Command Line Interface \(CLI\) and JSON RPC API. apps can also interact with the Blockchain and Solana programs using existing SDKs.   _Diagram of the Solana validation process_ ### **Solana's proof-of-history mechanism** Solana aims to improve blockchain scalability by combining [proof of stake with proof of history](https://www.alchemy.com/docs/what-are-blockchain-consensus-mechanisms). It uses a Tower Byzantine fault-tolerant \(BFT\) system, which eliminates the need for nodes to communicate with one another in real-time, resulting in increased efficiency and a high transaction rate of 50,000 transactions per second \(TPS\).  As a result, Solana can handle high transaction volume while maintaining decentralization. Solana creates new blocks every 400 milliseconds with the assistance of 200 [validating nodes](https://www.alchemy.com/overviews/dedicated-vs-shared-nodes), all while keeping transaction fees under a dollar. Solana is known for its increased scalability and faster transaction speed. The Solana network is scalable at the core level, so it does not require layer-2 solutions to increase scalability. The Solana network's technology breaks down data into smaller chunks, making it easier to transfer data across the network. Solana also uses Sealevel to aid in processing transactions across GPUs and SSDs, resulting in an efficient blockchain network. ‍ _Image credit: Solana Labs_ ‍ ### **What are the differences between a Solana program and an Ethereum smart contract?** Ethereum's smart contracts are written in the [Solidity programming language](https://www.alchemy.com/overviews/solidity), while Solana's smart contracts are primarily written in Rust and are referred to as programs. They are stateless and only represent program logic. The most significant difference between the two is in terms of the consensus mechanism that is employed. **Ethereum uses Proof of Stake \(PoS\), aiming for a more decentralized and energy-efficient network. On the other hand, Solana utilizes Proof of History \(PoH\), a unique approach that prioritizes speed and efficiency, resulting in fast and low-cost transactions.** A Solana program is made up entirely of code and contains no data. All data is fed in as inputs. This decoupled design enables high performance by allowing many copies of a Solana program to run in parallel on different inputs. In other words, transactions from multiple user accounts to the same Solana program can occur concurrently. This is one of the features that make Solana highly scalable. ## **How to create a smart contract on Solana** This section delves into the steps necessary to create a smart contract on Solana. We’ll guide you through the process and provide all the information you need to get started. ### **Prerequisite** - Little knowledge of how Solana works - Anchor and Rust installed in accordance with the Setup section below - Readiness to learn  ### **Step 1: install Rust, Solana, yarn and anchor** Let’s get started with setting up the Solana development environment. #### Install Rust We will start by installing Rust, the programming language used for Solana programs. Verify if Rust and the Rust compiler were installed correctly using the following commands. You should also now have Cargo, the Rust package manager, installed. Run the command below to confirm that Cargo was installed correctly. Rustup is the tool that installs and updates Rust. Rustc is the compiler of the Rust programming language; It enables you to take a Rust program and make it executable on all current operating systems. Cargo is the tool that builds systems and manages packages for the Rust programming language. #### Install Solana Follow the instructions if the installation asks you to change your path. #### Install node.js Visit the [official website ](https://nodejs.org/)to download Node.js, ensuring you select the appropriate version for your operating system. You can confirm the installation of Node.js by running the following commands:  #### Install yarn Yarn is a package manager like npm. Check your Yarn version.  #### Install anchor [Anchor ](https://www.alchemy.com/overviews/solana-anchor)is a framework for Solana's Sealevel runtime that offers several useful developer tools. To install Anchor run the following command.  Then, confirm the installation. ### **Step 2: set up the project** In this section we configure our solana cli to devnet as well as initialize a project with the anchor framework. To simulate actual deployment, we will deploy to the [Solana Devnet](https://www.alchemy.com/overviews/solana-devnet). To proceed, run the following command in your terminal. The next step is to create a wallet, which is necessary for running and distributing your programs. Retrieve your pubkey with the following command. After that, you can query your address by running the following command. Then, you will need some [testnet SOL](https://www.alchemy.com/overviews/solana-faucet) for development. You can airdrop some to your wallet using the following command. Running the command below will display your balance. Let’s initialize our Anchor project by running the command below. The command will create all folders and extra dependencies needed for the project: ### Step 3: write our first HelloWorld program In the project structure, you will see the following files and folders. - **program** — This is the directory containing all of your Solana programs  - **test** — A folder for Javascript test code - **migrations** — This is the deploy script for the program - **app** — The location for building our frontend Remember that lib.rs is the starter and main file for our Solana program. It has some starter codes, as shown below. Let’s explore how Rust works. The first line of code in Rust imports dependencies or libraries. It is importing the anchor library in this case. Solana stores the address or program ID in the declare_Id variable. Anchor creates a program ID for us by default. Next is the program section, where the logic of the program lives.  The last section is the derive Accounts section, where the account struct lives. The initialize struct defines the context of the initialize function, and a struct is used to declare a structure. Defining methods in Rust is different from other programming languages. Solana's ability to separate code and data is one of its key selling points. Let's dive into the Hello World Solana program. Keep in mind that Solana programs are just special accounts on the Solana network that can store and carry out instructions. We'll be using the solana-program crate, which is like a standard library for Solana programs. We'll need to use some things from the solana-program crate to make a basic program. The first section uses Borsh, which stands for Binary Object Representation Serializer for hashing. Borsh is used in serializing and deserializing parameters passed to and from the deployed program. AccountInfo is a struct in the account \_info module that provides access to account information. The entrypoint declares the program's entry point. The ProgramResult within the entrypoint module returns the ProgramReport or ProgramError. Finally, the *msg*, another macro, functions in printing messages to the program log, whereas the struct pubkey allows us to access addresses as a public key. The code snippet above defines the type of state stored in the account and the counter u32, which is the 32-bit unsigned integer type referencing the number of greetings. Solana programs require an entrypoint macro to process program instructions, as seen in the first line of code above. The entrypoint will require a process_instruction function with program_id argument, which is the account's public key producing the hello world program. The accounts argument is the account we intend to say hello to, and the instruction_data argument contains additional inputs. The ProgramResult prints a message "Hello World Rust Program." The 'let' statement gets the accounts to greet. The 'if' statement states the condition that for data to be modified, the program must own the account.  The 'let' statement gets the accounts to greet. The 'if' statement states the condition that for data to be modified, the program must own the account.  ## **How to deploy a smart contract on Solana** This section outlines the steps to deploy a smart contract on Solana. ### **Step 1: testing the Solana program** To run the tests, execute the following command. This will build, deploy, and test programs against a specific cluster. ### **Step 2: deploying to Devnet** Deploying to a live network is easy, we have to first confirm we are on Devnet. Locate your Anchor.toml and update the cluster to devnet _cluster = "devnet"._ Build the program by running the following command. Lastly, deploy the program. ### **Step 3: verify on the Solana explorer** Next, we authenticate the program on the [Solana Devnet explorer](https://www.alchemy.com/dapps/solana-explorer) to verify it was successfully deployed by providing the program id. You should see the deployment log under the history section. ## **Solana smart contract tutorials** Now that we have a solid understanding of how smart contracts work, let's dive into a real-world project to master how the Solana development architecture works. The project we will be building is a Solana smart contract for minting NFTs. We can mint NFTs in various ways, one of which is using the [Metaplex candy machine](https://www.alchemy.com/overviews/metaplex). NFTs are one of the most popular use cases of smart contracts. In this section, you'll learn - How to configure the Solana CLI utility to use Devnet and other useful commands in Solana - How to write more complex programs in Rust - How to init a project with anchor framework - Understanding Rust variables and syntax The requirements are - [NodeJS v14 ](https://nodejs.org/) - [NPM](https://nodejs.org/) - The latest stable [Rust](https://rustup.rs/) build - [Solana CLI](https://docs.solana.com/cli/install-solana-cli-tools) v1.7.11 or later - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) ### **Quick setup** We configure the development environment using the command below to set up Solana to work with the Devnet network. Then generate your wallet, which will be required to run and deploy your programs using the command below. You'll be prompted to enter a password to secure your wallet. Then you'll see your mnemonic, which is a combination of 12 words: You can then check your address. Then, run the command below to Airdrop 4 testnet SOL to your address. After aidropping the 4 testnet SOL, check your balance by running the following command. Now that you've configured Solana to work with the Devnet network and created a new wallet, let's create an Anchor project to manage all the folders and tedious configurations for us. Go to your terminal and type the following command. ### **The Solana smart contract** Before diving into the smart contract, we need to set up our spl-token CLI that will be used to interact with SPL tokens. You can do that by running the command below in your terminal. Install solana sdk and solana-program. You'll notice a lib.rs file in the programs folder. This is where our Solana program will be written. As mentioned earlier, we would be building on the default given in the lib.rs. You should see something like this. Here, we imported the tools we would be working with at the top of our code. ### **Defining our program’s logic** We are giving authority to the program using _mint_authority_ to create a mint \(_mint_nft_\) and then assigning a token account to it \(_mint_token_account_\). Then we will work with the token_program and associated_token_program that we imported earlier. Authority means that the account can mint more tokens or print more money. It is usually created by the wallet account. It is optional because a mint authority can revoke its own right, rendering the mint account immutable. ### **Creating mint account**‍ ### Creating token account ‍ ### **Writing the mint function** Next, we will mint the NFT to the token account we created above. ### **Deploying the program** You’re now ready to build the NFT minting Solana program using the [Anchor framework](https://book.anchor-lang.com/chapter_1/introduction.html)! The build process generates the key pair for your program’s account. Before you deploy your program, you must add this public key to your lib.rs file, as it’s required by programs that use Anchor. To do this, you need to get the key pair from the* keypair.json* file that was generated by Anchor using the following command. The next step is to edit the lib.rs file and replace the key pair in the declare_id!\(\) definition with the value you obtained from the previous step. Next, you also need to insert the obtained Program ID value into the Anchor.toml file in the chainlink_solana_demo devnet definition. You might want to build the program again using Anchor because you have replaced the keypair with a new ID. Finally, you can deploy the program. Once the program has been successfully deployed, the terminal output will show the program ID, which should correlate with the value you entered into the lib.rs and Anchor.toml files. The deployed contact can also be verified on the [Solana Devnet Explorer.](https://explorer.solana.com/?gclid=Cj0KCQjwrs2XBhDjARIsAHVymmSWzZUrpjd-p9ig67Yk6KUWGlQQxDzcQjrtthpJOeQzpbyncko35AMaAs22EALw_wcB&cluster=devnet) _The deployed contract is shown on the Solana Devnet explorer._ ## **Solana smart contract examples and repos** There are numerous Solana smart contract examples and repositories that would be of great value in your Solana development journey. We have outlined some of them below. ### **1. Hello world smart contract** [Hello World smart contract](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) provides a hands-on Solana program example using Anchor and Rust. It follows a step-by-step approach to building smart contracts and apps in Solana. It also provides sample codes for using, building, and deploying on-chain programs. ### **2. Simple Solana program** [Simple Solana Program](https://github.com/ezekiiel/simple-solana-program) is functionally related to the Hello World example. It demonstrates how to create and invoke a program on the Solana blockchain. In this example, the Solana program counts the number of times it has been executed and stores that information on-chain. ### **3. Awesome Solana** [Awesome Solana ](https://github.com/avareum/awesome-solana)is a detailed library containing resources for beginners and advanced Solana developers. It provides resources on Solana development, Solana transactions, Solana libraries, explanations of how Solana programs work, and video examples to aid your learning. ### **4. Break Solana** [Break Solana](https://github.com/solana-labs/break) is a game that consists of a web client frontend, a web server backend, and an on-chain Solana program. The Break Solana game allows a player to send simple, smart contract transactions as quickly as possible to demonstrate Solana's speed. ## **Solana developer tools and resources for writing programs** There is a collection of learning resources and [developer tools](https://www.alchemy.com/overviews/solana-developer-tools) which is useful while writing programs on Solana.  ### **1. Solana playground** [Solana Playground ](https://beta.solpg.io/)offers a super easy way for users to interact with the blockchain system by allowing them to fully customize Solana transactions according to their unique needs. Even those with no experience developing computer programs can use Solana Playground to better understand how the blockchain operates. The [project’s repository ](https://github.com/Solana-Playground-Labs/solana-playground-app)is available on Github. ### **2. Start on Solana** [Start on Solana](https://www.startonsolana.com/) offers guidance for building on Solana and contributing to the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana). It offers various quests in Javascript and Rust, from creating an NFT on Solana to minting and creating cryptocurrencies with Javascript. ### **3. Solana cookbook** [Solana Cookbook](https://solanacookbook.com/) is a developer resource that provides the fundamental concepts and references for building applications on Solana. It is an essential resource that focuses on Solana development while providing lots of examples for developers.  ### **4. Sol dev course** The [Sol Dev Course ](https://soldev.app/course)is designed to simplify the Solana development experience, making it one of the best places for beginners to start building on Solana. It also has an engaging community, allowing members to contribute content to help other web3 developers. ### **5. Build a Web3 app on Solana with react and Rust by buildspace** [Buildspace ](https://buildspace.so/p/build-solana-web3-app)is an amazing community to begin your Solana development journey as well as earn NFTs after completing a milestone. The interactive courses are perfect for beginners who want to build things quickly on Solana. ## **Start writing Solana programs** Navigating the world of blockchain and smart contracts can be intricate, but platforms like Solana are paving the way for more efficient, scalable, and cost-effective solutions. This guide has provided a comprehensive overview of Solana's unique approach to smart contract development, emphasizing its distinct architecture, consensus mechanisms, and the tools available for developers. Whether you're a seasoned developer or just starting in the blockchain space, Solana offers a promising avenue for innovation. As the blockchain landscape evolves, platforms like Solana will undoubtedly play a pivotal role in shaping the future of decentralized applications and the broader web3 ecosystem. Dive in, experiment, and harness the power of Solana for your next project. --- # The 13 Best Solana Wallets (2025) URL: https://www.alchemy.com/overviews/solana-wallets.md A cryptocurrency wallet is a piece of software or hardware that lets wallet owners send and receive tokens, and interact with Web3 apps. A user's Web3 wallet is made up of one or more keypairs, which are made up of a private key and a public key that is derived cryptographically. This article details the characteristics of great Solana wallets, highlights the best wallets that support Solana's SPL token standard, and introduces our Smart Wallets solution for developers. ## What makes a great Solana wallet? The best Solana wallets have at least seven key characteristics: excellent user interface design, app connectivity, native swaps, native staking, mobile friendliness, regular updates, and robust security features. ### 1. User interface design A good user interface \(UI\) allows users to seamlessly buy, sell, and spend tokens, view and trade NFTs, and manage their digital assets easily. The best Solana wallets make key pair protection, transaction signing, and app interactions intuitive for both beginners and advanced users. ### 2. App connectivity Solana has a rich ecosystem of decentralized applications. To trade [SPL \(Solana Program Library\) tokens](https://solana.com/docs/tokens) on decentralized exchanges or buy NFTs from Solana's top marketplaces, you need a wallet that those applications support. The best Solana wallets are integrated into the largest selection of Solana [apps](https://www.alchemy.com/dapps/top/defi-dapps). ### 3. Native swaps Many wallets give users the ability to natively swap SPL tokens directly from inside the wallet instead of requiring connection to a decentralized exchange's UI. Built-in swaps simplify the user experience and enable users to do more in one place with competitive fees. ### 4. Native staking Several wallets have staking accounts automatically enabled. By staking SOL tokens, owners can help protect the network and earn rewards \(typically 5-7% APY\). Enabling users to stake directly within the app removes the need to use liquid staking protocols or individual validators separately. ### 5. Mobile friendliness Many leading Solana wallets now have mobile versions that complement their browser extensions. Mobile Solana wallets allow for easier on-the-go transactions and interactions such as sending payments using QR codes and Solana Pay. ### 6. Regular updates Many Solana wallets have active development and support teams that ensure a good user experience, security, new features, and interoperability. The best wallets quickly fix bugs, constantly ship improved features, and listen to customer feedback. ### 7. Security features In 2025, top wallets include advanced security features such as scam detection alerts, hardware wallet integration, NFT locking capabilities, biometric authentication, multi-factor authentication, and secure backup solutions for protecting user assets. ## Best Solana wallets Based on the criteria that makes a great Solana wallet, here are the best options for 2025. ### Phantom The most popular wallet for the [Solana ecosystem](https://www.alchemy.com/dapps/ecosystem/solana), [Phantom](https://www.alchemy.com/dapps/phantom) came out in 2021 and now serves over 15 million users. Phantom users can send, receive, store, stake, and trade digital assets on the Solana network. Phantom has a browser extension and mobile app available for free. It works with all major web browsers like Chrome, Edge, Firefox, and Brave, and mobile operating systems like iOS and Android. **Key Features:** - Multi-chain support \(Solana, Ethereum, Polygon, Bitcoin, Base, Sui, Monad\) - Built-in SOL staking with validator selection - NFT and SPL token support with dedicated NFT gallery - Cross-chain swapper with 0.85% transaction fees - Hardware wallet integration \(Ledger\) - Biometric unlock for mobile - Simple, beginner-friendly interface Phantom's simple layout and regular security audits make it Solana's premier wallet for both beginners and experienced users. ### Solflare [Solflare](https://www.alchemy.com/dapps/solflare) was one of the first wallets made for the Solana ecosystem by [Solana Labs](https://www.alchemy.com/dapps/solana). It works on more platforms than most competitors and remains highly popular, with browser extension, web app, and mobile app options. **Key Features:** - Native SOL and SPL token support - Advanced staking interface with liquid staking options - Hardware wallet integration \(Ledger\) - 24-word mnemonic phrase for enhanced security - Supports all types of Solana collectibles and NFTs - Integrates with popular DEXes like [Raydium](https://www.alchemy.com/dapps/raydium) - Live chat support \(Monday-Friday\) While Phantom uses a 12-word mnemonic phrase, Solflare uses a 24-word mnemonic phrase to improve security. Solflare's staking system also automatically prevents users from staking all of their tokens. ### Backpack [Backpack](https://www.alchemy.com/dapps/backpack) is a next-generation wallet created by the team behind Mad Lads NFT collection and the Anchor framework. It's particularly popular among NFT collectors and DeFi power users. **Key Features:** - Support for xNFTs \(executable NFTs that run as apps inside the wallet\) - Advanced NFT security with collection locking - Multi-chain support \(Solana, Ethereum, Sui, Eclipse, Monad\) - Integrated cryptocurrency exchange \(regulated under Dubai's VARA\) - Scam detection alerts for malicious transactions - Hardware wallet support \(Ledger, [Trezor](https://www.alchemy.com/dapps/trezor), Keystone\) - 24/7 customer support - Native staking and swap features Available as a browser extension and mobile app \(iOS and Android\), Backpack combines self-custody security with comprehensive features for serious Solana users. ### Trust wallet [Trust Wallet](https://www.alchemy.com/dapps/trustwallet) offers comprehensive multi-chain functionality with full mobile support for Solana. **Key Features:** - Multi-chain support \(60\+ blockchains\) - Built-in app browser - Staking and swap functionality - NFT support with biometric authentication - Non-custodial with private key control ### Coinbase wallet [Coinbase Wallet](https://wallet.coinbase.com/) is a self-custody wallet designed by [Coinbase](https://www.alchemy.com/dapps/coinbase) that supports Solana, Ethereum, Bitcoin, Polygon, and other major blockchains. **Key Features:** - Easy-to-use interface for new investors - Multi-chain support including Solana - Seamless Coinbase exchange integration - Browser extension and mobile app - NFT support across multiple chains - Hardware wallet compatibility \(Ledger\) ## Best hardware wallets that support Solana Hardware wallets are the safest option for storing cryptocurrency tokens. Several now offer robust support for Solana's SPL token standard. ### Ledger [Ledger](https://www.alchemy.com/dapps/ledger) devices offer premium, battle-tested security with their Secure Element chip—the same high-end security chip used in bank cards and passports. Models include Nano S Plus, Nano X, Stax, and Flex. **Setting up Ledger with Solana:** 1. Install the Solana app from Ledger Live catalog 1. Enable Blind signing in the Solana app settings 1. Connect to Solflare or Phantom 1. Access staking and apps through paired software wallets Ledger hardware wallets provide cold storage security while allowing interaction with Solana apps through paired software wallets. ### Tangem [Tangem Wallet](https://tangem.com/) offers a unique "tap and go" NFC-enabled smart card approach to cold storage. With EAL6\+ security certification, IP68 durability rating, and a 25-year warranty, Tangem provides hardware wallet security without complex setup or seed phrases. **Key Features:** - NFC-enabled smart card and ring format - Passport-grade security chip - No seed phrases required - Mobile-first design with native Solana support - Extremely portable and user-friendly ### SafePal [SafePal](https://www.safepal.com/en/) offers affordable hardware security backed by [Binance](https://www.alchemy.com/dapps/binance) investment. As the first hardware wallet Binance invested in, SafePal currently has over 3,000,000 users from over 196 countries. **Key Features:** - Air-gapped security \(QR code communication only\) - Multi-chain support including Solana - Built-in camera for transaction signing - Companion mobile app - Competitive pricing ## Best multichain wallets that support Solana Multichain wallets support multiple blockchains including Solana, Ethereum, and EVM-compatible networks. ### Exodus [Exodus](https://www.exodus.com/) is a wallet that supports more than 260 cryptocurrencies and 50\+ blockchain networks. It works on Windows, Linux, Mac, Android, and iOS devices. **Key Features:** - Built-in Everstake validator for simplified staking - Multi-platform support \(desktop, mobile, web\) - Hardware wallet integration \(Trezor\) - User-friendly interface ideal for beginners - Low Solana transaction fees \(0.00005 SOL\) - In-app swaps and fiat on-ramps Exodus provides approximately 6% annual return on SOL staking. ### Atomic wallet The [Atomic wallet](https://www.alchemy.com/dapps/atomic-wallet) lets users stake numerous cryptocurrencies, including SOL tokens. Users can choose validators or stake with the Atomic validator node for competitive rewards \(often around 7% APY\). **Key Features:** - Support for 300\+ coins and tokens - Attractive staking rewards - Available on all devices \(PC, Mac, Android, iOS\) - Non-custodial with complete private key control - Fiat on-ramp capabilities Atomic Wallet serves over 10 million users worldwide and provides fiat-to-crypto purchases via credit card or wire transfer. ### MathWallet [MathWallet](https://mathwallet.org/solana-wallet/en/) is a comprehensive wallet solution offering extensive functionality for power users and developers. **Key Features:** - Math app marketplace for interacting with services across major chains - Math Vault mining pool with staking APRs up to 30% for some tokens - MATHGas for tracking gas costs across major chains - Support for 86\+ blockchains - Multiple platform support \(mobile, desktop, browser, hardware integration\) **Important Note:** MathWallet is custodial, meaning users don't control private keys directly. ### Token pocket [TokenPocket](https://www.tokenpocket.pro/) is a secure digital wallet for exchanging cryptocurrencies across multiple blockchains, connecting to over 2,200 apps. **Key Features:** - Single interface for sending, receiving, and exchanging tokens - Transaction tracking and portfolio management - News and market sections for blockchain updates - Enhanced security with FaceID, 6-digit PIN, and fingerprint authentication ### Coin98 The [Coin98 wallet](https://coin98.com/) was one of the first mobile apps to support Solana apps. Available on iOS, Android, and Chrome. **Key Features:** - Built-in apps browser with network switching - Multi-platform support - Portfolio management across various platforms - Non-custodial and centralized exchange integration - Multiple security protections including scam detection ## The evolution of Solana wallets As the entry point for users to onboard and interact with the Solana blockchain, wallets have undergone significant evolution since the network's launch. ### Early days: Solana-native wallets \(2020-2021\) When Solana's mainnet beta launched in March 2020, the wallet ecosystem was just getting started. Early wallets like Solflare focused on basic functionality—sending SOL, viewing balances, and connecting to the handful of apps being built. The user experience was technical, requiring users to understand concepts like transaction confirmation times and network congestion. These first-generation Solana wallets established the foundation: - SPL token standard support - Basic staking capabilities - Command-line tools for developers - Web-based interfaces for more accessible interaction ### Mainstream adoption: feature-rich wallets \(2021-2023\) As Solana's ecosystem exploded with DeFi protocols, NFT projects, and gaming applications, wallets evolved rapidly to meet user demands. Phantom's launch in 2021 marked a turning point—bringing a MetaMask-like experience to Solana with an intuitive interface that made the blockchain accessible to mainstream users. This era brought: - Beautiful NFT galleries as digital collectibles boomed - Native swap integrations with DEXes - Mobile-first experiences with Solana Pay support - Hardware wallet compatibility for security-conscious users - Cross-chain bridges as users wanted to move assets between ecosystems The challenge? Users still needed to manage seed phrases, maintain SOL for transaction fees, and understand blockchain-specific concepts that created friction for newcomers. ### Today: smart wallets & embedded solutions \(2023-present\) Now we're seeing the next evolution with smart wallet technology coming to Solana. These solutions leverage account abstraction and programmable accounts to hide blockchain complexity from users, creating Web2-like experiences while maintaining Web3's benefits. [Smart wallets on Solana](https://www.alchemy.com/docs/wallets/react/solana-wallets/get-started) enable: - **Social login**: Create wallets with email, Google, or other familiar authentication methods instead of seed phrases - **Gas sponsorship**: Developers can pay transaction fees, eliminating the need for users to acquire SOL before interacting - **Batched transactions**: Execute multiple operations in a single transaction for efficiency - **Programmable security**: Set spending limits, require multi-signature approvals, and implement custom security rules - **Session keys**: Allow temporary permissions for gaming and frequent interactions without constant signing This represents a fundamental shift in how users interact with Solana—from technical barriers to seamless experiences that feel as easy as using traditional web applications. ## Alchemy smart wallets for Solana \(developer solution\) Alchemy now offers [Smart Wallets on Solana](https://www.alchemy.com/docs/wallets/transactions/solana/sponsor-gas), enabling developers to create seamless, user-friendly wallet experiences for their applications. ### Key features **Transaction Management:** - Send transactions directly from embedded wallets - Batch multiple Solana instructions in a single transaction **Gas and Rent Sponsorship:** - Sponsor transaction fees for users \(eliminates need for users to hold SOL\) - Sponsor rent for account creation and token accounts - Configure sponsorship policies globally or per-transaction - No need to manage SOL reserves—costs added to monthly bill **Developer Integration:** - Works with existing Solana libraries like `@solana/web3.js` - React hooks for easy integration \(`useSolanaSigner`, `useSolanaTransaction`\) - Lower-level APIs available for non-React applications - Compatible with both EVM and Solana networks ### How gas & rent sponsorship works [Gas Manager](https://www.alchemy.com/docs/wallets/transactions/solana/sponsor-gas) determines transaction eligibility based on configured policies. If eligible, Alchemy pays fees and rent upfront when users send transactions, then adds sponsored costs to your monthly bill. **Supported Sponsorship:** - Transaction fees: Cost of executing transactions - Rent: Minimum payment to store data onchain \(supports `createAccount` and `createAssociatedTokenAccount`\) ### Implementation example ", { wsEndpoint: "wss://api.devnet.solana.com", commitment: "confirmed", } ), policyId: "" // Optional: gas/rent sponsorship policy ID } }); // Use React hooks function MyComponent() { const signer = useSolanaSigner({}); if (!signer) { return
Loading signer...
; } return
Solana Address: {signer.address}
; } // Or use useSolanaTransaction for sending transactions function TransferComponent() { const { sendTransaction, signer } = useSolanaTransaction({ policyId: "", // Optional: per-transaction sponsorship }); if (!signer) { return
Loading signer...
; } return ( ); }`} /> This solution is ideal for developers building consumer-facing applications who want to provide a Web2-like user experience while leveraging Solana's speed and low costs. ## A note on wallet security history ### Slope wallet - 2022 incident In August 2022, a [security incident](https://solana.com/news/8-2-2022-application-wallet-incident) affected Slope wallet users, with approximately 9,000 wallets compromised. The issue was traced to a configuration error in the mobile app's monitoring service that inadvertently exposed sensitive information. Users who had imported their seed phrases into other wallets were also affected. Following the incident, Slope worked with security auditors OtterSec and SlowMist to address the vulnerability. The team stated they found no additional vulnerabilities and released patched versions. **Best Practices for All Wallets:** This incident highlights important security practices that apply to any cryptocurrency wallet: - Generate new seed phrases rather than importing existing ones when possible - Use different seed phrases for different wallets - Be cautious about which applications you import seed phrases into - Keep your wallet software updated - Consider hardware wallets for significant holdings The Solana ecosystem has continued to evolve with enhanced security standards across wallet providers. ## Choosing the right Solana wallet In the end, choosing the best Solana wallet depends on your specific needs: - **For Beginners:** Phantom offers the most intuitive interfaces with comprehensive features - **For NFT Collectors:** Backpack provides advanced NFT features including xNFT support and collection locking - **For DeFi Power Users:** Solflare or Backpack offer advanced staking interfaces and deep DeFi integration - **For Maximum Security:** Ledger or Tangem hardware wallets with Phantom or Solflare software integration - **For Multi-Chain Users:** Exodus, Atomic Wallet, or Coinbase Wallet provide seamless management across blockchains - **For Mobile-First Users:** Phantom mobile or Trust Wallet offer excellent mobile experiences - **For Developers:** Alchemy Smart Wallets enable embedded wallet creation with social login and gas sponsorship ### Security best practices Regardless of which wallet you choose: - Never share your seed phrase with anyone - Store seed phrase backups offline in secure locations - Use hardware wallets for large holdings or long-term storage - Enable biometric authentication and 2FA where available - Be cautious of phishing attempts and verify URLs - Never reuse seed phrases across different wallets - Regularly update wallet software - Use scam detection features when available The Solana ecosystem continues to evolve rapidly in 2025, with wallets offering increasingly sophisticated features while maintaining ease of use. Whether you prioritize security, convenience, or advanced features, there's a Solana wallet that meets your needs. ## Frequently asked questions ### What types of Solana wallets are available and which should I choose? Solana wallets fall into three main categories: browser extensions, mobile apps, and hardware wallets. Browser and mobile wallets like Phantom and Solflare are convenient for everyday use and app interactions, while hardware wallets like Ledger provide maximum security for long-term storage. ### Which Solana wallet is best for beginners? Phantom is recommended for beginners due to its intuitive interface, comprehensive features, and popularity among over 15 million users. It offers built-in staking, NFT support, and seamless app connectivity with a simple, user-friendly design. ### What's the difference between Phantom and Solflare? Phantom uses a 12-word recovery phrase and focuses on simplicity, while Solflare uses a 24-word phrase for enhanced security and offers more advanced staking features. Both support hardware wallet integration and provide excellent app connectivity. ### Are Solana wallets safe to use? Yes, reputable Solana wallets can be secure when you follow best practices: keep your seed phrase private, use hardware wallets for large holdings, enable biometric authentication, and stay alert for phishing attempts. Never share your seed phrase with anyone. ### Which wallet is best for Solana NFTs and DeFi? Backpack excels for NFT collectors with xNFT support and collection locking features, while Phantom and Solflare both offer excellent DeFi integration with built-in staking and swap capabilities. All three provide comprehensive NFT galleries and app connectivity. ### Can I stake SOL directly from my wallet? Yes, most major Solana wallets including Phantom, Solflare, and Backpack offer built-in staking features. You can select validators, delegate your SOL, and earn rewards \(typically 5-7% APY\) directly from the wallet interface. ### Do I need a hardware wallet for Solana? Hardware wallets aren't required but are recommended for significant holdings or enhanced security. Ledger and Tangem offer robust Solana support and can be paired with software wallets like Phantom or Solflare for secure transaction signing. ### What are smart wallets and how do they improve the Solana experience? Smart wallets use account abstraction to create Web2-like experiences, offering social login options, gas sponsorship by developers, and batched transactions. Alchemy's Smart Wallets solution eliminates the need for users to manage seed phrases or hold SOL for transaction fees. --- # What is Solidity? URL: https://www.alchemy.com/overviews/solidity.md As the web3 industry grows, developers are met with more choices of[ web3 programming languages](https://www.alchemy.com/overviews/web3-programming-languages). Each language is designed with different benefits and tradeoffs for writing smart contracts. Languages may differ through supporting specific blockchains, or have different characteristics such as speed, readability, or security. Developed as the smart contract language for the Ethereum blockchain, [Solidity](https://www.alchemy.com/dapps/solidity) is a powerful programming language that is used to create [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps) for the largest developer ecosystem in the blockchain industry. In this article, we will provide an introduction to Solidity through its history, its language influences, and its uses. At the end, we will provide some of the best developer resources to continue learning through [free Solidity Courses](https://www.alchemy.com/university/courses/solidity) and [resources on learning web3 development](https://www.alchemy.com/overviews/learn-solidity). ## **What is Solidity?** **Proposed in 2014, Solidity is an object-oriented, high-level programming language for implementing smart contracts that run on the**[** Ethereum Virtual Machine \(EVM\)**](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm). Solidity is inspired by well-known programming languages like C\+\+ and JavaScript. As a web3 developer, working with Solidity is beneficial to learning [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development). This section introduces you to the history of Solidity, establishes similarities between Solidity and other programming languages, and explains the main use cases for Solidity. ### **Who created Solidity?** **In 2014, the CTO of Ethereum, Gavin Wood, came up with Solidity as a language that would satisfy Ethereum’s need for a Turing-complete programming language for writing smart contracts.** The founder of Ethereum, **Vitalik Buterin**, proposed Ethereum as a protocol that would extend the blockchain functionality pioneered by Bitcoin, with the added[ functionality of smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract). In his vision, Ethereum would be able to run an elaborate network of smart contracts, which are conditionally executing pieces of code that run on a distributed, global network of computers. Smart contracts enable developers to create new cryptocurrencies, build DeFi apps, and much more. The Solidity project team was led by **Christian Reitwiessner**, and they were successful in creating a Turing-complete, object oriented programming language for implementing smart contracts. Being a high-level language means developers create smart contracts without having to manipulate system-level information like memory or bytecode to perform computations. Turing completeness refers to the ability of a data-manipulation system, in this case a programming language, to simulate the behavior of a Turing Machine. Theoretically, Solidity needed to be able to perform any computation developers could require of it. ### **On what programming languages is Solidity based?** Solidity was based on and influenced by multiple existing programming languages during its development, including C\+\+, Python, and JavaScript.  #### **Solidity similarities to c\+\+** Solidity uses an identical syntax to C\+\+ for variable declarations and for loops. Additionally, there is support for C\+\+ style[ function overloading](https://www.alchemy.com/overviews/solidity-functions), which is needed when two functions have the same name but differ in the parameters they accept. Finally, Solidity allows both implicit and explicit type conversion. This means variable types can be cast by explicit developer code or will be automatically converted if required by a computation. #### **Solidity similarities to JavaScript** Solidity used to be heavily influenced by JavaScript. Now, the main visible similarity is in Solidity’s use of the ‘function’ keyword for defining functions.  For developers familiar with some of Solidity’s greatest influences, getting to know Solidity will be fairly straightforward. Additionally, Solidity is statically typed, allows the use of libraries as well as the creation of complex types. #### **Solidity similarities to Python** Solidity’s influence from Python is less apparent in terms of syntax, however, like Python, Solidity uses C3 linearization, multiple inheritance, and maintains the ‘super’ keyword.  Using Pythonic syntax,[ Vyper is similar to Solidity](https://www.alchemy.com/overviews/solidity-vs-vyper), and is purposefully designed to increase the security of smart contracts used on EVM-compatible blockchains.  ### **How is Solidity used?** Specific to its nature as a blockchain coding language, Solidity was created to expressly be compiled on the Ethereum Virtual Machine \(EVM\). As such, Solidity is able to write secure Ethereum-compatible smart contracts, for any EVM-compatible blockchain.  This broad compatibility, paired with its easy understandability and flexible functionality, has led Solidity to be the most widely used blockchain development language in the industry.  ## **How does Solidity work?** Solidity developers write smart contracts, which are programs running on the EVM. Similar to classes in other languages, smart contracts can have multiple functions, internal states and public declarations. Solidity contracts are[ compiled into bytecode](https://www.alchemy.com/overviews/solidity-compiler) to be read by the EVM. After compilation, the Solidity contracts will look no different from those written in other EVM smart contract languages like Vyper or **Huff**. Like any other developer tool, Solidity goes through regular version updates. Note that because smart contracts are deployed once and are irreversible after joining the blockchain, Solidity version constraints will only matter at the time of creation. While[ Solidity developers](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer) can theoretically write Ethereum smart contracts directly in bytecode, high-level languages like Solidity allow engineers to write contracts more efficiently without any low-level manipulation. ### **How does Solidity interact with the EVM?**  The following is a summary of how Solidity works to change the state of the EVM: 1. Write smart contracts in Solidity 1. Solidity smart contracts are compiled to bytecode 1. Bytecode is converted into EVM opcodes 1. EVM opcodes alter the state of the EVM The EVM is a _virtual state machine_ and record keeper for Ethereum’s “global computer.” In the simplest terms, the EVM maintains the global state of the network, which includes addresses, account balances and token holdings.  Solidity smart contracts are written to make changes to the EVM’s global state. The EVM’s global state is changed by actions such as minting tokens, sending and receiving tokens, or releasing assets.  A host of EVM operations, encoded into[ EVM opcodes](https://ethereum.org/en/developers/docs/evm/opcodes/), prompt these changes to the global state. Each EVM opcode is designed to prompt the EVM to perform a specific kind of state change, such as sending tokens from one address to another, minting tokens, or even destroying smart contracts.  In the last step, the EVM translates the smart contract’s bytecode into EVM opcodes, which make the necessary changes to the blockchain.  Each opcode comes with a certain _gas fee_, charged in ETH to mitigate the risk of a malicious actor clogging up the network with an inordinate amount of requests. The total gas cost of a transaction is thus calculated by the price per unit of gas times the total gas cost of a transaction’s opcodes. ## **What EVM-compatible blockchains support Solidity?** Solidity is able to write smart contracts for any EVM-compatible blockchains, including L2s such as Polygon, Arbitrum, and Optimism. Since Solidity is flexible and easy to use, it is supported by a large number of other blockchains. Here are some of the largest projects that support Solidity: ### 1. Polkadot Polkadot is a chain focused on integrating multiple blockchains \(i.e. parachains\) into one chain using a relay chain. Polkadot’s goal is for parachains to be interoperable to allow scalability and increase bandwidth. One example of a Polkadot parachain is[ Astar](https://www.alchemy.com/astar), which is supported by Alchemy. ### **2. Avalanche** Avalanche is an Ethereum competitor that supports Solidity development. The Avalanche architecture is based on a network of three blockchains: one for issuing and trading assets \(X Chain\), one for coordinating the network’s validators \(P-Chain\), and one that allows smart contract creation \(C Chain\).  ### **3. BNB chain \(formerly Binance smart chain\)** [Binance](https://www.alchemy.com/dapps/binance) Smart Chain started as an ERC-20 token on Ethereum, and to support their growing ecosystem of apps, the Binance Smart Chain \(BSC\) network was created. BSC and its tokens use Solidity in their smart contracts. Today, Binance Smart Chain is called BNB Chain. ## **How popular is Solidity?** Solidity is the most popular smart contract programming language in the blockchain industry. Solidity is the native language for creating EVM-compatible smart contracts. Even outside of the EVM, there are projects that have built-in support for Ethereum’s Virtual Machine such as Neon Labs’[ Solana EVM](https://www.alchemy.com/overviews/solana-evm). Since the blockchain industry is still growing, it may appear as if Solidity is less used compared to all other programming languages. However, within the industry, Solidity is the most widely applicable smart contract language. Solidity Has strong use cases on many chains and in the fastest growing web3 dApp ecosystems. According to a report by **The Next Web’s Hard Fork**, Solidity appears in twice as many blockchain-tagged questions than its second closest competitor. JavaScript has just 4.8% the volume compared to Solidity’s 9.5%.  ## How is Solidity used on Ethereum? Seeing some examples of Solidity’s use in Ethereum will give you a good sense of the simplicity of Solidity code in creating flexible smart contracts. The code examples found in the official[ Solidity documentation](https://docs.soliditylang.org/en/v0.8.16/) are a great introduction to the language.  ### **Smart contracts** The following is a simple code example from the Solidity documentation that creates a simple currency on Ethereum. Notice the function declarations, private and public variables for the contract. Functions allow the contract to perform different actions on-chain, in this case sending tokens from one address to another, and minting tokens.  Public variables are accessible from outside the contract and automatically generate **getter functions** for retrieving the value of those variables. The _event_ keyword allows client applications to[ listen for changes caused by the contract](https://www.alchemy.com/overviews/solidity-events). In this example, a client would see the _sent_ event, which indicates to a listener that address _msg.sender_ sent an _amount_ of tokens to the address _receiver_. ### **What are Solidity ERC standards?** **Underlying the design of Solidity smart contracts are ERC \(Ethereum Request for Comment\) standards, which are guidelines made to improve and standardize the implementations of different types of Ethereum tokens.** ERC standards are proposed by EIPs \(Ethereum Improvement Proposals\). Once ERC standards are approved and finalized, they become a standard for writing Solidity contracts. This allows a common[ Solidity interface](https://www.alchemy.com/overviews/solidity-interface) template for building smart contracts. When Solidity developers build tokens adhering to existing ERC standards, they know how their tokens will behave appropriately on the blockchain.  Some of the most widely used ERC standards are: - [ERC-20](https://www.alchemy.com/overviews/solidity-events) - fungible token standard - [ERC-721](https://www.alchemy.com/docs/how-to-interact-with-erc-721-tokens-in-solidity) - non-fungible token standard - [ERC-1155](https://www.alchemy.com/blog/comparing-erc-721-to-erc-1155) - semi-fungible token standard - [ERC-4626](https://www.alchemy.com/overviews/erc-4626) - yield-bearing vault standard ## **How to learn Solidity programming** So you know what Solidity is, but how do you begin learning Solidity? As the most popular smart contract language, there is a wealth of resources available online to begin learning Solidity development.  One of the best ways to learn Solidity is with Alchemy University's [7-week Solidity bootcamp](https://university.alchemy.com/?a=0950a65be4), that was originally created by ChainShot, a leading team of web3 engineers, and redesigned by Alchemy after they acquired ChainShot in August 2022. The Ethereum developer bootcamp was originally a $3,000 certification course, and is now FREE. Secure your spot in line to join Alchemy University. ## **Solidity resources** This section provides you with some of the best resources online for learning Solidity development. 1. ‍Official Solidity Documentation - use docs as your primary resource for learning Solidity development. 1. Solidity by Example - compilation of Solidity examples ranging from a ‘Hello World’ program to wallet applications and DeFi. 1. **Clean Contracts** - guide on how to write safe and predictable smart contracts with Solidity code examples.**‍** 1. Ethernaut by [OpenZeppelin](https://www.alchemy.com/dapps/openzeppelin) - a smart contract based war game where each level consists of hacking a smart contract. ## **Start building with Solidity** This article introduced you to Solidity and provided you with resources to begin learning Solidity development. Solidity is an extremely flexible and powerful language to develop decentralized applications on Ethereum and EVM-compatible blockchains. Once you are comfortable with your knowledge, don’t hesitate to deploy an application on the Goerli testnet, attend a web3 hackathon, and start trying to build a web3 startup! --- # What is the Solidity ABI (Application Binary Interface)? URL: https://www.alchemy.com/overviews/solidity-abi.md Ethereum developers use the Solidity programming language to [write smart contract code](https://www.alchemy.com/overviews/solidity-smart-contract) for the Ethereum network. But how does Solidity work and interact with the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\)? It all begins with compiling smart contracts.  This article explains: - What [the Solidity ABI](https://www.alchemy.com/overviews/what-is-an-abi-of-a-smart-contract-examples-and-usage) is through introducing the necessity of smart contract compilation - How the ABI works as the Solidity compiler - What bytecode is and its function in the process of compilation - What the Solidity ABI is and how it is different from an API. - How ABIs work \(with examples\) ## **What is smart contract compilation?** Smart contract compilation is the process that converts the Solidity smart contract code into a language compatible with the Ethereum Virtual Machine language. Developers write smart contracts in Solidity, [a high-level programming language](https://www.alchemy.com/overviews/solidity) that is readable and understandable by humans only. The EVM cannot understand Solidity. Since the virtual machine cannot understand Solidity, compilation converts the human-understandable Solidity code into a machine-readable language. The [Ethereum ecosystem](https://www.alchemy.com/dapps/ecosystem/ethereum) uses the Solidity compiler to compile its smart contracts.  ### **What is the Solidity compiler?** The[** Solidity compiler**](https://www.alchemy.com/overviews/solidity-compiler), also known as solc, compiles Solidity-based smart contracts into EVM understandable bytecode and the [**Application Binary Interface \(ABI\)**](https://docs.soliditylang.org/en/v0.8.13/abi-spec.html). The bytecode and Solidity contract ABI are the primary components for interacting with Ethereum smart contracts. ## **What is bytecode?** The bytecode is the smart contract information in a binary format on the Ethereum Virtual Machine. The bytecode is not human-readable and can only be read by a machine \(EVM\). In other words, Solidity gets compiled and translated into machine-readable bytecode so that EVM can carry out the necessary functions. The bytecode contains a series of machine-understandable instructions called opcodes, each one-byte \(eight bits\) long. Thus, a bytecode is an amalgamation of one-byte opcodes.  Bytecode is divided into two types: 1. Creation bytecode 1. Runtime bytecode ### **What is creation bytecode?** **Smart contract compilation generates the creation bytecode, containing the constructor logic and constructor parameters of smart contracts.** The creation bytecode is responsible for generating the runtime bytecode. When you click on ‘compilation details’ for a smart contract on any [Integrated Development Environment \(IDE\) platform](https://www.alchemy.com/overviews/solidity-ide), you see the creation bytecode. Creation bytecode is executed only once during deployment.  To retrieve the on-chain creation bytecode, use: To retrieve the creation bytecode off-chain by JSON RPC call, use this method: [`getTransactionByHash`](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-get-transaction-by-hash)*.*   ### **What is runtime bytecode?** The runtime bytecode is the compiled smart contract data that is stored on-chain as the permanent executable code. Unlike creation bytecode, the runtime bytecode does not contain constructor logic and constructor parameters. To retrieve the on-chain runtime bytecode, use: To retrieve runtime bytecode off-chain by JSON RPC call, use this method: [`getCode`](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-get-code) ### **How to interact with bytecode** Smart contract data is stored on the EVM in machine-readable bytecode, and stored on external applications in Javascript and other smart contracts in human-readable Solidity language because they cannot communicate with bytecode. This is where the second component of smart contract compilation, the Application Binary Interface \(ABI\), makes the interaction possible.  ## **What is the application binary interface \(ABI\) in Solidity?** The [**Application Binary Interface (ABI)**](https://www.alchemy.com/overviews/what-is-an-abi-of-a-smart-contract-examples-and-usage) is an interpreter that facilitates communication with the EVM bytecode. The Solidity ABI is a human-readable list of methods on a smart contract for executing particular functions. You can use the ABI with a library like [ethers.js](https://www.alchemy.com/dapps/ethers-js) to interact with smart contracts. An ABI in Solidity is similar to, but also different from, an API \(Application Program Interface\). ### **What is the difference between the Solidity ABI and an API?** In web2, APIs facilitate the interaction between web applications and centralized servers, and the Solidity ABI provides smart contract data to applications and other contracts. When an application uses an API to request data from a server, the API feeds it, whereas ABIs access smart contract data in binary bytecode format known as Solidity Binaries. In the next section, we explain what Solidity Binaries are.  ### **What are Solidity binaries?** Solidity Binaries are a unique data storage infrastructure for smart contracts in the Ethereum ecosystem. Developers cannot deploy the human-readable Solidity code on the Ethereum blockchain. Instead, the Solidity smart contract data is stored as raw bytecode in binary format \(i.e. a long string of hexadecimal characters\). This is known as [Solidity Binaries](https://www.alchemy.com/overviews/solidity-binaries), which makes it cost-efficient to store data on the blockchain. But how does the ABI access Solidity Binaries? It does so by a process called ABI encoding.      ### **What is Solidity ABI encoding?** **The ABI calls the smart contract with function signatures and variable declarations that the EVM-based bytecode can understand.** This is known as ABI encoding where the ABI encodes the necessary information for the machine-readable bytecode to process. In most cases, ABI encoding is automated and done by smart contract compilers.  ### **What is ABI decoding?** **When the EVM-bytecode executes an instruction and returns a result, it is in a raw hexadecimal format, and** **the ABI decodes the hexadecimal format, which isn't human-readable, into a human-readable language.** This is known as ABI decoding. You get the Solidity code from the ABI, and basically the ABI acts as the interface for encoding/decoding data into and out of the machine code.  ### **How does Solidity code map to EVM opcodes?** EVM bytecode is made up of a number of [opcodes](https://ethereum.org/en/developers/docs/evm/opcodes/). **When ABI encoding calls a function, it refers to a particular opcode.** After processing the transaction, the opcode returns a result, which the ABI decodes for the user.  ## **How do ABIs work in Solidity?** **An ABI specifies which function to invoke \(encoding\), and executes the function to return data to the user \(decoding\).** A smart contract contains several functions which are deployed on the EVM as bytecode, and each smart contract has its own ABI which is required to get the results.  Since smart contracts are stored in binary format, the ABI defines the structures and methods to interact with the binary contract. Post-compilation smart contract generates an ABI represented in Solidity JSON ABI format. Certain IDEs like Remix automatically generate the contract ABI. However, you can also manually create the ABI using the [Solidity Compiler NPM package](https://www.npmjs.com/package/solc). Solidity JSON ABI generates the following components: - **Type** - defines the nature of the [function](https://www.alchemy.com/overviews/solidity-functions) \(receive, fallback, constructor\)  - **Name** - defines the name of the function - **Inputs** - array of objects with name, type, components - **Outputs** - array of objects similar to inputs - **stateMutability** - defines the mutability of the function \(pure, view, [non-payable or payable](https://www.alchemy.com/docs/solidity-payable-functions)\)  ## **How does a transaction work with an ABI?** A transaction works with a Solidity ABI file in 3 steps: 1. The ABI of a smart contract is provided to the frontend library like EtherJS. 1. The frontend library translates the method call and arguments into _calldata_ which is provided as part of a transaction to an Ethereum node. 1. After a transaction is validated it generates a receipts trie containing the detailed logs and gas \(transaction fees\) used. ### What is a receipts trie? **An Ethereum transaction generates a receipt called ‘receipts trie’ which records the outcome of a successful transaction.** A receipts trie consists of four types of information: 1. State of the transaction 1. Cumulative gas used 1. Set of logs created during execution 1. Bloom filter composed from the logs To better understand how a transaction works, consider the following example.     ## ERC-20 token transfer example For instance, you want to transfer an [ERC-20 token](https://www.alchemy.com/overviews/erc20-solidity) from one wallet to another. The following code instructs the ABI to send a message to the EVM-based bytecode.  ABI encoding ensures that the bytecode recognizes the function and executes the transaction. After generating a result, ABI decoding translates the result into a human-readable format. The user gets a receipt that ERC-20 tokens have been transferred from one address to the other. ## **Learn more about Solidity's ABI** While [learning Solidity](https://www.alchemy.com/overviews/learn-solidity), you will understand that ABI is the cornerstone of Ethereum smart contracts. ABIs facilitate transactions in the blockchain ecosystem. Despite the importance of ABIs in smart contract technology, ABIs are often overlooked in developer tutorials. While beyond the scope of this article, knowing what the [Solidity interface](https://www.alchemy.com/overviews/solidity-interface) is will further your understanding of how contracts interact with each other.  An in-depth understanding of ABI is the stepping stone towards developing robust smart contracts and [apps](https://www.alchemy.com/dapps/top/defi-dapps), and [becoming a Solidity dev](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer). --- # What are Solidity arrays? URL: https://www.alchemy.com/overviews/solidity-arrays.md Arrays are linear data structures that store a fixed-size of elements of the same data types which are stored in contiguous and adjacent memory locations. Each and every element in the array is specified by its location, commonly known as its index. Arrays work on an index-based system, starting from 0 to \(n-1\), where n represents the overall size of the array. As opposed to creating several individual variables of the same type, developers only need to declare one array of their preferred size to store elements which can be accessed using the index. In [Solidity](https://www.alchemy.com/overviews/solidity), the primary web3 programming language used on Ethereum and EVM-compatible blockchains, an array can be both of fixed or dynamic size. As an object-oriented programming language, [Solidity supports inheritance](https://www.alchemy.com/overviews/solidity-interface) between smart contracts, where multiple contracts can be inherited into a single contract.  If you want to learn Solidity arrays more deeply, register for Alchemy University's [free Solidity developer course](https://www.alchemy.com/university/courses/solidity). ## What are dynamic and fixed arrays? **The size of dynamic arrays are not predefined when they are declared, in contrast to fixed arrays which have a predefined size.** As elements are systematically added, the size of the dynamic array changes, and during runtime, the actual size of the array will be determined. In contrast, fixed arrays have a predefined size, and the quantity of elements present in the array should not exceed the size of the array. In rare circumstances where the size of the array is not specified, then an array of ‘enough size’ is created. An array of "enough size" which is ‘enough’ to hold the initialization. ### **Storage arrays vs. memory arrays** **In Solidity, there are two types of arrays that developers need to consider: storage and memory arrays.** #### **Storage arrays** **Storage arrays** are typically declared as state variables and can be either fixed or dynamic in size. It’s important to note that storage arrays with dynamic length can be resized, which means that they have access to both the push\(\) and pop\(\) functions, which enable addition and reduction of elements from the array, respectively. #### **Memory arrays** **Memory arrays** are declared with memory as their data location. Similar to storage arrays, memory arrays can also have either fixed or dynamic length at compile time, however, they cannot be resized after memory is allocated. This means that the pop\(\) and pull\(\) [Solidity functions](https://www.alchemy.com/overviews/solidity-functions) cannot be used. Fixed-size memory arrays are automatically allocated when you declare them - like the statement `uint256[5] memory numbers`. However, to allocate dynamic memory arrays, you need to use the new operator. For example, you could use `uint256[] memory numbers = new uint256[](5)``;` **Note:** always initialize the array before using it so that you can obtain a valid address for use.  ## Solidity arrays vs. mapping [Mapping in Solidity](https://www.alchemy.com/overviews/solidity-mapping) is similar to an array in that it’s a reference type meant for storing a group of data. The syntax and structure of mappings is quite different, which enables it to serve a unique and important purpose. Mapping is a table of keys and values, each having its own pre-defined type. Mapping can be perceived as initiating an empty table that exists inside of a [Solidity smart contract](https://www.alchemy.com/overviews/solidity-smart-contract), waiting to be filled with data.  Unlike an array, a mapping does not have a retrievable length nor does the key or value have to be ‘set’ from the initialization stage. In addition, it’s not possible to loop through a mapping as it is possible to do with Solidity arrays. However, retrieving a piece of data from a mapping is far more efficient than fetching the same data from an array. To fetch data from an array requires iterating over the whole array until you find the particular element you’re looking for, but a mapping will grab that data immediately. The performance benefits of retrieving data from mappings can be quite important for [saving gas with Ethereum smart contracts](https://www.alchemy.com/overviews/solidity-gas-optimization), given that transactions that edit data on the blockchain require gas fees. Therefore, storing or retrieving data from a smart contract as efficiently as possible can save developers ETH over time.  In summary, if you need to iterate over a group of data, using let’s say a for loop, then use an array. If there’s no need to iterate over a set of data, and instead you can retrieve values based on a known key, then consider using mapping.     ## Declaring and initializing an array Declaring an array in Solidity is relatively simple. The data types of the elements and the number of elements should be specified, the size of the array should be a positive integer, and the data type should be valid on Solidity. For example, the basic instruction below would initialize the array and once data has been inserted, it would appear on the [console.log](https://www.alchemy.com/overviews/solidity-console-log):  Each item in the array is called an **element**, and each element can be accessed using its numerical index through the function “n - 1”, where n represents the element number. In general, numbering associated with elements begins at 0. This would mean that the 10th element would be accessed at index 9, the 11th element at index 10, etc. The restriction related to the same data type is important to remember because arrays are stored in consecutive memory cells, which implies that every cell must be of the same type and therefore, the same size.  ## **Structs** [Structs](https://www.alchemy.com/overviews/solidity-struct) allow programmers to define their own data types. Once a struct has been defined, it can be used as a state variable or in a multitude of other functions, using either positional arguments or keywords. The second approach averts the case for remembering the order of the members enclosed within the struct.  **Here is an example of a new struct:** ## **Mappings** Mappings can be thought of as key and value stores where every possible key exists and any value can be set or retrieved in one move with the key. The **KeyType** can be any built-in value type \(i.e., bytes, string, or any contract/enum type\). The **ValueType** can be any type including mappings, arrays, and structs. Mappings can be declared as follows: Note: that the only data location permitted for mapping variables is storage. ## **Members** To find a specific member of an array means searching the array until the member is found. Developers should be aware of two important functions: `length` and `push`. - ‍**Length** - returns the size of the array and can also be used to change the size of a dynamic array. - ‍**Push** - enables developers to append an element directly at the end of a dynamic storage array, and as a result, returns the new length of the array.  ## Troubleshooting Solidity arrays Occasionally, developers may encounter compilation errors, which can arise from misunderstanding the rules for declaring, creating, and initializing arrays. Here are some high-level ways to troubleshoot common errors with Solidity arrays:  ### **1. Array.length** The `array.length` function allows developers to check the number of elements present in the array. The size of the memory array is fixed when they are declared, while in case the dynamic array is defined at runtime so for manipulation, length is required.  ### **2. Abi.encode and abi.encodePacked** When a function is called on an external contract, the EVM computes a bytes buffer which contains the function signature and arguments, and there are two ways to serialize arguments: [`abi.encode` and `abi.encodePacked`](https://www.alchemy.com/overviews/solidity-abi). **Abi.encode** encodes its parameters using the ABI specs. Effectively, the ABI was designed to make calls to contracts, where parameters are padded to 32 bytes. If calls are being made to a contract, this function is most likely being used. Comparatively, **abi.encodePacked** encodes its parameters using the minimal space required by the type. Encoding an unit8 will use 1 byte, and it is used when you want to save some space and don’t intend to call a contract.  ### **3. Byte\[\] or bytes** **‍**Both array types can hold an arbitrary length of raw byte data.The difference between the `byte\[\] `and bytes is that `bytes\[\]` follows the rules of the array type, and elements in memory arrays in Solidity always occupy multiples of 32 bytes. This means that if an element has less than a multiple of 32 bytes, it will be padded until it fits the necessary size. For example, 31 bytes could be wasted for each element in the case of the byte array, which does not occur when using the bytes array or string.  ### **4. String** **‍**This particular dynamic array is a UTF-8 data type and dissimilar in functionality when compared to other programming languages, Solidity does not provide functions to get the length of the string or to carry out concatenation or comparison of two strings. A string can be quickly converted to a byte array using bytes\[\]. ### **5. Solidity array null** **‍**Although the inherent concept of _undefined_, _null_, _nil_, _none_, etc. exists in other programming languages such as Python and JavaScript, it does not exist in Solidity. Instead, developers can call it zero or default value concept because each value gets a slot in memory once it has been created and therefore, it should contain something.  ## How to learn more about Solidity arrays To [learn more about the Solidity programming language](https://www.alchemy.com/overviews/learn-solidity) and to get familiar with arrays amongst other foundational topics, head on over to Alchemy University's [Ethereum bootcamp](https://www.alchemy.com/university/courses/ethereum). The Ethereum bootcamp is a free, 7-week programming course complete with guided videos and hands-on projects. If developers are new to development in general, Alchemy's [3-week JavaScript for Ethereum course](https://www.alchemy.com/university/courses/js) is a great prerequisite before starting an Ethereum bootcamp. --- # Solidity Binaries URL: https://www.alchemy.com/overviews/solidity-binaries.md The raw data published via a smart contract to the Ethereum blockchain is bytecode, or long strings of hexadecimal characters. Though developers write and read smart contracts in human-readable [Solidity](https://www.alchemy.com/overviews/solidity) code, that isn’t the text that is published to the blockchain. Similarly, every smart contract "call", or request made to one of the externally visible functions published by a smart contract, is in the form of raw bytecode, or "binaries." Take a smart contract uploaded to [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) with the following \(Solidity-encoded\) structure: Say a user wants to make a call to the function baz with the parameters 69 and true.  Here's what the request actually looks like transmitted in bytecode: `0xcdcd77c000000000000000000000000000000000000000000000000000000000000000450`... Pretty difficult to read, right?  In this article we will discuss why the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) encodes everything in bytecode, learn what an ABI is and how to use one, and pick up some basic tools to decompile bytecode back into human-readable [Solidity](https://www.alchemy.com/dapps/solidity). **Note:** examples in this article are borrowed from the official [Solidity ABI documentation](https://docs.soliditylang.org/en/v0.8.13/abi-spec.html). ## **Why does Solidity encode smart contracts in binary?** Because it’s extremely expensive to store data on the Ethereum blockchain, and every byte of data uploaded needs to be replicated to all full nodes on the blockchain, it’s more cost efficient to write and read raw bytecode than to upload Solidity code.  Parsing and storing human-readable code can cost an order of magnitude more data, which is a problem when smart contracts can already cost thousands of USD each on mainnet. ## **What is a Solidity ABI and why you need one to read a smart contract?** When smart contracts are published, they’re automatically transpiled into bytecode before publishing to Ethereum. However - once they’re published on the network, how will a given individual know how to interact with the smart contract? It’s nearly impossible to look at a long string of bytecode and understand what functions are available to call. An [Application Binary Interface, or ABI](https://www.alchemy.com/overviews/what-is-an-abi-of-a-smart-contract-examples-and-usage) is the answer.  An ABI is a human-readable, public list of methods that describes the calls that can be made to any particular smart contract and what each call will return.  With an ABI, users of smart contracts don’t need to read bytecode, and can translate their calls in bytecode to interact with smart contracts. ABIs are extremely similar to APIs \(Application Programming Interfaces\) in traditional Web2 architecture. However, the primary difference is that **a Solidity ABI enables the user to access methods in smart contracts encoded in binary**, whereas APIs enable users to access methods from online server endpoints.  Because they’re intended to be used and read by humans, smart contract developers don’t publish the ABI of a smart contract to the blockchain because that would be extremely expensive.  Instead, you can get the ABI from: 1. Publicly available source code for the contract available from the smart contract developer, which can be used to generate an ABI. 1. If the smart contract is verified on Etherscan, from the Etherscan contract information. 1. Reverse-engineering the ABI from the smart contract bytecode \(not recommended\). An ABI is typically published as a JSON-formatted encoding of the public function declarations of a Solidity smart contract.  Take the following smart contract’s function definition:  The corresponding JSON encoding would look like this:  ## **How to interpret call data binaries from Solidity** While, you don’t want to parse Solidity binaries back to call functions by hand because it’s complicated, unintuitive, and you’re likely to make a number of mistakes, it’s super helpful to understand roughly how binaries are formed in Solidity, so you can quickly glance through call data or double-check values. We’ll link you to a couple tools in the next section that should handle most of this transcription for you.  Take the example above. Say a user wants to make a call to the function **baz** in a smart contract with the parameters 69 and true. Here's what the request looks like in bytecode, which is 68 bytes total:  `0xcdcd77c0000000000000000000000000000000000000000000000000000000000000004500`... ### 1. Use the first 4 bytes of the call data to identify the method ID. In this case, 0xcdcd77c identifies the method **baz**, by deriving the first 4 bytes of the Keccak hash of the ASCII form of the signature baz\(uint32,bool\). ### 2. Use the following 32 bytes to identify the first parameter `0x00000000000000000000000000000000000000000000000000000000000000045` identifies the first parameter **69**, which is a uint32 value padded to 32 bytes. Padding simply means 0s are added to guarantee that the entire string is 32 bytes long \(in this case\), no matter how large the actual number is.  `0x00000000000000000000000000000000000000000000000000000000000000045 ` ### 3. Use t**he final 32 bytes to identify the second parameter** The second parameter is **true**, which is a bool value padded to 32 bytes: `0x0000000000000000000000000000000000000000000000000000000000000001` The encoding looks slightly different for parameters that include dynamic types because unlike static types like address, bool, or uint32 which are encoded in-place, [dynamic types are encoded at a separately allocated location](https://docs.soliditylang.org/en/v0.8.13/abi-spec.html#use-of-dynamic-types).  ## **How can I interpret event data binaries from Solidity?** An event is a log published by a smart contract when executing a method call, and events are published as binary data.  Events can take in parameters, which can help specify what the event will output. These parameters can be indexed, meaning the event will be searchable by using that indexed parameter as a filter. These indexed parameters are otherwise known as topics in Solidity terms! Roughly, a Solidity event follows the following structure: - address: the address of a contract - topics\[n\]: 0 - 4 topics, or indexed parameters - arbitrary length binary data, which can be parsed according to the ABI. ## **What tools should I use to decompile Solidity binaries?** There’s a variety of EVM decompilers available that can help you retrieve a more readable version of Solidity binaries including the [EtherVM Decompiler](https://ethervm.io/decompile) and the [Panoramix decompiler](https://github.com/palkeo/panoramix).  These EVM decompilers won’t return a perfect recreation of the original source code \(names or other important information may be removed to minimize binary sizes\), but they should give you a high-level understanding of permitted ABI requests. --- # The Best Solidity Bootcamps for Ethereum Development (2024) URL: https://www.alchemy.com/overviews/solidity-bootcamp.md The [Solidity programming language](https://www.alchemy.com/overviews/solidity) is an object-oriented, high-level language for implementing smart contracts on the Ethereum blockchain, and one of the best ways to learn Solidity is by attending an immersive Solidity bootcamp. With Solidity, developers can create smart contracts for uses such as DeFi, [DAOs](https://www.alchemy.com/dapps/top/daos), NFTs, voting, crowdfunding, blind auctions, and multi-signature wallets. Solidity targets the Ethereum Virtual Machine \(EVM\) and has been a [popular web3 coding language](https://www.alchemy.com/overviews/web3-programming-languages) for beginners and experienced developers alike.  In this article, we list the top ten Solidity bootcamps to boost your learning. We compare the prices, instructors, perks, and duration of each bootcamp to help you decide the best one for you to attend. The top ten list in this article includes **Alchemy University's** [Ethereum Developer Bootcamp](https://university.alchemy.com/), which is a **FREE**, 7-week course that previously cost $3,000! ## **What is a Solidity bootcamp?** **A Solidity bootcamp is a short, intensive program that accelerates a developer's understanding of programming with Solidity.**  There are many ways to learn how to develop on Ethereum such as [online Solidity courses](https://www.alchemy.com/overviews/solidity-course) and guided tutorials, but a bootcamp is advantageous in many ways. As a bootcamp participant, you will have access to a structured course, resources, mentorship, a cohort of like-minded developers, and career support post-graduation. An Ethereum blockchain developer bootcamp with Solidity is a fast way to become a proficient Ethereum developer. There are many options for bootcamps to suit your learning style and schedule including: - in-person or online - part-time or full-time - synchronous or asynchronous ### Why is a Solidity bootcamp helpful? Solidity bootcamps teach Ethereum development in a comprehensive, structured, and time-bound way that is informed by industry trends, unlike singular courses or [**on-demand Solidity tutorials**](https://www.alchemy.com/overviews/solidity-tutorial) that require students to teach themselves. Participating in a bootcamp will give you the knowledge required to build and contribute to projects written in Solidity. While there are many [ways to learn web3 development skills](https://www.alchemy.com/overviews/how-to-learn-web3-development), a bootcamp will provide you with a comprehensive and structured series of lesson plans to ensure you master the essential concepts of Solidity the right way. Bootcamps also give you a strong foundation in blockchain technology, web3 ecosystems, and hands-on experience with Solidity so that by the end of the program, you’ll have the confidence you need to build your own Ethereum applications.  Finally, as a bootcamp participant, you will be able to connect with industry experts and more experienced developers. You’ll be part of a larger web3 student community and find the support you need along your Ethereum development journey. ### **What topics does a Solidity bootcamp teach?** A bootcamp covers [**everything you need to learn about Solidity**](https://www.alchemy.com/overviews/learn-solidity) including Merkle Trees, Ethereum JSON-RPC, Ethers.js, smart contracts, functions, contract ABIs, bytecode, events, error handling, mappings, data types, modifiers, and many more Solidity topics. By completing a Solidity bootcamp you will gain the foundational knowledge to build more advanced smart contracts, [apps](https://www.alchemy.com/dapps/top/defi-dapps), and innovative blockchain startups. Solidity programming bootcamps typically begin with an introduction to blockchain technology, and is followed by lessons on transactions, wallets, and hashing to familiarize you with the fundamentals of using blockchain technology.  In addition, Solidity bootcamps will typically teach you various aspects of Solidity, like value, reference, and mapping types which you will encounter repeatedly. These sessions will usually include hands-on assignments such as creating your own smart contract.  There are often at least one, sometimes several, full-length projects you’ll complete to help you learn Solidity. These projects become increasingly advanced as you progress through the bootcamp. Some projects include creating a shared wallet or creating a private network on Ethereum.  ### How does a Solidity bootcamp work? Solidity bootcamps vary in prerequisites, the way they’re structured, content depth, and price, but many of them have various ways students can participate, including participating in collaborative projects and additional office hours to increase learning opportunities. Sign up for your chosen Solidity bootcamp before the deadline to participate. Some bootcamps may have requirements for prior knowledge before participation, so take these into consideration before deciding on a bootcamp.  Depending on the structure of the program, participants can attend synchronous lessons once or several times a week. Some online bootcamps offer asynchronous sessions where participants have a higher degree of flexibility and must pace themselves to get through the material.  Bootcamps often offer office hours where you can meet with your instructors to clarify or review past material.  Bootcamps also often have various channels of communication where you can reach out to the wider Ethereum development community and alumni from the program. It’s helpful to join these bootcamp alumni groups as you get to learn about new projects in the space.  Solidity bootcamps often feature a period of time where participants work on collaborative or personal projects to gain a deeper understanding of Solidity through hands-on experience. At the end of the bootcamp, you will be issued a participation certificate and offered support for post-graduation plans. ## **Top 10 Solidity bootcamps** In this section, we recommend the best Solidity bootcamps to accelerate your learning. We compare the price points, advantages, instructors, and duration of each bootcamp to help you decide which is suitable for you.  Here are the creators of the top 10 Solidity bootcamps: 1. Alchemy University 1. ConSensys 1. Zero to Mastery 1. Metana 1. Chainlink 1. Udemy 1. Tech Educators 1. Macro 1. Encode Club 1. Clarusway ### **1. Alchemy University's free Ethereum developer bootcamp** [Alchemy has teamed up with ChainShot](https://www.alchemy.com/blog/alchemy-acquires-chainshot) to offer a FREE and comprehensive Solidity bootcamp. The [7-week, Alchemy University Ethereum Developer Bootcamp](https://university.alchemy.com/ethereum) helps developers learn Solidity, and empower devs to build meaningful projects in Ethereum's rapidly evolving ecosystem.  The bootcamp places heavy emphasis on learning by doing, featuring projects such as writing custom smart contracts and building decentralized applications among other interactive, browser-based projects. You will gain mastery of blockchain development and a deeper understanding of working with Solidity. #### **Ethereum bootcamp course structure** The course structure at Ethereum Developer Bootcamp is advantageous in four distinct ways: 1. Helps participants acquire core blockchain cryptography skills 1. Helps participants gain a deeper understanding of Ethereum 1. Helps participants master smart contract development 1. Helps participants build, test and deploy decentralized applications By the end of the bootcamp, students will know enough cryptography principles to build a proof-of-work blockchain, know [how the Ethereum network works](https://www.alchemy.com/overviews/transaction-propagation), will know how to advance their Solidity skills, and develop according to industry best practices.  #### **Ethereum bootcamp instructors** The lead instructors include Dan Nolan, Al Jacob Hite, and Al Luken. - ‍Dan Nolan - ChainShot's Founder and software engineer, Dan graduated from Marist College in 2012 with a Bachelor’s Degree in Computer Science - **Jacob Hite** - is a ChainShot alum with experience as an engineer at Sun Microsystems, Google, Amazon, and was the lead engineer at OmiseGo - Al Luken - is a ChainShot alumni who worked as a software developer for General Motors after graduating from NYU's Computer Science program Alumni of the Ethereum Developer bootcamp have gone on to work at OpenZeppelin, [OpenSea](https://www.alchemy.com/dapps/opensea), Polygon ID, Protocol Labs, [Gelato](https://www.alchemy.com/dapps/gelato) Network, and more companies. - **Duration**: 7 weeks - **Price**: Free - **Remote**: Yes - **Prerequisites**: Familiarity with JavaScript If you're brand new to development, Alchemy University's [JavaScript Crash Course](https://university.alchemy.com/js) is the perfect way to prepare for Alchemy University's Solidity bootcamp. ### **2. Blockchain developer online bootcamp by ConSensys academy** **ConSensys Academy** offers an online bootcamp that provides access to mentors and course creators, community-based peer support, networking opportunities, self-paced learning materials, multi-modal content, interactive exercises, assignments, and hands-on projects. The bootcamp is an eleven-week, self-paced program, with a typical commitment of 10-15 hours per week. The bootcamp offers the following perks: 1. Participants receive active support from ConsenSys blockchain developers and trainers 1. Participants are granted access to course content for one year after the cohort ends 1. Participants gain a lifetime community membership through their alumni network - **Duration**: 11 weeks - **Price**: $985 - **Fully remote**: Yes - **Prerequisites**: Familiarity with object-oriented programming and at least one year of programming experience.  - **Link**: https://consensys.net/academy/ ### **3. Solidity, Ethereum, and blockchain: the complete developer's guide by zero to mastery** **Zero to Mastery’s** bootcamp offers a beginner-friendly introduction to the basics of blockchain and Ethereum. Participants get to design, test, and deploy secure smart contracts, and master the entire Solidity development ecosystem. The instructor, **Markus Waas**, has been working on blockchain technologies and projects for over a decade and has worked with companies all over the world. The projects for this program include building your own ERC20 token and stablecoin. - **Duration**: Self-paced - **Price**: $39/month, $279/year, or $999/lifetime - **Remote**: Yes - **Prerequisite**: Basic programming knowledge including JavaScript is recommended - **Link**: https://zerotomastery.io/courses/blockchain-developer-bootcamp/ ### **4. Web3 Solidity bootcamp \(Ethereum blockchain\) by metana** Metana’s bootcamp aims to help developers transition from Web2 to Web3 with a project-based curriculum that is development heavy and focuses on building a portfolio to showcase to future employers. - **Duration**: 4 months - **Price**: The program offers two payment options: a monthly payment plan of $1,550 or an upfront payment of $6,500. There is also a $1,000 discount for participants who choose the Non-Job-guarantee option. - **Remote**: Yes - **Prerequisites**: 1-2 years of experience in the industry with knowledge in Python, Javascript, Git, and GitHub - **Link**: https://metana.io/web3-solidity-bootcamp-ethereum-blockchain/ Metana's Solidity bootcamp is the most expensive Ethereum Developer Bootcamp on this list and includes a rigorous admission process, exam, and aptitude test. ### **5. Chainlink developer bootcamps** Chainlink offers several on-demand developer bootcamps. Chainlink’s Smart Contract Developer Bootcamp teaches participants how to write smart contracts in Solidity and connect them to real-world data in pre-recorded, instructor-led sessions with Chainlink developer advocates. - **Duration**: Track-dependent - **Price**: Free - **Remote**: Yes - **Prerequisite**: None - **Link**: https://chain.link/bootcamp Upon successful completion of the program, participants will know what a blockchain is, how smart contracts work, and how to create, deploy, and execute smart contracts that use Chainlink oracles to securely access off-chain data and computations. ### **6. Ethereum blockchain developer bootcamp with Solidity \(2022\) on udemy** **Udemy** offers a self-paced blockchain developer bootcamp that teaches you Solidity, [Web3.JS](https://www.alchemy.com/dapps/web3-js), Truffle, Metamask, and Remix. The course includes over 12 hours of video tutorials, updated companion text guides, practical step-by-step projects, and a responsive discussion board. The instructors include **Thomas Wiesner**, a senior back-end developer and systems architect who authored and co-authored eight best-selling Blockchain developer courses.  - **Duration**: Self-paced, 10 sections - **Price**: $135 - **Remote**: Yes - **Prerequisite**: A Basic Understanding Of Web Technologies - **Link**: https://www.udemy.com/course/blockchain-developer/ By the end of this course, you will have a portfolio of projects you can show to web3 developer recruiters.  ### **7. Tech educators’ Web3 blockchain bootcamp** **Tech Educators** offers a two-week bootcamp for new Web3 developers based in the UK. The bootcamp focuses on building on Polygon. Its curriculum teaches smart contract basics, including Solidity syntax, functions and visibility, upgradability, libraries, and contracts. - **Duration**: 2 weeks - **Price**: $1,900\+ - **Remote**: No, both in-person and online - **Prerequisites**: Ability to code in JavaScript - **Link**: https://techeducators.co.uk/web3 At two weeks, Tech Educators' bootcamp is the shortest bootcamp that teaches Solidity on this list. ### **8. Macro’s Web3 fellowship** **Macro** offers a Web3 fellowship for senior engineers. The course teaches Solidity security and best practices from engineers who have worked on and audited crypto protocols with billions in total value locked. - **Duration**: 6 weeks, part-time - **Price**: $3,000 - **Remote**: Yes - **Prerequisite**: 4\+ years of development experience, preferably backend - **Link**: [0xmacro.com](https://0xmacro.com/) (fellowship program discontinued; Macro now offers auditing services) ### **9. Encode club’s Solidity bootcamp** Encode Club offers an eight-week bootcamp to teach participants Solidity and blockchain from scratch. The instructor, **Matheus Pagani**, leads BFT solutions, a software factory focused on consulting and application development services and systems, operating in various segments of the centralized and decentralized markets. - **Duration**: 8 weeks - **Price**: Free, but with a $250 deposit - **Remote**: Yes - **Prerequisites**: some background in development and interested in entering the Web3 space - **Link**: https://www.encode.club/solidity-bootcamps Priority for Encode's bootcamp is given to individuals who can code in other languages already. ### **10. Clarusway’s Web3 course** Clarusway’s twenty-four week Blockchain and Web 3.0 Development course teaches students blockchain technology from scratch paired with the latest advancements. Solidity is covered under the development module, and the technology module includes: consensus mechanisms, Bitcoin and blockchain, smart contracts and Ethereum, apps, DAOs and NFTs, the oracle problem, scalability, and other topics. - **Duration:** 6 months - **Price:** Depends on the payment option - **Remote:** Yes - Prerequisite: Fundamental knowledge of a programming language and general programming logic is recommended. - **Link:** https://clarusway.com/web3/ At six months, Clarusway's web3 bootcamp that teaches Solidity is the longest bootcamp on this list. ## **Start learning Solidity today with Alchemy University** Solidity bootcamps are one of the best ways to master Solidity in an accelerated amount of time. While each bootcamp can help developers learn Solidity and start building in this space, Alchemy University's Ethereum Developer Bootcamp is the most comprehensive, authoritative, and free Solidity bootcamp available. To [secure your spot](https://www.chainshot.com/bootcamp) in the next cohort, sign up today! --- # What is the Solidity call function? URL: https://www.alchemy.com/overviews/solidity-call.md The [Solidity](https://www.alchemy.com/overviews/solidity) programming language is primarily used to create smart contracts on the Ethereum blockchain. This article will cover all the details you need to know about what a Solidity call function is. ## **What is the Solidity call function?** The `call`** function in Solidity is a low level function developers use to interact with other contracts.** When building a [Solidity smart contract](https://www.alchemy.com/overviews/solidity-smart-contract), the `call` method should be used anytime you want to [interact with another contract](https://www.alchemy.com/overviews/solidity-call-another-contract) from your own contract. Calls can also be used to execute other functions in the recipient smart contract, using Ether provided by the caller to pay for the transaction. The `call` function also has the advantage of returning the transaction status as a boolean with the return value sent as a variable. ### **What is calldata?** `Calldata` is a type of temporary storage, containing the data specified in a function’s arguments. The difference between it and memory, another type of temporary storage, is that _calldata_’s immutability—whatever is stored inside `calldata` cannot be changed. ## **How does the Solidity call function work?** The Solidity call function works by taking `calldata`, which can be zero in the case of a native ETH transfer, and executing that `calldata` on the intended recipient based on the low-level [EVM opcode CALL](https://ethereum.org/en/developers/docs/evm/opcodes/). When data \(i.e. the function to be called in recipient smart contract\) and gas are provided, the `call` method is able to use these two to execute functions inside smart contracts. ### **How do you use the call method to send ether?** As one of your [Solidity functions](https://www.alchemy.com/overviews/solidity-functions), you can use the following code into your [Solidity IDE](https://www.alchemy.com/overviews/solidity-ide) of choice and replace the `address payable _to` with the recipient address. Below is code which creates a contract that is capable of receiving Ether from calls. ### What's the difference between call and delegatecall? The difference between `call` and `delegatecall` is that `delegatecall` will execute the called function as if its code was entirely part of the smart contract that is doing the calling. In contrast, the `call` method will call the function as it is, as a part of another smart contract. In practice, this means the called function will use the caller's storage, `msg.sender`, and `msg.value`. ### What's the difference between call and transfer? Transfers have an unchangeable gas limit and will cancel on failure. Calls have a customizable gas limit by using `someAddress.call.value(ethAmount).gas(gasAmount)()` in place of the usual call will return false if the transaction fails. The `transfer` method is no longer a recommended to use. However, historically, `transfer` was preferred because it uses a built-in limit on gas, which helped [prevent reentrancy exploits](https://www.alchemy.com/overviews/reentrancy-attack-solidity). The immutable gas limit on the transfer method also made it a better choice for computations where you wished to set an upper limit of 2300 gas. ## **How to learn more about the Solidity call method** To [continue learning about Solidity calls](https://www.alchemy.com/overviews/learn-solidity), secure your spot in Alchemy University's free, online Solidity developer crash course. This 7-week, [asynchronous Ethereum bootcamp](https://university.alchemy.com/?a=5f566a8c97) has been redesigned after Alchemy's acquisition of the leading Ethereum education company, ChainShot. If developers are new to development in general, Alchemy University's [**3-week JavaScript crash course**](https://www.alchemy.com/university/courses/js) is a great prerequisite before starting an Ethereum bootcamp. --- # How to Call Another Smart Contract On Ethereum URL: https://www.alchemy.com/overviews/solidity-call-another-contract.md It is possible on [Solidity](https://www.alchemy.com/overviews/solidity) to create smart contracts that borrow [functions of other contracts](https://www.alchemy.com/overviews/solidity-functions). We call the smart contract that does the borrowing the **caller smart contract** and the smart contract whose function is borrowed the **called smart contract**. This article will explain when developers should call another contract and a tutorial through example code. ## **Why call another contract** One of the biggest advances that Ethereum brought to blockchains was the ability to upload and compute code on-chain. Once these programs, [known as smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract), are uploaded to the blockchain, they cannot be edited. Anyone can view them and, if coded right, they can be interacted with by smart contracts, even if their owners do not know one another, effectively turning smart contracts into reusable libraries. A smart contract whose owner intended its code to be used for one purpose can be reused by thousands of others for their own use cases via calling. Another reason that people call other smart contracts is because while programming, their original smart contract reached the size limitation of 24,577 bytes before completion. To workaround this, developers move enough of the functions to a new smart contract such that they are below the byte limit.  ## **Calling another smart contract example** We have created two example smart contracts below to teach you how one contract can call another smart contract. ### **Call contract and update values** In this first contract, the value contained in `CalledContract` is updated by the `CallerContract`. ### **Sending ETH with a call** In this second contract, not only is the x value in `CalledContractReceivesEther` updated by `CallerContractAndSendEther`, but ETH will also be sent with the call. ## How to learn more about Solidity Want to [learn more Solidity](https://www.alchemy.com/overviews/learn-solidity)? With the recent acquisition of ChainShot, a [Solidity](https://www.alchemy.com/dapps/solidity) education platform, Alchemy University is offering a 7-week [Ethereum developer crash course](https://university.alchemy.com/?a=bd8da13d63), originally a $3,000 certification bootcamp, for free to the public. Secure your spot today! If you are new to development in general, Alchemy's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # What is the Solidity compiler? URL: https://www.alchemy.com/overviews/solidity-compiler.md Ethereum developers [writing smart contracts in Solidity](https://docs.soliditylang.org/en/v0.8.16/using-the-compiler.html#compiler-tools) must run their code through a compiler so that the **Ethereum Virtual Machine \(EVM\)** can understand and execute appropriate commands. The [Solidity](https://www.alchemy.com/overviews/solidity) compiler converts the code to a collection of byte instructions.  Solidity is the programming language for Ethereum, the second-largest cryptocurrency by market capitalization. Solidity is a high-level programming language created specifically for putting smart contracts into action. Additionally, Solidity is a contract-oriented and object-oriented language with statically-typed objects. In this article, we will walk you through the Solidity compiler, how to install Solidity compilers, Solidity compiler tools, and even decompilers that are publicly available.  ## **What is the Solidity compiler?** There are two Solidity compilers: **solc** and **solc.js**, which is derived from solc. The actual Solidity compiler, solc, is written in C\+\+ and is at version 0.8.16 at the time of this article. Solc.js uses Emscripten to compile the C\+\+ code into JavaScript. Solc is compiled into JavaScript for every version.  Solidity files are assembled using the Node.js library and command-line tool known as solcjs. It uses only JavaScript for compilation rather than the solc command-line compiler, making it simpler to install than solc.  Before smart contracts can be deployed they must be compiled to bytecode for the [EVM \(Ethereum Virtual Machine\)](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm). Bytecode is the information that Solidity code is "translated" into, and it contains binary computer instructions. In Ethereum, the bytecode is what is deployed to the blockchain. The compilation also generates an [ABI \(Application Binary Interface\)](https://www.alchemy.com/overviews/solidity-abi) which is an interface between two program modules, often between operating systems and user programs. Contracts are compiled into bytecode that is executed on the EVM. This bytecode is deployed to the blockchain and saved at an address. It is then made public and available for anyone to interact with. An address identifies a deployed contract instance, which also holds persistent storage for maintaining the contract's internal state. Ether, Ethereum's native cryptocurrency, is used as a store of value, a method of payment for executing smart contracts on the blockchain, and a reward for miners who keep the Ethereum network secure. The following is a quick example of how a contract is compiled. We will be compiling this code using Remix, a [popular online Ethereum IDE](https://www.alchemy.com/overviews/solidity-ide), so we do not have to install any tools to our local machine. From the image below, you should notice the pink and purple arrows at the bottom of the image pointing to the ABI and the bytecode respectively. ABIs are represented as JSON. ## **How to install the Solidity compiler** While [learning Solidity](https://www.alchemy.com/overviews/learn-solidity), you may want to install a Solidity compiler. There are various convenient ways of installing the Solidity compiler. An easy method is to use Remix, where you have the option of using it online and. However, this is designed for small contracts and has little compilation options.  For larger contracts you can install the Solidity compiler using npm/Node.js, Docker, Linus, MacOS packages and from static binaries. ### **Method 1: install using npm/node.js** The Solidity compiler also known as solc can be installed using npm. The command below will install the solcjs program and make it available throughout the system. You can now test your Solidity compiler by running the following command. You are now ready to use solcjs, which has fewer features than the standard Solidity compiler but will provide you with a good starting point. ### **Method 2: install using Docker** To get started with Solidity programming, you can download a Docker image and use it. Because the Docker image runs the compiler executable, you can pass it any compiler arguments. The command to pull a Solidity Docker Image is as follows. After downloading a Docker image, run the following command to verify it. To compile Solidity files on the host machine using the Docker image, mount a local folder for input and output and specify the contract to compile. ### **Method 3: install using binary packages \(MacOS, linux\)** #### MacOS installation We can use Homebrew to install Solidity on MacOS. This provides us with built-from-source macOS packages, and we simply need to follow the installation instructions. After the execution has completed, we can verify that Solidity has been successfully installed running the command below. You should receive an output like this: #### Linux installation Installing Linux packages is a very simple procedure that can be completed in just a few steps. First, add the repository to our repository list. Then Update the package list and install solc. If we want to use the nightly build instead of the latest stable release, we should change the repository entry to ethereum/ethereum-dev. ## Compiling a sample Solidity smart contract The following code uses our sample contract provided above. To compile a contract we can run the following code. To use a specific EVM-version to compile our contract, we can set the version as follows. ### **What is Solidity-upgrade?** **The solidity-upgrade allows you to upgrade your contracts to reflect breaking language changes.** While it does not and cannot make all the necessary adjustments for every breaking release, it nevertheless supports the ones that would otherwise require a lot of tedious manual adjustments. ### How does Solidity-upgrade work? Solidity-upgrade, which is based on _libsolidity_, can parse, compile, and analyze your source files in order to find applicable source upgrades. Source upgrades are regarded as minor textual alterations to your source code. They are applied to an in-memory replica of the provided source files. The upgrade has two phases: #### **First phase** Firstly, since it is not possible to upgrade source code at that level during the parsing of source files, errors are gathered and can be logged by giving the —verbose flag. There are currently no source upgrades available. #### **Second phase** In the second phase, all sources are compiled and all activated upgrade analysis modules are run alongside compilation. By default, all available modules are activated.  Compilation issues may emerge from solidity-upgrade, which source updates are potentially able to fix. If there are no problems, there are no source upgrades being reported, and you are finished. If issues happen and a source upgrade was reported by an [upgrade module](https://docs.soliditylang.org/en/v0.8.16/using-the-compiler.html#compiler-tools), the first reported source upgrade is applied and recompilation is initiated for all provided source files. ## **What is a Solidity decompiler?** **The Solidity decompiler is a tool that takes compiled smart contract EVM code as input and decompiles it to Solidity-like source code.** The decompiler helps in verifying and understanding the behavior of contracts.  The Solidity decompiler is useful in debugging smart contracts where the original code is unavailable. However, the technology behind decompiling EVM bytecode is still in development as some of the decompilers available only partially decompile complex contracts, with much of the low-level code frequently missing from the decompiled version. ### **Ethereum virtual machine \(EVM\) decompilers** Here is a list of popular Solidity decompilers: #### **1. Ethervm.io** [Ethervm.io](https://www.alchemy.com/dapps/ethervm-decompiler) is a free online decompiler that decompiles Ethereum contract bytecode into more readable Solidity-like code. **Get started:** [https://ethervm.io/decompile](https://www.ethervm.io/decompile) #### **2. JEB decompiler** The JEB decompiler provides specific capabilities such as code analysis to determine methods without access to an ABI. JEB has become the preferred tool for security auditors, vulnerability researchers, and reverse engineers investigating opaque smart contracts running on Ethereum platforms. Get started: [https://www.pnfsoftware.com/jeb/manual/ethereum/](https://etherscan.io/bytecode-decompiler) #### 3. Etherscan online decompiler The [Etherscan online decompiler](https://etherscan.io/bytecode-decompiler) is a decompiler for the Ethereum Virtual Machine \(EVM\) that extracts information from Runtime bytecode and presents it in a more human-readable format. #### **4. Evemedis by nick johnson** Evemedis is an EVM disassembler. It performs static analysis on the bytecode in order to provide a higher level of abstraction than raw EVM operations. Get started: [https://github.com/Arachnid/evmdis](https://github.com/Arachnid/evmdis) #### **5. Decurity** Decurity is an ABI decompiler that implements simple tools for recovering EVM smart contract ABI, including function names. Get started: [https://github.com/Decurity/abi-decompiler](https://github.com/Decurity/abi-decompiler) ## **Final thoughts** Now you understand what Solidity compilers are, how to install them and how to compile a simple contract. The Solidity documentation contains more information on Solidity compilers. If you’re just [starting to learn Solidity](https://www.alchemy.com/overviews/learn-solidity), secure your spot in Alchemy University's 7-week Solidity developer bootcamp to [master the fundamentals of Ethereum](https://www.alchemy.com/university/courses/ethereum?a=8e8f08e668) development in a free, interactive, and comprehensive online course. If developers are new to development in general, Alchemy University's [**3-week JavaScript crash course**](https://www.alchemy.com/university/courses/js?a=8e8f08e668) is a great prerequisite before starting an Ethereum bootcamp. If you've got the basics covered and want to dive deep, check out [Alchemy's new Solidity Course](https://www.alchemy.com/university/courses/solidity?a=8e8f08e668) --- # What is the Solidity console log? URL: https://www.alchemy.com/overviews/solidity-console-log.md Debugging is a vital and reoccurring step in [learning how to write Solidity smart contracts](https://www.alchemy.com/overviews/learn-solidity), patch vulnerabilities, and fix problematic bugs. The two typical development errors in smart contracts consist of runtime errors and logic errors. Leveraging tools that empower the understanding of developers allows for an easier developer experience, especially when it comes to fixing errors in programs. Similar to JavaScript development, the `console.log()` function is used to return an output message to the web console, which helps the debugging process. The `console.log()` accepts a parameter \(i.e. array, object or message\) and prints the value in the web console for developers to evaluate. This method enables developers to navigate the issue that may occur through outlining the output of the code step-by-step. In this article, we’ll show you the main way to debug [Solidity](https://www.alchemy.com/overviews/solidity), review debugging tools in [Hardhat](https://www.alchemy.com/dapps/hardhat), Foundry, Truffle, and [Brownie](https://www.alchemy.com/dapps/brownie), and then provide debugging tips. ## **What is the Solidity console log?** Logging to the console is a common tool used to debug code, and `console.log()` **is a function from a contract library provided by Hardhat.** Logging outputs information to the console helps developers understand and troubleshoot issues in their program. In [Solidity](https://www.alchemy.com/dapps/solidity), this would be referred to as an event. Ethereum offers a logging functionality which stores data in the transaction’s log data structure in the blockchain. Solidity events provide an abstraction to this functionality as it enables developers to output data on the blockchain. Because the logs stay intact with the contract address in the blockchain and remain accessible with the block, Solidity developers can query and reference the blockchain for the specific transaction data. ### **Use cases for using Solidity events** [Solidity events](https://www.alchemy.com/overviews/solidity-events) can be used in a variety of methods including testing smart contracts, indexing for transaction data, referencing for frontend development and more. Most commonly, developers will use events in three uses cases: 1. In smart contracts to return values that can be used in the frontend 1. Asynchronous trigger for the smart contract to emit an event that triggers the frontend to do an action 1. Cheaper form of storage as the data is stored in the transaction log. Within events, the parameters can be specified as indexed or non-indexed. The transaction data within a log will be viewed as encoded if the contract is verified, otherwise it will display as non-indexed or hashed. In other cases, if the development process takes place within supportive environments such as **Hardhat**, the `console.log()` function can be used in addition to events and this would function similarly to JavaScript development. ### **Why are console logs important?** **Console logs serve as a necessary tool for developers in the smart contract debugging process.** Console log is a combination of the testing environment of the program \(console\) and a function used to output data \(log\(\)\). In essence, console log provides an output of the program in a test environment that can be leveraged in the development and debugging process. If an error or issue arises in the program, the console log would be used as a primary step to inspect the code and identify the root cause of a bug. While writing [Solidity smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract), console logs similarly serve as an effective step in the debugging process to extract the code and understand the logic. ### **How does logging in Solidity work?** **Logging, otherwise known as event-watching protocol or event, results in signals that are generated by transactions and blocks, which are used to provide information that cannot be obtained by the smart contract.** Solidity has a concept of an 'event'. Events can be emitted in smart contract functions and can have 0 to 4 topics which are indexed for quick lookup. In Solidity the 'emit' keyword is used to emit events. This is translated into one of the EVM's opcodes, LOG0, LOG1, ... , LOG4.  Because contact data lives in the States trie and event data is stored in the Transaction Receipts trie, smart contracts cannot read event data. The transaction data or log entries consist of the: - **Address** - the address of the contract - Topic - the indexed values of the event - Data - the ABI encoded values or non-indexed values of the event ## **Solidity debugging tools in Hardhat** [Hardhat](https://book.getfoundry.sh/) is an Ethereum development environment focused on enabling developers to locally develop Solidity smart contracts and empower them with essential Solidity debugging tools.  Hardhat provides a suite of tools for testing, compiling, deploying and debugging [apps](https://www.alchemy.com/dapps/top/defi-dapps). By leveraging the Hardhat Network, developers are able to create, compile, and deploy smart contracts from their local machine through the [Solidity interface](https://www.alchemy.com/overviews/solidity-interface). ### **1. Console.log** Within the Hardhat Network, the `console.log()` function can be used as a reliable tool to output logging messages and extract details directly from the Solidity code. The Hardhat Network is designed to provide flexible and comprehensive execution inspection regardless of transaction failures. #### **How to print to Solidity console logs** Solidity console logs can be printed in a structure similar to JavaScript. Once the import is completed, the `console.log()` function can be used within the function to print specific output depending on the context of the smart contract. The following code outlines the process. **First, import hardhat/console.sol into the smart contract** Next, add the `console.log()` **function into a specific function within the smart contract:** Note: Hardhat's console log tool can only be used once hardhat/console.sol is imported into the smart contract. ### **2. Solidity stack traces** Hardhat's stack trace tool is a combination of JavaScript and Solidity that provides a report when a transaction occurs or a call fails. This automated error reporting provides developers with valuable information to evaluate and debug their smart contract. ### **3. Explicit errors** Hardhat provides a variety of possible errors that can help developers simplify the debugging process including: - general - network - task definition - arguments - dependencies resolution - built-in tasks - artifacts - plugins - internal - source names - contract names ### **Solidity console log tip: use events and functions to improve debugging** Events can be used to output data from the transaction logs to the console for both debugging and production stages. An event serves as a marker to indicate if a process takes place. Additionally, events will indicate if an issue has occurred at particular steps. Such a process is similar to the [“require” keyword](https://www.alchemy.com/overviews/solidity-require) in Solidity, which checks if a condition is true and allows code to flow only if and when the required condition is true. To start using events and functions to improve debugging, create an event that is properly defined and emit the event in the function. These two steps ensure that the event will occur once the function is called. ## **Additional Solidity console log tools** While Hardhat is the industry standard Solidity development tool for building, testing, and debugging smart contracts, there are a few alternative tools for troubleshooting Solidity code including Foundry, Truffle, and Brownie. ### **1. Foundry** [Foundry](https://www.alchemy.com/dapps/foundry) offers a suite of Ethereum smart contract development tools that enables the management of dependencies, smart contract compilation, deployment, testing, and on-chain interactions. The Foundry toolkit can be integrated with Hardhat to leverage its `console.log()` function for the debugging process. Developers can call the function with up to 4 parameters, including uint, string, bool and address. #### **Forge** Forge is a command-line \(CLI\) tool integrated with Foundry to test, build, and deploy smart contracts. This testing framework enables developers to create tests in Solidity using JavaScript or TypeScript as well as unlock numerous features for the debugging process. The forge `test` command automates the Solidity tests and further provides a summary of the results including logs and stack traces. The forge `debug` command is also an interactive debugger that reviews a single smart contract as a script to identify any errors in the program. #### **Cast** Cast is a command-line interface \(CLI\) tool that interacts with Ethereum RPC calls. This consists of smart contracts calls, transactions, or chain data retrieval via the command line. #### **Anvil** Anvil is a local testnet node integrated with Foundry to enable smart contract deploying and testing from the frontend or via interactions over RPC \(Remote Procedure Calls\) with EVM \([Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)\) compatible networks. ### **2. Truffle** Truffle offers three Ethereum smart contract developer tools: a development environment, a testing framework and an asset pipeline for blockchains. Truffle’s inclusive ecosystem provides developers with various tools to create, test, and debug end-to-end decentralized applications.  These tool sets offered by Truffle are: - **Smart contract toolkit** - compilation, linking, deployment, etc. - **Debugging** - breakpoints, variable analysis, step functionality, automated contract testing - **Management** - network, package, migrations frameworks **Learn More:** [https://trufflesuite.com/docs/truffle/](https://trufflesuite.com/docs/truffle/) ### **3. Brownie** Brownie is a Python-based development and testing framework for smart contracts in Ethereum with support for [Solidity and Vyper](https://www.alchemy.com/overviews/solidity-vs-vyper), and it is divided into 4 categories: testing, debugging, interaction and deployment. Each step supports developers in creating flexible programs. Developers can access various debugging tools to gather detailed information about transaction failures and to locate, replicate, and troubleshoot Solidity errors. - **TransactionReceipt.revert_ms** - get a direct explanation message for the transaction failure - **TransactionReceipt.error()** - locate the root cause and section of the smart contract that caused a failed transaction - **TransactionReceipt.events** - view events that fired in reverted transactions - **TransactionReceipt.trace** - view a list of dictionaries containing the transaction information - **TransactionReceipt.call_trace()** - view a full map (trace) of the transaction steps Developers can also leverage **pytest** for unit testing smart contracts, then review the **stack trace** report that is provided. **Learn More:** [https://eth-brownie.readthedocs.io/en/v1.2.1/index.html ](https://eth-brownie.readthedocs.io/en/v1.2.1/index.html) ## **Learn about the Solidity console log with Alchemy University** This article has introduced you to the most popular logging and debugging tools for developing Solidity smart contracts. If you’re learning Solidity, selecting the best tools for smart contract debugging is essential for solving the issues you face in Solidity development. To start or accelerate your Solidity development training, explore Alchemy University's free, 7-week [Solidity developer bootcamp](https://www.alchemy.com/university/courses/solidity?a=671a6a00bd), originally a $3,000 certification course taught by ChainShot, is now fully integrated with Alchemy! If you are new to development in general, Alchemy's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # The 7 Best Solidity Development Courses (2024) URL: https://www.alchemy.com/overviews/solidity-course.md The first step in becoming a web3 developer is [learning Solidity](https://www.alchemy.com/overviews/learn-solidity), and the easiest way to master Solidity is through online courses and [Solidity tutorials](https://www.alchemy.com/overviews/solidity-tutorial).  [Solidity is the fundamental programming language](https://www.alchemy.com/overviews/solidity) for developers who want to learn how to create and deploy smart contracts on the Ethereum network. Once developers know Solidity, they can turn their dreams into functioning and deployable code. Whether devs want to create a new DeFi project, make a new NFT collection, or launch a DAO, a thorough understanding of Solidity will allow them to do so.  ## Best Solidity courses \(2025\) While some developers have been able to [learn the basics of web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) on YouTube or through trial and error, one of the best ways to learn Solidity is through a dedicated online course specific for learning how to become a Solidity developer.  Online Solidity courses can be standalone courses that last a couple hours and cover the fundamental concepts of Solidity, or they can be a series of courses combined in a Solidity bootcamp, to teach intermediate and advanced Solidity programming concepts. For each of the following courses we will cover the course overview, duration, format, level, and cost. ## 1. Alchemy University's Solidity development course The [free Solidity Development Course](https://www.alchemy.com/university/courses/solidity) is an intermediate-level series of guided video lessons and hands-on projects for learning the fundamentals of writing Solidity smart contracts. The course covers Solidity basics including: 1. Smart contracts 1. Functions 1. Value types 1. Sending Ether 1. Reverting transactions 1. Calling contracts 1. Escrow contracts 1. Reference types 1. Arrays, structs, and mappings 1. Contracts for voting, inheritance, etc. Developers are encouraged to complete Alchemy University's [free JavaScript for Ethereum course](https://www.alchemy.com/university/courses/js) before starting the Solidity course. ## 2. Alchemy University's Ethereum developer bootcamp Developers can attend our free [7-week Ethereum Developer Bootcamp](https://university.alchemy.com/ethereum) to learn about cryptography, Ethereum, smart contracts, and [apps](https://www.alchemy.com/dapps/top/defi-dapps). At Alchemy University, we offer a hands-on learning experience where programmers build blockchain protocols after attending masterclasses from experts. ### Course overview Our Ethereum Developer Bootcamp helps aspiring web3 developers and senior web2 developers looking to transition to Ethereum development learn Solidity, the most popular web3 programming language. Graduates from our bootcamp have been hired by web3 companies, including [OpenSea](https://www.alchemy.com/dapps/opensea), [Zapper](https://www.alchemy.com/dapps/zapper), and many more great blockchain startups. The course guarantees four key milestones that students will achieve by the end of the course: #### 1. Acquire core blockchain cryptography skills Students learn foundational cryptography skills that allow them to understand the fundamentals of blockchain technology that underlie all major blockchain ecosystems.  #### 2. Gain a deep understanding of Ethereum Ethereum is a surprisingly complex ecosystem, and to fully understand it, devs must master the Solidity language in which its smart contracts are built. In the course, students gain a fundamental understanding of the technology behind Ethereum, the history of the network, its applications, and the future of where it may go.  #### 3. Master smart contract development By the time developers complete the Solidity bootcamp, they will have mastered smart contract development. Our instructors ensure students start with manageable smart contracts to understand the fundamentals and then get progressively more advanced. The course also includes multiple games, puzzles, and coding challenges to hone their Solidity skillsets. #### 4. Build and deploy decentralized applications Our Solidity bootcamp gives students an opportunity to build and deploy decentralized applications under the mentorship of blockchain developers. This structure, guidance, and managed approach makes it the best solidity course in 2023.  ### Duration The Ethereum Developer Bootcamp is 7-week collection of Solidity courses, and each day has around 3 hours of course material to complete. During the 7-week bootcamp, students will learn a different aspect of Solidity development. Here are some of the topics covered in the bootcamp: - UTXO & Account Models - Merkle Trees - Ethereum JSON-RPC - Ethereum Transactions - Ethers.js - Intro to Solidity \+ Smart Contracts - Solidity Functions \+ Visibility - Contract ABI, Bytecode \+ Solidity Events - Events \+ Contract Listening - Solidity Error Handling - Solidity Mappings - Solidity Modifiers \+ Structs - Inheritance - ERC-20 Tokens - Interfaces, call, delegatecall, fallback - Re-Entrancy - Libraries - Smart Contract Upgradeability ### Format Our Ethereum Development Bootcamp takes a multimodal approach to help students become Solidity developers. For example, during some days of the bootcamp, there will be a live class, coding exercise, and article. However, on other days, students may be assigned a video to watch, work on a project, or take an assessment.  Once you finish the course, you will receive a certificate that distinguishes you as a successful Solidity developer! ### Level and prerequisites Before joining the bootcamp, students should understand the fundamentals of JavaScript and the Solidity course mentioned above. Students will use JavaScript, and the appropriate libraries, to build the front end of their decentralized applications and communicate with the Ethereum blockchain. Other than that, we don't require a complete understanding of blockchain or Ethereum technology, just a passion for learning Solidity! ### Cost The Ethereum Developer Bootcamp, run initially by ChainShot and priced at $3,000, is now completely free for new students following ChainShot’s acquisition by Alchemy. [Alchemy and ChainShot have partnered](https://www.alchemy.com/blog/alchemy-acquires-chainshot) to make the course accessible at no cost. ## 3. Cyfrin updraft [Cyfrin Updraft](https://updraft.cyfrin.io) is a web3 developer learning platform with 50\+ hours of step-by-step smart contract development courses and projects taught by the industry’s leading experts. Completely for free! ### Courses Cyfrin Updraft offers 5 courses: 1. **Blockchain basics** - for total beginners 1. **Solidity smart contract development** - for new smart contract developers 1. **Foundry basics** - for intermediate web3 developers 1. **Foundry advanced** - to learn advanced testing and deployment practices 1. **Smart contracts security and auditing** - to learn how to audit others' codebases ### Duration 50\+ hours of lessons, divided into more than 200 videos, and 5 courses to kickstart your smart contract development career while building real-world projects for your web3 portfolio. All the courses are asynchronous, with the possibility of joining cohort-based sessions. It offers self-paced video and text lecture series and 24/7 community support. - **Duration** - 50 hours of content across 267 lectures - **Format** - self-paced, asynchronous, cohort-based - **Level** - beginner to advanced - **Prerequisites** - basic understanding of JavaScript and npm \(Node Package Manager\) - **Cost** - Free ## 4. Ethereum and Solidity: the complete developer's guide This course is a self-paced asynchronous video tutorial series on Udemy, taught by Stephen Grider. By the end of the course, students should be able to “use Ethereum, Solidity, and Smart Contracts to build production-ready apps based on the blockchain.” Once students finish this course, they receive a certificate of completion.  ### Duration This course has nine sections, 267 lectures, and is 24h 17m in total length. If students want to take the course slowly and complete one section a week, the course will take around nine weeks. However, if a student wants to finish the course quickly, they could do so in as short as a week.  This class is an asynchronous, self-paced video lecture series and also includes over 30 articles, 100\+ downloadable resources, and a certificate of completion. - **Duration** - 24 hours of content across 267 lectures - **Format** - self-paced, asynchronous - **Level** - beginner to intermediate - **Prerequisites** - basic understanding of JavaScript and npm \(Node Package Manager\) - **Cost** - $29 ## 5. Master Ethereum & Solidity programming from scratch The "Master Ethereum & Solidity Programming From Scratch" course is a self-paced asynchronous video tutorial series on Udemy, taught by Andre Dumitrescu. The course comes with over 40 downloadable resources and over 20 suggested articles. Once students finish this course, they receive a certificate of completion.  - **Duration** - 9 hours of video content  - **Format** - self-paced, tutorial series with supplemental resources - **Level** -  intermediate and above - **Prerequisites** - proficient in programming, a basic knowledge of blockchain - **Cost** - $16.99 ## 6. Certified Solidity developer \[blockchain council\] Blockchain Council is a blockchain developer education center and certificate provider. Blockchain Council’s Certified Solidity Developer program is designed to suit enthusiasts from all backgrounds. students typically watch the lectures, practice the learned content by themselves, and then proceed to the following lecture. Because this program has an exam, students will also have to study for the exam and get a passing grade.  - **Duration** - 5 hours of video content  - **Format** - self-paced, asynchronous - **Level** - beginner to intermediate - **Prerequisites** - proficiency in a programming language is advantageous but not mandatory - **Cost** - $249 At over two hundred dollars, Blockchain Council has the most expensive course on this list. However, some students are willing to pay for the credibility garnered by passing Blockchain Council’s exam.  ## 7. Ethereum blockchain developer bootcamp with Solidity This Udemy Solidity development course is taught by Ravinder Deol, Thomas Wiesner, and Haseeb Chaudhry. This course hopes to allow students to “become an Ethereum blockchain developer with one course.” It aims to help students master Solidity, [web3.js](https://www.alchemy.com/dapps/web3-js), Truffle, Metamask, Remix, and more. Like most of the other courses on this list, this class is a self-paced video tutorial format, which means students will read the required articles, watch the lectures and then complete the exercises. - **Duration** - 12 hours of video content  - **Format** - self-paced, asynchronous - **Level** - beginner to intermediate - **Prerequisites** - proficiency in programming suggested \(not mandatory\) - **Cost** - $19.99 At the end of the course, students will receive a certificate of completion.  ## The best courses for learning Solidity When choosing a Solidity course for learning how to become an Ethereum developer, it's important to evaluate the teachers, topics, format, and supplemental resources, and learning experience. For example, ChainShot's Ethereum Developer Bootcamp exhaustively covers what it takes to learn Solidity, is taught by engineers, and has a seemless developer experience for learning and building from your browser. ## Frequently asked questions ### What topics are covered in the best Solidity courses? Top Solidity courses typically cover smart contracts, functions, value types, sending Ether, reverting transactions, calling contracts, arrays, structs, mappings, inheritance, and error handling. ### Are there good free Solidity courses available? Yes, Alchemy University offers completely free Solidity courses, including a standalone Solidity Development Course and a comprehensive 7-week Ethereum Developer Bootcamp. ### How long does it take to complete a Solidity course? Course duration varies widely, from 5 hours of content to 50\+ hours, with Alchemy's bootcamp offering 7 weeks of material with about 3 hours of daily coursework. ### Do I need prior blockchain knowledge to start learning Solidity? While some courses include blockchain fundamentals, most beginner-friendly programs only require basic JavaScript knowledge and passion for learning web3 development. ### What's the difference between Alchemy's Solidity course and bootcamp? The Solidity Development Course focuses specifically on smart contract fundamentals, while the Ethereum Developer Bootcamp is a comprehensive 7-week program covering cryptography, Ethereum, and full dApp development. ### Do Solidity courses include hands-on projects? Yes, the best courses emphasize practical learning through building and deploying smart contracts, escrow systems, and decentralized applications with guided projects. ### Can I get a certificate from completing a Solidity course? Many platforms offer certificates of completion, including Alchemy University's bootcamp, Udemy courses, and specialized programs like Blockchain Council's certification. ### How much do quality Solidity courses cost? Costs range from free \(Alchemy University, Cyfrin Updraft\) to $249 for certification programs, with most Udemy courses priced between $16-$29. --- # Solidity Developer Guide: Education, Salaries, Jobs, & More! URL: https://www.alchemy.com/overviews/solidity-developer.md Blockchain technology has emerged as the new frontier of technological innovation in software development. [Solidity](https://university.alchemy.com/?) is a popular programming language among blockchain developers for building blockchain applications. The **Solidity Developer Survey 2021** shows a 100% increase in responses from 2020, with 80% of developers using Solidity daily/weekly.  McKinsey’s COVID-19 Digital Transformation & Technology report survey showed that COVID-19 has accelerated the growth of digital technology, with companies taking giant strides towards digital adoption. Consequently, the software development industry has grown steadily with the U.S. Bureau of Labor Statistics projecting 25% job growth from 2021 to 2031, higher than all other occupations.  But, what is Solidity development and what does a Solidity dev do? This comprehensive guide will explain all developers need to know about the blockchain [Solidity developer job roles](https://www.alchemy.com/overviews/solidity-jobs). ## **What is a Solidity developer?** A Solidity developer is a person who writes computer code in Solidity — an object-oriented, high-level, Turing Complete programming language that empowers programmers to build complex applications with diverse functionalities.  Solidity coders develop automated software called [smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract) that power Ethereum-based [decentralized applications](https://www.alchemy.com/dapps/top/defi-dapps). These smart contracts can also power the backend of all other Ethereum Virtual Machine \(EVM\) compatible blockchains such as Optimism, Arbitrum, Polygon, Astar, Avalanche, and more. ### **What type of work does a Solidity developer do?** Like traditional web2 developers, Solidity devs spend their time writing, testing, auditing, and debugging code. Here are a few specific tasks that Solidity developers routinely complete: - Develop, test, and deploy smart contracts and apps on EVM-compatible blockchains - Debug and audit smart contracts to increase security - Build new features to improve existing application functionality - Refactor Solidity code to integrate with new blockchains - Consult with managers, interdisciplinary teams, and 3rd party contractors - Brainstorm, workshop, and specify new business ideas - Design the network architecture and smart contracts for new products Solidity developers perform work tasks across the entire product development spectrum from writing smart contracts, to specifying new products, and managing production applications. ## **What kind of companies does a Solidity developer work for?** Although a Solidity blockchain developer can work in a vast range of companies, including roles with in-house web3 teams at web2 companies, Solidity devs can be broadly classified into three main web3 categories: DeFi, Web3, and Infrastructure. ### **DeFi** Despite the nascency of the DeFi sector, at the time of writing, the total value locked \(TVL\) in Ethereum DeFi protocols is $31.28 billion, according to [DefiLlama](https://www.alchemy.com/dapps/defillama), a DeFi analytics tool. An Ethereum Solidity developer is responsible for building smart contracts and maintaining DeFi protocols like lending/borrowing platforms and decentralized exchanges.   ### **Web3** Web3 is an umbrella term constituting decentralized, user-owned projects like NFT platforms, DAO tooling, Play-to-Earn gaming, and web2 products built on-chain. In Q2 2022, NFTs made $8 billion in trading, and crypto gaming apps made up 52% of all blockchain activity according to **nonfungible.com** and **dappradar** respectively.  A Solidity app developer will typically help build the smart contracts, tokens, and backend components of these web3 tools, games, and NFT platforms. ### **Infrastructure** A Solidity smart contracts developer writes the code to build a virtual infrastructure for apps. Infra developers build the primary digital environment where digital transactions and exchange of data takes place. ## **What does a typical day or week look like for a Solidity developer?** While each Solidity programmer has a different working style, a typical day in the life of a Solidity coder looks as follows: - Working remote \(most typical\) or in-person - Checking emails, internal communications \(e.g. Slack\), and attending video conferences with teammates - Writing code and reviewing pull requests \(PRs\) from other team members - Deploying smart contract code to local developer environments and testnets - Learning new Solidity best practices and testing new developer tools A Solidity developer has a lot of freedom to work remote, allocate time for deep work writing code, and learn best practices.  ## **What is the average Solidity developer salary?** Solidity developer roles are one of the highest-paid jobs in the market. According to cryptocurrencyjobs.co, the [average base salary](https://www.alchemy.com/overviews/solidity-developer-salary) for Solidity developers in the US is $127,500, with a low base salary of $80,000 and a high base salary of $180,000. This figure might differ based on location, company, and experience. The following is a list of location-based salary structures of Solidity developers per year \(US Dollars\): - **North America** - $80K-$180K - **Europe** - $80K-$135K - **Asia** - $46K-$116K - **Oceania** - $85K-$120K - **South America** - $49K-$150K - **Africa** - $49K-$75K - **Remote** - $111K-$200K      ## **What qualifications do a Solidity developer need to be successful?** Developers need to [gain Solidity skills](https://www.alchemy.com/overviews/learn-solidity) and expertise to become successful programmers including solid technical knowledge on Solidity and other web3 programming languages, fundamental programming skills, an awareness of [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices) best practices, and various soft skills. ### **Technical knowledge** Computer programming languages like C\+\+, Python, and JavaScript, have inspired the Solidity language. Thus, a fundamental understanding of these languages and developer tools like Hardhat and Alchemy, are advantageous prerequisites for becoming a Solidity coder. To start building with Alchemy’s suite of developer tools, [open a free Alchemy developer account](https://dashboard.alchemy.com/signup?a=4b6b752cb8). ### **Basic technical skills** Smart contract Solidity programmers require detailed and foundational knowledge of how blockchain technology and smart contracts function. Therefore, an intermediate to advanced understanding of Ethereum token standards \(ERC-20, ERC1155, and ERC721\), and familiarity with blockchain project development are necessary.   ### **Security expertise** Hackers and scammers are always searching for bugs and vulnerabilities in the code to steal user funds. Thus, Solidity programmers must have specialized knowledge in [debugging smart contracts](https://www.alchemy.com/overviews/solidity-console-log), and learn the basics of improving [smart contract security](https://www.alchemy.com/overviews/smart-contract-security-best-practices). ### **Soft skills** Solidity coders need to have good communication skills, the ability to work in a distributed team environment, be attentive to details, and have a willingness to keep learning. While developers will mainly be focused on code, forming meaningful relationships and excelling in collaborative work spaces brings lots of value to a team’s culture. ## **How to become a Solidity developer?** You can [become a Solidity developer](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer) by learning Solidity, mastering complimentary web3 developer tools such as IDEs, smart contract standards, and development frameworks, and gaining hands-on experience. ### **1. Learn Solidity** The first and obvious thing to do is to learn the Solidity programming language. Solidity developers can attend our free Bootcamp at [Alchemy University](https://university.alchemy.com/?) to learn about cryptography, Ethereum, smart contracts, and apps. Alchemy University offers a hands-on learning experience where Solidity programmers build blockchain protocols after attending masterclasses from experts. ### **2. Learn complementary developer tools** Rather than building apps from scratch, Solidity coders can benefit from [blockchain development tools](https://www.alchemy.com/overviews/20-blockchain-development-tools#frameworks-2) like software frameworks and Integrated Development Environments \(IDEs\). These frameworks and IDEs come with library suites, plugins, and tools for creating, testing, compiling, deploying, and debugging Ethereum applications.  For example, Solidity developers can learn about frameworks like Hardhat, Truffle, and Embark; and IDEs like Remix, EthFiddle, and Ethcode. ### **3. Build your experience as a Solidity developer** Participation in [web3 hackathons](https://www.alchemy.com/hackathons) demonstrates that Solidity developers have the necessary skills to build products in stressful situations. Therefore, aspiring Solidity programmers are encouraged to attend Web3 hackathons, and add their experiences on resumes or LinkedIn profiles because recruiters consider winning hackathon awards, bounties, or prizes as an extra achievement. You can also contribute to an open-source project to learn and build your experience.    ## **Start building with Solidity on alchemy’s developer platform** In the next decade, Solidity developer roles will become one of the most sought-after job opportunities in the software engineering and blockchain industries. You can search through different [Web3 job boards for Solidity developer positions](https://www.alchemy.com/overviews/solidity-jobs) and start applying. --- # Solidity Developer Salary Guide (2024) URL: https://www.alchemy.com/overviews/solidity-developer-salary.md With the rising popularity and use case for blockchain technology, new and existing developers are looking for full-time roles in web3. According to cryptocurrencyjobs.co, the average base salary for [Solidity](https://www.alchemy.com/overviews/solidity) developers in the US is $127,500, with a low base salary of $80,000 and a high base salary of $180,000. This figure might differ based on location, company, and experience. This article covers why the demand for Solidity developers is surging, and what devs can expect to get paid when they [get a Solidity developer job](https://www.onetonline.org/link/localwages/15-1299.07?zip=94117) as an intern, entry-level dev, junior dev, and senior dev. ## **What does a Solidity developer do?** Solidity developers design, build, deploy, and manage [**smart contracts**](https://www.alchemy.com/overviews/solidity-smart-contract) on Ethereum-based applications using Solidity — an Ethereum native programming language. Solidity developers work for enterprise companies within blockchain departments, at venture-backed web3 startups, blockchain protocols, and some devs work as freelancers contributing to open-source projects. Because web3 is global, many Solidity engineers are able to work remotely. ### **Solidity developer job description** Solidity developers are typically responsible for the following job duties: - Develop and deploy secure, gas efficient smart contracts - Conduct smart-contract audits and penetration testing - Build application-specific integrations - Provide support for partner integrations - Document best practices around code quality and operations - Collaborate with product managers and multi-disciplinary teams - Interface with project and community leaders - Assess new tools and Github repositories to improve product quality This is a small cross-section of what solidity developers are responsible for. ## **Why are Solidity programmers in such high demand?** **Solidity is the first [web3 programming language](http://www.alchemy.com/overviews/web3-programming-languages) used to build blockchain-based applications with smart contracts, and as the industry leader, as more builders entered the space since 2015, many have adopted Solidity as their primary web3 coding language.** Custom Market Insights forecasts indicate that the "Blockchain Technology Market" will continue experiencing growth at a compound annual growth rate of 65% until 2030. ### **5 reasons why the demand for Solidity devs is increasing** Solidity is an object-oriented programming language created to design smart contracts on the Ethereum network. With the increase in blockchain protocols and smart contracts created on the Ethereum network and EVM-compatible blockchains, the demand for Solidity devs is increasing. 1. Popularity of Blockchain Technology - Solidity outranks every other coding language twice as much in terms of popularity 1. EVM Compatible Networks - multiple L1s and sidechains use Solidity, including Polygon, Avalanche, Polkadot, BNB Chain, and many others 1. DeFi Product-Market Fit - Solidity is the primary programming language in decentralized finance \(DeFi\) ,  a multi-billion dollar industry 1. [Web3 Development](https://www.alchemy.com/overviews/how-to-learn-web3-development) - web3 is attracting new engineers, and Solidity is considered the best introduction to [learning web3 development](https://www.alchemy.com/overviews/learn-solidity) 1. **Supply and Demand** - there are not enough Solidity developers to fulfill the demand by web2 and web3 companies entering the blockchain space If you're deciding on learning a new programming language, Solidity is a great option to compliment fundamental programming languages like JavaScript. ## **What is the average salary for Solidity developers?** The average salaries for Solidity developers depend on their experience and geographic location, with annual salaries ranging from $25,000 to $225,000 per year. The following provides the average wage according to each [Solidity developer experience level](https://www.alchemy.com/overviews/solidity-developer): intern, entry-level, junior, and senior. ### **Solidity developer intern** Solidity developer internships are rare, but when they do occur, they are typically for a few months, and not paid on a salaried basis. If you were to extend an intern's rate to a salary basis, an average would be between $25,000–$50,000 depending on the company and location of the internship. ### **Entry-level Solidity developer** An entry-level Solidity developer might work for a seed-stage startup, an open-source project, or as an established web3 company. Entry-level Solidity developers According to **web3.career** can expect an average salary range from **$45,000 – $90,000**. The lower end of this range is biased towards international, remote developers where the cost of living is less expensive, and for devs at less-funded, or community-funded projects. The higher entry-level salaries $90,000 and above, are more likely to be paid to Solidity developers working for a cash-flow positive startup, or a company that completed a large fundraising round. ### **Junior Solidity developer** Because junior-level Solidity developers take on more complicated tasks, manage and train entry-level developers, and generally have more responsibilities, the average junior-level Solidity developer salary ranges from **$90,000 - $120,000**.   ### **Senior Solidity developer** The demand for experienced senior Solidity developers is at its highest in 2022, and the salary for experienced, senior-level Solidity developers salaries range from **$120,000 - $225,000** in cash compensation. ### **Freelance Solidity developer** Freelance Solidity developer rates range on various job board websites. On average, a freelance Solidity dev on **Arc** charges **$81–100** per hour. Hourly rates might increase to **$350 per hour** based on the freelance developer's expertise. ### **Token and stock option incentives** Depending on the type of company you work with, in addition to cash-based salaries, Solidity developers may receive additional financial incentives. For example, an open-source protocol may offer full-time, core contributors with token-based equity, and venture-backed startups will offer employee stock options. ## **How do Solidity developer salaries compare to Web2 developer salaries?** According to ONet Online, an occupation database, the [**top 10% of blockchain engineers**](https://www.onetonline.org/link/localwages/15-1299.07?zip=94117) in San Francisco earn over $208,000 per year, and it is the same reported annual salary for the top 10% of software developers in San Francisco. For comparison, the Bureau of Labor Statistics \(BLS\), the top 10% of software developers earn more than $153,250. Because web3 is a new industry, there is not a high amount of visibility into the actual salaries of the top Solidity developers compared to the highest paying web2 companies like **FAANG** \(Facebook, Amazon, Apple, Netflix, and Google\). Since blockchain is a new, high-growth, and lucrative industry, the scarcity of Solidity programmers can lead to significantly [higher salaries and non-cash-based compensation](https://vitto.cc/average-web3-developer-salary-in-usa-india-and-europe/) like tokens or equity. According to **Indeed**, salaries of senior web2 software engineers range between $87–179k, which typically takes a web2 engineer 5–15 years of experience to reach this salary rate, except at the highest paying FAANG-like companies. In contrast, because Solidity is a new programming language with incredible market demand, a senior Solidity developer might reach similar salary ranges with just 2-3 years of experience. ## **How do I learn Solidity development?** Alchemy has partnered with ChainShot to expand the accessibility to web3 developer education, and are launching a revamped, 7-week [**Solidity developer Bootcamp**](https://www.alchemy.com/overviews/solidity-bootcamp), led by Alchemy University's best developer-educators. To learn the skills to become a professional, full-time Solidity developer, secure your place in line for Alchemy's upcoming bootcamp. With prior knowledge of programming languages such as C\+\+, Python, or JavaScript, students can learn Solidity in 2.5 months with Alchemy University's bootcamp. If students are new to development, they are encourage to take Alchemy University's 3-week JavaScript crash course. ## **Start earning a higher salary by becoming a Solidity developer** Blockchain is a generation-defining technology shift on the same scale as the personal computer, internet, and mobile phones. To take full advantage of the next 20 years of blockchain innovation, consider becoming a well-rounded blockchain engineer by learning Solidity and getting a full-time job in web3. --- # What are events in Solidity? URL: https://www.alchemy.com/overviews/solidity-events.md [Solidity](https://www.alchemy.com/overviews/solidity) events are crucial for smart contract developers because they allow smart contracts to index variables in order to rebuild the storage stage, help to automatically update the user interface, and allow for testing of specific variables. This article will develop your understanding of Solidity events and help you [deepen your understanding of the Solidity programming language](https://www.alchemy.com/university/courses/solidity?a=d7f2788ae5). We’ll first introduce Solidity events, then give some of their classifications, and provide examples. By the end of this article, you will be able to create a Solidity event for your next project. ## **What is an event in Solidity?** **In Solidity, events are dispatched signals that smart contracts can fire.** When you call events, they cause the arguments to be stored in the transaction’s log, which is a special data structure in the blockchain. Events notify external users, such as a listening frontend website or client application, that something has happened on the blockchain.  ### **What is the difference between events and functions in Solidity?** **While both functions and events accept arguments and can be called, functions modify smart contracts directly while events have the role of informing services outside of the blockchain to let users know that something has happened.** [Functions in Solidity](https://www.alchemy.com/overviews/solidity-functions) allow developers to read, write, change, and store data in the smart contract. You can pass arguments or parameters into a function. You can also call a function whenever it is needed in the code. Events also accept arguments, but these are stored in the transaction’s log, which is inaccessible to smart contracts. Contact data lives in the States trie and event data is stored in the Transaction Receipts trie, meaning contracts cannot read event data. Like functions, events can be called. However, the _emit_ keyword is used to call/dispatch events. This allows developers to know when an event or a function is being called. ### What is the relationship between events and logs? The Ethereum Log data structure stores the data emitted by events. The Ethereum Virtual Machine \(EVM\) has a logging function that is used to write data, including Solidity events, to a structure outside smart contracts.  Logs and events are often referred to synonymously. Events allow you to ‘print’ information to the logging structure in a way that is more gas-efficient since the information is not stored in a storage variable, which takes up more gas. Events, or logs, live in the Transaction Receipts trie, which is inaccessible to smart contracts.  #### **How are events indexed in Solidity?** **Solidity events are interfaces with EVM logging functionality.** You can add an attribute indexed to up to three parameters. Then they appear in the structure of topics, not the data portion of the log. When parameters do not have the indexed attributes, they are ABI-encoded into the data portion of the log. ## **Solidity event types** There are two types of Solidity events: those which are indexed and those which are not.  When parameters do not have the indexed attribute, they are [ABI-encoded](https://www.alchemy.com/overviews/solidity-abi) into the data portion of the log. These parameters form the byte array of the event. Data is encoded according to its type and can be decoded according to a schema.  Indexed parameters are also known as “topics”, are the searchable parameters in events. The indexed parameters will allow you to search for these events using the indexed parameters as filters. You can add an attribute indexed up to 4 parameters or 3 parameters based on whether the events are anonymous or not, respectively.  ## **How do events work in Solidity?** **Solidity events are declared, emitted, and registered.** 1. First, the event type has to be declared with the _event_ keyword in Solidity.  1. Next, the event has to be emitted with the keyword emit. 1. Anytime something in the blockchain changes, your program will automatically register this change and trigger the event  **Note:** Emitting an event after declaration allows you to then ‘listen’ for the event from your application using libraries like [Web3.js](https://www.alchemy.com/dapps/web3-js) or Ethers.js.  ### **How do you declare an event in Solidity?** **The declaration of an event contains the name of the event and the parameters that you want to save when you trigger the event.** First, you have to declare an event in Solidity. Then, you emit the event with the keyword _emit_.  The following is an example of how to declare an event:  The event, when triggered, will inform the external application that something on the blockchain has changed. ### **How are events emitted in Solidity?** After the event is defined, you can trigger the event using the keyword _emit_. Once an event is emitted, the arguments passed are stored in transaction logs.  The following syntax shows you how to use emit in Solidity: ## **How to listen to events in Solidity** Once events are emitted, you can listen for them by subscribing to catch these events using [ethers.js](https://www.alchemy.com/dapps/ethers-js). Then [apps](https://www.alchemy.com/dapps/top/defi-dapps), or anything connected to an Ethereum JSON-RPC API, can listen to these events and act accordingly. ### **Solidity event example** The following sample code defines and emits an event for transfers. This code is applicable to an Ethereum transfer application, where the event is triggered on a transfer. Additional code can be added to allow the event, upon triggering, to update the user interface to show that a transfer has taken place.  The next example, taken from **Solidity by Example**, creates an event that has two parameters: the address of the sender and the string message. When triggered, the event logs “Hello World” and “Hello EVM”.  ## **Keep learning about Solidity** This article introduces you to Solidity events and provides you with explanations and resources to use for your next project. With Solidity events, you will have an easier time creating efficient smart contracts. If you’re new to the Solidity language and you’re looking forward to building your first smart contract, secure your spot in Alchemy University's free, 7-week [online Solidity programming course](https://www.alchemy.com/university/courses/solidity?a=d7f2788ae5). --- # What is function visibility in Solidity? URL: https://www.alchemy.com/overviews/solidity-function-visibility.md In [Solidity](https://www.alchemy.com/overviews/solidity) smart contract programming, there is a provision that allows developers to decide who or what other smart contracts can call their functions based on specified restrictions. The ability to define how[ smart contract functions](https://www.alchemy.com/overviews/solidity-functions) can be interacted with is known as **function visibility**.  ## **What is function visibility?** The function visibility feature in Solidity smart contracts is used to ensure that when functions are specified, their level of accessibility, including public, external, internal, and private, are maintained as they were intended by the developers. If a developer doesn’t use the right function visibility type, or if no visibility model is specified in their code, the contract's default public visibility is exposed to potentially exploitable security vulnerabilities. Apart from the security implications of not having function visibility specified, smart contracts might not work as intended since the functions will be working without proper instructions.  ### **Who can call a smart contract function?** **There are three kinds of contracts that can call a function: the main contract itself, a contract inherited from the main contract \(DerivedContract\), and a third-party contract \(OutsideContract\).** [**‍**Calling a smart contract](https://www.alchemy.com/overviews/solidity-call) means to access the internal code that is in a smart contract and the data included in it. This is a way of retrieving data from the contract.  #### **1. The main contract \(MainContract\)** This is the syntax of the MainContract calling its function: #### **2. A contract inherited from the main contract \(DerivedContract\)** This is the syntax of a DerivedContract that is using a derived function from the MainContract: #### **3. A 3rd-party contract \(OutsideContract\)** This is the syntax of an OutsideContract that is is calling the main contract from an outside function. ## **How do function visibility modifiers and inheritance work together?** **Inheritance is when the contents of one contract are copied into another contract \(a “derived contract”\) by using the “is” keyword, and the function modifier visibility works with a derived child contract according to the type of visibility a contract is assigned.** The relationship between function visibility modifiers and inheritance is explained below: - If the modifier of the _ParentContract_ function is **public**, a _ChildContract_ can access it. - If the modifier of the _ParentContract_ function is **internal**, the _ChildContract_ can access it. - If the modifier of the _ParentContract_ function is **private**, the inheriting _ChildContract_ cannot access it.  - If the modifier of the _ParentContract_ function is **external**, the inheriting _ChildContract_ cannot access it. ## **How can function visibility modifiers help gas optimization?** Because the parameters for external function visibility modifier are not saved to memory, but read directly from calldata, [**smart contracts consume less gas**](https://www.alchemy.com/overviews/solidity-gas-optimization). In contrast public functions use input parameters are saved to memory, which costs more gas to deploy a smart contract. ## **What are function visibility modifiers?** There are four different types of function visibility modifiers that range from most accessible to least accessible: public, external, internal, and private. Developers should [modify functions](https://www.alchemy.com/overviews/solidity-modifier) with the correct visibility based on who they want to be able to see and call the function. ### **1. Public** **A public function can be accessed by any of the three types of calling contracts: main contract, derived contract, and a third party contract. A function is public by default.** As shown in the code sample above, any contract in the codebase can access the “`functionPublic`” function because of the “public” visibility.   ### **2. External** **An external function is a function that can only be called by a third party.** With the external function visibility, a contract that can call the function must be independent of the main contract and can not be a derived contract. Above is a random contract \(`RandomContract`\) that is performing some task. The code snippet below is an external contract that is calling the external function on the `RandomContract`. ### **3. Internal** **An internal function can be called by the main contract and any of its derived contracts.** Internal functions are accessible from the main contract in which they were initially declared and by the contracts that extend from this main contract through inheritance.  ### **4. Private** **A private function can only be called by the main contract in which it was specified.** Private functions are used initially according to common practice, but if the scope is wider than this modifier type, any other plausible modifier should be used. ### **What is the default function visibility in Solidity?** If the visibility modifier of a function is not explicitly declared in the code, the function is set to public visibility by default. Leaving the function visibility blank and relying on the Solidity compiler to use the default visibility is not a recommended best practice; intentionally setting the function visibility makes code more legible and easier to understand during code reviews. ## **What is the difference between function and state variable visibility modifiers?** **The difference between function visibility modifiers and state variable visibility modifiers is that state variables do not have the external visibility modifier option.**  State variables are variables whose values are permanently stored in contract storage, which holds data persistently between function calls. Like function visibility modifiers, state variables also have visibility modifiers which are Public, Private and Internal. ### **State variable visibility modifiers** State variables are declared in the contract section of the program. The variable data type is specified and after that, the visibility modifier is assigned to the variable.  #### **1. Public** A state variable with the _public_ modifier can be accessed by any contract in the application. If a variable is declared as _public_, the data stored in it can be read by the main contract, a derived contract, or an external contract.  #### **2. Internal** State variables declared with the _internal_ modifier can only be accessed within the contract in which they were defined and by a derived contract. A third party or another external contract cannot access the storage of the data defined as an _internal_ variable.  #### **3. Private** If a state variable is _private_, only the main contract in which they were declared can call them. The _private_ visibility modifier restricts access from other parties apart from the main contract so that the data it holds is protected.  ### **What is the default variable visibility in Solidity?** When the variable visibility is not defined, the default value is internal. It is best practice to declare a variable as private until the scope widens. ## **Keep learning about Solidity** This article introduces you to Solidity function visibility and provides you with explanations and resources to use for your next project. If you’re new to the Solidity language and you’re looking forward to building your first smart contract, secure your spot in Alchemy University's free, [online Solidity programming course](https://alchemy.com/university/courses/solidity?a=d7f2788ae5). --- # What are Solidity functions? URL: https://www.alchemy.com/overviews/solidity-functions.md There are multiple types of [Solidity](https://www.alchemy.com/overviews/solidity) functions including view functions, pure functions, special functions, and fallback functions. Functions also can be modified with a function visibility attribute of public, external, internal, and private. This article will introduce Solidity function types, syntax, how to read functions and visibility. ## **What are Solidity functions?** **Solidity functions are self-contained modules of code that accomplish a specific task.** Like other [web3 programming languages](https://www.alchemy.com/overviews/web3-programming-languages), Solidity allows the developer to write modular code by using functions to eliminate the redundancy of rewriting the same piece of code. Instead, devs can call a function in the program when it’s necessary.  ## **How to write and read a Solidity function** To write a Solidity function, developers need to structure it according to its proper syntax, and making sure to write its basic components to ensure the function can execute correctly.  ### **Solidity function syntax** Use the following syntax to create your Solidity function, as seen in the example below: 1. Define the function with the function keyword 1. Create a name for the function, which is unique and does not coincide with any of the reserved keywords 1. List any parameters containing the name and data type of the parameter or include no extra parameters 1. Create a statement block surrounded by curly brackets Note: [Solidity events](https://www.alchemy.com/overviews/solidity-events) are declared like functions. Events and functions are both integral to high-level dApp work. The image below shows the three main components of a Solidity function: 1. Function name 1. Function type 1. Return types ## **What are the different types of Solidity functions?** **There are various types of Solidity functions we’ll be covering in this section including** view functions, pure functions, special functions, and fallback functions. ### **1. View functions** In Solidity, view functions are read-only and cannot alter the state variables defined in a smart contract. The syntax for a view function is as follows: ### **2. Pure functions** A pure function declares that no state variable will be changed or read. Typically pure functions serve some common utility or calculation. The syntax for a pure function is as follows: ### **3. Special functions** Solidity has a couple of special functions that you can use when developing a smart contract. Getter and receive functions are important [payable functions](https://www.alchemy.com/docs/solidity-payable-functions) for smart contracts in Solidity. #### **Getter function** State variables defined as public have a getter function that is automatically created by the compiler. The function has the same name as the variable and has external visibility. #### **Receive ether function** A contract can have at most one receive function. A receive function cannot have arguments, is unable to return, and must have external visibility and payable state mutability. A receive function is executed on a call to the contract that sends Ether and does not specify any function. This function is declared as follows: ### **4. Fallback function** In Solidity, a fallback function is an external function without a name, arguments, or return values. Fallback functions are executed when a function identifier doesn't match any of the available functions in a smart contract, or if there was no data supplied along with the function call. ### **What is function overloading?** Function overloading occurs when you have multiple definitions for the same function name within the same scope. The definition of the function must differ from each other by the types and/or the number of arguments in the argument list. You cannot overload function declarations that differ only by return type. #### **How does Vyper handle function overloading differently from Solidity?** Unlike Solidity, Vyper, a [pythonic language based on Solidity](https://www.alchemy.com/overviews/solidity-vs-vyper), does not allow for function overloading. Attempting function overloading in Vyper will result in a “Duplicate function or event name” error.  ## **What does function visibility mean?** Specifying function visibility allows us to [**control which entities can call functions**](https://www.alchemy.com/university/courses/ethereum?a=703dc50260) within the smart contract. There are three types of callers: 1. The main contract  1. A contract derived \(i.e. inheriting\) from the main contract  1. A third party Function visibility helps you control which of the above callers can execute the function. There are four types of function visibility: 1. Public  1. External 1. Internal 1. Private The accessibility of the functions decreases from External to Private: public functions are the most accessible and private functions are the least. ### External vs. public External and public are the two function visibilities that can be called from outside of the contract they are defined within. External means that the function can exclusively be called by other contracts or Externally Owned Accounts \(EOA\). Public means that the function can be called externally or from within the contract itself. ### **Internal vs. private** As opposed to external and public, internal and private both disallow external parties from accessing the function. For a private function, only functions within the same contract can call it. For an internal function, functions within the same contract or functions within derived contracts can call it. ## **Keep learning about Solidity functions** This article has introduced you to functions in Solidity. To keep learning, sign up for [**Alchemy University's Ethereum Developer Bootcamp**](https://www.alchemy.com/university/courses/ethereum?a=703dc50260), to gain access to a free, 7-week asynchronous Solidity crash course. If developers are new to development in general, Alchemy University's [**3-week JavaScript crash course**](https://www.alchemy.com/university/courses/js) is a great prerequisite before starting an Ethereum bootcamp. --- # 12 Solidity Gas Optimization Techniques URL: https://www.alchemy.com/overviews/solidity-gas-optimization.md Ethereum gas fees have been a historical painpoint for the ecosystem: what user wants to pay $20\+ in gas for a simple onchain transaction? While new Ethereum upgrades in the past couple years have brought gas costs down substantially for users, optimizing gas in your [Solidity](https://www.alchemy.com/overviews/solidity) code is still the main way to enable complex onchain actions in your app without breaking the bank for your users. Whether you're minimizing risks in code reviews or just writing cleaner contracts, getting gas optimization right means enabling secure, affordable apps that scale to millions of users. In this guide, we'll break down gas basics, why optimization matters \(spoiler: it can cut costs by 20-50% compared to unoptimized code\), and share 12 optimization techniques with code examples. ## What is gas and gas optimization in Solidity? [Gas](https://ethereum.org/developers/docs/gas/) is the unit of measurement for the amount of computational effort required to carry out specific operations on Ethereum, and Solidity gas optimization is the process of making your Solidity smart code less expensive to execute. When transacting on Ethereum, every transaction comes with a cost, the cost of writing data to storage or processing a transaction, and that cost is fittingly called “gas.” If you don’t pay gas fees, nothing happens, just like a car requires gas to move. You need that gas for contracts too. Here's what happens when you deploy and execute a smart contract: 1. You write [**Solidity code**](https://www.alchemy.com/overviews/solidity-smart-contract). This is the high-level, human readable programming language for Ethereum smart contracts. 1. **The compiler converts it to bytecode.** When you compile your Solidity code, the compiler translates it into bytecode, a hexadecimal representation of low-level instructions. This bytecode is what actually gets stored on the blockchain. 1. **Bytecode contains opcodes.** That bytecode is made up of opcodes \(operation codes\), which are the EVM's instruction set: think of them like assembly language for Ethereum. Each opcode represents a specific operation like "add two numbers," "read from storage," or "jump to another instruction." 1. **The EVM executes opcodes.** When someone calls your smart contract, the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) running on nodes across the network reads the bytecode, decodes it into individual opcodes, and executes them one by one. Each opcode has a fixed gas cost. For example, the `ADD` opcode \(which adds two numbers\) costs 3 gas, while `SSTORE` \(which writes to storage\) costs at least 20,000 gas. The EVM tallies up the gas cost of every opcode it executes during your transaction. For more on Ethereum's gas model, check the [official docs](https://ethereum.org/en/developers/docs/gas/). Gas optimization is tweaking your code to do the same job, but with fewer operations, decreasing execution costs. Like we mentioned above, every transaction needs gas \(paid in ETH or equivalents on different chains\). Post [Dencun](https://consensys.io/ethereum-dencun-upgrade), data availability is cheaper thanks to blobs, but execution gas \(the compute costs\) can still add up. Optimized contracts not only save users money, but they also guard against DoS attacks by being leaner codebases. Dive deeper into opcodes in the ["Gas Optimizer" docs](https://docs.soliditylang.org/en/latest/internals/optimizer.html). ## Why is gas optimization important to developers? High gas = frustrating UX that could cause users to stop using your app, especially during traffic spikes where gas fees can surge. Optimizing your code for low gas usage can decrease fees for your users, offer a better UX and enable low-value transactions that would otherwise be uneconomical due to fees, and handle high usage without hitting block limits. Unoptimized contracts can burn can burn [20-50% extra gas](https://www.cs.toronto.edu/~fanl/papers/gas-brain21.pdf), hiking costs and opening exploit doors. With DeFi TVL hitting nearly [$150 billion as of October 2025](https://defillama.com/), gas efficient contracts aren't just nice to have, they're a competitive advantage that can make or break user adoption. Either be the app with complex smart contract logic that causes users to pay the high fees associated with that complexity, or optimize your code to make the end experience of your users better, and cheaper. ## Top 12 Solidity gas optimization techniques Here are battle tested ways to optimize gas usage in your code. We'll explain each example, how it saves on gas, and show the code. We encourage you to test these in Remix or Hardhat to see the differences yourself. ### 1. Use mappings instead of arrays Solidity offers two main data structures for storing lists of data: arrays and mappings. While their syntax looks similar, they serve very different purposes and have drastically different gas costs. Arrays are ordered, iterable collections that store elements sequentially in memory or storage. They're useful when you need to loop through all items or maintain a specific order. However, finding a specific item in an array requires iteration: the EVM must check each element until it finds a match. This means lookup operations are O\(n\) complexity, getting more expensive as your array grows. Mappings \(also called hash tables\) work completely differently. They use a key-value structure where you can instantly retrieve any value by its key, with O\(1\) constant-time lookups regardless of how many items are stored. This happens because Solidity computes the storage slot directly from the key using a hash function, eliminating the need to search through data. The trade-off is that mappings aren't iterable, you can't loop through all entries or know what keys exist without tracking them separately. **The gas impact**: Creating and accessing mapping entries is significantly cheaper than array operations because there's no iteration overhead. Use arrays only when you specifically need to iterate through all items or maintain insertion order. For all other cases, especially user balances, ownership records, or any key-based lookups: mappings are the clear winner. Here's an example using an array \(more expensive for access\): Here's the same data using a mapping \(much cheaper for lookups\): string) public cars; constructor() { cars[101] = "Ford"; cars[102] = "Audi"; cars[103] = "Chevrolet"; } // Direct access - O(1) constant time regardless of data size function getCar(uint id) public view returns (string memory) { return cars[id]; // Single storage read, minimal gas }`} /> Using integer keys lets you mimic ordered lists without the iteration costs of arrays. This is especially powerful for user data like balances or ownership records where you need fast, direct access by ID. For more on how mappings work under the hood, see the [Solidity mappings documentation](https://docs.soliditylang.org/en/latest/types.html#mapping-types). ### 2. Enable the Solidity compiler optimizer The [Solidity compiler optimizer](https://docs.soliditylang.org/en/latest/internals/optimizer.html) is a powerful tool that can significantly reduce gas costs, but it requires configuration to match your specific use case. The optimizer works by analyzing your code and applying various transformations: it simplifies expressions, removes dead code, inlines small functions to eliminate expensive jump operations, and reuses duplicate code segments. All of these changes reduce the number of opcodes the EVM needs to execute. However, there's an important trade off controlled by the "runs" parameter. This number tells the optimizer how many times you expect each opcode in your contract to be executed over its lifetime. The optimizer uses this to balance two competing goals: minimizing deployment costs \(which happen once\) versus minimizing runtime execution costs \(which happen repeatedly with every function call\). How the runs parameter works: - **Low runs \(e.g., 200\)**: The optimizer prioritizes smaller bytecode, resulting in cheaper deployment. This means less code duplication and more jumps between reusable code segments. Best for contracts you'll deploy frequently but call infrequently—like factory contracts or one-time-use deployment scripts. - **High runs \(e.g., 10,000\+\)**: The optimizer prioritizes runtime efficiency by duplicating code to avoid jumps and heavily inlining functions. This creates larger bytecode \(more expensive deployment\) but faster, cheaper function execution. Best for contracts with high transaction volume: like DEX routers, staking contracts, or NFT marketplaces. Here’s an example for deploy-heavy apps with low runs \(200\): And here’s an example for deploy-light apps that are optimized for high runs \(10000\): #### Choosing the right runs value There are tradeoffs to either approach. Think about your contract's lifecycle. A governance token that gets deployed once but has millions of transfer transactions should use high runs. A deployment factory that creates new contracts constantly but those contracts are rarely called should use low runs. When in doubt, 200 is a safe default that balances both concerns reasonably well. Feel free to test with your contract's profile, and you can enable either in [Hardhat config](https://hardhat.org/hardhat-runner/docs/config#solidity) or Remix. ### 3. Minimize on-chain data On chain storage is the single most expensive operation in Solidity. Each `SSTORE` opcode \(writing to storage\) can cost 20,000\+ gas \(measured in Gwei\), and modifying existing storage slots still runs 2,900-5,000 gas. Compare that to memory operations which cost just 3 gas, and you quickly see why storage optimization is critical. The fundamental principle here is simple: store only what's absolutely essential on chain, and handle everything else off chain through APIs, oracles, or indexing services. Beyond just reducing storage writes, you should also smartly group operations to avoid redundant costs. This keeps your contract lean, reducing both deployment and runtime fees while making it harder for attackers to exploit computationally heavy functions that could be used in DoS attacks. #### Saving data in storage variables Be ruthless about what deserves storage. For example, user balances, ownership records, and contract state that must be tamperproof and globally accessible: these belong on chain. If optimizing for gas, everything else should live off chain. For example, if you need external price data, use oracles like Chainlink to fetch it during execution rather than storing historical prices. If you need to track transaction history for a frontend, emit events instead of storing arrays. A key gotcha with events: While events are cheap to emit \(around 375 gas base \+ 375 gas per topic\), contracts cannot read their own events. Events exist purely for off chain consumption by indexers and frontends. Never use events as a substitute for storage that your contract logic needs to access. #### Batching operations Instead of requiring users to submit multiple separate transactions, bundle related actions into a single transaction. This saves the 21,000 gas base transaction fee \(paid for every transaction regardless of what it does\) and also reduces redundant operations like checking `msg.sender` multiple times, loading the same storage variables repeatedly, or paying calldata costs for multiple transaction submissions. This pattern is especially powerful for multi step processes like token approvals followed by transfers, or executing multiple DeFi operations atomically \(swap, then stake, then claim rewards\). Here's an example of a batch send function: This pattern saves significantly on gas by eliminating repeated `msg.sender` verifications, reducing calldata overhead \(you only pass the function selector once\), and paying the base transaction fee just one time instead of once per operation. #### Looping Loops are gas multipliers, every iteration repeats the same operations, and costs stack up linearly. A loop over 100 items doing storage operations could easily consume 500,000\+ gas, and loops over unbounded arrays can even exceed block gas limits, making your function permanently uncallable. The solution is almost always to eliminate the loop entirely. Use mappings for O\(1\) constant-time lookups instead of O\(n\) array iteration. If you absolutely must iterate, limit array sizes strictly, or better yet, move the iteration off-chain and have users submit specific indices or keys. #### A note on gas refunds Solidity used to offer gas refunds for clearing storage \(setting values to zero\), but EIP-3529 significantly reduced these refunds. While you still get a small refund for clearing storage, it's no longer a major optimization strategy. For details on current refund mechanics, see [Ethereum gas refunds proposal](https://eips.ethereum.org/EIPS/eip-3529). ### 4. Use indexed events Events are a lightweight logging mechanism that cost a fraction of storage operations, around 375 gas base plus 375 gas per indexed parameter, compared to 20,000\+ gas for writing to storage. Events get written to the transaction receipt trie, which is separate from contract state storage, making them perfect for recording information that off chain applications need to track. The critical limitation: events are write-only from the contract's perspective. Once emitted, your contract code cannot read them back. Events exist purely for external consumption by frontends, indexers, and monitoring tools. Use events for notifications and historical records that off-chain systems need, but never for data your contract logic depends on. This offloads massive amounts of gas. Instead of storing every transaction in an expensive storage array, emit an event and let off-chain indexers \(like [The Graph](https://www.alchemy.com/dapps/the-graph) or Alchemy's APIs\) build that history for your frontend. Here's how to declare and emit an event: #### Indexed parameters You can mark up to 3 parameters as `indexed`, which makes them searchable in log queries. For example, with `sender` and `amount` indexed, you can quickly filter "all events where sender = 0x123..." without scanning every event. Non-indexed parameters like `message` still get logged but aren't directly searchable. Common use cases include token transfers, ownership changes, state transitions, and user activity tracking, anywhere you need a record for off-chain consumption but don't need on-chain access. For more details, check the [Solidity events documentation](https://docs.soliditylang.org/en/latest/contracts.html#events). ### 5. Pack your variables The EVM stores data in 32-byte slots, and each storage slot costs gas to write \(20,000\+ gas for new slots, 2,900-5,000 gas for updates\). By strategically grouping small variables together, you can fit multiple variables into a single slot, dramatically reducing the number of `SSTORE` operations your contract needs. Think of it like packing a suitcase efficiently: the order you arrange items determines how much space you waste. Variables are packed in the order you declare them, so careful arrangement is crucial. Before \(wastes space across 3 slots\): This uses 3 storage slots even though the data only needs 2.5 slots worth of space. After \(compacts into 2 slots\): By declaring the two `uint128` variables consecutively, they share a single slot, saving an entire `SSTORE` operation every time you write to both variables. Key packing rules: - Variables are packed in declaration order - A new slot starts when the next variable doesn't fit in the current slot - Smaller types like `uint8`, `uint128`, `address` \(20 bytes\) are perfect candidates for packing - Even if a small type stands alone, it still consumes a full 32-byte slot, so always try to pair them For example, two `address` variables \(20 bytes each\) won't pack into one slot since 40 bytes exceeds 32 bytes. But an `address` \(20 bytes\) plus a `uint96` \(12 bytes\) fits perfectly into one 32-byte slot. For more details on how Solidity arranges storage, check the [storage layout documentation](https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html). ### 6. Free up unused storage When you clear storage variables by setting them back to their default values \(0 for integers, `address\(0\)` for addresses, false for booleans\), the EVM provides a gas refund. While EIP-3529 reduced these refunds significantly from their original amounts, you still get back 4,800 gas per storage slot cleared: a meaningful recovery when cleaning up obsolete data. This works because resetting storage slots reduces the blockchain's state size, so Ethereum incentivizes this cleanup behavior. It's a way to reclaim some costs when data becomes obsolete while keeping your contract state lean and efficient. Here's how to clear variables: Important note on mappings: The `delete` keyword doesn't work on entire mappings because mappings don't track which keys exist. Instead, you must delete individual mapping entries: uint256) public balances; // This won't work - can't delete entire mapping// delete balances;// Instead, delete specific keys: delete balances[msg.sender]; // Clears this specific entry`} /> #### Practical use cases Gas refunds are most useful in contracts where data has a clear lifecycle, think escrow contracts that can be cleaned up after completion, temporary authorizations that expire, or cached data that becomes stale. Don't contort your contract logic just to chase refunds, but when data naturally becomes obsolete, cleaning it up is a win-win. For current refund mechanics and limitations, check the [EIP-3529 gas refunds documentation](https://eips.ethereum.org/EIPS/eip-3529). ### 7. Store data in calldata instead of memory for certain function parameters When declaring function parameters, you have a choice between `memory` and `calldata` for reference types like arrays, strings, and structs. Understanding the difference can save significant gas, especially for external functions with large parameters. **Calldata** is read-only storage that lives directly in the transaction data. When you use `calldata`, the function reads arguments directly from the transaction without copying them anywhere. This is the cheapest option because it avoids memory allocation and copy operations entirely. **Memory**, on the other hand, requires the EVM to allocate space and copy the data from calldata into memory, executing multiple `MLOAD` and `MSTORE` operations. This copying overhead becomes expensive with large arrays or strings: each element copied costs additional gas. **The rule**: Use `calldata` for external function parameters you only need to read. Use `memory` only when you need to modify the data within your function. Here's an example using `calldata` \(cheaper for read-only access\): Compare to `memory` \(more expensive due to copying\): The gas savings scale with data size, a 100-element array passed as `calldata` can save thousands of gas compared to `memory`. When you must use memory: If your function needs to modify the array, append to it, or build new data structures, then `memory` is necessary since `calldata` is immutable. But for pure read operations, `calldata` is always the better choice. For more on the differences between storage locations, see [calldata vs memory documentation](https://docs.soliditylang.org/en/latest/types.html#data-location). ### 8. Use immutable and constant fixed values Variables marked as `constant` or `immutable` don't use storage slots at all: their values get baked directly into the contract's bytecode at deployment. This eliminates expensive `SLOAD` operations \(2,100 gas each\) every time you access them, replacing storage reads with cheap bytecode reads. **Constant**: Value must be set at compile time and cannot change. Use for hardcoded values that will never vary across deployments. **Immutable**: Value is set once in the constructor and cannot change afterward. Use for values that differ between deployments \(like token addresses or owner addresses\) but remain fixed once deployed. Here's how to use both: Gas savings example: If you read a normal storage variable 10 times in a function, that's 21,000 gas in `SLOAD` operations. With `constant` or `immutable`, those reads cost essentially nothing: just the gas to execute basic arithmetic operations. Common use cases: - Protocol fee rates or percentages \(`constant`\) - Mathematical constants like decimals or scaling factors \(`constant`\) - Token addresses from constructor arguments \(`immutable`\) - Contract owner or admin addresses \(`immutable`\) - External contract addresses that won't change \(`immutable`\) Both `constant` and `immutable` variables can also be declared at the file level outside of contracts, making them reusable across multiple contracts in the same file. For more details, see the [constants and immutables documentation](https://docs.soliditylang.org/en/latest/contracts.html#constant-and-immutable-state-variables). ### 9. Use the external visibility modifier Function visibility modifiers affect how the EVM handles function calls and can impact gas costs. The key difference: `external` functions are optimized specifically for calls from outside the contract, while `public` functions must handle both external and internal calls, adding overhead. **External functions** can only be called from outside the contract \(via transactions or other contracts\). When called externally, they read parameters directly from calldata without copying, making them slightly more efficient. You cannot call an external function internally using `functionName\(\)`you'd need to use `this.functionName\(\)`, which creates an expensive external call. **Public functions** can be called both externally and internally. This flexibility requires the compiler to generate additional code to handle both call types, adding a small gas overhead even when called externally. A general rule of thumb: Use `external` for functions that are part of your contract's public API and will only be called by users or other contracts. Use `internal` or `private` for helper functions that only your contract's own functions need to call. Here's an example of an external function \(optimized for outside calls\): Compare to public \(handles both internal and external\): The gas savings are modest: typically around 20-50 gas per call, but they add up over thousands of transactions. More importantly, using `external` clearly signals intent: this function is meant to be called from outside the contract. Bonus tip: Notice how the `external` version uses `calldata` for the string parameter? External functions pair perfectly with calldata arguments since both are optimized for external calls. For more on function visibility and best practices, see the [visibility documentation](https://docs.soliditylang.org/en/latest/contracts.html#visibility-and-getters). ### 10. Use unchecked arithmetic safely Starting with Solidity 0.8.0, the compiler automatically adds overflow and underflow checks to all arithmetic operations. While this prevents bugs, it costs roughly 30-40 gas per operation. When you're certain that overflow/underflow is mathematically impossible, wrap operations in `unchecked` blocks to skip these checks and save gas. **When it's safe**: Loop counters with known bounds, arithmetic where you've validated inputs, or operations where overflow is mathematically impossible. **When to avoid**: User-supplied values without validation, financial calculations, or anywhere overflow could create vulnerabilities. Here's a basic example: Here's another example showing loop counters, the most common use case for this technique: In this loop, `i` starts at 0 and increments by 1 each iteration. For `i` to overflow, the array would need 2^256 elements, which is physically impossible given blockchain constraints. This is a perfect candidate for `unchecked`. Important safety note: If you use `unchecked`, add manual `require` statements to validate inputs that could cause issues: = y, "Underflow prevented"); unchecked { return x - y; // Safe because validated above } }`} /> The gas savings from `unchecked` blocks accumulate quickly in loops or functions called frequently. For more details and edge cases, see the [unchecked documentation](https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic). ### 11. Minimize external calls Every call to another contract costs at least 100 gas for the `CALL` opcode, plus additional costs for calldata and any state changes in the called contract. These calls can also fail unpredictably if the external contract reverts, making them both expensive and risky. When you need data from external contracts, batch multiple calls together or cache results to avoid repeated calls within the same transaction. Gas-efficient approach: Inefficient approach \(avoid this\): If you need the same data multiple times in a transaction, always cache it in a local variable. If you need external data across multiple transactions, consider storing it \(though weigh the 20,000 gas `SSTORE` cost against the frequency of external calls\). For patterns and security considerations around external calls, see the [external calls best practices](https://docs.soliditylang.org/en/latest/security-considerations.html#use-the-checks-effects-interactions-pattern). ### 12. Use assembly for critical paths For performance critical code like tight loops or frequently called functions, you can drop down to Yul assembly to manually optimize beyond what the Solidity compiler can achieve. Assembly gives you direct control over memory management, lets you skip safety checks, and eliminates abstraction overhead. However, it's a double-edged sword—assembly bypasses all of Solidity's safety features, making code harder to read and extremely error-prone. **When to consider assembly**: High-frequency operations, complex bit manipulation, custom memory layouts, or loops that execute thousands of times where every gas unit counts. **When to avoid assembly**: Anywhere else. The gas savings rarely justify the increased risk of bugs, security vulnerabilities, and maintenance burden. Here's an example of summing an array using assembly: This assembly version saves gas by directly manipulating memory pointers and skipping bounds checks, but it's significantly harder to understand and audit compared to equivalent Solidity code. #### Critical safety practices - Thoroughly test assembly code with edge cases - Add extensive comments explaining every operation - Have assembly sections audited by security experts - Use assembly only as a last resort after exhausting Solidity optimizations For most developers and most use cases, the other 11 techniques in this guide will provide better gas savings with far less risk. Only reach for assembly when you've profiled your contract, identified specific bottlenecks, and confirmed the gas savings justify the added complexity. For learning Yul syntax and capabilities, see the [Yul documentation](https://docs.soliditylang.org/en/latest/yul.html). ## Test your smart contract before deployment Before deploying to mainnet, rigorously test your gas usage using development tools. [Hardhat](https://hardhat.org/) provides gas reporter plugins that generate detailed breakdowns of gas costs per function. [Remix IDE](https://remix.ethereum.org/) shows gas estimates in real time as you test. Focus your optimization efforts on user-facing functions like mints, transfers, and swaps: these are called most frequently and have the biggest impact on user experience. For deeper testing, use [Foundry's](https://book.getfoundry.sh/) fuzzing capabilities to benchmark your optimizations across thousands of randomized inputs, ensuring your gas savings hold up under real world conditions and edge cases. ## Wrapping up: get optimizing You now have 12 battle-tested techniques to make your Solidity contracts leaner and cheaper to execute. Gas optimization isn't just about saving money: it's about building better experiences for your users and creating applications they actually want to interact with. Start by implementing the low hanging fruit: enable the compiler optimizer, use mappings instead of arrays, and mark fixed values as constant or immutable. Then profile your contracts to find bottlenecks and apply the more advanced techniques where they'll have the most impact. **Resources for continued learning**: - [Alchemy's Solidity Guides](https://www.alchemy.com/overviews/solidity-tutorial) - [OpenZeppelin Standardized Contracts](https://docs.openzeppelin.com/contracts/) - [Smart Contract Security Field Guide](https://scsfg.io/) Now get out there and start optimizing, your users \(and their wallets\) will thank you! ## Frequently asked questions ### What are some of the most effective ways to reduce gas costs in Solidity smart contracts? The most impactful techniques include using mappings instead of arrays for lookups, enabling the Solidity compiler optimizer with appropriate runs settings, marking fixed values as `constant` or `immutable`, minimizing storage operations, and using `calldata` instead of `memory` for read-only function parameters. ### How does using `constant` and `immutable` variables help with gas optimization? `constant` and `immutable` values are embedded directly in the contract bytecode instead of stored in expensive storage slots, eliminating costly `SLOAD` operations \(2,100 gas each\) and replacing them with cheap bytecode reads. ### Why should I use mappings instead of arrays for data lookups? Mappings provide O\(1\) constant-time lookups regardless of data size, while arrays require O\(n\) iteration that becomes more expensive as the array grows. Mappings are significantly cheaper for key-based access patterns like user balances or ownership records. ### How does the Solidity compiler optimizer work and what runs setting should I use? The optimizer reduces gas by simplifying expressions, removing dead code, and inlining functions. Use low runs \(200\) for contracts you'll deploy frequently but call rarely, and high runs \(10,000\+\) for high-transaction-volume contracts where runtime efficiency matters more than deployment cost. ### What's the difference between using `calldata`, `memory`, and `storage` for gas optimization? Use `calldata` for external function parameters you only read \(avoids copying costs\), `memory` for temporary data manipulation, and `storage` only when you need persistent state. `calldata` is always cheaper than `memory` for read-only operations. ### When should I use `unchecked` arithmetic blocks safely? Use `unchecked` for operations where overflow is mathematically impossible, like loop counters with known bounds or validated arithmetic operations. This saves ~30-40 gas per operation by skipping automatic overflow checks introduced in Solidity 0.8.0. ### How can I optimize storage operations to reduce gas costs? Pack multiple small variables into single 32-byte storage slots, delete unused storage for gas refunds \(4,800 gas per cleared slot\), and minimize storage writes by caching values in memory during function execution. ### What are the benefits of using the `external` visibility modifier over `public`? `external` functions are optimized specifically for calls from outside the contract and work efficiently with `calldata` parameters, saving 20-50 gas per call compared to `public` functions which must handle both internal and external calls. --- # The 7 Best Solidity IDEs for Developers (2024) URL: https://www.alchemy.com/overviews/solidity-ide.md If you’re building smart contracts on Ethereum or EVM compatible chains, picking the right Integrated Development Environment \(IDE\) is like choosing the perfect toolbox – it can make or break your workflow. A good IDE streamlines coding, testing, debugging, and deploying, saving you time and headaches, especially since deployed contracts are immutable. With [Solidity](https://www.alchemy.com/overviews/solidity) still dominating as the go-to language for smart contracts, powering over [70% of DeFi in 2025](https://defillama.com/) – the right IDE is critical for writing secure, gas-efficient code. In this guide, we’ll walk through what IDEs are, why they’re a must for [Solidity](https://www.alchemy.com/dapps/solidity), and list out the best IDEs for Solidity available on the market today. ## What is an integrated development environment \(IDE\)? An integrated development environment \(IDE\) is a single application that enables developers to write, edit, execute, and debug code. Rather than juggling separate tools for each task, an IDE consolidates these capabilities into one unified workspace. For Solidity development specifically, IDEs are tailored to handle the unique requirements of smart contract programming. They compile your code into EVM bytecode \(the low-level instructions the Ethereum Virtual Machine executes\), facilitate deployment to test networks for validation, and help identify vulnerabilities before your contracts go live on mainnet, where bugs can have serious financial consequences. They also often include productivity features like syntax highlighting \(color-coding different parts of your code for readability\), intelligent auto-completion \(suggesting function names and parameters as you type\), built-in documentation, and integrations with blockchain development tools like [MetaMask](https://www.alchemy.com/dapps/metamask) for wallet connections and Hardhat for testing frameworks. These tools and features improve your development efficiency and can help you catch errors early in a world where a single bug can drain millions. Check out [Ethereum’s IDE overview](https://ethereum.org/en/developers/docs/ides/) for the basics. ## Why are IDEs important for Solidity development? Smart contract development demands precision because blockchain code is immutable by default, once deployed, your contract is permanent and can't be easily changed \(unless you’ve got upgradeable proxies, see [OpenZeppelin’s upgrades guide](https://docs.openzeppelin.com/upgrades)\). This makes the development process critical: you need to write correct code, test thoroughly, catch bugs early, and deploy confidently. IDEs provide the structured environment and specialized tooling to handle these requirements effectively. They provide an integrated workspace where you can write clean, well-structured code with syntax highlighting and auto-completion, test your contracts locally on development networks like Hardhat or Ganache, debug transaction failures with detailed error traces and stack information, and deploy safely to testnets for validation before mainnet. Modern IDEs come also equipped with specialized features specifically built for smart contract development such as integrated Solidity compilers that translate your code into EVM bytecode, gas estimators that calculate transaction costs before deployment \(helping you optimize expensive operations\), and plugins for automated security analysis tools like [Slither](https://github.com/crytic/slither) that scan for vulnerabilities such as reentrancy attacks, integer overflows, and access control issues. These integrated capabilities directly impact your ability to build production-ready applications. Gas optimization tools help reduce transaction costs for end users, a critical factor in application adoption. Faster iteration cycles mean you can respond quickly to user feedback or market changes, essential for competitive DeFi protocols and fintech platforms. Security integrations catch vulnerabilities during development when they're straightforward to fix, rather than after deployment when exploits could have catastrophic consequences. As the ecosystem has matured, developer tooling has significantly improved, making modern IDEs essential infrastructure for building reliable, efficient, and secure smart contracts at scale. ## Types of Solidity IDEs There are two main types of IDEs for Solidity Development: Desktop IDEs and online IDEs. Both provide the core functionality developers need, but each comes with distinct advantages and trade-offs that make them better suited for different workflows: ### Desktop IDEs Desktop IDEs are locally installed applications that run directly on your machine without requiring an internet connection. They offer extensive customization through plugins and extensions: editors like Visual Studio Code support thousands of add-ons that enhance Solidity development with features like syntax highlighting, code snippets, security linters, and deployment tools. **Advantages**: Complete offline functionality, unlimited storage on your local machine, access to the full ecosystem of development tools and plugins, and typically better performance for large projects with multiple contracts and dependencies. **Considerations**: Desktop IDEs require initial setup and configuration. Not all desktop editors natively support Solidity, so you'll need to install specific plugins or extensions to get smart contract-specific features like Solidity compilation, gas estimation, or integration with development frameworks like Hardhat or Foundry. The setup process, while manageable, adds friction compared to browser-based alternatives. **Best for**: Production development, large-scale projects, teams working on complex apps, and developers who need full control over their development environment and toolchain. ### Online IDEs Online IDEs \(also called cloud IDEs or browser-based IDEs\) run entirely in your web browser and require no installation. You can start writing Solidity code immediately by navigating to the IDE's website, making them exceptionally accessible for beginners and rapid prototyping. **Advantages**: Zero setup required, instant access from any computer with a browser, often include built-in testing environments \(like Remix's JavaScript VM that simulates the Ethereum blockchain\), and automatic updates without manual maintenance. Many online IDEs have matured significantly, now offering features that rival desktop alternatives. **Considerations**: Files are typically stored in browser local storage, which can be cleared accidentally or lost if you switch browsers. You're dependent on internet connectivity and the stability of the hosting service. Performance may degrade with very large projects or when working with extensive dependencies. **Best for**: Learning Solidity, quick experiments and prototypes, sharing code snippets with collaborators, and developers who need to work across multiple machines without carrying local setup. ## The 6 best Solidity IDEs for 2025 Here’s our rundown of the top 7 IDEs for Solidity in 2025. Each gets a code snippet to show what’s up, plus pros, cons, and links to dig deeper. Note: we’ve updated this list \(originally published in 2022\) to reflect active tools. Truffle and Embark are no longer actively maintained, so we've swapped in new favorites like Foundry and [Tenderly](https://www.alchemy.com/dapps/tenderly) Sandbox. ### 1. Remix [Remix](https://remix.ethereum.org/) is the most accessible entry point for Solidity development, a fully-featured, browser-based IDE that requires zero setup. It is an open-source tool built specifically for Ethereum and EVM-compatible blockchains, and has become the de facto standard for learning smart contract development and rapid prototyping. #### Core features Remix’s interface is organized into four main sections: a code editor for writing Solidity, a file explorer for managing your contracts and dependencies, a plugin panel for extending functionality, and a terminal for compilation output and transaction logs. This layout keeps everything you need visible without overwhelming new developers. Remix includes a built-in Solidity compiler that supports multiple versions, allowing you to compile contracts directly in the browser. The integrated debugger also lets you step through transactions, inspect variable states, and identify where code behaves unexpectedly. Static analysis tools scan your code for common vulnerabilities and bad practices, flagging potential issues before deployment. For testing, Remix provides a JavaScript VM that simulates the Ethereum Virtual Machine locally in your browser. With it, you can deploy contracts, call functions, and test interactions without spending real gas or connecting to a testnet. Deployment options are flexible: use the JavaScript VM for instant local testing, connect MetaMask to deploy to testnets like Sepolia or Holesky, or deploy to mainnet when ready. Recent updates have added integrations with popular development frameworks like [Hardhat](https://hardhat.org/) and [Foundry](https://getfoundry.sh/), allowing you to leverage their advanced testing and deployment capabilities while still using Remix's familiar interface. #### Limitations Remix stores files in browser local storage by default, which can be accidentally cleared or lost when switching browsers. For serious projects, you'll want to connect Remix to GitHub or download your contracts regularly. Additionally, while Remix handles small to medium projects well, very large codebases with extensive dependencies can feel sluggish compared to desktop alternatives. #### Best for - Beginners learning Solidity - Educators teaching smart contract development - Experienced developers who need to quickly test an idea or debug a specific contract without spinning up a full local environment Remix is completely free and runs in Chrome, Firefox, and Brave browsers. ### 2. Foundry [Foundry](https://getfoundry.sh/) has rapidly become the preferred development framework for professional Solidity developers, with usage jumping to [51.1% in 2024 according to the Solidity Developer Survey](https://www.soliditylang.org/blog/2025/04/25/solidity-developer-survey-2024-results/). Built in Rust for maximum performance, Foundry takes a fundamentally different approach than browser-based or GUI-heavy IDEs, it's command-line driven, test-focused, and optimized for speed. #### Core features Foundry consists of several integrated tools that work together: - **Forge:** The core testing framework that compiles, deploys, and tests smart contracts with exceptional speed. Test suites that might take minutes in other frameworks can complete in seconds with Foundry. - **Cast:** Command-line utilities for interacting with deployed contracts, making RPC calls, and performing chain queries without writing scripts. - **Anvil:** A local Ethereum node for development, giving you a fast, deterministic blockchain for testing. - **Chisel:** An interactive Solidity REPL \(Read-Eval-Print Loop\) where you can experiment with Solidity code snippets and see results immediately. What sets Foundry apart is its testing philosophy: you write tests in Solidity itself, not JavaScript or TypeScript. This means you're using the same language and mental model for both your contracts and your tests, reducing context switching. Foundry also excels at fuzz testing \(automatically generating hundreds or thousands of random inputs to find edge cases\) and gas optimization \(providing detailed gas reports that help you identify expensive operations\). #### Limitations Foundry requires comfort with command-line tools and assumes you're building production-grade applications rather than learning basics. There's no graphical interface, which can feel intimidating for developers accustomed to visual debugging tools. The learning curve is steeper than browser-based alternatives. #### Best for - Professional development teams - Security-focused projects requiring extensive testing - Projects prioritizing gas optimization - Teams with CI/CD workflows Foundry is open-source and free, with extensive documentation in the [Foundry Book](https://book.getfoundry.sh/). ### 3. Hardhat [Hardhat](https://hardhat.org/) is one of the most popular Ethereum development environments, used by [32.9% of developers according to the 2024 Solidity Developer Survey](https://www.soliditylang.org/blog/2025/04/25/solidity-developer-survey-2024-results/). Built on Node.js and released in 2019 by the Nomic Foundation, it's designed to make the development cycle—writing, testing, debugging, and deploying—as smooth as possible, particularly for developers already comfortable with JavaScript and TypeScript. #### Core features Hardhat's standout feature is its debugging capabilities. When a transaction fails, Hardhat provides detailed stack traces showing exactly where and why the failure occurred, something notoriously difficult with raw blockchain interactions. You can even use `console.log\(\)` directly in your Solidity code during development, printing values to your terminal just like you would in JavaScript. This makes tracking down bugs dramatically faster than trial-and-error approaches. The Hardhat Network is a local Ethereum blockchain that runs in your development environment, simulating mainnet behavior without requiring real ETH or network connectivity. It supports advanced features like mainnet forking, allowing you to test your contracts against the actual state of [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum), including interactions with real deployed protocols like [Uniswap](https://www.alchemy.com/dapps/uniswap) or Aave. Hardhat's plugin ecosystem is another major strength. Hundreds of community-built plugins extend functionality: gas reporting, contract verification on [Etherscan](https://www.alchemy.com/dapps/etherscan), TypeScript support, integration with testing frameworks like Mocha and Chai, and connections to deployment tools. This extensibility means you can customize Hardhat to fit your exact workflow. #### Limitations Initial setup requires more configuration than browser-based IDEs like Remix. You'll need to install Node.js, initialize a project with `npm`, and understand the project structure and configuration files. For complete beginners, this overhead can be daunting. #### Best for - Developers comfortable with JavaScript/TypeScript - Projects requiring extensive debugging capabilities - Teams needing a rich plugin ecosystem - Applications that benefit from mainnet forking for testing Hardhat is open-source and free, with comprehensive documentation at [hardhat.org](https://hardhat.org/docs). ### **4. Visual Studio Code** [Visual Studio Code](https://code.visualstudio.com/) isn't a Solidity-specific IDE, but it has become the editor of choice for many blockchain developers who want a flexible, customizable environment that works across their entire stack: smart contracts, frontend code, backend services, and more. #### Core features Launched by Microsoft in 2015, [VS Code](https://www.alchemy.com/dapps/vs-code) supports over 20 programming languages out of the box and provides a massive marketplace of extensions. For Solidity development, the most important extension is [Juan Blanco's "Solidity" extension](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity), which adds syntax highlighting \(color-coding your code for readability\), code snippets \(pre-written templates for common patterns\), linting \(automatic checking for errors and style issues\), and IntelliSense \(auto-completion suggestions as you type\). This transforms VS Code from a generic text editor into a proper Solidity development environment. VS Code integrates seamlessly with both Hardhat and Foundry. You can write your contracts in VS Code, then use the built-in terminal to run `forge test` or `npx hardhat compile` without leaving the editor. The Git integration makes version control effortless: you can see changed files, commit code, push to GitHub, and manage branches all from within VS Code. The extension ecosystem extends beyond Solidity to JavaScript/TypeScript, Docker, Prettier, ESLint, and more. This makes VS Code ideal for full-stack development where you're working on smart contracts, React frontends, and Node.js backends in the same project. #### Limitations VS Code requires more setup than specialized Solidity IDEs. You need to install the editor, add extensions, and configure them to work with your preferred development framework. It doesn't include a compiler, testing framework, or blockchain simulator—you'll need to set up Hardhat, Foundry, or another framework separately for that. #### Best for - Full-stack developers working across multiple languages - Teams already using VS Code for other development - Developers who value customization and extensibility - Projects integrating smart contracts with frontend/backend code VS Code is completely free and open-source, available for Windows, macOS, and Linux. ### 5. Tenderly Sandbox [Tenderly Sandbox](https://docs.tenderly.co/tenderly-sandbox) is a browser-based development environment focused on simulation, debugging, and transaction analysis. Unlike traditional IDEs that emphasize writing and compiling code, Tenderly's strength lies in understanding what your contracts do when they execute, showing you detailed traces of every operation, state change, and interaction. #### Core features [The Sandbox](https://www.alchemy.com/dapps/the-sandbox) provides a code editor for writing Solidity contracts, but its real power appears after deployment. When you execute a transaction, Tenderly shows you a complete execution trace: which functions were called and in what order, how much gas each operation consumed, what state variables changed, and any events emitted. This visualization makes it dramatically easier to understand complex contract interactions, especially when multiple contracts call each other or when debugging unexpected behavior. Tenderly excels at simulation capabilities. You can fork mainnet or testnets at a specific block, then simulate transactions against that forked state without actually broadcasting them to the real network. This is invaluable for testing how your contracts interact with existing protocols, analyzing potential exploits, and validating that complex multi-step transactions will succeed before spending real gas. Tenderly also provides analytics and monitoring for deployed contracts: tracking real transactions, setting up alerts for specific conditions, and debugging production issues by replaying historical transactions. #### Limitations Tenderly Sandbox is primarily online-only and better suited for debugging and analysis than for day-to-day development workflows. For writing and testing large codebases, you'll likely want to pair Tenderly with a more traditional IDE. #### Best for - Debugging complex contract interactions - Simulating transactions before deployment - Analyzing gas consumption in detail - Understanding how contracts behave in production Tenderly offers free tiers with usage limits, scaling to paid plans for production monitoring and higher simulation volumes. ### 6. IntelliJ IDEA [IntelliJ IDEA](https://www.jetbrains.com/idea/) is a comprehensive IDE created by JetBrains, originally designed for Java development but now supporting numerous languages through plugins. For Solidity developers, particularly those already working in the JetBrains ecosystem or coming from Java, Kotlin, or other JVM backgrounds, IntelliJ provides a polished, professional development environment. #### Core features Solidity support comes through a [dedicated plugin](https://plugins.jetbrains.com/plugin/9475-intellij-solidity) that adds syntax highlighting, code completion, error detection, and refactoring capabilities. IntelliJ's refactoring tools are particularly strong: you can safely rename variables across your entire project, extract functions, reorganize code structure, and perform other transformations with confidence that IntelliJ will update all references correctly. The IDE includes powerful debugging capabilities, integrated version control for Git, database tools \(useful for off-chain indexing and storage\), and extensive customization options. IntelliJ can integrate with Foundry, allowing you to write contracts in IntelliJ's polished editor while using Foundry's fast testing and deployment tools from the integrated terminal. For teams already using JetBrains tools for their broader development stack \(perhaps Kotlin for Android apps, or Python for data science\), IntelliJ provides consistency across languages and projects. The unified interface means less context switching and transferable keyboard shortcuts and workflows. #### Limitations While IntelliJ offers a free Community Edition, full features—including some advanced productivity tools—require the paid Ultimate Edition. The IDE is also notably more heavyweight than lighter editors like VS Code, both in terms of system resources and initial configuration complexity. For solo developers or small teams just getting started with Solidity, the learning curve and cost may not be justified. #### Best for - Teams already using JetBrains tools - Developers from Java/Kotlin/JVM backgrounds - Enterprise projects requiring robust refactoring tools - Organizations with existing JetBrains licenses Documentation and the Solidity plugin are available through [JetBrains' plugin marketplace](https://plugins.jetbrains.com/plugin/9475-intellij-solidity). ## Choosing the right IDE for your needs The best IDE for your use case depends on your experience level, project requirements, and workflow preferences: ### By experience level and use case Beginners learning Solidity or prototyping quickly: start with Remix or Tenderly Sandbox. Both require zero installation and let you write, compile, and test contracts immediately in your browser. Remix is better for general learning and building small complete projects, while Tenderly excels at understanding how contracts execute and debugging complex interactions. Professional developers building production applications: Foundry and Hardhat are the industry standards. Foundry offers unmatched speed, comprehensive testing capabilities \(especially fuzz testing\), and excellent gas optimization tools, making it ideal for teams prioritizing security and performance. Hardhat provides superior debugging tools, a rich plugin ecosystem, and JavaScript/TypeScript integration that fits naturally into modern web development workflows. Many teams use both: Hardhat for development and debugging, Foundry for final testing and gas optimization. Full-stack developers: VS Code provides the flexibility to work across your entire codebase in one editor. With appropriate extensions, it supports Solidity, JavaScript, TypeScript, React, and whatever else your stack requires. The integrated Git support and terminal make it excellent for team collaboration. Enterprise teams in the Java/Kotlin ecosystem: [IntelliJ IDEA](https://www.alchemy.com/dapps/intellij-idea) provides a polished, professional environment with strong refactoring tools and consistency across languages for teams already using JetBrains products. ### Additional considerations **Blockchain compatibility**: All these tools work with Ethereum and EVM-compatible chains \(Polygon, Arbitrum, Base, Optimism, etc.\), but Solana and other non-EVM chains require different tooling entirely. For multi-chain development, you may need to learn multiple IDEs optimized for different ecosystems. **Multi-tool workflows**: Don't feel locked into a single choice. Many developers use Remix for quick experiments, VS Code for daily development, Hardhat for testing, and Tenderly for debugging production issues. The tools complement each other rather than competing directly. ## Wrapping up: get started with Solidity development These 6 IDEs, Remix, Foundry, Hardhat, VS Code, IntelliJ IDEA, and Tenderly Sandbox, provide the foundation for building smart contracts in 2025. For more structured learning, check out [Alchemy University](https://www.alchemy.com/university) for free Ethereum development bootcamps, or consult the official [Solidity documentation](https://soliditylang.org/) for language reference and best practices. ## Frequently asked questions ### What is the best Solidity IDE for beginners? Remix is ideal for beginners because it's browser-based with zero setup required and includes built-in compilation, debugging, and testing tools. ### Does VS code support Solidity development? Yes, VS Code supports Solidity through extensions like Juan Blanco's Solidity extension, which adds syntax highlighting, code completion, and linting capabilities. ### What makes Foundry popular among professional developers? Foundry is used by 51.1% of developers because it offers exceptional speed with Rust-based tools, comprehensive testing capabilities, and excellent gas optimization features. ### Is Hardhat better for debugging Solidity contracts? Yes, Hardhat excels at debugging with detailed stack traces, console.log support directly in Solidity code, and a local network for thorough testing. ### Does IntelliJ IDEA work with Solidity? IntelliJ IDEA supports Solidity through a dedicated plugin that provides syntax highlighting, code completion, and strong refactoring tools, making it ideal for teams already in the JetBrains ecosystem. ### What's the difference between desktop and browser-based Solidity IDEs? Desktop IDEs like VS Code offer offline functionality and better performance for large projects but require setup, while browser-based IDEs like Remix provide instant access without installation. ### Can I use multiple Solidity IDEs together? Yes, many developers use different IDEs for different purposes - Remix for quick experiments, VS Code for daily development, and Tenderly for debugging production issues. ### What is Tenderly Sandbox best used for? Tenderly Sandbox excels at transaction simulation, debugging complex contract interactions, and providing detailed execution traces to understand how contracts behave. --- # What is the Solidity contract interface? URL: https://www.alchemy.com/overviews/solidity-interface.md **[Solidity](https://www.alchemy.com/overviews/solidity)** is an object-oriented, high-level language for implementing smart contracts. While [writing smart contracts in Solidity](https://www.alchemy.com/overviews/solidity-smart-contract), you may want to use interfaces to interact with other smart contracts. Knowing how to use interfaces will help you increase your knowledge of the Solidity language and may give you some new ideas on other interesting Solidity smart contracts you can build. In this article, we explain what a Solidity contract interface is and show you how to create one. We provide some examples for interface implementation and declaration to serve as guides as you write one.  ## **What is the Solidity interface?** **A Solidity contract interface is a list of function definitions without implementation.** In other words, an interface is a description of all functions that an object must have for it to operate. The interface enforces a defined set of properties and functions on a contract. Solidity allows you to interact with other contracts without having their code by using their interface. For example, if you want to interact with another contract from your own contract, you provide your calls with an interface wrapper. By declaring an interface, you can interact with other contracts, and [call functions in another contract](https://www.alchemy.com/overviews/solidity-call-another-contract). Interfaces are usually found at the top of a Solidity contract, and they are identified using the “interface” keyword. Because interfaces reduce code duplication and overhead, they are most useful when decentralized applications require extensibility and want to avoid complexity. ### **Solidity interface characteristics** 1. The Solidity interface can inherit from other interfaces 1. Contracts can inherit interfaces as they would inherit other contracts 1. You can override an interface function 1. Data types defined inside interfaces can be accessed from other contracts All functions that inherit from the interface must set the override modifier on every function that overrides an interface function. Otherwise, [the Solidity compiler](https://www.alchemy.com/overviews/solidity-compiler) will throw an error. ### **Abstract contracts vs. interfaces** **Abstract contracts and interfaces are two ways web3 developers can build larger, more complex distributed applications because they allow for extensibility within Solidity.** Abstract contracts possess at least one function that lacks implementation, and as a result, they cannot be compiled. However, abstract contracts can be used as base contracts from which other contracts can inherit. Interfaces are similar to abstract contracts, but they cannot have any functions implemented. Additionally, interfaces are limited to what the contract’s [Application Binary Interface \(ABI\)](https://www.alchemy.com/overviews/solidity-abi) can represent. The conversion between the ABI and an interface is possible without any information loss. ## **How to create a Solidity interface** **Interfaces are usually at the top of your program and declared with the “interface” keyword. Then you can use that interface to communicate with another contract, or you can implement the interface.** Suppose you were writing a smart contract wallet, it might look something like this: Notice the use of “`is IWallet`” here. In this case we are inheriting the `IWallet` interface and implementing it in our contract, `Wallet`. Then, if you had some smart contract that wanted to be able to communicate with wallets \(`WalletFriendlyContract` here\), you could re-use the interface: ### Solidity interface requirements There are some restrictions when creating interfaces in Solidity, and developers should remember this list of the main interface requirements: 1. The interface cannot have any functions implemented 1. [Functions](https://www.alchemy.com/overviews/solidity-functions) of an interface can be only of type external 1. The interface cannot declare a constructor  1. The interface cannot declare state variables  ## **Solidity interface examples** This section contains some examples to guide you in writing Solidity interface code.  The following [example interface code](https://docs.soliditylang.org/en/v0.8.17/contracts.html#interfaces), taken from the **Solidity documentation**, creates an interface named “Token” for retrieving information about transactions. It contains a function to access information about the address recipient and the amount transferred from other contracts. The next [Solidity interface example](https://www.solidity-by-example.org/interface/), taken from **Solidity by Example**, shows a full contract with interface declaration and implementation.  ## **Start building Solidity apps with Alchemy** This article introduced you to Solidity interfaces and demonstrated how developers can use interfaces to save time and reduce complexity when building applications in Solidity. To [continue learning about Solidity](https://www.alchemy.com/overviews/learn-solidity), explore Alchemy University's [free Ethereum Developer Bootcamp](https://university.alchemy.com/?a=d3f70d2955), that explains the core concepts of Solidity development over a 7-week, self-paced course packed with coding challenges, video lessons, and the best resources for mastering Solidity. If developers are new to development in general, Alchemy University's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # Get Hired with The 9 Best Solidity Job Boards in Web3 (2024) URL: https://www.alchemy.com/overviews/solidity-jobs.md There are many jobs requiring [Solidity](https://www.alchemy.com/overviews/solidity) expertise. Whether you are just[ becoming a Solidity developer](https://www.alchemy.com/overviews/solidity-developer-salary) and looking for your first internship, or a senior developer looking to transition into a [web3 development](https://www.alchemy.com/overviews/how-to-learn-web3-development) role, this article will provide you with the best job boards for finding a position doing Solidity development.  In this article, we explain Solidity developer job responsibilities and salary ranges, and then introduce some of the best web3 job boards for finding Solidity careers. ## **Solidity developer job responsibilities and salaries** **Solidity developers write well-documented, performant, clean, and reusable Solidity code for organizations.** Depending on the developer's experience level, they may be tasked with more high-level responsibilities, such as driving the decisions about smart contract architecture or leading a technical team.  [Solidity developers' average salaries](https://www.alchemy.com/overviews/solidity-developer-salary) are significantly higher than other developer roles. The average yearly salary for a Senior Solidity Developer is** $120,000 to $225,000 per year **before adding token-based equity or employee stock options. According to cryptocurrencyjobs.co, the average base salary for Solidity developers in the US is $127,500, with a low base salary of $80,000 and a high base salary of $180,000. In contrast, remote developers make $111k - $200k per year. Compared to the average US-based developer salary of $103,000, it's clear that blockchain specialization is in high demand. The following is a list of location-based salary structures of Solidity developers per year \(US Dollars\): - **North America** - $125K-$200K - **Europe** - $80K-$135K - **Asia** - $46K-116K - **Oceania** - $85K-$120K - **South America** - $49K-$150K - **Africa** - $49K-$75K - **Remote** - $111K-$200K   ### **Solidity developer internship** Solidity Developer internships are offered both by startups and established organizations. An internship may be suitable if you're relatively new in the industry, and are passionate about blockchain, smart contracts, and NFTs.  An intern will have 0 to 3 years of experience, and a majority of their experience will either be previous internships, open-source contributions, side projects, or project-based school work.  Most reputable web3 companies will provide some compensation, while sometimes community-based contributions will be unpaid work with similar structures to an internship. ### **Entry-level Solidity developer** Entry-level Solidity developers often have at least 1-2 years of experience working with Solidity, and many will have completed Solidity coursework from a Solidity bootcamp or an online certification course.  Entry-level Solidity devs will work with the engineering team and product managers to scope, develop, and maintain web3 products. Developers are also expected to follow the software development life cycle, and push code into production environments. Finally, entry-level developers need to write clean, reusable code and libraries. As an entry-level developer, you will be learning continuously about new engineering techniques and technologies.  ### **Junior Solidity developer** Junior Solidity developers often possess at least 2-3 years of software engineering experience developing highly reliable, scalable products and services. Junior Solidity devs work closely with the lead engineer to program Solidity smart contracts, maintain production applications, products, and evaluating new tools. If the company has interns or entry-level Solidity programmers, junior engineers will help train, onboard, review, and mentor new engineers, while the majority of the team’s management and prioritization will be directed by Senior engineers. ### **Senior Solidity developer** Senior Solidity developers are responsible for architecting products, designing smart contracts, writing complex code, delegating work to junior developers, and reviewing pull requests \(PRs\) before code is moved into production.  Senior Solidity developers often have over three years of working with Solidity, and many will have significant web2 engineering experience where they’ve mastered complimentary coding languages like JavaScript and TypeScript. ## Best Solidity job boards for developers Engineers searching for Solidity internships, part-time Solidity developers looking for a full-time web3 programming job, and full-time web2 engineers can use online job boards to access global, remote, and onsite job positions in web3. The following is a list of the best job boards and websites to search for your next [Solidity developer role](https://www.alchemy.com/overviews/solidity-developer). ### **1. CryptoJobsList.com** Crypto Jobs List was founded in 2017, and the website posts jobs for all experience levels, from internships to senior developer roles, including remote job listings. While salary details are sometimes omitted, the job board indicates how many applicants have applied. Developer profiles are also available on the site for recruiters to seek out talent. Companies either use a webform on Crypto Jobs List for applicants to upload their[ web3 resume](https://www.alchemy.com/overviews/web3-hackathon-resume), redirect applicants to the employer’s website, or redirect applicants to a third-party application website. Additionally, there are profiles for over 2,000 cryptocurrency and blockchain companies worldwide that include valuable information about the company’s story, culture, and ethos. Furthermore, industry hiring trends and transparent statistical data are available for job seekers to gain a competitive edge in the job market. #### **Web3 companies posting Solidity jobs on web3.career** - Ethereum Foundation - Polygon - [Certik](https://www.alchemy.com/dapps/certik)  - P2P Find a Solidity job: [https://cryptojobslist.com/solidity](https://cryptojobslist.com/solidity) ### **2. Web3.career** On Web3.career you can find remote and onsite jobs for Solidity developers of all experience levels. The site also includes internship listings for developer, non-tech, and designer positions. The web3.career job board makes searching for job listings convenient through its internal categorization where Solidity job seekers can search for remote work and jobs local to their region. **Web3.career also provides a number of resources for developers:** - Lists the most popular and highest-paid positions on their job listing pages - Lists the average yearly salary and job count for each company - Redirects applicants to LinkedIn or the employer's website to submit applications Beyond job listings, Web3.career serves as a learning platform for beginner and advanced web3 developers by offering tutorials, courses, and articles on web3 topics from smart contracts to **Solidity**. #### **Web3 companies posting Solidity jobs on web3.career** - MetaMask - Uniswap - Binance - Stripe Find a Solidity job: [https://web3.career/solidity-jobs](https://web3.career/solidity-jobs) ### **3. CryptoCurrencyJobs.co** CryptoCurrencyJobs.co has listed over 1,000 companies and 10,000 job listings since 2017. The job listings for Solidity developers on CryptoCurrencyJobs.co may be more suitable for junior and senior developers. However, entry-level, non-tech, and internship listings are also listed. OpenZeppelin and Staked are some companies that post their job listings on this site. **CryptoCurrencyJobs.co also provides a number of resources for developers:** - Provides transparent data for companies and developers to strengthen the crypto community. - A weekly newsletter which provides blockchain and cryptocurrency job listings.  - Provides data about industry salaries from various regions to compare salaries - A special Startups platform features over 1,000 startup company profiles To apply, use the cryptocurrency.jobs.co webform application to upload your resume and cover letter. #### **Web3 companies posting Solidity jobs on CryptoCurrencyJobs.co** - Nethermind - Offchain Labs - Trail of Bits - Perpetual Protocol Find a Solidity job: [https://cryptocurrencyjobs.co/?query=%20solidity](https://cryptocurrencyjobs.co/?query=%20solidity) ### **4. Crypto.jobs** Crypto.jobs allows job seekers, primarily junior and senior Solidity developers, to search job listings by job category, skills, or location for both onsite and remote positions. In addition to job listings, developers can also post their profiles in the talent portal using a webform application, to post their resume, bio, skills, and location. Consensys, Cardano Foundation, and BlockFi are just several of the companies listing job positions on the Crypto.Jobs board.  **Crypto.Jobs also provides a number of resources for developers:** - The site hosts AMA forum events that discuss a variety of blockchain and cryptocurrency topics  - Job seekers can also sign up for their weekly newsletter for job listing and industry updates - Listings include data about how many views and applications have been submitted for a particular job #### **Web3 companies posting Solidity jobs on crypto.jobs** - Status.im - DiversiFi - Matter Labs - Anchorage Digital Find a Solidity job: [https://crypto.jobs/](https://crypto.jobs/) ### **5. Crypto-careers.com** Crypto-Careers.com is a career platform for blockchain companies and developers that provides job listings for startups and well-established crypto companies. [Gelato](https://www.alchemy.com/dapps/gelato), OKX, and Validity Labs post their open roles on this site, and each company profile provides job seekers with valuable information about the company’s founding, size, funding, mission statement, and projects. There are more junior and senior developer roles available on Crypto-Careers.com, and the compensation is often listed at the bottom of a job listing. The application process does not require registering a profile: the applicant simply inputs their email address, provides a resume, and includes a cover letter. Additional benefits of the crypto-careers job board is that their remote jobs portal and the company blog which provides current data and blockchain industry trends. #### **Web3 companies posting Solidity jobs on crypto careers** - Gemini - Immutable - Harmony  - Parity Technologies Find a Solidity job: [https://www.crypto-careers.com/jobs/search](https://www.crypto-careers.com/jobs/search) ### **6. Blockchain headhunter** Founded in 2017 as a boutique recruitment platform, Blockchain Headhunter specializes in executive search and recruitment. Blockchain Headhunter is more suitable for junior and senior Solidity developers and executives.  The compensation is often tagged on the job listing, and applicants use a webform to apply for positions. The webform includes a CV upload, questions regarding location, pay expectations, availability, and the option to write why the candidate would be a good fit for the position. Additionally, the webform allows applicants to connect their LinkedIn, WhatsApp/Telegram, and GitHub addresses. Job seekers can also benefit from the blockchain community that Blockchain Headhunter has developed on Telegram, LinkedIn, Reddit, and Discord alongside valuable industry-related content in the company blog. #### **Web3 companies posting Solidity jobs on blockchain headhunter** Because Blockchain Headhunter is a third-party agent, the client or organization seeking candidates is not revealed. Instead, Blockchain Headhunter reveals information about the type of company posting the job; crypto VC, web3 gaming, etc. Find a Solidity job: [https://blockchainheadhunter.com/jobs](https://blockchainheadhunter.com/jobs) ### 7. Crypto recruit Crypto Recruit specializes talent across the crypto spectrum including DeFi, GameFi, and NFTs, with onsite and remote job listings for both technical and non-technical positions in full-time capacities with a few internship opportunities available.  The Crypto Recruit website uses a webform for applications that prompts applicants to attach a resume and cover letter. There are additional optional boxes for an applicant to provide their LinkedIn address and answer specific questions relevant to the position. There are additional advisory services job seekers can purchase on Crypto Recruit, and a Top Candidates portal that showcases the resumes of their leading talent. In addition, there is a free blog that addresses useful topics for job seekers, such as interviewing tips, trends in the overall crypto market, and tips for working with a recruiter. #### **Web3 companies posting Solidity jobs on crypto recruit** Because Crypto Recruit is a third-party agency, the organization seeking candidates is not revealed, and instead shares information about the type of opportunity being hired for such as blockchain trading companies. Find a Solidity job: [https://www.cryptorecruit.com/candidates/browse-jobs/](https://www.cryptorecruit.com/candidates/browse-jobs/) ### **8. Web2 job boards** Traditional job post aggregation websites like LinkedIn, Monster, and Indeed often have roles for Solidity developers. While Web2 job boards aren’t as comprehensive as web3 job boards, they offer a variety of job postings from larger enterprise companies that have established recruiting teams and choose to use mainstream job boards instead of new, less-visited web3 job boards. #### **Web3 companies posting Solidity jobs on Web2 job boards** - Chainlink Labs - Syndicate - Mysten Labs - Polygon ### **9. Internal job boards at Web3 companies** If you already know which companies you want to work for, searching directly on the company job board is suitable for Solidity developers of all experiences. Companies like **Alchemy**, OpenSea, OpenZeppelin, and many venture-backed web3 startups are large enough to have dedicated sourcing, recruiting, and hiring teams, making managing an internal web3 careers page using tools like Greenhouse or Lever a more practical hiring solution. Conversely, for startups with a core team of engineers and little hiring experience, industry referrals and web3 job boards are better options for finding qualified inbound Solidity Developer applications.  ## **Conclusion** With a comprehensive understanding of the different Solidity developer seniority levels, salaries, and web3 job boards, you can start learning Solidity, updating your LinkedIn, resume, and applying for full-time, part-time, and remote Solidity programming roles. If you are interested in working with the industry’s leading web3 infrastructure and developer platform, visit [Alchemy’s careers page](/careers) to find our open engineering positions. --- # What is mapping in Solidity? URL: https://www.alchemy.com/overviews/solidity-mapping.md Mappings in [Solidity](https://www.alchemy.com/overviews/solidity) are hash tables that store data as key-value pairs, where the key can be any of the built-in data types supported by Ethereum. Mappings are a fundamental concept to understand when [learning Solidity development](https://www.alchemy.com/overviews/learn-solidity). This article explains what mappings are, how mappings work, the differences between mappings and arrays, and provides examples of mappings so you can develop the best smart contracts on Ethereum and Solidity-compatible blockchains like Optimism and Arbitrum. ## **What is a hash table?** A hash table is a data structure that stores data associatively. Data is kept in an array format in a hash table, with each data value having its own unique index value. Hash Tables use an array as a storage medium and employ the hash technique to establish an index from which an element is to be inserted or located. When the index of the needed data is known, it can get returned extremely quickly. As a result, hash tables are data structures in which insertion and search operations are extremely quick, regardless of the quantity of the data. ## **What is mapping in Solidity?** Mapping is a hash table in Solidity that stores data as key-value pairs, where the key can be any of the built-in data types, excluding reference types, and the value of the data type can be any type. Mappings are most typically used in Solidity and the Ethereum blockchain to connect a unique Ethereum address to a corresponding value type. In any other programming language, a mapping is equivalent to a dictionary. ### What is the difference between hash tables and Solidity mappings? Mappings function as hash tables, with key types and corresponding value type pairs, and mappings are valuable because they can hold a large number of **\_KeyTypes** to **\_ValueTypes**. Mappings do not have a length, nor do they have the concept of setting a key or a value. Mappings are only applicable to state variables that serve as store reference types. When mappings are initialized, they include every possible key, and are mapped to values whose byte-representations are all zeros. Mappings are defined in Solidity in the same way as any other variable type: ### What is the difference between Solidity arrays and mappings? [**Solidity arrays**](https://www.alchemy.com/overviews/solidity-arrays) are better for iterating through a group of data \(e.g. using a for loop\), compared to mappings which are better when you will be able to obtain values based on a known key \(i.e. you don't need to go over data\). Because iterating over an array in Solidity can be expensive compared to fetching data from mappings, and developers may want to store both a value and its key within a smart contract, developers sometimes create an array of keys that serve as a reference to data that can then be retrieved from inside a mapping. Developers should never let an array in Solidity grow too large because iterating through a large array could cost more in Solidity gas fees than the transaction's value, making mappings a more [gas efficient smart contract implementation](https://www.alchemy.com/overviews/solidity-gas-optimization). **Here are some additional qualities about mappings:** - Mappings have no length. - Mappings also don't understand the concept of a key or a value being set. - Mappings can only be used for state variables that serve as storage reference types. ## **What is a nested mapping?**  Nested mapping is mapping from one mapping to another. For example, if we have a username and age and want to store this information with the assistance of a special ID so that others can only get it with the aid of that ID, this is known as double mapping in Solidity. Here is one nested mapping example: In this contract, we built one nested mapping, which is referred to as a User. In that mapping, we linked two mappings: 1. one for recording the information about the id of the specific user 1. one for storing the name and age of the specific user. The code block below is a simple getter function, which returns information of the user. ## **How to use mappings in Solidity** Here is an example of using mappings in Solidity. The following code snippet functions are: - Mapping from address to uint and ensures the mapping always returns a value - If the value was never set, it will return the default value. - Updating the value at the mapped address - Resetting the value to the default value. - Creating a nested mapping from address to another mapping - Getting values from a nested mapping even when it is not initialized ## **Solidity mapping examples** Here are three examples of mappings in Solidity: 1. ERC20 token balances 1. Using boolean logic 1. Looking up members of a DAO ### **1. ERC20 user balances** This code snippet maps user addresses with their addresses' ERC20 balance. ### **2. Solidity mapping bool example** This code snippet is designed to list candidates names in a list and return how many votes the candidate received. This example has use cases with [DAOs](https://www.alchemy.com/dapps/top/daos) where members are expected to vote on organizational decisions. ### **3. Is a member \(DAOs\)** This example is from the Dominion DAO smart contract that maps _raisedProposals_, _stakeholderVotes_, _votedOn_, _contributors_, and _stakeholders_. This code example lists fields for two [Solidity structs](https://www.alchemy.com/overviews/solidity-struct): _ProposalStruct_ and _VotedStruct_. ## **Solidity mapping of string** Let's try adding some values to the mapping while it's being built for better understanding. In the following example, we: - Create a contract - Define a structure - Declare different structure elements - Create a mapping - Add values to the mapping ## **Solidity mapping FAQs** Here are a few frequently asked questions about Solidity mappings: 1. What is the Solidity mapping length? 1. What are the default values of Solidity mappings? 1. How can you publicly see Solidity mappings? ### **What is the Solidity mapping length?** **Mappings do not have a length. A key's data is not saved in a mapping, but rather its keccak256 hash** is used to store the value to which the key data refers. There is no concept of a key and a value "by themselves." ### **What are Solidity mapping default values types?** Here are the default value types for Solidity mappings: - **int/uint** - key type = yes; value type = yes - **string** - key type = yes; value type = yes - **byte/bytes** - key type = yes; value type = yes - **address** - key type = yes; value type = yes - **struct** - key type = no; value type = yes - **mapping** - key type = no; value type = yes - **enum** - key type = no; value type = yes - **contract** - key type = no; value type = yes - **fixed-sized array** - key type = yes; value type = yes - **dynamic-sized array** - key type = no; value type = yes - **multi-dimensional array** - key type = no; value type = yes - **variable** - key type = no; value type = no ### **How to publicly see Solidity mappings?** Because [the property is public](https://www.alchemy.com/overviews/solidity-function-visibility), you can use the getter function created by the **Solidity compiler** to access it. --- # What is a modifier in Solidity? URL: https://www.alchemy.com/overviews/solidity-modifier.md [Solidity](https://www.alchemy.com/overviews/solidity) is an object-oriented, high-level language for implementing smart contracts. While[ learning Solidity](https://ethereum.stackexchange.com/questions/55048/modify-struct-on-upgradeable-smart-contracts?rq=1), you will come across modifiers, which is a special type of function that modifies the behavior of other functions In this article, we’ll explain what a Solidity modifier does, introduce the types of modifiers and show you how to use them. By the end of this article, you will be able to recognize Solidity modifiers and understand how to use them. ## **What does a Solidity modifier do?** **A modifier is a special [type of Solidity function](https://www.alchemy.com/overviews/solidity-functions) that is used to modify the behavior of other functions.** For example, developers can use a modifier to check that a certain condition is met before allowing the function to execute.  Modifiers are similar to functions, in that they can take arguments and have a return type. Modifiers can also be chained together, meaning that you can have multiple modifiers on a single function.  However, modifiers can only modify contract logic, and they [cannot modify a contract’s storage](https://ethereum.stackexchange.com/questions/55048/modify-struct-on-upgradeable-smart-contracts?rq=1), which includes structs. Modifiers reduce the amount of boilerplate code that developers have to write, and can make your Solidity code more readable. ### **Can you have multiple modifiers on Solidity functions?** **Yes, developers can use multiple modifiers on a single Solidity function.** Multiple modifiers are separated by commas. One important thing to note about using multiple modifiers is that the order of modifiers matters. The first modifier in the list will be executed first, the second modifier will be applied second, and so on.  For example, if you have a modifier that checks if a user is authenticated and another modifier that checks if a user is authorized to view a certain resource, then the order in which those modifiers are applied will determine whether or not a user is able to view the resource.  ## **What are the different types of Solidity modifiers?** **There are four broad categories of Solidity modifiers: gate checks, prerequisites, filters, and reentrancy attack prevention.** ### **1. Gate checks** A "gate check" is a modifier that checks if a certain condition is true before allowing a function to execute. For example, you might have a function that allows a user to withdraw money from their account, but before the function executes, a developer might want to check if the user has enough money in their account to make the withdrawal. That check is considered a gate check modifier.  Another example of a gate check is a function that checks if a user is authenticated before allowing them to view a certain resource.  ### **2. Prerequisites** A "prerequisite" is a modifier that sets up the environment for a function to execute, rather than checking if a certain condition is true. For example, a Solidity developer might use a function that requires a certain amount of Ether to be sent along with it in order to execute. In that case, the prerequisite would be the function that sets up the Ether balance.  ### **3. Filters** A "filter" is a modifier that checks if a certain condition is true, and, if it is, allows the function to execute. If the condition is not true, then the function will not execute. Unlike a gate check, which will not automatically allow the function to execute even if the condition is true, a filter will allow the function to execute if the condition is true.  ### **4. Reentrancy attack prevention** **A [reentrancy attack](https://www.alchemy.com/overviews/reentrancy-attack-solidity) is a type of attack where a malicious actor tries to execute a function multiple times, via a recursive call, in order to exploit it.** For example, imagine that you have a function that allows a user to withdraw money from their account. A reentrancy attacker might try to call that function multiple times to withdraw more money than they actually have in their account.  To prevent reentrancy attacks, you can use a modifier that checks if the function is being called recursively. If it is, then the function will not execute. ## **What is the relationship between require and Solidity modifiers?** **Require is often used interchangeably with modifiers, since they both allow you to**[** check if a certain condition is true**](https://www.alchemy.com/university/courses/solidity?a=313ac76819) before allowing a function to execute. If the specified condition is not true, then the compiler with throw an error. For instance, the following statement uses the require keyword so that only an owner can interact with a function: There are some important differences between require and Solidity modifiers: 1. Modifiers can be used to set up the environment for a function to execute \(as in the case of prerequisites\) 1. _Require_ can only be used to check if a certain condition is true 1. Modifiers can be overridden 1. _Require_ cannot be overridden ## **How does Solidity handle modifiers compared to Vyper?** Vyper is a pythonic language for Ethereum smart contract development that makes certain tradeoffs to increase security, including [not using modifiers](https://www.alchemy.com/overviews/solidity-vs-vyper). Instead, developers are meant to use inline checks and asserts in the function, and if modifying smart contracts, to again make changes explicitly as part of the function. Vyper's choice to remove the ability to use modifiers increases smart contract auditability because the reader doesn’t have to mentally place the modifier around the function to see what it will do. ### **What is modifier overriding?** The keyword "virtual" can be used to indicate that a modifier can be overridden in a derived contract. For example, imagine that you have a contract "Base Contract" with a modifier "myModifier". You also have a contract "Derived Contract" that inherits from "Base Contract". If "Base Contract" is marked as "virtual", then it can be overridden in the derived contract. This is often used in the context of libraries, where a contract allows for customization.  ### **How do modifiers work with inheritance?** **Inheritance lets you extend a contract's attributes and properties, and in the context of modifiers, inheritance allows you to add new modifiers, or override existing ones.** This can be done with the keyword _virtual_ which was discussed in the previous section.  The simple implementation below demonstrates how inheritance and modifiers work together: In this example, contract B inherits from contract A. Both contracts have a modifier called "X". However, in contract B, the modifier is marked as "override", which indicates that it overrides the modifier in contract A. ## **How to use a modifier in Solidity** When using a modifier, you first need to define the modifier function in a contract. Modifiers use a special symbol “\_;” where the function body is inserted only if the condition of the modifier is satisfied. **The contract below demonstrates how to use a modifier:** In the example above, the contract has two modifiers: “onlyOwner” and “costs”. The first modifier checks that the _msg.sender_ is the owner of the contract, and the second modifier checks that the _msg.value_ is greater than or equal to a certain price.  Both of these modifiers can be used on any function in the contract.  ## **Continue learning about Solidity modifiers** Modifiers are functions that are used to modify the behavior of other functions. By using modifiers, you can reduce the amount of boilerplate code that you have to write, and can make your Solidity code more readable. To [continue learning about Solidity modifiers](https://www.alchemy.com/overviews/learn-solidity) and how to become a Solidity developer, secure your spot in Alchemy University's 7-week Ethereum Developer Bootcamp. Originally created by the ChainShot team, this FREE, [Solidity crash course](https://www.alchemy.com/university/courses/solidity?a=313ac76819) is the best way to learn Solidity. If developers are new to development in general, Alchemy University's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # Solidity Error Handling URL: https://www.alchemy.com/overviews/solidity-require.md ## ‍How does error handling work in Solidity? [Solidity](https://www.alchemy.com/overviews/solidity) uses state-reverting exceptions to handle errors, and such an exception will undo all changes made to the state in the current call and simultaneously flag an error to the caller. ‍ Solidity, an object-oriented programming language to implement [smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract) on blockchains such as Ethereum, has numerous functions to address underlying issues that can occur at compile time or runtime. Even though syntax error checks happen at compile time, runtime errors are difficult to catch and mainly happen during the contract execution process. Some runtime error examples include a divide-by-zero type error, array-out-of-index error, and so on.  In effect, error handling in Solidity ensures **atomicity** as a property. When a smart contract call terminates with an error, all the state changes \(i.e., alterations made to variables, balances, etc.\) are reverted, all the way up the chain of contract calls. It is important to note that developers can directly interact with other contracts by [declaring an interface](https://www.alchemy.com/overviews/solidity-interface). On the Ethereum blockchain, transactions are atomic, implying that transactions are either fully complete or have no effect on state and are reverted entirely.  ## **What are the three main Solidity error handling functions?** Error handling in Solidity is managed in principle by three [**special functions**](https://www.alchemy.com/overviews/solidity-functions): assert, require, and revert. Until version 0.4.10, a single throw statement was available in Solidity. Solidity has been designed to target the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\) and is influenced by C\+\+, Javascript, and Python. Using Solidity, developers can create contracts for uses such as voting, crowdfunding, multi-signature wallets, and even blind auctions. In practice, this means that a developer had to write several test functions in order to check underlying values and throw errors, which is not [optimized for gas](https://www.alchemy.com/overviews/solidity-gas-optimization). In the release of Solidity version 0.4.10, new error handling constructs, asset, require, and revert, were introduced and the throw was made obsolete. ### What is the require function? The _require_ function is used to verify inputs and conditions before execution. For instance, if the condition is false, then the require function immediately stops execution. In other words, require acts as a [gate check modifier](https://www.alchemy.com/overviews/solidity-modifier), preventing logic from accessing further execution of function and thereby producing an error. Require is ideal for logic flow gating and validating user inputs on functions.   Require statements declare prerequisites for running the function, which should be satisfied prior to code execution. The _require_ function accepts a single argument and after evaluation, require returns a boolean value of true or false. In the event that the execution is terminated due to a false condition, the unused gas is returned to the caller and the state is reversed to the original state. Customer string messages can also be added. **Here is an example of a require statement in Solidity:** #### **Require statement use cases** For pragmatic reasons, developers could use _require_ for the following scenarios: 1. Validating responses from an external contract  1. Verify state conditions before final execution 1. Authenticate user inputs  ### What is the revert statement? ‍Revert does not evaluate any condition and does not depend on any state or statement. The revert statement is similar to the require statement in that the revert function can handle the same error types as the require function, but it is more appropriate for complex logic gates. If a _revert_ statement is called, the unused gas is returned and the state reverts to its original state. The ability to add a custom message is the same as the _require_ function.  Here is an example of a revert statement in Solidity: ### What is the assert function? Assert is a function that is used to check for code that should never be false, and plays an important role in preventing impossible scenarios. If the assert function returns a boolean value of true, then a terminal bug will be displayed and the programs will not execute. In contrast to the _require_ and _revert_ functions, _assert_ does not return any unused gas and instead, the _assert_ function will consume the gas supply before proceeding to reverse the program to its original state. Interestingly, prior to the Byzantium fork, both the _require_ and _assert_ functions behaved in an identical manner, however, compiled to distinct opcodes. #### Assert type exceptions 1. A value is modulo or divided by zero 1. A zero-initialized variable of a function is called  1. A negative or large value is converted to an enum  1. Accessing an array within an index that is negative or larger than expected  _Assert_ statement example: #### Assert statement use cases In theory, _assert_ should be used less frequently compared to the _require_ function. Developers should consider using the _assert_ function for the following use cases:  - Validating the contract state after making changes  - Avoiding conditions which should never be possible  - Checking for overflow and underflow parameters  - Examining invariants ## **Require vs. revert vs. assert** Here is a summary that provides a succinct description of all all three Solidity error handling functions: _require_, _revert_, and _assert_. #### **Require** - Used at the beginning of a function  - Validates against illegal input  - Verifies state conditions prior to execution - Refunds leftover gas  #### **Revert** - Identical to require  - Useful for more complex logic flow gates \(i.e., complicated if-then blocks\)  - Refunds leftover gas #### **Assert** - Used at the end of a function - Validates something that is impossible  - Critical for static code analysis tools  - Does not refund leftover gas ## **How to learn more about require and Solidity error handling** Developers interested in [learning more about Solidity error handling](https://www.alchemy.com/overviews/learn-solidity) should sign up for Alchemy University's [free Solidity developer crash course](https://university.alchemy.com/?a=382cc2e126). This FREE, 7-week bootcamp helps web2 developers and brand new coders learn how to write Solidity smart contracts. If developers are new to development in general, Alchemy University's [**3-week JavaScript crash course**](https://www.alchemy.com/university/courses/js) is a great prerequisite before starting an Ethereum bootcamp. --- # Introduction to Solidity Smart Contracts URL: https://www.alchemy.com/overviews/solidity-smart-contract.md Solidity smart contracts have various uses ranging from multi signature wallets to decentralized exchanges. Solidity is one of the major web3 programming languages built specially for creating smart contracts and has therefore seen a steady increase in popularity.  This article will introduce you to Solidity smart contracts, how they work and their properties. We will also run through Solidity smart contract syntax and data types to get you started on interacting with Solidity smart contracts for your next project. To expand your knowledge of Solidity, complete Alchemy University's [free Solidity syntax course](https://www.alchemy.com/university/courses/solidity). ## **What is a Solidity smart contract?** A Solidity smart contract is a program [written in Solidity](https://www.alchemy.com/overviews/solidity), deployed to the Ethereum blockchain, and executed in the [Ethereum Virtual Machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) \(EVM\). Ethereum stores the smart contract code and data \(its state\) at a designated address. When predetermined conditions are met, the program, or smart contract, stored on the blockchain is executed without the need of an intermediary. Smart contracts are, in other words, programs which govern the behavior of accounts within the Ethereum state.  You can write smart contracts in Solidity or any other EVM-compatible programming language. They must be compiled into bytecode first to be EVM compatible.  Solidity is an object-oriented, high-level language for writing smart contracts. Smart contracts written in Solidity can be used for various purposes like voting, crowdfunding, blind auctions, and multi-signature wallets. ## How do smart contracts work? Smart contracts are programs stored on the blockchain. A smart contract fortifies agreements between various parties in code and enforces rules automatically when pre-conditions are met. This means that all parties involved in the smart contract are immediately certain of the outcome, without time lost or involvement of a third party. Smart contracts can also automate workflows to trigger the next event upon execution. Smart contracts that follow the [ERC20 standard](https://www.alchemy.com/overviews/erc20-solidity) are considered ERC20 tokens. ERC20 tokens allow for the transfer of tokens between holders.  ## **What are the properties of Solidity smart contracts?** Smart contracts are by nature, immutable and deterministic. This means that once a smart contract is deployed or built on Ethereum, it will never cease to exist unless conditions which trigger a self-destruct have been programmed within it. The code will always execute on the conditions it has been programmed to.  Additionally, smart contracts are deterministic since each network node is able to produce the same result when the same input is given for a method. Should different nodes arrive at different outputs on execution of the smart contract, the consensus protocol is violated and the smart contract is rendered unusable. Also, smart contracts are [permissionless](https://www.alchemy.com/overviews/permissionless-vs-permissioned-blockchains), which means anyone in possession of ETH and has access to the internet is able to deploy a smart contract on Ethereum.  Finally, smart contracts are composable. This means that you can use smart contracts from other projects as building blocks for your project. Smart contracts can be thought of as open APIs where users do not need to write their own smart contract to become a dApp developer, users just need to know [how to interact with them](https://docs.soliditylang.org/en/v0.8.13/abi-spec.html).  ## **Solidity smart contract syntax** While there are many resources available to help you [get started learning Solidity](https://www.alchemy.com/overviews/learn-solidity), this section will outline the syntax used to write Solidity smart contracts.  ### **1. Contracts** Contracts in Solidity are similar to classes in object-oriented languages. Each contract can contain declarations of State Variables, Functions, Function Modifiers, Events, Errors, Struct Types and Enum Types. In this article we will discuss Constructors, State Variables and Integer Variables in further detail. Furthermore, contracts can inherit from other contracts. There are also special contracts called libraries and [interfaces](https://www.alchemy.com/overviews/solidity-interface).  ### **2. Semantic versioning** Solidity, like most softwares, uses semantic versioning. This means there are no big changes unless you are updating a major version. You can refer to the main breaking changes introduced to each Solidity version on the docs. The most updated version of Solidity is **v0. 8.16**, as of August 2022. ### **3. Constructor** A constructor is called only once during deployment, or contract creation. A constructor is an [optional function](https://www.alchemy.com/overviews/solidity-functions) declared with the constructor keyword and allows you to run contract initialization code.  Before the constructor code is executed, state variables are initialized to their specified value if you initialize them inline, or their default value if you do not. After the constructor has run, the final code of the contract is deployed to the blockchain. If there is no constructor, the contract will assume the default constructor.  ### **4. State variables** State variables are variables whose values are stored in contract storage. Each function has its own scope, and state variables should always be defined outside of that scope. State variables adhere to visibility. You can make state variables public with the [_public_ visibility keyword](https://www.alchemy.com/overviews/solidity-function-visibility), which provides a getter function which other smart contracts can access. ### **5. Modification** In Solidity, [a modifier amends the semantics of a function](https://www.alchemy.com/overviews/solidity-modifier) in a declarative way. In other words, modifiers change the behavior of the function to which they are attached. Modifiers are useful in eliminating code redundancy and can be reused to check for the same condition in multiple functions within a smart contract.  ### **6. Integer variables** There are two types of integer variables in Solidity: [unsigned integers \(uint\)](https://www.alchemy.com/overviews/solidity-uint), and signed integers \(int\). A signed integer is a value data type that can store negative and positive values. An unsigned integer, on the other hand, has no sign and therefore is a value data type that must be non-negative. ## **Solidity data types** Like other programming languages, Solidity has various classifications of data types. However, Solidity is unique in that various elementary data types can be combined to form more complex data types. This section outlines the major data types in Solidity. ### **1. Booleans** The possible values of booleans, denoted by _bool_ in Solidity, are constants true and false. ### **2. Strings** String literals are written with either double or single-quotes. Strings can also be split into multiple consecutive parts, which can be helpful when dealing with long strings.  ### **3. Numbers** _Fixed_ and _ufixed_ refer respectively to signed and unsigned fixed point numbers of various sizes. ### **4. Bytes** In Solidity, byte refers to 8-bit signed integers. Bits are stored in the memory with binary values of 0 or 1. In Solidity, the data type byte represents a sequence of bytes. There are two types of byte types in Solidity, **fixed-sized byte arrays** and **dynamically-sized byte arrays**. The keyword bytesX is used to define variables where X denotes the sequence of bytes from 1 up to 32.  Bytes in Solidity represents a dynamic array of bytes. They are not, however, a value type.  ### **5. Address** The address holds a 20-byte value, which is the size of an Ethereum address. Hexadecimal literals that pass the address checksum test are of address type. Hexadecimal literals that are between 39 and 41 digits long and do not pass the checksum test produce an error. You can prepend \(for integer types\) or append \(for bytesNN types\) zeros to remove the error. ### **6. Payable address** The [payable address](https://www.alchemy.com/docs/solidity-payable-functions), denoted by address payable, is similar to the address but with additional members transfer and send. The distinction is necessary because a plain address may be a smart contract that is not built to accept Ether \(ETH\). An address payable is an address you can send Ether to. ### **7. Enums** Enums, also known as enumeration values in Solidity, are one way to create a user-defined type, which allows creating constant values, such as the names of integral constants. Enums make a smart contract easier to read and maintain as opposed to elementary value types. Enums are explicitly convertible to and from all integer types, but implicit conversion is not allowed. The explicit conversion from integer checks at runtime that the value lies inside the range of the enum and causes a panic error otherwise. Enums therefore reduce the incidence of bugs in your code. Enums require at least one member, and its default value when declared is the first member. Enums cannot have more than 256 members. ### **8. Arrays** Arrays are [a group of variables of the same data type](https://www.alchemy.com/overviews/solidity-arrays), with each variable having a unique index. Arrays can have a compile-time fixed size, which makes them **fixed arrays**, or they can have a dynamic size, which makes them** dynamic arrays**. Fixed-size arrays have a predefined size upon declaration. The new keyword cannot be used to introduce additional array members. Instead, the data variables must be initialized inline. Dynamic-sized arrays do not have a predefined size when they are declared. Instead, their size is determined at run time. Array elements can be of any type, including a mapping or a struct, a user-defined data structure. ### **9. Mappings** In Solidity, [mappings work like hash tables](https://www.alchemy.com/overviews/solidity-mapping) or dictionaries in other programming languages. Mappings work as a reference type and store data in the form of key-value pairs, where the key can be any of the inbuilt data types except for reference types, and the value can be any type. If state variables of a mapping type are public, Solidity creates a getter function for you.  ### **10. Structs \(user-defined types\)** A struct, or a structure, allows you to [define new data types](https://www.alchemy.com/overviews/solidity-struct). Struct types can be used inside mappings and arrays and they can themselves contain nested mappings and arrays. However, It is not possible for a struct to contain a member of its own type since the size of the struct must be finite.  ## **What is smart contract context?** **A smart contract context provides information about the environment a transaction is running in.** When a smart contract function is called via a transaction, the called function receives some extra information passed to it. Within a smart contract function you’ll have access to these context variables. You have access to the message sender, gas prices, and the tests conducted at the transaction. Therefore, you have access to a bunch of context variables that you can use in your code’s logic interchangeably. ## **Sign up for an Ethereum developer bootcamp to learn more** In this article, we have introduced the basics of getting started with Solidity smart contracts and outlined the key data types and syntax to increase your understanding. Sign up for Alchemy's [free online Ethereum Developer Bootcamp](https://www.alchemy.com/university/courses/ethereum) to learn more about creating smart contracts with Solidity. If developers are new to development in general, Alchemy University's [3-week JavaScript for Ethereum crash course](https://www.alchemy.com/university/courses/js) is a great prerequisite. --- # What is a struct in Solidity? URL: https://www.alchemy.com/overviews/solidity-struct.md There are different basic data types in [Solidity](https://www.alchemy.com/overviews/solidity) such as [_uint_ \(unsigned integers\)](https://www.alchemy.com/overviews/solidity-uint), _bool_, and _string_, but as a blockchain developer you may need a flexible data type that you can define. A **struct** is a data structure format in Solidity where variables of diverse data types can be bundled into one variable or a custom-made type. This article will introduce you to structs in Solidity, demonstrate what they do and how they work. Finally, we will explain how to use structs to create more robust smart contracts. ## **What is a Solidity struct?** **A struct is a creative data structure format in Solidity where variables of diverse data types can be bundled into one variable or a custom-made type.** Once the data types are grouped into a struct, the struct name represents the subsets of variables in it. Imagine structs to be containers that contain different types of objects so when you move the container, all the items within it also move. Therefore, when a Solidity developer declares or calls the name of a struct, the struct responds in line with the data types within it. **The following is an example of a Solidity struct:** The struct example above contains variables for address creator, string name, address users, and the uint amount. ## **Solidity struct code examples** This section will show you sample code for defining and creating structs in Solidity. We’ll also demonstrate the two options available for struct declaration. Finally, we’ll show you how to import and initialize structs.  ### **How to define and create a struct in Solidity** Struct code is similar to how object declaration works in Javascript. While the semblance is striking, the syntaxes work differently. A Solidity struct is always in the following format: **Here is how to define and create a Solidity struct:** 1. Create a struct by writing the **struct keyword**, which tells [the Solidity compiler](https://www.alchemy.com/overviews/solidity-compiler) that the preceding type is a custom type 1. Name the struct, which will be co-referential to the packed variables in the struct 1. Use curly brackets, because any other form of brackets such as a box or round brackets won't compile If you don't use curly brackets, you will generate this **ParserError** message on Remix. 4. Declare your data types along with their corresponding variables In the above example, these were string theWord, uint theFigure, and bool polarData. This is where you get to declare the subsets of your structs. After the struct is declared in the smart contract, we are able to call the name of the struct later in the code. #### **Developer tips:** - Only use curly brackets - End each member of a struct with a semicolon - Solidity will throw an error if you declare a data type and input a variable that doesn’t fit its class - Smart contracts can contain multiple structs, which are differentiated by their keyword ### How to declare a Solidity struct There are two places where you can declare structs: **within a contract or outside a contract**. Knowing where to declare your Solidity structs depends on what you want to do. Let us take a look at the two options of struct declaration. #### **Declare a struct outside a contract** In the above example, the _floorOverlay_ struct was declared outside the [smart contract](https://www.alchemy.com/overviews/solidity-smart-contract), and all the contracts in the codebase can call it. It is best to declare a struct outside of a smart contract to create a more applicable struct for all of your contracts in contrast to individual contracts, which may have specific structs just for them.  In addition, if you want smart contracts to tap into the same collection structs, declare it right after _pragma_ instead of creating structs in each of smart contract separately. #### **Declare a struct inside a contract** The _carpet_ struct is within the smart contract, and as a result, the struct's functionality is restricted to the current contract. No other contract can call its name. ### How to import a Solidity struct Structs can be imported from one smart contract to another, which helps developers save time and create reusable code. To demonstrate how to import a struct, below are two smart contracts: one where the struct has been created, and another where it will be imported. There is an error you should avoid while importing: the name of the second contract should be the name of the struct you want to import. Otherwise, Solidity compilers would not be able to identify it, resulting in a bug. ### **How to initialize a struct in Solidity** Even though you have declared and created your struct, you will not be able to use it in [various Solidity functions](https://www.alchemy.com/overviews/solidity-modifier) without assigning a certain initial value to it. There are 3 ways you can initialize structs: \(i\) the key-value pair method, \(ii\) defining and updating method, \(iii\) parenthesizing the parameters. #### **1. The key value pair method** In this method, you will pick each key type in the struct and assign values to them. The syntax of this method is not strict; you might choose not to follow the order of types in the struct. #### **2. The defining and updating method** The syntax of this initialization method is such that you have to first input a variable to store the struct, after which you will use the variable to access and name each member of the struct. The following code is an illustration: However, keep in mind that most developers do not use this method because it is longer. #### **3. Parenthesizing the parameters** If you want to use this method, you will have to call the name of the struct, store its memory, and give values to the members of the struct in a serial order. Here is an example: Here, “measles” is the variable storing this initialization, and we also declared the parameters as laid out in the struct. Always remember to put the name of the declaration in the parenthesis within an apostrophe so the Solidity compilers can identify it. ## **Solidity struct use cases** This section demonstrates a use case of Solidity to track information of users within a contract. Structs are mapped within this use case.  ### **Can structs be mapped in Solidity?** **Structs can be mapped in Solidity as value types so you can track pieces of information regarding any member of your struct.** Take a look at the following code for instance: In this contract, the details of each member in a particular DAO are categorized. We created two mappings here: one is simple, while the other is nested. In the simple mapping, we mapped the address of each member into the struct to make it easier to locate a particular member. In addition, a [nested mapping](https://www.alchemy.com/overviews/solidity-mapping) will make it easier to track the addresses of DAO members and whether or not they have voted. Because mapping is always in the key type => value type syntax, structs must always be declared as a value type, and not a key type. Otherwise, you will receive an error. ## **Summary — what is the essence of structs in Solidity?** Structs in Solidity allow developers to create custom types that are suited for what they are building. The custom types are similar to containers that hold other related data types within them. To learn more about structs, sign up for [Alchemy University's Solidity bootcamp](https://www.alchemy.com/university/courses/solidity?a=53bceeeaa3)! --- # Explore 10 of the Best Solidity Development Tutorials (2024) URL: https://www.alchemy.com/overviews/solidity-tutorial.md [Solidity](https://www.alchemy.com/overviews/solidity) is a web3 coding language for writing smart-contracts. Solidity was created for the Ethereum blockchain, and programs written in Solidity run on the Ethereum Virtual Machine \(EVM\). However, Solidity is not a commonly known programming language, and as a result, many developers [use tutorials to learn Solidity](https://www.alchemy.com/overviews/learn-solidity). ## **Why are tutorials good for learning Solidity?** Unlike courses which are typically long, time-bound, and synchronous, tutorials are short, self-paced, and asynchronous. This flexibility to learn Solidity on your own, from any teacher, and without the pressure of deadlines, is a great way to explore Solidity. [Learning web3](https://www.alchemy.com/overviews/how-to-learn-web3-development) is not an easy process. Rather than a disjointed array of information gathered from across the web, tutorials make it easy to master new material in a guided, step-by-step process. Soldity tutorials teach many fundamental concepts, such as how to install different [integrated developer environments \(IDEs\)](https://www.alchemy.com/overviews/solidity-ide), writing smart contracts, and building minimum viable products \(MVPs\) of popular use cases like developing an [NFT marketplace](https://www.alchemy.com/dapps/best/nft-marketplaces).  ### **1. Hardhat tutorial for beginners** **Hardhat** is a suite of developer tools for writing smart contracts, and is an essential tool for Solidity developers to know. This [Hardhat tutorial for beginners](https://hardhat.org/tutorial) requires some background knowledge in Javascript, using your terminal, using Github, and the basics of smart contracts, but it also provides the necessary resources to learn these dependent topics. The tutorial covers: 1. Setting up your Node.js environment for Ethereum development 1. Creating and configuring a Hardhat project 1. The basics of a Solidity smart contract that implements a token 1. Writing automated tests for your contract using Hardhat 1. Debugging Solidity with console.log\(\) using Hardhat Network 1. Deploying your contract to Hardhat Network and Ethereum testnet Hardhat is a great environment to use when creating and [debugging smart contracts](https://www.alchemy.com/overviews/solidity-console-log). This Hardhat tutorial explains the basics of Solidity development with well-written instructions and code snippets. ### **2. Create a Polygon smart contract using Alchemy** This tutorial from the **Polygon** team teaches students how to [create a Polygon smart contract](https://docs.polygon.technology/docs/develop/alchemy/) using the Alchemy developer platform. The tutorial covers the following steps:  1. Get started by creating a Polygon app on Alchemy 1. Create a [Polygon wallet](https://www.alchemy.com/dapps/list-of/software-wallets-on-polygon) address with Metamask 1. Add MATIC balance to the wallet 1. Use Hardhat and Ethers.js to compile and deploy a project 1. Check contract status on Alchemy's platform. This is a valuable tutorial because it will not only help you get started with deploying smart contracts on Polygon, but it will also teach you important web3 developer tools like Alchemy, Hardhat and [ethers.js](https://www.alchemy.com/dapps/ethers-js).  The tutorial is fairly in-depth and beginner friendly for those familiar with general coding principles.  ### **3. Develop your first NFT smart contract with OpenSea** This **[OpenSea](https://www.alchemy.com/dapps/opensea)** tutorial explains how to create your first NFT smart contract using Solidity, Hardhat, Ethers.js, [MetaMask](https://www.alchemy.com/dapps/metamask), and Alchemy. Solidity developers need to know how to work with a variety of tools, and this tutorial offers an opportunity to use some of the best web3 tools while making an NFT. The tutorial begins with how to install your environment and ends with tips on verification and usage for further improvement of your code. The completed tutorial code is also posted on Github as a reference when you’re done or if you get stuck along the way. ### **4. Create a dynamic NFT** A dynamic NFT is a non-fungible token whose image and metadata changes based on on-chain and off-chain data. One example of a dynamic NFT is Lamelo Ball’s NFT which records Lamelo’s basketball stats after each game. Also, there are eight gold NFTs that if Lamelo won Rookie of the Year, the NFT art would become gold. This [dynamic NFT tutorial](https://www.alchemy.com/docs/how-to-send-value-from-within-a-smart-contract-using-solidity) is part of Alchemy’s Road to Web3 series, and led by a team member of [Chainlink](https://www.alchemy.com/dapps/chainlink)’s developer relations team. The tutorial uses Alchemy and Chainlink to create a dynamic NFT who’s art changes between a bull picture and bear picture depending on whether the market is up or down. ### **5. Develop an NFT marketplace** An NFT marketplace is a website where users can buy, list, and sell non-fungible tokens. This tutorial from Alchemy’s Road to Web3 uses Alchemy, Hardhat, and [Pinata](https://www.alchemy.com/dapps/pinata) to [deploy an NFT marketplace on the Goerli testnet](https://www.alchemy.com/docs).   ### **6. Build a decentralized social media application** Like DeFi in 2020 and NFTs in 2021, blockchain social media applications have the potential to ignite a lot of mainstream interest for Ethereum. This [decentralized social media tutorial](https://www.alchemy.com/docs) teaches students how to use Apollo [GraphQL](https://www.alchemy.com/dapps/graphql), Aave’s Lens protocol API, Polygon, the MintKudos API, and Lit protocol to fetch user profiles, integrate Proof-of-Knowledge NFTs \(PoK\), and use encryption to deploy a social media app frontend website using Repl.it. ### **7. How to get the latest block on Ethereum** One of the most fundamental things a blockchain developer will need to do is [get the latest block from the blockchain](https://www.alchemy.com/docs/how-to-get-the-latest-block-on-ethereum). This tutorial covers: 1. Creating a project directory from the command line 1. Installing the Alchemy SDK 1. Creating an index.js file 1. Running a call using node to get the latest block number ### **8. Send a private transaction on Ethereum** A private transaction is a transaction sent directly to validators instead of being sent to the global mempool. Because Maximum Extractable Value \(MEV\) bots are listening to transactions in the mempool, sending a private transaction can help protect users from frontrunning. This tutorial explains how to [use the Alchemy SDK and Flashbots to send a private transaction](https://www.alchemy.com/docs/reference/mev-protection). ### **9. Deploy a smart contract to multiple networks** Multichain applications are applications that are deployed across different blockchain networks. Because each network has unique advantages, tradeoffs, and niche users, [deploying the same smart contract across multiple blockchains](https://www.alchemy.com/docs/how-to-deploy-a-smart-contract-to-the-sepolia-testnet) is a popular use case. This tutorial explains how multichain contracts can be deployed using Alchemy, MetaMask, and Hardhat, to deploy a contract to Ethereum's Goerli testnet and Polygon's Mumbai testnet. ### **10. Build a full stack blockchain application** This tutorial from **Dapp University** shows you how to [create a full stack blockchain application](https://www.youtube.com/watch?v=CgXQC4dbGUE) using Solidity smart contracts and Javascript. Students will learn how to deploy smart contracts to the blockchain and build a client-side application.  This tutorial is great for beginners because everything is taught from the beginning, is accompanied by a written guide, and includes starter code if you prefer not to start fully from scratch.  ## **Start learning Solidity with the best tutorials** Tutorials are a great way to jumpstart your [Solidity developer career](https://www.alchemy.com/overviews/solidity-developer), whether you are completely new to coding, or new to web3 development. If you are interested in a more structured approach to learning Solidity, Alchemy University’s 7-week Solidity developer bootcamp is a [free Ethereum development crash course](https://university.alchemy.com/?a=2de3c03a16) that covers everything you need to know. Complete with interactive coding challenges, video lessons, and educational readings, this redesigned bootcamp will help [accelerate your journey becoming a Solidity developer](https://www.alchemy.com/overviews/how-to-become-a-solidity-developer). If developers are new to development in general, Alchemy University's **3-week JavaScript crash course** is a great prerequisite before starting an Ethereum bootcamp. --- # Solidity Data Types: Signed (int) & Unsigned Integers (uint) URL: https://www.alchemy.com/overviews/solidity-uint.md ‍[Solidity](https://www.alchemy.com/overviews/solidity) is a high-level, object-oriented, and statically typed language that developers use to deploy applications on the Ethereum blockchain. As a statically typed language, [Solidity](https://www.alchemy.com/dapps/solidity) requires the developer to define the structure and data type of every state and local variable at compile time.  Thus, Solidity data types are essential to understand while [learning Solidity smart contracts.](https://www.alchemy.com/overviews/learn-solidity) Data types classify information stored in variables into different types such as integers, booleans, addresses, literals, arrays, and so on. This article defines what data types in Solidity are and elaborates on common integer types such as uint and int. ## **What are Solidity data types?** **Similar to other statically typed languages, Solidity data types specify the information stored in a variable, such as a specific value or a reference address of a memory location.** Data types in Solidity are flexible in that you can combine elementary types to form complex types such as integer arrays or structures with differently typed variables. However, one of the key restrictions in Solidity is that the developer needs to specify the data type of every variable at compile time. Once declared, the compiler knows exactly how much space it needs to reserve for the variable. Solidity data types can be broadly categorized into two main groups: value types and reference types. ### **What are value types?** Solidity value types, such as integers, are variables that store data within a defined memory space and pass a duplicated value when used within a function or an assignment. This value type stores a separate copy of the duplicated data type, so any change to the value of the copied value type will not alter the original value type. Solidity has eight value types: signed/unsigned integers, booleans, fixed point numbers, addresses, byte arrays, literals, enums, and contract and function types. Here’s a quick cheatsheet of what they stand for: 1. **Signed/Unsigned integers** - Integer data types store whole numbers, with signed integers storing both positive and negative values and unsigned integers storing non-negative values. 1. **Booleans** - Boolean data type is declared with the bool keyword, and can hold only two possible constant values, true or false. 1. **Fixed-point numbers** - Fixed point numbers represent decimal numbers in Solidity, although they aren’t fully supported by the [Ethereum virtual machine](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) yet.  1. **Addresses** - The address type is used to store Ethereum wallet or smart contract addresses, typically around 20 bytes. An address type can be suffixed with the keyword “payable”, which restricts it to store only wallet addresses and use the transfer and send crypto functions. 1. **Byte arrays** - Byte arrays, declared with the keyword “bytes”, is a fixed-size array used to store a predefined number of bytes up to 32, usually declared along with the keyword \(bytes1, bytes2\).  1. **Literals** - Literals are immutable values such as addresses, rationals and integers, strings, unicode and hexadecimals,  which can be stored in a variable. 1. Enums - Enums, short for Enumerable, are a user-defined data type, that restrict the value of the variable to a particular set of constants defined within the program. 1. Contract & Function Types - Similar to other object oriented languages, contract and function types are used to represent classes and their functions respectively. Contracts contain functions that can modify the contract’s state variables. ### **What are reference types?** Solidity reference types, such as [**fixed and dynamic arrays**](https://www.alchemy.com/overviews/solidity-arrays), are variables that point to the memory address of stored data. Unlike value types, reference types do not store any value but serve as a location tracker of the intended data. Reference types are primarily categorized into four different types, as follows: - **Fixed arrays** - Fixed arrays are arrays with a pre-defined size at runtime, declared during initialization. - **Dynamic arrays** - Dynamic arrays are used to allocate size dynamically at runtime depending on data the programs requires it to store. - **Structs** - [Structs in Solidity ](https://www.alchemy.com/overviews/solidity-struct)are a complex data type which allow you to create a custom type containing members of other types, usually used to group linked data. - **Mappings** - [Mappings ](https://www.alchemy.com/overviews/solidity-mapping)store data in key-value pairs similar to dictionaries in other object-oriented languages, with the key being a value data type, and value being any type.  ## **What is a signed integer \(int\)?** **A signed integer is a value data type declared with the int keyword to store positive or negative integer values, ranging from -2 to the 255th power and 2 to the 255th power - 1.‍** ### **Solidity integer sizes** The keyword int serves as an abbreviation for int256, an integer data value that can store up to a 256-bit integers or data units. This value data type can also be specified into smaller data values in steps of 8, such as int8, int16, int32, int64, int128 and int256. Developers can use the smaller data sizes such as int8, int16, int32, or int64 if they want to restrict the size of the variable and optimize performance. ## **What is an unsigned integer \(uint\)?** **An unsigned integer is a value data type declared with the uint keyword which stores a integer value equal to or greater than zero, ranging from 0 to 2to the 255th power - 1.** ### **Uint data sizes** Similar to a signed integer, the keyword uint servers an abbreviation for uint256, an unsigned integer data value that can store up to a 256-bit integers or data units.  An unsigned integer value data type can also be specified into smaller data values in steps of 8 from a minimum range of uint8 to maximum range of uint256. The denominations are uint8, uint16, uint32, uint64, uint128 and uint256. ## **What is the difference between signed and unsigned integers?** **The key difference between signed and unsigned integers is that signed integers can store both positive and negative values, while unsigned integers can store only non-negative values.** Thus, although both signed and unsigned integers are both value data types, unsigned integers are restricted in the range of values it can store. In[ smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract), this difference places an emphasis to the developer to prioritize the value that is stored in the data type to avoid an error. ## **What is the difference between uint and uint256?** **Both uint and uint256 share the same definition as they are aliases, but by explicitly stating the size of the integer data size, uint256 adheres to the best practices of creating smart contracts, improving the readability and consistency of the code**.  Other than that, there is no difference between the uint and uint256 keywords. The distinction resides on the developer who chooses to use one over another to provide the code with more detail. ## **Start using signed and unsigned integers \(uint\) in your smart contracts** Using the correct Solidity data types is crucial to developing efficient and readable smart contracts. These data types help the compiler understand the amount and type of memory it needs to allocate for specific variables, such as integers or arrays. Allocating space on the blockchain uses gas, so you want to be careful while declaring the size and type of your variables. If you want to continue learning about Solidity and its features, [secure your spot](https://university.alchemy.com/?a=ffa69917a7) in Alchemy University's 7-week Ethereum Developer Bootcamp. --- # Solidity vs. Rust: Everything You Need to Know URL: https://www.alchemy.com/overviews/solidity-vs-rust.md Solidity and Rust are the two main[ programming languages](http://www.alchemy.com/overviews/web3-programming-languages) used by web3 developers to build web3 applications on Ethereum Virtual Machine compatible blockchains and Solana respectively. Ethereum and Solana are two of the leading public smart contract-based blockchains in the world. In this article, we’ll be talking about these two web3 programming languages and get to know why they are used by these powerful blockchains. ## **What is Solidity?** [**Solidity**](https://www.alchemy.com/overviews/solidity) is an object-oriented, high-level, statically-typed programming language for implementing smart contracts on Ethereum, and it was created by a team of developers at Ethereum led by Christian Reitwiessner. Here is an explanation of the terminology: - **Object-oriented** - a programming approach that focuses on software development around data and objects instead of logic and functions - **High-level** - languages that make software development more user-friendly by being independent of the computer hardware architecture - **Statically-typed** - languages that check for errors and types during compile time Solidity is designed to run on the Ethereum Virtual Machine \(EVM\), which is a runtime environment that works like a virtual computer to run software programs. The "programs" that the EVM runs are called smart contracts, and smart contracts are written in Solidity. ### **Blockchains that support Solidity** Besides Ethereum, here are additional blockchains that support Solidity: - **Polygon** - an Ethereum sidechain, Polygon allows developers to build scalable decentralized apps with low transaction fees - **Arbitrum** - a layer 2 scaling solution that aims to reduce transaction fees and transaction congestion by moving computation off the [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) - **Optimism** - an EVM-compatible layer 2 blockchain that uses optimistic rollups to reduce transaction fees and network congestion - **Polkadot** - an interoperable and public blockchain, Polkadot makes use of its parachains to allow different blockchains \(e.g. Astar\) to interact with one another - **Avalanche** - Avalanche is Proof-of-Stake blockchain that aims to address the blockchain trilemma. - **Celestial** - Celestial is a data availability blockchain for Ethereum that orders and publishes transactions but does not handle computation.  - **Fuel** - a modular blockchain that separates execution from data availability and consensus to create flexible throughput and maximum security ## **What is Rust?** **Rust is a low-level, multiparadigm programming language with a focus on type safety and performance that enables developers to build fast and robust applications.** Let’s get more detailed. - **Low-level** - Rust has a similar architecture to that of a computer’s processor, which makes it easier to write machine-efficient, high performance code - **Multiparadigm** - languages are of different types \(e.g. functional, dynamic, procedural, etc.\), and multiparadigm languages have more than one type ### **Rust and Solana** Solana is an open-source programmable blockchain, which means that like Ethereum it supports thesmart contracts \(programs\) functionality, and is often regarded as the world’s fastest public blockchain, with a block time of 400 milliseconds and the ability to handle 50,000 transactions per second.  Solana permits development with C and C\+\+ but uses Rust as its core programming language. Unlike Solidity, Rust was not created specifically for Solana, Rust has been in existence for years before Solana. However, it was chosen as a core programming language because of its high performance features. To start building on Solana with Rust, developers only need to [find a Solana RPC provider.](https://www.alchemy.com/overviews/solana-rpc) ### **Blockchains that support Rust** Besides Solana, here are additional blockchains that support Rust or a programming language based on Rust: - **Near** - Near is a layer one proof of stake based blockchain and it uses sharding to solve the scalability problem. - **Aptos** - Aptos is a layer one blockchain that is based on move, a programming language based on rust to implement smart contracts. - **Sui** - Sui is the first implementation of a permissionless blockchain and it runs smart contracts written in move. ## **Solidity vs. Rust** Now that we’ve established what these languages are, we would compare and contrast them in this section. ### **What are the similarities between Solidity and Rust?** **The main similarities shared by Solidity and Rust are their mutlichain compatibility and Turing completeness.** #### **1. Multichain compatibility** Although Solidity was designed specifically for Ethereum, it also supports layer two blockchains, sidechains, [modular blockchains](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains), and EVM-compatible layer one blockchains like Polkadot and Avalanche. Similarly, Rust supports a variety of blockchains, including Near and Solana, and it is the programming language that inspired the Move and Sui languages. There is also a Rust implementation using Polkadot's substrate framework. #### **2. Turing completeness** Both Rust and Solidity are Turing complete languages. A Turing complete language is any language that can solve any computational problem irrespective of its complexity. This is a feature that programming languages inherited from the Turing machine created by **Alan Turing**. ### **What are the differences between Solidity and Rust?** **The two main differences between Solidity and Rust, besides the blockchains that support each programming language, is that Solidity is a high-level, object-oriented language and Rust is a low-level, multiparadigm language.** #### **1. High-level vs. low-level** Solidity is a high-level language that offers a high level of abstraction from the computer system architecture. Because of this, [Solidity is simpler to learn](https://www.alchemy.com/overviews/learn-solidity) and use, which makes it a more user-oriented language. In contrast, Rust is a low-level language that is closer to the computer's hardware and offers good memory efficiency and speed, making it a more machine-oriented language. #### **2. Object-oriented vs multiparadigm** A programming paradigm is the approach or style used when solving a given problem. Solidity is an object-oriented language because it uses the object-oriented paradigm to solve problems. Contrarily, Rust is a multiparadigm language, which means, it permits the use of different paradigms to solve problems. Some of the paradigms it supports are object-oriented, functional, and imperative among others.  ### **What are the benefits of building apps with Rust rather than Solidity?** The two main benefits of building web3 [apps](https://www.alchemy.com/dapps/top/defi-dapps) with Rust instead of Solidity are: Rust’s memory safety properties and fast speeds makes developing safer for engineers and apps more performant for customers.  #### **1. Memory safety** Memory safety is a property in some programming languages that prevent programmers from making certain types of memory-related errors. Rust achieves memory safety using the principle of ownership and borrowing. Rust ensures memory safety by eliminating memory-related bugs during compile time, this makes it memory efficient without the use of a garbage collector like other memory-safe languages. #### **2. Speed and high output** Rust has the ability to create decentralized programs with high output and performance, which is a feature that is essential for apps at scale. Rust performs more efficiently because it can achieve memory safety without using a garbage collector. ### **What are the tradeoffs of building Web3 apps with Rust instead of Solidity?** **The two main tradeoffs of building web3 applications with Rust vs. Solidity are: Rust’s compiler is slower compared to Solidity and Rust is generally more difficult to learn.** #### **1. Slow compiling** The Rust compiler is slow. Rust uses the low-level virtual machine \(LLVM\) to generate code, which occupies a major part of the Rust codebase and takes a non-trivial amount of time when regenerating machine code during compilation. Sometimes program compilation for large projects takes over 10 minutes. #### **2. Harder to learn** Rust is challenging to learn for many reasons, one of which is that it is different. Being acquainted with its unusual ownership and borrowing system can be intimidating. Additionally, unlike some other languages, Rust programs are difficult to copy and paste, you are required to create your entire codebase from scratch. ### **What are the benefits of building apps with Solidity versus Rust?** **The two main benefits of building decentralized applications with Solidity over Rust are: Solidity is easier to learn, and there are a lot more developer tools for Solidity.** #### **1. Easier to learn** Solidity is a high-level language, which makes its code human-readable and understandable and it also has a syntax similar to that of Javascript, developers with previous experience writing Javascript, won’t find it difficult to learn solidity. #### **2. Lots of developer tools** Solidity has a ton of excellent developer tools available, it is supported by platforms like OpenZeppelin, which provides open-source libraries for secure smart contract development. Solidity also has a couple of [development environments \(IDEs\)](https://www.alchemy.com/overviews/solidity-ide) like the Remix online IDE and Hardhat, a local developer environment. These IDEs provide tools and features that allow for the development of decentralized applications with ease. ### **What are the tradeoffs of building Web3 apps with Solidity over Rust?** **The two main tradeoffs of building web3 applications with Solidity vs. Rust are: Solidity’s integer overflows and static analysis make building difficult for developers.** #### **1. Integer overflow and underflows** An integer overflow or underflow occurs when a number exceeds the amount that can be stored in a data type \(its byte size\). For example, \( 0 - 1 \) should give you \( -1 \), but it throws an error instead. This usually occurs in the previous versions of Solidity, versions prior to the solidity 0.8. #### **2. Difficult to perform static analysis** Static analysis is the process of analyzing and troubleshooting code without actually running it. This type of debugging is challenging due to the Turing complete feature in solidity because there are numerous potential outcomes for the code. ## **Should I develop with Solidity or Rust?** Both Rust and Solidity are designed to support the building of smart contracts and scalable apps. Therefore, the answer to this question comes down to your preferences and the blockchain ecosystem you want to build in. --- # Solidity vs. Vyper: Everything You Need to Know URL: https://www.alchemy.com/overviews/solidity-vs-vyper.md Underlying [apps](https://www.alchemy.com/dapps/top/defi-dapps) is the continuous execution of [smart contracts](https://www.alchemy.com/overviews/solidity-smart-contract). Originally proposed by computer scientist and cryptographer **Nick Szabo**, a smart contract is simply programmable code and data that govern the behavior of accounts on the blockchain. Smart contract code lives on blockchains and is one of the mechanisms that changes the state of Ethereum’s blockchain. Smart contracts are a critical component of what makes the programs on Ethereum possible. Consider that **Vitalik Buterin’s original white paper** describes Ethereum as “a next generation smart contract… platform.” While smart contracts are generally programmed to execute the transfers of assets, their applications are much broader, including the creation of tokens, building apps and DeFi products, and trading NFTs.  There are several programming languages for writing s