What to Do If Your Contract Has No Read/Write Functions

If you open your contract on a block explorer and only see basic transfer functions (or no functions at all), your contract is a proxy that hasn't been linked to its implementation yet. Follow these steps to fix it.


Step 1: Go to the Contract's Code Tab

  1. Open your contract address on the block explorer (Etherscan, BscScan, etc.).

  2. Click the "Contract" tab.

  3. You should see some bytecode but no readable functions.

Step 2: Verify It's a Proxy

  1. On the Contract tab, look for a button or link that says "Is this a proxy?" or "More Options" → "Is this a proxy?".

  2. Click it.

Step 3: Detect the Implementation Address

  1. The explorer will attempt to detect the implementation contract address automatically.

  2. If successful, it will display the implementation address. Verify that the address shown looks correct.

  3. Click "Verify" or "Save" to confirm.

Step 4: Access Read/Write as Proxy

  1. Go back to the "Contract" tab.

  2. You should now see two new tabs: "Read as Proxy" and "Write as Proxy".

  3. Use these tabs to interact with the contract as described in the other guides.


Troubleshooting

  • "Is this a proxy?" not showing: Make sure you are on the Contract tab, not the Transactions tab. On some explorers, it's under a "More Options" dropdown.

  • Functions still missing after verification: Try refreshing the page. Some explorers take a minute to update.

Last updated