ProcessHedera Smart Contract Service (HSCS)

A smart contract security review process for Hedera, from threat model to monitoring

A security review is not a single audit bolted onto the end of a project. It is a sequence that starts with a written specification and threat model and ends with monitoring a live contract. This page sets out seven steps tailored to Hedera, the platform-specific risks reviewers look for, and what internal testing, independent audit and formal verification each can and cannot tell you.

Reviewed 6 min read

On this page
  1. Matching review effort to what the contract controls
  2. The seven review steps at a glance
  3. Working through each review step
  4. Hedera-specific risks reviewers look for
  5. What each assurance layer proves, and what it leaves open
  6. A hypothetical review of an invoice-financing contract
  7. Questions and answers
  8. Sources

Matching review effort to what the contract controls

A contract that issues attendance badges and one that holds tokenised bonds can share a code style and a test framework, but they should not share a review budget. Effort should scale with what the contract controls: the value it can move, the rights it can grant or revoke, and how hard its mistakes are to undo. A contract that can simply be redeployed with an apology needs less scrutiny than one whose errors lock funds or misassign ownership.

On Hedera, that judgement includes the native services a contract reaches. A contract that calls the Hedera Token Service can mint, transfer or freeze tokens through a system contract, and those powers weigh as much as anything written directly in Solidity. ColdAI's position is that a test suite is not a security guarantee, and that independent review deserves consideration before contracts control valuable assets or consequential rights1.

The seven review steps at a glance

01Specify andthreat-model02Hedera-specific checks03Test in depth04Constrain admin powers05Independent audit06Deployment ceremony07Monitor and respond
  1. Specify and threat-model

    States, invariants, privileged roles and trusted inputs written down.

  2. Hedera-specific checks

    Response codes, association, tinybar maths and key structures reviewed.

  3. Test in depth

    Property, fuzz, invariant and adversarial tests beyond the happy path.

  4. Constrain admin powers

    Upgrade, pause and key authority limited and disclosed.

  5. Independent audit

    A frozen commit reviewed by people who did not write it.

  6. Deployment ceremony

    Reproducible build, production keys, verified source.

  7. Monitor and respond

    Alerts, a rehearsed pause and a communication plan.

Conceptual order of a contract security review; in practice steps overlap, and a finding at any step can send work back to an earlier one.

Working through each review step

  1. Write the specification and threat model

    Describe each state the contract can occupy, the transitions between states, the invariants that must always hold (for example, that total supply equals the sum of balances), the privileged roles and the off-chain inputs the contract trusts. Then list who would gain from breaking each invariant, and how.

    Output
    Specification and threat model
    Owner
    Product owner with the contract lead
  2. Apply the Hedera-specific risk checklist

    Walk the code against the platform risks listed below and mark each item as handled, not applicable or open, with a note on how it was checked.

    Output
    Completed checklist
    Owner
    Contract lead
  3. Test beyond the intended flow

    Add property-based and fuzz tests that throw generated inputs and call sequences at the contract, invariant tests that check the specification after every call, and adversarial scenarios written by someone other than the author.

    Output
    Test suite with invariants
  4. Constrain and disclose admin powers

    Decide whether the contract is upgradeable, who can upgrade or pause it, whether changes pass through a timelock, and whether control sits behind a threshold key so no single person can act alone. Publish those powers in plain language.

    Output
    Admin-powers statement
    Owner
    Product owner
  5. Commission an independent audit

    Scope the audit to a frozen commit and hand over the specification, threat model, checklist and test results. Triage each finding as fixed, accepted with a stated reason, or disputed with evidence, and have fixes re-reviewed.

    Output
    Audit report and triage log
    Owner
    CTO
  6. Run a deployment ceremony

    Deploy from a reproducible build with keys in production custody, check every constructor and initialisation parameter against the specification, verify the source on Sourcify so HashScan displays it2, and record each transaction.

    Output
    Deployment record
  7. Monitor and respond

    Watch mirror-node contract logs and balances for the events and thresholds the threat model flagged, rehearse the pause procedure, and keep a message ready for users and counterparties if something goes wrong.

    Output
    Monitoring and incident runbook
    Owner
    Operations

Hedera-specific risks reviewers look for

0 of 9 checked

What each assurance layer proves, and what it leaves open

Assurance layerWhat it gives youWhat it does not prove
Unit and integration testsThe behaviours someone thought to test work as intendedThat untested inputs or call sequences are safe
Property, fuzz and invariant testsStated rules hold across many generated inputs and sequencesThat the stated rules are complete or correct
Independent auditExperienced reviewers have examined a fixed commit against known vulnerability classes and your specificationThat code changed afterwards, or risks outside the scope, are safe
Formal verificationProof that the code satisfies specific formally stated propertiesThat those properties capture everything users care about, or that the platform behaves as the tool models it
Monitoring and incident responseEarly detection and a rehearsed reaction when something goes wrongPrevention; it limits damage rather than avoiding it

Some teams map review depth to a published scheme such as the EEA EthTrust Security Levels specification7. Whichever you use, record which layers each release has passed.

A hypothetical review of an invoice-financing contract

Questions and answers

What should we hand a smart contract auditor?

A frozen commit, a build that reproduces the deployed bytecode, the written specification and threat model, the admin-powers statement, the completed Hedera risk checklist, test and coverage results, and a list of known issues you have accepted. Name a technical contact who can answer questions quickly. Auditors spend less time reconstructing intent, and more time looking for defects, when the intent is written down.

Do we need formal verification for our contracts?

Not for most contracts. It is worth considering when a contract is small, holds significant value and has properties that can be stated precisely, such as conservation of balances or a strict state machine. It proves only the properties you write, under the tool's model of the platform, so it complements tests and an audit rather than replacing either.

Who signs off a contract before mainnet?

The accountable product owner, not the auditor. Sign-off should confirm that every audit finding has been triaged, admin powers are disclosed, keys are in production custody, and monitoring and the pause procedure have been rehearsed. In regulated settings the risk or compliance function usually co-signs, and the record of that decision belongs with the deployment record.

When should a live contract be reviewed again?

Whenever its code, its admin configuration or the value it controls changes materially: an upgrade through a proxy, a new token integration, a change of key holders or a large increase in the assets it holds. Between changes, review alerts and rehearse the incident procedure periodically so the response plan stays current.

Sources

  1. Hedera Smart Contract Service: delivery approach and boundary — ColdAI
  2. How to verify a smart contract on HashScan — Hedera documentation · checked 10 October 2026
  3. System smart contracts — Hedera documentation · checked 10 October 2026
  4. Decimal handling (8 vs 18 decimals) — Hedera documentation · checked 10 October 2026
  5. Accounts, signature verification and keys (ECDSA vs ED25519) — Hedera documentation · checked 10 October 2026
  6. OWASP Smart Contract Top 10 — OWASP Foundation · checked 10 October 2026
  7. EEA EthTrust Security Levels Specification — Enterprise Ethereum Alliance · checked 10 October 2026

More in Hedera Smart Contract Service (HSCS)

Back to Hedera Smart Contract Service (HSCS)

Next step

Send the contract and tell us what value it will control

Share the repository or specification, the assets and rights involved and your target launch. We will propose a review scope covering threat modelling, Hedera-specific checks and fuzz testing, and say where a separate auditor should take over.

Plan a security review