{"query":"hash","include":"all","count":5,"sellers":5,"results":[{"seller":"self","sellerHome":"https://agent402.tools","sellerName":"Agent402.Tools (agent402.base.eth)","slug":"hash","name":"Hash","method":"POST","route":"/api/hash","url":"https://agent402.tools/api/hash","price":0.001,"priceUsd":0.001,"priceKnown":true,"payable":"x402","why":{"score":13,"matchedOn":{"slug":10,"name":2,"text":1},"health":1,"healthSource":"self-asserted","priceRank":0.001,"tiebreaks":["score","health","cheapest known price","shorter slug"]},"category":"encoding","description":"Cryptographic hash of a text string (UTF-8): returns algo, hex and base64 digests. Algorithms: sha256 (default), sha512, sha1, md5. Up to 100KB of text; for every digest (plus CRC32) in one call use checksum.","score":13,"health":1,"networks":[],"paymentNetworksKnown":true,"routerDispatchEligible":true,"routerDispatchReason":"local_catalog","executeVia":{"tool":"route-execute","price":"$0.01","underlyingPriceUsd":0.001,"routingFeeUsd":0.009},"executeViaCallableNow":true},{"seller":"https://swift-lion-15.loca.lt","sellerHome":"https://swift-lion-15.loca.lt","sellerName":"https://swift-lion-15.loca.lt","slug":"hash","name":"SHA-256 or SHA-512 digest","method":"POST","route":"/hash","url":"https://swift-lion-15.loca.lt/hash","price":"$0.0005","priceUsd":0.0005,"priceKnown":true,"payable":"x402","requestContract":{"state":"declared","source":"seller_openapi","required":{"body":["text"]},"optional":{"body":["algorithm"]},"runtimeVerified":false},"why":{"score":10,"matchedOn":{"slug":10,"name":0,"text":0},"health":1,"healthSource":"crawl","priceRank":0.0005,"tiebreaks":["score","health","cheapest known price","shorter slug"]},"category":"other","description":"","score":10,"health":1,"untrustedContent":true,"source":"https://swift-lion-15.loca.lt","networks":[],"paymentNetworksKnown":false,"routerDispatchEligible":false,"routerDispatchReason":"network_unknown","executeViaWhenEligible":{"tool":"route-execute","price":"$0.01","underlyingPriceUsd":0.0005,"routingFeeUsd":0.0095},"executeViaCallableNow":false},{"seller":"https://slippery-penguin-91.loca.lt","sellerHome":"https://slippery-penguin-91.loca.lt","sellerName":"https://slippery-penguin-91.loca.lt","slug":"hash","name":"SHA-256 or SHA-512 digest","method":"POST","route":"/hash","url":"https://slippery-penguin-91.loca.lt/hash","price":"$0.0005","priceUsd":0.0005,"priceKnown":true,"payable":"x402","requestContract":{"state":"declared","source":"seller_openapi","required":{"body":["text"]},"optional":{"body":["algorithm"]},"runtimeVerified":false},"why":{"score":10,"matchedOn":{"slug":10,"name":0,"text":0},"health":1,"healthSource":"crawl","priceRank":0.0005,"tiebreaks":["score","health","cheapest known price","shorter slug"]},"category":"other","description":"","score":10,"health":1,"untrustedContent":true,"source":"https://slippery-penguin-91.loca.lt","networks":[],"paymentNetworksKnown":false,"routerDispatchEligible":false,"routerDispatchReason":"network_unknown","executeViaWhenEligible":{"tool":"route-execute","price":"$0.01","underlyingPriceUsd":0.0005,"routingFeeUsd":0.0095},"executeViaCallableNow":false},{"seller":"https://nasty-swan-93.loca.lt","sellerHome":"https://nasty-swan-93.loca.lt","sellerName":"https://nasty-swan-93.loca.lt","slug":"hash","name":"SHA-256 or SHA-512 digest","method":"POST","route":"/hash","url":"https://nasty-swan-93.loca.lt/hash","price":"$0.0005","priceUsd":0.0005,"priceKnown":true,"payable":"x402","requestContract":{"state":"declared","source":"seller_openapi","required":{"body":["text"]},"optional":{"body":["algorithm"]},"runtimeVerified":false},"why":{"score":10,"matchedOn":{"slug":10,"name":0,"text":0},"health":1,"healthSource":"crawl","priceRank":0.0005,"tiebreaks":["score","health","cheapest known price","shorter slug"]},"category":"other","description":"","score":10,"health":1,"untrustedContent":true,"source":"https://nasty-swan-93.loca.lt","networks":[],"paymentNetworksKnown":false,"routerDispatchEligible":false,"routerDispatchReason":"network_unknown","executeViaWhenEligible":{"tool":"route-execute","price":"$0.01","underlyingPriceUsd":0.0005,"routingFeeUsd":0.0095},"executeViaCallableNow":false},{"seller":"https://witty-liger-75.loca.lt","sellerHome":"https://witty-liger-75.loca.lt","sellerName":"https://witty-liger-75.loca.lt","slug":"hash","name":"SHA-256 or SHA-512 digest","method":"POST","route":"/hash","url":"https://witty-liger-75.loca.lt/hash","price":"$0.0005","priceUsd":0.0005,"priceKnown":true,"payable":"x402","requestContract":{"state":"declared","source":"seller_openapi","required":{"body":["text"]},"optional":{"body":["algorithm"]},"runtimeVerified":false},"why":{"score":10,"matchedOn":{"slug":10,"name":0,"text":0},"health":1,"healthSource":"crawl","priceRank":0.0005,"tiebreaks":["score","health","cheapest known price","shorter slug"]},"category":"other","description":"","score":10,"health":1,"untrustedContent":true,"source":"https://witty-liger-75.loca.lt","networks":[],"paymentNetworksKnown":false,"routerDispatchEligible":false,"routerDispatchReason":"network_unknown","executeViaWhenEligible":{"tool":"route-execute","price":"$0.01","underlyingPriceUsd":0.0005,"routingFeeUsd":0.0095},"executeViaCallableNow":false}],"returned":5,"matched":154,"complete":false,"truncated":true,"sellersMatched":64,"topMax":25,"neutrality":{"paidPlacement":false,"sellerKeyedScoring":false,"ranking":"deterministic lexical match on slug, name and description; ties broken by health, then cheapest known price, then shorter slug","hostAdvantages":["our own health is self-asserted as 1 because the crawler never probes itself; external health is measured from crawl outcomes. Every result reports why.healthSource so the two are distinguishable"],"excludeHost":"include=external removes our catalog from the ranking entirely","source":"https://github.com/MikeyPetrillo/Agent402"},"containsUntrustedContent":true,"network":"eip155:4663","dispatchLegend":{"routerSpendChains":["base","algorand","tempo","solana"],"corrections":"every field here is a reading of public data (the seller's own manifest and 402 challenges, and on-chain settlements) taken at the scan time shown, so it can be stale or, where wallets fold to the wrong operator, wrong. A seller who believes a row misreads them can write to mike@agent402.tools and we will re-scan and correct or withdraw it. Listing is free and unreviewed, and so is delisting: an origin that stops serving x402 drops out on its own.","routerDispatchByChain":"one entry per chain this host holds a spending wallet for (base, algorand, tempo, solana) that the seller also advertises, each with the router's verdict there. A chain missing from this map is one this host cannot pay on at all, whatever the seller's networks list says; it is never an eligibility verdict about that chain. A seller advertising only chains outside that set reads routerDispatchReason no_supported_route.","routable":"the last crawl of this origin succeeded (manifest, OpenAPI or a live 402 was read). It is crawl readiness, never a promise that the router will pay the seller.","health":"a score from the last crawl outcomes of this origin; 1 = every recent crawl succeeded.","networks":"chains the seller's own 402 challenges advertise; empty means the crawl could not learn any.","paymentNetworksKnown":"true when at least one payment network was learned from the seller's 402s.","networksInferred":"present and true on a route row that observed no accepts of its own and inherited the chains its seller advertises elsewhere (other routes, or the Bazaar's settled view); the router still pins the chain from the live 402 before it signs.","routerDispatchEligible":"true when this host's Smart Order Router will pay the seller on a buyer's behalf right now on at least one chain it holds a spending wallet for.","routerDispatchReason":{"crawl_failed":"the last crawl of this origin did not succeed, so nothing is routed to it","network_unknown":"the crawl learned no payment network (the paid route answered something other than a 402 to the unpaid probe), so the router cannot tell which chain to pay on","no_supported_route":"the seller advertises no chain this host holds a spending wallet for","settlement_required":"on Base the router pays sellers with on-chain settlement history above the floor from enough distinct payers; a seller below it is tried only under the small unproven ceiling when its verdict carries unprovenTier","settlement_self_funded":"on Base the router counts only settlement the seller did not fund itself: a payment made with USDC that the wallet it pays had sent the payer earlier is the seller's own money coming home and does not count, and without those payments this seller's history is below the floor; payments made with the payers' own money still count","settlement_checked_at_pay_time":"on this chain proven-ness is read from the chain at pay time (recent inbound USDC to the seller's own payTo); a thin history may still be tried under the small unproven allowance","price_unknown":"no seller price is known for this route, and the router never spends against an unknown price","url_template":"the route is an unsubstituted path template; the router never spends against it","gateway_rail_unsupported":"the seller's accept on this chain is signed under Circle Gateway's EIP-712 domain (extra.name \"GatewayWalletBatched\", extra.verifyingContract the GatewayWallet), not under the token's own, and settles through a batch facilitator - a deliberate, working rail that this router's stock x402 signer cannot produce a credential for; nothing for the seller to fix, and it becomes eligible the day the router speaks the rail","usdc_domain_mismatch":"the seller's USDC accept on this chain advertises an EIP-712 domain name that is not the token's own (Base USDC signs under \"USD Coin\"; Monad, Celo and Sei USDC under \"USDC\"), so a stock x402 buyer - this router included - signs an authorization the facilitator refuses and nothing settles; the seller has to fix the accept before anyone can pay it","delivery_failing":"the last time this router paid this seller on this chain the call did not deliver (a 5xx answer carrying no settle receipt, or no answer at all before the timeout), so it is skipped until that memo expires or a call to it succeeds. Settlement history is evidence about the past; this is what happened the last time someone actually paid","eligible":"the router will pay this seller on a buyer's behalf","local_catalog":"this host's own tool; no external payment is involved"},"routerDispatchByChain.base.unprovenTier":"present and true on a Base verdict of settlement_required when the floor is the only thing in the way and this route's price is within unprovenMaxUsd: the router may still pay the seller, but only after every proven seller for the task, only at the wallet its own live 402 names, never above that ceiling, and flagged unproven on the buyer's receipt. Absent when the ceiling is switched off.","routerDispatchReason.settlement_self_funded":"measured from the chain by this host: the wallet's own outbound USDC transfers are read beside its inbound payments, in chain order. USDC the wallet sent a payer is set against that payer's later payments to it, first in first out, until it is spent: that much of those payments is self-funded, and a payment at least half covered this way does not count as a settlement. Money a payer sends the wallet that is too large to count as a call pays that back first, and a later transfer returning it covers nothing. A transfer the seller makes to a payer that fits inside that payer's own earlier payments not yet refunded is a refund: the refunded payments, newest first, are not counted at all, neither as settlements nor as self-funded, and only what is left over covers later payments, up to its own amount. Third-party counts of the same wallet include the same payments, so they are reduced by the payments found self-funded and by the payers that paid only with the wallet's own money, over the days those counts cover; where more than half of the dollars a wallet received were self-funded, they are not counted at all.","evmDomainByNetwork":"the EIP-712 domain (asset + extra.name) each of the seller's EVM accepts advertised on its 402; the router label refuses a Base accept whose name is not the token's own (usdc_domain_mismatch) because no stock x402 signature under it can verify.","routerDispatchDetail":{"evidence_payto_mismatch":"the settlement history that clears the floor for this origin was measured at a wallet its own 402 does not ask to be paid at; each wallet's history counts only where that wallet is paid, so it does not count for this origin","evidence_payto_unverified":"the settlement history that clears the floor for this origin was measured at a specific wallet and the origin's own Base payTo could not be read, so it does not count until the live 402 names that wallet","evidence_payto_shared":"the wallet this origin's 402 asks to be paid at is listed by this host as a settlement contract shared by many sellers, so that wallet's own settlement history is credited to none of them; only settlement measured on this origin's own URLs counts toward the floor","_note":"settlement_required may carry one of these in routerDispatchByChain.base.detail beside the gate's own sentence; settlement history is kept per wallet and counts for an origin only when the wallet its own 402 asks to be paid at clears the floor on that wallet's own history, which the router checks live before it signs and again on the payment it signs; a wallet this host lists as a settlement contract shared by many sellers credits its own history to none of them"},"executeVia":"present only on a row the router will pay right now: the route-execute tier (and price) that runs it. Its absence on a priced row is deliberate.","executeViaWhenEligible":"the route-execute tier this row WOULD run under once its seller is dispatch-eligible; not callable through the router today.","executeViaCallableNow":"true on rows carrying executeVia, false on rows carrying executeViaWhenEligible. A buyer agent should key on this, never on the presence of a tier name.","routerDispatchReason.delivery_failing":"this host paid this seller on this chain and the call did not deliver, so we stopped routing to them until the memo expires or a call succeeds. The verdict is published because it is a statement about what WE do; the underlying observation (the status they answered, how long it took) is deliberately NOT published, because that is a specific adverse claim about a named third party and every other figure on these pages is a count or a gate verdict. A seller who wants to know what we saw can ask us."}}