1. Determine the scope of the audit. The smart contract and project specifications are defined by the project (their intended purpose) and the overall architecture. A specification helps the audit team understand the project’s goals when writing and using the code.
2. Provide an initial quote based on the amount of work needed.
3. Run tests. Their exact nature will change depending on the auditing team, their analysis tools, and their methods. Usually, both manual and automated tests are carried out.
4. Create a first draft of the report with errors found and provide it to the project team for feedback and follow-up fixes.
5. Publish the final report, considering any action taken by the team to address raised issues.