Anomie is designed so it never holds your keys, and so its program won't move funds without a valid proof from them. Here is the security model, where testing and review stand, and what you will be able to check on-chain yourself once it is deployed. Today it runs as a demo.
What's done, and what has to happen before anything goes live.
The properties on this page: what the vault, Anomie Trade, Anomie ID and Proof of Alpha must guarantee, written before the code that has to meet them.
The full app runs as a simulation in your browser: real wallet connection, simulated notes, proofs, relayer, trades and attestations. It never sends a transaction that moves funds. · Open the demo
The vault circuit, the Proof of Alpha circuit and the Solana program that verifies them.
Real proofs replayed against the program, with hostile inputs it must refuse. Check counts will be published here when the suite runs.
Scope: on-chain program, vault and Proof of Alpha circuits, relayer. No audit has taken place yet.
Testnet first, then mainnet, with a multisig as admin and upgrade authority. Not live today. · Introducing Anomie
No suite has run against a deployed program yet. These are the suites planned before deployment; tap one to see what it will cover. Results appear here once they run.
What the design guarantees. Each one will be exercised against the real program with hostile inputs that must be refused; today the demo simulates the behavior, it does not prove it.
Vault keys are created and encrypted in your browser. No instruction lets anyone, the team included, move a note without a proof made with the owner's keys.
Simulated in the demo · tests pendingSpending a note publishes a one-time marker. Any second attempt with the same note is refused by the program.
Specified · tests pendingAmounts, recipients, fees and a trade's minimum output are bound into each proof. Change any of them and the proof no longer verifies.
Simulated in the demo · tests pendingA relayer submits your proof and pays the network fee. Because the recipient and its own fee are fixed by the proof, it can delay a request but never change where funds go.
Simulated in the demo · tests pendingEach Anomie Trade order gets its own escrow and must pay out at least the minimum you approved, or your input comes back as a private note.
Specified · tests pendingAn Anomie ID is derived from vault keys, never from a wallet. Linking several wallets to it is a private proof, not a public record, so the handle can't be traced back to them.
Simulated in the demo · tests pendingAn attestation proves aggregates (PnL %, win rate, max drawdown, trade count, period) over every committed trade in the period. It can't be built from a hand-picked subset, and it reveals no position.
Simulated in the demo · tests pendingYou choose which metrics and which period an attestation reveals. Nothing about your vault is published unless you generate and share it.
Simulated in the demo · tests pendingAdmin powers are narrow: pause and limits, never moving user funds. They change hands only when the new holder accepts.
Specified · tests pendingGenerated and encrypted in your browser; proofs and attestations are built there too. Relayers and indexers never get your keys or learn which notes, trades or wallets are yours. Like any server they see your IP address.
The admin can pause and set limits, but no instruction lets anyone move notes without the owner's proof.
Your Anomie ID and its reputation come from your vault, not from any address. Sharing a profile never exposes the wallets behind it.
Proof of Alpha reveals the numbers a market needs to judge performance and nothing it could copy or front-run.
Once the program is deployed, these rows will be read straight from the Solana RPC in your browser, not from our servers. Until then there is nothing on-chain to check, and nothing here pretends otherwise.
Found something, even in the demo? Please report it privately before telling anyone else, so users stay safe while it's fixed. Write to hello@anomie.cc.