LUSG docsLIUM FINANCE Vibenet live · Base Sepolia next Open the app →
Contents
Design

An open oracle for every T-bill.

BillOracle stores Treasury's seven daily bill rates and the list of every outstanding bill by CUSIP, and prices any of them on read. We found no open, free, per-bill T-bill oracle on chain; the only per-bill source is licensed.

Who offers T-bill prices on chain today

ProviderWhat it publishesPer-bill price?Access
Chainlink DataLink with TradewebFTSE US Treasury closing prices at 3 pm and 4 pm New York, bills included; a registered benchmarkYesLicensed: the provider sets access rules; applied for by form
PythOvernight rates, 2–30 year yields and prices, bill ETFsNoPull model; current values need an API key
Chronicle Verified Asset OracleFund values and proof of assets (Superstate USTB, BUIDL verification)No, fund levelPer issuer
RedStoneFund values for Securitize funds (BUIDL, VBILL)NoPer issuer
DIA ValueValues computed from on-chain stateNon/a

Design

Daily bill rateshome.treasury.gov CSV Every bill by CUSIPTreasuryDirect API Auction resultsFiscal Data API Signersv0: one posterv1: 3 signers, 2 must agree BillOracle7 rates + bill listpriceOf(cusip) on read ReadersLusgClock check(), lenders,other issuers

Interface

function postRates(uint64 asOf, uint32[7] rates)            // poster; rates in millionths (3.90% = 39_000)
function setBills(bytes9[] cusips, uint64[] maturities)     // poster; maturities at 00:00 UTC
function priceOf(bytes9 cusip) view returns (uint256 pricePer100, uint256 rate, uint256 daysLeft)
function priceAt(uint256 maturity) view returns (uint256 pricePer100, uint256 rate, uint256 daysLeft)
function rateFor(uint256 daysLeft) view returns (uint256)    // display: floored to millionths
function isFresh() view returns (bool)

Live on Vibenet: 0xF49A3EFcfb7f0D82645E46CE4110445608C35175, with 52 outstanding bills from 912797UM7 to 912797WT0 and Treasury's 2 November 2026 rates.

Version 1, for Base Sepolia

Limits we state plainly