PoolTogether security record

Arbitrum, Avalanche, Base, BNB Chain, Ethereum, Optimism, Polygon (POS), Scrollpooltogether.comXGitHub

As of 29 Oct 2026, PoolTogether has 8 audit reports by 3 security firms on Trustblock; the latest is by Consensys, dated 1 May 2021. Those reports list 7 open critical findings.

Critical findings
7 open critical findings
Reported in 3 reports, the latest by Consensys, May 2021. See the findings
Open the latest report
Your label, live
Get the label for your site

Record last updated . It holds audits and findings, contracts and incidents up to Oct 2026. Trustblock does not review code.

Audits8

Newest first

AuditSecurity firmDateScopeCritical findingsReport
PoolTogether — Sushi and Yearn V2 Yield SourcesSecurity firm: ConsensysDate: Scope: Files named in the report1 open critical findingOpen · diligence.security
PoolTogether - PodsSecurity firm: ConsensysDate: Scope: Files named in the report4 open critical findingsOpen · diligence.security
PoolTogetherSecurity firm: ConsensysDate: Scope: Not recorded (see the report)No open critical findingsOpen · diligence.security
PoolTogether - LootBox and MultipleWinners StrategSecurity firm: ConsensysDate: Scope: Files named in the report2 open critical findingsOpen · diligence.security
PoolTogether v3 AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the report1 critical finding, fixedOpen · blog.openzeppelin.com
PoolTogetherSecurity firm: OpenZeppelinDate: Scope: Files named in the report1 critical finding, fixedOpen · blog.openzeppelin.com
PoolTogether AuditSecurity firm: OpenZeppelinDate: Scope: Files named in the reportNo open critical findingsOpen · blog.openzeppelin.com
Pool Together 2.0Security firm: QuantstampDate: Scope: Files named in the reportNo open critical findingsOpen · certificate.quantstamp.com

Findings78

Statuses are the security firm’s own, from each report.

SeverityOpenAcknowledgedFixed
Critical702
High505
Medium1005
Low25019
CriticalYearn: Re-entrancy attack during depositPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
CriticalPod: Re-entrancy during deposit or withdrawal can lead to stealing fundsPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
CriticalToken transfers may return falsePoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
CriticalTokenDrop: Unprotected initialize() functionPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
CriticalWinning pods can be frontrun with large depositsPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
CriticalLootBox - Unprotected selfdestruct in proxy implementationPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
CriticalPeriodicPrizeStrategy - RNG failure can lock user fundsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
HighYearn: Partial deposits are not processed properlyPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
HighTokenDrop: Re-entrancy in the claim function can cause to draining fundsPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
HighPeriodicPriceStrategy - trustedForwarder can impersonate any msg.senderPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
Show 10 more
HighTicket duplicationPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
HighUnpredictable behavior for users due to admin front running or general bad timingPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
MediumSushi: balanceOfToken underestimates balancePoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
MediumSushi: redeemToken redeems less than it shouldPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
MediumPod: Fees are not limited by a user during the withdrawalPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
MediumPod: Having multiple token drops is inconsistentPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
MediumTokenFaucet refill can have an unexpected outcomePoolTogether · Consensys · 1 Feb 2021Open

The report gives no description here.

Open the report
MediumLootBox - plunder should disallow plundering to address(0)PoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
MediumMultipleWinners - setNumberOfWinners does not enforce count>0PoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
MediumPeriodicPriceStrategy - addExternalErc721Award duplicate or invalid tokenIds may block award phasePoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
Show 10 more
MediumPeriodicPrizeStrategy - Token with callback related warnings (ERC777 a.o.)PoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
MediumPeriodicPrizeStrategy - unbounded external tokens linked list may be used to force a gas DoSPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowSushi: Some state variables should be immutable and have more specific typesPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
LowSushi: Unnecessary balance queriesPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
LowSushi: Unnecessary function declaration in interfacePoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
LowYearn: Redundant approve callPoolTogether — Sushi and Yearn V2 Yield Sources · Consensys · 1 May 2021Open

The report gives no description here.

Open the report
LowPod.setManager() checks validity of wrong addressPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
LowProxyFactory.deployMinimal() does not check for contract creation failurePoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
LowRename Withdrawl event to WithdrawalPoolTogether - Pods · Consensys · 1 Mar 2021Open

The report gives no description here.

Open the report
LowGas Optimization on transfersPoolTogether · Consensys · 1 Feb 2021Open

The report gives no description here.

Open the report
Show 10 more
LowHandle transfer tokens where from == toPoolTogether · Consensys · 1 Feb 2021Open

The report gives no description here.

Open the report
LowRedundant/Duplicate checksPoolTogether · Consensys · 1 Feb 2021Open

The report gives no description here.

Open the report
LowCheck codesize before adding listenersPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowClean up unused source-units in the repositoryPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowInitialize implementations for proxy contracts and protect initialization methodsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowLootBox - executeCalls can be misused to relay callsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowLootBox - transferEther should be internalPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowLootBox - unnecessary payablePoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowMultipleWinners - Awards can be guaranteed with a set number of ticketsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowMultipleWinners - Inconsistent behavior compared to SingleRandomWinnerPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
Show 7 more
LowPeriodicPrizeStrategy - Inconsistent behavior between award-phase modifiers and view functionsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowReconsider the use of proxy factories in the system if they are not neededPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowRework the repository structure and clearly mark which 3rd party contracts have been modifiedPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowStick to clear interface naming conventionsPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
LowWhere possible, functions should accept a specific contract type rather than address parametersPoolTogether - LootBox and MultipleWinners Strateg · Consensys · 1 Nov 2020Open

The report gives no description here.

Open the report
Low[L01] Deviation from ERC777 specificationPoolTogether Audit · OpenZeppelin · 16 Jan 2020Open

The report gives no description here.

Open the report
LowCentralization of PowerPool Together 2.0 · Quantstamp · 4 Sep 2019Open

Smart contracts will often have an owner or admins to designate entities with special privileges to make modifications to the smart contract. Specifically, the pool admins have the privilege to commit and open draws, set fee fractions, set beneficiary of the fee, pause and unpause the contract, and add and remove admins. Consequently, if the last admin is ever removed, no new admin can ever be added. Exploit Scenario: Admins may take advantage of calling rewardAndOpenNextDraw() in the following scenarios: 1) Admins can try to wait until a favorable block to call rewardAndOpenNextDraw() since they control the entropy. 2) Admins can decide to never call rewardAndOpenNextDraw(), in which case the interest is locked forever. 3) Admins can delay calling rewardAndOpenNextDraw() for an extremely long period of time, waiting for most other users to exit so that the odds of winning the lottery are heavily in their favor.

Open the report

Contracts

No deployed address is recorded for these audits.

The reports name a repository or files. Open a report to see its scope.

The repositories and files the reports name

Show this on your site

Is this your project? Show this record on your own website. The label states what the record holds, links to this page and updates by itself. It is free and needs no sign-in.

Content

Facts

Automatic: the three strongest facts of this project’s own record (its last audit and two more), highlighted. They update with the record. Picking a fact turns Automatic off.

Fixed as
Language

Style

Layout
Theme
Accent
Corners

Format

Size
Date
Embed as
HTML
<head>
<script src="https://widget.trustblock.run/project-widget.min.js" defer></script>
</head>
<body>
<div
data-tb-project-widget
data-tb-project-slug="pooltogether"
></div>
</body>

Paste the code where the label should appear. It uses no API credit and updates by itself.

Something wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.

Tell us