ToolAssay

Buyer-side payment firewall

Buyer-side payment firewall: should THIS agent make THIS payment now? Where /api/assess vets the seller, this vets the payment against your own agent's behaviour. POST {agent_id, payment:{payto_address,amount,resource_url}, context?:{untrusted_text,intended}, policy?} returns allow/hold/block plus 9 signals incl. routing_anomaly, velocity, amount_anomaly, injection_destination, intent_mismatch. Stateful per agent_id.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
71 msmedian answer time
$0.002listed price per call
$0.002price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://402sentinel.com/api/firewall

CategoryEverything else
Provider host402sentinel.com
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.002 71 ms

Example input (from the provider)

{
  "body": {},
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "agent_id": {
              "description": "The calling agent's wallet (keys per-agent history). Optional \u2014 auto-filled from the x402 payer if omitted.",
              "type": "string"
            },
            "context": {
              "description": "Where the payment instruction came from (provenance).",
              "properties": {
                "expected_payto": {
                  "description": "The payTo the agent intended, to detect routing swaps.",
                  "type": "string"
                },
                "metadata": {
                  "type": "object"
                },
                "source": {
                  "description": "e.g. \"tool_output\", \"web_content\".",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "payment": {
              "description": "The payment instruction being vetted.",
              "properties": {
                "amount": {
                  "type": "number"
                },
                "asset": {
                  "description": "e.g. \"USDC\"",
                  "type": "string"
                },
                "payto_address": {
                  "description": "Address the payment would go to \u2014 0x EVM (Base) OR base58 Solana.",
                  "type": "string"
                },
                "resource_url": {
                  "description": "The resource being paid for.",
                  "type": "string"
                }
              },
              "required": [
                "payto_address"
              ],
              "type": "object"
            },
            "policy": {
              "description": "Optional checks, e.g. {check_counterparty: true}.",
              "type": "object"
            }
          }
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON