QuillAudits’ comprehensive security audit of Tria uncovered critical vulnerabilities across authentication, airdrop logic, and frontend layers , delivering targeted fixes to strengthen platform integrity and protect user interactions.


Join 1500+ leaders who secured themselves from losing Billion Dollars



Tria is a self-custodial digital finance platform built to make crypto usable in everyday life. It combines a consumer neobank with its interoperability engine, BestPath, enabling users to trade, earn, and spend assets seamlessly across multiple blockchains without dealing with wallets, gas fees, or complex setups. Overall, Tria focuses on turning digital assets from passive holdings into an active, accessible financial system.
Tria is a self-custodial digital finance system designed to make crypto usable, programmable, and scalable. Its ecosystem combines multiple smart contracts to enable seamless asset management—where users can receive, store, stake, and spend tokens within a unified flow. The TriaStakingPool acts as a fixed-APR vault for time-based rewards, TriaSpend functions as an escrow-style wallet for controlled withdrawals, and TriaClaim enables secure token distribution via Merkle proofs with flexible routing into savings or spending. Supporting this system is the Tria Token, an ERC20-based asset built on OpenZeppelin standards with a fixed supply, ensuring reliability and consistency across the platform. Together, these components create a structured infrastructure that turns digital assets into an active financial layer rather than passive holdings.
Our approach to auditing Tria’s combined a security-first mindset, comprehensive threat modelling, and rigorous testing methodologies. By leveraging both white-box and black-box testing techniques, we conducted an in-depth assessment of the system. Throughout the process, we maintained transparency and clear communication with the Tria team, ensuring a collaborative and thorough security review.
Here is a breakdown of the critical vulnerabilities in audit discoveries and remediation strategies:
Description:
The deposit() function allows deposits to be made for an arbitrary _recipient, and user deposits are stored in an append-only array. Although deposits can be withdrawn, withdrawn entries are only zeroed out and not removed from storage, causing unbounded growth of the per-user deposits array over time. While removal of maxDepositsPerUser eliminates the permanent lockout vector, a malicious actor can still intentionally create many Minimum value deposits for a victim address, inflating storage and increasing gas costs for withdrawal operations.
Description:
The emergencyWithdraw function is intended as a safety hatch for users to retrieve their principal in case of critical issues. However, it includes the whenNotPaused modifier. If the Admin detects a bug and pauses the contract to stop exploits, they inadvertently trap all honest users, preventing them from using the emergency exit
Description:
The project intends to use Ownable2Step semantics (safe 2-step ownership transfer), but currently inherits from Ownable, not Ownable2Step. This means the owner can instantly transfer ownership in one transaction defeating the intended Two-Step security model documented in comments and project requirements. If the owner key is compromised or misused, privileged control can be reassigned instantly without the beneficiary’s acceptance
Implement storage cleanup or indexing (e.g., head/tail pointers) to skip withdrawn entries
Remove the whenNotPaused modifier from the emergencyWithdraw function. It should be callable even (and especially) when the contract is paused
Replace Ownable with Ownable2Step to enforce a safer two-step ownership transfer process
The audit uncovered critical weaknesses across authentication, wallet interactions, and claim logic areas that sit directly on the path of user funds.
By addressing these issues, Tria eliminated multiple real-world attack vectors that could have led to unauthorized claims, account compromise, and fund loss. The fixes not only strengthened security but also restored the core guarantees of ownership and trust that Web3 systems rely on.
This engagement highlights a key reality: in Web3, even small gaps in validation or access control can turn into high-impact exploits. Proactively identifying and fixing these issues before production significantly reduced Tria’s risk surface and positioned the platform for a more secure launch.

From day-zero risk mapping to exchange-ready audits — QuillAudits helps projects grow with confidence. Smart contracts, dApps, infrastructure, compliance — secured end-to-end.