To use Moralis provider that is injected with wallet you need to load it into async function, good way to do that could be to put it into async functiona and call it when its convinient which would be when you connect with wallet. So we do this\ const getProvider = async () => { const provider = await Moralis.enableWeb3(); const myContract = new ethers.Contract(contractAddress, abi, provider); }; and then call it on useEffect when web3 is enabled. useEffect(() => { if (isWeb3Enabled) { getPro...