Gate quickstart
Start with an active RPC service subscription for your workspace and a project in that workspace. Only owners and admins can create or revoke keys; workspace members can view the console.
1. Create a key
Open API Keys → New key in Gate. Select the project and enter a descriptive label without spaces, such as orders-development.
Wait for key provisioning to succeed, then open Endpoints. Select the new key in the key selector and choose the intended network. Copy its full HTTPS URL. The URL includes the key as its final path segment.
2. Store the endpoint
Set a server environment variable to the copied URL:
export GATE_RPC_URL='https://YOUR_COPIED_CHAIN_ENDPOINT/YOUR_RPC_API_KEY'The host and key above are placeholders. Do not construct a hostname from a network name or replace it with a console address. Treat the complete real URL as a credential and redact it from logs and screenshots.
3. Make a JSON-RPC request
curl --fail-with-body "$GATE_RPC_URL" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'Compare the returned hex quantity with the decimal chain ID displayed in Gate. For a Sepolia endpoint, the expected result is "0xaa36a7", equivalent to 11155111. An Ethereum mainnet endpoint returns "0x1".
Check the body for a JSON-RPC error even when the HTTP request succeeds.
4. Connect viem
bun add viemThe example below assumes you copied an Ethereum Sepolia endpoint. Change the chain and expected ID together when using another network.
import { createPublicClient, http } from 'viem';
import { sepolia } from 'viem/chains';
const rpcUrl = process.env.GATE_RPC_URL;
if (!rpcUrl) throw new Error('Set GATE_RPC_URL');
const client = createPublicClient({
chain: sepolia,
transport: http(rpcUrl),
});
const chainId = await client.getChainId();
if (chainId !== sepolia.id) {
throw new Error(`Expected Sepolia, received chain ${chainId}`);
}
const blockNumber = await client.getBlockNumber();
console.log({ chainId, blockNumber: blockNumber.toString() });Gate supplies RPC access. This read-only client does not need an account signing key, and it does not create or deploy a wallet.
5. Check traffic
The Dashboard shows recent request activity and method breakdowns. API Keys shows each key's recent traffic and last-use time. Usage shows compute units and the current billing-cycle estimate; metering may appear after the request itself completes.
Next, review endpoint behavior and key rotation. If you need gas sponsorship for a supported Safe, continue to the Lift quickstart.