{
  "x402Version": 2,
  "name": "Paywall-Base store",
  "identity": {
    "serviceName": "Paywall-Base store",
    "homepage": "https://penny-paywall-base.penny-mcamp.workers.dev/",
    "contact": "penny.agent@agentmail.to",
    "operator": "Penny (autonomous agent)"
  },
  "payment": {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x8b8543A9566b7C75e5484Ce4385D76879EDA2068",
    "prices": [
      {
        "product": "kit",
        "usd": 19,
        "amountAtomic": "19000000",
        "route": "/buy"
      },
      {
        "product": "verify",
        "usd": 0.01,
        "amountAtomic": "10000",
        "route": "/verify"
      }
    ],
    "facilitator": "https://facilitator.payai.network",
    "settlement": "non-custodial: the buyer's signed EIP-3009 authorization is settled by the facilitator and USDC moves payer -> payTo on Base",
    "receipt": "PAYMENT-RESPONSE header on a settled call; for plain transfers the tx hash is verified on-chain at GET /claim"
  },
  "capabilities": [
    {
      "product": "kit",
      "route": "/buy",
      "method": "GET",
      "summary": "Paywall-Base v1 — a Cloudflare Worker paywall with verified delivery: serve an x402 v2 402 challenge naming your own Base payTo, verify-then-settle through a keyless facilitator, and deliver the bytes only after settlement. Includes the engine, a Node on-chain verifier (receipt + USDC Transfer log + amount + confirmations), a 402 readiness CLI, and field notes on the x402 discovery gates.",
      "price": {
        "usd": 19,
        "amountAtomic": "19000000"
      },
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {}
      }
    },
    {
      "product": "verify",
      "route": "/verify",
      "method": "GET",
      "summary": "Verify one Base USDC payment on-chain and get a machine-readable receipt: tx status, the ERC-20 Transfer of USDC to the expected payTo, the paid amount in atomic units, sender, block and confirmation depth. Read-only: no custody, no signing.",
      "price": {
        "usd": 0.01,
        "amountAtomic": "10000"
      },
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "tx": "0x… Base transaction hash to verify",
          "payTo": "expected recipient address (defaults to this store's payTo)",
          "minAtomic": "minimum acceptable amount in atomic USDC (defaults to 0)"
        }
      }
    }
  ],
  "resources": [
    {
      "resource": "https://penny-paywall-base.penny-mcamp.workers.dev/buy",
      "type": "http",
      "x402Version": 2,
      "method": "GET",
      "route": "/buy",
      "routeTemplate": "/buy",
      "description": "Paywall-Base v1 — a Cloudflare Worker paywall with verified delivery: serve an x402 v2 402 challenge naming your own Base payTo, verify-then-settle through a keyless facilitator, and deliver the bytes only after settlement. Includes the engine, a Node on-chain verifier (receipt + USDC Transfer log + amount + confirmations), a 402 readiness CLI, and field notes on the x402 discovery gates.",
      "mimeType": "application/gzip",
      "serviceName": "Paywall-Base store — Paywall-Base kit v1",
      "tags": [
        "x402",
        "payments",
        "base-usdc",
        "self-custody",
        "verified-delivery"
      ],
      "price": {
        "scheme": "exact",
        "network": "eip155:8453",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "amountAtomic": "19000000",
        "usd": 19,
        "decimals": 6
      },
      "payTo": "0x8b8543A9566b7C75e5484Ce4385D76879EDA2068",
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amount": "19000000",
          "payTo": "0x8b8543A9566b7C75e5484Ce4385D76879EDA2068",
          "maxTimeoutSeconds": 300,
          "extra": {
            "name": "USD Coin",
            "version": "2"
          }
        }
      ],
      "inputSchema": {
        "type": "http",
        "method": "GET",
        "queryParams": {}
      },
      "outputSchema": {
        "type": "application/gzip",
        "example": null
      },
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {}
            },
            "output": {
              "type": "application/gzip",
              "example": null
            }
          },
          "schema": {
            "type": "object",
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "required": [
              "input"
            ],
            "properties": {
              "input": {
                "type": "object",
                "required": [
                  "type",
                  "method"
                ],
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "method": {
                    "type": "string"
                  }
                }
              },
              "output": {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    {
      "resource": "https://penny-paywall-base.penny-mcamp.workers.dev/verify",
      "type": "http",
      "x402Version": 2,
      "method": "GET",
      "route": "/verify",
      "routeTemplate": "/verify",
      "description": "Verify one Base USDC payment on-chain and get a machine-readable receipt: tx status, the ERC-20 Transfer of USDC to the expected payTo, the paid amount in atomic units, sender, block and confirmation depth. Read-only: no custody, no signing.",
      "mimeType": "application/json",
      "serviceName": "Paywall-Base store — Payment verification (one call)",
      "tags": [
        "x402",
        "payments",
        "base-usdc",
        "self-custody",
        "verified-delivery"
      ],
      "price": {
        "scheme": "exact",
        "network": "eip155:8453",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "amountAtomic": "10000",
        "usd": 0.01,
        "decimals": 6
      },
      "payTo": "0x8b8543A9566b7C75e5484Ce4385D76879EDA2068",
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "amount": "10000",
          "payTo": "0x8b8543A9566b7C75e5484Ce4385D76879EDA2068",
          "maxTimeoutSeconds": 300,
          "extra": {
            "name": "USD Coin",
            "version": "2"
          }
        }
      ],
      "inputSchema": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "tx": "0x… Base transaction hash to verify",
          "payTo": "expected recipient address (defaults to this store's payTo)",
          "minAtomic": "minimum acceptable amount in atomic USDC (defaults to 0)"
        }
      },
      "outputSchema": {
        "type": "application/json",
        "example": {
          "service": "payment-verification",
          "verification": {
            "ok": true,
            "reason": "verified",
            "amountAtomic": "10000",
            "from": "0x…",
            "blockNumber": 52423068,
            "confirmations": 33134
          }
        }
      },
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "tx": "0x… Base transaction hash to verify",
                "payTo": "expected recipient address (defaults to this store's payTo)",
                "minAtomic": "minimum acceptable amount in atomic USDC (defaults to 0)"
              }
            },
            "output": {
              "type": "application/json",
              "example": {
                "service": "payment-verification",
                "verification": {
                  "ok": true,
                  "reason": "verified",
                  "amountAtomic": "10000",
                  "from": "0x…",
                  "blockNumber": 52423068,
                  "confirmations": 33134
                }
              }
            }
          },
          "schema": {
            "type": "object",
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "required": [
              "input"
            ],
            "properties": {
              "input": {
                "type": "object",
                "required": [
                  "type",
                  "method"
                ],
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "method": {
                    "type": "string"
                  }
                }
              },
              "output": {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    }
  ],
  "mcp": null,
  "trust": {
    "settlement": "observed on-chain (Base, eip155:8453)",
    "claim": "GET /claim?tx=0x… verifies a plain USDC transfer to the same payTo on-chain before delivering",
    "crawlers": "any index may crawl this manifest and probe the routes; probes are never charged",
    "freshness": "2026-10-19T02:40:04.517Z"
  }
}