demoOpen app →
Security

Built to be verified, not trusted

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.

Demo: simulated, no funds at riskExternal audit pendingNon-custodial by designProofs bound to terms
0real transactions sent by the demo
0keys or positions sent to a server
0aggregates a Proof of Alpha can reveal
0security properties specified below

Assurance roadmap

What's done, and what has to happen before anything goes live.

✓
Security model published

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.

Published
✓
Interactive demo

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

Demo
3
Circuits and on-chain program

The vault circuit, the Proof of Alpha circuit and the Solana program that verifies them.

In development
4
Automated test suite

Real proofs replayed against the program, with hostile inputs it must refuse. Check counts will be published here when the suite runs.

Planned
5
External audit by an independent firm

Scope: on-chain program, vault and Proof of Alpha circuits, relayer. No audit has taken place yet.

Pending
6
Public deployment

Testnet first, then mainnet, with a multisig as admin and upgrade authority. Not live today. · Introducing Anomie

Planned

Test coverage

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.

Protections, by design

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.

The vault is non-custodial

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 pending
Every note spends once

Spending a note publishes a one-time marker. Any second attempt with the same note is refused by the program.

Specified · tests pending
Proofs are bound to their terms

Amounts, 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 pending
The relayer can't redirect funds

A 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 pending
Trades are ring-fenced

Each 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 pending
Your ID doesn't reveal your wallets

An 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 pending
Proof of Alpha is sound

An 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 pending
Disclosure is opt-in

You 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 pending
Limited, two-step governance

Admin powers are narrow: pause and limits, never moving user funds. They change hands only when the new holder accepts.

Specified · tests pending

By design

Your keys stay with you

Generated 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.

No custodial path

The admin can pause and set limits, but no instruction lets anyone move notes without the owner's proof.

Identity without wallets

Your Anomie ID and its reputation come from your vault, not from any address. Sharing a profile never exposes the wallets behind it.

Aggregates, not positions

Proof of Alpha reveals the numbers a market needs to judge performance and nothing it could copy or front-run.

Verify it yourself available after deployment

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.

Program

Program idNot deployed
Upgrades controlled byAvailable after deployment
AdminAvailable after deployment
StatusDemo: a local simulation in your browser
Anomie fee (shield · withdraw · trade)Announced before deployment
Allowlisted programsJupiter (swaps), planned

Proving keys

Vault circuitGroth16 · BN254, in development
Proof of Alpha circuitAggregates over committed trade history, in development
Proving key SHA-256Published after the trusted setup
Verification key SHA-256Published after the trusted setup

Responsible disclosure

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.