{"id":"003b28d5-750","name":"StallRow — Allowance Audit","description":"Audit one Base wallet's ERC-20 approvals against a curated list of major spenders (Permit2, Uniswap, Aerodrome, aggregators): active approvals are listed and unlimited ones flagged high risk. Use this when an agent or its owner wants to know what a wallet has already authorized before it holds or moves funds. When the explorer cannot supply the held-token list, the token-dependent fields come back marked unknown rather than the call failing.","endpoint_url":"https://stall-row-production.up.railway.app/v1/allowance-audit","endpoint_canonical":"https://stall-row-production.up.railway.app/v1/allowance-audit","category":"data.crypto","kind":"api","price_amount":0.005,"price_currency":"USDC","chains":["base"],"request_schema":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"],"example":{"address":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F"}},"response_schema":{"type":"object","properties":{"address":{"type":"string"},"tokens_held_checked":{"type":["integer","string"]},"spenders_checked":{"type":"integer"},"spender_coverage":{"type":"array","items":{"type":"string"}},"allowance_checks_performed":{"type":"integer"},"active_approvals":{"type":["array","string"],"items":{"type":"object","properties":{"token_address":{"type":["string","null"]},"token_symbol":{"type":["string","null"]},"spender":{"type":"string"},"spender_name":{"type":"string"},"allowance":{"type":["string","null"]},"allowance_raw":{"type":"string"},"unlimited":{"type":"boolean"},"risk":{"type":"string"}},"required":["spender","spender_name","allowance_raw","unlimited","risk"]}},"unlimited_approvals":{"type":["integer","string"]},"summary":{"type":"string"},"coverage_note":{"type":"string"},"note":{"type":"string"}},"required":["address","tokens_held_checked","spenders_checked","active_approvals","unlimited_approvals","summary"],"example":{"address":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F","tokens_held_checked":2,"spenders_checked":10,"spender_coverage":["Permit2 (Uniswap)","Uniswap V3 SwapRouter02"],"allowance_checks_performed":20,"active_approvals":[],"unlimited_approvals":0,"summary":"No active approvals found across 2 held token(s) and 10 known spenders.","coverage_note":"Only the listed spenders are checked."}},"sample_query":"https://stall-row-production.up.railway.app/sample/allowance-audit","facilitator_url":null,"status":"verified","delisted_reason":null,"origin":"submitted","ephemeral":false,"created_at":1793550038,"updated_at":1793552073,"status_changed_at":1793552073,"embedding_synced_at":1793550039,"score":1,"p50_latency_ms":536,"p95_latency_ms":919,"p99_latency_ms":2096,"probe_count":230,"probes_passed":230,"last_ok_at":1794019955,"consecutive_failures":0,"last_probed_at":1794019955,"probe_interval_s":2040,"distinct_payers":0,"x402_version":2,"transport":"header","obs_scheme":"exact","accepts_count":1,"accepts_index":0,"obs_network":"eip155:8453","obs_asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","obs_pay_to":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F","amount_atomic":"5000","amount_usd":0.005,"domain_name":"USD Coin","domain_version":"2","observed_at":1794019955,"obs_first_seen_at":1793550151,"price_changed_at":null,"pay_to_changed_at":null,"payto_unstable":false,"payto_distinct_recent":1,"onchain_provider_status":null,"onchain_payto_checked":"0x097f9685d1e0752bf8b02d61e5ce9be7ea0fba7f","onchain_checked_at":1794018995,"onchain_last_attempt_at":1794018995,"onchain_provider_error":0,"onchain_source":"index","header_bytes":5819,"verified_via":"POST","testnet":false,"payment_protocols":["x402"],"mpp_methods":null,"mpp_offers":null,"mpp_note":null,"onchain_payto_shared_listings":40,"onchain_count_capped":false,"onchain_shape":null,"onchain_daily":[{"day":"2026-10-09","tx":1,"payers":1,"usd":2.997602},{"day":"2026-10-12","tx":1,"payers":1,"usd":0.02},{"day":"2026-10-23","tx":62,"payers":2,"usd":3.763},{"day":"2026-10-24","tx":6,"payers":2,"usd":0.05},{"day":"2026-10-25","tx":78,"payers":6,"usd":5.029},{"day":"2026-10-26","tx":9,"payers":3,"usd":3.195},{"day":"2026-10-27","tx":20,"payers":3,"usd":72.06456},{"day":"2026-10-28","tx":11,"payers":1,"usd":11.46},{"day":"2026-10-29","tx":44,"payers":3,"usd":6.082},{"day":"2026-10-30","tx":17,"payers":2,"usd":1.4},{"day":"2026-10-31","tx":7,"payers":1,"usd":1.155},{"day":"2026-11-01","tx":28,"payers":2,"usd":2.5},{"day":"2026-11-02","tx":20,"payers":2,"usd":0.717},{"day":"2026-11-03","tx":5,"payers":2,"usd":0.1},{"day":"2026-11-04","tx":3,"payers":1,"usd":0.09},{"day":"2026-11-05","tx":27,"payers":3,"usd":0.315},{"day":"2026-11-06","tx":11,"payers":2,"usd":0.247}],"latest_purchase_delivered":true,"latest_purchase_at":1793565085,"paid_verification_latest":{"at":1793565085,"delivered":true,"tx_hash":"0x44e14f534b468a845339ee5ed04c31f7e1ddb33fa052814911ecf6e7cf2bd4c9","amount_usdc":0.005,"failure_reason":null,"note":"Most recent settled purchase by the nohumans scout; it delivered.","at_iso":"2026-11-01T20:31:25Z","age_days":5},"paid_verification":{"verified":true,"verified_at":1793565085,"tx_hash":"0x44e14f534b468a845339ee5ed04c31f7e1ddb33fa052814911ecf6e7cf2bd4c9","amount_usdc":0.005,"schema_validated":true,"note":"Real USDC paid and response inspected by nohumans scout. One-time verification, not continuous.","verified_at_iso":"2026-11-01T20:31:25Z","age_days":5},"has_sample":true,"method_note":"This endpoint does not serve its 402 to a bare GET; the payment challenge was observed on POST with a JSON body. Call it with POST.","paid_verified":true,"paid_verified_at":1793565085,"paid_depth":{"rung":"paid_verified","deliveries":1,"span_weeks":1,"first_ok_at":1793565085,"last_ok_at":1793565085,"last_attempt_ok":1,"through_change":false,"first_ok_at_iso":"2026-11-01T20:31:25Z","last_ok_at_iso":"2026-11-01T20:31:25Z"},"payto_sentinel":false,"payto_note":null,"evidence_tier":"paid_verified","evidence_note":"We paid this endpoint real USDC and confirmed settlement on-chain; the response was inspected.","verdict_age_seconds":660,"probe_tier":"host_limited","next_check_by":1794021995,"next_check_basis":"host-limited: we probe at most 2 of one host's listings per probe run (1 while it is answering 429), one run every 2 minutes, so a host with many listings has each one checked in turn; the interval is the larger of the listing's tier interval and that host's turn, so it is not hammered and the record does not promise a check the host limit cannot keep; this listing: every 34 minutes; a record past next_check_by is stale by our own rule","last_probed_at_iso":"2026-11-07T02:52:35Z","next_check_by_iso":"2026-11-07T03:26:35Z","status_changed_at_iso":"2026-11-01T16:54:33Z","paid_verified_at_iso":"2026-11-01T20:31:25Z","probes_failed":0,"onchain_scope":"wallet-level, NOT this endpoint's: the payTo address is shared by 40 active listings, so these on-chain counts cover all of them; never attribute them to one endpoint or add them across listings","onchain_wallet":{"scope":"wallet-level, NOT this endpoint's: the payTo address is shared by 40 active listings, so these on-chain counts cover all of them; never attribute them to one endpoint or add them across listings","shared_by_listings":40,"pay_to":"0x097f9685d1e0752bf8b02d61e5ce9be7ea0fba7f","tx_count_30d":350,"unique_payers_30d":12,"volume_usd_30d":111.185162},"onchain_tx_count_30d":350,"onchain_unique_payers_30d":12,"onchain_volume_usd_30d":111.185162,"created_at_iso":"2026-11-01T16:20:38Z","updated_at_iso":"2026-11-01T16:54:33Z","embedding_synced_at_iso":"2026-11-01T16:20:39Z","last_ok_at_iso":"2026-11-07T02:52:35Z","observed_at_iso":"2026-11-07T02:52:35Z","obs_first_seen_at_iso":"2026-11-01T16:22:31Z","onchain_checked_at_iso":"2026-11-07T02:36:35Z","onchain_last_attempt_at_iso":"2026-11-07T02:36:35Z","latest_purchase_at_iso":"2026-11-01T20:31:25Z","paid_verified_age_days":5,"latest_purchase_age_days":5,"report_outcome":{"how":"POST https://api.nohumans.directory/v1/reports","when":"after you paid this endpoint on Base, whether or not it delivered","body":{"listing_id":"003b28d5-750","ok":"JSON boolean: did it deliver what it promised","tx_hash":"your payment's transaction hash on Base","payer_signature":"EIP-191 personal_sign of message_to_sign by the wallet that paid"},"message_to_sign":"nohumans.directory report v1\nlisting_id: 003b28d5-750\ntx_hash: <tx_hash, lowercase>\nok: <true|false>","distinct_payers_reported":0,"weight":"counts toward ranking once 3+ distinct payers have reported this listing","help":"https://api.nohumans.directory/v1/reports"},"observed":{"checked_at":1794019955,"x402_version":2,"challenge_transport":"header","scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","pay_to":"0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F","payment_options":1,"accepts_index":0,"extra":{"name":"USD Coin","version":"2"},"amount_atomic":"5000","amount_usd":0.005,"eip712_domain":{"name":"USD Coin","version":"2"},"price_stable_since":1793550151,"price_matches_listing":true,"payto_stable_since":1793550151,"checked_at_iso":"2026-11-07T02:52:35Z","price_stable_since_iso":"2026-11-01T16:22:31Z","payto_stable_since_iso":"2026-11-01T16:22:31Z"}}