Skip to main content

Portal’s RPC gateway

Portal exposes a managed JSON-RPC gateway so you can read chain state and broadcast transactions without provisioning your own RPC provider. Supported EVM and Solana networks are reachable at a single, predictable URL:
{namespace} and {reference} are the two halves of the chain’s CAIP-2 chain ID (namespace:reference). To build the endpoint, take the CAIP-2 ID and replace the : with /. For example, the CAIP-2 ID for Monad mainnet is eip155:143, so its RPC endpoint is https://api.portalhq.io/rpc/v1/eip155/143.
The gateway covers the eip155 (EVM) and solana namespaces — not every chain in Blockchain support has a gateway endpoint. Authenticate with your Client API Key or Client Session Token; see Authentication & API keys.

Common endpoints

Here are the most commonly used endpoints, listed explicitly for quick reference:

The pattern for supported chains

Gateway-supported chains follow the same …/rpc/v1/{namespace}/{reference} shape — take the CAIP-2 chain ID and swap the : for a /. A few examples: For the full list of supported chains and their CAIP-2 IDs, see Blockchain support. For how CAIP-2 IDs are formed, see Chain ID formatting.

Official public RPC endpoints

If you would rather connect directly to a chain’s own public RPC instead of Portal’s gateway, use the official endpoints below. For chains not listed here — including Ethereum mainnet and testnets, which have no single canonical public endpoint — find an official or community public RPC via chainlist.org.
Public RPC endpoints are free but heavily rate-limited and are not intended for production workloads. For production, use Portal’s RPC gateway above or a dedicated RPC provider.

Making a request

The gateway accepts standard JSON-RPC POST requests. Authenticate with your Client API Key:

Using it as your rpcUrl

Anywhere Portal accepts an rpcUrl — for example in the SDKs or in the Enclave MPC API send and sign requests — you can pass the gateway URL for the target chain so Portal uses its managed RPC:
If you would rather use a dedicated provider, pass your own RPC URL here instead.
On iOS, Android, and Flutter you don’t need to pass an rpcUrl for the common chains Portal supports — these SDKs default to Portal’s RPC gateway automatically. Pass an rpcUrl only to use a different provider or a chain outside the default set. On Web and React Native, configure your RPC endpoints explicitly.