LasseCash
1. What LasseCash is
LasseCash is a social media platform and a set of financial rules sharing one token. You write on lassecash.com, people vote with their own L-Shares, and the protocol pays authors and voters in LASSECASH from a fixed, published schedule. You can also lock LASSECASH into a mint — a time-locked position earning L-Shares — or trade it against HBD in a pool the contract runs itself. All of it runs on MAGI, a smart-contract chain on Hive: contracts are Go compiled to WebAssembly, settled by Hive's block producers.
Content lives on Hive; the contract tracks only the money. Your article is a normal Hive post, readable on peakd, ecency or any Hive frontend, and readable a decade from now whether or not lassecash.com exists. The contract stores only author, permlink, payout window and accumulated vote weight, so LasseCash is never the sole custodian of anyone's writing.
Every number here comes from one piece of code: the share formula, halving schedule, bleed curve and pool math are written once in Go and compiled twice — for the chain, and for your browser, so the site previews figures without drifting from what the chain pays. No accounting path uses floating point; everything is integers at eight decimals, and every rounding step floors, so the chain can under-pay by a base unit but never over-issue. At an announced height the owner key is destroyed — not on a fixed date any more; section 8 says why — and after that nobody can change the code, add an entrypoint or move a bound — not the founder, not the top ten, not anyone. What is below is what runs; once the key is gone, permanently.
2. The numbers that never change
Hardcoded in the contract. None of them is a threshold the top ten can touch, and after the key burn there is no path at all.
The two caps are not arbitrary and they are not independent. The 2019 design set 51,000,000 as the total that would ever exist, in three parts: 11,000,000 to the founder at launch, 20,000,000 of inflation for the first ten years, and 20,000,000 for all the years after that. The first two are already issued — Hive-Engine records supply 31,000,000 today — and they are what migrates. The third is the emission cap below, and MAGI is the first time it has a schedule instead of an announcement.
| What | Value |
|---|---|
| Precision | 8 decimals; 1 LASSECASH = 100,000,000 base units, L-Shares the same |
| Historic hard cap | 51,000,000 LASSECASH, covering everything ever issued on any chain |
| Emission cap | 20,000,000 LASSECASH of new issuance — a separate ceiling, approached but never reached |
| Era | 31,536,000 heights. A height is one Hive block, 3 s, so an era is 1,095 days |
| Halving | each era's budget is half the previous one's, by integer division |
| Era 1 | 10,000,000 LASSECASH = 0.31709791 per height, paid every tenth height as 3.17097910 per MAGI block |
| Later eras | 5,000,000, then 2,500,000, then 1,250,000 |
| End of emission | year 75, with 19,999,994.01840000 ever issued; the missing 5.98 is stranded by flooring |
| Every reward splits | 50% Proof-of-Brain, 25% L-Share yield, 25% pool rewards |
| The content half splits | viral (7-day window) 25%, deep (30-day window) 75% |
| Author and curators | 75% / 25%, on every post and comment |
| Author routing | 20% liquid at once, 80% to pending, minted on the 1st |
| Mint multipliers | Longer Pays Better 1.5x, Bigger Pays Better 1.5x, multiplied — 2.25x is the maximum, ever |
| Share-rate ratchet | one L-Share costs 7% more each year, linear within the year, forever; never falls |
| Mint duration | 1 day minimum, 1,095 days maximum |
| Grace after maturity | 90 days, in which nothing happens |
| Bleed after grace | 90 days, linear per height; worth nothing at day 180 |
| Good Accounting grace | 1,095 days instead of 90, moving liquidation to day 1,185 |
| Swap fee | zero. No fee parameter exists and none can be added |
| LP loyalty bonus | +1%/day, linear, capped at 90 days — maximum 1.90x |
| Vote cost | a 100% vote costs 10% of your power; viral refills in 7 days, deep in 30, separate meters |
| Curation expiry | unclaimed curation returns to the pool one year after the post paid out |
| Promotion cutoff | closes at 75% of a post's payout window |
3. The migration
Seven years, one promise — the story, from the chain itself
Every date below is read from the chain, not from memory. Steem, Hive and MAGI share one block numbering — Hive kept Steem's heights at the 2020 fork, and MAGI reads Hive's — so the whole life of this token sits on a single 3-second clock, and the "product age" on the Chain page is one subtraction on it. The transactions are all still there for anyone to look up.
| Date | Block | What happened |
|---|---|---|
| 24 Apr 2019 | 32,322,581 | LASSE is created on Steem-Engine — "First personal TOKEN on the STEEM blockchain" — and the airdrop posts start two hours later. This is the holder line that survives to today |
| 5 May 2019 | 32,636,186 | LAS, "Lasse token" — the 51,000,000 cap appears for the first time. LAS itself is never distributed — an experiment set aside — but its cap is the number that never changed again |
| 26 May 2019 | 33,252,936 | LASSECASH is created at the 51,000,000 cap, 8 decimals; LASSE holders are re-issued 1:1 under the memo "Hardfork of Lasse Token" |
| 28 Jun 2019 | 34,197,998 | "Introduction to LASSECASH (New social media)" — lassecash.com opens as a tribe, and posting starts earning |
| 3 Apr 2020 | 42,219,353 | Two weeks after Hive forks from Steem, LASSECASH is re-created on Hive-Engine — same cap, same precision, same holders |
| 6 Aug 2021 | 56,294,433 | The site relaunches as "LasseCash first Outpost in history" — the first Outpost ever, with a new layout, more features and NFTs (first one minted 29 Aug 2021; that experiment never took off) |
| 31 Aug 2026 | 109,512,118 | MAGI genesis — the tokenomics stop being an announcement and become enforced code |
Three names, three chains, and one number that has not moved since 5 May 2019. The dates people remember are the launches; the dates the chain remembers are the transactions — both are real, and now both are written down.
This migration moves it to MAGI, and it is not automatic: there is a snapshot, then you claim.
Who qualifies
One test: did this account itself sign a LASSECASH operation on Hive-Engine, within the last 6 months?
That is the whole rule. Qualifying operations, signed by you:
| What you did |
|---|
| a LASSECASH transfer |
| a stake or an unstake (power up / power down) |
| a delegation or undelegation |
| a market order — buy, sell, or cancel |
Being alive somewhere else on Hive doesn't count. Proving a human exists is not the same as proving they ever used LasseCash, and thousands of accounts hold LASSECASH only because Lasse gave it away for seven years — at HiveFest, in comment threads, to people who never asked. Lasse: "its better to have real users that are a small group than to have fake users that are a huge group, which is the opposite of what 99% of crypto does." Your Hive activity is still read and recorded in the published snapshot, for the audit trail. It just does not make you eligible.
What does not count: posting, commenting and voting, which use the posting key and which a bot can do; and anything that merely involves you — a transfer someone sent you, a third-party stake, a buyer filling an old sell order, an automatic distribution payout, the weekly instalment of a power-down you started years ago. The test is that you signed it, in the window.
An unresolved search never burns you. If your Hive-Engine history is too long to walk to the end — the case for prolific posters with thousands of payout entries — you are included rather than excluded. The snapshot never destroys property on missing data.
There is no minimum balance. Dust accounts qualify like anyone else.
The roll call. The migration is announced before the snapshot, and anyone who has not signed a LASSECASH operation in six months gets one week to sign one — a transfer, a stake, an unstake, a delegation, a market order — and keep their stake. Nobody is burned without an opportunity, and the only thing you can game is saving your own tokens, which is the definition of being alive. Lasse: LasseCash "is not just money like bitcoin, its a social media DEFI NFT product, which justify that you need to be active and pay attention" — "people that snooze lose, supporters that used it gets their tokens."
What counts as your holdings
Everything you own, wherever the old chain kept it.
| Where it sits | Counts as |
|---|---|
| Liquid balance | liquid |
| Staked LASSECASH POWER | staked |
| LASSECASH in any Hive-Engine Diesel pool | liquid |
| LASSECASH in open sell orders | liquid |
| A power-down in progress | staked — it is already under lock |
| Stake you delegated out | staked — a delegation is still yours |
| Stake delegated to you | nothing. It is not yours and is never counted |
Only the LASSECASH token migrates. The handful of NFTs minted on the old lassecash.com are retired with the migration: they are not in the snapshot, not carried across, and not part of this contract, which is a token, a reward system and a pool. Nothing on a blockchain can be deleted, so the records still exist on Hive-Engine — but LasseCash does not support, display or trade them anymore.
Liquid, staked, and the claim
Your liquid balance migrates one-for-one. Your staked amount becomes a 30-day migration mint whose L-Shares equal it one-for-one — no multipliers, no share rate — because legacy stake is not a new voluntary commitment and keeps only the weight it had. Thirty days later you are liquid and decide fresh what to lock.
The claim window is 210 days — seven months from genesis. After that the position is gone. It is not a figure anyone picked: it is the migration mint's own life, 30 days locked plus 90 days of grace plus 90 days of bleed, ending where that curve reaches zero, because past that point there is nothing left to claim.
The mint runs on a shared clock from genesis whether or not you have claimed, so what you get depends on when:
| Claim on | What you receive |
|---|---|
| Day 0–30 | a real 30-day mint, earning yield and carrying voting power from the moment you claim |
| Day 30–120 (grace) | the full minted amount, straight to liquid, no yield |
| Day 120–210 (bleed) | the surviving fraction; what has bled away recycles into the L-Share reward pool |
| After day 210 | refused. Anyone may then call sweep_unclaimed once, recycling everything unclaimed — stake and liquid — into the L-Share reward pool |
Your liquid balance is credited in full on any claim inside the window. Nobody earns or votes before claiming.
Burning, and why nothing is destroyed
Accounts that do not qualify have their LASSECASH and LASSECASH POWER credited to hive:null, Hive's null account, which has no keys and provably cannot spend. Nothing is destroyed: every token ever issued is still held by somebody, and burns stay quarantined in plain sight, countable forever. Lasse's reason for using null: "so we always can see how much is burned in the future".
The burn is recorded per account, not as an anonymous lump: anyone may call record_burn with a proof to write a permanent receipt at mig_. It must be, in Lasse's words, "written in history that they had these lassecash and lassecash power".
The tree is the record
Every account in the snapshot — qualifying and burned — is a leaf in a Merkle tree, hashed as sha256("lassecash-migration-leaf-v1" + hive:account + liquid + staked + m or b) with pipe separators. The root is committed on-chain in one owner transaction and can never change; the full leaf list is published in the repository and by root hash in a Hive post, so anyone can prove forever what any account held and whether it migrated or burned. You claim by presenting your leaf and its proof; a bad proof writes nothing.
The snapshot committed on-chain at genesis, 31 August 2026: 353 accounts qualify, 11,730,692.24746305 LASSECASH migrates to its owners, 18,688,809.72711925 goes to hive:null, and the full snapshot totals 30,419,501.97458230 across 11,238 leaves.
Check it yourself, in your own browser. The burn audit page loads the published leaf list, recomputes the Merkle root from it, and compares that with the root the contract committed at genesis — if the two agree, the list you are reading is provably the one the chain enforces and not a single leaf was edited. The same page reconciles both totals against the chain, decomposes hive:null's live balance into the genesis burn and every burn since, and lists all 10,885 burned accounts by name. Nothing on it is computed by us at page-build time; the arithmetic happens on your machine.
The Hive-Engine supply discrepancy
Auditing the token for the migration turned up something that had gone unnoticed for years: Hive-Engine's recorded supply understates what actually exists. Summing every balance, stake, pending unstake, delegation and contract holding gives 31,485,173 LASSECASH against a recorded supply of 31,000,000 — a difference of 485,173.
It is not specific to LASSECASH. The same check on five other Hive-Engine tokens found LEO over by 12,880, POB by 36,998 and PIZZA by 1,364, while CTP and VIBES reconcile exactly. LASSECASH is the worst affected at 1.57%. The cause is inside Hive-Engine's own ledger; it is not delegations, not the unstaking schedule, and not an error in the calculation — two tokens reconcile to zero using the identical method.
The 51,000,000 cap survives it, because the undistributed inflation still sitting in the old pool-rewards distribution contract — 598,784.15 LASSECASH — is not migrated at all. It was issued, it never reached a holder, and it stays behind on Hive-Engine:
exists on Hive-Engine today 31,485,173
− undistributed inflation, not migrated 598,784
= credited to holders at the snapshot 30,886,389
+ MAGI emission cap 20,000,000
= maximum that will ever exist 50,886,389
historic hard cap 51,000,000
unused headroom 113,611
Nobody can ever mint that headroom: after the key burn there is no issuer. Emission approaches the 20,000,000 cap asymptotically and never reaches it — every division floors, so rounding can only ever under-issue.
The old token is dead
After the snapshot block, Hive-Engine LASSECASH is dead — it will not be redeemed, bridged or honoured. Do not buy it.
4. Mint — LasseMint and L-Shares
A mint is LASSECASH you lock for a period you choose, from 1 to 1,095 days. In exchange you get L-Shares, the protocol's unit of commitment: they earn yield, they are your vote weight on content, and a seat in the top ten is measured in them.
Shares are computed once, at creation, and frozen:
shares = principal / share rate x duration multiplier x volume multiplier
Longer Pays Better is the duration multiplier: 1.00x at one day, rising linearly to 1.50x at 1,095 days. Bigger Pays Better is the volume multiplier: 1.00x at or below the start amount (default 1,000 LASSECASH), rising linearly to 1.50x at or above the end amount (default 50,000). They multiply, so 2.25x is the absolute maximum. Both ceilings are hardcoded; only the two trigger amounts are thresholds the top ten can move.
The share rate is what one L-Share costs. It starts at 1.00000000 LASSECASH and ratchets up 7% a year, forever, so early commitment is predictably worth more than late:
| Year | Cost of one L-Share |
|---|---|
| Genesis | 1.00000000 LASSECASH |
| 1 | 1.07000000 |
| 5 | 1.40255173 |
| 10 | 1.96715134 |
| 30 | 7.61225475 |
| 75 | 159.87601191 |
Yield. A quarter of every reward funds the L-Share pool, and your claim on it is read from a running total that only ever rises: you are paid only for the emission that arrived while your shares were live. Someone minting today cannot claim last year's rewards, and someone who minted last year is not diluted by them. Two identical mints made at the same moment earn identically to the base unit, whoever claims first.
Yield ends at maturity, and so does all voting power, the top-ten seat and content weight alike. A matured, unclaimed mint votes with nothing, so no dormant account can haunt the top ten. Grace is a safety net for the ill or forgetful, not a bonus for leaving money sitting.
After maturity: 90 days of grace in which nothing happens, then a 90-day bleed, linear per height, taking principal and rewards from 100% to zero. Everything bled sweeps into the L-Share reward pool, and at day 180 the position is worth nothing.
Ending early. You can close a mint at any time, recovering 50% of your principal on day one and rising linearly to 100% at maturity, forfeiting all yield; the slashed principal sweeps into the reward pool. The site shows what you would lose before you sign.
Good Accounting. During the 90-day grace after maturity — and only then — you, the owner, may arm Good Accounting on a mint. Grace becomes 1,095 days, after which the ordinary 90-day bleed runs, liquidating at day 1,185. It exists for tax timing: three years spans four tax years, so you choose which to realise in. It cannot be armed before maturity (nothing to decide yet) or once the bleed starts (nobody opts out of a loss retroactively), and unlike HEX it is strictly owner-only — a stranger must not reshape someone else's tax position. Lasse: "lets do that that you can only run good accounting after maturity and that gives them 1 month to do it.. thats much more clean." (The grace was widened from 30 to 90 days on 2026-08-22, so the arming window is a full quarter.)
Dead positions can be swept. sweep_mint is permissionless, pays the caller nothing, and refuses unless the owner is owed exactly zero, so it can only touch a position already worth nothing. It releases the shares and returns the value to the pool; without it a lost key would strand principal and a seat forever.
What the yield actually is, and what it is not
The L-Share pool is 25% of emission — in era 1 that is 833,333 LASSECASH a year, and it does not grow. Your rate is that pool divided by the LASSECASH locked in mints, so it falls as more people mint:
| Share of supply locked | Rate |
|---|---|
| 10% | ~71% |
| 25% | ~28% |
| 50% | ~14% |
| 100% | ~7.1% |
And it halves with each era: roughly 7.1% at full participation in years 1–3, 3.55% in years 4–6, 1.78% in years 7–9.
The multipliers cannot change this. Longer Pays Better and Bigger Pays Better decide how the pool is split between minters; they cannot enlarge it. A 2.25x mint takes a larger slice of the same pie.
So an early rate is high only because few have claimed, and any figure the interface shows is today's arithmetic, not a promise. Nobody can promise it, because it is a division whose denominator is everybody else.
It is also not a savings account. HBD savings pays a fixed rate in a dollar-pegged asset you can unlock in three days. This pays in LASSECASH, and what it is worth depends on what LASSECASH is worth. Judged purely as fixed income against HBD, locking for three years does not obviously win — and anyone who mints for the rate alone has bought the wrong thing.
What the mints are actually for: L-Shares are voting power, they are how Proof-of-Brain earnings compound, and they are a claim on a supply that cannot be diluted because the cap is hardcoded. A declining yield is what a fixed cap looks like from the inside. The alternative — a rate that stays high forever — requires issuing forever, which is the thing this whole design refuses.
5. Proof-of-Brain — LasseMedia
Half of every reward goes to content, in two windows you choose between at publication.
| Window | Payout window | Share of the content half | Vote power refills over |
|---|---|---|---|
| Viral | 7 days | 25% | 7 days |
| Deep | 30 days | 75% | 30 days |
Deep is where long-form work is meant to go, and is paid three times as well for it. The meters are separate, so spending one does not weaken the other.
Posting requires stake: by default 1,000 L-Shares for viral, 10,000 for deep. This is the only anti-spam mechanism, and it is a threshold: the top ten can move it inside hardcoded bounds (section 7). Newcomers post viral, earn shares, and grow into deep.
A post written anywhere on Hive can earn here. Tag it lassecash, and if you hold the viral threshold it appears on LasseCash and its first vote registers it on-chain. Nothing is walled off: no account here, no permission, no approval. Votes are different: only a vote cast on LasseCash counts here. A vote on PeakD or ecency stays a Hive vote and never reaches the contract, before or after the post is registered — section 8b explains why voting here costs you nothing.
But it registers as viral, permanently. The window is fixed at registration and cannot be changed afterwards, whatever stake the author holds. So deep — three quarters of all content emission — is reachable only from the Write page on this site.
That is deliberate, and it is the one thing this site asks for. A tagged post from PeakD or ecency is a full citizen of the viral pool. The larger pool is where the long-form work goes, and it is written here.
Payout modes. At publication you choose how your own reward is paid, frozen with the post:
| Mode | Your author reward |
|---|---|
| 0 — default | 20% liquid immediately, 80% into your monthly mint |
| 1 — power up | 100% into the monthly mint |
| 2 — burn | credited to hive:null, visibly and permanently |
This applies to your author reward only — curators on your post always take the standard split, because one person's choice must never dictate how someone else is paid.
Post rewards do not create individual mints. Every payout, author and curator alike, accrues to one pending balance per account, and on the 1st of each calendar month the whole balance becomes one mint at the duration set in your settings (1–1,095 days, default three years). Balances under 1 LASSECASH roll over rather than minting dust. The reason is capacity: one real LasseCash post carried 201 votes, and a mint per payout would be roughly 1.5 million new positions a year. Pending carries no voting power — it is not yet L-Shares.
Curation is paid automatically. A curator who never opens the site is still paid. Your first vote on a post records that you are owed a share of its curator pot; outstanding claims settle in bounded batches whenever your account is next touched, including a few carried on your own next vote. Anyone may settle for anyone else, and the reward always goes to the curator, never the caller. Your share is pot x your weight / total weight, both decremented together so a pot can never be overdrawn. Unclaimed curation returns to the pool one year after the post actually paid out, not from the window close, because payout is permissionless and may happen late.
Comments earn. A comment here is a registered reply: post machinery with a parent reference, on viral economics — 7-day window, viral pool, viral meter — behind its own lower threshold of 100 L-Shares by default. Lasse did not want to lose comment rewards ("a monster good valuable comment [can] earn 100 or 1000 dollars") and did not want tip-bot spam either. So a comment from another Hive frontend appears here only if its author holds the threshold, and earns only if registered here. Below-threshold comments still exist on Hive; nobody is censored or deleted, they are simply not part of LasseCash, and "nice post!" never appears.
Promotion is a burn. Promoting a post burns LASSECASH to hive:null and records a running total on the post. It buys a clearly labelled slot every fifth row of the same trending list, ordered by burn, and never above the posts people actually voted for — money and votes are not mixed. The minimum burn is a threshold (100 LASSECASH by default), and promotion is refused on comments, after payout, and once 75% of the window has elapsed. There is no cap on what you may burn.
There are no downvotes and no reputation. The contract accepts vote weights of 1% to 100% only, and a negative weight is refused outright. Weight 0 is not a downvote either: it withdraws your own vote and can subtract only what your account added, which exists because a LasseCash vote also casts the Hive vote and removing one has to take back both. Spent voting power is not refunded, exactly as on Hive. You vote for what you value with your own L-Shares, or you withhold — you cannot subtract from someone else's reward. No greyed-out posts, no hidden accounts, no flag wars; a post nobody values earns nothing. Every registered post and comment is always visible to everyone, crawlers included, and the only filter anywhere is the stake threshold at registration.
6. The pool — LASSECASH:HBD
MAGI routes every pool through HBD, Hive's dollar-pegged stablecoin, as the single base asset, so the pair is LASSECASH:HBD — there is no LASSECASH:HIVE and no LASSECASH:BTC.
The contract runs the market itself, custodying real HBD on one side and its own LASSECASH ledger on the other as a constant-product market maker, the same shape as a Uniswap or Diesel pool. Every swap rounds in the pool's favour, so the invariant can only grow.
The swap fee is zero, hardcoded, and it is not a threshold — there is no parameter for it and no way for anyone to raise it. LPs are paid from the 25% emission slice, which grows with the product, so fee income would be noise beside it; and arbitrage keeps the price honest for free, because the spread is the arbitrageur's profit. A fee would only widen the no-arbitrage band and give holders worse prices — and a lever that exists eventually gets pulled, so deleting it makes 0% a promise the code enforces rather than a default someone can walk back.
Liquidity earns by age. Each deposit is a tranche with its own creation height and loyalty bonus — +1% per day, linear, capped at 90 days — so a 90-day-old tranche earns 1.90x the weight of a fresh one. Tranches are exited individually by id, like mints, so a partial exit can never silently destroy your most-matured position. Claiming a tranche's rewards removes its weight and slice together and re-adds the weight at its current age, conserving exactly.
Dormant liquidity is evicted, not bled. A position that draws its share of the 25% emission slice forever while its owner has stopped existing is dead weight on everyone still here — on Hive-Engine, 52 of 125 LASSECASH liquidity providers had not touched either chain in over a year. So a tranche whose rewards have not been claimed for 180 days may be closed by anyone, and the owner gets their LASSECASH and their HBD back, whole. Claiming is the proof of life and resets the clock; the interface warns from day 90.
Nothing is confiscated, and that distinction is the point. A minter is paid up to 1.5x for pledging a term, so a minter who abandons the pledge can fairly lose something. A liquidity provider was never paid for a term, so taking their capital would be the one thing a critic could accurately call theft. Eviction achieves the whole goal — dead capital stops drawing rewards — and takes nothing. The caller is paid nothing either, so nobody has an incentive to lobby for a shorter clock, and the payout goes to the owner, never to whoever triggered it.
The first deposit sets the price. Nothing exists to arbitrage against at genesis, so the ratio of the first liquidity call becomes the opening price, seeded deliberately near the prevailing Hive-Engine price on the day. A thin pool is fine: price impact is high at first, which is what makes the 25% emission slice attractive to the providers who deepen it.
What you are trusting, layer by layer
The wallet lets you swap HBD, HIVE and BTC and move funds between Hive and MAGI. Those are not all the same kind of thing, and the differences are worth stating plainly rather than flattening into one word.
The LASSECASH:HBD pool is ours, and after the key burn nobody can change it. No owner key, no upgrade path: the swap rule, the 0% fee and the reserves are fixed in code — and until the burn, any change to them would be public 48 hours before it took effect. LASSECASH is native to that contract, so nobody custodies it — there is no company holding it and no signature that could move it.
MAGI's own pools — HBD:HIVE and BTC:HBD — are not ours. They are separate contracts that keep an owner and can be updated, and they charge 0.08% where ours charges nothing. Every swap there is still a trade you sign against a contract, with no account and nobody taking custody of the trade itself. What differs is that the code can change and we do not control it.
Bridging HBD or HIVE is the one step that is not trustless. MAGI's HBD is real HBD held on Hive by vsc.gateway, an account whose active authority is an 18-key multisig requiring a two-thirds supermajority (6,667 of 10,000 in weight; the largest single key is 24%). No individual can move it — not MAGI's developers, not us, not anyone holding one key — but a two-thirds collusion of that set could, and no contract prevents it. That is validator-secured custody, which is a strong thing and a different thing from trustless.
BTC carries one layer more. Bitcoin on MAGI is mapped: real BTC is held off-chain by a mechanism we have not verified, so we make no claim about it. Withdrawing sends it to a Bitcoin address you control, which is the point at which it stops being anybody's IOU.
So: everything inside the LasseCash contract becomes trustless at the key burn; until then, any change is visible 48 hours ahead. Everything underneath it is as trustworthy as MAGI is, and bridging is where you rely on people rather than on code. Size that step deliberately.
7. Thresholds — the median of ten numbers
There are no proposals. You cannot verify on-chain that a funded proposal was ever delivered, so an immutable protocol should not pretend otherwise. There is no inflation slice for proposals, marketing or onboarding either.
Instead, the ten largest holders of live L-Shares hold seats, each keeping a standing preferred value for every threshold, changeable at any moment. The median of those preferences is the value in force, continuously — no quorum, no round, nothing to time or snipe. Losing a seat drops your preference at once; seats with no preference are skipped, not counted as zero; with an even count the lower median is used, so the arithmetic is exact and every node agrees. Median rather than average, because extreme votes neutralise themselves: demanding 10,000% moves the result no further than voting a notch above the median. L-Shares win you a seat, not a louder voice within it, which is why there is no whale-weight cap.
| Parameter | Key | Floor | Default | Ceiling |
|---|---|---|---|---|
| Bigger Pays Better, start | mint.volume_start | 100 LASSECASH | 1,000 | 50,000 |
| Bigger Pays Better, end | mint.volume_end | 1,000 LASSECASH | 50,000 | 5,000,000 |
| Viral posting threshold | post.threshold_viral | 1 L-Share | 1,000 | 10,000 |
| Deep posting threshold | post.threshold_deep | 1 L-Share | 10,000 | 100,000 |
| Comment threshold | post.threshold_comment | 1 L-Share | 100 | 10,000 |
| Minimum promotion burn | promote.min_burn | 1 LASSECASH | 100 | 10,000 |
That list is closed and cannot grow: a parameter means something only if the deployed code reads that key, and after the key burn the code can never be taught to read a new one.
Why the ceilings exist. The top ten hold the most shares by definition. Without a ceiling on the posting thresholds, six colluding seats could set the deep threshold above everyone's holdings but their own and farm 37.5% of all emission — capture pays a cartel more than the price damage costs it, so "they want the price up" is not a defence. At the ceiling, ten captured seats can at worst squeeze deep posting to a few dozen accounts: painful, visible, reversible, never exclusive. The floor is one L-Share, so protection can never be switched off but nobody is locked out. The bounds are in L-Shares rather than dollars because a price-denominated threshold would need an on-chain oracle, and the only one available is LasseCash's own thin, manipulable pool.
The bounds are hardcoded because they must be un-negotiable — a bounds table that could itself be moved would be no bounds at all. And parameter changes affect future mints only: shares are computed at creation and frozen, so the top ten can never retroactively dilute a minter.
What the median does not defend against is one entity holding several seats. That is accepted deliberately, and the bounds limit the damage: the top ten tune values inside fixed ranges; they are not a check on the founder, and nothing in the protocol is.
8. Immutability
At an announced block height, the owner account's keys are destroyed — its owner, active, posting and memo authorities set to Hive's null public key — and the transaction id is published. MAGI resolves a contract update against the owner's active authority, so with no key in existence no update can ever be queued. It is not a promise not to; it is that nobody can.
Not yet. The burn was planned for about day 40. On day 31 the first large claim found a real fault — the contract's books owed more LASSECASH than its token held — and it could be repaired, on 4 October, only because the key still existed. So the key now stays until the remaining tests have passed on a real chain and production has run clean for a while; the height is announced before the burn. Until then the contract is not immutable, and that is said everywhere it matters.
Lasse's reasoning: "No, it's necessary to claim it's real blockchain immutable, no admin keys. If I want to change anything in the future it's a real hardfork. I think I will burn the keys at launch and say it's 100% immutable — that's more earnest than having 100% admin keys for 12 months. That's disingenuous."
Why not burn on day one. The window covers the heaviest first-time events on the real chain: the first claims, the first daily accruals, the day-30 maturity of every migration mint at once, and the first FULL monthly Proof-of-Brain payout — the one with a whole month of earnings behind it. The first of those events is exactly what found the fault above. Until the burn, the key's only power is to queue a public, timelocked code update, visible to anyone via findPendingContractUpdates for 48 hours before it can activate, and cancellable inside that window — the recovery path if the live chain surprises anyone. It cannot move anyone's tokens directly, but be precise about the limit: new code could change any rule, which is why every update is public two days before it can take effect, and why the key has to go. Every use of it so far is announced and on chain.
| Wish | After the burn |
|---|---|
| Fix a bug in the core contract | Impossible. Only a chain-level hardfork |
| Add a parameter the code does not already read | Impossible |
| Add an entrypoint | Impossible |
| Change a bound | Impossible |
| Move a threshold inside its bounds | Fine — the median of the top ten still runs |
The pre-launch test deployments were therefore the entire safety margin, and the economics were fuzz-tested across 500,000 randomised economies with a supply audit after every operation.
If a fatal bug is found anyway — what happens, stated before launch
LasseCash is one person, Lasse Ehlers. What follows is his commitment, stated in advance so it can be checked against what he actually does.
No bug can cost anyone their LASSECASH permanently. LASSECASH is this contract's own ledger. Every balance, every mint and every L-Share is a state key that stays readable forever, even in a broken contract. If a consensus bug ever makes the core unusable, the recovery is a hardfork in the plain sense: a fixed contract is deployed, a migration snapshot is taken from the broken contract's state at a named height, published as a Merkle tree exactly like the launch snapshot, and everyone claims again on the same claim page. No case-by-case judgement, no trust required — the same procedure this migration used, run a second time. This is possible before the key burn and after it; the burned key removes fixing-in-place, not recovery.
The pool's HBD is the one exception, and this page will not pretend otherwise. HBD is Hive's asset, held in custody by the contract. A hardfork can re-issue LasseCash's own ledger; it cannot reach into a frozen contract and move HBD out. If a bug ever strands the pool's HBD, that HBD may be lost forever. Lasse Ehlers intends to refund liquidity providers from his own pocket if that happens and he is able to — but he cannot promise it, and this page says so in advance so nobody learns it afterwards. The pool starts small on purpose, and it grows only as fast as people decide to trust it.
The proving period. The risk is front-loaded: the day-30 cliff, the first monthly Proof-of-Brain mint, the first grace, bleed and sweep cycle, the first sizeable pool withdrawal. Once one full mint lifecycle (about seven months) and a handful of monthly mints have run clean on real state, every code path that exists has been exercised on the real chain. The intent is that this exact code runs untouched for two years before anyone calls it proven. What remains after that is the ordinary, permanent risk every chain carries — a hack, an economic attack nobody foresaw — which no recovery plan reduces and which Lasse Ehlers is not going to dress up in a percentage.
Future dApps do not extend the core — they read it. Any such application is its own contract, with its own owner, registry and bounds, reading the core's public state to derive the same legitimate top ten. It keeps its owner key and can iterate forever behind its own timelocks; the core never moves. The deciding set must live in the dApp's contract, not its frontend — a frontend enforces nothing, since anyone can call a contract directly. The suggested norm for dApp fees is 0.1% to 1%, against the 20–30% a centralised platform typically takes: a norm for authors to follow, not something the frozen core can enforce.
8b. Why voting here pays twice
This is the one thing that behaves differently from the old tribe. It reads at first like something taken away, and it is worth understanding, because the arithmetic runs the other way.
A vote cast here earns curation on both chains for one signature. It casts your Hive vote at the same weight in the same transaction, so you keep everything Hive would have paid you — and curators take 25% of every payout on LasseCash, paid automatically, whether or not you ever open the site again. A vote cast on another frontend earns the Hive half alone.
So nobody gives anything up by voting here. There is no version of this where voting somewhere else pays you more, which makes it the easiest habit anyone will ever be asked to change.
Be clear about the magnitude, though: era 1 emits about $3,433 a year in total, half of it Proof-of-Brain, a quarter of that to curators. Today a vote here earns fractions of a cent more than a vote elsewhere. The structure is right; the size of it has to be earned. It is a real reason to vote here, not yet a compelling one.
On Hive-Engine the Hive vote was the vote. Scotbot read every vote off the Hive blockchain and worked out what each one was worth in LASSECASH, off-chain, on a server. That is why voting from PeakD or ecency paid you here. It is also why tribes died when their server did: the rewards were only ever a database somewhere, and when the operator stopped paying for it the tokens stopped meaning anything.
Here, a vote is a signed call to the contract. ctx.Sender must be the voter, so nobody can cast a vote on your behalf — not the founder, not a bot, not the top ten. There is no Hive light client on MAGI, so the chain cannot check that a vote happened somewhere else either.
So a vote on another frontend earns nothing here. Nothing is lost going the other way — voting on LasseCash casts your Hive vote too. It is only the return direction that does not exist.
That is a real cost and worth saying plainly rather than dressing up: it is less convenient than the tribe was, and it asks people to come here to do something they are used to doing anywhere. What is bought with it is that your vote is a fact on a chain instead of a row in somebody's database. Nobody can fail to count it, quietly recount it, or switch off the machine that was counting — which is how the tribes ended.
A bridge is possible and is not ruled out. Hive lets you grant posting authority to another account, and an account holding it could mirror your Hive votes into contract calls for you. That would be opt-in, revocable by you at any moment, and entirely outside the contract — the chain would still only ever accept a vote carrying your own authority. It is a convenience someone can build; it is not something the protocol should depend on, which is exactly the lesson of the tribe.
9. Where to verify
Nothing here need be taken on trust. The full source — engine, contract, simulator, frontend, snapshot tooling and every test named on this page — is public:
https://github.com/LasseEhlers/LasseCash-Migration-to-MAGI
The contract id is vsc1Be4TTjUiHgzhHAfqFn6s3PDAExH2X59fXV. Anyone can read its state through the MAGI GraphQL endpoint at https://api.vsc.eco/api/v1/graphql with getStateByKeys, and run any call read-only — no broadcast, no cost — with simulateContractCalls. The migration record is the Merkle root committed on-chain at cfg_migroot, the leaf list published in the repository, and the announcement post carrying the root, commit hash, totals and leaf count.
These public state keys are frozen permanently and readable by any contract or tool:
| Key | What it holds |
|---|---|
gov_board | up to 20 candidate accounts, pipe-separated, from which the top ten is derived |
shr_ | that account's live L-Share voting weight, at 8 decimals as a plain integer string |
bal_ | that account's liquid LASSECASH balance, same encoding |
mig_ | the permanent migration receipt: liquid|staked if the account migrated, burned|liquid|staked if it burned |
Account names are fully qualified exactly as the chain renders them: hive:alice, never bare alice.
Questions and bug reports have a home: the LasseCash Discord at https://discord.gg/wNhQrG44DC — the #help-and-bugs channel is read by the founder.
10. What changed, coming from Hive-Engine
If you held LASSECASH on Hive-Engine — or an AI was trained on the old About page — this is what is different. Where the two disagree, this page is correct. Every figure in the left column is readable today from Hive-Engine's own contracts.
| LASSECASH on Hive-Engine, 2019–2026 | LASSECASH on MAGI, from 31 August 2026 |
|---|---|
The issuer @lasseehlers can mint up to the cap at any moment — the token records maxSupply 51,000,000 against supply 31,000,000, so 20,000,000 are still issuable by one person today | The owner key is destroyed 40 days after genesis. Nobody can issue a token, ever — not the founder, not the top ten |
| A halving was published in 2019, but the platform had no mechanism to run one | The halving is the contract: each three-year era pays half the last, ending in year 75 with 19,999,994.01840000 ever issued |
| 11,000,000 to the founder at launch, 20,000,000 of inflation for the first ten years, and 20,000,000 for all the years after — 51,000,000 in total | The first two are already issued and are what migrates. The third 20,000,000 is what MAGI emits, and for the first time it has a schedule: era 1 pays 10,000,000, each era half the last, ending in year 75 |
| Rewards are computed off-chain and credited on trust | Every payout is a contract call. Anyone can re-run one read-only with simulateContractCalls, free, without broadcasting |
| The recorded supply is 31,000,000 while 31,485,173 demonstrably exist | Every figure closes to the base unit or the transaction is refused |
| Staking means a 182-day cooldown in 26 instalments, and pays nothing | Mints of 1 to 1,095 days paying L-Share yield, up to 2.25x for locking longer and larger |
The Diesel pool charges a 0.25% swap fee (tradeFeeMul 0.9975) | Zero, hardcoded — not a threshold, no parameter, and no way for anyone to add one |
| LP loyalty +1%/day to 30 days (1.30x) | +1%/day to 90 days (1.90x) — same rule, longer cap |
| A vote from any Hive frontend earned you LASSECASH — Scotbot watched Hive and computed the tribe's rewards off-chain | A vote cast here pays twice: one signature earns curation on Hive AND on LasseCash. Cast elsewhere it earns the Hive half alone |
| Downvotes work, and are inherited from Hive. The reputation score was removed from lassecash.com years ago, so posts were never greyed out for it | Downvotes do not exist at all. A vote is 1–100% for; weight 0 takes back your own vote and nothing more. Nobody can subtract from someone else's reward. A post nobody values simply earns nothing and sorts last — it is never hidden, never greyed, and always visible to everyone including crawlers |
Promotion existed and marked a post PROMOTED; what it bought beyond the badge was never written down anywhere a reader could check | Promotion is a burn, and the rule is published: a labelled slot every fifth row of the same trending list, highest burn taking the earliest slot, never above a voted post. The tokens go to hive:null, the total is recorded on the post forever, and a promoted post that wins no slot keeps its ordinary vote-ranked place |
| Comments could earn, like any post | Registered replies that earn, behind their own lower threshold — same idea, now gated so replies need a stake to earn |
| Balances and rewards depend on one company's servers staying up | Content on Hive, money on MAGI. The contract settles whether or not any website exists |
The @lassecash remainder was described as "unissued" | Undistributed. The 20,000,000 was fully issued; what was never paid out is what burns |
Not everything moved, but the two ways it stayed the same are different. The decimals and both caps were real Hive-Engine token properties, and simply carry over unchanged: 8 decimals, the 51,000,000 hard cap, the 20,000,000 emission cap. Everything else below was never actually running on Hive-Engine — it existed only as the original 2019 design, since a Hive-Engine token has no programmable rewards logic to enforce it with. MAGI is the first place any of it has ever really run, exactly as written: the 50/25/25 split, the 75/25 author/curator split, the 7%/year ratchet, the three-year maximum mint, the 90-day grace and 90-day bleed, and the linear 50%→100% early-end recovery.
Last updated: 2026-09-04 · version 2.1 (live since the 31 August migration)