Multi-chain RPC endpoints
Pay by card or USDC

Base, Optimism, Arbitrum, Polygon, Ethereum. Standard JSON-RPC. Free tier: 100K requests/day. No sign-up, no KYC.

// Connect to any chain in seconds
const provider = new JsonRpcProvider(
  'https://rpc.opsalis.com/v1/base/YOUR_API_KEY'
);
const block = await provider.getBlockNumber();

5 chains, one endpoint

Standard JSON-RPC. Same URL pattern for every chain. Switch chains by changing one word.

B

Base

Chain ID 8453

/v1/base/
O

Optimism

Chain ID 10

/v1/optimism/
A

Arbitrum

Chain ID 42161

/v1/arbitrum/
P

Polygon

Chain ID 137

/v1/polygon/
E

Ethereum

Chain ID 1

/v1/ethereum/

Also accepts aliases: op, arb, matic, eth, or chain IDs like 8453

Why switch from Alchemy?

80% cheaper

30M requests/month for $10 vs $49 at Alchemy. Same standard JSON-RPC, lower price.

No KYC, no sign-up

Get an API key instantly. No email, no identity verification. Pay with Visa, Mastercard, or USDC when you need more.

Standard JSON-RPC

Works with ethers.js, web3.js, viem, Hardhat, Foundry, MetaMask. Change one URL and you are done.

Simple pricing

Start free. Upgrade when you need more. Pay with Visa, Mastercard, or USDC.

Free

Get started

$0 /month
  • 100K requests/day
  • 3M requests/month
  • 10 req/sec
  • All 5 chains
Get Free Key
Popular

Growth

Side projects

$10 /month
  • 1M requests/day
  • 30M requests/month
  • 50 req/sec
  • All 5 chains
Pay with Card or USDC

Pro

Production apps

$50 /month
  • 10M requests/day
  • 300M requests/month
  • 200 req/sec
  • All 5 chains
Pay with Card or USDC

Enterprise

Unlimited scale

$200 /month
  • Unlimited requests
  • 1,000 req/sec
  • All 5 chains
  • Priority support
Pay with Card or USDC

All plans include all 5 chains. Visa and Mastercard accepted — no crypto wallet needed.

Works with your stack

Change one URL. Everything else stays the same.

# Get latest block number on Base
curl https://rpc.opsalis.com/v1/base/rpk_YOUR_API_KEY \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

# Response:
# {"jsonrpc":"2.0","result":"0x134a5b7","id":1}
import { JsonRpcProvider } from 'ethers';

const provider = new JsonRpcProvider(
  'https://rpc.opsalis.com/v1/base/rpk_YOUR_API_KEY'
);

const blockNumber = await provider.getBlockNumber();
console.log('Latest block:', blockNumber);

const balance = await provider.getBalance(
  '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
);
console.log('Balance:', balance.toString());
import { Web3 } from 'web3';

const web3 = new Web3(
  'https://rpc.opsalis.com/v1/optimism/rpk_YOUR_API_KEY'
);

const blockNumber = await web3.eth.getBlockNumber();
console.log('Latest block:', blockNumber);
import { createPublicClient, http } from 'viem';
import { base } from 'viem/chains';

const client = createPublicClient({
  chain: base,
  transport: http('https://rpc.opsalis.com/v1/base/rpk_YOUR_API_KEY'),
});

const blockNumber = await client.getBlockNumber();
from web3 import Web3

w3 = Web3(Web3.HTTPProvider(
    'https://rpc.opsalis.com/v1/polygon/rpk_YOUR_API_KEY'
))

print('Block:', w3.eth.block_number)
print('Balance:', w3.eth.get_balance(
    '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
))
// hardhat.config.js
module.exports = {
  networks: {
    base: {
      url: 'https://rpc.opsalis.com/v1/base/rpk_YOUR_API_KEY',
      chainId: 8453,
    },
    arbitrum: {
      url: 'https://rpc.opsalis.com/v1/arbitrum/rpk_YOUR_API_KEY',
      chainId: 42161,
    },
  },
};
# Deploy contract to Base
forge create src/MyContract.sol:MyContract \
  --rpc-url https://rpc.opsalis.com/v1/base/rpk_YOUR_API_KEY \
  --private-key $PRIVATE_KEY

# Read from Polygon
cast call 0x... "balanceOf(address)(uint256)" 0x... \
  --rpc-url https://rpc.opsalis.com/v1/polygon/rpk_YOUR_API_KEY

Compare pricing

30M requests/month across all providers.

Provider Price Payment KYC
RPCaaS $10/mo Card or USDC None
Alchemy $49/mo Credit card Email + name
Infura $50/mo Credit card Email + name
QuickNode $49/mo Credit card Email + name
Ankr $49/mo Card + crypto Email