{
  "aid": "allowanceguard.allowance.schemasure.com",
  "name": "AllowanceGuard",
  "type": "index",
  "description": "AllowanceGuard answers one question before an agent signs an irreversible approve: should this spender get this allowance. It reads the allowance the spender already holds, classifies the one being requested against the token's own supply rather than a list of sentinel values, and says whether signing raises or lowers exposure — so reducing an unlimited allowance is recognised as safer than the status quo instead of flagged as another approval. It checks whether the spender is a contract at all, whether its code can be swapped after the grant, and whether it is on the denylist. There is no model anywhere in it. When a fact cannot be read the answer is unknown, never a quiet allow.",
  "image": "https://allowance.schemasure.com/icon.svg",
  "tags": [
    "allowance",
    "approve",
    "revoke",
    "erc20",
    "permit2",
    "base",
    "x402",
    "agent-safety",
    "wallet-safety",
    "deterministic"
  ],
  "created": "2026-08-03",
  "modified": "2026-09-19",
  "specificationVersion": "0.18",
  "apis": [
    {
      "aid": "allowanceguard.v1.guard.allowance",
      "name": "AllowanceGuard — Decide whether to grant a token allowance before signing the approve",
      "description": "Decide whether to grant an ERC-20, NFT or Permit2 allowance before signing it. Send owner, token, spender and amount, or the unsigned approve, setApprovalForAll or Permit2 calldata. Returns allow, warn, block or unknown with the allowance already on chain, the requested scope and the rule behind it, whether this raises or lowers exposure, and whether the spender is a contract, upgradeable or denylisted. Returns unknown rather than guessing. Not a guarantee a spender is honest.",
      "humanURL": "https://allowance.schemasure.com/docs",
      "baseURL": "https://allowance.schemasure.com/v1/guard/allowance",
      "tags": [
        "allowance",
        "approve",
        "revoke",
        "erc20",
        "permit2",
        "base",
        "x402",
        "agent-safety",
        "wallet-safety",
        "deterministic"
      ],
      "properties": [
        {
          "type": "OpenAPI",
          "url": "https://allowance.schemasure.com/openapi.json"
        },
        {
          "type": "x402",
          "url": "https://allowance.schemasure.com/.well-known/x402.json"
        },
        {
          "type": "Pricing",
          "url": "https://allowance.schemasure.com/.well-known/pricing.json"
        },
        {
          "type": "Benchmarks",
          "url": "https://allowance.schemasure.com/.well-known/benchmarks.json"
        },
        {
          "type": "LLMs",
          "url": "https://allowance.schemasure.com/llms.txt"
        }
      ]
    }
  ]
}