{"uid":"cap_53zg9vpZfY13L3rD9I7NR","slug":"oblique-markets-payer-profile-9a731191","name":"Oblique Markets Payer Profile","description":"Use when a Base address just paid you and you want to know what it is before you act on it. Returns its public x402 payment footprint in the window (payments, distinct recipients, cadence, native activity, what this shop has seen of it) and a class with evidence and confidence — disclosed_scout, scheduled_verifier, catalogue_sweep, paying_index, repeat_buyer, single_touch — plus the rule for reading it. Not an identity claim. Free doors: /api/v1/payer-profile/example and /classes.","url":"https://api.oblique.markets/api/v1/paid/payer-profile","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"address":{"type":"string"},"window_days":{"type":"integer"}}},"responseSchema":{"type":"json","example":{"note":"class is a heuristic over public on-cha…","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02…","cache":"miss","class":"paying_index","reason":"346 distinct recipients on 6 distinct d…","address":"0xc9c7b38c0942914fc8ea12063bc92dcd3b581…","cadence":{"span_days":5.4,"regularity":{"note":"coefficient of variation of the gaps be…","inter_payment_gap_cv":5.091},"active_days":6,"modal_hours_utc":[{"hour_utc":19,"payments":207}],"payments_per_day":27.033},"network":"eip155:8453","coverage":{"note":"every outbound USDC transfer in the win…","complete":true,"upstream_ms":12328,"explorer_retries":0,"explorer_requests":18,"explorer_rate_limited":0,"explorer_host_failures":0},"evidence":{"payments":811,"span_days":5.4,"active_days":6,"native_tx_count":0,"payments_per_day":27.033,"distinct_recipients":346},"payments":811,"last_seen":"2026-09-09T19:02:35.000Z","confidence":"high","first_seen":"2026-09-04T09:23:49.000Z","total_usdc":39.2905,"computed_at":"2026-09-10T00:21:24.086Z","window_days":30,"generated_at":"2026-09-10T00:21:24.086Z","reading_rule":"the first one to three payers of a new …","window_start":"2026-08-11T00:21:11.758Z","top_recipients":[{"payments":17,"recipient":"0x4466d4a84b7c49a6a094ec6eef4a0712d6dd1…"}],"native_tx_count":0,"our_observation":{"seen":true,"classes":{"real":1,"known_sweep":8},"payments":9,"last_seen":"2026-09-09T12:09:45.609Z","first_seen":"2026-09-05T01:01:56.354Z","routes_bought":9,"classification":"known_sweep","returned_after_1h":true},"distinct_recipients":346,"payments_per_recipient":2.34,"native_tx_count_is_lower_bound":false}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_GTzZ9P7pjis5AjCOEOCdm","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Given a Base wallet address, returns its x402 payment footprint (payment count, recipients, cadence, USDC volume) and a behavioral class with confidence for the recent window","exampleAgentPrompt":"A wallet just paid me via x402 — can you pull its payer profile from Oblique Markets for address 0xc9c7b38c0942914fc8ea12063bc92dcd3b581670 over the last 30 days so I know whether it's a real customer or just a catalogue sweep?","exampleUseCases":[{"title":"Screening unknown payer before fulfillment","prompt":"Before I deliver the response to that x402 payment, check what kind of payer 0xc9c7b38c0942914fc8ea12063bc92dcd3b581670 is using Oblique Markets — look at the last 30 days and tell me if it's a repeat buyer or just a verifier so I can decide whether to act on it."},{"title":"Flagging bot or index traffic","prompt":"I'm getting lots of one-off payments from different wallets — run a payer profile on 0x4466d4a84b7c49a6a094ec6eef4a0712d6dd125e over the past 14 days and tell me if it looks like a paying_index or catalogue_sweep rather than a genuine customer."},{"title":"Validating repeat customer identity","prompt":"That wallet 0x367f1b3d8ca90d1e087481a9a40d585bf3451a03 paid me again — pull its x402 payer profile for the last 60 days and tell me its class and confidence so I can confirm it's a legitimate repeat buyer and not a scheduled verifier."}],"resultDescription":"A JSON object containing: the wallet's behavioral class (one of disclosed_scout, scheduled_verifier, catalogue_sweep, paying_index, repeat_buyer, single_touch), a confidence level (high/medium/low), a human-readable reason and reading rule, payment statistics (count, USDC total, distinct recipients, active days, cadence CV, modal hours UTC), first/last seen timestamps, top recipients list, coverage metadata (completeness, upstream latency, explorer requests), and a note clarifying this is a heuristic over public on-chain data, not an identity claim.","failureModes":["Address not found or has no USDC payment activity in the window — returns empty evidence with low confidence","Invalid address format — likely 400 error","Upstream explorer rate limiting — reflected in coverage.explorer_rate_limited field, may degrade completeness","Cache miss with high upstream_ms if explorer is slow — still returns result but with latency","window_days too large — may return incomplete coverage if explorer history is limited"],"whenToPreferThis":"Use this endpoint immediately after receiving an x402 payment from an unknown Base address, when you need to decide whether to fulfill, deprioritize, or flag the request. It is the right choice when you want a behavioral signal — not identity — based entirely on public on-chain USDC transfer history. Prefer it over generic block explorer lookups because it returns a ready-made classification with confidence and a reading rule tailored to x402 payment semantics.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:49:43.107Z","isFirstParty":false}