Inspect an HTTP request
These reads are free. They needcurl and jq, but no wallet:
ratio or an amount; a price listing alone does not describe that execution contract.
LP pool APR
This unpaid request asks for the exact SPY/MU v4 pool on Robinhood Chain. It returns the payment challenge for a 0.001 USDC Base payment. Keep the same JSON body when repeating it with your payment authorization:feeAprPct, incentiveAprPct and totalAprPct with status, retrievedAt,
validUntil, source and components. Valid cached numbers remain current for
an hour. Failed refreshes keep last-good numbers with their original age and a
stale label. Zero incentives means the provider explicitly reported none;
null means that component has no available observation.
For position context, inspect the POST /lp-intelligence schema and supply a
position containing chainId, positionManager and tokenId. It costs
0.02 USDC on Base. Pool APR appears in advice.details.yield; current position
reads, conditional models and recorded history retain their separate evidence.
The HTTP guide explains how
to interpret the rates.
Inspect the payment and declared output
An unpaid request to a paid route returns a402 challenge. Decode its PAYMENT-REQUIRED header:
accepts supplies the price, network, token and recipient for that call. Where advertised, extensions.bazaar supplies the declared output schema and example. An example explains a shape; its prices, scores and dates are not current market observations. A successful paid call returns the actual result.
A 402 does not prove your input is valid: some routes evaluate payment before parameter validation. Read the request schema first. Missing fields, null, zero and a measured value can have different meanings; preserve the response’s coverage and caveats. The HTTP guide explains freshness metadata.
For a paid request, follow HTTP API or X Layer API. Compare the returned body with the requested service and retain its payment receipt.