presign-guard wallet for VS Code
io.github.fizzl13/presign-guard-wallet
Agent wallet with limits: pays x402/MPP on Base, Tempo, XRP Ledger and Algorand; phone approval.
client:VS Code
transport:stdio
runtime:npm
Install presign-guard wallet in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "agent-key",
"description": "AGENT_KEY",
"password": true
},
{
"type": "promptString",
"id": "limit-usdc-per-tx",
"description": "LIMIT_USDC_PER_TX",
"password": true
},
{
"type": "promptString",
"id": "limit-usdc-per-day",
"description": "LIMIT_USDC_PER_DAY",
"password": true
},
{
"type": "promptString",
"id": "telegram-bot-token",
"description": "TELEGRAM_BOT_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "telegram-chat-id",
"description": "TELEGRAM_CHAT_ID",
"password": true
},
{
"type": "promptString",
"id": "wallet-server-url",
"description": "WALLET_SERVER_URL",
"password": true
},
{
"type": "promptString",
"id": "wallet-server-key",
"description": "WALLET_SERVER_KEY",
"password": true
},
{
"type": "promptString",
"id": "chain",
"description": "CHAIN",
"password": true
},
{
"type": "promptString",
"id": "max-payment-usd",
"description": "MAX_PAYMENT_USD",
"password": true
},
{
"type": "promptString",
"id": "presign-credit-key",
"description": "PRESIGN_CREDIT_KEY",
"password": true
},
{
"type": "promptString",
"id": "rpc-url",
"description": "RPC_URL",
"password": true
},
{
"type": "promptString",
"id": "tempo",
"description": "TEMPO",
"password": true
},
{
"type": "promptString",
"id": "tempo-chain",
"description": "TEMPO_CHAIN",
"password": true
},
{
"type": "promptString",
"id": "tempo-rpc-url",
"description": "TEMPO_RPC_URL",
"password": true
},
{
"type": "promptString",
"id": "mpp-session-deposit",
"description": "MPP_SESSION_DEPOSIT",
"password": true
},
{
"type": "promptString",
"id": "algorand-mnemonic",
"description": "ALGORAND_MNEMONIC",
"password": true
},
{
"type": "promptString",
"id": "algorand-network",
"description": "ALGORAND_NETWORK",
"password": true
},
{
"type": "promptString",
"id": "xrpl-seed",
"description": "XRPL_SEED",
"password": true
},
{
"type": "promptString",
"id": "xrpl-network",
"description": "XRPL_NETWORK",
"password": true
},
{
"type": "promptString",
"id": "xrpl-ws-url",
"description": "XRPL_WS_URL",
"password": true
}
],
"servers": {
"presign-guard-wallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"presign-guard-wallet-mcp"
],
"env": {
"AGENT_KEY": "${input:agent-key}",
"LIMIT_USDC_PER_TX": "${input:limit-usdc-per-tx}",
"LIMIT_USDC_PER_DAY": "${input:limit-usdc-per-day}",
"TELEGRAM_BOT_TOKEN": "${input:telegram-bot-token}",
"TELEGRAM_CHAT_ID": "${input:telegram-chat-id}",
"WALLET_SERVER_URL": "${input:wallet-server-url}",
"WALLET_SERVER_KEY": "${input:wallet-server-key}",
"CHAIN": "${input:chain}",
"MAX_PAYMENT_USD": "${input:max-payment-usd}",
"PRESIGN_CREDIT_KEY": "${input:presign-credit-key}",
"RPC_URL": "${input:rpc-url}",
"TEMPO": "${input:tempo}",
"TEMPO_CHAIN": "${input:tempo-chain}",
"TEMPO_RPC_URL": "${input:tempo-rpc-url}",
"MPP_SESSION_DEPOSIT": "${input:mpp-session-deposit}",
"ALGORAND_MNEMONIC": "${input:algorand-mnemonic}",
"ALGORAND_NETWORK": "${input:algorand-network}",
"XRPL_SEED": "${input:xrpl-seed}",
"XRPL_NETWORK": "${input:xrpl-network}",
"XRPL_WS_URL": "${input:xrpl-ws-url}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs