Network parameters
| Parameter | Value |
|---|---|
| Network name | 0G Mainnet |
| Chain ID | 16661 |
| Token symbol | 0G |
| Block explorer | chainscan.0g.ai |
| Storage explorer | storagescan.0g.ai |
| Ecosystem explorer | explorer.0g.ai |
| Blockchain RPC | https://evmrpc.0g.ai |
| Indexer RPC | https://indexer-storage-turbo.0g.ai |
Use a paid RPC provider for production storage workloads — the public endpoint is rate-limited.
Storage contract addresses
| Contract | Address |
|---|---|
| Flow | 0x62D4144dB0F0a6fBBaeb6296c785C71B3D57C526 |
| Mine | 0xCd01c5Cd953971CE4C2c9bFb95610236a7F414fe |
| Reward | 0x457aC76B58ffcDc118AABD6DbC63ff9072880870 |
Connect from Python
Add to MetaMask
| Field | Value |
|---|---|
| Network name | 0G Mainnet |
| New RPC URL | https://evmrpc.0g.ai |
| Chain ID | 16661 |
| Currency symbol | 0G |
| Block explorer URL | https://chainscan.0g.ai |
Production checklist
Before pushing real data to mainnet:- ✅ Verify the upload path on testnet end-to-end
- ✅ Switch to a paid RPC provider for the blockchain RPC
- ✅ Confirm the storage fee with
indexer.upload(..., opts={"fee": ...})on a small file first - ✅ For files over 4 GB, use
splitable_uploadand store the returnedrootHashesdurably — losing one means losing access to that fragment - ✅ Cache
rootHashvalues with timestamps so you can wait the ~3–5 minute propagation window before downloads - ✅ Use retry options on uploads to handle transient node failures
Next steps
Testnet
Develop and test against Galileo first.
Storage SDK
Upload and download files on the production network.