The PayPls MCP Server enables AI agents to manage Bitcoin and USDC payments through the PayPls platform with configurable human approval controls.
Core Capabilities:
Check wallet balances - View BTC (in satoshis) and USDC (in dollars) balances with USD equivalents across different wallet buckets
List wallet buckets - See all accessible buckets with their balances and auto-approve limits for both BTC and USDC
Send payments - Transfer Bitcoin to addresses (amount in satoshis) or USDC to EVM addresses (amount in dollars), both requiring justification
Generate receive addresses - Get deposit addresses for receiving BTC or USDC into specific wallet buckets
Track transaction status - Monitor payment status using transaction IDs, including pending approvals and completion states
Security & Control Features:
Human approval workflows via Telegram for transactions exceeding auto-approve thresholds
Bucket isolation to restrict agent access to specific fund pools
Scoped API tokens for granular permissions and access control
Required justifications for all payments, presented during approval
Testnet support on Bitcoin testnet (tbtc) and Ethereum Sepolia for safe development
Enables managing Bitcoin payments, including checking balances, sending BTC to specific addresses, generating receive addresses, and tracking transaction status.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PayPls MCP ServerSend $25 USDC to 0x742d35Cc6634C0532925a3b844Bc454 for the design work"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PayPls MCP Server
MCP (Model Context Protocol) server that enables AI agents to manage Bitcoin and USDC payments through PayPls.
π Built for the Circle USDC Hackathon 2026 β View Submission
What is this?
β οΈ Important: This MCP server does NOT enforce spending limits or approval requirements. All limits are configured and enforced by the PayPls backend. Configure your limits in the PayPls Dashboard before giving agents access to real funds.
This server allows AI assistants like Claude to:
π° Check wallet balances (BTC and USDC)
π€ Send payments with human approval
π₯ Generate receive addresses
π Track transaction status
All transactions can be configured to require human approval above certain thresholds, giving you control while enabling AI autonomy for small payments.
Quick Links
Resource | URL |
π Landing Page | |
π§ͺ Testnet Dashboard | |
π‘ API (Production) | |
π Integration Guide | |
π Hackathon Submission | |
π» Source Code |
Installation
Or run directly with npx:
Configuration
1. Get your API token
Sign up at paypls.io (or test.paypls.io for testnet) and generate an API token in Settings β API Keys.
2. Set environment variables
3. Configure Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Or if installed globally:
Available Tools
Tool | Description |
| Check BTC or USDC balance of your wallet |
| Send Bitcoin to an address |
| Send USDC to an EVM address |
| Get an address to receive funds |
| Check transaction status |
Example Usage
Once configured, you can ask Claude things like:
"What's my Bitcoin balance?"
"Send 10,000 sats to tb1q... for the API subscription"
"Send $25 USDC to 0x... for the design work"
"Generate a receive address for my wallet"
"Check the status of transaction abc-123"
Security
Human approval: Configure auto-approve limits in the PayPls dashboard. Transactions above the limit require explicit approval via Telegram.
Justifications: Every send requires a justification that's logged and shown during approval.
Bucket isolation: Use separate buckets to limit agent access to specific funds.
Token permissions: API tokens can be scoped to specific buckets.
Handling Approval Flows
When a transaction exceeds auto-approve limits, the API returns:
Your agent should:
Inform the user that approval is needed
Optionally poll
wallet_tx_statusto check statusNOT retry the same transaction (use idempotency_key instead)
Development
API Endpoints Used
This MCP server communicates with the PayPls Agent API:
MCP Tool | API Endpoint |
|
|
|
|
|
|
|
|
|
|
Full API documentation: paypls.io/SKILL.md
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your PayPls API token (pp_xxx) |
| No |
| API endpoint URL |
Testnet
Currently running on Bitcoin testnet (tbtc) and Ethereum Sepolia (USDC). Perfect for development and testing!
Testnet API: https://paypls-api-dev.nfwalls.workers.dev
Testnet Dashboard: test.paypls.io
Support
π Integration Guide
π Issues