Skip to main content
AVOID.NET
← avoid.net

Verify a decision

Every moderation decision on AVOID.NET is anchored to the Solana blockchain. You don't have to trust us — you can verify cryptographically that we committed to a verdict at a specific moment and have not rewritten it.

How verification works

  1. We commit. When a moderator accepts/rejects a submission, we serialize the decision into deterministic UTF-8 bytes (payload_canonical_string), hash it with SHA-256, encode the digest as base58, and write it to Solana inside an SPL Memo v2 transaction.
  2. We store the bytes. The exact bytes we hashed are stored alongside the decision in our database. Anyone can read them and recompute the hash in any language.
  3. You compare three values. Database hash, your independently-recomputed hash, and the hash inside the on-chain memo. If all three match, the decision is authentic and timestamped.
The on-chain memo format is AVOID.NET|v1|h:<b58-sha256>|d:<id>|t:<iso>

Find a signature on any investigation page's decision log, or run python -m src.verify_decision --signature <sig> for a CLI check.

Sequence
#1
Score
Cluster
mainnet-beta
Slot
449442292
Off-chain at
2026-09-22T17:10:23.259Z
Anchored at
Block time

Independent verification

1. Database (off-chain)
9gaSauRxzgkhFqEueA1GTwGL5B3yrujMsqa7svYn4kpi
2. Recomputed (your browser)
computing…
3. On-chain (Solana memo)
fetching…
Canonical bytes hashed (14613 chars)
{"actor":"system:backfill","investigation_id":"0494be34-a966-4de8-8be4-a06877a27149","kind":"publish","page_slug":"zentra-finance-ctusd-aave-fork-exploit","published_at":"2026-09-22T17:10:23.130Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"Zentra Finance ctUSD Aave-Fork Exploit","sections":[{"content":"Zentra Finance is a decentralized lending and borrowing protocol that describes itself as bringing 'institutional-grade DeFi to Bitcoin's ZK rollup ecosystem.' It operates on Citrea, a Bitcoin ZK rollup that uses Bitcoin as its settlement layer. Zentra's smart contract core is a fork of Aave V3 Core v3.0.x. At launch, the protocol supported three assets: ctUSD (a Citrea-native stablecoin), wcBTC (wrapped Bitcoin, used primarily as collateral), and USDC. The protocol uses over-collateralization requirements, an automated liquidation system, and a kinked interest rate model. Users who supply assets earn yield; borrowers provide collateral. Both participant groups were eligible for ZNT token rewards. Zentra's documentation does not disclose the founding team's identities or a formal launch date.","heading":"Protocol Overview","severity":"low","sources":[{"credibility":2,"name":"Introduction | Zentra (official documentation)","type":"official","url":"https://zentrafinance.gitbook.io/zentra"},{"credibility":2,"name":"Ecosystem | Citrea","type":"official","url":"https://citrea.xyz/ecosystem"}]},{"content":"On September 9, 2026 at 12:59:37 UTC, an attacker exploited a boundary condition in Zentra's deployed aToken implementation, draining approximately 139,999.999999 ctUSD and 9.999999 USDC.e (net of flash loan fees), with total losses estimated at approximately $143,000. The exploit transaction hash is 0x9ac5df7e93988cd977e4b1b0564f559ec3096db2fe1abdd97e45c348e3074aa1, confirmed at block 12,428,145 on Citrea.\n\nThe vulnerability resided in the _burnScaled function of Zentra's aToken contract. This function includes a clamp: if the scaled burn amount exceeds the caller's scaled balance, the amount is clamped to the balance. The developers intended this clamp to absorb only minor (sub-1-wei) ceiling-rounding overshoots. However, when a caller holds zero aTokens, the clamp reduces the burn quantity to zero. The subsequent _burn(user, 0) call executes without reverting, functioning as a no-op. Critically, Pool.repayWithATokens — which is declared public with no role checks or access modifiers — still records the full debt as repaid, even though no tokens were actually burned.\n\nAccording to the DeFiHackLabs proof-of-concept submission, the reconstructed attack flow was: (1) flash-borrow 200,000 USDC.e from an Algebra DEX liquidity pool (ctUSD/USDC.e, 0.01% tier); (2) post the borrowed funds as collateral in Zentra; (3) borrow ctUSD against the collateral; (4) call repayWithATokens for debt plus 1 base unit — which triggers ceiling-rounding and the zero-clamp path — while holding zero aTokens, clearing the debt without burning anything; (5) withdraw the original collateral; (6) repay the flash loan and keep the profit.\n\nThe DeFiHackLabs contributor explicitly noted that this is NOT the publicly-disclosed March 2026 upstream Aave V3 rounding vulnerability — it is a separate boundary condition introduced in Zentra's own deployed aToken implementation. The PoC requires evm_version = cancun because Citrea uses transient storage.","heading":"The Exploit: Technical Mechanism","severity":"critical","sources":[{"credibility":2,"name":"Add ZentraFinance exploit PoC — DeFiHackLabs PR #1265","type":"research","url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1265"},{"credibility":2,"name":"Add ZentraFinance exploit PoC — DeFiHackLabs PR #1250","type":"research","url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1250"},{"credibility":2,"name":"Zentra Finance Reports $143K Exploit Affecting ctUSD Reserve — CryptoTimes","type":"news_article","url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"},{"credibility":2,"name":"Zentra Finance Hit by Exploit as ctUSD Reserve Is Drained on Citrea — Crypto Economy","type":"news_article","url":"https://crypto-economy.com/zentra-finance-hit-by-exploit-as-ctusd-reserve-is-drained-on-citrea/"}]},{"content":"Only the ctUSD reserve was affected by the exploit; Zentra reported no compromise indicators in other reserves (wcBTC, USDC). Lending markets across the protocol were suspended immediately following discovery.\n\nThe ctUSD Earn Vault — a Citrea-native product that supplies ctUSD directly to Zentra's lending market to capture borrower interest — was also affected, given that the Zentra ctUSD pool was the vault's underlying yield source. Citrea stated it would 'separately disclose the impact of the incident on ecosystem projects such as ctUSD Earn Vault and depositors.' As of the writing of this investigation, no public disclosure of the Earn Vault impact or a depositor compensation plan has been confirmed in available sources.","heading":"Scope of Impact: Zentra and the ctUSD Earn Vault","severity":"high","sources":[{"credibility":2,"name":"Citrea Resumes Cross-Chain Services — PANews","type":"news_article","url":"https://panews.io/articles/01a08993-9ccb-7679-a40f-33217fc1319f"},{"credibility":2,"name":"Zentra Finance Reports $143K Exploit — CryptoTimes","type":"news_article","url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"}]},{"content":"On September 11, 2026, Zentra Finance published a post-mortem identifying the exploit mechanism and tracing the extracted funds to a specific wallet. The protocol designated a recovery address (0x0A66f2D0c603A6E9C23b64Ea29525B7E6F5609B8) and opened communication via Blockscan Chat.\n\nZentra offered a negotiable bounty for the return of funds and committed that the wallet holder 'will not face legal proceedings or investigations before competent authorities' if assets were returned under agreed conditions. A deadline of September 14, 2026 at 12:00 UTC was set for the responsible party to respond.\n\nZentra stated that if the deadline passed without a response, it would activate on-chain forensic tracking mechanisms, technical coordination, and legal interventions. The bounty could also be redirected to compensate informants who assisted in identifying the attacker.\n\nAs of the current date (September 22, 2026), no public announcement confirming a response from the attacker or recovery of funds has appeared in available sources. The lending markets remain suspended, and no reopening date has been announced.","heading":"Protocol Response and White-Hat Deadline","severity":"high","sources":[{"credibility":2,"name":"Zentra Finance Hit by Exploit — Crypto Economy","type":"news_article","url":"https://crypto-economy.com/zentra-finance-hit-by-exploit-as-ctusd-reserve-is-drained-on-citrea/"},{"credibility":2,"name":"Zentra Finance Reports $143K Exploit — CryptoTimes","type":"news_article","url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"}]},{"content":"Following the Zentra Finance incident, Citrea suspended cross-chain services on September 9, 2026, as a precautionary measure. On September 10, Citrea restored cross-chain functionality for ctUSD, USDC, USDT, WBTC, and CTR following a comprehensive review. Some solver-based routes were still being gradually resumed at that time.\n\nCitrea confirmed that 'the root cause has been confirmed and related contracts have been suspended, while its protocol and bridge contracts were not affected.' Citrea's own infrastructure — including its ZK rollup protocol and cross-chain bridge — was not compromised by the Zentra exploit. The vulnerability was isolated to Zentra Finance's custom aToken smart contracts.","heading":"Citrea Network Response","severity":"medium","sources":[{"credibility":2,"name":"Citrea Restores Cross-Chain Services After Zentra Incident — Phemex News","type":"news_article","url":"https://phemex.com/news/article/citrea-restores-crosschain-services-for-ctusd-usdc-usdt-wbtc-and-ctr-96409"},{"credibility":2,"name":"Citrea Resumes Cross-Chain Services — PANews","type":"news_article","url":"https://panews.io/articles/01a08993-9ccb-7679-a40f-33217fc1319f"},{"credibility":2,"name":"Citrea Restores Cross-Chain Functionality — KuCoin","type":"news_article","url":"https://www.kucoin.com/news/flash/citrea-restores-cross-chain-for-ctusd-and-others-unaffected-by-zentra-incident"}]},{"content":"Zentra Finance's lending core is a fork of Aave V3 Core v3.0.x. The exploited vulnerability is described by DeFiHackLabs contributors as distinct from the publicly-disclosed March 2026 upstream Aave V3 rounding vulnerability; it was a separate boundary condition introduced in Zentra's own deployment. One search result indicated the vulnerability was introduced during a code refactoring in June 2023 and reportedly bypassed an external security audit, though the auditing firm's identity and findings have not been independently confirmed in primary-source audit reports found during this investigation.\n\nThe permissionless nature of Pool.repayWithATokens — lacking any role-check or access-control modifier — amplified the impact of the burn-clamp flaw by allowing any address to trigger the faulty repayment path. Zentra committed to completing a security audit before reactivating lending contracts, but had not published audit results or announced an auditor as of the available reporting.","heading":"Security Audit and Fork Risk","severity":"high","sources":[{"credibility":2,"name":"Add ZentraFinance exploit PoC — DeFiHackLabs PR #1250","type":"research","url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1250"},{"credibility":2,"name":"Zentra Finance Reports $143K Exploit — CryptoTimes","type":"news_article","url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"}]}],"sources_used":[{"credibility":2,"name":"Zentra Finance Reports $143K Exploit Affecting ctUSD Reserve — CryptoTimes","type":"news_article","url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"},{"credibility":2,"name":"Zentra Finance Hit by Exploit as ctUSD Reserve Is Drained on Citrea — Crypto Economy","type":"news_article","url":"https://crypto-economy.com/zentra-finance-hit-by-exploit-as-ctusd-reserve-is-drained-on-citrea/"},{"credibility":2,"name":"Add ZentraFinance exploit PoC — DeFiHackLabs PR #1265","type":"research","url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1265"},{"credibility":2,"name":"Add ZentraFinance exploit PoC — DeFiHackLabs PR #1250","type":"research","url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1250"},{"credibility":2,"name":"Citrea Resumes Cross-Chain Services — PANews","type":"news_article","url":"https://panews.io/articles/01a08993-9ccb-7679-a40f-33217fc1319f"},{"credibility":2,"name":"Citrea Restores Cross-Chain Services After Zentra Incident — Phemex News","type":"news_article","url":"https://phemex.com/news/article/citrea-restores-crosschain-services-for-ctusd-usdc-usdt-wbtc-and-ctr-96409"},{"credibility":2,"name":"Citrea Restores Cross-Chain Functionality — KuCoin","type":"news_article","url":"https://www.kucoin.com/news/flash/citrea-restores-cross-chain-for-ctusd-and-others-unaffected-by-zentra-incident"},{"credibility":2,"name":"Citrea Resumes Cross-Chain Services — KuCoin","type":"news_article","url":"https://www.kucoin.com/news/flash/citrea-resumes-cross-chain-services-for-ctusd-usdc-usdt-wbtc-and-ctr"},{"credibility":2,"name":"Introduction | Zentra (official documentation)","type":"official","url":"https://zentrafinance.gitbook.io/zentra"},{"credibility":2,"name":"Zentra Finance TVL — DeFiLlama","type":"research","url":"https://defillama.com/protocol/zentra-finance"}],"summary":"Zentra Finance is a decentralized money market protocol deployed on Citrea, a Bitcoin ZK rollup, built as a fork of Aave V3 Core. On September 9, 2026, an attacker exploited a boundary condition in Zentra's custom aToken burn logic to drain approximately $143,000 in ctUSD without burning any collateral tokens. As of the date of this investigation, Zentra's lending markets remain suspended, no confirmed fund recovery has been reported, and the September 14 white-hat deadline passed without a publicly confirmed response from the attacker.","timeline":[{"date":"2026-09-09","event":"Exploit occurs at 12:59:37 UTC. Attacker uses flash loan and boundary condition in aToken burn logic to drain approximately 140,000 ctUSD and ~10 USDC.e from Zentra Finance's ctUSD reserve on Citrea (block 12,428,145; tx 0x9ac5df7e...074aa1). Estimated total losses: ~$143,000.","source":"DeFiHackLabs PR #1265; CryptoTimes","source_url":"https://github.com/SunWeb3Sec/DeFiHackLabs/pull/1265"},{"date":"2026-09-09","event":"Zentra Finance suspends all lending markets. Citrea suspends cross-chain services as a precautionary measure pending investigation.","source":"CryptoTimes; Phemex News","source_url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"},{"date":"2026-09-10","event":"Citrea restores cross-chain services for ctUSD, USDC, USDT, WBTC, and CTR after confirming the root cause was isolated to Zentra's contracts. Citrea confirms its core protocol and bridge contracts were unaffected. Some solver-based routes continue to be gradually resumed.","source":"Phemex News; PANews; KuCoin","source_url":"https://phemex.com/news/article/citrea-restores-crosschain-services-for-ctusd-usdc-usdt-wbtc-and-ctr-96409"},{"date":"2026-09-11","event":"Zentra Finance publishes post-mortem, traces stolen funds to a specific wallet, publishes recovery address (0x0A66f2D0c603A6E9C23b64Ea29525B7E6F5609B8), and opens Blockscan Chat communication. Protocol offers bounty and immunity from legal action in exchange for fund return.","source":"Crypto Economy; CryptoTimes","source_url":"https://crypto-economy.com/zentra-finance-hit-by-exploit-as-ctusd-reserve-is-drained-on-citrea/"},{"date":"2026-09-14","event":"White-hat deadline of 12:00 UTC passes. Zentra Finance had stated it would pursue on-chain forensic tracking, technical coordination, and legal action if the attacker did not respond. No public confirmation of a response from the attacker has appeared in available sources as of September 22, 2026.","source":"CryptoTimes; Crypto Economy","source_url":"https://www.cryptotimes.io/2026/09/12/zentra-finance-reports-143k-exploit-affecting-ctusd-reserve/"}]},"v":1}