I am receiving the following alert from Metamask.

ALERT: Trying to call a function on a non-contract address.

The address is most certainly a contract address, I can interact with it perfectly through the geth console.

7 Answers 7


Make sure that you are connected to the proper network through Metamask, the network that the contract is deployed on.


Try to close the browser and login Metamask again. I resolved the issue after did it.


In my case, I forgot to update my ABI JSON file. After the update, everything was fine.


Another possible issue that you changed your contract but haven't redeployed it.

Compile first:

truffle compile

and then redeploy:

truffle migrate --reset

Check your app again.


truffle migrate --reset

copy the contract address and ABI on your UI proyect

you can try with rinkeby so change your account


My ganache instance restarted since the original deployment and I had to redeploy the contract, in order to get it to work.

truffle migrate --reset

Please like this post, so I'm able to support other contributors who helped me out.


It was a problem for me too. Initially I was working on rinkeby, then I switched network to main and then again to rinkeby. It worked fine for me after that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.