Access gRPC-based blockchain nodes through a single endpoint with metadata-based chain routing.
grpc.vilna.io:443TLS is required. Authentication and chain identification are passed via gRPC metadata:
| Metadata key | Value |
|---|---|
x-api-key | Your API key |
x-chain-id | CAIP-2 chain ID or alias (e.g., tron or tron:mainnet) |
Always specify the :443 port. Some clients (including grpcurl) don't assume a default port and will fail with missing port in address if it's omitted.
Any Tron gRPC service method can be called through Vilna RPC. The request is routed to the Tron node transparently. gRPC reflection is enabled on the upstream, so grpcurl resolves descriptors automatically.
grpcurl \
-H "x-api-key: your-api-key" \
-H "x-chain-id: tron:mainnet" \
-d '{}' \
grpc.vilna.io:443 \
protocol.Wallet/GetNowBlock2grpcurl \
-H "x-api-key: your-api-key" \
-H "x-chain-id: tron:mainnet" \
grpc.vilna.io:443 \
protocol.Wallet/TotalTransactiongrpcurl \
-H "x-api-key: your-api-key" \
-H "x-chain-id: tron:mainnet" \
-d '{"num":70000000}' \
grpc.vilna.io:443 \
protocol.Wallet/GetBlockByNum2If you don't have grpcurl installed, the same call works from Docker:
docker run --rm fullstorydev/grpcurl \
-H "x-api-key: your-api-key" \
-H "x-chain-id: tron:mainnet" \
-d '{}' \
grpc.vilna.io:443 \
protocol.Wallet/GetNowBlock2Vilna proxies all standard Tron gRPC services:
| Service | Description |
|---|---|
protocol.Wallet | Account, transaction, and block operations |
protocol.WalletSolidity | Read-only queries against confirmed blocks |
protocol.Database | Low-level chain data access |
For the full list of available methods, see the Tron protocol documentation.
Returned by Vilna RPC when the request cannot reach the blockchain node:
| Situation | gRPC status |
|---|---|
| Missing API key | UNAUTHENTICATED |
| Invalid API key | UNAUTHENTICATED |
| Network not found | NOT_FOUND |
| Protocol mismatch | INVALID_ARGUMENT |
| Network unavailable | UNAVAILABLE |
For common API errors and troubleshooting, see the Errors guide.
If the request reaches the node but the node returns an error, you receive the node's native gRPC error. These errors come directly from the blockchain node.