Skip to main content
AVOID.NET
← Exactly Protocol6 decisions on this page

Audit log

Every state-changing event for Exactly Protocol: moderation decisions on community submissions, plus corrections and updates from the news pipeline. URL-based decisions are designed to carry three independent witnesses — the original source, an Internet Archive snapshot, and a Solana memo signed by our publicly-disclosed publisher key. Archive coverage is still being backfilled, so each decision below reports its own snapshot status rather than assuming one exists.

  1. #1publishby system:backfill
    2026-05-28 15:02:26Z
    Score: ? → ? (no score change)
    anchoranchored
    chain
    ●mainnet-betaslot 422,743,549
    sig
    1JtUECoDAgTs…rGWQ1LM2explorer ↗
    hash
    5nj7GVZUYoZq…SLd8RWGnsha256 → base58
    verifying row…full verify ↗
    canonical bytes (5924 B) ▸
    {"actor":"system:backfill","investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","kind":"publish","page_slug":"exactly","published_at":"2026-05-28T15:02:26.153Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"Exactly Protocol","sections":[{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://rekt.news/exactly-protocol-rekt/","type":"other","url":""},{"credibility":3,"name":"https://www.coindesk.com/business/2023/08/18/crypto-lender-exactly-hit-by-12m-bridge-exploit","type":"other","url":""},{"credibility":3,"name":"https://www.halborn.com/blog/post/explained-the-exactly-protocol-hack-august-2023","type":"other","url":""},{"credibility":3,"name":"https://immunebytes.com/blog/defi-exactly-protocol-hack-analysis/","type":"other","url":""},{"credibility":3,"name":"https://medium.com/neptune-mutual/how-was-exactly-protocol-exploited-5ecfa5ad968b","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.halborn.com/blog/post/explained-the-exactly-protocol-hack-august-2023","type":"other","url":""},{"credibility":3,"name":"https://immunebytes.com/blog/defi-exactly-protocol-hack-analysis/","type":"other","url":""},{"credibility":3,"name":"https://olympix.security/blog/exactly-protocol-lost-7-3m-the-code-worked-the-assumptions-didnt","type":"other","url":""},{"credibility":3,"name":"https://rekt.news/exactly-protocol-rekt/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://medium.com/@exactly_protocol/exactly-protocol-recap-4-e58db6dca618","type":"other","url":""},{"credibility":3,"name":"https://cryptonews.com/news/exactly-protocol-announces-700000-bounty-for-information-hacker/","type":"other","url":""},{"credibility":3,"name":"https://www.pymnts.com/cryptocurrency/2023/crypto-market-exactly-protocol-targeted-in-12-million-hack/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://medium.com/@exactly_protocol/exaip-03-addressing-the-exactly-protocol-hack-and-compensating-affected-users-6e2cd4a0a179","type":"other","url":""},{"credibility":3,"name":"https://medium.com/@exactly_protocol/exactly-protocol-report-q4-2023-5ab2e0838c77","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.crunchbase.com/person/gabriel-gruber","type":"other","url":""},{"credibility":3,"name":"https://rocketreach.co/gabriel-gruber-email_732721","type":"other","url":""},{"credibility":3,"name":"https://www.rootdata.com/member/Gabriel%20Gruber?k=OTA5Mw%3D%3D","type":"other","url":""},{"credibility":3,"name":"https://immunefi.com/bounty/exactly/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://gov.optimism.io/t/exactly-protocol-and-the-exa-app-scaling-onchain-finance-on-optimism/9962","type":"other","url":""},{"credibility":3,"name":"https://medium.com/@exactly_protocol/connecting-the-dots-the-exactly-protocol-and-the-exa-app-f9579ad74c67","type":"other","url":""},{"credibility":3,"name":"https://medium.com/@exactly_protocol/scaling-the-dots-44634b918b2f","type":"other","url":""},{"credibility":3,"name":"https://defillama.com/protocol/exactly","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://zachxbt.mirror.xyz/","type":"other","url":""},{"credibility":3,"name":"https://t.me/investigations","type":"other","url":""}]}],"sources_used":[],"summary":"Exactly Protocol is a decentralized, non-custodial fixed-rate and variable-rate lending protocol deployed on the Optimism Layer 2 network. On August 18, 2023, the protocol suffered a critical exploit resulting in approximately $7.3–$12 million in ETH stolen from 117 user accounts due to insufficient input validation in its DebtManager periphery contract. The protocol has since resumed operations, engaged law enforcement, offered a $700,000 bounty, and passed a governance proposal to compensate affected users with EXA tokens.","timeline":[{"date":"2021-07-01","event":"Exactly Protocol founded by Gabriel Gruber and Lucas Lain under Exa Labs.","source":""},{"date":"2022-11-01","event":"Exactly Protocol launched on Ethereum Mainnet.","source":""},{"date":"2023-03-01","event":"Exactly Protocol deployed on Optimism Layer 2 network.","source":""},{"date":"2023-08-18","event":"Exploit executed via malicious market address in DebtManager contract; approximately $7.3–$12 million in ETH stolen from 117 user accounts. Protocol temporarily paused. EXA token fell over 12%.","source":""},{"date":"2023-08-19","event":"Protocol published post-mortem identifying DebtManager vulnerability. $700,000 bounty announced for information leading to attacker arrest and fund recovery.","source":""},{"date":"2023-09-01","event":"Protocol team contacted US Department of Homeland Security; HSI opened case NY02HR23NY0001. Chainalysis engaged to trace stolen funds.","source":""},{"date":"2023-09-01","event":"ABDK Consulting completed audit of remediated DebtManager contract; Strategies section of web app re-enabled.","source":""},{"date":"2023-10-01","event":"EXAIP-03 governance proposal approved; one million EXA tokens allocated as compensation to 117 hack victims, with 48-month linear vesting beginning June 2024.","source":""},{"date":"2024-06-01","event":"Vesting of EXAIP-03 compensation tokens commenced via Sablier NFTs for affected users.","source":""},{"date":"2025-02-01","event":"Exactly Protocol announced partnership with Uphold fintech platform to integrate Exa Credit Card and Exa Loans.","source":""},{"date":"2025-03-01","event":"Exa App launched to general users in 160+ countries, enabling crypto-backed credit cards and fixed-rate lending.","source":""}]},"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision e89b2b24-ea65-43ea-8c6d-853ede7d3558
  2. #2rescoreby systemsystem
    2026-10-10 18:46:01Z
    Score: 32 → 53 (+21)
    Rescored under Scoring v2, the published formula (avoid.net/scoring): 32 → 53. Problems weighed by who is responsible: incidents the subject suffered −16, problems around the subject, caused by others −1.6; legitimacy credit long-running +6.
    anchoranchored
    chain
    ●mainnet-betaslot 455,365,786
    sig
    5FVZENXEyFWJ…isrpcWNbexplorer ↗
    hash
    7Y4qfBsPKrv4…q7BFe1C1sha256 → base58
    verifying row…full verify ↗
    canonical bytes (603 B) ▸
    {"actor":"system","decided_at":"2026-10-10T18:46:01.857Z","decision":"rescore","investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","new_score":53,"page_slug":"exactly","prev_score":32,"reason":"Rescored under Scoring v2, the published formula (avoid.net/scoring): 32 → 53. Problems weighed by who is responsible: incidents the subject suffered −16, problems around the subject, caused by others −1.6; legitimacy credit long-running +6.","score_delta":21,"score_model":"v2","sequence_num":2,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 03ca9445-912d-4861-9d28-30f368e752d4
  3. #3rescoreby systemsystem
    2026-11-01 23:59:07Z
    Score: 53 → 61 (+8)
    Re-read and rescored after the page was re-researched (2026-11-01). Rescored under Scoring v2, the published formula (avoid.net/scoring): 53 → 61. Problems weighed by who is responsible: incidents the subject suffered −16, problems around the subject, caused by others −1.7; legitimacy credit long-running +4.
    anchoranchored
    chain
    ●mainnet-betaslot 464,285,482
    sig
    5gYWKkaVmxSt…qpHQ8ME6explorer ↗
    hash
    FaoFosGmAvRj…nsZZrTf1sha256 → base58
    verifying row…full verify ↗
    canonical bytes (670 B) ▸
    {"actor":"system","decided_at":"2026-11-01T23:59:07.074Z","decision":"rescore","investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","new_score":61,"page_slug":"exactly","prev_score":53,"reason":"Re-read and rescored after the page was re-researched (2026-11-01). Rescored under Scoring v2, the published formula (avoid.net/scoring): 53 → 61. Problems weighed by who is responsible: incidents the subject suffered −16, problems around the subject, caused by others −1.7; legitimacy credit long-running +4.","score_delta":8,"score_model":"v2","sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 06f45542-bb0d-4fe5-af98-ff31768f5725
  4. #4reviewby reviewerreviewer
    2026-11-02 00:00:23Z
    Score: 61 → 61 (no score change)
    The core exploit facts (August 18, 2023, about $7.3M or 4,300 ETH, $12M early estimate) checked out against The Block and ForkLog. The Uphold partnership details match the CryptoSlate release. The TVL figures and the bounty could not be checked because DefiLlama and CryptoNews returned 403. The page is appropriately hedged on compensation. Search results suggest the Uphold card has since launched, which the page does not say. The stored ForkLog archive link points to an unrelated article. No subject-status contradictions found.
    anchoranchored
    chain
    ●mainnet-betaslot 464,285,934
    sig
    Js4dqvvRdVGD…CBahwK5Fexplorer ↗
    hash
    G2Ej4at3onnG…UDWimKwLsha256 → base58
    verifying row…full verify ↗
    canonical bytes (1410 B) ▸
    {"actor":"reviewer","artifact_identity":"d2f2fd184c517926552a002e45da07b5","blocked_count":3,"decided_at":"2026-11-02T00:00:23.554Z","decision":"review","disputed_pct":0,"findings_hash":"jgt8kLtSMWUyZQYRxRoubJBKSrBbPg44pwJ5KPrsCnM","investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":61,"omissions":{"material":0,"total":1},"page_content_hash":"b3469449b3ef691693f38132d16e7e7a1060bbbd8a0353867d865991b35cb3fc","page_slug":"exactly","prev_score":61,"reason":"The core exploit facts (August 18, 2023, about $7.3M or 4,300 ETH, $12M early estimate) checked out against The Block and ForkLog. The Uphold partnership details match the CryptoSlate release. The TVL figures and the bounty could not be checked because DefiLlama and CryptoNews returned 403. The page is appropriately hedged on compensation. Search results suggest the Uphold card has since launched, which the page does not say. The stored ForkLog archive link points to an unrelated article. No subject-status contradictions found.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":0,"scored_claims":4,"sequence_num":4,"subject_status":"operating","subject_status_contradicts_page":false,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 52b3a789-82b1-45ca-a0a5-a6ec02223195
  5. #5review approveby judgejudge
    2026-11-02 00:00:23Z
    Score: 61 → 61 (no score change)
    Of seven claims checked, three could not be read because the sources (DefiLlama, CryptoNews) refused access; these are excluded from the calculation and are a coverage limit, not a defect of the page. Of the four claims that could be checked, none were disputed or unverifiable (claim_findings[0], [1] and [4] confirmed; claim_findings[5] partially supported), so the disputed share is 0%. The one omission is minor (the Uphold card appears to have launched in 2026, while the page describes the partnership as proposed), and the subject is still operating, so the percentage band stands. The wrong ForkLog archive link and the unverified TVL and bounty figures are worth fixing but do not change the verdict.
    anchoranchored
    chain
    ●mainnet-betaslot 464,285,939
    sig
    5ApwhyW1zEVn…eBkwDg7Lexplorer ↗
    hash
    9jm92LfeQ2NX…PeBQ87k6sha256 → base58
    verifying row…full verify ↗
    canonical bytes (1382 B) ▸
    {"actor":"judge","artifact_identity":"d2f2fd184c517926552a002e45da07b5","band_override":null,"blocked_count":3,"decided_at":"2026-11-02T00:00:23.554Z","decision":"review_approve","delist_requested":false,"disputed_pct":0,"investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","judge_def_hash":"8800307026131ea9d5da939d32b9a1f1884b2b84a5de33c8e87931d36f38d0f8","new_score":61,"page_slug":"exactly","prev_score":61,"reason":"Of seven claims checked, three could not be read because the sources (DefiLlama, CryptoNews) refused access; these are excluded from the calculation and are a coverage limit, not a defect of the page. Of the four claims that could be checked, none were disputed or unverifiable (claim_findings[0], [1] and [4] confirmed; claim_findings[5] partially supported), so the disputed share is 0%. The one omission is minor (the Uphold card appears to have launched in 2026, while the page describes the partnership as proposed), and the subject is still operating, so the percentage band stands. The wrong ForkLog archive link and the unverified TVL and bounty figures are worth fixing but do not change the verdict.","reviewer_def_hash":"bc11388ce4bc4deea1b064fea362663ae06e3f4f687f99604769044d6ffba770","score_delta":0,"scored_claims":4,"sequence_num":5,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision c124f9c8-c8bf-449a-bdb6-c32f1fea1f6e
  6. #6rescoreby systemsystem
    2026-11-02 00:00:24Z
    Score: 61 → 67 (+6)
    Recalculated after the fact-check of 2026-11-02. Rescored under Scoring v2, the published formula (avoid.net/scoring): 61 → 67. Problems weighed by who is responsible: incidents the subject suffered −10, problems around the subject, caused by others −1.7; legitimacy credit long-running +4; 1 section(s) set aside until a failed fact-check is resolved.
    anchoranchored
    chain
    ●mainnet-betaslot 464,285,944
    sig
    2mM2CaNj5XEV…XjzZNaTHexplorer ↗
    hash
    HbUCtvNFRPhP…Dc3dZAuXsha256 → base58
    verifying row…full verify ↗
    canonical bytes (713 B) ▸
    {"actor":"system","decided_at":"2026-11-02T00:00:23.554Z","decision":"rescore","investigation_id":"6cabadc3-8ceb-411b-bb9c-4948459cefc0","new_score":67,"page_slug":"exactly","prev_score":61,"reason":"Recalculated after the fact-check of 2026-11-02. Rescored under Scoring v2, the published formula (avoid.net/scoring): 61 → 67. Problems weighed by who is responsible: incidents the subject suffered −10, problems around the subject, caused by others −1.7; legitimacy credit long-running +4; 1 section(s) set aside until a failed fact-check is resolved.","score_delta":6,"score_model":"v2","sequence_num":6,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 9aac6a34-8302-4cce-9f07-4a4d2f04bf61
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>.