<!-- 0Gkit docs — CONTRACTS_REVERTED
     Source: https://docs.0gkit.com/errors/CONTRACTS_REVERTED
     LLM-friendly Markdown twin of the page. -->

# CONTRACTS_REVERTED

**Typed contract write reverted**

## What happened

A `typedContract.write.method(...)` call's simulation reverted. The revert reason is in the error message — usually a `require(...)` check or a custom error.

## How to fix

Read the revert reason; it names the failing precondition. Run `typedContract.write.method([...], { dryRun: true })` for the simulation-only path.

## Example

```ts
await typedContract.write.transfer([to, amount], { dryRun: true });
// Inspect the simulated revert reason without broadcasting
```

## Reference

- Namespace: `CONTRACTS`
- Help URL: `https://0gkit.com/errors/CONTRACTS_REVERTED`
- See also: [all error codes](/errors)
