x402-payment-safety
Authorize x402 payments before signing with request-bound, signed safety decisions.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"x402-payment-safety": {
"url": "https://agent-guild-5d5r.onrender.com/mcp/payment-safety/"
}
}
}Remote endpoints
https://agent-guild-5d5r.onrender.com/mcp/payment-safety/streamable-httpWhat it can do
Tool inventory
Tools (1)
🟡guild_x402_payment_safety(payment, capability, policy, ttl_seconds, api_key, ...)
PAID. Call this immediately BEFORE signing an x402 payment envelope. Returns one short-lived, Guild-signed AGPD-1 allow/block credential bound to the exact target payment: scheme, CAIP-2 network, asset contract, atomic amount, payee and resource URL, plus optional capability and policy thresholds. Verify it offline with POST /wallet-binding/decision/verify. This is the native MCP transport for the existing HTTP POST /wallet-binding/decision product. An unpaid call returns a complete x402 v2 challenge for the exact request digest. Retry with the official ``_meta['x402/payment']`` carrier; adapters that cannot set request metadata may pass the identical signed PaymentPayload as ``x402_payment``. Conflicting carriers fail closed before facilitator verification or settlement. The decision is issued before metering, so malformed inputs or signing failures are never charged. ``api_key`` uses sandbox credits and is never external revenue. The free identity-only alternative is GET /wallet-binding/resolve.
Input Schema
{
"type": "object",
"properties": {
"payment": {
"description": "The exact target payment being authorized before wallet signing.",
"properties": {
"scheme": {
"type": "string"
},
"network": {
"type": "string"
},
"asset": {
"type": "string"
},
"amount": {
"type": "string"
},
"pay_to": {
"type": "string"
},
"resource": {
"type": "string"
}
},
"required": [
"scheme",
"network",
"asset",
"amount",
"pay_to",
"resource"
],
"type": "object"
},
"capability": {
"default": "",
"type": "string"
},
"policy": {
"anyOf": [
{
"description": "Optional caller thresholds; server baselines can only make them stricter.",
"properties": {
"max_risk": {
"type": "number"
},
"min_confidence": {
"type": "number"
}
},
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"ttl_seconds": {
"default": 300,
"type": "integer"
},
"api_key": {
"default": "",
"type": "string"
},
"x402_payment": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"payment"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}Community
Evidence