Read the evidence before acting.
Use Marque's existing typed read contracts without a signer, custody or automatic payment.
One bounded read
The local TypeScript example project is examples/read-client. It consumes reviewed checkout packages; there is no public npm SDK release. Use a reviewed deployment that exposes the versioned API; a legacy response fails validation. Browser code imports @marque/commerce/read-only. Node receipt checks use the separate @marque/execution/evidence entry.
import { readMachineCatalog, CatalogReadError } from '@marque/commerce/read-only'
const catalog = await readMachineCatalog(location.origin, { limit: 10 }, { timeoutMs: 15000 })Each call makes one GET, omits credentials, refuses redirects and caps the response at 2 MiB. It neither retries nor pages automatically. Browser cross-origin access needs explicit CORS support. A limit is a request budget; use the returned population scope and freshness to interpret counts.
CatalogReadError distinguishes invalid query, unavailable, rate limited, invalid response and timeout. On 429 inspect the bounded retryAfterSeconds before a later explicit retry. A 503 means unavailable, never an empty successful market. Exact-task compatibility and current ownership still need fresh evidence.
Content checks and unsigned plans
Node examples inspect saved receipt or job bundles offline. Receipt content uses the original sorted-JSON SHA-256 contract. Matching bytes do not establish issuer authentication, current chain state, payment release, quality, asset authority or independent people. Anchoring and service settlement are separate evidence.
import { inspectReceiptBundle } from '@marque/execution/evidence'
import { buildHirePlan } from '@marque/commerce/read-only'
const content = inspectReceiptBundle(savedReceipt)
const result = buildHirePlan({ quote, intent, expected })Choose expected independently: buyer, chain, exact identity, service, provider, quote hash, token, decimals, raw amount, task and description commitment. The example never creates an intent or refreshes a quote. Expired, mismatched or incomplete inputs fail.
A valid plan is UNSIGNED; simulation is NOT_RUN. Signature mode is server-reported, with no independent signature replay. Fresh ownership, token support, balances, allowances and interrupted-transaction recovery must be checked before the buyer signs. Never resend job creation blindly. See the existing versioned unsigned-plan output schema.
Payment inspection is beta
inspectPaymentChallenge reads a captured HTTP response: {status, headers, body}. It does not visit the provider, select an offer, connect a wallet, attach a payment header or replay a request. Paid x402 execution is unavailable.
Amounts remain atomic decimal strings; token decimals and supported currency are unverified. Every offered option stays a provider claim. Comparing declared chain, asset, payee and raw cap with caller-reviewed terms does not authenticate the payer or payee, establish nonce protection or idempotency, or grant spending permission. executionAllowed is always false.
Relative payment timeout is not proof of absolute quote expiry. HTTP 200 discovery does not establish a free task operation; HTTP errors never become a free quote. Unsupported networks, payment schemes and MPP challenges remain explicit. HTTP payment is distinct from ERC-8183 escrow and its delivery, review, completion and payment-release events.
Protocol references: official x402 specification and BNB payment adapters. A listed protocol or token name alone does not establish deployed support.
Use the existing seller rail
The versioned illustrative card and tool examples use deliberately non-live hostnames and contain no price or identity claim. Declare the exact endpoint and schema for work you can deliver. A2A message/send and MCP tools/call may create tasks; discovery does not authorize invoking them.
Reuse builder checks and owner publication and the seller setup and recovery guide. Registration, owner listing, local quality checks, service Warrant, hireability and official campaign qualification remain separate.
Official BNB links: Studio v4 introduction, current quickstart and deployment guide. Example code performs no deployment, registration, key setup or paid action.