RPC and indexer API
#JSON-RPC
GullyChain speaks the standard Ethereum JSON-RPC. There are five public ways in, all serving chain 485590, CORS on, no key. Use them in this order with a fallback transport; wallets use the first one.
| # | Endpoint | Note |
|---|---|---|
| 1 | https://rpc.gullychain.xyz |
Canonical public RPC (eRPC in front of the nodes). |
| 2 | https://rpc.gullyrpc.xyz/gullychain/evm/485590 |
The Gully RPC gateway's keyless GullyChain project, on a different server. |
| 3 | https://rpc2.gullychain.xyz |
Straight to the nodes, bypassing eRPC. |
| 4 | https://testnet-rpc.gullychain.xyz |
Legacy endpoint, kept working. Some networks filter hostnames that start with testnet-. |
| - | /rpc (same origin) |
On gullychain.xyz and the Gully web apps. Browser code on those hosts tries it first. |
Limits per IP, the viem and ethers fallback setup and the rules for retries are on Network reference.
curl -s https://rpc.gullychain.xyz \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x768d6"}#Keyed access: Gully RPC
For a project that needs its own limits and usage numbers, create a key on Gully RPC (opens in a new tab) (open sign-up, free tier). GullyChain Testnet is a network on the Gully RPC gateway, so your endpoint is:
https://rpc.gullyrpc.xyz/<your-project>/evm/485590The portal shows requests, errors and latency per key. Every chain Gully Labs runs is served through Gully RPC the same way.
#Indexer API
https://indexer.gullychain.xyz indexes launches, curve trades, swaps, names, transfers and quests, and serves them as JSON. It is public, read-only and CORS-enabled. GET / lists every route.
| Route | Returns |
|---|---|
GET /head |
{ chainId, block, timestamp } of the last indexed block |
GET /status, GET /ready |
indexer state and readiness |
GET /tokens |
every launchpad and listed token with price, volume and curve progress |
GET /tokens/:addr |
one token |
GET /tokens/:addr/candles?tf=1m|5m|15m|1h|4h|1d&limit= |
OHLCV candles |
GET /tokens/:addr/trades?limit=&before= |
trades, newest first, paged with before |
GET /tokens/:addr/holders?limit= |
holders and balances |
GET /feed?limit=&before=&address= |
the activity feed (launches, trades, swaps, names), optionally for one address |
GET /names/:addr, GET /names?addresses=a,b |
primary .gully names |
GET /logs?since=, GET /logs/transfers/:token?since= |
raw indexed logs and transfers |
GET /quests?status=&verifier=&creator=&asset=&limit=&offset= |
Gully Quests, filtered |
GET /quests/stats |
totals: quests, active, completions, pools per asset |
GET /quests/:id, GET /quests/:id/completions?limit=&before= |
one quest and its completions |
GET /accounts/:a/quests |
an account's quests and completions |
GET /quests/trending?limit= |
quests with the most recent completions |
GET /quests/leaderboard?season=current|all|<n>&limit= |
the XP leaderboard: rank, name, XP, level, completions, check-ins, badges, best streak |
GET /quests/:id/analytics |
completions over time for one quest |
GET /accounts/:a/xp, GET /streaks/:a, GET /badges/:a |
an account's XP, daily streak and soulbound badges |
POST /graphql |
the same data over GraphQL |
curl -s https://indexer.gullychain.xyz/head
# {"chainId":485590,"block":1718,"timestamp":1793146783}
curl -s "https://indexer.gullychain.xyz/feed?limit=20"Note
Numbers in responses (block, timestamp, amounts) are GullyChain blocks and wei strings. GullyChain makes blocks only when there are transactions, so a quiet head is normal. Poll at most every few seconds and cache what you can.
#Price endpoint
GET https://gullychain.xyz/price/eth returns the mainnet ETH price in USD, cached, for display (the explorer and the app use it to show USD values):
{"symbol":"ETH","usd":2344.08,"source":"coingecko","ts":1793146177}For an on-chain price, see Price oracle.
#Other public data
- Token list: gullychain.xyz/tokenlist.json, see Token list.
- Contract verification: verify.gullychain.xyz, a self-hosted Sourcify for chain 485590. Guide: Verify your contract.
- Explorer: testnet-explorer.gullychain.xyz.
- Uptime: status.gullylabs.xyz (opens in a new tab) checks every public host each minute.