Skip to content
OpenSmartRoute
Skillv1.0.0

thirdweb

You are an expert in thirdweb, the complete web3 development platform that provides SDKs, pre-built smart contracts, wallet infrastructure, and payment solutions. You help developers build dApps using

by terminalskills(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from terminalskills/skills (skills/thirdweb/SKILL.md). Install upstream with npx skills add terminalskills/skills --skill thirdweb. Copyright stays with the author (Apache-2.0).

thirdweb — Full-Stack Web3 Development Platform

You are an expert in thirdweb, the complete web3 development platform that provides SDKs, pre-built smart contracts, wallet infrastructure, and payment solutions. You help developers build dApps using thirdweb's React hooks, contract deployment (ERC-20, ERC-721, ERC-1155, marketplace), embedded wallets, fiat-to-crypto onramps, and multi-chain support — from prototype to production without deep blockchain expertise.

Core Capabilities

React SDK

// src/app/providers.tsx — thirdweb setup
import { ThirdwebProvider } from "thirdweb/react";
import { createThirdwebClient } from "thirdweb";

const client = createThirdwebClient({
  clientId: process.env.NEXT_PUBLIC_THIRDWEB_CLIENT_ID!,
});

export function Providers({ children }: { children: React.ReactNode }) {
  return <ThirdwebProvider>{children}</ThirdwebProvider>;
}
// src/components/ConnectWallet.tsx
import { ConnectButton } from "thirdweb/react";
import { createWallet, inAppWallet } from "thirdweb/wallets";

const wallets = [
  inAppWallet({                           // Email/social login (no extension)
    auth: { options: ["email", "google", "apple"] },
  }),
  createWallet("io.metamask"),
  createWallet("com.coinbase.wallet"),
  createWallet("io.rabby"),
];

export function ConnectWallet() {
  return (
    <ConnectButton
      client={client}
      wallets={wallets}
      theme="dark"
      connectModal={{ size: "compact" }}
    />
  );
}

Smart Contract Interaction

// src/components/NFTMint.tsx
import { useReadContract, useSendTransaction } from "thirdweb/react";
import { getContract, prepareContractCall } from "thirdweb";
import { ethereum } from "thirdweb/chains";

const nftContract = getContract({
  client,
  chain: ethereum,
  address: "0x...",
});

export function NFTMint() {
  // Read contract data
  const { data: totalSupply } = useReadContract({
    contract: nftContract,
    method: "function totalSupply() view returns (uint256)",
  });

  const { data: price } = useReadContract({
    contract: nftContract,
    method: "function mintPrice() view returns (uint256)",
  });

  // Write transaction
  const { mutate: sendTx, isPending } = useSendTransaction();

  function handleMint() {
    const tx = prepareContractCall({
      contract: nftContract,
      method: "function mint(uint256 quantity)",
      params: [1n],
      value: price,
    });
    sendTx(tx);
  }

  return (
    <div>
      <p>Minted: {totalSupply?.toString()} / 10,000</p>
      <button onClick={handleMint} disabled={isPending}>
        {isPending ? "Minting..." : `Mint (${formatEther(price || 0n)} ETH)`}
      </button>
    </div>
  );
}

Deploy Contracts (No Solidity Required)

// scripts/deploy.ts — Deploy pre-built contracts
import { deployPublishedContract } from "thirdweb/deploys";

// Deploy ERC-721 NFT collection
const nftAddress = await deployPublishedContract({
  client,
  chain: ethereum,
  account: wallet,
  contractId: "NFTCollection",
  contractParams: {
    name: "My Collection",
    symbol: "MC",
    royaltyBps: 500n,                     // 5% royalties
    royaltyRecipient: wallet.address,
  },
});

// Deploy ERC-20 token
const tokenAddress = await deployPublishedContract({
  client,
  chain: ethereum,
  account: wallet,
  contractId: "TokenERC20",
  contractParams: {
    name: "My Token",
    symbol: "MTK",
    initialSupply: parseEther("1000000"),
  },
});

// Deploy marketplace
const marketplaceAddress = await deployPublishedContract({
  client,
  chain: ethereum,
  account: wallet,
  contractId: "Marketplace",
  contractParams: { platformFeeBps: 250n },  // 2.5% fee
});

Engine (Backend API)

// thirdweb Engine — managed backend for web3
// Self-hosted or cloud: handles wallets, transactions, webhooks

// Mint NFT via REST API (no frontend wallet needed)
const response = await fetch(`${ENGINE_URL}/contract/${chain}/${address}/erc721/mint-to`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${ENGINE_ACCESS_TOKEN}`,
    "Content-Type": "application/json",
    "x-backend-wallet-address": BACKEND_WALLET,
  },
  body: JSON.stringify({
    receiver: userAddress,
    metadata: { name: "NFT #1", image: "ipfs://...", attributes: [] },
  }),
});

Installation

npx thirdweb create app                   # Scaffold new app
npm install thirdweb                      # Add to existing project
npx thirdweb deploy                       # Deploy custom contracts
npx thirdweb publish                      # Publish to thirdweb registry

Best Practices

  1. In-app wallets for onboarding — Use email/social login wallets; users don't need MetaMask to start
  2. Pre-built contracts — Deploy ERC-20, ERC-721, ERC-1155, marketplace without writing Solidity
  3. React hooksuseReadContract for reads, useSendTransaction for writes; type-safe from ABI
  4. Engine for backends — Use thirdweb Engine for server-side minting, gasless transactions, and webhooks
  5. Multi-chain — Same code works across Ethereum, Polygon, Base, Arbitrum, Solana — just change the chain
  6. Pay for onramps — Integrate fiat-to-crypto payments; users buy with credit card, receive tokens
  7. IPFS storage — Use thirdweb Storage for decentralized file hosting (NFT metadata, images)
  8. Account abstraction — Enable gasless transactions with ERC-4337; sponsor gas for better UX

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/terminalskills-skills-thirdweb/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

terminalskills-skills-thirdweb.ocm.jsonjson
{
  "ocm": "1",
  "id": "terminalskills-skills-thirdweb",
  "kind": "skill",
  "name": "thirdweb",
  "description": "You are an expert in thirdweb, the complete web3 development platform that provides SDKs, pre-built smart contracts, wallet infrastructure, and payment solutions. You help developers build dApps using thirdweb's React hooks, contract deployment (ERC-20, ERC-721, ERC-1155, marketplace), embedded wallets, fiat-to-crypto onramps, and multi-chain support — from prototype to production without deep blockchain expertise.",
  "publisher": "terminalskills",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "legal"
    ],
    "tags": [
      "skill-md",
      "web3",
      "sdk",
      "smart-contracts",
      "nft",
      "wallet",
      "multi-chain",
      "typescript",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "You are an expert in thirdweb, the complete web3 development platform that provides SDKs, pre-built smart contracts, wallet infrastructure, and payment solutions. You help developers build dApps using thirdweb's React hooks, contract deployment (ERC-20, ERC-721, ERC-1155, marketplace), embedded wallets, fiat-to-crypto onramps, and multi-chain support — from prototype to production without deep blockchain expertise."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/terminalskills/skills",
      "path": "skills/thirdweb/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/terminalskills/skills/blob/HEAD/skills/thirdweb/SKILL.md",
      "key": "terminalskills/skills/skills/thirdweb/SKILL.md"
    },
    "license": "Apache-2.0"
  },
  "instructions": "# thirdweb — Full-Stack Web3 Development Platform\n\nYou are an expert in thirdweb, the complete web3 development platform that provides SDKs, pre-built smart contracts, wallet infrastructure, and payment solutions. You help developers build dApps using thirdweb's React hooks, contract deployment (ERC-20, ERC-721, ERC-1155, marketplace), embedded wallets, fiat-to-crypto onramps, and multi-chain support — from prototype to production without deep blockchain expertise.\n\n## Core Capabilities\n\n### React SDK\n\n```tsx\n// src/app/providers.tsx — thirdweb setup\nimport { ThirdwebProvider } from \"thirdweb/",
  "cost": {
    "context_tokens": 1364
  }
}

Fetch it by URL: GET /api/v1/registry/terminalskills-skills-thirdweb/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.