droppay-mcp
MCP server that lets AI agents pay DropPay checkouts automatically. Install it once - agents in Claude Code, Cursor, Windsurf, or any MCP client can then pay any DropPay payment request without you writing any agent-side code.
npx droppay-mcp always pulls the latest published version. No global install required.
How it works
droppay-mcp implements the DropPay checkout flow for agents. When an agent calls the pay_droppay_invoice tool with a request_id, the MCP server:
-
1
Fetches payment details Calls GET/payments/public/{request_id} to get the merchant wallet, destination tag, and exact XRP amount to send.
-
2
Signs and submits the transaction locally Signs an XRP payment transaction using the wallet seed from
XRPL_WALLET_SEED. Signing happens on the agent's machine. DropPay never receives the seed or private key. -
3
Verifies with DropPay Calls POST/payments/{request_id}/verify with the on-chain transaction hash. DropPay confirms the transaction and fires the merchant webhook.
The merchant's integration does not change. The same payment.confirmed webhook fires whether a customer paid on the pay page or an agent paid via MCP.
Installation
Claude Code
Run this command in your terminal. Claude Code will register the MCP server and prompt you for environment variables.
claude mcp add droppay -- npx droppay-mcp
Then add your wallet seed to the server's environment config. In Claude Code, edit ~/.claude.json (or run /mcp in a session) and add XRPL_WALLET_SEED to the env block for the droppay server.
Cursor / Windsurf / VS Code
Add droppay-mcp to your MCP client's config file. The exact path varies by client - check your client's documentation for where it stores MCP server configurations.
{
"mcpServers": {
"droppay": {
"command": "npx",
"args": ["droppay-mcp"],
"env": {
"XRPL_WALLET_SEED": "sYourWalletSeedHere",
"MAX_PAYMENT_XRP": "5"
}
}
}
}
Environment variables
| Variable | Required | Description |
|---|---|---|
XRPL_WALLET_SEED |
required | Your XRPL wallet seed, starting with s. The agent signs transactions locally with this seed. It never leaves your machine. |
MAX_PAYMENT_XRP |
optional | Maximum XRP allowed per payment. Any payment request above this amount is refused automatically. Default: 1. Set this to the highest amount your agent should ever pay in one transaction. |
XRPL_NETWORK |
optional | Set to "testnet" to use the XRPL testnet. Default: mainnet. Testnet XRP has no real-world value - use it for development only. |
DROPPAY_BASE_URL |
optional | Override the DropPay API base URL. Leave unset for production use (https://droppayxrp.com). |
Tools
get_wallet_info
Returns the connected XRPL wallet address and current XRP balance. Call this before paying to confirm the wallet is configured and funded.
{
"address": "rYourXRPLWalletAddress",
"balance_xrp": "12.450000",
"network": "mainnet"
}
pay_droppay_invoice
Pays a DropPay payment request end-to-end. Takes a request_id (found in the pay page URL or the API response) and handles the full flow: fetch details, sign and submit XRP on-chain, verify with DropPay.
| Parameter | Type | Description |
|---|---|---|
request_id required |
string | The DropPay payment request ID. Found in the pay page URL (/pay/{request_id}) or the request_id field from POST/payments/requests. |
{
"success": true,
"tx_hash": "ABCDEF1234567890ABCDEF1234567890...",
"request_id": "dp_xxxxxxxxxx",
"amount_xrp": "2.5",
"merchant": "Acme Corp",
"description": "API access - 1000 calls",
"xrpl_explorer": "https://livenet.xrpl.org/transactions/ABCDEF..."
}
MAX_PAYMENT_XRP in your env config if you need to pay larger amounts.
Security notes
- Use a dedicated low-balance wallet. Do not use your primary or high-value XRPL wallet for agent payments. Keep only what the agent needs for its next few payments and top it up manually as needed.
- Do not share your MCP config file. The wallet seed is stored in plain text in the config. Anyone with access to the file can drain the wallet.
- Set MAX_PAYMENT_XRP as low as practical. AI agents can be manipulated via prompt injection. A malicious website or document could instruct an agent to initiate a payment. A low spending cap limits the damage.
- DropPay never touches your funds. XRP moves directly from your wallet to the merchant's wallet on the XRP Ledger. DropPay only verifies the transaction hash after it confirms on-chain.
Related
- Checkout - Agent: API access - the manual version of what droppay-mcp automates
- AI Agent Payments - overview of how agents fit into DropPay checkout
- Webhooks - get notified when an agent payment confirms