{"audit":{"version":"1.5","generated_at":"2026-09-08T20:22:37.657002+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/api.salt19.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"api.salt19.com","name":"SALT19 Agent Utility Grid","url":"https://api.salt19.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"api.salt19.com","url":"https://api.salt19.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"paid_api","live_responds":true,"last_status_code":200,"last_elapsed_ms":411,"last_error":null},"track_record":{"first_seen":"2026-08-31T21:04:09.904075+00:00","last_checked":"2026-09-08T16:39:37.773839+00:00","last_seen_ok":"2026-09-08T16:39:37.773839+00:00","checks_total":51,"checks_ok":33,"uptime_pct":10.0,"uptime_window_days":30,"uptime_probes":20,"archived":false,"archived_reason":null},"conformance":{"score":54,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":15,"max_points":25,"status":"partial","detail":"Endpoint answers with HTTP 402 payment-required: live, but not anonymously callable."},{"key":"protocol_version","label":"Protocol version","points":8,"max_points":10,"status":"partial","detail":"Declares A2A 1.0 but missing supportedInterfaces[] (required in v1.0, update your card to reach 10/10)."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":2,"max_points":15,"status":"fail","detail":"2/20 probes succeeded (10% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 26 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: api.salt19.com (https://api.salt19.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://api.salt19.com/.well-known/agent-card.json"},"skills":[{"id":"route-base-token-allowance","name":"Route to Base Token Allowance","description":"Discover and route to SALT19's base-token-allowance capability. Read a live ERC-20 allowance on Base for an owner/spender pair without an API key. Returns the current block and raw token units.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["check ERC20 allowance on Base","live Base token allowance for an autonomous agent","read USDC allowance without an API key"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-base-token-balance","name":"Route to Base Token Balance","description":"Discover and route to SALT19's base-token-balance capability. Read a live ERC-20 token balance on Base and return raw units plus best-effort token decimals/symbol metadata without signup or an API key.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["check token balance on Base","live Base USDC balance API for an agent","read ERC20 balance without signup"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-base-transaction-status","name":"Route to Base Transaction Status","description":"Discover and route to SALT19's base-transaction-status capability. Check current Base transaction receipt state and return PENDING, CONFIRMED_SUCCESS, or CONFIRMED_REVERTED with block and gas evidence.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["is this Base transaction confirmed","Base transaction receipt status for an autonomous agent","check onchain payment status on Base"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-base-wallet-balance","name":"Route to Base Wallet Balance","description":"Discover and route to SALT19's base-wallet-balance capability. Read a wallet's live native ETH balance on Base at the latest block without an API key.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["Base wallet balance API","read native ETH balance on Base","live wallet state for an autonomous agent"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-base-contract-state","name":"Route to Base Contract State","description":"Discover and route to SALT19's base-contract-state capability. Inspect whether a Base address currently has deployed bytecode and return code size plus best-effort ERC-20 metadata.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["is this address a contract on Base","Base smart contract metadata","inspect token contract state without API key"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-sec-recent-filings","name":"Route to Sec Recent Filings","description":"Discover and route to SALT19's sec-recent-filings capability. Return recent SEC EDGAR filings for a company CIK from the live SEC submissions feed, normalized for agent consumption.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["latest SEC filings by CIK","fresh EDGAR filing data for an agent","company filings without an EDGAR integration"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-sec-company-facts","name":"Route to Sec Company Facts","description":"Discover and route to SALT19's sec-company-facts capability. Return selected latest SEC XBRL company facts from EDGAR's live companyfacts feed with source dates and units.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["latest SEC company facts","fresh XBRL facts for an AI agent","company financial facts without an API key"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-nws-active-alerts","name":"Route to Nws Active Alerts","description":"Discover and route to SALT19's nws-active-alerts capability. Return current U.S. National Weather Service active alerts for a state or territory as compact structured JSON.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["current NWS weather alerts","live weather warnings for an autonomous agent","US weather alert data without an API key"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-usgs-earthquakes","name":"Route to Usgs Earthquakes","description":"Discover and route to SALT19's usgs-earthquakes capability. Query recent USGS earthquake events by lookback window and minimum magnitude and return compact live event state.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["recent USGS earthquakes","fresh earthquake feed for an agent","live seismic events without API credentials"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-url-to-llm-markdown","name":"Route to Url To Llm Markdown","description":"Discover and route to SALT19's url-to-llm-markdown capability. Fetch a public web page, remove scripts/styles/navigation noise, and return bounded LLM-friendly Markdown plus canonical URL and fetch provenance.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["URL to LLM markdown","clean webpage for LLM context","fetch and normalize public web content without another API key"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-npm-package-facts","name":"Route to Npm Package Facts","description":"Discover and route to SALT19's npm-package-facts capability. Return live npm registry facts for the latest or requested package version without the higher-priced vulnerability and adoption decision layer.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["npm package facts","latest npm package metadata","read npm package version license and deprecation"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-github-repo-facts","name":"Route to Github Repo Facts","description":"Discover and route to SALT19's github-repo-facts capability. Return current public GitHub repository facts such as archive state, license, stars, forks, branch and latest push without the premium adoption decision.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["GitHub repository facts API","current GitHub repo metadata for a coding agent","repo activity license and archive state"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-agent-code-change-risk-gate","name":"Route to Agent Code Change Risk Gate","description":"Discover and route to SALT19's agent-code-change-risk-gate capability. Static pre-merge risk gate for autonomous code changes: inspect a supplied unified diff for security-sensitive surfaces, destructive operations, architecture/constraint conflicts, test requirements, rollback risk, and bounded breaking-change risk before an agent merges or deploys.","tags":["routing","x402","machine-commerce","github","decision","agent-utility"],"examples":["review an AI agent code diff before merge","code change risk gate for autonomous coding agent","check a patch for security rollback and breaking change risk"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-agent-decision-preflight","name":"Route to Agent Decision Preflight","description":"Discover and route to SALT19's agent-decision-preflight capability. Before an autonomous coding agent installs or adopts software, return a bounded GO, WARN, or BLOCK decision with evidence and a portable SALT19 verification receipt.","tags":["routing","x402","machine-commerce","npm","decision","agent-utility"],"examples":["should my coding agent install this dependency","verify software before an autonomous agent adopts it","GO WARN BLOCK decision before installing a package or repository"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-dependency-upgrade-go-no-go","name":"Route to Dependency Upgrade Go No Go","description":"Discover and route to SALT19's dependency-upgrade-go-no-go capability. Compare current and target npm versions and return GO/WARN/BLOCK plus UPGRADE/DEFER/BLOCK guidance, bounded semver risk, OSV security implications, recommended tests, and explicit NOT_PROVEN runtime, peer, migration, and ecosystem compatibility boundaries.","tags":["routing","x402","machine-commerce","npm","decision","agent-utility"],"examples":["should I upgrade this npm dependency","dependency version upgrade go no go","compare npm versions before upgrading package json"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-github-repo-preflight","name":"Route to Github Repo Preflight","description":"Discover and route to SALT19's github-repo-preflight capability. GitHub repository due diligence for coding agents: evaluate whether a public or open-source repository is safe and maintained enough to adopt using license, maintenance, release freshness, activity, project health, and risk signals.","tags":["routing","x402","machine-commerce","github","primitive","agent-utility"],"examples":["is this GitHub repository safe and maintained enough to use","check GitHub repo license maintenance and release freshness","repository due diligence for a coding agent"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-model-memory-fit","name":"Route to Model Memory Fit","description":"Discover and route to SALT19's model-memory-fit capability. Can this AI model run on my graphics card? Estimate model memory requirements and check whether a quantized LLM fits available GPU VRAM before loading or local inference.","tags":["routing","x402","machine-commerce","model","primitive","agent-utility"],"examples":["will this LLM fit in my GPU VRAM","check whether a quantized model fits on an 11GB GPU","estimate model memory requirements before loading it"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-npm-package-intel","name":"Route to Npm Package Intel","description":"Discover and route to SALT19's npm-package-intel capability. Check whether an npm package is deprecated or vulnerable before installing it, including vulnerabilities, license, maintenance, freshness, dependency health, and package.json risk signals.","tags":["routing","x402","machine-commerce","npm","primitive","agent-utility"],"examples":["check an npm package before installing it","npm vulnerability license and maintenance check","is this npm package deprecated or vulnerable"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-url-http-preflight","name":"Route to Url Http Preflight","description":"Discover and route to SALT19's url-http-preflight capability. Inspect a URL before an autonomous agent calls it, and preflight or verify a website or external API endpoint is healthy and safe to call by checking HTTP status, redirects, latency, and security headers.","tags":["routing","x402","machine-commerce","url","primitive","agent-utility"],"examples":["inspect a URL before my agent calls it","check HTTP status redirects latency and security headers","preflight an external API endpoint"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-agent-plan-verifier","name":"Route to Agent Plan Verifier","description":"Discover and route to SALT19's agent-plan-verifier capability. Verify an autonomous agent plan before execution for missing preconditions, destructive steps, unsafe ordering, goal misalignment, constraint violations, and repair actions, returning a bounded GO/WARN/BLOCK result.","tags":["routing","x402","machine-commerce","npm","decision","agent-utility"],"examples":["verify an autonomous agent plan before execution","check AI agent plan ordering constraints and safety","agent plan preflight GO WARN BLOCK"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-dependency-go-no-go","name":"Route to Dependency Go No Go","description":"Discover and route to SALT19's dependency-go-no-go capability. Dependency approval decision for coding agents: decide whether an npm dependency or package is safe to install or adopt and return GO, WARN, or BLOCK using vulnerabilities, security, license, maintenance, deprecation, and package metadata.","tags":["routing","x402","machine-commerce","npm","decision","agent-utility"],"examples":["should I install this npm dependency","decide whether this package is safe to adopt","dependency approval decision for a coding agent"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-agent-claim-output-verifier","name":"Route to Agent Claim Output Verifier","description":"Discover and route to SALT19's agent-claim-output-verifier capability. Map an autonomous agent claim or output to supplied evidence and return SUPPORTED, PARTIALLY_SUPPORTED, NOT_PROVEN, or CONTRADICTED with explicit unsupported elements, contradictions, missing evidence, and recommended verification.","tags":["routing","x402","machine-commerce","npm","decision","agent-utility"],"examples":["verify an AI agent claim against evidence","check whether agent output is supported or contradicted","map autonomous agent claims to evidence"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-repo-adoption-go-no-go","name":"Route to Repo Adoption Go No Go","description":"Discover and route to SALT19's repo-adoption-go-no-go capability. Repository adoption decision for autonomous coding agents using public GitHub maintenance, archive, license, and repository-health evidence, with explicit UNKNOWN and NOT_PROVEN boundaries for dependency, security, compatibility, integration, and project-fit claims.","tags":["routing","x402","machine-commerce","github","decision","agent-utility"],"examples":["should my coding agent adopt this GitHub repository","GO or BLOCK an open source repository","repository adoption decision for an autonomous coding agent"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-commerce-decision","name":"Route to Commerce Decision","description":"Discover and route to SALT19's commerce-decision capability. Before an autonomous agent pays an x402 challenge, bind the request, accepted payment offer, and machine spending policy into a deterministic GO/WARN/BLOCK decision with SHA-256 commitments.","tags":["routing","x402","machine-commerce","url","decision","agent-utility"],"examples":["should my AI agent pay this x402 request","x402 payment preflight spending policy decision","verify x402 price payee asset and network before paying"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-commerce-receipt","name":"Route to Commerce Receipt","description":"Discover and route to SALT19's commerce-receipt capability. Verify an x402 commercial state and persist a signed Ed25519 Proof402 receipt whose Commerce State Root commits request, offer, policy, payment, settlement, and delivery evidence; receipts are later Merkle-batched for public inclusion proofs.","tags":["routing","x402","machine-commerce","url","decision","agent-utility"],"examples":["signed x402 proof of delivery receipt","durable cryptographic receipt for agent payment","proof carrying commerce receipt x402"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]},{"id":"route-commerce-verify","name":"Route to Commerce Verify","description":"Discover and route to SALT19's commerce-verify capability. Verify that an x402 v2 payment payload, settlement evidence, original request, accepted offer, spending policy, and delivered response are mutually bound; SALT19 operations can additionally be checked against authoritative D1 commercial state.","tags":["routing","x402","machine-commerce","url","decision","agent-utility"],"examples":["verify an x402 payment and delivered API response","bind x402 payment to request and response","proof of delivery for an AI agent payment"],"inputModes":["text/plain","application/json"],"outputModes":["text/plain","application/json"]}],"provenance":[{"source":"x402_list","first_seen":"2026-08-31T21:04:09.904075+00:00"},{"source":"manifests","first_seen":"2026-08-31T23:02:45.800336+00:00"}],"recent_probes":[{"fetched_at":"2026-09-08T09:05:34.034345+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":411,"live_responds":true},{"fetched_at":"2026-09-08T02:57:11.241661+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":469,"live_responds":true},{"fetched_at":"2026-09-07T08:25:59.602838+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-07T01:53:36.243513+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-06T20:09:27.390810+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-06T07:54:25.303500+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-06T01:24:47.143203+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-05T19:26:23.927679+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-05T06:52:25.941618+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-09-04T05:18:15.088351+00:00","ok":false,"status_code":404,"error":"HTTP 404","elapsed_ms":null,"live_responds":null}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-09-08T20:22:37.671948+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/api.salt19.com/evidence","dispute_url":"https://agenstry.com/agents/api.salt19.com/dispute"},"verification_history":[]}