# Midpoint EOAs

All on-chain transactions come from a known EOA that your contract can verify.

```
// Checks that the caller is the known EOA. Ensures that your callback is only called when your midpoint returns a response.
require(tx.origin == 0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9, "Invalid EOA");
```

Live callback EOAs:&#x20;

<table><thead><tr><th width="266">Chain</th><th>Address</th></tr></thead><tbody><tr><td>Ethereum Goerli Testnet</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Optimism Goerli Testnet</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Arbitrum Goerli Testnet</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Polygon Mumbai Testnet</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Filecoin Hyperspace Testnet</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td></td><td></td></tr><tr><td>Ethereum</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Optimism</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Arbitrum</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr><tr><td>Polygon</td><td>0xC0FFEE4a3A2D488B138d090b8112875B90b5e6D9</td></tr></tbody></table>

Look for 0xC0FFEE when checking an address.&#x20;
