Flare is an EVM-compatible Layer 1 with two enshrined oracle protocols built into the consensus client itself: the Flare Time Series Oracle (FTSO) for sub-2-second decentralized price/data feeds, and the Flare Data Connector (FDC, formerly State Connector) for trust-minimized attestations of external chain state and Web2 data. Mainnet chain ID 14, native token FLR, with the Songbird canary network on chain ID 19. Built on a fork of avalanchego + coreth, so the EVM surface is identical to Ethereum.
- 01data-heavy dapps that need cheap on-chain oracles (no per-call oracle fee)
- 02cross-chain dapps that need attested external state (BTC/XRP/Doge/state of any chain)
- 03FAssets (trust-minimized BTC/XRP/Doge representations)
- 04EVM L1 with native FTSO/FDC primitives
- pnpm add viem wagmi
- pnpm add @flarenetwork/flare-periphery-contract-artifacts
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_FLARE_RPC_URL | Client | Flare RPC URL (mainnet: https://flare-api.flare.network/ext/C/rpc). |
| NEXT_PUBLIC_FLARE_CHAIN_ID | Client | Chain ID — 14 for Flare mainnet, 19 for Songbird canary, 114 for Coston2 testnet. |
Use viem with `defineChain({ id: 14, name: 'Flare', nativeCurrency: { name: 'Flare', symbol: 'FLR', decimals: 18 }, rpcUrls: { default: { http: ['https://flare-api.flare.network/ext/C/rpc'] } } })` (or the built-in `flare` chain). Solidity contracts deploy unchanged with Foundry: `forge create --rpc-url $FLARE_RPC --private-key $PK src/MyContract.sol:MyContract`. To consume FTSO price feeds, install `@flarenetwork/flare-periphery-contract-artifacts` and read via `ContractRegistry.getFtsoV2().getFeedById(feedId)` — there is no per-query payment, the protocol funds providers from inflation. For cross-chain attestations (BTC/XRP/Doge/EVM state), use the FDC (`IFdcHub`) which returns Merkle proofs verifiable on-chain. Bridge FLR/wFLR via Stargate/LayerZero. Songbird (chain 19, native token SGB) is the canary network — use Coston2 (chain 114) for testing, not Songbird.
- ⚑Gas token is FLR (mainnet) or SGB (Songbird canary), NOT ETH. Wallets/relayers that hardcode ETH as the fee currency will fail. Songbird is a canary, not a testnet — use Coston (chain 16) or Coston2 (chain 114) for testing.
- ⚑FTSO feeds are pull-based: the protocol publishes a Merkle commit each voting round (~90s), and consumers verify against the latest feed contract. Do not assume push-style 'latest answer' freshness like Chainlink; check the round timestamp and stale-feed thresholds in your contract.
- ⚑FDC attestations require an off-chain attestation request and proof submission flow — they are not synchronous. Build UX around the round-based delay (typically a few minutes from request to verifiable proof on Flare).
- ⚑Validator delegation and inflation rewards have a unique Flare-specific lifecycle (delegation, vote-power, FlareDrops which concluded Jan 30 2026). Code that assumes Ethereum-style staking will not match Flare's reward accounting — read FLR specifics in `dev.flare.network/flr`.
- ⚑Block time is ~1.8s with sub-3s finality (Snowman++ consensus inherited from Avalanche). Tools that assume 12s blocks for polling intervals or confirmation counts will be off — tune confirmations to ~2 and rate-limit polling.
- ⚑FAssets (FBTC, FXRP, FDOGE) are trust-minimized but not trustless — they rely on a collateralized agent network. Document the agent collateralization assumptions for users; treat FAsset balances as agent-backed wraps, not the underlying asset itself.