Appearance
Quickstart
From zero to your first RPC response in about five minutes. You'll do the one-time account setup in the dashboard, then make calls against the gateway.
https://dash.lab.au.ro— dashboard (sign up, projects, keys, usage)https://rpc.lab.au.ro— RPC gateway (your app's traffic)
1. Create your account
Go to https://dash.lab.au.ro/signup and register:
- Enter your organization name, email and password. Complete the quick anti-bot check.
- Confirm your email — click the link we send you. (You can't create an API key until your address is verified.)
- In the dashboard, open Projects → New Project, give it a name.
- Open the project and create an API key. The full key is shown once — copy it now and store it securely; later it appears only as a prefix.
bash
export YOUR_API_KEY="<the key you just copied>"Why the browser?
The anti-bot check and email confirmation are one-time and only work in the browser. Once you have a key, everything else is a plain HTTPS call — no SDK or login required. Prefer to provision from code/CI? See Provisioning via the API below.
2. Make your first RPC call
The key goes in the apikey header. Pick your chain — the host is the same.
bash
curl -X POST https://rpc.lab.au.ro/eth \
-H "apikey: $YOUR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'js
const res = await fetch('https://rpc.lab.au.ro/eth', {
method: 'POST',
headers: { apikey: process.env.YOUR_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ jsonrpc: '2.0', method: 'eth_blockNumber', params: [], id: 1 })
})
console.log(await res.json())python
import os, requests
res = requests.post(
"https://rpc.lab.au.ro/eth",
headers={"apikey": os.environ["YOUR_API_KEY"]},
json={"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1},
)
print(res.json())go
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := `{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}`
req, _ := http.NewRequest("POST", "https://rpc.lab.au.ro/eth", strings.NewReader(body))
req.Header.Set("apikey", os.Getenv("YOUR_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
b, _ := io.ReadAll(res.Body)
fmt.Println(string(b))
}Response:
json
{"jsonrpc":"2.0","id":1,"result":"0x1821382"}Bitcoin works the same way — same key, different path:
bash
curl -X POST https://rpc.lab.au.ro/btc \
-H "apikey: $YOUR_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"getmininginfo","params":[],"id":1}'json
{"jsonrpc":"2.0","result":{"blocks":953380,"difficulty":138955357012247.3,"chain":"main","warnings":[]},"id":1}3. Watch your usage
Every call is metered in Compute Units. The Usage page in the dashboard shows your consumption per project and per chain — the two calls above cost 1 CU each.
Next steps
- Endpoints — every chain, URL and protocol
- Chains — per-chain SDK integration (ethers, bitcoinjs, xrpl.js, …)
- Rate limits — plan limits and 429 semantics
- Errors — every error you can meet, layer by layer
Provisioning via the API
For CI/automation you can create projects and API keys programmatically with the JWT from login — these endpoints have no anti-bot check.
Account signup stays in the browser
Creating the account itself (POST /auth/register) requires the anti-bot challenge, which is browser-only — so sign up once at https://dash.lab.au.ro/signup, then automate everything below with your credentials. Full schemas: Management API.
bash
# log in → JWT
TOKEN=$(curl -s -X POST https://api.lab.au.ro/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","password":"…"}' | jq -r .token)
# your tenant id
TENANT_ID=$(curl -s https://api.lab.au.ro/api/v1/auth/me \
-H "Authorization: Bearer $TOKEN" | jq -r .tenant_id)
# create a project
PROJECT_ID=$(curl -s -X POST https://api.lab.au.ro/api/v1/tenants/$TENANT_ID/projects \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"name":"ci-project"}' | jq -r .id)
# create a key (the "key" field is returned only once)
curl -s -X POST https://api.lab.au.ro/api/v1/projects/$PROJECT_ID/keys \
-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
-d '{"description":"ci key"}' | jq -r .key