← oblique.markets · all endpoints

POST /api/v1/paid/reprice-regret — $0.01 per call

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. $

Price$0.01 per call (10000 atomic USDC, scheme exact)
Categorymarket-data
Railsx402 · USDC on Base (eip155:8453) and Solana · MPP pathUSD on Tempo
Canonical URLhttps://api.oblique.markets/api/v1/paid/reprice-regret

Try it

curl -i https://api.oblique.markets/api/v1/paid/reprice-regret
# → HTTP 402 with the exact payment requirements; pay, then retry with PAYMENT-SIGNATURE (x402) or Authorization: Payment (MPP)

Input schema

{
 "type": "object",
 "additionalProperties": false,
 "description": "Exactly one of resource_url or seller_payto is required.",
 "examples": [
  {
   "resource_url": "https://x402.shizu.me/crypto"
  }
 ],
 "properties": {
  "resource_url": {
   "type": "string",
   "description": "One listing: the resource URL exactly as the x402 Bazaar reports it (http/https). Mutually exclusive with seller_payto."
  },
  "seller_payto": {
   "type": "string",
   "description": "All listings paid to this address (the payTo the Bazaar reports); up to 25 per page with a cursor. Mutually exclusive with resource_url."
  },
  "window_days": {
   "type": "integer",
   "minimum": 7,
   "maximum": 90,
   "default": 30,
   "description": "How many snapshot days back from the latest snapshot to replay (7–90, default 30)."
  },
  "network": {
   "type": "string",
   "description": "Optional CAIP-2 network filter, e.g. 'eip155:8453' or 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d'."
  },
  "cursor": {
   "type": "string",
   "description": "Opaque paging cursor from a previous seller_payto response."
  }
 }
}

Example output

{
 "resource_url": "https://x402.shizu.me/crypto",
 "service_name": "Crypto Spot Price",
 "seller_payto": "0x217e5Fe265EB78b29067bF8324ef03a7D8e167C4",
 "networks": [
  "eip155:8453"
 ],
 "status": "repricing_observed",
 "window": {
  "days": 30,
  "from": "2026-08-09",
  "to": "2026-09-07"
 },
 "snapshot_range": {
  "first": "2026-08-09",
  "last": "2026-09-07",
  "days": 30,
  "observations": 30
 },
 "still_listed": true,
 "price_history": [
  {
   "snap_date": "2026-08-09",
   "amount_atomic": 3000,
   "network": "eip155:8453",
   "payers_30d": 8,
   "calls_30d": 61
  },
  {
   "snap_date": "2026-08-11",
   "amount_atomic": 4000,
   "network": "eip155:8453",
   "payers_30d": 9,
   "calls_30d": 74
  },
  {
   "snap_date": "2026-08-18",
   "amount_atomic": 5000,
   "network": "eip155:8453",
   "payers_30d": 9,
   "calls_30d": 88
  },
  {
   "snap_date": "2026-08-23",
   "amount_atomic": 6000,
   "network": "eip155:8453",
   "payers_30d": 10,
   "calls_30d": 191
  },
  {
   "snap_date": "2026-08-30",
   "amount_atomic": 7000,
   "network": "eip155:8453",
   "payers_30d": 8,
   "calls_30d": 230
  }
 ],
 "repricing_events": [
  {
   "network": "eip155:8453",
   "change_date": "2026-08-30",
   "before_price": 6000,
   "after_price": 7000,
   "before_price_usdc": 0.006,
   "after_price_usdc": 0.007,
   "ratio": 1.1667,
   "before": {
    "snap_date": "2026-08-29",
    "payers_30d": 8,
    "calls_30d": 230
   },
   "after": {
    "snap_date": "2026-09-07",
    "payers_30d": 8,
    "calls_30d": 211
   },
   "calls_30d_delta": -19,
   "payers_30d_delta": 0,
   "counterfactual": {
    "calls_30d": 211,
    "revenue_at_new_price_usdc": 1.477,
    "revenue_at_old_price_usdc": 1.266,
    "regret_usdc": -0.211,
    "assumption": "volume assumed unchanged: both revenues use the calls_30d observed at the new price"
   },
   "verdict": "Raised 6000 → 7000 atomic ($0.006 → $0.007) on 2026-08-30; on the 211 calls_30d observed at the new price by 2026-09-07 the new price earns $1.477 versus $1.266 at the old price (regret -$0.211): the reprice earned more on unchanged volume; calls_30d moved 230 → 211 (-19) and payers_30d 8 → 8 (+0) across it."
  }
 ],
 "regret_total_usdc": -0.211,
 "peers": {
  "tag_or_category": "crypto",
  "median_amount_atomic": 5000,
  "median_payers_30d": 1,
  "sample_size": 12,
  "excludes_self": true
 },
 "evidence_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
 "assumptions": [
  "calls_30d and payers_30d are Bazaar-reported trailing 30-day counts, read from daily snapshots",
  "before readings come from the last snapshot at the old price; after readings from the last snapshot at which the new price still held",
  "volume assumed unchanged: both revenues use the calls_30d observed at the new price",
  "no demand elasticity is inferred beyond the observed snapshots; a change before the window is not an event"
 ],
 "generated_at": "2026-09-07T12:00:00.000Z"
}

Clients

Worked TypeScript/Python clients and MCP configs: oblique-markets/oblique-examples · Agent Skills: oblique-markets/skills

Pay per call with x402 (USDC on Base or Solana) or MPP (pathUSD on Tempo). No accounts. Machine doors: /.well-known/x402.json · /openapi.json · /llms-full.txt · MCP · humans: remote.observer