{"openapi":"3.1.0","info":{"title":"Trace402 public API","version":"1","description":"Evidence-first Algorand APIs. Runtime network: Algorand MainNet. Labs always require MainNet. Response shapes may evolve; Labs are Experimental. Wallet performance/qualification routes are paused. Operational write/refresh endpoints are not advertised for autonomous crawling."},"servers":[{"url":"https://trace402.com"}],"externalDocs":{"url":"https://trace402.com/developers","description":"Payment flow and evidence limits"},"paths":{"/api/v1/config":{"get":{"operationId":"configuration","summary":"Runtime configuration","description":"Current network, inspection price, public origin and wallet-payment enablement. No credentials.","tags":["Trace402"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/network/metrics":{"get":{"operationId":"networkMetrics","summary":"Network metrics","description":"ALGO market price and facilitator settlement count, with source and freshness.","tags":["Trace402"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/pulse":{"get":{"operationId":"pulse","summary":"Combined Pulse","description":"Source-labeled activity and persisted Resource Intelligence. Observed intelligence supports 24h/7d; coverage is incomplete.","tags":["Trace402"],"parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["1h","24h","7d","30d"],"default":"24h"},"required":false},{"name":"network","in":"query","schema":{"type":"string","enum":["mainnet","testnet","all"],"default":"mainnet"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/pulse/networks":{"get":{"operationId":"pulseNetworks","summary":"Multi-chain Pulse","description":"Read-only Algorand, Base, Solana and Polygon comparison. Partial attributed coverage, no global totals. External 24h is UTC day-to-date; 1h and per-chain period counts are unavailable.","tags":["Trace402"],"parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["1h","24h","7d","30d"],"default":"7d"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/x402/resources":{"get":{"operationId":"bazaarResources","summary":"Bazaar catalog","description":"Facilitator resource declarations; listings do not prove payment or current availability. Pagination uses source pages and can be sparse.","tags":["Trace402"],"parameters":[{"name":"network","in":"query","schema":{"type":"string","enum":["mainnet","testnet","all"],"default":"mainnet"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":24},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/x402/activity/summary":{"get":{"operationId":"activitysummary","summary":"Settlement activity summary","description":"Facilitator-reported settlement metrics. Local Labs receipts do not increase these totals.","tags":["Trace402"],"parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["1h","24h","7d","30d"],"default":"24h"},"required":false},{"name":"network","in":"query","schema":{"type":"string","enum":["mainnet","testnet","all"],"default":"mainnet"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/x402/activity/recent":{"get":{"operationId":"activityrecent","summary":"Settlement activity recent","description":"Facilitator settlements merged with confirmed local Labs receipts, deduplicated by network and transaction ID. Incomplete coverage; not independent verification.","tags":["Trace402"],"parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["1h","24h","7d","30d"],"default":"24h"},"required":false},{"name":"network","in":"query","schema":{"type":"string","enum":["mainnet","testnet","all"],"default":"mainnet"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","pattern":"^\\d+$"},"description":"Timestamp cursor returned by the feed; not an offset.","required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/x402/activity/series":{"get":{"operationId":"activityseries","summary":"Settlement activity series","description":"Facilitator-reported settlement metrics. Local Labs receipts do not increase these totals.","tags":["Trace402"],"parameters":[{"name":"period","in":"query","schema":{"type":"string","enum":["1h","24h","7d","30d"],"default":"24h"},"required":false},{"name":"network","in":"query","schema":{"type":"string","enum":["mainnet","testnet","all"],"default":"mainnet"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources":{"get":{"operationId":"resources","summary":"Observed resource registry","description":"Persisted observations, not the Bazaar listing catalog. This read can refresh observations from the existing activity feed.","tags":["Trace402"],"parameters":[{"name":"search","in":"query","schema":{"type":"string","maxLength":120},"required":false},{"name":"status","in":"query","schema":{"type":"string","enum":["active","stale","unknown"]},"required":false},{"name":"sort","in":"query","schema":{"type":"string","enum":["activity","new","price"],"default":"activity"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":24},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources/{resourceId}":{"get":{"operationId":"resource","summary":"Resource details","description":"Observed resource metadata and evidence.","tags":["Trace402"],"parameters":[{"name":"resourceId","in":"path","schema":{"type":"string","pattern":"^[0-9a-f]{64}$"},"description":"Observed registry ID.","required":true}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources/{resourceId}/activity":{"get":{"operationId":"resourceactivity","summary":"Resource activity","description":"Persisted observations with explicit freshness and incomplete coverage.","tags":["Trace402"],"parameters":[{"name":"resourceId","in":"path","schema":{"type":"string","pattern":"^[0-9a-f]{64}$"},"description":"Observed registry ID.","required":true},{"name":"period","in":"query","schema":{"type":"string","enum":["24h","7d"],"default":"24h"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources/{resourceId}/intelligence":{"get":{"operationId":"resourceintelligence","summary":"Resource intelligence","description":"Persisted observations with explicit freshness and incomplete coverage.","tags":["Trace402"],"parameters":[{"name":"resourceId","in":"path","schema":{"type":"string","pattern":"^[0-9a-f]{64}$"},"description":"Observed registry ID.","required":true},{"name":"period","in":"query","schema":{"type":"string","enum":["24h","7d"],"default":"24h"},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources/watchlist":{"post":{"operationId":"watchlist","summary":"Watchlist snapshot","description":"Read a bounded set of resources and observed changes. Does not create a server subscription.","tags":["Trace402"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"resourceIds":{"type":"array","maxItems":100,"items":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"since":{"type":"string","format":"date-time","description":"Canonical ISO UTC timestamp, not in the future."}},"required":["resourceIds"]}}}},"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/resources/watchlist/intelligence":{"post":{"operationId":"watchlistIntelligence","summary":"Watchlist intelligence","description":"Read persisted intelligence for a bounded resource list; no notifications.","tags":["Trace402"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"resourceIds":{"type":"array","maxItems":100,"items":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"period":{"type":"string","enum":["24h","7d"],"default":"24h"}},"required":["resourceIds"]}}}},"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/traces/{traceId}":{"get":{"operationId":"savedTrace","summary":"Saved public trace","description":"Public evidence projection; signatures and session secrets are excluded. A legacy trace can be enriched from existing chain evidence. Missing evidence remains unknown.","tags":["Trace402"],"parameters":[{"name":"traceId","in":"path","schema":{"type":"string","format":"uuid"},"required":true}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/inspect/algorand/transactions/{txId}":{"get":{"operationId":"inspectTransaction","summary":"Paid transaction inspection","description":"Normalized transaction participants, transfers, fees, block and application-call context. Read runtime config and the exact x402 challenge; prices are not hardcoded here.","tags":["Trace402"],"parameters":[{"name":"txId","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{52}$"},"required":true},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}/unlock":{"get":{"operationId":"walletUnlock","summary":"Unlock wallet access","description":"When enabled, x402 settlement grants one hour of access to the requested wallet using an HttpOnly same-site cookie. Preserve that cookie for subsequent wallet reads. Read the exact challenge for the price.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/overview":{"get":{"operationId":"walletGlobalOverview","summary":"Global trade overview","description":"Persisted, possibly size-filtered collection with explicit coverage.","tags":["Smart Wallets"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/trades":{"get":{"operationId":"globalTrades","summary":"Trade history","description":"Reconstructed DEX trades; wallet-filtered queries require a paid grant when enabled.","tags":["Smart Wallets"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":10000,"default":1},"required":false},{"name":"wallet","in":"query","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Wallet-filtered queries require a wallet grant when payments are enabled.","required":false},{"name":"asset","in":"query","schema":{"type":"string","pattern":"^\\d{1,20}$"},"description":"uint64 asset ID.","required":false},{"name":"dex","in":"query","schema":{"type":"string","minLength":1,"maxLength":64},"required":false},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"assetScope","in":"query","schema":{"type":"string","enum":["core","all","pair","algo-usdc"]},"required":false},{"name":"mode","in":"query","schema":{"type":"string","enum":["recent","history"]},"required":false},{"name":"refresh","in":"query","schema":{"type":"string","enum":["background","wait","read","continue"]},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}":{"get":{"operationId":"walletDetail","summary":"Wallet activity","description":"Wallet summary, latest 20 activity items and separate paginated history. Use refresh=read for existing cache; this route can otherwise start or resume existing wallet collection.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":10000,"default":1},"required":false},{"name":"wallet","in":"query","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Wallet-filtered queries require a wallet grant when payments are enabled.","required":false},{"name":"asset","in":"query","schema":{"type":"string","pattern":"^\\d{1,20}$"},"description":"uint64 asset ID.","required":false},{"name":"dex","in":"query","schema":{"type":"string","minLength":1,"maxLength":64},"required":false},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"assetScope","in":"query","schema":{"type":"string","enum":["core","all","pair","algo-usdc"]},"required":false},{"name":"mode","in":"query","schema":{"type":"string","enum":["recent","history"]},"required":false},{"name":"refresh","in":"query","schema":{"type":"string","enum":["background","wait","read","continue"]},"required":false}],"security":[{"walletGrant":[]}],"x-trace402-access":"wallet-grant","x-trace402-side-effects":"Can start/resume existing wallet collection unless refresh=read.","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}/trades":{"get":{"operationId":"walletTrades","summary":"Wallet trade history","description":"Persisted paginated trades with filters and coverage.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":10000,"default":1},"required":false},{"name":"wallet","in":"query","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Wallet-filtered queries require a wallet grant when payments are enabled.","required":false},{"name":"asset","in":"query","schema":{"type":"string","pattern":"^\\d{1,20}$"},"description":"uint64 asset ID.","required":false},{"name":"dex","in":"query","schema":{"type":"string","minLength":1,"maxLength":64},"required":false},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"required":false},{"name":"assetScope","in":"query","schema":{"type":"string","enum":["core","all","pair","algo-usdc"]},"required":false},{"name":"mode","in":"query","schema":{"type":"string","enum":["recent","history"]},"required":false},{"name":"refresh","in":"query","schema":{"type":"string","enum":["background","wait","read","continue"]},"required":false}],"security":[{"walletGrant":[]}],"x-trace402-access":"wallet-grant","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}/overview":{"get":{"operationId":"walletoverview","summary":"Wallet overview","description":"Existing saved analysis or analysis progress; requires configured analysis store. No completeness guarantee.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true}],"security":[{"walletGrant":[]}],"x-trace402-access":"wallet-grant","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}/assets":{"get":{"operationId":"walletassets","summary":"Wallet assets","description":"Existing saved analysis or analysis progress; requires configured analysis store. No completeness guarantee.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true}],"security":[{"walletGrant":[]}],"x-trace402-access":"wallet-grant","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/{address}/analysis-status":{"get":{"operationId":"walletanalysis-status","summary":"Wallet analysis-status","description":"Existing saved analysis or analysis progress; requires configured analysis store. No completeness guarantee.","tags":["Smart Wallets"],"parameters":[{"name":"address","in":"path","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed Algorand address.","required":true}],"security":[{"walletGrant":[]}],"x-trace402-access":"wallet-grant","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Wallet grant required; use the wallet unlock endpoint. This response may not carry a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/candidates":{"get":{"operationId":"candidates","summary":"Observed candidates","description":"Activity-based discovery foundations, not a Smart Score or investment ranking.","tags":["Smart Wallets"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":100000,"default":0},"required":false},{"name":"sort","in":"query","schema":{"type":"string","enum":["tradeCount","valuedVolumeUsd","activeDays","assetsTraded","lastActivity"],"default":"tradeCount"},"required":false},{"name":"minTrades","in":"query","schema":{"type":"integer","minimum":0,"maximum":2147483647,"default":0},"required":false},{"name":"minActiveDays","in":"query","schema":{"type":"integer","minimum":0,"maximum":365,"default":0},"required":false},{"name":"minValuedVolumeUsd","in":"query","schema":{"type":"string"},"description":"Non-negative exact decimal string; default 0.","required":false},{"name":"priority","in":"query","schema":{"type":"string","enum":["eligible","observed"]},"required":false},{"name":"analysisStatus","in":"query","schema":{"type":"string","enum":["not-analyzed","analyzed","analyzing"]},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/candidates/progress":{"get":{"operationId":"candidateprogress","summary":"Candidate progress","description":"Current collector/selection state when configured. Observational, no new selection is triggered.","tags":["Smart Wallets"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/candidates/selection-stats":{"get":{"operationId":"candidateselection-stats","summary":"Candidate selection-stats","description":"Current collector/selection state when configured. Observational, no new selection is triggered.","tags":["Smart Wallets"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/smart-wallets/discovery/analytics":{"get":{"operationId":"discoveryDiagnostics","summary":"Discovery diagnostics","description":"Internal observational distributions, coverage and freshness. Not a product score.","tags":["Smart Wallets"],"parameters":[{"name":"population","in":"query","schema":{"type":"string","enum":["qualified","unqualified","all"],"default":"qualified"},"required":false},{"name":"sort","in":"query","schema":{"type":"string","enum":["realizedPnlUsd","demonstratedReturnPct","profitFactor","winRate","expectancyPct","payoffRatio","valuedVolumeUsd30d","tradeCount30d","activeDays30d","assetsTraded30d","economicPnlCoverage","valuationCoverage","contributingCoverage","profitablePeriodRatio","topAssetConcentrationPct"],"default":"demonstratedReturnPct"},"required":false},{"name":"direction","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"required":false},{"name":"freshness","in":"query","schema":{"type":"string","enum":["current","stale","all"],"default":"current"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":100000,"default":0},"required":false}],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/settlements/recent":{"get":{"operationId":"recent-settlements","summary":"Recent settlements","description":"Recent successful Algorand MainNet USDC x402 settlements reported by the facilitator. limit: 1–20 (default 10). Fixed 24h window; coverage is incomplete. $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":20,"default":10},"required":false},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/resources/active":{"get":{"operationId":"active-resources","summary":"Active x402 resources","description":"Active MainNet resources in the existing observed resource registry. limit: 1–20 (default 10). Active means recently observed, not guaranteed availability. $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":20,"default":10},"required":false},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/resources/usage":{"get":{"operationId":"resource-usage","summary":"Resource usage summary","description":"Observed payments, freshness and evidence coverage for one resource. resourceId: 64-character registry ID; period: 24h or 7d (default 24h). $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"resourceId","in":"query","schema":{"type":"string","pattern":"^[0-9a-f]{64}$"},"description":"Observed registry ID.","required":true},{"name":"period","in":"query","schema":{"type":"string","enum":["24h","7d"],"default":"24h"},"required":false},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/settlements/verify":{"get":{"operationId":"verify-settlement","summary":"Verify settlement","description":"Verification checks and provenance from an existing saved MainNet payment trace. traceId: saved trace UUID. Reuses captured evidence; does not claim fresh chain verification. $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"traceId","in":"query","schema":{"type":"string","format":"uuid"},"description":"Existing saved MainNet trace; no fresh verification.","required":true},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/wallets/summary":{"get":{"operationId":"wallet-summary","summary":"Wallet intelligence summary","description":"A small summary of persisted MainNet DEX trades for one wallet. address: checksummed Algorand address. Persisted trades only; no backfill, scoring or complete-history claim. $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"address","in":"query","schema":{"type":"string","pattern":"^[A-Z2-7]{58}$"},"description":"Checksummed address; persisted trades only, no backfill.","required":true},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/blocks/details":{"get":{"operationId":"block-details","summary":"Block / round details","description":"Compact Algorand MainNet block metadata for one round from the configured Indexer. round: decimal block / round ID (0–18446744073709551615). Header metadata only; transactions are excluded. Integer fields are returned as strings. $0.005 USDC per successful request. Coverage may be partial.","tags":["x402 Labs"],"parameters":[{"name":"round","in":"query","schema":{"type":"string","pattern":"^(0|[1-9]\\d{0,19})$"},"description":"Canonical uint64 decimal, at most 18446744073709551615. Header only; integers are strings.","required":true},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64 x402 v2 payment payload. Omit to obtain the offered challenge; send only after explicit authorization.","schema":{"type":"string"}}],"x-trace402-access":"x402","x-status":"Experimental","x-x402":{"version":2,"network":"mainnet","asset":"31566704","amountAtomic":"5000","currency":"USDC"},"responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{"PAYMENT-RESPONSE":{"description":"Base64 x402 settlement receipt on a newly paid success.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabsEnvelope"}}}},"400":{"description":"Invalid query or identifier."},"402":{"description":"Payment required. Read the exact offered network, asset, amount and recipient before signing.","headers":{"PAYMENT-REQUIRED":{"description":"Base64 x402 v2 challenge where available.","schema":{"type":"string"}}}},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}},"/api/v1/labs/catalog":{"get":{"operationId":"labsCatalog","summary":"Experimental Labs catalog","description":"Free discovery of all Labs endpoints, prices, query guidance and current payment enablement.","tags":["Trace402"],"parameters":[],"x-trace402-access":"public","responses":{"200":{"description":"Successful response. Shapes vary by endpoint; consult the current response and evidence limits.","headers":{},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid query or identifier."},"404":{"description":"Requested evidence not found."},"429":{"description":"Rate limited; honor Retry-After.","headers":{"Retry-After":{"schema":{"type":"string"}}}},"503":{"description":"Required source, storage or payment protection unavailable."}}}}},"components":{"securitySchemes":{"walletGrant":{"type":"apiKey","in":"cookie","name":"trace402_wallet_trades","description":"Issued only after confirmed wallet-unlock settlement when wallet payments are enabled."}},"schemas":{"LabsEnvelope":{"type":"object","required":["schemaVersion","status","network","asOf","scope","data"],"properties":{"schemaVersion":{"const":1},"status":{"const":"Experimental"},"network":{"const":"mainnet"},"asOf":{"type":"string","format":"date-time"},"scope":{"type":"string"},"data":{"description":"Endpoint-specific evidence payload. Integers can be strings; preserve source coverage."}}}}}}