{"id":"e017a10a-bb16-4ee0-94fc-722ed8fc4329","slug":"seashail","kind":"mcp","name":"seashail","summary":"Agent-native, self-hosted trading infrastructure for crypto and blockchain. Seamless OpenClaw integration. Contact https://x.com/TheHandsomeDev","owner":"seashail","repoUrl":"https://github.com/seashail/seashail","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":7,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-02-11T12:32:04.000Z","addedAt":"2026-10-21T16:48:01.222Z","logoUrl":"https://avatars.githubusercontent.com/u/260852320?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["data-analytics"],"tags":["agentic-workflow","agents","ai","artificial-intelligence","blockchain","claude","gemini","gpt"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T22:48:31.672Z","sample":false,"url":"https://conduits.dev/tools/seashail","language":"Rust","transports":["stdio"],"install":{"pypi":"seashail-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Seashail\n\n> English | **[简体中文](README.zh-CN.md)**\n\nAgent-native, self-hosted trading infrastructure for crypto. Seamless OpenClaw integration. \n\nSeashail is a local binary that exposes an [MCP](https://modelcontextprotocol.io/) server over stdio. Agents can query balances, execute trades, and manage DeFi positions while Seashail enforces a policy engine and keeps key material encrypted at rest. The agent never sees private keys.\n\n**[Full Documentation](https://seashail.com/docs)** | **[Install](#install)** | **[Quickstart](#quickstart)** | **[Supported Chains](#supported-chains)** | **[MCP Tools](#mcp-tools)** | **[Security Model](#security-model)**\n\n## Features\n\n- **60+ MCP tools** — spot swaps, sends, bridging, DeFi (lending, staking, liquidity), perpetual futures, NFTs, prediction markets, pump.fun\n- **Policy engine** — per-transaction and daily USD caps, slippage limits, leverage caps, allowlists, operation toggles, tiered approval (auto-approve / confirm / hard-block)\n- **Non-custodial key storage** — Shamir 2-of-3 secret sharing for generated wallets, AES-256-GCM encryption for imported wallets, passphrase sessions with configurable TTL\n- **Multi-agent safe** — proxy/daemon architecture lets multiple agents (Claude Desktop, Cursor, Codex, etc.) share one keystore and passphrase session without split-brain\n- **Multi-chain** — Solana, Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain, Avalanche, Monad, Bitcoin (+ configurable EVM chains and testnets)\n- **Agent-agnostic** — works with any MCP-capable client; one-click templates for 10+ agents/editors\n- **Scam protection** — optional signed scam-address blocklist, OFAC SDN checking, recipient/contract allowlists\n- **Verification** — release assets signed with Sigstore Cosign, SBOM generation (SPDX-JSON)\n\n## Install\n\nSeashail is distributed via GitHub Releases and can also be built from source. Your agent runs it as an MCP stdio server via `seashail mcp`.\n\n### macOS / Linux (installer)\n\n```bash\ncurl -fsSL https://seashail.com/install | sh\n```\n\nIf `seashail` is not found after install, add the default install dir to your shell `PATH`:\n\n```bash\nexport PATH=\"$HOME/.local/bin:$PATH\"\n```\n\n### Windows (PowerShell)\n\nIf you have WSL, you can run the macOS/Linux installer inside WSL. Otherwise:\n\n```powershell\nirm https://seashail.com/install.ps1 | iex\n```\n\n### No-Install Options\n\nIf you don't want to install the binary, reference these wrappers in your agent's MCP config instead. They install and run Seashail automatically.\n\n**npx (Node.js)** — see [`packages/mcp/`](packages/mcp/):\n\n- Command: `npx`\n- Args: `-y @seashail/mcp --`\n\n**uvx (Python)** — see [`python/`](python/):\n\n- Command: `uvx`\n- Args: `seashail-mcp`\n\n### OpenClaw Users\n\n```bash\nseashail openclaw install\n```\n\nOr via the OpenClaw CLI:\n\n```bash\nopenclaw plugins install @seashail/seashail\nopenclaw plugins enable seashail\nopenclaw gateway restart\n```\n\nSee the [OpenClaw setup guide](https://seashail.com/docs/guides/agents/openclaw) for details.\n\n### Verify Installation\n\n```bash\nseashail doctor\n```\n\nThis checks for common issues (missing dependencies, permissions, path configuration). The report contains no secrets and is safe to paste in issues. See the [CLI reference](#cli-reference) for details.\n\n## Quickstart\n\n### 1. Install Seashail\n\nSee [Install](#install) above.\n\n### 2. Connect Your Agent\n\nYour agent starts Seashail automatically — you just need to tell it how. Pick your agent:\n\n**OpenClaw** ([docs](https://docs.openclaw.ai/tools/plugin)):\n\n```bash\nseashail openclaw install\n```\n\n**Claude Code** ([docs](https://code.claude.com/docs/en/mcp)):\n\n```bash\nclaude mcp add seashail -- seashail mcp\n```\n\n**Claude Desktop** ([docs](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)):\n\n```bash\nseashail agent install claude-desktop\n```\n\n**Codex** ([docs](https://developers.openai.com/codex/mcp)):\n\nAdd to `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.seashail]\ncommand = \"seashail\"\nargs = [\"mcp\"]\n```\n\n**Cursor** ([docs](https://docs.cursor.com/context/model-context-protocol)):\n\n```bash\nseashail agent install cursor\n```\n\n**VS Code / GitHub Copilot** ([docs](https://code.visualstudio.com/docs/copilot/customization/mcp-servers)):\n\n```bash\nseashail agent install vscode\n```\n\n**Windsurf** ([docs](https://docs.windsurf.com/windsurf/cascade/mcp)):\n\n```bash\nseashail agent install windsurf\n```\n\n**Cline, Continue, JetBrains, or any MCP client** — see [Agent Integration](#agent-integration) below or the [full agent setup guide](https://seashail.com/docs/guides/agents).\n\n> **Testnet mode:** Add `--network testnet` to any of the above. For example: `seashail agent install cursor --network testnet` or `claude mcp add seashail-testnet -- seashail mcp --network testnet`.\n\n### 3. First Run\n\nOn first connection, Seashail automatically creates a default wallet (EVM, Solana, Bitcoin addresses) so your agent can immediately query balances — no prompts required.\n\nTo create a wallet with stronger recovery options, ask your agent to call `create_wallet`. This uses MCP elicitation to:\n\n- set a passphrase (min 8 characters, stored nowhere)\n- show and confirm an offline backup share (Shamir 2-of-3)\n- accept disclaimers\n\nKey material never leaves the Seashail process. The agent only receives tool outputs (balances, quotes, tx hashes).\n\n### 4. Verify\n\nIn your agent, try:\n\n- `get_capabilities` — sanity check: see configured RPCs, swap backends, chains\n- `list_wallets` — see your wallets and addresses\n- `get_balance` — check balances\n\n## Architecture\n\nSeashail uses a proxy-daemon architecture to allow multiple agents to share a single keystore and policy state safely.\n\n```\n┌─────────────────┐\n│   MCP Host      │  (Agent: Claude Desktop, Cursor, etc.)\n│  (stdio client) │\n└────────┬────────┘\n         │ stdio (JSON-RPC over newline-delimited JSON)\n         ▼\n┌─────────────────┐\n│  seashail mcp   │  Lightweight stdio proxy\n│    (proxy)      │  - Injects network override params\n└────────┬────────┘  - Auto-spawns daemon if needed\n         │ Unix socket / named pipe / TCP loopback\n         ▼\n┌─────────────────┐\n│ seashail daemon │  Singleton process\n│                 │  - Holds exclusive keystore lock\n│                 │  - Manages passphrase session\n└────────┬────────┘  - Coordinates all MCP clients\n         │\n         ▼\n┌─────────────────┐\n│  MCP Server     │  Tool dispatch + elicitation\n│  (in daemon)    │  - Policy evaluation\n└────────┬────────┘  - Key decryption + signing\n         │           - Transaction broadcast\n         ▼\n┌─────────────────┐\n│  Policy Engine  │  Gates every write operation\n│                 │  - Tiered approval (auto/confirm/block)\n└────────┬────────┘  - USD caps, slippage, allowlists\n         │\n         ▼\n┌─────────────────┐\n│   Chain Layers  │  Chain-specific adapters\n│  (EVM/Solana/   │  - RPC communication\n│   Bitcoin)      │  - Transaction construction\n└─────────────────┘  - Broadcast\n```\n\n**Why proxy + daemon?**\n\n1. **Multiple agents sharing state** — wallet created in Claude Desktop appears in Cursor; passphrase entered once unlocks everywhere; policy changes apply globally\n2. **Concurrent access safety** — exclusive filesystem lock prevents keystore corruption from concurrent writes\n3. **Passphrase session caching** — unlock once, use from all agents (configurable TTL, default 1 hour)\n\nSee the [Architecture docs](https://seashail.com/docs/reference/architecture) for full details on the data flow and layer responsibilities.\n\n## Supported Chains\n\n| Chain            | Identifier         | Type                                     |\n| ---------------- | ------------------ | ---------------------------------------- |\n| Solana           | `solana`           | Mainnet + Devnet                         |\n| Ethereum         | `ethereum`         | Mainnet                                  |\n| Base             | `base`             | Mainnet                                  |\n| Arbitrum         | `arbitrum`         | Mainnet                                  |\n| Optimism         | `optimism`         | Mainnet                                  |\n| Polygon          | `polygon`          | Mainnet                                  |\n| BNB Chain        | `bnb`              | Mainnet                                  |\n| Avalanche        | `avalanche`        | Mainnet                                  |\n| Monad            | `monad`            | Mainnet                                  |\n| Bitcoin          | `bitcoin`          | Mainnet + Testnet (BIP-84 native SegWit) |\n| Sepolia          | `sepolia`          | Testnet                                  |\n| Base Sepolia     | `base-sepolia`     | Testnet                                  |\n| Arbitrum Sepolia | `arbitrum-sepolia` | Testnet                                  |\n| Optimism Sepolia | `optimism-sepolia` | Testnet                                  |\n| Polygon Amoy     | `polygon-amoy`     | Testnet                                  |\n| BNB Testnet      | `bnb-testnet`      | Testnet                                  |\n| Avalanche Fuji   | `avalanche-fuji`   | Testnet                                  |\n| Monad Testnet    | `monad-testnet`    | Testnet                                  |\n\nCustom EVM chains can be added via `config.toml`. Use `get_capabilities` to see what's configured on your instance.\n\nSee the [Chains docs](https://seashail.com/docs/reference/chains) for chain identifiers, network mode defaults, and RPC configuration.\n\n## MCP Tools\n\nAll tools are served over MCP stdio via `seashail mcp`. For chain-by-chain support, call `get_capabilities`.\n\n### Network and RPC\n\n| Tool                       | Description                                 |\n| -------------------------- | ------------------------------------------- |\n| `get_network_mode`         | Check current mainnet/testnet mode          |\n| `set_network_mode`         | Switch network mode (persistent)            |\n| `configure_rpc`            | Override RPC endpoints                      |\n| `get_testnet_faucet_links` | Get faucet URLs for testnets                |\n| `get_capabilities`         | Discover chains, integrations, and surfaces |\n\n### Read Tools\n\n| Tool                      | Description                                       |\n| ------------------------- | ------------------------------------------------- |\n| `inspect_token`           | Look up token details (symbol, decimals, address) |\n| `get_defi_yield_pools`    | Discover yield opportunities across protocols     |\n| `get_balance`             | Check token balance on a chain                    |\n| `get_portfolio`           | Multi-chain portfolio overview                    |\n| `get_token_price`         | Get USD price for a token                         |\n| `estimate_gas`            | Estimate gas cost for an operation                |\n| `get_transaction_history` | Recent transactions for a wallet                  |\n| `get_portfolio_analytics` | Portfolio analytics and tracking                  |\n| `get_bridge_status`       | Track a bridge transfer                           |\n\n### Wallet Tools\n\n| Tool                       | Description                           |\n| -------------------------- | ------------------------------------- |\n| `list_wallets`             | List all wallets                      |\n| `get_wallet_info`          | Get wallet addresses and details      |\n| `get_deposit_info`         | Get deposit address for a chain/token |\n| `set_active_wallet`        | Set the default wallet for tool calls |\n| `add_account`              | Add a BIP-44 account index            |\n| `create_wallet`            | Create a new wallet (Shamir 2-of-3)   |\n| `import_wallet`            | Import an existing key/mnemonic       |\n| `export_shares`            | Export Shamir backup share            |\n| `rotate_shares`            | Rotate Shamir shares                  |\n| `create_wallet_pool`       | Create a pool of managed wallets      |\n| `transfer_between_wallets` | Internal transfer between wallets     |\n| `fund_wallets`             | Distribute funds across wallet pool   |\n\n### Write Tools (Send, Swap, Bridge)\n\n| Tool               | Description                                           |\n| ------------------ | ----------------------------------------------------- |\n| `request_airdrop`  | Request SOL airdrop (devnet/testnet only)             |\n| `send_transaction` | Send native or fungible tokens                        |\n| `swap_tokens`      | Swap tokens (Jupiter on Solana, Uniswap/1inch on EVM) |\n| `bridge_tokens`    | Bridge tokens cross-chain (Wormhole, LayerZero)       |\n\n### DeFi Tools\n\n| Tool                    | Description                                                           |\n| ----------------------- | --------------------------------------------------------------------- |\n| `lend_tokens`           | Supply tokens to lending protocols (Aave, Kamino, Compound, Marginfi) |\n| `withdraw_lending`      | Withdraw supplied tokens + interest                                   |\n| `borrow_tokens`         | Borrow against collateral                                             |\n| `repay_borrow`          | Repay borrowed amounts                                                |\n| `get_lending_positions` | View lending/borrowing positions                                      |\n| `stake_tokens`          | Stake for liquid staking derivatives (Lido, Jito)                     |\n| `unstake_tokens`        | Unstake derivatives back to native tokens                             |\n| `provide_liquidity`     | Add tokens to AMM pools (Uniswap LP, Orca LP)                         |\n| `remove_liquidity`      | Withdraw from AMM pools                                               |\n\n### Perps Tools\n\n| Tool                  | Description                                            |\n| --------------------- | ------------------------------------------------------ |\n| `get_market_data`     | Get market prices, funding rates                       |\n| `get_positions`       | View open perpetual positions                          |\n| `open_perp_position`  | Open a leveraged position (Hyperliquid, Jupiter Perps) |\n| `close_perp_position` | Close a position (full or partial)                     |\n| `place_limit_order`   | Place a limit order (Hyperliquid)                      |\n| `modify_perp_order`   | Modify an existing limit order (Hyperliquid)           |\n\n### NFT Tools\n\n| Tool                | Description                                                          |\n| ------------------- | -------------------------------------------------------------------- |\n| `get_nft_inventory` | List NFTs in wallet (Solana)                                         |\n| `transfer_nft`      | Transfer an NFT (Solana + EVM)                                       |\n| `buy_nft`           | Buy NFT via marketplace envelope (Blur, Magic Eden, OpenSea, Tensor) |\n| `sell_nft`          | Sell/list NFT via marketplace envelope                               |\n| `bid_nft`           | Place bid/offer via marketplace envelope                             |\n\n### Prediction Market Tools\n\n| Tool                        | Description                      |\n| --------------------------- | -------------------------------- |\n| `search_prediction_markets` | Search Polymarket events         |\n| `get_prediction_orderbook`  | View CLOB orderbook depth        |\n| `get_prediction_positions`  | View open prediction positions   |\n| `place_prediction`          | Place a CLOB order on Polymarket |\n| `close_prediction`          | Cancel an existing order         |\n\n### Pump.fun Tools\n\n| Tool                     | Description                           |\n| ------------------------ | ------------------------------------- |\n| `pumpfun_list_new_coins` | Discover recently launched meme coins |\n| `pumpfun_get_coin_info`  | Get detailed coin info                |\n| `pumpfun_buy`            | Buy a pump.fun token with SOL         |\n| `pumpfun_sell`           | Sell pump.fun tokens back to SOL      |\n\n### Policy Tools\n\n| Tool            | Description                                |\n| --------------- | ------------------------------------------ |\n| `get_policy`    | View current policy (global or per-wallet) |\n| `update_policy` | Update policy rules                        |\n\nSee the [MCP Tools Reference](https://seashail.com/docs/reference/mcp-tools) for full parameter details and the individual tool reference pages.\n\n## Security Model\n\nSeashail assumes the agent process may be malicious or compromised. The binary is the security boundary.\n\n### Key Storage\n\n- **Generated wallets** use Shamir Secret Sharing (2-of-3): Share 1 encrypted with machine secret, Share 2 encrypted with machine key (or passphrase for portability), Share 3 shown once as offline backup\n- **Imported wallets** are encrypted at rest using AES-256-GCM with a passphrase-derived key (Argon2id + HKDF subkeys)\n- Key material is zeroized from memory after signing\n\n### Policy Engine\n\nEvery write operation is gated by:\n\n- **Per-transaction USD caps** (`max_usd_per_tx`) and **daily USD caps** (`max_usd_per_day`)\n- **Slippage caps** for swaps (`max_slippage_bps`)\n- **Leverage caps** for perps (`max_leverage`, `max_usd_per_position`)\n- **Recipient allowlisting** (`send_allowlist`) and **contract allowlisting** (`contract_allowlist`)\n- **Operation toggles** (enable/disable sends, swaps, bridging, perps, NFTs individually)\n- **Tiered approvals** via MCP elicitation:\n  - **Auto-approve** — silent execution (low risk, within limits)\n  - **User confirm** — MCP elicitation prompt (exceeds auto-approve threshold)\n  - **Hard block** — rejection (exceeds hard cap or violates policy)\n\n### Threat Mitigations\n\n| Threat                    | Mitigation                                                                            |\n| ------------------------- | ------------------------------------------------------------------------------------- |\n| Malicious agent           | Policy engine + tiered approvals + allowlists + operation toggles                     |\n| Key theft from logs       | MCP elicitation (keys never in agent conversation); tool schema rejects secret params |\n| Split-brain state         | Exclusive filesystem lock; singleton daemon                                           |\n| Passphrase theft          | TTL-based sessions; zeroize on expiry; mlock on sensitive buffers                     |\n| Phishing/scam addresses   | Signed scam blocklist; OFAC SDN checking; recipient allowlists                        |\n| Excessive spending        | Per-tx and daily USD caps; operation toggles                                          |\n| Unknown USD value exploit | `deny_unknown_usd_value` (fail-closed by default)                                     |\n| Leverage explosion        | `max_leverage` and `max_usd_per_position` caps                                        |\n\n### Key Custody Comparison\n\n| Aspect       | Seashail                    | Browser Wallet         | Cloud Custody          |\n| ------------ | --------------------------- | ---------------------- | ---------------------- |\n| Key location | Local encrypted keystore    | Browser extension      | Remote server          |\n| Agent access | Policy-gated MCP tools      | Direct signing         | API with provider keys |\n| Recovery     | Shamir 2-of-3 + passphrase  | Seed phrase            | Provider flow          |\n| Risk model   | Agent constrained by policy | User verifies every tx | Trusted third party    |\n\nSee the [Security Model docs](https://seashail.com/docs/guides/security-model) for the full threat analysis.\n\n## Policy and Approvals\n\nSeashail evaluates every write against policy before any key material is decrypted.\n\n### Common Controls\n\n```\nmax_usd_per_tx          Per-transaction USD cap\nmax_usd_per_day         Daily USD cap (resets UTC midnight)\nmax_slippage_bps        Swap slippage cap (basis points; 100 bps = 1%)\ndeny_unknown_usd_value  Fail-closed when USD value unknown (default: true)\nsend_allow_any          Allow sends to any address (vs allowlist-only)\nsend_allowlist          Explicit list of permitted send addresses\ncontract_allow_any      Allow interaction with any contract\ncontract_allowlist      Explicit list of permitted contracts\nenable_send             Toggle sends on/off\nenable_swap             Toggle swaps on/off\nenable_bridge           Toggle bridging on/off\nenable_perps            Toggle perps on/off\nmax_leverage            Cap leverage for perps\nmax_usd_per_position    Cap perps position size\nenable_nft              Toggle NFT operations on/off\nmax_usd_per_nft_tx      Cap per-NFT-transaction value\n```\n\n### Viewing and Updating\n\n```\nget_policy              View current policy (global or per-wallet)\nupdate_policy           Replace policy rules\n```\n\nPer-wallet overrides are supported: `get_policy({ wallet })` and `update_policy({ wallet, policy })`.\n\nSee the [Policy and Approvals Guide](https://seashail.com/docs/guides/policy-and-approvals) and the [Policy Tools Reference](https://seashail.com/docs/reference/tools-policy) for all 33+ policy fields.\n\n## Configuration\n\n### Paths\n\n```bash\nseashail paths\n```\n\nOutput (JSON):\n\n```json\n{\n  \"config_dir\": \"/Users/you/.config/seashail\",\n  \"data_dir\": \"/Users/you/.local/share/seashail\",\n  \"log_file\": \"/Users/you/.local/share/seashail/seashail.log.jsonl\"\n}\n```\n\nOverride with `SEASHAIL_CONFIG_DIR` and `SEASHAIL_DATA_DIR` environment variables.\n\n### Config File\n\n`config.toml` lives under `config_dir`:\n\n```toml\nnetwork_mode = \"mainnet\" # or \"testnet\"\n\n[rpc]\nsolana_rpc_url = \"https://api.mainnet-beta.solana.com\"\n\n[http]\nbinance_base_url = \"https://api.binance.com\"\njupiter_base_url = \"https://api.jup.ag/swap/v1\"\n# 1inch requires an API key. If unset, swaps use Uniswap on EVM.\n# oneinch_api_key = \"...\"\n\n# Hyperliquid (perps)\nhyperliquid_base_url_mainnet = \"https://api.hyperliquid.xyz\"\nhyperliquid_base_url_testnet = \"https://api.hyperliquid-testnet.xyz\"\n\n# Scam blocklist (optional)\n# scam_blocklist_url = \"https://example.com/seashail/scam-blocklist.json\"\n# scam_blocklist_pubkey_b64 = \"...\"\n# scam_blocklist_refresh_seconds = 21600\n```\n\n### Network Mode\n\nMainnet is the default. Network mode affects default chain selection when tools omit `chain`/`chains`.\n\n- **Persistent:** set `network_mode = \"testnet\"` in `config.toml` or call `set_network_mode` over MCP\n- **Per-session override:** `seashail mcp --network testnet`\n- **First-run default:** `export SEASHAIL_NETWORK_MODE=testnet` (before `config.toml` is created)\n\nSee the [Network Mode Guide](https://seashail.com/docs/guides/network-mode) for Solana RPC defaults, airdrops, and faucet links.\n\n## CLI Reference\n\n### seashail mcp\n\nRun the MCP server over stdio (proxy mode by default).\n\n```bash\nseashail mcp                        # Proxy mode (recommended)\nseashail mcp --network testnet      # Testnet override\nseashail mcp --standalone           # No daemon sharing\n```\n\n### seashail daemon\n\nRun the singleton daemon (shared state across MCP clients).\n\n```bash\nseashail daemon                             # Run until terminated\nseashail daemon --idle-exit-seconds 300     # Auto-exit after 5 min idle\n```\n\nYou usually don't need to run this manually — `seashail mcp` auto-spawns the daemon.\n\n### seashail agent\n\nManage agent config templates.\n\n```bash\nseashail agent list                         # List supported targets\nseashail agent print cursor                 # Print config to stdout\nseashail agent install cursor               # Install config\nseashail agent install cursor --network testnet  # Testnet template\n```\n\nSupported targets: `cursor`, `vscode`, `windsurf`, `claude-desktop`.\n\n### seashail openclaw install\n\nInstall the OpenClaw plugin integration.\n\n```bash\nseashail openclaw install\nseashail openclaw install --network testnet\nseashail openclaw install --link --plugin ./packages/openclaw-seashail-plugin  # Dev\n```\n\n### seashail doctor\n\nSelf-diagnostic report (contains no secrets, safe to paste in issues).\n\n```bash\nseashail doctor          # Human-readable\nseashail doctor --json   # Machine-readable\n```\n\n### seashail paths\n\nPrint resolved config, data, and log paths.\n\n```bash\nseashail paths\n```\n\n### seashail upgrade\n\nUpgrade to the latest version.\n\n```bash\nseashail upgrade              # Interactive\nseashail upgrade --yes        # Non-interactive\nseashail upgrade --yes --quiet  # Silent (for scripts)\n```\n\nSee the [CLI Reference docs](https://seashail.com/docs/reference/cli) for full flag details.\n\n## Agent Integration\n\nSeashail works with any MCP-capable agent. For agents not listed in [Quickstart](#quickstart):\n\n### Generic MCP Stdio\n\nConfigure your agent to run:\n\n- **Command:** `seashail`\n- **Args:** `mcp`\n\nIf your agent uses a JSON config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"seashail\": { \"command\": \"seashail\", \"args\": [\"mcp\"] }\n  }\n}\n```\n\nOr:\n\n```json\n{\n  \"servers\": {\n    \"seashail\": { \"type\": \"stdio\", \"command\": \"seashail\", \"args\": [\"mcp\"] }\n  }\n}\n```\n\n### Supported Agents\n\n| Agent                    | Setup                                     | Docs                                                            |\n| ------------------------ | ----------------------------------------- | --------------------------------------------------------------- |\n| OpenClaw                 | `seashail openclaw install`               | [Guide](https://seashail.com/docs/guides/agents/openclaw)       |\n| Claude Code              | `claude mcp add seashail -- seashail mcp` | [Guide](https://seashail.com/docs/guides/agents/claude-code)    |\n| Claude Desktop           | `seashail agent install claude-desktop`   | [Guide](https://seashail.com/docs/guides/agents/claude-desktop) |\n| Codex                    | Edit `~/.codex/config.toml`               | [Guide](https://seashail.com/docs/guides/agents/codex)          |\n| Cursor                   | `seashail agent install cursor`           | [Guide](https://seashail.com/docs/guides/agents/cursor)         |\n| VS Code / GitHub Copilot | `seashail agent install vscode`           | [Guide](https://seashail.com/docs/guides/agents/github-copilot) |\n| Windsurf                 | `seashail agent install windsurf`         | [Guide](https://seashail.com/docs/guides/agents/windsurf)       |\n| Cline                    | Manual JSON config                        | [Guide](https://seashail.com/docs/guides/agents/cline)          |\n| Continue                 | Manual JSON config                        | [Guide](https://seashail.com/docs/guides/agents/continue)       |\n| JetBrains                | Manual JSON config                        | [Guide](https://seashail.com/docs/guides/agents/jetbrains)      |\n| Any MCP Client           | Generic stdio config                      | [Guide](https://seashail.com/docs/guides/agents/any-mcp-client) |\n\nStatic config templates are also available in [`packages/agent-configs/`](packages/agent-configs/).\n\n### Multi-Client Behavior\n\nMultiple agents safely share the same wallets, passphrase session, and policy counters via the singleton daemon. Each `seashail mcp` process is a lightweight proxy.\n\n- macOS/Linux: Unix socket at `data_dir/seashail-mcp.sock`\n- Windows: named pipe\n\n## Guides\n\nThese are summarized below. See the [full documentation](https://seashail.com/docs) for complete details.\n\n### Wallets and Key Storage\n\n- **Generated wallets:** Shamir 2-of-3 secret sharing (machine share + passphrase share + offline backup)\n- **Imported wallets:** AES-256-GCM encrypted with passphrase-derived key\n- **Passphrase session:** cached in memory with configurable TTL; shared across all MCP clients\n- Tools: `create_wallet`, `import_wallet`, `list_wallets`, `get_wallet_info`, `get_deposit_info`, `export_shares`, `rotate_shares`\n\n[Wallets Guide](https://seashail.com/docs/guides/wallets)\n\n### Sending Tokens\n\n`send_transaction` transfers native tokens (SOL, ETH, etc.) or fungible tokens (SPL, ERC-20). Seashail handles chain-specific mechanics (ATA creation on Solana, ERC-20 approval on EVM) and validates addresses before signing.\n\n[Sending Guide](https://seashail.com/docs/guides/sending)\n\n### Swapping Tokens\n\n`swap_tokens` routes automatically: Jupiter on Solana, Uniswap (or 1inch when configured) on EVM. Slippage tolerance is enforced by policy.\n\n[Swapping Guide](https://seashail.com/docs/guides/swapping)\n\n### Bridging Tokens\n\n`bridge_tokens` moves tokens cross-chain (Solana <-> EVM, EVM <-> EVM) via Wormhole (default) or LayerZero. Auto-redeem on destination chain is supported. Track progress with `get_bridge_status`.\n\n[Bridging Guide](https://seashail.com/docs/guides/bridging)\n\n### DeFi Operations\n\nFour DeFi primitives with protocol auto-selection:\n\n| Operation | EVM Default          | Solana Default        |\n| --------- | -------------------- | --------------------- |\n| Lending   | Aave v3              | Kamino                |\n| Borrowing | Aave v3, Compound v3 | Kamino, Marginfi      |\n| Staking   | Lido (ETH -> stETH)  | Jito (SOL -> JitoSOL) |\n| Liquidity | Uniswap LP           | Orca LP               |\n\n[DeFi Guide](https://seashail.com/docs/guides/defi)\n\n### Perps Trading\n\nLeveraged perpetual futures on two venues:\n\n| Venue         | Address | Testnet | Orders         | Partial Close |\n| ------------- | ------- | ------- | -------------- | ------------- |\n| Hyperliquid   | EVM     | Yes     | Market + Limit | Yes           |\n| Jupiter Perps | Solana  | No      | Market only    | No            |\n\nPolicy controls: `enable_perps`, `max_leverage`, `max_usd_per_position`.\n\n[Perps Guide](https://seashail.com/docs/guides/perps)\n\n### NFT Operations\n\nInventory reads, direct transfers, and marketplace trading via transaction envelopes.\n\nSupported marketplaces: **Blur** (Ethereum), **Magic Eden** (Solana + cross-chain), **OpenSea** (Ethereum), **Tensor** (Solana).\n\n[NFT Guide](https://seashail.com/docs/guides/nfts)\n\n### Prediction Markets\n\nTrade on Polymarket (CLOB on Polygon). Search markets, view orderbooks, place limit/market orders, track positions.\n\n[Prediction Markets Guide](https://seashail.com/docs/guides/predictions)\n\n### Pump.fun\n\nDiscover, buy, and sell meme coins on Pump.fun (Solana only). Bonding curve mechanics — price moves with demand.\n\n[Pump.fun Guide](https://seashail.com/docs/guides/pumpfun)\n\n### Chains and Funding\n\nGet deposit addresses with `get_deposit_info`. For testnets, use `get_testnet_faucet_links` (EVM) or `request_airdrop` (Solana devnet/testnet).\n\n[Chains and Funding Guide](https://seashail.com/docs/guides/chains-and-funding)\n\n### Scam Blocklist\n\nOptional signed scam-address blocklist. Opt-in via `config.toml`. Blocks sends and NFT transfers to known-bad addresses. Fail-open if fetch fails.\n\n[Scam Blocklist Guide](https://seashail.com/docs/guides/scam-blocklist)\n\n## Verification\n\nRelease assets are signed with Sigstore Cosign. SBOM generation uses SPDX-JSON.\n\n```bash\ncosign verify-blob \\\n  --certificate <asset>.crt \\\n  --signature <asset>.sig \\\n  <asset>\n```\n\nSee the [Verification docs](https://seashail.com/docs/reference/verification) for details.\n\n## Troubleshooting\n\nCommon issues and solutions:\n\n| Error                 | Cause                     | Fix                                          |\n| --------------------- | ------------------------- | -------------------------------------------- |\n| `wallet_not_found`    | Wallet name doesn't exist | Run `list_wallets`, check spelling           |\n| `passphrase_required` | Session expired           | Re-enter passphrase on next tool call        |\n| `keystore_busy`       | Lock contention           | Wait and retry; check for stuck daemon       |\n| Policy hard-block     | Exceeds USD caps          | Check `get_policy`, adjust limits            |\n| Slippage exceeded     | Price moved too far       | Increase `max_slippage_bps` or retry         |\n| Operation disabled    | Toggle off in policy      | Enable via `update_policy`                   |\n| Allowlist rejection   | Address not permitted     | Add to allowlist or disable                  |\n| Unknown USD value     | No pricing data           | Set `deny_unknown_usd_value: false` or retry |\n| RPC connection error  | Network/endpoint issue    | Check connectivity, switch RPC               |\n| Wrong network         | Mainnet/testnet confusion | Check `get_network_mode`, switch             |\n\nRun `seashail doctor` for a diagnostic report. See the [Troubleshooting docs](https://seashail.com/docs/troubleshooting) for full details.\n\n## Repo Layout\n\n```\napps/\n  docs/                          # Fumadocs + Next.js documentation site\n  landing/                       # Next.js + React + Tailwind CSS landing page\n\ncrates/\n  seashail/                      # Rust binary (CLI + daemon + MCP stdio bridge)\n\npackages/\n  agent-configs/                 # Static MCP config templates for editors/agents\n  config/                        # Shared TypeScript config\n  e2e/                           # End-to-end test harness (Bun)\n  mcp/                           # npx-runnable MCP server wrapper (@seashail/mcp)\n  openclaw-seashail-plugin/      # OpenClaw plugin: exposes Seashail tools as native OpenClaw tools\n  oxlint/                        # Custom Oxlint plugin\n  shared/                        # Shared TypeScript types (TypeBox + Standard Schema)\n  skills-seashail/               # SKILL.md + agent-facing docs (Agent Skills spec)\n  web-theme/                     # Shared CSS theme package\n\npython/                          # Python tooling (uvx runner)\nreference/                       # Archived reference documentation\n```\n\n### Package READMEs\n\n- [`packages/mcp/`](packages/mcp/) — `@seashail/mcp` npx runner\n- [`packages/agent-configs/`](packages/agent-configs/) — Static MCP config templates\n- [`packages/openclaw-seashail-plugin/`](packages/openclaw-seashail-plugin/) — OpenClaw plugin\n- [`packages/e2e/`](packages/e2e/) — End-to-end tests\n- [`packages/skills-seashail/`](packages/skills-seashail/) — Agent Skills spec and workflows\n- [`python/`](python/) — `seashail-mcp` uvx runner\n\n## Building from Source\n\nPrerequisites: `git`, `cargo` (Rust toolchain), `bun` (for TypeScript packages).\n\n```bash\ngit clone https://github.com/seashail/seashail.git\ncd seashail\nbun install\nbun run build\nbun run check\n\ncargo build -p seashail\n./target/debug/seashail --help\n./target/debug/seashail doctor\n```\n\nTo use the dev binary with your agent:\n\n- **Command:** `./target/debug/seashail`\n- **Args:** `mcp`\n\n## Commands\n\n```bash\nbun install                  # Install dependencies\nbun run build                # Build TypeScript packages\nbun run test                 # Run tests\nbun run check                # Type-check and lint\n\ncargo build -p seashail      # Build Rust binary\ncargo test -p seashail       # Run Rust tests\n```\n\n## Contributing\n\n### Adding a Language\n\nSeashail supports multiple locales. To add a new language, see the [Adding a Language](https://seashail-docs.vercel.app/docs/guides/adding-a-language) guide for step-by-step instructions covering both the docs site and landing page.\n\n## License\n\nApache-2.0\n\n## Contact\n\nGithub: [TheHandsomeDev](https://github.com/TheHandsomeDev)\nX/Twitter: [TheHandsomeDev](https://x.com/TheHandsomeDev)\nTelegram: TheHandsomeDev"}