Skip to content

Connect to Frost

Network name Frost
RPC URL https://rpc.frostfi.net
Chain ID 8141 (0x1fcd)
Currency symbol FROST
Decimals 18
Block explorer https://explorer.frostfi.net
Block time 1 second
Block gas limit 60,000,000

Verify you are talking to the right chain:

Terminal window
curl -s https://rpc.frostfi.net -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1fcd"}

0x1fcd is 8141.

Any EVM wallet can add Frost as a custom network using the parameters above, and it will work for reading balances, viewing tokens, and watching addresses.

It will not work for sending from a post-quantum account. A wallet that only speaks ECDSA cannot sign for an account whose authorisation is an ML-DSA signature — this is a property of the cryptography, not a missing feature. A secp256k1 EOA added to MetaMask can transact normally on Frost; it simply is not quantum-safe, which is the thing the chain exists to fix.

To spend from a post-quantum account, use an SDK. To authenticate an account to a web service without a transaction, see Sign in with Frost.

https://rpc.frostfi.net is not a bare execution client. It is a Frost ingress: a service that handles submissions itself and proxies reads to an execution layer behind it. Two consequences matter.

Submission acknowledgement means ordered, not executed. When eth_sendRawTransaction returns a hash, your transaction has been accepted into consensus and will appear in a proposed block. It has not run yet. To find out what it did, wait for the receipt, exactly as you would anywhere else.

Submissions are validated at the gate. Before forwarding, the ingress simulates your transaction’s VERIFY frame under a bounded gas budget. A bad post-quantum signature is refused at submission with a reason, rather than being ordered and then silently skipped. This is a courtesy; the chain’s actual safety property is that every node skips invalid transactions identically.

Reads — the standard eth_, net_, and web3_ surface is proxied through and behaves as you expect: eth_getBalance, eth_call, eth_estimateGas, eth_getLogs, eth_getTransactionReceipt, eth_getBlockByNumber, and the rest.

Writes — eth_sendRawTransaction only. Submissions are rate-limited per source and per host — an over-quota submission is refused with -32005 — and a raw transaction larger than 128 KiB is refused with -32602.

Refused by policy — eth_sendTransaction, eth_sign, eth_signTransaction, eth_signTypedData. A public endpoint holds no keys, so there is nothing for these to sign with. Anything else outside the allowlist returns -32601.

Batched JSON-RPC is rejected. Send one request per call.

Frost extensions — a small frost_ namespace is available: frost_getSignatureSidecar, frost_getStrippedTransaction, and frost_historyStatus. See the JSON-RPC reference.

Frost is fee-blind. Ordering is decided by consensus and executed FIFO, so a priority fee buys nothing:

Terminal window
curl -s https://rpc.frostfi.net -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_maxPriorityFeePerGas","params":[]}'
# → {"jsonrpc":"2.0","id":1,"result":"0x0"}

eth_gasPrice returns the base fee. Set maxFeePerGas high enough to cover the base fee for as long as you want the transaction to stay valid, and leave maxPriorityFeePerGas at zero.

Nodes retain different amounts of history by design — post-quantum signatures make storage a first-order cost, so no node holds everything. Ask before you assume:

Terminal window
curl -s https://rpc.frostfi.net -H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"frost_historyStatus","params":[]}'
{
"tier": "tx-history",
"headBlock": "0xdb703",
"earliestFullBody": "0xd8ff3",
"historyCutoff": "0x0",
"persistedState": "0xd8b18"
}

No live node serves complete history. For a transaction older than earliestFullBody, frost_getStrippedTransaction returns its permanently retained, signature-stripped record with an inclusion proof against the block header — that is the verifiable path to old transactions. Complete bodies, witnesses included, live in the cold archive and on an archive node restored from it. See History and storage.

  • Explorerhttps://explorer.frostfi.net
  • Faucethttps://faucet.frostfi.net
  • Swaphttps://swap.frostfi.net

See Ecosystem for what is deployed on chain, including the Multicall3 and CREATE2 factory predeploy addresses.