Why This Matters for a Lending Protocol
When Kamino accepts a token as collateral, it is implicitly trusting the smart contract that backs that token. If the contract is exploited and the token’s value drops to zero, every loan collateralized by that token becomes undercollateralized instantly. Liquidators cannot execute profitably because there is no market for a worthless token. The result is bad debt — socialized among lenders. This is not theoretical. Smart contract exploits have caused billions in losses across DeFi:- Euler Finance (2023): $197M drained via a flash loan exploit in the lending contract itself
- Mango Markets (2022): $114M drained via oracle manipulation combined with thin liquidity
- Wormhole (2022): $320M drained from the bridge contract, affecting all wrapped tokens
Evaluation Criteria
Audit History
Has the token’s underlying contract been audited? How many times? By which firms? The assessment distinguishes between:- Multiple audits by reputable firms: Highest confidence. Different auditors catch different classes of bugs. Multiple independent reviews significantly reduce the probability of undetected critical vulnerabilities.
- Single audit by a reputable firm: Good baseline, but a single auditor may have blind spots.
- No audit or audit by unknown firms: Significantly elevated risk. The contract may contain undiscovered vulnerabilities.
Open Source
Is the contract’s source code publicly verifiable? Open-source contracts benefit from community review — thousands of developers and security researchers can inspect the code, report issues, and contribute to security. Closed-source contracts require trusting the development team exclusively. For tokens that depend on verified on-chain bytecode, the assessment checks whether the deployed bytecode matches the published source code (verifiable builds).Immutability vs. Upgradability
- Immutable contracts cannot be changed after deployment. Once audited, the security properties are permanent — but bugs cannot be fixed either.
- Upgradable contracts (via proxy patterns or multisig authority) can be modified. This allows bug fixes, but also introduces risk: the upgrade authority can change the contract’s behavior, potentially draining funds.
Battle-Testing
How long has the contract been live on mainnet? How much value has it secured over that period? A contract that has held $500M for two years without incident provides stronger evidence of security than one deployed last month, even if both have been audited. Battle-testing is not a substitute for auditing — it is complementary. Audits catch bugs before deployment; battle-testing reveals whether any bugs were missed in production conditions. The longer a contract operates under real economic conditions without exploit, the higher the confidence in its security.Bug Bounty
Does the project operate an active bug bounty program? Bug bounties create an ongoing economic incentive for white-hat security researchers to find and report vulnerabilities rather than exploit them. The assessment considers:- Bounty size: A $1M bounty attracts more research attention than a $10K bounty
- Scope: Does the bounty cover the specific contracts that back the token?
- Program maturity: How long has the bounty been active? Has it paid out?