{"x402Version":2,"resources":[{"url":"https://api.zfinia.com/x402/v1/data-compatibility-checker","method":"POST","description":"Compare caller-supplied source and target flat field schemas before ingestion, migration, CI deployment or machine-to-machine handoff. Returns a deterministic JSON mismatch report with type incompatibilities, missing required fields, nullability warnings and remediation codes. Does not fetch data or validate nested schemas, data values or runtime API behaviour.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"3000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/accessibility-contrast-calculator","method":"POST","description":"Calculate WCAG 2.x sRGB contrast for one caller-supplied foreground/background pair of hex colours (#RRGGBB). Returns JSON with the contrast ratio and AA/AAA threshold booleans for normal or large text. Does not assess a whole interface, support alpha colours or certify accessibility.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"1000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/catalog-offer-evidence-extractor","method":"POST","description":"Extract schema.org Product JSON-LD structured data from caller-supplied authorized public product-page HTML. Returns deterministic normalized Product/Offer JSON, including supplied price and currency when present, with source HTML and record SHA-256 hashes. Performs no URL fetching or browser execution; hashes do not prove authenticity and supplied prices may be stale.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"100000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/v1/intelligence/changes-since","method":"POST","description":"Return curated machine-economy developments covering x402 and agent commerce after a supplied cursor or since value. This delta feed includes material additions, corrections and retractions with provenance and nextCursor for caller-managed polling; an empty result is valid. No transaction feed, built-in scheduler, generic web search or exhaustive ecosystem monitoring.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/merchant-contract-regression-report","method":"POST","description":"Compare supplied baseline/current merchant API contracts for CI review. Returns a structured diff report with hashes, remediation, route/method checks, network/asset/payee policy checks, flat input/output compatibility and declared current price against the buyer maximum. No URL fetching, live or future-price guarantee, security audit or CI enforcement.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/company-evidence-pack","method":"POST","description":"Company enrichment and KYB data for due diligence by domain: verify a counterparty, supplier or vendor before outreach, onboarding or payment. Returns firmographics (legal name, LEI, SEC CIK, industry, HQ, founded, employees), domain intelligence (age, email provider, SPF/DMARC), public role emails, socials, plus OFAC SDN and EU sanctions screening. Source-cited; unknowns null. Company data only, not personal contacts or compliance clearance. Unresolvable domains not charged.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"60000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/x402-endpoint-preflight","method":"POST","description":"Find out what an x402 endpoint will charge before you pay it. Probes the endpoint, reads the challenge from the header or the body, and returns the decoded price, network, asset and payTo plus the declared input and output schemas. Never sends a payment. Only reviewed origins are reachable, and a redirect is refused rather than followed.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/x402-endpoint-health","method":"POST","description":"Is this paid endpoint answering right now? Returns whether it serves a payment challenge, how many well-formed priced offers it carries, which warnings would actually break a payment as opposed to merely making the call harder to construct, and a single payable_now flag. Reports only what was observed; it makes no judgement about the seller.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/x402-metadata-drift","method":"POST","description":"Did this paid endpoint change its terms since you last looked? Give it a previous challenge as the baseline and it returns every difference: price changes with old and new amounts, offers added or removed, a protocol version change, and a payee_changed flag when a new recipient address appears. Never pays the endpoint.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"6000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-network-snapshot","method":"POST","description":"Is Base ready to transact right now? One call returns the current block height, gas price in wei and how many seconds old the chain head is, all read at the same block. Refuses before payment if the endpoint is on the wrong chain or its head is stale, so you are never charged for a reading that is quietly out of date.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-finality-snapshot","method":"POST","description":"How settled is Base right now? Returns the latest and finalized block heights, how many confirmations the finalized head trails by, and both timestamps. Lets an agent decide whether a transaction is safe to treat as done, instead of guessing a confirmation count.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-wallet-snapshot","method":"POST","description":"Read a Base wallet native ETH balance and up to five ERC20 token balances at one pinned block. Separate balance lookups each answer at whatever height they happened to see, so they cannot be compared; these are all read at the same block and the block is in the response. Replaces six calls with one.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"8000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-token-metadata","method":"POST","description":"Read a Base token name, symbol, decimals and total supply in one call. Handles tokens that return a bytes32 name or symbol instead of a string, which is the case that breaks naive decoders. Fields the contract does not implement come back null and are listed, rather than guessed at. Refuses an address with no contract.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"6000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-transaction-outcome","method":"POST","description":"Did my Base transaction work and what did it cost? One call returns success or reverted, gas used, effective gas price, the fee in wei and in exact decimal ETH, confirmations behind the head, sender, recipient, value and log count. Pending and unknown hashes get a definite answer rather than an error.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"6000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/base-nft-owner","method":"POST","description":"Who owns this Base ERC721 token right now? Returns the current owner address at a pinned block. A token with no owner is refused before payment rather than returned as the zero address, which a caller could otherwise mistake for a real holder.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-metadata","method":"POST","description":"Fetch a reviewed public page and return its title, every meta and Open Graph tag, and the canonical URL. No JavaScript is executed and no script content is read. Returns the licence and creator for the content alongside it, so reuse terms travel with the result.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-json-ld","method":"POST","description":"Fetch a reviewed public page and return every JSON-LD structured-data block it declares, parsed. No script is executed. A block that is malformed is reported as a named warning rather than being silently dropped, so a caller can tell an empty page from a broken one.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"5000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-tables","method":"POST","description":"Fetch a reviewed public page and return its HTML tables as arrays of rows and cells. Bounded to ten tables, fifty rows each and twenty cells per row, and every bound that is reached is named in the warnings so a truncated table is never mistaken for a short one.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"6000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-links","method":"POST","description":"Fetch a reviewed public page and return its links with resolved absolute URLs and anchor text, the canonical URL, the declared meta robots directive, and how many links leave the host. Relative hrefs are resolved against the page, so a caller never has to guess a base.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-fingerprint","method":"POST","description":"Fetch a reviewed public page and return SHA-256 hashes of both the raw HTML and the visible text, with byte and character counts. Two hashes because they answer different questions: the HTML hash moves when anything at all changes, the text hash moves only when the content a reader would notice does.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"4000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/page-markdown","method":"POST","description":"Fetch a reviewed public page and return its readable content as Markdown, with headings and list structure preserved. Script, style and template content is removed, and nav and aside elements plus anything marked role=\"navigation\" are excluded from the text. Returns the licence and creator, because this content is reusable only on those terms. Truncation at any bound is reported, never silent.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"6000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/website-evidence-pack","method":"POST","description":"Everything a reviewed public page declares, in one call and one fetch: title, meta and Open Graph, canonical, robots directive, JSON-LD with its schema.org types, resolved links with an external count, tables, content fingerprints, and readable Markdown. Replaces six separate extraction calls, and adds the cross-checks none of them can make alone — a canonical that disagrees with the URL you asked for, a page declaring noindex, missing structured data.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/batch-page-fingerprint","method":"POST","description":"Watch up to ten reviewed public pages in one call. Supply the previous text hashes and it returns which pages actually changed, not ten hashes for you to compare. Hashes both the raw HTML and the visible text, so markup churn can be told from a real content change. A page that cannot be fetched is named individually and does not fail the batch.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"60000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/x402-merchant-readiness-audit","method":"POST","description":"Is this merchant safe to depend on? Audits up to ten x402 endpoints in one call and returns a verdict — ready, partially ready or not ready — with the specific blockers. Checks each endpoint serves a payable challenge with well-formed terms and a declared input schema, and adds the cross-endpoint check no single probe can make: whether every endpoint pays the same recipient. Never pays anything.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"25000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/tabular-contract-audit","method":"POST","description":"Audit your own delimited data against a contract you declare, and get one pass/fail plus the exact row and clause of every breach. Checks types, required values, enums, numeric bounds, lengths, patterns, uniqueness, composite primary keys, null-rate ceilings, header drift and encoding damage in one pass. A pass means the audit was complete and nothing broke, so a file beyond the bounds reports incomplete rather than passing. Nothing is fetched: you supply the rows.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"120000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/json-schema-compatibility","method":"POST","description":"Decide whether a schema change breaks your clients, and which ones. Classifies every change by the audience it breaks: producers construct the payload, consumers read it. Adding a required field breaks senders; adding an enum value breaks readers. A change it cannot classify is reported as unclassified and never counted as safe.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"150000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/api-response-contract-audit","method":"POST","description":"Audit an HTTP response you captured against a contract you declare: expected status or status class, required and forbidden headers, header value rules, and a body schema. Header names compare case-insensitively. You supply the response, so this works against an API behind authentication or on a private network.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"120000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/json-schema-migration-impact","method":"POST","description":"Decide whether a schema change is safe to ship, with evidence. Returns the compatibility verdict for your clients and, separately, how many of the real payloads you supply would newly be rejected, with the failing constraints ranked by how many payloads each costs. A breaking change nothing relies on is a different decision from one that rejects a tenth of your traffic.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"220000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/openapi-endpoint-inventory-diff","method":"POST","description":"See which operations were added, removed, deprecated or renamed between two OpenAPI documents. Flags a removal that was never preceded by a deprecation, an operationId change that renames the method in every generated client, and a duplicated operationId that no generator can resolve.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"100000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/openapi-parameter-contract-audit","method":"POST","description":"Audit a real request against the OpenAPI document it should satisfy. Matches the operation the way a router would, checks every path, query and header parameter against its declared schema, validates the body against the declared media type, and reports whether the credential the declared security scheme expects is present. You supply the request, so this works against an API nothing external can reach.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"140000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/openapi-response-conformance-audit","method":"POST","description":"Audit a real response against what the OpenAPI document promises for that operation. Resolves the declared status exactly, by range such as 2XX, or through default, checks declared response headers are present, and validates the body against the declared schema for its media type. Catches an implementation that has drifted from its own published contract.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"140000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/telemetry-attribute-contract-audit","method":"POST","description":"Audit telemetry attributes against a contract, and against the thing a schema cannot see: cardinality. Reports missing required attributes, undeclared attributes, an attribute appearing as two types across the batch, and an attribute whose distinct values exceed your limit - because in a metrics backend each distinct value is a separate series, and that is how an index or a bill explodes.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"120000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/ci-workflow-contract-audit","method":"POST","description":"Audit a CI workflow for what it leaves movable or undeclared. Reports actions pinned to a tag rather than a commit - a tag can be moved by whoever owns the action, so the code a step runs can change without this file changing - missing permissions and timeouts, a job depending on one that is not declared, a pull_request_target trigger, and an expression interpolated straight into a shell command.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"120000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/lockfile-change-report","method":"POST","description":"Compare two lockfiles and report what a manifest diff cannot see. Reports newly installed transitive packages, resolved version moves with breaking risk, a registry that changed, and the most serious finding available here: the same version with a different integrity hash, meaning the artifact behind a version that was supposed to be immutable is not the one that was there before.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"180000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/security-header-diff","method":"POST","description":"Compare a fixed list of ten security-relevant response headers across two releases and name the specific reverts. Reports a header removed, added or changed, and separately a reduced Strict-Transport-Security max-age, dropped includeSubDomains, a newly permitted unsafe-inline or unsafe-eval, and a Content-Security-Policy that moved from enforcing to report-only so it no longer blocks anything. Observable differences only, not an assessment of whether either configuration is adequate.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"110000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]},{"url":"https://api.zfinia.com/x402/v1/dkim-record-audit","method":"POST","description":"Audit DKIM selector records. The key length follows from the length of the encoded public key, so a short RSA key is readable from the record itself with no cryptography. Reports a key shorter than a stated minimum; a selector left in testing mode, which asks receivers to treat a failure as unsigned so it cannot contribute to DMARC alignment however correctly it signs; a revoked key, with its consequence; and a key type verifiers do not implement.","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"180000","payTo":"0x25e8245f07d5e4873987293dad666afbe56a9608"}]}]}