{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-apis/rpc/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab","cards","card"]},"type":"markdown"},"seo":{"title":"JSON-RPC over HTTP - Blockchain Node Requests","projectTitle":"Vilna Docs","description":"Send JSON-RPC requests to Ethereum, Solana, Bitcoin, and other blockchain nodes through a single HTTPS endpoint with one API key.","siteUrl":"https://docs.vilna.io","keywords":["crypto asset management","blockchain monitoring","digital asset security","cryptocurrency API","wallet tracking","blockchain analytics","enterprise crypto","real-time blockchain","CAIP-19","BIP44"],"lang":"en-US","image":"https://cdn.vilna.io/docs/previews/rpc.png","meta":[{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Vilna Documentation"},{"name":"og:image:width","content":"1200"},{"name":"og:image:height","content":"630"},{"name":"twitter:card","content":"summary_large_image"}],"llmstxt":{"title":"Vilna API Documentation","description":"Vilna is a blockchain monitoring and wallet management platform. It provides a single unified REST API for tracking addresses, transactions, balances, and activity across top blockchains - Bitcoin, Ethereum, Solana, TRON, TON, Cosmos, and others. The API uses CAIP-2/CAIP-19 standards for cross-chain identification, HD wallet management (BIP-32/44) for address derivation, and RFC 7807 for error responses. Authentication is via API key in the X-Api-Key header.\n","excludeFiles":["legal/**/*.md","@l10n/**/*.md"],"sections":[{"title":"Overview","description":"What Vilna is, supported blockchains, and target audience","includeFiles":["overview.md"],"excludeFiles":[]},{"title":"Getting Started","description":"Quickstart guide and core API concepts","includeFiles":["guides/quickstart.md","guides/dashboard.md","guides/core-concepts.md","guides/authentication.md"],"excludeFiles":[]},{"title":"API Reference","description":"Platform API and Management API endpoint documentation","includeFiles":["apis/platform/index.md","apis/mgmt/index.md","apis/rpc/index.md","apis/platform/api.yaml","apis/mgmt/api.yaml"],"excludeFiles":[]},{"title":"Developer Guides","description":"Integration patterns, events, notifications, SDK, and error handling","includeFiles":["guides/events.md","guides/channels.md","guides/integration-patterns.md","guides/sdk.md","guides/mcp.md","guides/errors.md","guides/simulation.md","guides/invoices.md"],"excludeFiles":[]},{"title":"Business","description":"Value proposition, use cases, and onboarding","includeFiles":["business/index.md","business/use-cases.md"],"excludeFiles":[]},{"title":"Optional","description":"Additional reference material","includeFiles":["guides/blockchain-basics.md","guides/faq.md","apis/mgmt/guide.md","guides/widget.md","guides/storage-client.md","apis/platform/caip-standards.md","apis/mgmt/authorization.md"],"excludeFiles":[]}],"hide":false},"priority":0.5,"jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://docs.vilna.io/"},{"@type":"ListItem","position":2,"name":"Blockchain RPC","item":"https://docs.vilna.io/apis/rpc"},{"@type":"ListItem","position":3,"name":"JSON-RPC"}]},{"@type":"TechArticle","headline":"JSON-RPC over HTTP - Blockchain Node Requests","description":"Send JSON-RPC requests to Ethereum, Solana, Bitcoin, and other blockchain nodes through a single HTTPS endpoint.","url":"https://docs.vilna.io/apis/rpc/json-rpc","datePublished":"2025-09-17","proficiencyLevel":"Intermediate","author":{"@id":"https://vilna.io/#organization"},"publisher":{"@id":"https://vilna.io/#organization"}}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"json-rpc-over-http","__idx":0},"children":["JSON-RPC over HTTP"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send standard JSON-RPC 2.0 requests to blockchain nodes through a single HTTPS endpoint."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"request-format","__idx":1},"children":["Request format"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"POST https://rpc.vilna.io/{chain}\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{chain}"]}," is either a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/platform/caip-standards"},"children":["CAIP-2"]}," chain ID or a network alias (see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/rpc#supported-networks"},"children":["supported networks"]},")."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Content-Type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["application/json"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Authentication"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-Api-Key"]}," header"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Max request body"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1 MB"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Timeout"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["30 seconds"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":2},"children":["Examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ethereum-evm","__idx":3},"children":["Ethereum (EVM)"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"By alias","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/ethereum \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"eth_blockNumber\",\n    \"params\": [],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"By CAIP-2 ID","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/eip155:1 \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"eth_blockNumber\",\n    \"params\": [],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All EVM-compatible chains (Ethereum, BSC, Polygon, Avalanche, Arbitrum, Optimism, Base, etc.) support the same set of ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://ethereum.org/en/developers/docs/apis/json-rpc/"},"children":["Ethereum JSON-RPC methods"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"solana","__idx":4},"children":["Solana"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"By alias","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/solana \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"getBalance\",\n    \"params\": [\"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri\"],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"By CAIP-2 ID","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/solana:mainnet \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"getBalance\",\n    \"params\": [\"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri\"],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Solana supports its native ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://solana.com/docs/rpc"},"children":["JSON-RPC API methods"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"bitcoin","__idx":5},"children":["Bitcoin"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"label":"By alias","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/bitcoin \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"getblockcount\",\n    \"params\": [],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"div","attributes":{"label":"By CAIP-2 ID","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://rpc.vilna.io/bip122:000000000019d6689c085ae165831e93 \\\n  -H \"X-Api-Key: your-api-key\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"getblockcount\",\n    \"params\": [],\n    \"id\": 1\n  }'\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bitcoin supports standard ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developer.bitcoin.org/reference/rpc/"},"children":["Bitcoin Core JSON-RPC methods"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-handling","__idx":6},"children":["Error handling"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"system-errors","__idx":7},"children":["System errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returned by Vilna RPC when the request cannot reach the blockchain node:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\"error\": \"description of the problem\"}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Situation"},"children":["Situation"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"HTTP status"},"children":["HTTP status"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Missing API key"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invalid API key"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Network not found"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["404"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Protocol mismatch"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Network unavailable"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["502"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For common API errors and troubleshooting, see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/errors"},"children":["Errors guide"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"blockchain-node-errors","__idx":8},"children":["Blockchain node errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the request reaches the node but the node returns an error, you receive the node's native JSON-RPC error format:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"jsonrpc\": \"2.0\",\n  \"error\": {\n    \"code\": -32601,\n    \"message\": \"Method not found\"\n  },\n  \"id\": 1\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These errors come directly from the blockchain node and follow the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.jsonrpc.org/specification#error_object"},"children":["JSON-RPC 2.0 error specification"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":9},"children":["Next steps"]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":2,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"gRPC","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/apis/rpc/grpc"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Access Tron nodes via gRPC protocol"]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"RPC Overview","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/apis/rpc"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Supported networks, authentication, and health checks"]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Errors","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled","to":"/guides/errors"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Error handling and troubleshooting guide"]}]}]}]},"headings":[{"value":"JSON-RPC over HTTP","id":"json-rpc-over-http","depth":1},{"value":"Request format","id":"request-format","depth":2},{"value":"Examples","id":"examples","depth":2},{"value":"Ethereum (EVM)","id":"ethereum-evm","depth":3},{"value":"Solana","id":"solana","depth":3},{"value":"Bitcoin","id":"bitcoin","depth":3},{"value":"Error handling","id":"error-handling","depth":2},{"value":"System errors","id":"system-errors","depth":3},{"value":"Blockchain node errors","id":"blockchain-node-errors","depth":3},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"seo":{"title":"JSON-RPC over HTTP - Blockchain Node Requests","description":"Send JSON-RPC requests to Ethereum, Solana, Bitcoin, and other blockchain nodes through a single HTTPS endpoint with one API key.","priority":0.5,"image":"https://cdn.vilna.io/docs/previews/rpc.png","jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://docs.vilna.io/"},{"@type":"ListItem","position":2,"name":"Blockchain RPC","item":"https://docs.vilna.io/apis/rpc"},{"@type":"ListItem","position":3,"name":"JSON-RPC"}]},{"@type":"TechArticle","headline":"JSON-RPC over HTTP - Blockchain Node Requests","description":"Send JSON-RPC requests to Ethereum, Solana, Bitcoin, and other blockchain nodes through a single HTTPS endpoint.","url":"https://docs.vilna.io/apis/rpc/json-rpc","datePublished":"2025-09-17","proficiencyLevel":"Intermediate","author":{"@id":"https://vilna.io/#organization"},"publisher":{"@id":"https://vilna.io/#organization"}}]}}},"lastModified":"2026-04-04T18:28:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/apis/rpc/json-rpc","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}