Button that executes a function on a smart contract from the connected wallet when clicked.

It ensures the following criteria before attempting to call the contract function:

  • There is a connected wallet (if there is not, it renders a ConnectWallet component instead.

  • The connected wallet is on the correct network as specified in the ThirdwebProvider 's activeChain prop. if it is not, it renders a "switch network" button instead.

If the action you are performing is async, make sure to return a Promise from the action function so that the SDK knows when the action is complete. This can be done by either using async/await or by returning a Promise .


import { Web3Button } from "@thirdweb-dev/react";
const App = () => {
return (
action={(contract) => contract.erc721.transfer("0x...", 1)}
Claim NFT