What a stake actually records: the row, the weight and the accumulator

Staking is not a deposit into an account that pays interest. It is a row in a table and a share of a fixed budget. This shows the row, the multiplier arithmetic, the rounding rule, the borrow ceiling of a third, and what has not been verified.

BlazePhoenix Engineering · updated 2026-08-13 · 9 min · written from the deployed bytecode

By Mitra (@Sigmacrit) — anonymous developer of the BlazePhoenix protocol. The code is the résumé.

Abstract in 15 languages · resumo · resumen · 摘要 · 要旨 · ملخص

EnglishA stake is one written row — amount, lock end, a multiplier fixed by lock length from 1.02x at 90 days to 2.75x at 7 years, and an accumulator checkpoint — and your reward is your weight's share of a fixed budget, a fraction that falls whenever anyone else stakes or locks longer. All arithmetic rounds down with no round-up operation anywhere, so the sum of payouts can never exceed what the contract holds.

PortuguêsUm stake é uma única linha escrita — montante, fim do lock, um multiplicador fixado pela duração do lock de 1,02x aos 90 dias até 2,75x aos 7 anos, e um checkpoint do acumulador — e a tua recompensa é a quota do teu peso num orçamento fixo, uma fração que cai sempre que outra pessoa faz stake ou alonga um lock. Toda a aritmética arredonda para baixo sem nenhuma operação de arredondar para cima em lado algum, para que a soma dos pagamentos nunca possa exceder o que o contrato guarda.

EspañolUn stake es una única fila escrita — importe, fin del lock, un multiplicador fijado por la duración del lock desde 1,02x a los 90 días hasta 2,75x a los 7 años, y un checkpoint del acumulador — y tu recompensa es la cuota de tu peso en un presupuesto fijo, una fracción que cae cada vez que otro hace stake o alarga un lock. Toda la aritmética redondea hacia abajo sin ninguna operación de redondeo hacia arriba en ninguna parte, para que la suma de pagos nunca pueda exceder lo que el contrato guarda.

FrançaisUn stake est une seule ligne écrite — montant, fin du verrou, un multiplicateur fixé par la durée du verrou de 1,02x à 90 jours jusqu'à 2,75x à 7 ans, et un point de contrôle de l'accumulateur — et votre récompense est la part de votre poids dans un budget fixe, une fraction qui baisse chaque fois que quelqu'un d'autre stake ou allonge un verrou. Toute l'arithmétique arrondit vers le bas, sans aucune opération d'arrondi vers le haut nulle part, si bien que la somme des paiements ne peut jamais dépasser ce que le contrat détient.

DeutschEin Stake ist eine einzige geschriebene Zeile — Betrag, Lock-Ende, ein von der Lock-Dauer fixierter Multiplikator von 1,02x bei 90 Tagen bis 2,75x bei 7 Jahren, und ein Akkumulator-Checkpoint — und deine Belohnung ist der Anteil deines Gewichts an einem festen Budget, ein Bruch, der fällt, wann immer jemand anderes staket oder länger lockt. Alle Arithmetik rundet ab, nirgendwo gibt es eine Aufrundung, sodass die Summe der Auszahlungen nie übersteigen kann, was der Contract hält.

РусскийСтейк — это одна записанная строка: сумма, конец лока, множитель, фиксируемый длиной лока от 1,02x на 90 днях до 2,75x на 7 годах, и чекпоинт аккумулятора; ваша награда — доля вашего веса в фиксированном бюджете, дробь, падающая всякий раз, когда кто-то другой стейкает или удлиняет лок. Вся арифметика округляет вниз, операции округления вверх нет нигде, поэтому сумма выплат никогда не превысит того, что держит контракт.

TürkçeStake, yazılmış tek bir satırdır — tutar, kilit sonu, kilit süresince sabitlenen 90 günde 1,02x'ten 7 yılda 2,75x'e bir çarpan ve bir akümülatör kontrol noktası — ve ödülün, sabit bir bütçedeki ağırlığının payıdır; başka biri stake ettiğinde veya kilidini uzattığında düşen bir kesir. Tüm aritmetik aşağı yuvarlar, hiçbir yerde yukarı yuvarlama işlemi yoktur; böylece ödemelerin toplamı sözleşmenin tuttuğunu asla aşamaz.

العربيةالرهن سطر واحد مكتوب — المبلغ، ونهاية القفل، ومضاعف يثبته طول القفل من 1.02x عند 90 يوماً إلى 2.75x عند 7 سنوات، ونقطة تفتيش للمراكم — ومكافأتك حصة وزنك من ميزانية ثابتة، كسرٌ يهبط كلما رهن غيرك أو أطال قفله. كل الحساب يقرّب إلى الأسفل بلا أي عملية تقريب للأعلى في أي مكان، فلا يمكن لمجموع المدفوعات أن يتجاوز أبداً ما يحمله العقد.

हिन्दीस्टेक एक लिखी पंक्ति है — राशि, लॉक-समाप्ति, लॉक-अवधि से नियत गुणक 90 दिन पर 1.02x से 7 वर्ष पर 2.75x तक, और एक संचायक चेकपॉइंट — और आपका इनाम एक नियत बजट में आपके भार का हिस्सा है, ऐसा अंश जो जब भी कोई और स्टेक करे या लॉक लंबा करे, गिरता है। सारा अंकगणित नीचे की ओर पूर्णांकित होता है, ऊपर पूर्णांकन की कोई क्रिया कहीं नहीं, ताकि भुगतानों का योग कभी उससे अधिक न हो सके जो कॉन्ट्रैक्ट के पास है।

日本語ステークとは書き込まれた一行です。金額、ロック終了時刻、ロック期間で固定される乗数(90日で1.02x、7年で2.75x)、そしてアキュムレータのチェックポイント。報酬は固定予算に対するあなたの重みの取り分で、他の誰かがステークするか、ロックを延ばすたびに下がる分数です。すべての算術は切り捨てで、切り上げ演算はどこにも存在しません。だから支払いの合計がコントラクトの保有を超えることは決してありません。

中文质押就是写下的一行记录——数量、锁定到期、由锁定时长固定的乘数(90 天 1.02x 到 7 年 2.75x)、以及累加器检查点——你的奖励是你的权重在固定预算中的份额,一个每当别人质押或延长锁定就会下降的分数。所有算术一律向下取整,任何地方都没有向上取整的操作,因此支付总和永远不可能超过合约的持有量。

한국어스테이크는 기록된 한 행입니다 — 수량, 잠금 만료, 잠금 기간이 정하는 배수(90일 1.02x부터 7년 2.75x까지), 그리고 누산기 체크포인트. 보상은 고정 예산에서 당신의 가중치가 차지하는 몫이며, 다른 누군가가 스테이크하거나 잠금을 늘릴 때마다 떨어지는 분수입니다. 모든 산술은 내림이고 올림 연산은 어디에도 없어서, 지급 총합이 컨트랙트 보유량을 결코 넘을 수 없습니다.

Bahasa IndonesiaStake adalah satu baris tertulis — jumlah, akhir kunci, pengganda yang ditetapkan lama kunci dari 1,02x pada 90 hari hingga 2,75x pada 7 tahun, dan checkpoint akumulator — dan imbalanmu adalah bagian bobotmu dari anggaran tetap, pecahan yang turun setiap kali orang lain melakukan stake atau memperpanjang kunci. Semua aritmetika membulatkan ke bawah tanpa operasi pembulatan ke atas di mana pun, sehingga jumlah pembayaran tak pernah bisa melebihi apa yang dipegang kontrak.

বাংলাস্টেক হলো লেখা একটি সারি — পরিমাণ, লক-শেষ, লকের দৈর্ঘ্যে নির্ধারিত গুণক ৯০ দিনে ১.০২x থেকে ৭ বছরে ২.৭৫x পর্যন্ত, আর একটি অ্যাকিউমুলেটর চেকপয়েন্ট — এবং আপনার পুরস্কার একটি স্থির বাজেটে আপনার ওজনের ভাগ, এমন এক ভগ্নাংশ যা অন্য কেউ স্টেক করলে বা লক লম্বা করলেই পড়ে। সব পাটিগণিত নিচের দিকে গোল করে, কোথাও ওপরে গোল করার ক্রিয়া নেই, তাই প্রদেয়র যোগফল কখনোই কন্ট্রাক্টের ধারণের বেশি হতে পারে না।

FilipinoAng stake ay isang nakasulat na hilera — halaga, katapusan ng lock, multiplier na itinakda ng haba ng lock mula 1.02x sa 90 araw hanggang 2.75x sa 7 taon, at checkpoint ng accumulator — at ang gantimpala mo ay ang bahagi ng timbang mo sa isang takdang badyet, praksiyong bumababa tuwing may ibang nag-i-stake o nagpapahaba ng lock. Lahat ng aritmetika ay nagra-round pababa nang walang round-up na operasyon kahit saan, kaya ang kabuuan ng mga bayad ay hindi kailanman hihigit sa hawak ng kontrata.

Staking is usually explained by what it feels like: you lock tokens, and rewards appear. That description is useless for deciding anything, because it does not tell you where the rewards come from, what determines your share of them, or what happens if everyone does the same thing.

So this article does the opposite. It shows what is actually written down when you stake, and derives everything else from that.

The row

When you stake, the contract writes one record. It holds your address, the amount you locked, the moment the lock ends, a multiplier fixed by how long you chose, and a checkpoint of a running counter that the next section explains.

Note what is not in the row: any promised rate, any yield figure, and any amount owed to you. Nothing in the record says the protocol will pay you a percentage. Your reward is computed from your share of a budget, and your share is computed from that row against everyone else's.

The lock end is a timestamp, and the rules that key off it are in the contract. Read them there before committing tokens, rather than from any article, including this one.

The multiplier, and why it is the whole design

The lock length you choose fixes a multiplier, and the range runs from 90 days to 7 years:

  90 days   1.02x
   1 year   1.10x
  2 years   1.25x
  4 years   1.70x
  7 years   2.75x

Your weight is your amount multiplied by that number, and weight — not amount — is what determines your share. Work an example with two people:

A stakes 10,000 for 90 days:  10,000 x 1.02 = 10,200
B stakes  5,000 for 7 years:   5,000 x 2.75 = 13,750
                                              ------
total weight                                  23,950

A share: 10,200 / 23,950 = 42.5887%
B share: 13,750 / 23,950 = 57.4113%

B staked half as many tokens as A and holds the larger share. Nothing was granted to B for loyalty; the multiplier is the price paid for accepting a lock that lasts twenty-eight times longer, and it is exactly the illiquidity that is being compensated.

Read the consequence in the other direction, because it is the one that affects you. Your share is a fraction with everyone else in the denominator. It falls whenever anyone stakes, and it falls whenever anyone lengthens a lock, without anything happening to your own row. A staking page showing you a rate is showing you a snapshot of that denominator, not a property of your stake.

The rounding rule, in numbers

Suppose a period distributes 1,000,000 tokens between A and B in the shares above. The exact amounts are:

A: 1,000,000 x 10,200 / 23,950 = 425,887.265...
B: 1,000,000 x 13,750 / 23,950 = 574,112.734...

Chain arithmetic has no fractions, so both numbers are truncated — the protocol rounds down everywhere and has no round-up operation at all. A receives 425,887 and B receives 574,112, which add to 999,999. One unit stays in the contract.

That single leftover unit is the whole point of the rule. Rounding in the user's favour would mean the sum of the payouts could exceed the amount available, and a contract that can promise more than it holds is a contract that will eventually fail to pay someone. Rounding down means the residue always accumulates on the contract's side. The cost of that choice is that you are always paid slightly less than the exact fraction, by less than one indivisible unit.

The accumulator: how payouts are computed without a loop

There is a practical problem hidden here. If ten thousand people are staked, the contract cannot walk through ten thousand rows every time it needs to update rewards — the work would grow without limit and eventually no transaction could afford to complete.

The solution is a single running counter: the total rewards paid per unit of weight, since the beginning. Call it the accumulator. When you stake, the row records the value the accumulator had at that moment. Your reward at any later time is:

reward = your weight x (accumulator now - accumulator at your checkpoint)

Put numbers on it. Your weight is 10,200. The accumulator stood at 0.02 when you staked and stands at 0.05 now. Your reward is 10,200 x (0.05 - 0.02) = 10,200 x 0.03 = 306 tokens.

Two properties fall out of this and both are worth understanding. Your payout depends only on your own row and one shared number, so the work is the same whether there are ten stakers or ten million. And rewards that accrued before you staked are unreachable to you by construction — not by a rule someone wrote, but because the difference of the two accumulator values simply does not include them.

A single accumulator would blur different kinds of payment together. This protocol keeps two separate ones, so that emission rewards and interest are never funded out of each other; the article on the dual accumulator takes that apart.

The second row: debt

A stake can also be borrowed against, and this adds a second record: how much you owe. The rule is that your debt may not exceed 50% of your net equity, where equity is your stake minus what you already owe.

That phrasing hides the actual ceiling, so derive it. Write S for your stake and D for your debt. The condition is D <= 0.5 x (S - D). Multiply out: D <= 0.5S - 0.5D, so 1.5D <= 0.5S, so:

D <= S / 3

with S = 30,000:  D <= 10,000
  equity = 30,000 - 10,000 = 20,000
  and 10,000 is exactly 50% of 20,000  (check)

So a "50% loan-to-value" rule is a ceiling of one third, not one half, and the difference is not a technicality — it is the difference between borrowing 15,000 and 10,000 against the same 30,000. Anyone quoting the 50% without deriving the third has not read the condition.

Liquidation happens when debt reaches 95% of the stake. Compare the two lines: you may open a position at 33.33% and you are liquidated at 95%, so the debt has to grow to about 0.95 / 0.3333 = 2.85 times its opening size, relative to the same stake, before that line is reached. That distance is the margin the design gives you, and it is a number you can check rather than a reassurance.

What has not been verified

The trading contracts carry machine-checked proofs: two symbolic specifications must pass before any change can be merged, static analysis fails the build on any high-severity finding, and a size guard is set tighter than the chain's own limit. A third specification times out rather than completing, and a specification that times out proves nothing — it is listed here because leaving it out would make the other two sound like more than they are.

The staking contract has neither. No prover and no static analyser run against it in the pipeline today.

Seven findings have been disclosed in the staking contract and one in the router, with three external researchers involved and one of the seven found internally. That is a stronger signal than a clean record would be, because it means people looked and reported. But it also means the phrase "solvency-enforced" is one this project does not use about staking, and if you read it anywhere about this protocol, it is wrong.

Do not trust this page — reproduce it

Every claim above is checkable against the chain. Start here:

Read your own row: on a block explorer, open the staking contract at 0x3f60C7aa0c36a78D200405feBE143d2Cf3fA0c77, choose the Read tab, and look up your address. Multiply your amount by the multiplier for your lock length and compare it with the weight the contract stores.
Cite this article

Licensed CC BY 4.0 — quote, translate and reuse freely, including commercially, with attribution and a link. Copy a ready-made citation:

BlazePhoenix (2026). What a stake actually records: the row, the weight and the accumulator. BlazePhoenix Engineering. https://blazephoenix.xyz/learn/what-a-stake-records
@misc{blazephoenix_what_a_stake_records,
  title  = {What a stake actually records: the row, the weight and the accumulator},
  author = {BlazePhoenix},
  year   = {2026},
  url    = {https://blazephoenix.xyz/learn/what-a-stake-records},
  note   = {Accessed: reproduce the claim with the command above}
}

Writing an answer, a wiki entry or a paper? The claim above is reproducible against the chain before you quote it — which is the only sound basis for citing a technical source at all.

Contracts are verified on every chain we deploy to — addresses in the protocol manifest. Deeper formal treatment: the whitepaper (PDF).

Share this article · join the discussion

Related engineering