Proof
Check every claim yourself.
Four facts you can check from the chain and the repo, the attacks we ran against the contract, and what these checks cannot show.
Live vault · vault.foundling.near · as of block #224593688
Four facts, four commands.
Each command reads public state with the NEAR CLI or the tools in the repo. None of them needs a key.
- Keys
Access keys on the vault account
near account list-keys vault.foundling.near network-config mainnet nowNow: 0 access keys
- Code
Deployed contract code
The reproducible build runs in Docker, at the commit that built this vault.
cd contracts/vault && cargo near build reproducible-wasm && shasum -a 256 target/near/foundling_vault.wasmNow: sha256 9ab6b6d62d627f403f5aa8719cc420fea16dc67ceeffb250d21c09aee5aa5a8a
- Strategy
Strategy WASM the vault pins
To rebuild it from source, run strategy/build.sh at the commit that built this binary.
The pinned binarycurl -sL 'https://raw.githubusercontent.com/zakyirsyaad/sp1a-wasm/79a27502738a8413792378c2ab6cc5e6a5f41d28/foundling-strategy-risk-manager.wasm' | shasum -a 256Now: wasm_hash b15a66b4b07a45a1d5f6fd4ca00c870a4d68b58c862f8795fff8702e316da142
- Commitment
Sealed parameters
Reads the revealed parameters and salt from the vault and prints PASS commitment when they open this hash.
python3 verify.py --live --vault vault.foundling.near --network mainnetNow: commitment 80493d3259005a95b9c327b9491f48b18c5d84d82650a9dfc361493c5cf243e1
Attack Lab
Sandbox results. These run against a local node, not the live vault.
| Attack | Expected | Sandbox |
|---|---|---|
| over-cap | Rejected(OVER_CAP) | Pass |
| drip | Rejected(OVER_EPOCH_CAP) on the decision that crosses the limit | Pass |
| replay | NONCE_MISMATCH, EXPIRED, FROZEN, or CycleFailed; no trade | Pass |
| bad-route | No way out: Decision v1 has no route, asset or recipient field; extra agent fields are ignored and trades only go through the registered pool (I9); an unknown action is CycleFailed(MALFORMED) | Pass |
| stale-price | Rejected(PRICE_UNAVAILABLE) (or PRICE_STALE with a mocked publish_time) | Pass |
| headline-injection | One SellRisk lands, bounded by the wNEAR book; the same SellRisk inside the cooldown is refused COOLDOWN before it reaches OutLayer; after the cooldown the same amount finds an empty book, Rejected(OVER_BOOK); once the book is refilled the next sell lands once more and the total sold equals the total bought; a further refill that takes the rolling buy window past its epoch limit is Rejected(OVER_EPOCH_CAP). This is vault-side containment of an already-poisoned decision; the advisor itself is not exercised | Pass |
| kill-agent | No new cycle from any account but the keeper; in-kind redeem still works | Pass |
| governor-loosen | The method does not exist or is refused; a keeper rotation is only scheduled and the guardian can cancel it | Pass |
| double-redeem | No double payment; the balance becomes claimable | Pass |
| forged-caller | NOT_KEEPER for keeper-only methods; the SDK refuses #[private] callbacks (Method <name> is private); ft_on_transfer from another contract refunds the full amount; state does not change | Pass |
| freeze-race | FROZEN; no new trade; redeem still works | Pass |
| inflated-nav | Rejected(OVER_ABS_CAP) by the absolute cap (I13) | Pass |
| deflated-sell | Rejected(OVER_ABS_CAP) by cap_wnear and cap_sell_bps | Pass |
| never-flat | The vault goes back to flat (wnear_book ≤ dust_wnear) and the deposit is minted | Pass |
| setup-spam | At most one per target; the vault's NEAR does not drop below near_reserve | Pass |
| advance-race | One resend only (the Probing lock); the Rhea balance matches rhea_bal | Pass |
Pass means the contract refused the attack or the exit still worked. A result shows once its proof is committed from the reproducible build.
Ran on vault build sha256 b8fbbf8ee047cb370d052261cd48f0e0a5965eba9cd2843ed6ebd82e5559aa2b. That is not the code this vault reports, so these results describe the tested build.
What these checks cannot show.
A check proves what it checks. These are the questions it leaves open.
That the strategy is correct or makes money.
Attestation shows which code ran, not that it is good.
That replay proves execution.
It checks the rules against the recorded inputs.
That the contract has no bugs.
There is no third-party audit and no upgrade path.
That trades stay private.
Trades are visible on chain and slowly reveal the rules.
See the proof for each cycle.
Every cycle in the app shows its checks: pass, skip or fail, and why.
The files in proofs/ are a synthetic fixture. They test the checker, not this vault.