The Real Value, Hidden in Plain Sight: Building MANTISSA on STRK20
A DeFi investor deposits fifty thousand STRK into a Starknet staking
protocol. Within minutes, on-chain trackers index the transaction.
Competitors see the exact position. Copy-traders replicate the entry
in the same block. The investor never chose to publish their strategy.
The chain did that for them, by default, on every transaction, for
every user, since Starknet’s first block.
STRK20 changes what is possible here. This is the story of what we
built on top of it, and what we are and are not willing to claim.
1. What STRK20 Made Possible
StarkWare’s own writing on STRK20 describes an adapter that routes
private assets into a lending, borrowing, or yield protocol, then
returns new private state after the action. That description is,
almost word for word, the product we set out to build.
➢ A shielded balance that never appears in a public mempool
➢ A single atomic transaction that withdraws, executes, and reshields
➢ A result that returns to the user as a new private note, not a
public receipt
2. Why One Router, Not Three Anonymizer Contracts
The STRK20 pool allows exactly one external invoke per transaction.
That constraint decides the entire shape of what is buildable on top
of it. We chose to build MantissaRouter, one contract that accepts a
strategy plan and executes it inside that single permitted invoke,
rather than three separate anonymizer contracts.
➢ One audited surface instead of three
➢ A shared set of safety invariants enforced identically across every
strategy
➢ A protocol allow-list, deliberately narrow: only verified Endur,
Vesu, and AVNU contracts are callable, because an investor product
should protect its users from routing through an unknown contract,
even when the underlying router is capable of more
3. What We Proved, Not Claimed
Every strategy MANTISSA offers is only marked live once it clears the
same bar: a real, wallet-approved, mainnet-confirmed transaction
through MantissaRouter, re-derived from the actual on-chain events by
our own verification script, not asserted from a transaction status
check alone.
Get Ojilere kingsley’s stories in your inbox
Join Medium for free to get updates from this writer.
➢ Shield, Forge into Endur, and unshield: a complete human-operated
cycle, receipt-confirmed
➢ Prism, a private swap through AVNU: receipt-confirmed, executed
through MantissaRouter itself
➢ Reservoir, private lending through Vesu: [state current status here
exactly, receipt-confirmed if the transaction has landed by
publish time, or pre-flight clean on live mainnet state if not]
The full evidence ledger, every hash, every contract address, is
public in the repository and renders live on the product itself.
4. What We Chose Not to Claim
A router cannot, on its own, distinguish capital that reached it from
a shielded note versus an ordinary public transfer. We say this
plainly rather than implying a guarantee the contract does not make.
The pool’s own events do not carry calldata, so a receipt proves which
contract and entry point were invoked, not the exact parameters of
every step. We would rather state a real limitation once than have a
judge discover it themselves.
5. What Comes Next
Private yield is not a hackathon novelty. It is a permanent
requirement for any serious participant on a transparent chain.
Reservoir and Prism extend today. Compound, multi-step strategies,
additional protocol support, and automated strategy rotation extend
tomorrow. The router was built to accept new strategies without
touching its core invariants, because this was never meant to end
at a submission deadline.
Privacy was never supposed to be a trade-off against yield. That is
the whole thesis, and it is the only one this build set out to prove.
Live demo: mantissa-starknet.vercel.app
Repository: github.com/0xkinno/mantissa-strk20
Built for the STRK20 Private Sprint





