SHAREHOLDER #000001
Now, you're
a shareholder.
MINIMUM HOLD100K $SHAREHOLDER
REWARD ASSETSPCX · ONDO
EXECUTIONAUTOMATIC
SYNCING…
Total Fees Earned
0.00SOL
all-time · ≈ $0.00
SPCX Shared to Holders
0.0000SPCX
sent out · ≈ $0.00
Holders Rewarded
0UNIQUE
received SPCX
SPCX Price
$0.00
Ondo tokenized SpaceX
/ TOKEN ADDRESSES
TOKEN · $SHAREHOLDER
— NOT LIVE YET —REWARD · SPCX (ONDO)
SPCXxcqXj6e5dJDVNovHN8744zkbhM2bYudU45BimGb/ THE LOOP
Four procedures.
One very serious little machine.
The keeper turns fees into an on-chain reward loop. It does the accounting so the flight director can stare intensely at the sky.
[ 0 ]
Claim
Creator fees accrue in a vault. The keeper sweeps them once they clear the configured threshold.
[ 1 ]
Buy
It routes the fees through Jupiter and buys SPCX at the best available price.
[ 2 ]
Snapshot
A holder snapshot is taken; pools, vaults and protocol accounts are excluded before weights are computed.
[ 3 ]
Reflect
SPCX is sent to every eligible holder by weight, idempotently, with a proof trail on-chain.
/ DISTRIBUTION LOG
Every reflection,
on the record.
Each row is a distribution of Ondo's SPCX to $SHAREHOLDER holders. The money is funny. The receipts are not.
VERIFIABLE
ON-CHAIN
RECEIPTS
ON-CHAIN
RECEIPTS
NO DISTRIBUTIONS YET — THE FIRST REFLECTION WILL APPEAR HERE AUTOMATICALLY.
/ THE ENGINE
Logic,
in the open.
// Creator fees accrue in an on-chain vault — they are not auto-sent.
// Read what's claimable; only sweep once it clears the threshold.
const { distributable, canDistribute } = await sdk.getDistributableFee(mint);
if (distributable < CLAIM_THRESHOLD || !canDistribute) return;
const ixs = await sdk.buildDistributeFeeInstructions(mint);
const sig = await sendAndConfirm(ixs, keeper);
// 80% of the claim funds buyback, 20% is held back for gas + rent.
recordClaim(distributable, BUYBACK_FRACTION);// Spend ONLY the claimed-fee budget — wallet principal is never touched.
const budget = feeBudget() - reserveForGasAndRent(newAtas);
if (budget <= 0n) return;
const quote = await jupiter.quote({
inputMint: SOL, outputMint: SPCX,
amount: budget, slippageBps: SLIPPAGE,
});
const tx = await jupiter.swap(quote);
if (tx.feePayer() !== keeper) throw "refusing to sign";
await sendAndConfirm(tx);
// distribution uses the ACTUAL SPCX received, not the quote.
const bought = await balanceDelta(spcxAccount);// Full on-chain holder snapshot, cross-checked against supply.
const holders = await snapshotHolders(meme);
assertWithinSupply(holders); // reject injected/poisoned balances
let totalEligible = 0n;
for (const h of holders) {
// pools, the bonding curve, fee vaults & the keeper are excluded
if (isExcluded(h) || h.balance < MIN_HOLD) continue;
totalEligible += h.balance;
}
for (const h of eligible) {
h.share = bought * h.balance / totalEligible; // pro-rata
}// Idempotent batched transfers — a crash or retry never double-pays.
for (const batch of chunk(eligible, BATCH_SIZE)) {
const ix = [];
for (const r of batch) {
if (ledger.isSent(r.owner)) continue; // already paid
if (await isFrozen(r.owner)) continue; // skip poisoned ATAs
ix.push(createAtaIfMissing(r.owner));
ix.push(transferChecked(r.owner, r.share));
}
const sig = await sendAndConfirm(ix);
ledger.markSent(batch, sig); // on-chain proof, replay-safe
}