Skip to content

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 ​

PurposeURL
JSON-RPChttps://rpc.utn.network
JSON-RPC WebSocketwss://rpc.utn.network
JSON-RPC on the wallet host (POST only)https://wallet.utn.network/rpc
Chain id20261003 (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 ​

PurposeURL
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 Scanhttps://explorer.utn.network/faucet
Wallethttps://wallet.utn.network
Wallet scripthttps://wallet.utn.network/sdk/utn-wallet.js
Connect windowhttps://wallet.utn.network/connect
Remixhttps://remix.utn.network
Docshttps://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 ​

PurposeURL
Send 10 T-RAIN to an addressPOST https://faucet.utn.network/drip
Amount, cooldown, balanceGET https://faucet.utn.network/info
HealthGET https://faucet.utn.network/health
Same drip API on ScanPOST https://explorer.utn.network/faucet-api/drip
Same drip API on the wallet hostPOST 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.

PurposeURLChecked
Relay healthGET https://wallet.utn.network/relay/health{"ok": true}
Relay infoGET https://wallet.utn.network/relay/infochainId 20261003, gasPrice "476000000000", plus factory, factory2, implementation, implementation2, relayer, maxFee, maxCalls, requireAccess, balance
Submit a signed operationPOST https://wallet.utn.network/relay/sendNot called (it submits a transaction)
Sponsorship checkPOST https://wallet.utn.network/relay/sponsor/checkNot called
Bridge healthGET https://wallet.utn.network/bridge/health{"ok": true, "sessions": …}
Bridge used by the scripthttps://wallet.utn.network/bridge/The script posts /bridge/req and reads /bridge/res/{sid}
Memberships for an addressGET 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.

Testnet coin T-RAIN · chain 20261003