Uniswap Self Funding Setup
by @wpank
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.
clawhub install self-funding-setupπ About This Skill
name: self-funding-setup description: >- 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. model: opus allowed-tools: - Task(subagent_type:wallet-provisioner) - Task(subagent_type:token-deployer) - Task(subagent_type:treasury-manager) - Task(subagent_type:identity-verifier) - Read - Write - Edit - Glob - Grep - mcp__uniswap__get_supported_chains - mcp__uniswap__get_agent_balance - mcp__uniswap__check_safety_status
Self-Funding Setup
Overview
The 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:
1. 5 domains compressed into 1 command: Wallet provisioning, token deployment, treasury management, identity registration, and payment configuration each require different expertise and tooling. Manually coordinating these takes hours and requires deep knowledge of Privy/Turnkey APIs, Uniswap V4 pool creation, DCA strategies, ERC-8004 registries, and x402 protocol. This skill handles all five. 2. Context flows between stages: Each agent receives the output of all prior agents. The treasury-manager knows the wallet address from Step 1 and the token address from Step 2. The identity-verifier registers the wallet from Step 1 with the capabilities demonstrated by Steps 2-3. Without this skill, you'd manually copy-paste addresses and configuration between five separate tools. 3. Conditional pipeline: Token deployment (Step 2) is optional -- skip it for agents that earn through services rather than token economics. The skill adapts the remaining steps based on which revenue model is selected. 4. Rollback awareness: If Step 3 fails, Steps 1 and 2 are still valid and preserved. The skill reports exactly which steps succeeded and which failed, so you can fix the issue and re-run from the failure point rather than starting over. 5. Progressive output: You see each stage complete in real-time with a running summary. By the end, you have a complete "agent identity card" showing every component of the self-funding infrastructure.
When to Use
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.
Parameters
| 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.
Workflow
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 β
β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Step 1: Wallet Provisioning
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...
Step 2: Token Deployment (Optional)
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...
Step 3: 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...
Step 4: 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...
Step 5: Payment Configuration
Configure x402 micropayment acceptance directly (no agent needed):
1. Verify the wallet has USDC on the settlement chain (Base recommended).
2. Write .uniswap/x402-config.json with payment configuration.
3. Write .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
Output Format
Full Setup (with token)
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
Setup Without Token
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)
Partial Failure
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)
Important Notes
environment parameter.Error Handling
| 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.) |