# l402-pay

Confirm payment and store credentials. Call this after l402-fetch returns a 402 with a paymentHash — polls the payment server for settlement (up to 30s for human wallet), then stores the credential so the next l402-fetch succeeds. For human wallets, call this immediately after showing the payment URL to the user.

Agent View of the PolicyLayer registry record for `l402-pay`. HTML page: https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-pay

## Facts

- Tool: `l402-pay`
- Server: 402 (`402-mcp`) — https://policylayer.com/tools/dev-forgesworn-402-mcp.md
- Install: `npx -y 402-mcp`
- Homepage: https://github.com/forgesworn/402-mcp
- Risk category: Financial (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Approval-gated

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "l402-pay",
    "arguments": {}
  }
}
```

## Why l402-pay is rated Critical

This tool directly moves money by confirming payment on the Lightning Network. It irreversibly commits financial obligations through settlement polling. Even though the user initiates the payment via wallet, this tool executes the confirmation and settlement, which constitutes a Financial operation with critical severity due to the autonomous nature of the MCP server (agents can call this without human intervention…

From the tool's own definition: "Tool description explicitly states 'Confirm payment and store credentials' and 'polls the payment server for settlement', indicating it commits financial transactions."

## Use case

AI agents use l402-pay to commit financial operations through 402, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches 402:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "l402-pay": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on 402 (9)

- `l402-buy-credits` — Financial — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-buy-credits.md
- `l402-redeem-cashu` — Financial — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-redeem-cashu.md
- `l402-balance` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-balance.md
- `l402-config` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-config.md
- `l402-credentials` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-credentials.md
- `l402-discover` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-discover.md
- `l402-fetch` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-fetch.md
- `l402-search` — Read — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-search.md
- `l402-store-token` — Write — https://policylayer.com/tools/dev-forgesworn-402-mcp/l402-store-token.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=dev-forgesworn-402-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/dev-forgesworn-402-mcp
