- No matches
Endpoints
Hostnames use utn.network, replaced with the domain when the docs site starts. The testnet coin is T-RAIN. Mainnet, when its RPC is published, is a different RPC URL and the coin name RAIN.
Network
| Purpose | URL |
|---|---|
| JSON-RPC | https://rpc.utn.network |
| JSON-RPC WebSocket | wss://rpc.utn.network |
| JSON-RPC on the wallet host (POST only) | https://wallet.utn.network/rpc |
| Chain id | 20261003 (0x135288b) |
bash
curl -s https://rpc.utn.network \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'Namespaces, body size, and rate limits are on JSON-RPC.
Sites
| Purpose | URL |
|---|---|
| Explorer (UTN Scan) | https://explorer.utn.network |
| Developer API (REST) | https://api.utn.network/api/v2/ |
| Developer API (Etherscan-compatible) | https://api.utn.network/api |
| Faucet page on Scan | https://explorer.utn.network/faucet |
| Wallet | https://wallet.utn.network |
| Wallet script | https://wallet.utn.network/sdk/utn-wallet.js |
| Connect window | https://wallet.utn.network/connect |
| Remix | https://remix.utn.network |
| Docs | https://docs.utn.network |
utn.network is utn.network unless the build sets another domain. The wallet is wallet.utn.network, Scan is explorer.utn.network, and the developer API is api.utn.network. The wallet passkey relying party id is wallet.utn.network on that default.
api.utn.network allows 600 requests per minute per IP. /api/v2 is GET-only (HTTP 405 otherwise). /api accepts GET and POST. GET / on that host redirects to https://docs.utn.network/api/. Scan's own pages stay on explorer.utn.network.
Faucet
| Purpose | URL |
|---|---|
| Send 10 T-RAIN to an address | POST https://faucet.utn.network/drip |
| Amount, cooldown, balance | GET https://faucet.utn.network/info |
| Health | GET https://faucet.utn.network/health |
| Same drip API on Scan | POST https://explorer.utn.network/faucet-api/drip |
| Same drip API on the wallet host | POST https://wallet.utn.network/faucet-api/drip |
Limits and error bodies are on Get T-RAIN.
Wallet relay and bridge
The wallet script calls these. A page does not build the relay request. Connect a site is the integration.
| Purpose | URL | Checked |
|---|---|---|
| Relay health | GET https://wallet.utn.network/relay/health | {"ok": true} |
| Relay info | GET https://wallet.utn.network/relay/info | chainId 20261003, gasPrice "476000000000", plus factory, factory2, implementation, implementation2, relayer, maxFee, maxCalls, requireAccess, balance |
| Submit a signed operation | POST https://wallet.utn.network/relay/send | Not called (it submits a transaction) |
| Sponsorship check | POST https://wallet.utn.network/relay/sponsor/check | Not called |
| Bridge health | GET https://wallet.utn.network/bridge/health | {"ok": true, "sessions": …} |
| Bridge used by the script | https://wallet.utn.network/bridge/ | The script posts /bridge/req and reads /bridge/res/{sid} |
| Memberships for an address | GET https://wallet.utn.network/relay/org/memberships?address=0x… | {"memberships": []} when the address has none |
GET /relay/org/list and GET /relay/org/lookup?address=0x… are implemented in the relay. On 8 Oct 2026 both returned HTTP 502 and {"error":"node"}. Do not depend on them until that response is JSON for the organization.
The relay allows 30 requests per minute per IP. The bridge allows 300 per minute per IP. A bridge long-poll waits up to 25 seconds.