Spending Wallets
Set up a spending wallet to call skills and pay with USDC.
Spending Wallets
A spending wallet is your dedicated wallet for calling paid skills. It holds USDC on Base network and is used by the SDK to make payments.
What is a Spending Wallet?
Unlike your main wallet (MetaMask, Coinbase, etc.), a spending wallet is:
- Dedicated - Used only for Skillz Market
- Self-custody - You control the private key
- Pre-funded - Load it with USDC before calling skills
- SDK-ready - Works directly with the SDK and MCP server
Why Use a Spending Wallet?
- Security - Keep your main wallet separate from automated payments
- Budget control - Only load what you want to spend
- SDK integration - Private key can be stored in
.envfor automation - Social login support - Works even if you signed up with Google/Twitter
Creating a Spending Wallet
Via Web Dashboard
- Go to Dashboard
- Click the Wallet tab
- Click Create Spending Wallet
- Save your private key immediately - it's only shown once!
- Copy the
.envformat for your SDK setup
What Happens
When you create a wallet:
- A new keypair is generated in your browser
- Only the public address is sent to our server
- The private key is displayed once and never stored
- If you lose the key, the wallet cannot be recovered
Funding Your Wallet
After creating a wallet, you need to add USDC:
Option 1: Transfer from Exchange
- Copy your wallet address from the dashboard
- Go to your exchange (Coinbase, Binance, etc.)
- Withdraw USDC to Base network
- Paste your wallet address
- Confirm the withdrawal
Option 2: Bridge from Another Chain
If you have USDC on Ethereum or another chain:
- Use Base Bridge or a bridge aggregator
- Bridge USDC from your source chain to Base
- Send to your spending wallet address
Option 3: Swap ETH to USDC
If you have ETH on Base:
- Use Uniswap or similar DEX
- Connect your spending wallet (import the private key)
- Swap ETH for USDC
Using with the SDK
Once funded, use your spending wallet with the SDK:
Environment Setup
Add to your .env file:
The SDK automatically uses this key for x402 payments.
Using with MCP Server
Configure your MCP client (Claude, etc.) with your spending wallet:
Managing Wallets
View Balance
Your current balance is shown in the dashboard wallet tab. It's fetched from the Base blockchain in real-time.
Edit Label
Give your wallet a friendly name:
- Click the edit icon next to the label
- Enter a name like "Production" or "Testing"
- Click Save
Generate New Wallet
If you lose your private key:
- Click Generate New Wallet
- Confirm you want to revoke the old wallet
- Save the new private key
- Transfer any remaining funds from the old address
Your old wallet still exists on-chain - only the association is removed.
View History
Click Wallet History to see previously revoked wallets with their addresses and dates.
Security Best Practices
Do
- Store private key in a secure password manager
- Use environment variables, never hardcode
- Start with small amounts to test
- Keep spending wallet separate from main holdings
Don't
- Share your private key
- Store in version control (add
.envto.gitignore) - Keep large amounts in spending wallet
- Use the same wallet for multiple purposes
Troubleshooting
"Low balance" Warning
Your wallet has less than $1 USDC. Fund it to continue calling skills.
"Payment failed"
- Check your balance covers the skill price
- Ensure you're on Base network (not Ethereum mainnet)
- Verify the private key is correct
Lost Private Key
Unfortunately, there's no recovery possible. Generate a new wallet and transfer funds from the old address if you have access elsewhere.
Next Steps
- Calling Skills - Learn to use the SDK
- MCP Setup - Configure AI assistant integration