addrbookFor publishers
← The evidence ledger

Evidence row 3766146

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://emailauth.openverbs.com/v1/spf-parse
Recorded
Previous row
#3064327
Body SHA-256
3ff1ee2925e38e2871d9c4f44532ac1ec23c938386ff227969a08105d2490acc
Leaf
0x2ca4c4060957a08144aa4bfb22feb7d106d9ff9c5ffc91c507392d7e9cf4144e

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://emailauth.openverbs.com/v1/spf-parse"
    ]
  ],
  "name": "Parse an SPF record",
  "owner_address": "0xb3f4de103f34b99f0da19b4f16d6b53a14c2194a",
  "raw": {
    "accepts": [
      {
        "amount": "4000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A",
        "scheme": "exact"
      }
    ],
    "description": "Parse an SPF TXT record (\"v=spf1 …\") into its qualified mechanisms and modifiers. Records that do not start with v=spf1 or use unknown mechanisms are clean 400s.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "record": "v=spf1 include:_spf.google.com ~all"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "properties": {
                    "record": {
                      "description": "SPF TXT record, e.g. \"v=spf1 ip4:192.0.2.0/24 include:_spf.example.com ~all\".",
                      "type": "string"
                    }
                  },
                  "required": [
                    "record"
                  ],
                  "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"
        }
      }
    },
    "lastUpdated": "2026-11-04T19:04:32.527Z",
    "quality": {
      "l30DaysTotalCalls": 4,
      "l30DaysUniquePayers": 3,
      "lastCalledAt": "2026-11-04T19:04:32.212Z"
    },
    "resource": "https://emailauth.openverbs.com/v1/spf-parse",
    "serviceName": "Parse an SPF record",
    "tags": [
      "parse spf record",
      "spf record parser",
      "spf dns lookup",
      "validate spf syntax",
      "email spf mechanisms"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Parse an SPF TXT record (\"v=spf1 …\") into its qualified mechanisms and modifiers. Records that do not start with v=spf1 or use unknown mechanisms are clean 400s."
}

What the leaf hashes

{"body":"3ff1ee2925e38e2871d9c4f44532ac1ec23c938386ff227969a08105d2490acc","id":3766146,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793996676439164,"prev":3064327,"subject":"x402_bazaar:https://emailauth.openverbs.com/v1/spf-parse","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (303443 rows).

  1. 0x2ca4dc55dedc928e900923955c1ee10f1f9e63e5519f75055a536314e15442b6
  2. 0xe52392d35444651be8d88abb00782c33722a35977e9ad2da3c4ee080af1df959
  3. 0x32d25d1c940838c1323cecb2a3704c8a96d04c4cfb9462d788d11de2c7c09e65
  4. 0xcdb97ecc65c577976fe942cfb2fa0fc996a3e32c75ba67d81187b1a00b4ad44a
  5. 0x9a13b10d326eaf22f766f57f287f8b5392c177526148d8da43a16b0d4a3317e0
  6. 0xc09a2bfc28f56ba3300243937050151503d4a105f8802722023871e92753d934
  7. 0x82732fa0cb0a210e7d42c21733dbb8028a9d2573ad0d64a8ae434d3e70be935a
  8. 0x4e940956963c34cb5de73b3e4df9eafc4d4beffd9efae1d93162c1dcd9fbb67b
  9. 0x3c44137fdddf240e5ddbcb3a0fd358b1e6edfaf35f699ea2a87f0a45784b2740
  10. 0x35af1f216d2002348d4ca719c667b0c2649bd72da6f994a4a10877eec046a1d5
  11. 0xc0dcedd8f49906829080fb61dd43cf8cf0e90dc0ab53f5557dcb10fde4b074ae
  12. 0x855b4272c2d2a2292420278c9bb17f9567eeb72186854b1c156f0e93cb32d97d
  13. 0x306349fdc1b0a753057a19c566eb065b2f22532faad4d336b92f0b17b12423da
  14. 0xb3969cc604693571253fb2f2b926c79b3a34bd130194a76a108232bb221e1e74
  15. 0xaa85d31529f47e1b810e9dfd8bfa6050b99090fde56ac1fa1fb399ad1e6bb919
  16. 0x0aaf291a2ffa2205e7df7531bf36800e377dfbd67208da05b97625f1cc49ce02
  17. 0xa448dc698494f795f2240c0e7070e8a93eb263baee21ca4185a7d03432a614d8
  18. 0x119743aadcddb571b28b442b62196d4a0afc4e1c9979c2d477d34fcc9413deaf
  19. 0xc0d08d48601d1be90bcfc025e66bcaa0030120d688dd9c919b36c2c4446f4948
Day root
0xb30ccefe7182c6f767e1fcbfb5f64ffd649da831f665f65c5ff39cd40512284f
Chained
0xc383f7ef68d2914082484765aa09e42c12c59a74a096ae64127c562618c506d3
Published
On Arc Testnet, block 71111178: 0xfba13cb7ee4ada7f2fee3702a786a2201596be2ffea37dfc281ab4c8e9942fe1

How to check it · This row as JSON