# Clawpump

> ClawPump on Solana — create/chat with agents, trade, perps, DCA, lend, launch tokens, marketplace, predictions, gift cards, agent email, intelligence via mcp_clawpump_* tools. Use when the user mentions ClawPump, launching a token, an agent's wallet/balance, swaps, perps, gift cards, agent email, or DeFi on Solana.

- Skill: `solizardking/clawpump` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add solizardking/clawpump`
- Raw SKILL.md: https://api.skillmd.com/api/skills/solizardking/clawpump/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Solizardking (https://skillmd.com/u/solizardking)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/solizardking/clawpump

---


# ClawPump

ClawPump is a Solana platform for AI agents: each agent has a wallet and can
trade, run perps, DCA, lend, launch tokens, buy gift cards, send email from
its own inbox, and be bought/sold on a marketplace. Its full feature set
reaches Hermes through the **ClawPump MCP server** (134 tools, 10 resources,
10 prompts).

## Enabling ClawPump

The tools are not built in — they come from the ClawPump MCP server, which the
user installs once:

```
hermes clawpump setup          # interactive: remote (browser) or stdio (cpk_ key)
# or directly:
hermes mcp install clawpump        # remote OAuth (browser paste cpk_ key)
hermes mcp install clawpump-stdio  # local npx, CLAWPUMP_API_KEY in ~/.hermes/.env
```

If ClawPump tools are missing, tell the user to run `hermes clawpump setup` and
restart the session — do **not** try to call the ClawPump HTTP API directly.

## Tool naming

Every ClawPump tool is exposed under the MCP namespace **`mcp_clawpump_<tool>`**
(remote) or `mcp_clawpump-stdio_<tool>`. Throughout this doc the bare tool name
is used (e.g. `swap_quote`); call the namespaced form your tool list shows.

## agent_id

Most tools act on a specific agent. Resolve it once with `list_agents`, then
pass `agent_id`. If the user set `CLAWPUMP_DEFAULT_AGENT` (or has exactly one
agent), `agent_id` can usually be omitted. When unsure which agent, ask.

## What's available (134 tools, 21 groups)

| Group | Representative tools |
|-------|----------------------|
| Agents | `list_agents`, `get_agent`, `create_agent`, `update_agent`, `delete_agent`, `upload_agent_avatar`, `list_available_skills` |
| Chat | `chat_with_agent`, `get_chat_history`, `get_free_tier_status` |
| Autonomous runs | `list_agent_runs`, `create_agent_run`, `update_agent_run`, `cancel_agent_run`, `get_agent_run_steps` |
| Custom skills | `list_custom_skills`, `get_custom_skill`, `create_custom_skill`, `update_custom_skill`, `delete_custom_skill` |
| Trading | `swap_quote`, `swap_execute`, `token_search`, `get_portfolio`, `get_price`, `get_market_signals`, `get_indicators`, `arbitrage_quote`/`arbitrage_prices` |
| DCA / limits | `dca_create`, `dca_list`, `dca_cancel`, `limit_order_create`, `limit_order_cancel`, `limit_order_history` |
| Phoenix perps | `perps_markets`, `perps_market_data`, `perps_account`, `perps_account_prepare`, `perps_trader_register`, `perps_collateral_deposit`, `perps_collateral_withdraw`, `perps_order_preview`, `perps_order_execute`, `perps_order_cancel` |
| Lending (Jupiter) | `jup_lend_tokens`, `jup_lend_positions`, `jup_lend_deposit`, `jup_lend_withdraw` |
| Predictions | `predictions_events`, `predictions_positions`, `predictions_open`, `predictions_close` |
| Token launch | `get_launch_status`, `launch_token_gasless`, `launch_metaplex_genesis_token` |
| Marketplace | `browse_marketplace`, `create_marketplace_listing`, `delist_marketplace_listing`, `browse_public_agents`, `place_bid`, `get_my_bids`, `get_received_bids`, `accept_marketplace_bid`, `reject_marketplace_bid`, `withdraw_marketplace_bid`, `get_marketplace_history` |
| Agent cards (Laso) | `agent_card_search_merchants`, `agent_card_search_gift_cards`, `agent_card_quote`, `agent_card_create`, `agent_card_list`, `agent_card_get`, `agent_card_status`, `agent_card_data`, `agent_card_balance`, `agent_card_reveal`, `agent_card_cancel`, `agent_card_refresh`, `agent_card_withdraw`, `agent_card_withdrawals`, `agent_card_connect`, `agent_card_connect_link` |
| Agent mail | `agent_mail_create`, `agent_mail_get_address`, `agent_mail_send`, `agent_mail_list`, `agent_mail_read` |
| Pay.sh x402 (agent-wallet paid APIs) | `pay_sh_search`, `pay_sh_provider_details`, `pay_sh_prepare_call`, `pay_sh_execute_approved` |
| Dexter x402 marketplace (discovery) | `dexter_search` |
| Open x402 (pay any URL) | `x402_pay_check`, `x402_pay` |
| UsePod (run + fund your own inference pod) | `usepod_provision`, `usepod_deposit` |
| Wallet & billing | `get_balance`, `get_budget`, `get_usage`, `get_transactions`, `get_wallet_summaries`, `get_wallet_history`, `get_private_wallet_balance`, `get_balance_history`, `sync_billing`, `wallet_transfer` |
| Market intelligence | `intelligence_capabilities`, `intelligence_market`, `intelligence_signals`, `intelligence_macro`, `intelligence_perps` |
| Integrations | `list_integrations`, `save_integration`, `remove_integration`, `get_linked_accounts` |
| Account | `get_account_status`, `connect_twitter`, `configure_twitter_posting`, `set_external_wallet`, `generate_link_code`, `link_google_account`, `get_dashboard_urls` |
| Whitelist | `get_whitelist`, `add_to_whitelist`, `remove_from_whitelist` |
| Utility | `get_model_catalog`, `get_news_feed` |

By default only the **95 read-mostly** tools are enabled (including
`usepod_provision`, whose only fund-moving path is double-gated by
`confirm_deposit`). The financial ones below are opt-in via
`hermes mcp configure clawpump`.

## ⚠️ FINANCIAL & IRREVERSIBLE TOOLS — confirmation is mandatory

These move real funds on-chain or are irreversible. **Never call them without
the user's explicit, specific go-ahead in this conversation.** Quote the exact
action (amounts, token, agent) and wait for a clear yes. Several require an
explicit confirm flag (e.g. `confirmRisk: true`, `confirm_launch: true`,
`confirm_spend: true`, `confirm_send: true`, `confirm_transfer: true`,
`confirm_payment: true`) — only set it after the user agrees.

- Trading: `swap_execute`, `dca_create`, `dca_cancel`, `limit_order_create`, `limit_order_cancel`
- Perps: `perps_account_prepare`, `perps_trader_register`, `perps_collateral_deposit`, `perps_collateral_withdraw`, `perps_order_execute`, `perps_order_cancel`
- Lending: `jup_lend_deposit`, `jup_lend_withdraw`
- Predictions: `predictions_open`, `predictions_close`
- Marketplace (funds/ownership): `place_bid`, `accept_marketplace_bid`, `reject_marketplace_bid`, `withdraw_marketplace_bid`, `delist_marketplace_listing`
- Token launch: `launch_token_gasless`, `launch_metaplex_genesis_token`
- Account / lifecycle: `set_external_wallet`, `delete_agent`, `delete_automation`, `delete_custom_skill`, `cancel_agent_run`, `remove_integration`, `remove_from_whitelist`
- Agent cards (Laso): `agent_card_create` (pays USDC from the agent wallet — quote first), `agent_card_withdraw`, `agent_card_cancel`, `agent_card_reveal` (exposes the card number / redemption secret)
- Agent mail: `agent_mail_create` (one-time ~$2 USDC from the agent wallet), `agent_mail_send` (outward-facing email; paid per send via x402 from the agent wallet)
- Wallet: `wallet_transfer` (irreversible on-chain send; destination must be on the agent's whitelist via `add_to_whitelist`; quote the exact amount, token, and address, then `confirm_transfer: true`)
- Pay.sh x402: `pay_sh_execute_approved` (pays USDC from the agent wallet via x402 — always `pay_sh_prepare_call` first; quote the exact endpoint + price; approval codes expire in 10 minutes; requires the `x402` skill on the agent)
- UsePod: `usepod_deposit` (top up the user's own UsePod pod from the agent's ClawPump wallet, to pay for Hermes/agent inference usage — irreversible on-chain USDC deposit of the **full** amount, no fee; the user supplies their 16-hex `deposit_code` from UsePod `/v1/register`; double-check the code and amount, then `confirm_deposit: true`)

**Always get a quote/preview first** (`swap_quote` before `swap_execute`,
`perps_order_preview` before `perps_order_execute`, `agent_card_quote` before
`agent_card_create`, `pay_sh_prepare_call` before `pay_sh_execute_approved`)
and show it to the user before executing. Report tx signatures back when a
call succeeds.

## Resources (read with the MCP resource reader)

Live read-only views under `clawpump://`:

- `clawpump://me` — current account/auth status
- `clawpump://agents` — all your agents
- `clawpump://agents/{agentId}` — one agent's detail
- `clawpump://agents/{agentId}/balance` — credit balance
- `clawpump://agents/{agentId}/usage` — usage & budget
- `clawpump://agents/{agentId}/chat` — chat history
- `clawpump://agents/{agentId}/runs` — autonomous runs
- `clawpump://marketplace` — marketplace listings
- `clawpump://models` — available LLM models
- `clawpump://wallets` — wallet summaries

Each resource is also reachable via an equivalent tool (e.g. `list_agents`,
`get_balance`, `get_wallet_summaries`), so if the resource reader isn't handy,
call the matching tool.

## Guided workflows (mirror the MCP prompts)

The server defines these prompt flows; run them with the tools above:
`get-started`, `create-agent`, `setup-trading`, `launch-token`, `review-costs`,
`setup-automations`, `explore-marketplace`, `setup-dca`, `explore-predictions`,
`earn-yield`.

Common patterns:
- **New user:** `get_account_status` → `list_agents`; if none, `create_agent`.
- **Trade:** `token_search` → `swap_quote` → (confirm) → `swap_execute`.
- **Launch a token:** `get_launch_status` → confirm details → `launch_token_gasless` (gasless) or `launch_metaplex_genesis_token`.
- **Check portfolio:** `get_balance` + `get_portfolio` + `get_wallet_summaries`.
- **Perps:** `perps_markets`/`perps_market_data` → `perps_order_preview` → (confirm) → `perps_order_execute`.
- **Gift card:** `agent_card_search_merchants`/`agent_card_search_gift_cards` → `agent_card_quote` → (confirm) → `agent_card_create` → `agent_card_status`; `agent_card_reveal` only when the user asks for the card details.
- **Agent email:** `agent_mail_get_address`; no inbox → (confirm ~$2 USDC) `agent_mail_create`; then `agent_mail_send` (confirm) or `agent_mail_list` → `agent_mail_read`.
  - **Deliverability (avoid spam):** write genuine, complete messages — a specific subject, a greeting, 2–4 sentences of real purpose, and a sign-off. Never send one-word/empty bodies or test-like "hello": low-content mail from a fresh sender domain is the #1 spam trigger. Do **not** use fake-urgent or deceptive subjects ("IMPORTANT!!", "URGENT") to game filters — that backfires and is deceptive. Tell first-time recipients to mark "Not spam" + add the address to contacts; that trains their inbox fastest.
- **Fund an external wallet (e.g. a pay.sh allowance):** `get_balance` → `add_to_whitelist` (user-approved address) → (confirm) `wallet_transfer`. See the `pay-sh` skill.
- **Paid x402 API call (agent wallet pays):** `pay_sh_search` → `pay_sh_provider_details` (price) → `pay_sh_prepare_call` → (confirm price with user) → `pay_sh_execute_approved`. The agent needs the `x402` skill (`update_agent` with `enabled_skills`).
- **Discover x402 APIs on Dexter:** `dexter_search` (free, by capability — e.g. "ETH price", "image generation") returns matching resources with their payable `resourceUrl`, HTTP method, per-call USDC price, and input schema. No separate Dexter wallet.
- **Pay ANY x402 URL (open, not just a catalog):** `x402_pay_check` (free — fetch the URL's 402 challenge → price + input schema) → quote the price to the user → `x402_pay` (pays from the agent's ClawPump wallet, `confirm_payment: true`, `max_amount_usd` = the cap the user approved). Works on any x402 endpoint, including a `resourceUrl` from `dexter_search`. The wallet signs server-side; spend is hard-capped. Needs the `x402` skill (`update_agent` with `enabled_skills`).
- **Payment funds:** check with `get_wallet_summaries` (`usdc_balance`).
- **Pay your Hermes inference from the ClawPump wallet (UsePod):** if the user runs Hermes on their own UsePod pod (`USEPOD_API_KEY` in `~/.hermes/.env`), they can top that pod up straight from their ClawPump wallet instead of funding it manually at usepod.ai. Flow: `get_balance` (confirm the agent wallet holds enough USDC) → ask for the amount + their 16-hex `deposit_code` (from UsePod `/v1/register`) → quote both back → (confirm) `usepod_deposit` with `confirm_deposit: true`. The full amount goes on-chain into that pod (no fee); UsePod then draws inference cost from it. This is **separate** from ClawPump's own hosted chat/credits — it just pays the user's own pod from their wallet.

## Setting up Pod (UsePod) — auto flow

When a user picks **Pod** in the `/provider` (or `/model`) picker and it isn't
configured, the picker hands you a request to set it up. Pod is a drop-in
inference provider whose usage is paid in USDC from the user's ClawPump wallet.
**Make this as automatic as possible — there is nothing to paste and nothing to
restart: the CLI auto-applies the token and switches the session onto Pod the
moment `usepod_provision` returns.**

1. **Ask the amount + which agent wallet.** "How much USDC do you want to put on
   your Pod? (e.g. 5)" — optionally check `get_balance` first so you know it can
   cover it. Then "Which ClawPump agent wallet should fund it?" — call
   `list_agents` and let the user pick one; use its `agent_id`. (If there is only
   one agent you may skip the question and omit `agent_id`.)
2. **Create + fund in one call** — `usepod_provision` registers a brand-new pod
   (no signup, no human step) and funds it from the chosen agent wallet. After
   the user approves the amount, call `usepod_provision` with that `amount`, the
   selected `agent_id`, and `confirm_deposit: true`. It returns `api_token` (the
   pod credential) + `deposit_code` and the funding `signature`.
3. **It's applied automatically** — in the interactive Hermes CLI, the instant
   `usepod_provision` returns, Hermes writes `USEPOD_API_KEY` (+
   `USEPOD_DEPOSIT_CODE`) to `~/.hermes/.env` and switches this session onto
   Pod. No `claw model`, no paste, no restart. Watch for Hermes' own
   confirmation line (`✓ Now running on Pod: …`) and then tell the user "Your
   pod is funded and this session is now running on Pod — the next message bills
   from your pod." Report the funding `signature`. Do **not** print the
   `api_token` (it's a secret and is already applied). (On non-interactive
   runtimes — bots/API — the credential is saved but the live switch happens on
   the next start; say "restart to run on Pod" instead of claiming it switched.)

Notes:
- **Top up an existing pod** (user already set Pod up before): skip provisioning
  — ask for the amount + their 16-hex `deposit_code`, then `usepod_deposit` with
  `confirm_deposit: true`. (`usepod_deposit` is a fund-mover and is opt-in: if
  it isn't available, the user enables it via `hermes mcp configure clawpump`.)
- `usepod_provision` registers the pod first and funds best-effort, so if funding
  fails the user still gets a valid `api_token` (look for `funding_error`) — the
  token is still auto-applied; fund it afterward with `usepod_deposit`.
- This is **separate** from ClawPump's hosted chat/credits — it pays the user's
  own pod from their wallet. Always confirm the amount before the on-chain spend
  and report the tx signature.

