Skip to main content
AVOID.NET
← Texture Finance5 decisions on this page

Audit log

Every state-changing event for Texture Finance: 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-27 20:21:15Z
    Score: ? → ? (no score change)
    anchoranchored
    chain
    ●mainnet-betaslot 422,573,686
    sig
    5undruCcwPSD…5cjLgPMeexplorer ↗
    hash
    FGLAxfoaBSBZ…Krc5Wh3Ysha256 → base58
    verifying row…full verify ↗
    canonical bytes (4947 B) ▸
    {"actor":"system:backfill","investigation_id":"161f648c-7701-4e1d-a30d-efbefd4836d7","kind":"publish","page_slug":"texture","published_at":"2026-05-27T20:21:15.672Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"Texture Finance","sections":[{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://texture.gitbook.io/texture","type":"other","url":""},{"credibility":3,"name":"https://blockonomi.com/texture-finance-5-million-funding-round/","type":"other","url":""},{"credibility":3,"name":"https://tracxn.com/d/companies/texture-finance/__KJGEqO5NqgsaOMdbtR3E0uCPQUe-f709WyDzMTa0rR0","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.web3isgoinggreat.com/?id=texture-hack","type":"other","url":""},{"credibility":3,"name":"https://www.quadrigainitiative.com/hackfraudscam/texturefinancevaultrebalancemissingownershipchecktheft.php","type":"other","url":""},{"credibility":3,"name":"https://cryptorank.io/news/feed/9a6a3-texture-finance-hacker-refunds-loot","type":"other","url":""},{"credibility":3,"name":"https://www.ainvest.com/news/texture-finance-recovers-90-2-2-million-usdc-hacker-bounty-2507/","type":"other","url":""},{"credibility":3,"name":"https://www.okx.com/en-us/learn/defi-security-vulnerabilities-hacks","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://www.quadrigainitiative.com/hackfraudscam/texturefinancevaultrebalancemissingownershipchecktheft.php","type":"other","url":""},{"credibility":3,"name":"https://cryptorank.io/news/feed/9a6a3-texture-finance-hacker-refunds-loot","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://blockonomi.com/texture-finance-5-million-funding-round/","type":"other","url":""},{"credibility":3,"name":"https://coincodex.com/article/20870/texture-raises-5-million-to-build-solana-based-yield-management-tools/","type":"other","url":""},{"credibility":3,"name":"https://cryptonews.net/news/defi/15539521/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://cryptorank.io/news/feed/9a6a3-texture-finance-hacker-refunds-loot","type":"other","url":""},{"credibility":3,"name":"https://www.web3isgoinggreat.com/?id=texture-hack","type":"other","url":""},{"credibility":3,"name":"https://www.ainvest.com/news/hacker-returns-90-stolen-funds-texture-protocol-2507/","type":"other","url":""}]},{"content":"","heading":"","severity":"medium","sources":[{"credibility":3,"name":"https://tracxn.com/d/companies/texture-finance/__KJGEqO5NqgsaOMdbtR3E0uCPQUe-f709WyDzMTa0rR0","type":"other","url":""}]}],"sources_used":[],"summary":"Texture Finance is a Solana-based decentralized lending protocol founded in 2021 and backed by $5 million in venture funding from P2P Capital, Sino Global Capital, Wintermute, and Jane Street Capital. In July 2025, a missing ownership check in its USDC vault smart contract allowed an attacker to steal approximately $2.2 million in user funds; the protocol negotiated a 10% greyhat bounty and recovered roughly $1.98 million. User withdrawals remained disabled following the exploit, and a formal repayment timeline had not been published as of mid-2025.","timeline":[{"date":"2021-01-01","event":"Texture Finance founded by Oleg Ravnushkin and Igor Burlakov in Lisbon, Portugal as a Solana-based DeFi yield management protocol.","source":""},{"date":"2022-11-02","event":"Texture Finance announces completion of $5 million funding round co-led by P2P Capital and Sino Global Capital, with Wintermute, Semantic Ventures, and Jane Street Capital participating.","source":""},{"date":"2024-09-01","event":"Texture launches Texture 2.0, a modular lending protocol on Solana built on SuperLendy, allowing permissionless creation and management of lending pools and vaults.","source":""},{"date":"2025-07-09","event":"Texture Finance detects and discloses a critical exploit in its USDC vault smart contract. A missing ownership check in the rebalance function allows an attacker to drain approximately $2.2 million in USDC. The team activates safe mode, disables withdrawals, and sends an on-chain message offering a 10% bounty for return of the remaining 90% of stolen funds.","source":""},{"date":"2025-07-10","event":"The attacker returns approximately $1.98 million in USDC to Texture Finance's designated Solana address, retaining $220,000 as the agreed greyhat bounty. Texture states it will not pursue legal action.","source":""},{"date":"2025-07-11","event":"Texture Finance publishes follow-up update confirming fund recovery, noting that the patched contract is undergoing review with auditing partner Certora and that a post-mortem analysis is forthcoming. Withdrawals remain suspended pending redeployment.","source":""}]},"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 30c5d655-f8e4-4291-be64-1a7182f09038
  2. #2rescoreby systemsystem
    2026-10-10 18:44:25Z
    Score: 28 → 61 (+33)
    Rescored under Scoring v2, the published formula (avoid.net/scoring): 28 → 61. Problems weighed by who is responsible: incidents the subject suffered −6.4, concerns that are not fraud −3.2, problems around the subject, caused by others −2.4; legitimacy credit long-running +8.
    anchoranchored
    chain
    ●mainnet-betaslot 455,364,083
    sig
    3Q4Mi8grTLHV…xPezvtyrexplorer ↗
    hash
    Ea7F4BtEuTvN…Tdw4kQ3Xsha256 → base58
    verifying row…full verify ↗
    canonical bytes (638 B) ▸
    {"actor":"system","decided_at":"2026-10-10T18:44:25.075Z","decision":"rescore","investigation_id":"161f648c-7701-4e1d-a30d-efbefd4836d7","new_score":61,"page_slug":"texture","prev_score":28,"reason":"Rescored under Scoring v2, the published formula (avoid.net/scoring): 28 → 61. Problems weighed by who is responsible: incidents the subject suffered −6.4, concerns that are not fraud −3.2, problems around the subject, caused by others −2.4; legitimacy credit long-running +8.","score_delta":33,"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 8d14892c-f31c-4fb0-b85d-f2ef8624a614
  3. #3reviewby reviewerreviewer
    2026-11-03 23:49:18Z
    Score: 61 → 61 (no score change)
    Core exploit facts (date, $2.2M, 10% bounty, $1.98M returned, no legal pursuit) and the 2022 funding round are confirmed. The audit-failure section, the completed Certora review and the standard-mode repayment claim are unsupported by anything I could read. The page's status stops at July 2025 and says nothing of later developments. One archive link points to an unrelated article.
    anchoranchored
    chain
    ●mainnet-betaslot 465,089,364
    sig
    2ooJakwTQrHY…XMY4Vfjuexplorer ↗
    hash
    5qidNAwYa1KZ…EWPJg1ZUsha256 → base58
    verifying row…full verify ↗
    canonical bytes (1264 B) ▸
    {"actor":"reviewer","artifact_identity":"c0aea39c8d0aaae73a2e27f2a3d36e3d","blocked_count":1,"decided_at":"2026-11-03T23:49:18.477Z","decision":"review","disputed_pct":0.4286,"findings_hash":"Gxj43cjn4Nw1rP6DzjwHB5ypB1PS6kBpF2JLZdtgkpyX","investigation_id":"161f648c-7701-4e1d-a30d-efbefd4836d7","judge_def_hash":"750934ecb48272224909b7430fab271676d391380fbc821acbe7ee7e4cac2fa3","new_score":61,"omissions":{"material":1,"total":1},"page_content_hash":"03fa378761f1002a50df78e1975e76f1428dc2e52758d91a77b5f1458dfa9b07","page_slug":"texture","prev_score":61,"reason":"Core exploit facts (date, $2.2M, 10% bounty, $1.98M returned, no legal pursuit) and the 2022 funding round are confirmed. The audit-failure section, the completed Certora review and the standard-mode repayment claim are unsupported by anything I could read. The page's status stops at July 2025 and says nothing of later developments. One archive link points to an unrelated article.","reviewer_def_hash":"3839668b232611e5b26db72079d64745f8e57e919b8a379e79b44ba4a52c845b","score_delta":0,"scored_claims":7,"sequence_num":3,"subject_status":"unknown","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 8813a24f-642f-4385-8042-cf81b2e11c9a
  4. #4review reviseby judgejudge
    2026-11-03 23:49:18Z
    Score: 61 → 61 (no score change)
    Of 8 claims checked, 1 was excluded because its source blocked the reviewer, and 3 of the remaining 7 (about 43%) could not be verified: the prior-audit failure (claim_findings[2]), the completed Certora review (claim_findings[3]) and the no-regulatory-action claim (claim_findings[6]). The core exploit facts and the 2022 funding round were confirmed (claim_findings[0], [1]). The page also leaves out what happened after July 2025 (omission_findings[0]), and one archive link points to an unrelated article (claim_findings[7]). The penalty is held to the middle of the band because the headline facts hold and the reviewer's confidence is moderate.
    anchoranchored
    chain
    ●mainnet-betaslot 465,089,370
    sig
    4xkCaVqgg2wG…2XC1Sqsqexplorer ↗
    hash
    GeyUwGsuNX2z…XqbLjYQvsha256 → base58
    verifying row…full verify ↗
    canonical bytes (1686 B) ▸
    {"actor":"judge","artifact_identity":"c0aea39c8d0aaae73a2e27f2a3d36e3d","band_override":null,"blocked_count":1,"decided_at":"2026-11-03T23:49:18.477Z","decision":"review_revise","delist_requested":false,"disputed_pct":0.4286,"investigation_id":"161f648c-7701-4e1d-a30d-efbefd4836d7","judge_def_hash":"750934ecb48272224909b7430fab271676d391380fbc821acbe7ee7e4cac2fa3","new_score":61,"page_slug":"texture","prev_score":61,"reason":"Of 8 claims checked, 1 was excluded because its source blocked the reviewer, and 3 of the remaining 7 (about 43%) could not be verified: the prior-audit failure (claim_findings[2]), the completed Certora review (claim_findings[3]) and the no-regulatory-action claim (claim_findings[6]). The core exploit facts and the 2022 funding round were confirmed (claim_findings[0], [1]). The page also leaves out what happened after July 2025 (omission_findings[0]), and one archive link points to an unrelated article (claim_findings[7]). The penalty is held to the middle of the band because the headline facts hold and the reviewer's confidence is moderate.","reviewer_def_hash":"3839668b232611e5b26db72079d64745f8e57e919b8a379e79b44ba4a52c845b","score_delta":0,"scored_claims":7,"sequence_num":4,"severity_override":{"applied":true,"band":"significant","from_band":"significant","reason":"The review reports a material omission: the page stops at July 2025 and says nothing about redeployment, withdrawals or the promised post-mortem. This agrees with the significant band already implied by the percentage, so the band is confirmed rather than raised."},"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 042b9006-e85f-4bb4-a71d-1b8a7493d8fb
  5. #5rescoreby systemsystem
    2026-11-03 23:49:19Z
    Score: 61 → 75 (+14)
    Recalculated after the fact-check of 2026-11-03. Rescored under Scoring v2, the published formula (avoid.net/scoring): 61 → 75. Problems weighed by who is responsible: problems around the subject, caused by others −1.6; legitimacy credit long-running +8, audits +4; 4 section(s) set aside until a failed fact-check is resolved.
    anchoranchored
    chain
    ●mainnet-betaslot 465,089,375
    sig
    5xut91ERevoF…eMCWKgssexplorer ↗
    hash
    6QM5RckosH5E…FzYHQbdusha256 → base58
    verifying row…full verify ↗
    canonical bytes (689 B) ▸
    {"actor":"system","decided_at":"2026-11-03T23:49:18.477Z","decision":"rescore","investigation_id":"161f648c-7701-4e1d-a30d-efbefd4836d7","new_score":75,"page_slug":"texture","prev_score":61,"reason":"Recalculated after the fact-check of 2026-11-03. Rescored under Scoring v2, the published formula (avoid.net/scoring): 61 → 75. Problems weighed by who is responsible: problems around the subject, caused by others −1.6; legitimacy credit long-running +8, audits +4; 4 section(s) set aside until a failed fact-check is resolved.","score_delta":14,"score_model":"v2","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 4783bb63-6aad-4cd0-86de-095feee6f899
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>.