# Setting the scene

What we have:

* A **ERC20** `Transfer` **Event** emitted in **Sepolia** USDC contrac&#x74;**.**

What we need:

* The verification on **Chiado** chain of the actual **Sepolia** `Transfer` **event**.

How Hashi enables the Event verification:

* With **HashiAPI:** a offchain component used to retrieve the E**vent Proof** for the specific Sepolia Event emitted.
* With **HashiProver:** a onchain contract provided by Hashi which can verify the block proof provided by **HashiAPI**. **HashiProver** must be deployed on the target chain (**Chiado** in this case) and can be used in a custom contract which can use the Event proof verification provided by **HashiProver** itself.

Steps followed in this example:

* Fetch the event proof for `Transfer` event from **Sepolia**.
* Deploy a custom contract on **Chiado** that will verify the event proof using **HashiProver**.
* Submitting the proof to the custom contract.
