Skip to main content
Sign in
Sturdy V11 decision on this page

Audit log

Every state-changing event for Sturdy V1: moderation decisions on community submissions, plus corrections and updates from the news pipeline. URL-based decisions carry three independent witnesses — the original source, an Internet Archive snapshot taken at submission time, and a Solana memo signed by our publicly-disclosed publisher key.

  1. #1publishby system:backfill
    2026-05-29 17:03:34Z
    Score: ?? (no score change)
    anchoranchored
    chain
    mainnet-betaslot 422,980,007
    sig
    2fBL2DoaYAg9…7vjLw3tKexplorer ↗
    hash
    Fs5zX9XgYpns…J7ijQMrSsha256 → base58
    verifying row…full verify ↗
    canonical bytes (6381 B) ▸
    {"actor":"system:backfill","investigation_id":"299815f1-eacc-4b93-ab24-10d1c6de9f95","kind":"publish","page_slug":"sturdy-v1","published_at":"2026-05-29T17:03:34.065Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"Sturdy V1","sections":[{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://sturdyfinance.medium.com/introducing-sturdy-f8b9c21a9b96","type":"other","url":""},{"credibility":3,"name":"https://medium.com/sentora/a-deep-dive-into-sturdy-finance-eaa7598e36ae","type":"other","url":""},{"credibility":3,"name":"https://www.ycombinator.com/companies/sturdy-finance","type":"other","url":""},{"credibility":3,"name":"https://defillama.com/protocol/sturdy","type":"other","url":""},{"credibility":3,"name":"https://sturdyfinance.medium.com/sturdy-ethereum-launch-f545140b7c4e","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://cointelegraph.com/news/attacker-drains-800k-from-defi-protocol-sturdy-finance","type":"other","url":""},{"credibility":3,"name":"https://decrypt.co/144188/defi-lending-protocol-sturdy-finance-hit-by-exploit-over-750k-drained","type":"other","url":""},{"credibility":3,"name":"https://immunebytes.com/blog/sturdy-finance-hack-june-12-2023-detailed-analysis/","type":"other","url":""},{"credibility":3,"name":"https://www.certik.com/resources/blog/oracle-dependency-decrypting-the-sturdy-finance-attack","type":"other","url":""},{"credibility":3,"name":"https://rekt.news/sturdy-rekt","type":"other","url":""},{"credibility":3,"name":"https://eigenphi.substack.com/p/sturdy-finance-exploit-forensic-analysis","type":"other","url":""},{"credibility":3,"name":"https://beincrypto.com/defi-sturdy-finance-exploited/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.certik.com/resources/blog/oracle-dependency-decrypting-the-sturdy-finance-attack","type":"other","url":""},{"credibility":3,"name":"https://immunebytes.com/blog/sturdy-finance-hack-june-12-2023-detailed-analysis/","type":"other","url":""},{"credibility":3,"name":"https://eigenphi.substack.com/p/sturdy-finance-exploit-forensic-analysis","type":"other","url":""},{"credibility":3,"name":"https://olympix.security/blog/sturdy-finance-hit-by-reentrancy-exploit","type":"other","url":""},{"credibility":3,"name":"https://rekt.news/sturdy-rekt","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://cointelegraph.com/news/defi-protocol-sturdy-finance-offers-100k-bounty-to-hacker-if-funds-are-returned","type":"other","url":""},{"credibility":3,"name":"https://www.theblock.co/post/234376/sturdy-finance-bounty","type":"other","url":""},{"credibility":3,"name":"https://beincrypto.com/defi-sturdy-finance-exploited/","type":"other","url":""},{"credibility":3,"name":"https://news.bitcoin.com/sturdy-finance-falls-victim-to-exploit-losing-442-eth-in-latest-defi-hack/","type":"other","url":""},{"credibility":3,"name":"https://decrypt.co/144188/defi-lending-protocol-sturdy-finance-hit-by-exploit-over-750k-drained","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://cointelegraph.com/news/sturdy-finance-defi-stablecoin-market-launches-after-exploit","type":"other","url":""},{"credibility":3,"name":"https://crypto.news/defi-protocol-sturdy-finance-reopens-stablecoin-market-despite-falling-tvl/","type":"other","url":""},{"credibility":3,"name":"https://sturdyfinance.medium.com/introducing-sturdy-v2-4a0135aca675","type":"other","url":""},{"credibility":3,"name":"https://sturdyfinance.medium.com/sturdy-v2-1-month-recap-caf43e1a8ddc","type":"other","url":""},{"credibility":3,"name":"https://defillama.com/protocol/sturdy","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://cointelegraph.com/news/attacker-drains-800k-from-defi-protocol-sturdy-finance","type":"other","url":""},{"credibility":3,"name":"https://decrypt.co/144188/defi-lending-protocol-sturdy-finance-hit-by-exploit-over-750k-drained","type":"other","url":""},{"credibility":3,"name":"https://eigenphi.substack.com/p/sturdy-finance-exploit-forensic-analysis","type":"other","url":""},{"credibility":3,"name":"https://rekt.news/sturdy-rekt","type":"other","url":""}]}],"sources_used":[],"summary":"Sturdy V1 was a DeFi lending protocol on Ethereum and Fantom that offered interest-free borrowing by routing collateral into yield-bearing positions via third-party protocols such as Lido, Curve, and Yearn Finance. On June 12, 2023, the protocol suffered a read-only reentrancy exploit that drained approximately 442 ETH (roughly $800,000) from its lending pools by manipulating the Balancer B-stETH-STABLE price oracle. Stolen funds were laundered through Tornado Cash within 20 minutes and were never recovered, despite a $100,000 bounty offer to the attacker. ZachXBT flagged the protocol in connection with the exploit. Sturdy subsequently launched a redesigned V2 architecture.","timeline":[{"date":"2022-03-01","event":"Sturdy Finance launches on Fantom mainnet","source":""},{"date":"2022-01-25","event":"CertiK audit of Sturdy Finance completed; Balancer dependency explicitly excluded from scope","source":""},{"date":"2022-06-03","event":"Sturdy Finance launches on Ethereum mainnet","source":""},{"date":"2023-02-01","event":"Balancer issues vulnerability notice warning dependent protocols about read-only reentrancy risk; Sturdy Finance allegedly does not implement recommended protections","source":""},{"date":"2023-06-12","event":"Read-only reentrancy exploit drains 442.6 ETH (~$800K) from Sturdy V1; attacker uses $191M Aave flash loan; stolen funds moved to Tornado Cash within 20 minutes; PeckShield and BlockSec report the attack","source":""},{"date":"2023-06-13","event":"Founder Sam Forman publicly addresses exploit; Sturdy sends on-chain message to attacker offering $100,000 bounty and no-prosecution pledge","source":""},{"date":"2023-06-16","event":"Sturdy Finance reopens stablecoin market; TVL has declined from ~$12.8M to ~$10.78M","source":""},{"date":"2023-07-01","event":"Sturdy V2 architecture announced with isolated lending pairs and two-tier modular design","source":""}]},"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 24cb4db4-8856-4c61-96f8-68820cf39fbb
How verification works. The “Row integrity” check above is computed in your browser — your machine recomputes the SHA-256 of the canonical bytes and compares against the stored hash. No avoid.net server can fake that check. The “full verify” link goes one level deeper: your browser fetches the on-chain transaction from a Solana RPC node and confirms the same hash is in the memo. If you don’t want to trust either avoid.net or the public RPC, run the CLI verifier on your own machine — python -m src.verify_decision <event_id>.