addrbookFor publishers
← The evidence ledger

Evidence row 567291

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d8f48ef9-1999-4c6e-b5f8-a2888782b556
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
4855cba20396065be318a85f2a8e491f23f76d5a8f713fea5059c95f7db508cf
Leaf
0x9509fb5bf79fc9110b9ae0dcfbf08bc62e329c01d80cbc3cb9cb9f328ec22f29

What was observed

{
  "count": 17,
  "tools": [
    {
      "description": "Start a purchase of a credit package and return a way to pay. This does NOT complete a payment by itself — it returns a payment link / address:\n• method 'stripe' → returns a checkout_url. Paying by card requires a HUMAN to open that link and enter card details; an agent cannot finish a card payment on its own.\n• method 'crypto' → returns a Plisio invoice with a checkout_url AND, when you pass a `currency` (BTC, ETH, LTC, USDT, USDC), a RAW wallet `address` + `amount`. An autonomous agent CAN pay this from a crypto wallet with no browser/human, then credits are added automatically once the payment confirms. Prefer crypto for fully autonomous top-ups. Get a package id from get_packages first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "currency": {
            "description": "For method 'crypto': the coin to pay in; returns a raw wallet address an agent can pay autonomously.",
            "enum": [
              "BTC",
              "ETH",
              "LTC",
              "USDT",
              "USDC"
            ],
            "type": "string"
          },
          "method": {
            "description": "Payment method. 'stripe' = card link (needs a human), 'crypto' = wallet-payable invoice. Default 'stripe'.",
            "enum": [
              "stripe",
              "crypto"
            ],
            "type": "string"
          },
          "package_id": {
            "description": "The package id to buy (from get_packages).",
            "type": "string"
          }
        },
        "required": [
          "package_id"
        ],
        "type": "object"
      },
      "name": "buy_credits"
    },
    {
      "description": "Check the DNS and deliverability health of an email domain: MX records, SPF, DMARC, and an overall health score. Useful for diagnosing why a domain bounces or for validating a sending domain.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "domain": {
            "description": "Domain to check, e.g. example.com",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "check_domain_health"
    },
    {
      "description": "Clean a list of email addresses before an import or campaign: dedupes, removes invalid syntax, and (optionally) strips disposable and role accounts. Returns the cleaned list plus a summary of what was removed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "emails": {
            "description": "Email addresses to clean.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "exclude_role_accounts": {
            "description": "Remove role accounts (info@, support@, ...). Default false.",
            "type": "boolean"
          },
          "remove_disposable": {
            "description": "Remove disposable/throwaway addresses. Default true.",
            "type": "boolean"
          }
        },
        "required": [
          "emails"
        ],
        "type": "object"
      },
      "name": "clean_email_list"
    },
    {
      "description": "Extract all email addresses found in a block of free-form text (notes, pasted documents, signatures). Optionally deduplicates and lowercases the results.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "deduplicate": {
            "description": "Remove duplicate addresses. Default true.",
            "type": "boolean"
          },
          "lowercase": {
            "description": "Lowercase all extracted addresses. Default true.",
            "type": "boolean"
          },
          "text": {
            "description": "Free-form text to scan for email addresses.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "extract_emails"
    },
    {
      "description": "Return the account profile for the current API key: email, name, company, timezone, remaining credits, total credits used, number of API keys, and plan. Costs no credits.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_account"
    },
    {
      "description": "Return the API key's remaining verification credits and recent usage (today / this month) and plan. Costs no credits.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_credits"
    },
    {
      "description": "Fetch the full per-address results of a completed bulk verification job by job_id (each email's verdict, recommendation, and reason) plus the valid/invalid/risky summary and credits used. The job must be 'completed' — check get_job_status first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "description": "The job_id returned by submit_bulk.",
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "get_job_results"
    },
    {
      "description": "Fetch the current status and progress of a bulk verification job by its job_id (status, percent progress, processed count, and a valid/invalid/risky summary). Poll this after submit_bulk until status is 'completed', then call get_job_results.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "description": "The job_id returned by submit_bulk.",
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "get_job_status"
    },
    {
      "description": "List the credit packages available for purchase (id, name, credit amount, price in USD, and price per 1k credits). Use the returned package id with buy_credits.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_packages"
    },
    {
      "description": "Call this FIRST if you have no Verifly API key. Returns how Verifly works and how to get access with no human: pay-as-you-go email verification API, 100 free credits on self-registration, no monthly fee. No API key required to call this tool.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_started"
    },
    {
      "description": "Return detailed usage statistics for the account over a period (day, week, or month): total credits used, emails processed, request counts broken down by endpoint and source, a daily breakdown, and recent activity.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Max recent log entries to include (default 100, max 1000).",
            "type": "integer"
          },
          "period": {
            "description": "Reporting period. Default 'month'.",
            "enum": [
              "day",
              "week",
              "month"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_usage"
    },
    {
      "description": "List the account's bulk verification jobs, most recent first, with their status, progress, and summary. Optionally filter by status and paginate. Use this to find past jobs and their job_ids.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Max jobs to return (1-100, default 50).",
            "type": "integer"
          },
          "offset": {
            "description": "Pagination offset (default 0).",
            "type": "integer"
          },
          "status": {
            "description": "Only return jobs in this status.",
            "enum": [
              "pending",
              "processing",
              "completed",
              "failed"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_jobs"
    },
    {
      "description": "Programmatically create a brand-new Verifly account — this is how an agent self-onboards with no human in the loop. Requires only an email and a password (min 8 chars; disposable email domains are rejected). The new account starts with free credits. The response includes the new account id/email and a freshly generated `api_key.key` that is shown ONCE — capture and store it immediately, it cannot be retrieved again. Subsequent tool calls can then use that key as the bearer token.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "Email for the new account (not a disposable domain).",
            "type": "string"
          },
          "password": {
            "description": "Password for the new account (minimum 8 characters).",
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "type": "object"
      },
      "name": "register_account"
    },
    {
      "description": "Submit a list of email addresses as an asynchronous bulk verification job — the right tool for large lists. Returns immediately with a job_id, status, and the check_status_url / results_url to poll. Small lists may complete inline (status 'completed'); larger ones return status 'pending' — poll get_job_status until it is 'completed', then call get_job_results. Optionally register a webhook_url (public HTTPS) to be notified when the job finishes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "emails": {
            "description": "Email addresses to verify in this job (deduped server-side).",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "webhook_url": {
            "description": "Optional public HTTPS URL to POST a job.completed notification to.",
            "type": "string"
          }
        },
        "required": [
          "emails"
        ],
        "type": "object"
      },
      "name": "submit_bulk"
    },
    {
      "description": "Synchronously verify a list of email addresses (best for up to a few hundred). Returns a per-address verdict for each email. For very large lists use the bulk async endpoint instead.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "emails": {
            "description": "Array of email addresses to verify.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "exclude_public_domains": {
            "description": "Flag/exclude public domains (gmail.com, ...). Default false.",
            "type": "boolean"
          },
          "exclude_role_accounts": {
            "description": "Flag/exclude role accounts (info@, sales@, ...). Default false.",
            "type": "boolean"
          }
        },
        "required": [
          "emails"
        ],
        "type": "object"
      },
      "name": "verify_batch"
    },
    {
      "description": "Verify one email address in real time. Returns a deliverability verdict (valid / invalid / risky / unknown), the reason, detailed flags (disposable, role account, catch-all, MX, SMTP), a send/reject recommendation, and credit usage.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "The email address to verify, e.g. lead@example.com",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "name": "verify_email"
    },
    {
      "description": "Verify one email address with NO account or API key, so you can evaluate Verifly before registering. Rate-limited per IP (a few checks). Returns the same deliverability verdict and flags as the full API. For real volume, call register_account for a key + 100 free credits, then use verify_email.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "email": {
            "description": "The email address to verify, e.g. lead@example.com",
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "name": "verify_email_demo"
    }
  ]
}

What the leaf hashes

{"body":"4855cba20396065be318a85f2a8e491f23f76d5a8f713fea5059c95f7db508cf","id":567291,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138657698056,"prev":null,"subject":"d8f48ef9-1999-4c6e-b5f8-a2888782b556","subject_kind":"endpoint"}

Proof

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

  1. 0x950a5ca402fb50000b7ba4298c228523221afa5eb0b26d66efb931103c946206
  2. 0xcd004ed91afb92be28231f45d362779d540d2c84909b42358dafa158079760b6
  3. 0xc667a9c9db43a041e5a19bbf792e62c687cd39bdbae0bc54342cb5780218a16a
  4. 0x3db84b130ec85fcfef58b539c39df4d3a8c4737ec43aface009856bf9dc7329b
  5. 0xd37a1d83c32bd9323719847cdc5f2aa328e4c3e592bb81821ce6f8f5ead05423
  6. 0x990956cd516dc8a11e9ff88408cb1d02685f76096a63782f8ce5de0995c6a71b
  7. 0xe6d1fe7e5e8de9ba1f8db7dc98e6d64ca171ffd38e00178142d47e57258fcb72
  8. 0x0cbfb6a337f108291ad0a446b537aa14a8c338d7a336b15efa15c0a68be9fe5e
  9. 0x93261c370058e4919e45f5cff48d4e5535198b82698584edf98d177d2ab6bbe2
  10. 0x7ba3519ee17f3918069be97b4b6928adeda06ee424da27db34abd998ca7297fa
  11. 0x04a09d663456ff3951851256dd93fd8bffe97c065373b0fa7994aee5fd52c4a7
  12. 0x747fb8d60cfe8dde3cb6d73475c58c3912bdf8d928b8f0480aa1c97a1b71d408
  13. 0x59c5c792b40d9054ce2b84a60af97fa54f2e1a2a369a6a52dc3f45de41128e97
  14. 0xa3c9c760ee424c178bab782711c2b9d3e15a80a6fde99165972cb75b306bb8b4
  15. 0xb4f7223140c8a36cb87a63d77cf617086d9968dc4658f03e102571ebe06e9ed6
  16. 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON