9 RPC Proxy
The RPC proxy is the primary interface for client applications. It forwards requests to the configured upstream node endpoints.
The RPC proxy provides an authenticated and authorized access layer for Ethereum JSON-RPC requests. It also provides specialized features for signing transactions, running queries, and managing wallets.
Authentication
Authorization: Bearer <access_token> The proxy validates the token in accordance with the deployment configuration (for example, signature validation, expiration, issuer, and audience).You can use the following command to generate a bearer token by using the access token endpoint that is available in Blockchain Platform Manager.
curl -sS -X POST \
"<Access Token Endpoint – fetched from Blockchain Platform Manager>" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password" \
-d "client_id=<CLIENT_ID>" \
-d "client_secret=<CLIENT_SECRET>" \
-d "username=<USERNAME>" \
-d "password=<PASSWORD>"
The following text shows an example response. You then use the value of access_token as the bearer token for subsequent calls.{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
"expires_in": 300,
"token_type": "Bearer"
...
}Authorization
Access is controlled using the following group membership, which is conveyed in the token claims. See User Groups and Roles.
OpenAPI Specification
The RPC proxy publishes an OpenAPI specification for its REST endpoints. The following text shows an example request.
curl -sS \
"<RPC_PROXY_BASE_URL>/openapi" \
-H "Authorization: Bearer <access token>" \
-H "Accept: application/yaml"The following types of APIs are exposed by the RPC proxy. For full details see the OpenAPI specification at Web3 Transactions and Besu Instance APIs.
- JSON-RPC proxy API: Provides an authenticated and authorized entry point for Ethereum JSON-RPC methods such as
eth_call,eth_getBalance,eth_sendRawTransaction, andeth_getTransactionReceipt.