Getting StartedFund from Faucet

Fund a Wallet from the Faucet

The Ignis devnet faucet mints free testnet OMC and OGT to any valid omne1... address. No API keys. No sign-up. A 60-second cooldown per address to prevent abuse.

Testnet tokens have no market value and cannot be transferred to mainnet. They exist only so you can exercise the SDK, deploy contracts, and stake a validator on the Ignis devnet.

Option 1 — Web faucet

Open the Phaylos wallet at phaylos.xyz, create or import a wallet, and use the in-app faucet panel. Or visit omne.foundation (Phase 2) for the web faucet slide-out.

Option 2 — RPC call (cURL)

Call the faucet directly via JSON-RPC:

curl -s -X POST https://rpc.ignis.omnechain.network \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"faucet_request","params":["omne1_your_address_here"],"id":1}' | jq .

Expected response:

{
  "jsonrpc": "2.0",
  "result": {
    "omcMinted": "10",
    "ogtMinted": "5",
    "status": "funded"
  },
  "id": 1
}

The default grant is 10 OMC + 5 OGT per request, subject to a 60-second cooldown per address.

Option 3 — SDK rpcCall escape hatch

From @omne/sdk@1.1.0, OmneClient.rpcCall<T>(method, params?) is a generic JSON-RPC escape hatch for methods not yet wrapped by a typed client method:

import { Wallet, OmneClient } from '@omne/sdk'
 
const wallet = Wallet.generate()
const account = wallet.getAccount(0)
 
const client = new OmneClient('wss://rpc.ignis.omnechain.network')
 
const result = await client.rpcCall<{ omcMinted: string; ogtMinted: string; status: string }>(
  'faucet_request',
  [account.address],
)
console.log(result)
// → { omcMinted: '10', ogtMinted: '5', status: 'funded' }

Prefer typed methods (getBalance, transfer, etc.) when they exist — they add parameter validation and response shaping. Use rpcCall for RPCs not yet wrapped, for custom node extensions, or for experimental devnet methods.

Verify the funding

Check your balance with the SDK:

const balance = await client.getBalance(account.address)
console.log(`Balance: ${balance.balanceOMC} OMC`)
// → "Balance: 10.000000000000000000 OMC"

Or query the RPC directly:

curl -s -X POST https://rpc.ignis.omnechain.network \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"omne_getBalance","params":["omne1_your_address_here"],"id":2}' | jq .

Cooldowns and limits

  • 60-second cooldown per address. Requesting again within the window returns a cooldown error.
  • Per-IP rate limit. Abusive patterns are throttled at the RPC layer.
  • No quota increases for devnet. Testnet (Testum, forming) will have a separate faucet with its own policy.

Troubleshooting

SymptomCauseFix
cooldown_active errorYou requested within 60s on the same addressWait out the cooldown or use a fresh derived account
invalid_addressAddress does not match omne1{40 hex} formatVerify the address with isValidOmneAddress() from the SDK
Faucet returns funded but balance is 0RPC has received the request but the block is not yet producedWait ~3 seconds for the next commerce block and re-check balance
Connection refusedIgnis devnet not reachable from your networkVerify DNS resolves rpc.ignis.omnechain.network and port 443/WSS is open

What’s next?