Install
openclaw skills install self-funding-setupClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Set up a complete self-funding agent lifecycle in one command. Orchestrates 5 agents to take an agent from zero to self-sustaining: provisions wallet, optionally deploys token with V4 pool, configures treasury management, registers identity on ERC-8004, and sets up x402 micropayments. Use when user wants to make their agent self-funding, earn and manage its own revenue, or configure autonomous agent operations end-to-end.
openclaw skills install self-funding-setupThe most complex composite skill in the system. Orchestrates 5 specialized agents in sequence to take an agent from zero infrastructure to a fully self-sustaining economic entity -- wallet, optional token, treasury management, on-chain identity, and payment acceptance -- in a single command.
Why this is 10x better than setting up each component manually:
Activate when the user says anything like:
Do NOT use when the user only wants one component (use the individual skills: setup-agent-wallet, deploy-agent-token, manage-treasury, verify-agent, or configure-x402 respectively), or when the agent is already partially set up and only needs one missing piece.
| Parameter | Required | Default | How to Extract |
|---|---|---|---|
| walletProvider | No | privy | "privy" (dev), "turnkey" (production), or "safe" (max security) |
| deployToken | No | false | Whether to deploy an agent token: "yes", "with token", "launch token" |
| tokenName | If token | -- | Token name if deploying: "AgentCoin", "MyBot Token" |
| tokenSymbol | If token | -- | Token symbol if deploying: "AGENT", "BOT" |
| chains | No | base | Operating chains: "base", "ethereum", "base,ethereum" |
| revenueModel | No | x402 | "x402" (micropayments), "token-fees" (swap fees), "lp-fees", or "all" |
| environment | No | dev | "dev" (development), "staging", or "production" |
| initialFunding | No | -- | Initial funding amount: "$100", "0.1 ETH" |
If the user says "with token" or "launch a token", set deployToken=true and ask for tokenName and tokenSymbol if not provided.
SELF-FUNDING SETUP PIPELINE
┌──────────────────────────────────────────────────────────────────────┐
│ │
│ Step 1: WALLET PROVISIONING (wallet-provisioner) │
│ ├── Determine provider: privy (dev) / turnkey (prod) / safe (max) │
│ ├── Provision wallet with signing capabilities │
│ ├── Configure spending policies │
│ ├── Fund with gas (2x estimated need) │
│ └── Output: Wallet address, provider, policies │
│ │ │
│ ▼ wallet address feeds into all subsequent steps │
│ │
│ Step 2: TOKEN DEPLOYMENT (token-deployer) [OPTIONAL] │
│ ├── Deploy ERC-20 token contract │
│ ├── Create Uniswap V4 pool with anti-snipe hooks │
│ ├── Bootstrap initial liquidity │
│ ├── Lock LP tokens (10 years default) │
│ └── Output: Token address, pool address, LP position │
│ │ │
│ ▼ token + pool info feeds into treasury config │
│ │
│ Step 3: TREASURY MANAGEMENT (treasury-manager) │
│ ├── Configure auto-conversion of earned fees to stablecoins │
│ ├── Set up DCA strategy for volatile holdings │
│ ├── Configure yield optimization for idle capital │
│ ├── Set circuit breaker thresholds │
│ └── Output: Treasury config, burn rate, runway projection │
│ │ │
│ ▼ wallet + capabilities feed into identity registration │
│ │
│ Step 4: IDENTITY REGISTRATION (identity-verifier) │
│ ├── Register agent on ERC-8004 Identity Registry │
│ ├── Set capabilities metadata (trading, LP, services) │
│ ├── Initialize reputation score │
│ └── Output: ERC-8004 identity, trust tier, registry tx │
│ │ │
│ ▼ identity + wallet feed into payment config │
│ │
│ Step 5: PAYMENT CONFIGURATION (direct) │
│ ├── Configure x402 micropayment acceptance │
│ ├── Set per-tool pricing │
│ ├── Generate .well-known/x402-manifest.json │
│ ├── Verify USDC balance for pay mode │
│ └── Output: x402 config, pricing, manifest │
│ │
│ ═══════════════════════════════════════════════════════════ │
│ FINAL: AGENT IDENTITY CARD │
│ ├── Wallet, token, treasury, identity, payments -- all linked │
│ └── Complete self-funding infrastructure report │
│ │
└──────────────────────────────────────────────────────────────────────┘
Delegate to Task(subagent_type:wallet-provisioner):
Provision an agent wallet for self-funding operations:
- Provider: {walletProvider}
- Chains: {chains}
- Environment: {environment}
- Spending limit: $10,000/day (default for self-funding agents)
- Initial funding: {initialFunding} (or 2x estimated gas need)
This wallet will be used for:
- Token deployment (if enabled)
- Treasury management (fee conversion, LP)
- x402 payment settlement
- General agent operations
Configure appropriate spending policies for a self-funding agent.
Present to user after completion:
Step 1/5: Wallet Provisioned
Address: 0xABCD...1234
Provider: Privy (development)
Chain: Base (8453)
Funded: 0.05 ETH ($98.00)
Policies: $10,000/day, Router + Permit2 approved
Proceeding to token deployment...
If wallet already exists, detect it via mcp__uniswap__get_agent_balance and skip to Step 2:
Step 1/5: Wallet Already Configured (skipped)
Address: 0xABCD...1234
Balance: 0.12 ETH + 500 USDC
Status: Active
Skipping to next step...
Only execute if deployToken=true. Otherwise, skip to Step 3.
Delegate to Task(subagent_type:token-deployer):
Deploy an agent token for self-funding:
- Token name: {tokenName}
- Token symbol: {tokenSymbol}
- Chain: {chains[0]} (primary chain)
- Wallet: {wallet address from Step 1}
- Paired token: WETH
- Hooks: anti-snipe (2-block delay) + revenue-share (5%)
- LP lock: 10 years
- Initial liquidity: {derive from initialFunding or suggest minimum}
This token is part of a self-funding agent setup. The revenue-share hook
directs 5% of swap fees to the agent wallet for treasury management.
Present to user after completion:
Step 2/5: Token Deployed
Token: AgentCoin (AGENT)
Address: 0x5678...efgh
Chain: Base (8453)
Pool: AGENT/WETH V4 (0.3%, anti-snipe + revenue-share)
LP Lock: 10 years (unlocks 2036-02-10)
Revenue: 5% of swap fees -> agent wallet
Proceeding to treasury management...
If deployToken=false:
Step 2/5: Token Deployment (skipped)
No token deployment requested.
Revenue model: {revenueModel} (no token economics)
Proceeding to treasury management...
Delegate to Task(subagent_type:treasury-manager):
Configure treasury management for a self-funding agent:
- Wallet: {wallet address from Step 1}
- Chains: {chains}
- Action: assess + configure (initial setup, not full operations)
Revenue sources:
{if deployToken: "- Token swap fees (5% revenue share from AGENT/WETH pool)"}
{if revenueModel includes x402: "- x402 micropayments (USDC on Base)"}
{if revenueModel includes lp-fees: "- LP fee earnings"}
Configure:
- Auto-convert non-stablecoin earnings to USDC
- Conversion threshold: $10 minimum
- DCA enabled for large conversions
- Circuit breaker: halt if treasury drops below $100
- Operating reserve: 30 days of estimated burn rate
Present to user after completion:
Step 3/5: Treasury Configured
Treasury Value: $98.00 (initial funding)
Auto-Convert: Enabled (non-stables -> USDC, threshold: $10)
DCA: Enabled for conversions > 0.1% pool TVL
Circuit Breaker: $100 minimum (INACTIVE -- above threshold)
Burn Rate: ~$0/day (no operations yet)
Runway: Indefinite (no burn rate established)
Proceeding to identity registration...
Delegate to Task(subagent_type:identity-verifier):
Register this agent on ERC-8004:
- Agent address: {wallet address from Step 1}
- Chain: ethereum (ERC-8004 registries are on mainnet)
Capabilities to register:
{if deployToken: "- Token deployment and pool management"}
{if revenueModel includes x402: "- x402 service provider"}
- Uniswap trading and LP management
- Treasury management
After registration, query the trust tier to confirm.
Present to user after completion:
Step 4/5: Identity Registered
ERC-8004: Registered on Identity Registry
Address: 0xABCD...1234
Trust Tier: BASIC (new registration)
Reputation: 0/100 (initial -- builds with activity)
Registry Tx: https://etherscan.io/tx/0x...
Proceeding to payment configuration...
Configure x402 micropayment acceptance directly (no agent needed):
.uniswap/x402-config.json with payment configuration..well-known/x402-manifest.json for service discovery.Step 5/5: Payments Configured
Mode: Accept (x402 micropayments)
Chain: Base (8453)
Wallet: 0xABCD...1234
Facilitator: Auto-selected
Pricing:
Price quotes: $0.001/call
Pool analytics: $0.003/call
Route optimization: $0.005/call
Simulation: $0.010/call
Execution: $0.050/call
Config Files:
.uniswap/x402-config.json
.well-known/x402-manifest.json
Self-Funding Agent Setup Complete
══════════════════════════════════════════════
AGENT IDENTITY CARD
══════════════════════════════════════════════
Wallet:
Address: 0xABCD...1234
Provider: Privy (development)
Chain: Base (8453)
Balance: 0.05 ETH + 0 USDC
Token:
Name: AgentCoin (AGENT)
Address: 0x5678...efgh
Pool: AGENT/WETH V4 (0.3%)
Hooks: Anti-snipe + Revenue Share (5%)
LP Lock: 10 years
Treasury:
Auto-Convert: Enabled (-> USDC)
Circuit Break: $100 minimum
Burn Rate: ~$0/day (initial)
Runway: Indefinite
Identity:
ERC-8004: Registered (BASIC tier)
Reputation: 0/100 (builds with activity)
Registry: 0x7177...09A
Payments:
x402: Accepting micropayments
Settlement: USDC on Base
Pricing: $0.001 - $0.050 per call
══════════════════════════════════════════════
Pipeline: Wallet -> Token -> Treasury -> Identity -> Payments
Status: ALL 5 STEPS COMPLETE
Next Steps:
1. Fund the wallet with USDC for x402 pay mode
2. Share your x402 manifest for service discovery
3. Start operations to build reputation (rep: 0 -> basic -> verified)
4. Monitor treasury health with /manage-treasury
Self-Funding Agent Setup Complete
══════════════════════════════════════════════
AGENT IDENTITY CARD
══════════════════════════════════════════════
Wallet:
Address: 0xABCD...1234
Provider: Privy (development)
Chain: Base (8453)
Balance: 0.05 ETH
Token: Not deployed (service-based revenue model)
Treasury:
Auto-Convert: Enabled (-> USDC)
Circuit Break: $100 minimum
Revenue: x402 micropayments
Identity:
ERC-8004: Registered (BASIC tier)
Reputation: 0/100
Payments:
x402: Accepting micropayments
Settlement: USDC on Base
══════════════════════════════════════════════
Pipeline: Wallet -> (Token skipped) -> Treasury -> Identity -> Payments
Status: ALL STEPS COMPLETE (4/5, token skipped)
Self-Funding Agent Setup -- Partial
Step 1: Wallet COMPLETE (0xABCD...1234)
Step 2: Token COMPLETE (AGENT at 0x5678...efgh)
Step 3: Treasury FAILED (Could not configure auto-convert)
Step 4: Identity SKIPPED (depends on Step 3)
Step 5: Payments SKIPPED (depends on Step 4)
Error at Step 3: "Insufficient USDC balance for initial DCA configuration."
What's preserved:
- Wallet is provisioned and funded (Step 1)
- Token is deployed with pool and locked LP (Step 2)
To resume:
1. Fund wallet with USDC: send USDC to 0xABCD...1234
2. Re-run: "Set up self-funding" (will detect existing wallet + token)
environment parameter.| Error | User-Facing Message | Suggested Action |
|---|---|---|
| Wallet provisioning failed | "Could not provision wallet: {reason}." | Check provider credentials and retry |
| Wallet already exists | "Agent wallet already configured. Skipping to next step." | Proceeds automatically with existing wallet |
| Token deployment failed | "Token deployment failed at step: {reason}. Wallet is preserved." | Fix the issue and re-run (wallet will be reused) |
| Token already deployed | "Token {symbol} already deployed. Skipping to treasury." | Proceeds automatically with existing token |
| Treasury config failed | "Treasury configuration failed: {reason}. Wallet and token preserved." | Fund wallet and re-run |
| ERC-8004 registration failed | "Could not register on ERC-8004: {reason}. Prior steps preserved." | Check ETH balance on mainnet and retry |
| x402 config failed | "Could not write x402 configuration: {reason}." | Check file permissions and retry |
| Insufficient funding | "Wallet needs at least {X} ETH for gas. Current: {Y} ETH." | Fund the wallet before proceeding |
| Chain not supported | "{chain} does not support all required features." | Use Base or Ethereum for full feature support |
| Partial pipeline failure | "Setup completed partially. Failed at step {N}: {reason}." | Fix the failed step and re-run from that point |
| Provider not configured | "Wallet provider '{provider}' requires credentials not found in environment." | Set required env vars (PRIVY_APP_ID, etc.) |