blackpool
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLACKPOOL_KEY | No | Private key for the agent wallet. The server starts without it, but tools that move funds require it. | |
| BLACKPOOL_MCP_TOOLS | No | Comma-separated list of tools to expose, for example "balance,send". | |
| BLACKPOOL_MCP_READONLY | No | Set to "1" to expose only the read-only tools. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Private payments with zero-knowledge pools. Check blackpool_balance before paying; deposit first if the private balance is short. Never retry deposit, send, swap or bridge after a timeout without checking blackpool_balance or blackpool_bridges. blackpool_recover is always safe. Full guide: resource blackpool://agents.md.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| blackpool_addressA | Address of the agent wallet. Fund it with the asset to shield plus a little native gas for deposits. |
| blackpool_balanceB | Private (shielded) and public balances. With pool: one private pool only. wait=true polls up to 30 s while a private balance reads 0 (right after a deposit). |
| blackpool_depositA | Shield public funds from the agent wallet into the private pool. Signs and pays gas from the agent wallet. Takes 30-90 s. Do not retry after a timeout without checking blackpool_balance. |
| blackpool_sendA | Pay any EVM address privately from the private balance. The relayer pays gas; the recipient receives amount minus the fee (flat + 0.35%). amount "max" sends the whole balance of the pool (or of every pool when pool is omitted), splitting across several sends when needed and leaving dust untouched. Takes 30-90 s per send. Never retry after a timeout without checking blackpool_balance. |
| blackpool_swapA | Private same-chain swap between the native pool and the stablecoin pool; output is re-shielded. If it stops half-way, run blackpool_recover. |
| blackpool_bridgeA | Private cross-chain transfer via NEAR Intents. from = origin private pool (base_eth, base_usdc, hood_eth, hood_usdg, arb_eth, arb_usdc, bsc_bnb, bsc_usdc, bsc_usdt); dest_asset from blackpool_assets; recipient is EVM 0x… or a Solana address for sol_*. Returns once submitted unless wait=true. |
| blackpool_bridgesA | Every bridge of this account with status (PENDING_DEPOSIT, PROCESSING, SUCCESS, REFUNDED, FAILED) and refund address. |
| blackpool_assetsC | Bridge destination assets and valid origins. |
| blackpool_recoverB | Sweep every registered burner that still holds funds back to the agent wallet (or to). Safe to run any time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| AGENTS.md | Setup, commands, JSON fields, limits, recipes, errors and security rules. |
TDQS
Scored across 9 tools
Most tools map to clearly distinct actions (deposit vs send vs swap vs recover), but blackpool_bridge (initiate a cross-chain transfer) and blackpool_bridges (list existing bridges) differ only by a plural 's', which is an easy misselection trap. blackpool_assets and blackpool_bridges are also both read-only metadata/list tools that could be confused at a glance. The descriptions do disambiguate once read, which keeps this above a 2.
All nine tools share the same blackpool_ prefix and a flat lowercase style with no camelCase or multi-word mixing, so the surface looks uniform. However, the naming is noun-based for some tools (address, balance, assets, bridges) and verb-based for others (send, deposit, swap, recover), and the singular/plural bridge pair is not a predictable pattern.
Nine tools is well within the sweet spot and each one covers a distinct facet of a private wallet: identity, balances, shield, send, swap, bridge (create/list/assets), and recovery. Nothing appears redundant or padded, and nothing essential is obviously missing from the count.
The lifecycle is largely covered: funding address, shielded balance reads, deposit in, private send out, swap, cross-chain bridge with status listing and destination metadata, plus a recovery sweep for stuck funds. The main gap is an explicit unshield/withdraw-to-public operation and any transaction history beyond bridge records, though send-to-self could work around the former.