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

# INDEXER_EVENT_DECODE_FAILED

**Log topic doesn't match any ABI event**

## What happened

A log was fetched with a `topic0` that isn't in the contract's ABI — typically a stale ABI after a contract upgrade, or wrong contract address.

## How to fix

Refresh the ABI for the contract address (via `cast interface` or a redeployed artifact) and restart the indexer.

## Example

```ts
// Refresh the typed contract after upgrade
const typed = createTypedContract({ abi: freshAbi, address, client });
```

## Reference

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