PolicyLayer MCP
Non-custodial spending controls for AI agent crypto wallets — enforce daily limits, per-tx caps, and recipient whitelists.
@policylayer/mcp
MCP server for PolicyLayer spending controls. Add policy-governed payments to any AI agent in one config block.
Works with Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
Quick start
Read-only mode (validate, check budget, view history)
{ "mcpServers": { "policylayer": { "command": "npx", "args": ["-y", "@policylayer/mcp"], "env": { "POLICYLAYER_API_KEY": "pl_live_xxx" } } } }
Execution mode (send transactions)
{ "mcpServers": { "policylayer": { "command": "npx", "args": ["-y", "@policylayer/mcp"], "env": { "POLICYLAYER_API_KEY": "pl_live_xxx", "WALLET_ADAPTER": "viem", "WALLET_PRIVATE_KEY": "0x...", "CHAIN": "base", "RPC_URL": "https://mainnet.base.org" } } } }
Get your API key at app.policylayer.com.
Tools
| Tool | Mode | Description |
|---|---|---|
| validate_transaction | read-only | Check if a transaction would be allowed. Advisory only, no budget reserved. |
| check_budget | read-only | View remaining spending capacity across all policies. |
| list_policies | read-only | List active spending policies for your API key. |
| transaction_history | read-only | Recent policy decisions for audit and context. |
| send_transaction | execution | Validate, sign, and broadcast a policy-governed transaction. |
validate_transaction
Dry-run policy check. The agent can call this freely without side effects.
> validate_transaction chain="base" asset="usdc" to="0x742d...bD18" amount="100.50"
Transaction would be approved.
Chain: Base
Asset: USDC
Amount: 100.50 USDC
To: 0x742d...bD18
Policy checks: all passed.
Remaining daily budget: 549.50 USDC
Note: This is an advisory check. No budget has been reserved.
Use send_transaction to execute.
send_transaction
Full two-gate flow: validate against policies, sign locally, broadcast to chain.
Your private key never leaves your machine. PolicyLayer only sees the transaction intent, not the key.
> send_transaction chain="base" asset="usdc" to="0x742d...bD18" amount="100.50"
Transaction sent.
Chain: Base
Asset: USDC
To: 0x742d...bD18
Amount: 100.50 USDC
Tx hash: 0xabc123...def456
Block explorer: https://basescan.org/tx/0xabc123...def456
Remaining daily budget: 449.00 USDC
Environment variables
| Variable | Required | Description |
|---|---|---|
| POLICYLAYER_API_KEY | yes | API key from the PolicyLayer dashboard. |
| WALLET_ADAPTER | no | viem (default) or ethers. |
| WALLET_PRIVATE_KEY | no | Enables execution mode. |
| CHAIN | no | Required with wallet. e.g. base, ethereum. |
| RPC_URL | no | Required for viem/ethers adapters. |
| POLICYLAYER_API_URL | no | Override API URL. Defaults to https://api.policylayer.com. |
Supported assets
Amounts are human-readable. The server handles conversion to base units.
| Asset | Decimals | Native on |
|---|---|---|
| ETH | 18 | Ethereum, Base, Arbitrum, Optimism |
| USDC | 6 | Token addresses auto-resolved for Ethereum, Base, Arbitrum, Polygon |
| USDT | 6 | Ethereum |
| DAI | 18 | Ethereum |
| WETH | 18 | Base |
| MATIC | 18 | Polygon |
| SOL | 9 | Solana |
For unlisted tokens, provide the tokenAddress parameter.
How it works
PolicyLayer enforces spending limits on AI agent wallets without custodying private keys.
- Agent calls a tool (e.g.
send_transaction) - MCP server converts human amounts to base units, resolves token addresses
- PolicyLayer API evaluates the transaction against your spending policies
- If approved, the transaction is signed locally using your wallet adapter
- Transaction is broadcast to the chain
If the API is unreachable, all transactions are blocked (fail-closed).
Programmatic usage
import { createServer } from '@policylayer/mcp';
const server = createServer({ apiKey: process.env.POLICYLAYER_API_KEY!, apiUrl: 'https://api.policylayer.com', });
Requirements
- Node.js >= 20
- A PolicyLayer account with API key and configured spending policies
Links
- PolicyLayer Dashboard
- Documentation
- GitHub
Licence
MIT
Servidores relacionados
Arkheia Hallucination Detection
Detect fabrication and hallucination in any LLM output. Score responses from GPT-4o, Claude, Gemini, Llama and 30+ models. Free tier included.
Omics AI MCP Server
Interact with Omics AI Explorer networks for genomics research and data analysis.
Parse
See how any brand surfaces in AI search
stresszero-mcp
MCP server for burnout risk scoring across 3 dimensions (physical, emotional, effectiveness) via the StressZero Intelligence API. Provides AI agents with burnout analysis, personalized recommendations, and detailed reports for coaches and HR platforms.
x402Geo
SEO & GEO (Generative Engine Optimization) for websites. Optimize for AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude) and traditional search (Google, Bing). Includes Princeton GEO research methods for +40% AI visibility
OneKGPd-MCP
Real-time access to 1000 Genomes Project dataset
CryptoAPIs MCP Market Data
MCP server for cryptocurrency asset prices, exchange rates, and market metadata via Crypto APIs
TabNews Integration
Access data from the TabNews API.
Learning Hub
AI learning assistant that manages game time rewards based on school grades, homework, and bonus tasks
Crypto Data MCP
Free MCP server for real-time cryptocurrency data. 5 tools: get_price, get_market_overview, get_token_info, get_historical_prices, get_trending. 70+ tokens supported via CoinGecko API.