What is gRPC, gRPC-Web, and Proxies? | Hedera Hedera Network Services Token Service Mint and configure tokens and accounts. Consensus Service Verifiable timestamps and ordering of events. Smart Contracts Run Solidity smart contracts. HBAR The Hedera network's native cryptocurrency. Insights How It Works Learn about Hedera from end to end. Explorers View live and historical data on Hedera. Dashboards Analyze network activity and metrics. Network Nodes Understand networks and node types. Devs Start Building Get Started Learn core concepts and build the future. Documentation Review the API and build using your favorite language. Developer Resources Integrations Plugins and microservices for Hedera. Fee Estimator Understand and estimate transaction costs. Open Source Hedera is committed to open, transparent code. Learning Center Learn about web3 and blockchain technologies. Grants Grants & accelerators for your project. Bounties Find bugs. Submit a report. Earn rewards. Ecosystem ECOSYSTEM Hedera Ecosystem Applications, developer tools, network explorers, and more. NFT Ecosystem Metrics Analyze on-chain and market NFT ecosystem metrics. CATEGORIES Web3 Applications Connect into the innovative startups decentralizing the web on Hedera. Enterprise Applications Learn about the Fortune 500 companies decentralizing the web on Hedera. Wallets & Custodians Create a Hedera account to manage HBAR, fungible tokens, and NFTs. Network Explorers Hedera mainnet and testnet graphical network explorers. Developer Tooling Third-party APIs, integrations, and plugins to build apps on Hedera. Grants & Accelerators Boost your project with support from the Hedera ecosystem. Partner Program Explore our partners to bring your vision into reality. Hedera Council Over 30 highly diversified organizations govern Hedera. Use Cases Hedera Solutions Asset Tokenization Studio Open source toolkit for tokenizing assets securely. Stablecoin Studio All-in-one toolkit for stablecoin solutions. Hedera Guardian Auditable carbon markets and traceability. Functional Use Cases Data Integrity & AI Reliable, secure, and ethically governed insights. Sustainability Enabling fair carbon markets with trust. Real-World Asset Tokenization Seamless tokenization of real-world assets and digital at scale. Consumer Engagement & Loyalty Mint, distribute, and redeem loyalty rewards. Decentralized Identity Maintain the lifecycle of credentials. Decentralized Logs Scalable, real-time timestamped events. DeFi Dapps built for the next-generation of finance. NFTs Low, fixed fees. Immutable royalties. Payments Scalable, real-time, and affordable crypto-payments. HBAR Overview Learn about Hedera's token, HBAR. Treasury Management Hedera’s report of the HBAR supply. Governance Decentralized Governance Hedera Council See the world's leading organizations that own Hedera. About Meet Hedera's Board of Directors and team. Journey Watch Hedera's journey to build an empowered digital future for all. Transparent Governance Public Policy Hedera's mission is to inform policy and regulation that impact the industry. Meeting Minutes Immutably recorded on Hedera. Roadmap Follow Hedera's roadmap in its journey to build the future. Resources Company What's New Partners Papers Careers Media Blog Technical Press Podcast Community Events Meetups Store Brand Navigation QUICKSTART What is gRPC, gRPC-Web, and Proxies? technical Apr 28, 2025 by Ed Marquez Head of Developer Relations Hedera consensus nodes use gRPC for communications between nodes. Web browsers have technical and security limitations that prevent direct use of standard gRPC. gRPC-Web enables browser-based applications to call gRPC services with familiar web protocols. In this article, we explore what gRPC-Web proxies are, why they are used in the Hiero JS SDK, the role they play in enabling browser-based Hedera applications, and how gRPC-Web proxies are supported by the network. What Are gRPC-Web Proxies? gRPC is a high-performance protocol that uses HTTP/2 and protocol buffers. However, browsers have technical and security limitations that prevent direct use of standard gRPC. gRPC-Web was created to let browser apps call gRPC services with familiar web protocols. A gRPC-Web proxy is a lightweight server between the browser and the gRPC backend. Its job is to convert the browser’s HTTP-based requests into native gRPC calls and vice versa. The browser sends regular HTTP/1.1 or HTTP/2 requests with special content types (e.g. application/grpc-web+proto), and the gRPC-Web proxy translates those into the binary gRPC format understood by the backend service, then relays the response back in a format the browser can handle. In essence, the proxy acts as a bridge that enables gRPC communication over standard web protocols. Without a gRPC-Web proxy, a web application wouldn’t be able to directly talk to a gRPC service running on a server. The proxy handles necessary tasks like HTTP to HTTP/2 conversion, managing binary Protobuf messages over text-based protocols, and satisfying browser security requirements (such as CORS and TLS). gRPC-Web Proxies in the Hiero JS SDK The Hedera consensus nodes use gRPC APIs, which work well in backend environments (like Node.js servers). However, browsers restrict a direct connection to Hedera nodes for front-end web applications due to security sandbox rules. These rules block low-level gRPC streams and enforce using TLS and approved domains, so a dApp running in Chrome or Firefox simply cannot open a raw gRPC connection to a Hedera node. Developers building on Hedera need a way to call native APIs that use gRPC without running into these restrictions. To enable this, the Hiero JavaScript SDK (formerly Hedera JS SDK) provides built-in support for gRPC-Web proxies. The goal is to make the proxy layer transparent to developers. When the SDK is used in a browser context, it automatically routes all network calls through a gRPC-Web proxy endpoint instead of trying to contact the node directly.  By bundling proxy support directly into the SDK, Hedera enables web developers to start building dApps without needing to deploy any additional infrastructure. You don’t have to know all the details of gRPC-Web or host your own proxy just to get started. See the proxy information in the JavaScript SDK for the different Hedera environments. Mainnet Mainnet Testnet Previewnet // MAINNET node proxies are the same for both 'WebClient' and 'NativeClient' export const MAINNET = { "https://grpc-web.myhbarwallet.com:443": new AccountId(3), "https://node00.swirldslabs.com:443": new AccountId(3), "https://node01-00-grpc.swirlds.com:443": new AccountId(4), "https://node02.swirldslabs.com:443": new AccountId(5), "https://node03.swirldslabs.com:443": new AccountId(6), "https://node04.swirldslabs.com:443": new AccountId(7), "https://node05.swirldslabs.com:443": new AccountId(8), "https://node06.swirldslabs.com:443": new AccountId(9), "https://node07.swirldslabs.com:443": new AccountId(10), "https://node09.swirldslabs.com:443": new AccountId(12), "https://node10.swirldslabs.com:443": new AccountId(13), "https://node11.swirldslabs.com:443": new AccountId(14), "https://node12.swirldslabs.com:443": new AccountId(15), "https://node14.swirldslabs.com:443": new AccountId(17), "https://node15.swirldslabs.com:443": new AccountId(18), "https://node16.swirldslabs.com:443": new AccountId(19), "https://node17.swirldslabs.com:443": new AccountId(20), "https://node18.swirldslabs.com:443": new AccountId(21), "https://node19.swirldslabs.com:443": new AccountId(22), "https://node20.swirldslabs.com:443": new AccountId(23), "https://node21.swirldslabs.com:443": new AccountId(24), "https://node22.swirldslabs.com:443": new AccountId(25), "https://node24.swirldslabs.com:443": new AccountId(27), "https://node25.swirldslabs.com:443": new AccountId(28), "https://node26.swirldslabs.com:443": new AccountId(29), "https://node27.swirldslabs.com:443": new AccountId(30), "https://node28.swirldslabs.com:443": new AccountId(31), "https://node29.swirldslabs.com:443": new AccountId(32), "https://node30.swirldslabs.com:443": new AccountId(33), "https://node31.swirldslabs.com:443": new AccountId(34), }; export const WEB_TESTNET = { "https://testnet-node00-00-grpc.hedera.com:443": new AccountId(3), "https://testnet-node01-00-grpc.hedera.com:443": new AccountId(4), "https://testnet-node02-00-grpc.hedera.com:443": new AccountId(5), "https://testnet-node03-00-grpc.hedera.com:443": new AccountId(6), "https://testnet-node04-00-grpc.hedera.com:443": new AccountId(7), "https://testnet-node05-00-grpc.hedera.com:443": new AccountId(8), "https://testnet-node06-00-grpc.hedera.com:443": new AccountId(9), }; export const WEB_PREVIEWNET = { "https://previewnet-node00-00-grpc.hedera.com:443": new AccountId(3), "https://previewnet-node01-00-grpc.hedera.com:443": new AccountId(4), "https://previewnet-node02-00-grpc.hedera.com:443": new AccountId(5), "https://previewnet-node03-00-grpc.hedera.com:443": new AccountId(6), "https://previewnet-node04-00-grpc.hedera.com:443": new AccountId(7), "https://previewnet-node05-00-grpc.hedera.com:443": new AccountId(8), "https://previewnet-node06-00-grpc.hedera.com:443": new AccountId(9), }; gRPC-Web Proxies for Web-Based dApps In practice, every interaction, like creating accounts, querying balances, or submitting transactions, goes through a proxy when using the Hiero JS SDK in a browser. The SDK automatically routes these calls through the proxy, which converts browser requests into standard gRPC calls and then back to a browser-friendly format. This setup meets browser security rules and simplifies development. The primary benefit of the proxy system is quick and easy connectivity to the Hedera network from web apps. For those developers who want more control in their applications, the SDK allows configuring a custom network or proxy addresses. A Look Ahead: gRPC-Web Proxies in the Address Book At the moment, information about gRPC-Web proxies is not part of the network address book. HIP-1046 (accepted but not implemented at the time of this writing) proposes adding support for gRPC-Web proxy endpoints to the address book. With the implementation of this HIP, the Hiero JS SDK will be able to dynamically discover and use these addresses. Each node can provide its own browser-friendly endpoint with native support for gRPC-Web proxies. This approach removes the need for hard-coded proxy servers or any manual configuration. Browser-based applications will be able to connect more directly, giving developers an even simpler user experience. Closing Thoughts We covered gRPC-Web proxies, what they enable, and the role they play on the Hedera network. These proxies have enabled easy and robust connectivity and access for browser-based applications on Hedera. In addition, enhancements like the upcoming native gRPC-Web support in the address book will make it even easier for apps to communicate directly with consensus nodes. Now that you know about gRPC, gRPC-Web, and proxies, it’s time for you to build your next project on Hedera using the Hiero JavaScript SDK. Be sure to also join our growing community on Discord to share ideas, get support, and help build the future. #HelloFuture Share This Back to blog Pragmatic Blockchain Design Patterns – Integrating Blockchain into Business Processes Michiel Mulders Zero Cost EthereumTransaction on Success: Hedera's New Fee Model for Relay Operators Oliver Thorn Hedera Adopts Chainlink Standard for Cross-Chain Interoperability To Accelerate Ecosystem Adoption Hedera Team Hedera Developer Highlights March 2025 Michiel Mulders Hedera Release Cycle Overview Ed Marquez How Can We Model a Building in Web3? Nadine Loepfe View All Posts Sign up for the newsletter CONNECT WITH US Transparency Open Source Audits & Standards Sustainability Commitment Carbon Offsets Governance Hedera Council Public Policy Treasury Management Meeting Minutes LLC Agreement Node Requirements Community Events Meetups HBAR Telegram Developer Discord Twitter Community Support FAQ Network Status Developer Discord StackOverflow Brand Brand Guidelines Built on Hedera Logo Hedera Store About Team Partners Journey Roadmap Careers Contact General Inquiry Public Relations © 2018-2025 Hedera Hashgraph, LLC. All trademarks and company names are the property of their respective owners. All rights in the Deutsche Telekom mark are protected by Deutsche Telekom AG. All rights reserved. Hedera uses the third party marks with permission. Terms of Use  |  Privacy Policy