$LASTCALL
The Texas bar tab
StatusNot signedNot settleable.
UpdatesMonthly
Oct 2026$907.77MLikely
Range$809.50M to $1.01B8 in 10
Backtest80% inside59 periods
ModelThe median of all modelsDisplay only, never signed
On Solana
Read this feed
The feed account holds prints once the program is deployed. Until then, the signed report is read at /api/indices/lastcall/report, from the first signing.
TypeScript
// $LASTCALL on Solana: the newest print in its feed account.
const FEED = "FUZMio1a6X1VtHByrV7iunQ26TV9wv1VVQBLb8sAkg8u";
const PROGRAM = "838cdWMpb2WeAT4stt7rgaBcwEcJh5ziS9P9RKLeTw7o";
const res = await fetch("https://api.mainnet-beta.solana.com", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "getAccountInfo",
params: [FEED, { encoding: "base64", commitment: "finalized" }] }),
});
const { result } = await res.json();
if (result.value?.owner !== PROGRAM) throw new Error("not a Tickerz feed");
const d = Buffer.from(result.value.data[0], "base64").subarray(8); // after the 8 byte discriminator
const decimals = d[52], grade = d[54], head = d[55], count = d[56];
if (count === 0) throw new Error("no print yet");
const o = 72 + 72 * head; // prints[head], the newest
const print = {
period_start: Number(d.readBigInt64LE(o)), // UTC seconds
value: d.readBigInt64LE(o + 8), // value / 10 ** decimals
published_at: Number(d.readBigInt64LE(o + 16)),
report_hash: d.subarray(o + 32, o + 64).toString("hex"),
status: ["provisional", "final", "corrected"][d[o + 64]],
};
const settleable = grade === 1 && print.status !== "provisional";Rust (Anchor)
use anchor_lang::prelude::*;
// $LASTCALL on Solana.
pub const TICKERZ_ORACLE: Pubkey = Pubkey::from_str_const("838cdWMpb2WeAT4stt7rgaBcwEcJh5ziS9P9RKLeTw7o");
pub const FEED: Pubkey = Pubkey::from_str_const("FUZMio1a6X1VtHByrV7iunQ26TV9wv1VVQBLb8sAkg8u");
#[derive(Accounts)]
pub struct ReadTickerz<'info> {
/// CHECK: address and owner checked; layout at tickerz.com/methodology#the-solana-feed
#[account(address = FEED, owner = TICKERZ_ORACLE)]
pub feed: UncheckedAccount<'info>,
}
/// The newest print, refused unless a market may settle on it (grade 1, status 1 final or 2 corrected).
/// Returns (period_start, value, status); value / 10^decimals in the index's unit.
pub fn latest_settled(feed: &AccountInfo) -> Result<(i64, i64, u8)> {
let data = feed.try_borrow_data()?;
let d = &data[8..]; // after the 8 byte discriminator
let (grade, head, count) = (d[54], d[55] as usize, d[56]);
require!(count > 0, ErrorCode::AccountNotInitialized);
let o = 72 + 72 * head; // prints[head]
let at = |i: usize| i64::from_le_bytes(d[i..i + 8].try_into().unwrap());
let (period_start, value, status) = (at(o), at(o + 8), d[o + 64]);
require!(grade == 1 && status != 0, ErrorCode::ConstraintRaw);
Ok((period_start, value, status))
}