MPP Purchasing Directory
Talkshi publishes a cheapest-first list of paid endpoints advertised in the Machine Payments Protocol (MPP) service directory. The list is factual catalog metadata, not a claim that Talkshi bought or successfully used every service.
To search MPP and x402 together by task, evidence, price, rating, or popularity,
use Buy Services via API or GET /api/buy.
Browse or fetch the list
Human directory:
GET https://talkshi.com/mpp
Complete machine-readable snapshot:
GET https://talkshi.com/api/mpp/services.json
Static-file twin:
GET https://talkshi.com/data/mpp-marketplace.json
Both JSON URLs return the same snapshot. No authentication is required.
What the snapshot contains
Top-level fields include syncedAt, serviceCount, endpointCount,
fixedPriceEndpointCount, dynamicPriceEndpointCount,
creditAdvertisedServiceCount, categories, intents, and services.
Each service includes:
id,name,website, andserviceUrl;- provider description, categories, tags, and documentation links;
supportsCredits, which is only the provider/directory's advertised flag;- the paid endpoint count, supported MPP intents, and cheapest fixed price;
- every positive-price, dynamic-price, or runtime-quoted endpoint.
Each endpoint includes its HTTP method, path, description, docs, and payment
object. The payment object preserves the raw atomic amount and decimals, plus
the normalized priceUsd, display priceLabel, intent (charge or session),
unitType, and dynamic flag. For example, atomic amount 10 with six decimals
is $0.00001.
Amount-zero and unpriced non-dynamic signup, status, and deletion helpers are
excluded because this is a list of things a buyer can pay for. A null priceUsd
is retained only when dynamic: true; inspect the live challenge for the quote.
Catalog fact versus first-hand test
The live MPP 402 challenge is authoritative for endpoint availability, price,
accepted payment methods, and required request fields. A directory listing can be
stale or fail at runtime.
The HTML directory distinguishes Output received · review from No output · review. The first means Talkshi received the promised result. The second means a correctly formed, first-hand request through the advertised path returned a concrete failure or took payment without supplying the promised result. Services without either label have not been tested enough to review and are not necessarily broken.
Failure reviews target the surface that actually failed. If Tempo, a wallet, a payment rail, marketplace, wrapper, or proxy fails before the underlying provider runs, the review belongs to that named integration rather than the underlying API brand. A malformed request, omitted required input, or payment challenge alone does not qualify. The review guidelines cover the full attribution checklist. The revised review still requires Raymond's re-review under the normal edit policy.
MPP calls happen outside Talkshi's x402 observer. Before using a newly received
MPP response or output to revise a review, an admin records the service ID, endpoint
ID, and a SHA-256 of the retained response with action: "record_mpp_usage". A
concrete error response counts only when the named MPP surface received a correctly
formed first-hand request. The private,
idempotent observation unlocks the edit but is not shown as public purchase
evidence and does not claim Talkshi independently verified settlement.
MPP Credits are a separate rail
supportsCredits: true is catalog metadata, not a redemption guarantee. MPP
Credits are a restricted prepaid balance; direct Tempo USDC.e is a separate
transferable onchain balance. Whole-cent Credits also cannot directly represent
sub-cent endpoint prices.
In Talkshi's July 16, 2026 test, Coinflow Credits redemption returned HTTP 502
and left the $9.97 Credits balance unchanged. This is a dated observation, not a
claim that every future Credits attempt will fail.
Refreshing the snapshot
The source file is generated from Tempo's public directory metadata without calling or paying any provider:
TEMPO_BIN=/path/to/tempo bun run sync:mpp
Talkshi records the source command and synchronization timestamp in the JSON.