The blockchain for data
Flare is a full-stack layer 1 solution designed for data intensive use cases.
Building with the best







FTSO
Enshrined Data Protocols
Fassets
FDC
Ethereum Virtual Machine
FlareStake
Fast
191,317,5871.9s avg block time with single-slot finality
Decentralized
100 Data Providers3.3% maximum stake per data provider
Secure
FLR Staked
of which, 80% is from the community
Build on Flare
Leverage Flare’s full-stack data solutions in your decentralized application.
import "@flarenetwork/flare-periphery-contracts/flare/ContractRegistry.sol";
import "@flarenetwork/flare-periphery-contracts/flare/FtsoV2Interface.sol";
contract FtsoV2Consumer {
FtsoV2Interface internal ftsoV2;
function getFlrUsdPrice() external returns
(uint256 value, int8 decimals, uint64 timestamp) {
ftsoV2 = ContractRegistry.getFtsoV2();
return ftsoV2.getFeedById(0x01464c522f55534400000000000000000000000000);
}
}
import { Web3 } from "web3";
export async function main() {
const w3 = new Web3(RPC_URL);
const ftsov2 = new w3.eth.Contract(JSON.parse(ABI), FTSOV2_ADDRESS);
const res = await ftsov2.methods
.getFeedById("0x01464c522f55534400000000000000000000000000")
.call();
console.log(
"Value: %s, Decimals: %s, Timestamp: %s", res["0"], res["1"], res["2"],
);
}
import asyncio
from web3 import AsyncHTTPProvider, AsyncWeb3
async def main() -> None:
w3 = AsyncWeb3(AsyncHTTPProvider(RPC_URL))
ftsov2 = w3.eth.contract(address=FTSOV2_ADDRESS, abi=ABI)
res = await ftsov2.functions.getFeedById(
"0x01464c522f55534400000000000000000000000000"
).call()
print(f"Value: {res[0]}, Decimals: {res[1]}, Timestamp {res[2]}")
use alloy::{providers::ProviderBuilder, sol};
use eyre::Result;
sol!(
FtsoV2,
"abi/FtsoV2.json"
);
#[tokio::main]
async fn main() -> Result<()> {
let provider = ProviderBuilder::new().on_http(RPC_URL);
let ftsov2 = FtsoV2::new(FTSOV2_ADDRESS, provider);
let FtsoV2::getFeedByIdReturn { _0, _1, _2 } = ftsov2
.getFeedById("0x01464c522f55534400000000000000000000000000")
.call()
.await?;
println!("Value:{}, Decimals:{}, Timestamp{}", _0, _1, _2);
Ok(())
}
package main
import (
"context"
"fmt"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/ethclient"
)
func FtsoV2Consumer() {
client, _ := ethclient.Dial(RPC_URL)
ftsov2, _ := NewFtsoV2(FTSOV2_ADDRESS, client)
var res []interface{}
opts := &bind.CallOpts{Context: context.Background()}
ftsov2.FtsoV2Caller.contract.Call(
opts, &res, "getFeedById", "0x01464c522f55534400000000000000000000000000"
)
fmt.Println("Value: %i, Decimals: %i, Timestamp: %i", res[0], res[1], res[2])
}
Community
Subscribe to the Flare Newsletter
Join over 30,000 Flare community members. Sign up to the Flare newsletter today to hear the latest on product releases, ecosystem announcements and global events.
Subscribe