Complete guide for installing and configuring the thirdweb Stablecoin Checkout plugin for WooCommerce.
Before installing the plugin, ensure you have:
- ✅ WordPress 6.0 or higher
- ✅ WooCommerce 8.0 or higher installed and activated
- ✅ PHP 7.4 or higher
- ✅ Admin access to your WordPress site
- ✅ A free thirdweb account (sign up here)
- ✅ A thirdweb Client ID (obtained from dashboard)
- ✅ A blockchain wallet address to receive payments
- A wallet with testnet tokens (MetaMask, Coinbase Wallet, etc.)
- Access to testnets like Base Sepolia or Ethereum Goerli
Best for: Most users, automatic updates
-
Log into WordPress Admin
- Navigate to your WordPress admin panel
- URL format:
https://yoursite.com/wp-admin
-
Access Plugin Installer
- Go to Plugins → Add New
- In the search box, type:
thirdweb stablecoin checkout
-
Install the Plugin
- Locate the plugin in search results
- Click Install Now
- Wait for installation to complete
-
Activate the Plugin
- Click Activate Plugin
- You'll see a success notification with setup instructions
-
Proceed to Configuration
Best for: Users who downloaded the plugin ZIP file
-
Download the Plugin
- Download the latest release from GitHub Releases
- Save the
.zipfile to your computer
-
Upload to WordPress
- Go to Plugins → Add New
- Click Upload Plugin button at the top
- Click Choose File and select the downloaded ZIP
- Click Install Now
-
Activate the Plugin
- After upload completes, click Activate Plugin
-
Proceed to Configuration
Best for: Advanced users who want the latest development version
-
Clone or Download
# Clone the repository git clone https://github.com/thirdweb-dev/woocommerce-thirdweb-checkout.git # Or download ZIP from GitHub # https://github.com/thirdweb-dev/woocommerce-thirdweb-checkout/archive/refs/heads/main.zip
-
Build the Plugin (if cloning from source)
cd woocommerce-thirdweb-checkout # Install dependencies pnpm install # Build frontend assets pnpm run build
-
Upload to WordPress
- Compress the plugin folder to ZIP (or use
./package.sh) - Follow steps in Method 2
- Compress the plugin folder to ZIP (or use
Best for: Developers working on the plugin
-
Access Your WordPress Installation
cd /path/to/wordpress/wp-content/plugins/ -
Clone the Repository
git clone https://github.com/thirdweb-dev/woocommerce-thirdweb-checkout.git cd woocommerce-thirdweb-checkout -
Install Dependencies
pnpm install
-
Configure Environment (optional)
cp .env.example .env # Edit .env and add your Client ID -
Build Frontend
# Production build pnpm run build # Or development watch mode pnpm run start
-
Activate in WordPress
- Go to Plugins in WordPress admin
- Find "thirdweb Stablecoin Checkout for WooCommerce"
- Click Activate
After installation and activation, configure the plugin to accept payments.
-
Visit thirdweb Dashboard
- Go to thirdweb.com/dashboard
- Sign up or log in to your account
-
Create a Project (if you don't have one)
- Click Create Project
- Give it a name (e.g., "My WooCommerce Store")
- Click Create
-
Copy Your Client ID
- Open your project
- Go to Settings tab
- Find the Client ID section
- Click Copy to copy your Client ID
- Keep this secure - you'll need it in the next step
-
Access Payment Settings
- In WordPress admin, go to WooCommerce → Settings
- Click the Payments tab
- Find Stablecoin Payment in the list
- Click Manage (or toggle to enable first)
-
Fill in Required Settings
Setting Description Example Enable/Disable Toggle to enable the payment method ☑️ Enabled Title Name shown to customers at checkout Pay with StablecoinDescription Message shown to customers Pay securely with USDC, USDT, or other stablecoinsthirdweb Client ID Your Client ID from thirdweb dashboard abc123def456...Seller Wallet Address Wallet where you receive payments 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbChain ID Blockchain network for payments 8453(Base),1(Ethereum), etc.Token Address Specific token address (optional) Leave empty to accept any stablecoin -
Save Changes
- Click Save changes at the bottom
- You should see a success message
Common chain IDs:
| Network | Chain ID | Recommended For | Gas Costs |
|---|---|---|---|
| Base | 8453 |
🌟 Best for most stores | Very Low |
| Polygon | 137 |
High volume transactions | Very Low |
| Arbitrum | 42161 |
Lower fees than Ethereum | Low |
| Optimism | 10 |
Fast transactions | Low |
| Ethereum | 1 |
Maximum security | High |
💡 Recommendation: Use Base (8453) for the best balance of low fees and transaction speed.
Your seller wallet is where you'll receive customer payments.
Using MetaMask:
- Open MetaMask extension
- Click on your account name at the top
- Your address is displayed (starts with
0x) - Click to copy
- Paste into the "Seller Wallet Address" setting
Using Coinbase Wallet:
- Open Coinbase Wallet app
- Tap Receive
- Select Ethereum (or the network you're using)
- Copy your wallet address
- Paste into the plugin settings
- Ensure you have access to this wallet and its private keys
- Never share your private keys with anyone
- Test with a small amount first
- Make sure your wallet supports the blockchain network you selected
By default, the checkout widget will accept any stablecoin the customer has in their wallet.
To accept only a specific token (e.g., USDC), add its contract address:
Common Stablecoin Addresses:
| Token | Base (8453) | Ethereum (1) | Polygon (137) | Arbitrum (42161) |
|---|---|---|---|---|
| USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 |
0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
| USDT | - | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
0xc2132D05D31c914a87C6611C10748AEb04B58e8F |
0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 |
💡 Tip: Leave this field empty to maximize payment options for your customers.
-
Add Product to Cart
- Visit your store as a customer
- Add any product to cart
- Proceed to checkout
-
Select Payment Method
- At checkout, select Pay with Stablecoin (or your custom title)
- You should see the thirdweb checkout widget load
-
Connect Wallet
- Click Connect Wallet
- Choose your wallet (MetaMask, Coinbase Wallet, etc.)
- Approve the connection
-
Complete Payment
- The widget will show available tokens in your wallet
- Select a token and amount
- Confirm the transaction in your wallet
- Wait for confirmation (usually 1-10 seconds)
-
Verify Order
- You should see "Payment complete" message
- Click Place Order to complete checkout
- Check WooCommerce admin → Orders
- Order should be marked as "Processing" or "Completed"
- Order notes will include the transaction hash
For testing without real money:
-
Use a Testnet Chain ID
- Base Sepolia:
84532 - Ethereum Goerli:
5 - Polygon Mumbai:
80001
- Base Sepolia:
-
Get Testnet Tokens
- Base Sepolia faucet: docs.base.org/tools/testnet-faucets
- Ethereum Goerli faucet: goerlifaucet.com
-
Configure Testnet Token Address
- Use testnet USDC addresses (search "[network] testnet USDC")
-
Test the Flow
- Follow the same steps as real purchase
- Transactions will be free (only testnet gas)
Problem: Payment method shows but widget doesn't load
Solutions:
- Clear browser cache and hard refresh (Ctrl+Shift+R / Cmd+Shift+R)
- Check browser console for errors (F12 → Console tab)
- Verify WooCommerce is using block-based checkout (not classic)
- Ensure plugin is activated and settings are saved
- Check that
build/index.tsx.jsfile exists in plugin directory
Problem: Widget loads but says no tokens available
Solutions:
- Ensure your wallet has tokens on the correct network
- Check that you're connected to the right network in your wallet
- If using Token Address setting, verify it's correct for your network
- Try leaving Token Address empty to accept any stablecoin
- Ensure you have sufficient balance (order total + gas fees)
Problem: Wallet connection fails
Solutions:
- Check that your wallet extension is installed and unlocked
- Try a different wallet (MetaMask, Coinbase Wallet, WalletConnect)
- Clear wallet cache and reconnect
- Ensure your Client ID is correct
- Check browser console for specific error messages
Problem: Payment succeeds but order stays "Pending"
Solutions:
- Check WooCommerce order notes for transaction hash
- Verify transaction on block explorer (Etherscan, Basescan, etc.)
- Check that seller wallet address matches your actual wallet
- Ensure funds arrived at your wallet address
- Manually mark order as complete if payment verified
Problem: "Sorry, you are not allowed to access this page" error
Solutions:
- Ensure WooCommerce is installed and activated
- Log in as an Administrator
- Clear WordPress object cache if using caching plugins
- Deactivate and reactivate the plugin
Problem: pnpm run build fails
Solutions:
# Clear dependencies and rebuild
rm -rf node_modules pnpm-lock.yaml
pnpm install
pnpm run build
# Check Node version (needs 16+)
node --version
# Try with npm if pnpm fails
npm install
npm run buildIf you're still experiencing issues:
-
Check Documentation
-
Community Support
- thirdweb Discord
- #support channel for payment issues
-
Open an Issue
- GitHub Issues Page
- Include: WordPress version, WooCommerce version, error messages, browser console logs
✅ Production Checklist:
- Test with small amounts first
- Verify transactions arrive at your wallet
- Set up wallet security (hardware wallet recommended for large volumes)
- Add payment method to store policies
- Train support team on crypto payments
- Monitor transactions regularly
- Consider setting up Etherscan/Basescan alerts for your wallet
✅ Customization Options:
- Customize widget theme colors
- Add custom order metadata
- Implement multi-currency support
- Create custom email templates with transaction links
- Add analytics tracking
- Build admin dashboard for crypto payments
Environment Variables (optional, for development):
# Create .env file in plugin directory
THIRDWEB_CLIENT_ID=your_client_id_hereCustom Checkout Widget Styling:
Edit src/checkout-block/ThirdwebCheckout.tsx to customize the widget appearance.
Webhook Integration (future feature): Currently, payment verification happens client-side. Webhook support for server-side verification is planned for future releases.
-
Wallet Security
- Use hardware wallet for high-volume stores
- Never share private keys
- Enable 2FA on wallet accounts
- Regularly move funds to cold storage
-
Client ID Security
- Don't commit
.envfiles to Git (use.env.example) - Rotate Client IDs if exposed
- Use different Client IDs for dev/staging/production
- Don't commit
-
WordPress Security
- Keep WordPress, WooCommerce, and plugins updated
- Use strong admin passwords
- Enable HTTPS (SSL certificate required)
- Regular backups
- 📚 thirdweb Documentation
- 💬 thirdweb Discord Community
- 🐙 GitHub Repository
- 🔍 Base Block Explorer
- 🔍 Ethereum Block Explorer
- 📖 WooCommerce Blocks Documentation
Need Help? Join our Discord community or open an issue on GitHub.