Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/contracts/api/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "API",
"position": 1,
"position": 3,
"collapsed": true,
"link": {
"type": "doc",
Expand Down
Binary file added docs/contracts/img/vault-verification.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/contracts/networks/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Networks",
"position": 9,
"position": 1,
"collapsed": true,
"link": {
"type": "doc",
Expand Down
55 changes: 55 additions & 0 deletions docs/contracts/verify-vault-contract.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Verify Vault Contract
sidebar_position: 2
---

# Verify Vault Contract

StakeWise Vaults use upgradeable proxy contracts based on [ERC-1967: Proxy Storage Slots ↗](https://eips.ethereum.org/EIPS/eip-1967).
This standard defines where proxy contracts store the address of their implementation (logic) contract, allowing block explorers like Etherscan to identify the relationship between them.

The proxy contract holds all the Vault state, while the implementation contract (e.g., `EthVault`) contains all the actual Vault logic.
When you interact with your Vault, the proxy delegates calls to the implementation.

To interact with your Vault on Etherscan — call functions, view the ABI, or inspect the source code — you need to verify the proxy, which links it to the implementation contract.

## Step-by-Step Guide

![Vault verification](./img/vault-verification.gif)

<p style={{ textAlign: 'center', fontSize: '0.9em', color: '#666', marginTop: '-10px', fontStyle: 'italic' }}>
Vault contract verification walkthrough
</p>

1. **Find Your Vault Contract Address**

If you need help finding your Vault contract address, see [Finding Your Vault Address →](/operator/Prerequisites#finding-your-vault-address) in the Prerequisites section.

2. **Open the Contract on Block Explorer**

Click on your Vault address in the **Details** section to open the block explorer, or paste it directly into your network's explorer: [etherscan.io ↗](https://etherscan.io) for Ethereum Mainnet, [gnosisscan.io ↗](https://gnosisscan.io) for Gnosis Chain, or [hoodi.etherscan.io ↗](https://hoodi.etherscan.io) for Hoodi Testnet.

3. **Go to the Contract Tab**

On the contract page, click the **Contract** tab.

4. **Verify the Proxy Contract**

- Click the **More Options** button
- Select **Is this a proxy?** from the dropdown menu
- You will be redirected to the **Proxy Contract Verification** page
- Click **Verify**
- Wait for the verification to complete
- Click **Save** to confirm the verification

5. **Access Contract Functions**

Return to your contract page on the block explorer. You should now see:

- **Read as Proxy** — query contract state (balance, fee percent, capacity, etc.)
- **Write as Proxy** — execute transactions

:::custom-notes[Note]
After verification, you can access all Vault functions directly through your network's block explorer.
The full list of available functions depends on your Vault type (`EthVault`, `EthMetaVault`, `GnoPrivVault`, etc.) and version.
:::