Hashorn

Web3 Security

Web3 Security Checklist for Crypto and Blockchain Products

A practical Web3 security checklist for crypto and blockchain teams: smart contract audits, wallet UX security, on-chain attack patterns, and the SDLC integrations that prevent expensive incidents.

By Hashorn TeamMay 10, 2026 5 min read

Web3 security in 2026 is broader than smart contract audits. The expensive incidents in the last 18 months were rarely pure contract bugs. They were a mix of contract issues, frontend compromise, signature phishing, RPC provider weakness, and operational mistakes. This checklist covers the full surface that a serious crypto or blockchain product team should secure before mainnet and maintain throughout the lifecycle.

The Web3 security surface in 2026

A modern Web3 product has six categories of risk.

  • Smart contracts. Reentrancy, integer overflow, access control, upgrade patterns, oracle manipulation, MEV exposure.
  • Frontend. Phishing-resistant signing, transaction simulation, malicious approval prompts, dependency supply-chain attacks.
  • Wallet integration. Signature replay, EIP-712 typing, blind signing prevention, malicious dApp browser extensions.
  • Infrastructure. RPC provider integrity, sequencer trust assumptions, indexer poisoning, key management for signers and admins.
  • Operations. Admin key rotation, timelock policy, multisig hygiene, incident response, post-mortem culture.
  • Compliance and regulatory. VARA, DFSA, MiCA, SEC, FATF Travel Rule, sanctions screening, KYT integration.

Most teams cover the first two and discover the cost of the other four after an incident. The checklist below walks through each.

Pre-mainnet checklist

A serious Web3 product should not deploy to mainnet without each item below in place or explicitly waived with documented rationale.

Smart contracts

Smart contract pre-mainnet checklist

    Upgradeability and admin

    • Document the upgrade pattern (transparent proxy, UUPS, beacon) and the trust assumptions.
    • Multisig for admin keys, ideally with a timelock on sensitive functions.
    • Document the timelock window, the signers, the rotation policy.
    • Test the upgrade path on testnet, including rollback.

    Oracles and external dependencies

    • Use audited oracle providers (Chainlink, Pyth, RedStone). Validate the staleness window.
    • Build in a fallback for oracle failure: pause, default behaviour, or governance override.
    • Document the trust assumptions of every external contract you call.

    Frontend

    • All transaction calls must show human-readable transaction simulation before signing.
    • EIP-712 typed data on every signature request. No blind signing.
    • Approval requests show the spender and the amount. Unlimited approvals require an explicit "I understand" step.
    • Frontend dependency lockfiles and supply-chain monitoring (Socket, Snyk).
    • Subresource integrity on third-party scripts.

    Wallet integration

    • Test against MetaMask, WalletConnect, Rabby, Frame, Coinbase Wallet, Phantom (for Solana).
    • Verify signature replay protection.
    • Test rejection paths. The product should fail closed.

    Infrastructure

    • Use multiple RPC providers with fallback. Don't single-point on a free public node.
    • Indexer (The Graph, custom) under your own validation. Verify on-chain when stakes are high.
    • Sequencer trust assumptions documented for L2s.
    • Secret management for any operator keys (Vault, KMS, HSM).

    Operations

    • Incident response runbook. Who pauses the contract. How a freeze is communicated.
    • Multisig signer geographic distribution. No single timezone outage stops a freeze.
    • Post-mortem culture. Public when incidents are public.

    Compliance

    • Sanctions screening for jurisdictions in scope.
    • KYT (Know Your Transaction) integration for monitored flows.
    • Regulatory framework awareness: VARA in the UAE, MiCA in the EU, FCA in the UK, SEC in the US.
    • Travel Rule integration where applicable.

    The Web3 SDLC pattern

    A development lifecycle that consistently produces secure products:

    1. Design review. Threat model in writing. Trust assumptions called out.
    2. Implementation. Senior engineering, paired review, no solo merges on contract code.
    3. Automated checks. Slither, Mythril, Echidna, full unit test suite, fuzzing.
    4. Testnet rollout. Public testnet for 4 to 8 weeks before mainnet.
    5. External audit. Fix every Critical and High. Document Mediums.
    6. Mainnet with caps. Deploy with per-transaction and total-value caps that scale up over weeks.
    7. Bug bounty. Active from day one of mainnet.
    8. Monitoring. On-chain monitoring for anomalous behaviour.
    9. Periodic re-audit. Every major upgrade.

    Best practices that prevent the worst incidents

    • Slow down on launch day. Deploy with caps. Most exploits happen in the first 30 days when caps are loosest.
    • Plan for incidents in advance. A drafted incident statement, a pause function tested, a multisig with reachable signers.
    • Treat the frontend with the same seriousness as the contract. Most user-loss incidents in 2026 started with a frontend issue.
    • Pay for serious audits. Auditor reputation matters. The auditor's incentive to find issues matters more than the audit price.
    • Run a real bug bounty. Payouts proportional to TVL. Public scope. Fast responses. White-hat researchers are the cheapest security review you can buy.

    The signature-phishing trap

    If your dApp asks users to sign opaque transactions, you are training them to sign anything. EIP-712 typed data and human-readable simulation are not optional in 2026 — they are the difference between users who can spot a phishing prompt and users who can't. Most user-loss incidents we investigate start here.

    Common Web3 security mistakes

    • One audit, no follow-up. The contract evolves. The audit doesn't. New issues emerge from new code.
    • Blind signing. If your dApp asks users to sign opaque transactions, you are training them to sign anything.
    • Free public RPC for production use. Free public RPCs can rate-limit, censor, or feed you stale data. Use providers with SLA.
    • No timelock on admin functions. A compromised admin key empties the contract instantly. With a 48-hour timelock, the community has time to react.
    • Skipping post-mortem. Teams that don't publish post-mortems repeat their own incidents.

    How Hashorn helps Web3 teams

    Hashorn provides security engineering and AI software development for Web3, crypto, and blockchain teams operating under VARA, DFSA, MiCA, and other regulatory frameworks. We do contract review, frontend security, RPC and infrastructure hardening, and SDLC integration. We work with founders pre-mainnet and with established protocols as ongoing security partners.

    Conclusion

    Web3 security in 2026 is a full-product discipline. Contracts, frontend, infrastructure, operations, and compliance all sit on the same surface. A team that audits only the contract and assumes the rest will be fine ships products that are exploited at the frontend or the operational layer. Use this checklist as a baseline. Adapt it to your protocol. Re-run it before every major upgrade.

    Frequently asked questions

    Need help building AI-powered software, QA automation, or secure cloud systems?

    Talk to Hashorn's engineering team. Dedicated senior engineers, QA, and security with same-week ramp.

    Have an engineering challenge you'd like a hand with?

    Tell us what you're building, we'll tell you how we'd ship it.

    Book an intro call →