addrbookFor publishers
← The evidence ledger

Evidence row 74845

Observed , by baseline/1.

Kind
listing
About
source_record x402_bazaar:https://emailauth.openverbs.com/v1/spf-check
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d91fe1c452d1bc29a18525926c6ea05c2d07f7d7930cb353b11f73a051b87738
Leaf
0x72864e8ad88108853f84b2c431bde55ada61f598cd0daee7a5917e76ce617009

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://emailauth.openverbs.com/v1/spf-check"
    ]
  ],
  "name": "Email authentication",
  "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": "Evaluate an SPF record against an IPv4/IPv6 address using only its literal ip4/ip6/all mechanisms. DNS-dependent mechanisms (include, a, mx, exists, redirect) reached before a match yield an honest `indeterminate` result rather than a guess.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "ip": "192.0.2.10",
              "record": "v=spf1 ip4:192.0.2.0/24 -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": {
                    "ip": {
                      "description": "IPv4 or IPv6 address of the sending host.",
                      "minLength": 1,
                      "type": "string"
                    },
                    "record": {
                      "description": "SPF TXT record to evaluate.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "record",
                    "ip"
                  ],
                  "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-10-06T16:58:56.467Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-06T16:58:56.182Z"
    },
    "resource": "https://emailauth.openverbs.com/v1/spf-check",
    "serviceName": "Email authentication",
    "tags": [
      "check spf ip",
      "evaluate spf record",
      "spf ip validation",
      "spf sender check",
      "email authentication check"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Evaluate an SPF record against an IPv4/IPv6 address using only its literal ip4/ip6/all mechanisms. DNS-dependent mechanisms (include, a, mx, exists, redirect) reached before a match yield an honest `indeterminate` result rather than a guess."
}

What the leaf hashes

{"body":"d91fe1c452d1bc29a18525926c6ea05c2d07f7d7930cb353b11f73a051b87738","id":74845,"kind":"listing","method":"baseline/1","observed_us":1793025489490959,"prev":null,"subject":"x402_bazaar:https://emailauth.openverbs.com/v1/spf-check","subject_kind":"source_record"}

Proof

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

  1. 0x7285e78eadb3b86c09fecb9f91a232d0bb0dbdc8837b819b1dfb51415175367a
  2. 0x21f79bd1c27b924ddae22dcc88b00e1906786ce14b47337aac3d18939a49453f
  3. 0xfe60d380b8994a3ca49b7955aa27e81164ac4bbf89820f742ef093cfc02e0ccb
  4. 0x5d541da80370bdae7ed3dbcce416ada33e815028dc7be8cc042513841616b456
  5. 0xe6c72622ab9e57f84fb491c27fe02526a16ff323e59c81e1ec7f714823ca2fbf
  6. 0xe413934f436a58282b65bd9bfad68b12176c8642be8142e5c59afa29bd335f29
  7. 0x1623a7b51f8173d0f648b0c9400d1070d33571183bd1af3b031164c2530e44ce
  8. 0x0070498ea88da9b305db0cba73bfeebda3a261d7458b33b86760e0a7e886a44d
  9. 0xa49cea6f6b521519a07a923a456a871b4b1d428b94bda9ba6edc2ade540cba06
  10. 0xfec618220a4577d4063b5b2d1736f3db0d758d4b39800128bc55fe3318ff8373
  11. 0x9763a000e2506d3e18d36911968fe32044769ec0822949b880df4736389d3536
  12. 0xef1802ec08c5a2efaca6aadccc58edcebeb620a019383dc0785f198c677a9427
  13. 0x06064dc1eb2363bec8c2a752e0a28aafc4bf0cb21d1b1b755821c1575bb77a96
  14. 0xc4fe2177880ea1b0e82b6fe4c270090fd0fbe5af3a42a8cbf6a6ba2fa35625f6
  15. 0x15039087bf60ae9b06b756ec3cbc299760e59923a438bbd91e34d105186db0ed
  16. 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON