# Introduction

Scribble is a runtime verification tool for Solidity that transforms annotations in the [Scribble specification language](https://docs.scribble.codes/language/introduction) into concrete assertions that check the specification. In other words, Scribble transforms existing contracts into contracts with equivalent behaviour, except that they also check properties. With these *instrumented* contracts, you can use testing, fuzzing or symbolic execution (for example using Mythril or the MythX service) to check if your properties can be violated.

![Scribble overview](https://2798867902-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M8HC-WPGFyn1pVhmUmu%2F-MNyRZ749lKfbjwAG1eN%2F-MNy_uW3glpo-4Gw9ghx%2Fscribble_overview.png?alt=media\&token=eb053f9f-b0fa-410c-8a69-b21b95733720)

{% hint style="warning" %}
Scribble is currently in beta, and both the tool and the language are still changing and under active development.
{% endhint %}

## Tutorials

To get started quickly check out these tutorials:

* [In-place testing with Scribble](https://docs.scribble.codes/tutorials/in-place-testing-with-scribble)
* [Property Checking with Scribble and MythX](https://docs.scribble.codes/tutorials/property-checking-with-scribble-and-mythx)
* [Property Checking with Scribble and Mythril](https://docs.scribble.codes/tutorials/property-checking-with-scribble-and-mythril)

## Documentation

This documentation has two categories: **Tool** and **Language**.

To get started using the Scribble CLI (**Tool**), check out the [Installation](https://docs.scribble.codes/tool/installation) and [CLI Usage](https://docs.scribble.codes/tool/cli-usage) pages.

Also be sure to check out the page on [arming and disarming](https://docs.scribble.codes/tool/cli-usage/arm-and-disarm), which explains how to use Scribble to do "in place" instrumentation. For a deep dive into instrumentation, and to debug any issues, check out the [Instrumented Code](https://docs.scribble.codes/tool/instrumented-code) and [Debugging](https://docs.scribble.codes/tool/instrumented-code/debugging-instrumented-code) pages.

To get started learning about the Scribble specification **language**, start [here](https://docs.scribble.codes/master).

{% hint style="info" %}
If you encounter any issues feel free to find us in the #scribble-spec-langauge channel of the [MythX Discord Server](https://discord.gg/TJGV3T7Y7V), or file an [issue](https://github.com/ConsenSys/scribble/issues/) on GitHub.
{% endhint %}

## Code

You can find the code on github - <https://github.com/ConsenSys/scribble>.
