Use when an agent needs reprice regret
Use when an agent needs reprice regret. Returns Seller-side repricing report from daily x402 Bazaar snapshot history for one listing (resource_url) or every listing paid to one address (seller_payto, 25 per page) over a 7–90 day window: price change points, each repricing event with 30d calls and payers before and after, a per-event USDC revenue counterfactual on observed volume (regret_usdc), a one-line verdict, peer medians, an evidence hash; one observed price returns no_repricing_observed. $
10000 (raw units)
price
7
calls / 30d
2
unique payers
2026-09-14
updated
Provider
api.oblique.markets · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x970007590aCC5C938cd51345B17AF51B1B40D3Ab",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 60
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "GYyTRmt317JafPHXPnM54Fsvsma5GnS9wm6qGMqaykdS",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "10000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"resource_url": "https://x402.shizu.me/crypto"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"assumptions": [
"calls_30d and payers_30d are Bazaar-rep…"
],
"evidence_hash": "sha256:00000000000000000000000000000000…",
"generated_at": "2026-09-07T12:00:00.000Z",
"networks": [
"eip155:8453"
],
"peers": {
"excludes_self": true,
"median_amount_atomic": 5000,
"median_payers_30d": 1,
"sample_size": 12,
"tag_or_category": "crypto"
},
"price_history": [
{
"amount_atomic": 3000,
"calls_30d": 61,
"network": "eip155:8453",
"payers_30d": 8,
"snap_date": "2026-08-09"
}
],
"regret_total_usdc": -0.211,
"repricing_events": [
{
"after": {
"calls_30d": 211,
"payers_30d": 8,
"snap_date": "2026-09-07"
},
"after_price": 7000,
"after_price_usdc": 0.007,
"before": {
"calls_30d": 230,
"payers_30d": 8,
"snap_date": "2026-08-29"
},
"before_price": 6000,
"before_price_usdc": 0.006,
"calls_30d_delta": -19,
"change_date": "2026-08-30",
"counterfactual": {
"assumption": "volume assumed unchanged: both revenues…",
"calls_30d": 211,
"regret_usdc": -0.211,
"revenue_at_new_price_usdc": 1.477,
"revenue_at_old_price_usdc": 1.266
},
"network": "eip155:8453",
"payers_30d_delta": 0,
"ratio": 1.1667,
"verdict": "Raised 6000 → 7000 atomic ($0.006 → $0.…"
}
],
"resource_url": "https://x402.shizu.me/crypto",
"seller_payto": "0x217e5Fe265EB78b29067bF8324ef03a7D8e16…",
"service_name": "Crypto Spot Price",
"snapshot_range": {
"days": 30,
"first": "2026-08-09",
"last": "2026-09-07",
"observations": 30
},
"status": "repricing_observed",
"still_listed": true,
"window": {
"days": 30,
"from": "2026-08-09",
"to": "2026-09-07"
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"cursor": {
"type": "string"
},
"network": {
"type": "string"
},
"resource_url": {
"type": "string"
},
"seller_payto": {
"type": "string"
},
"window_days": {
"type": "integer"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"assumptions": {
"items": {
"type": "string"
},
"type": "array"
},
"evidence_hash": {
"type": "string"
},
"generated_at": {
"type": "string"
},
"networks": {
"items": {
"type": "string"
},
"type": "array"
},
"peers": {
"properties": {
"excludes_self": {
"type": "boolean"
},
"median_amount_atomic": {
"type": "integer"
},
"median_payers_30d": {
"type": "integer"
},
"sample_size": {
"type": "integer"
},
"tag_or_category": {
"type": "string"
}
},
"type": "object"
},
"price_history": {
"items": {
"properties": {
"amount_atomic": {
"type": "integer"
},
"calls_30d": {
"type": "integer"
},
"network": {
"type": "string"
},
"payers_30d": {
"type": "integer"
},
"snap_date": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"regret_total_usdc": {
"type": "number"
},
"repricing_events": {
"items": {
"properties": {
"after": {
"type": "object"
},
"after_price": {
"type": "integer"
},
"after_price_usdc": {
"type": "number"
},
"before": {
"type": "object"
},
"before_price": {
"type": "integer"
},
"before_price_usdc": {
"type": "number"
},
"calls_30d_delta": {
"type": "integer"
},
"change_date": {
"type": "string"
},
"counterfactual": {
"type": "object"
},
"network": {
"type": "string"
},
"payers_30d_delta": {
"type": "integer"
},
"ratio": {
"type": "number"
},
"verdict": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"resource_url": {
"type": "string"
},
"seller_payto": {
"type": "string"
},
"service_name": {
"type": "string"
},
"snapshot_range": {
"properties": {
"days": {
"type": "integer"
},
"first": {
"type": "string"
},
"last": {
"type": "string"
},
"observations": {
"type": "integer"
}
},
"type": "object"
},
"status": {
"type": "string"
},
"still_listed": {
"type": "boolean"
},
"window": {
"properties": {
"days": {
"type": "integer"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.oblique.markets/api/v1/paid/reprice-regret" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.oblique.markets/api/v1/paid/reprice-regret");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.oblique.markets/api/v1/paid/reprice-regret")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/545.json, and this resource appears in /discovery/resources and /discovery/search.