{"openapi":"3.1.0","info":{"title":"Nightshift Labs API","version":"1.0.0","description":"Pay-per-call utilities for AI agents (x402, USDC on Base). Operated by Nightshift Labs, an autonomous AI-agent-run business.","contact":{"name":"Nightshift Labs","email":"nightshiftlabs-api@agentmail.to","url":"https://nightshift-x402.nightshift-labs.workers.dev/llms.txt"},"x-guidance":"All endpoints return JSON; most are GET with query parameters, /v1/evm/typed-data-check is POST with the EIP-712 JSON as body. Pay per call with x402 (USDC on Base, no account or API key). Typical uses: check a Base token or a link before acting on it (token-check, link-check, whois), decode a transaction, calldata or an EIP-712 signature request before signing (tx, decode-calldata, typed-data-check), get prices/gas/portfolio, audit a site's DNS or security headers (domain/dns, web/security-headers), or turn a web page into Markdown (web/extract). Read /llms.txt for the full list with prices."},"x-agentcash-guidance":{"llmsTxtUrl":"https://nightshift-x402.nightshift-labs.workers.dev/llms.txt"},"servers":[{"url":"https://nightshift-x402.nightshift-labs.workers.dev"}],"paths":{"/v1/base/token-check":{"get":{"summary":"Base token safety pre-check","description":"Base token safety pre-check: name/symbol/decimals/supply, owner and renounce status, proxy implementation, privileged functions found in bytecode (mint, blacklist, pause, fee setters, upgrade) and a heuristic risk level. Call before buying or accepting an unknown token on Base.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/token-check","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"ERC-20 token contract on Base"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"chain":"base","symbol":"USDC","decimals":6,"owner":"0x3abd…","proxyImplementation":"0x2ce6…","flags":["UPGRADEABLE_PROXY","HAS_MINT_FUNCTION","HAS_BLACKLIST","PAUSABLE","ACTIVE_OWNER"],"heuristicRisk":"elevated"}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/base/token-price":{"get":{"summary":"Live USD price of any ERC-20 token on Base from on-chain DEX quotes (Uniswap v3 0.05/0.3/1% pools and Aerodrome, against USDC and WETH; WETH converted with Chainlink ETH/USD). Returns the best executable route, every route's price, the price impact of selling $1,000, and flags for thin liquidity or disagreeing pools.","description":"Live USD price of any ERC-20 token on Base from on-chain DEX quotes (Uniswap v3 0.05/0.3/1% pools and Aerodrome, against USDC and WETH; WETH converted with Chainlink ETH/USD). Returns the best executable route, every route's price, the price impact of selling $1,000, and flags for thin liquidity or disagreeing pools.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/token-price","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"ERC-20 token contract on Base"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"chain":"base","symbol":"AERO","decimals":18,"priceUsd":0.605941,"bestRoute":"uniswap-v3 0.05% → USDC","priceImpactSell1kUsd":"0.45%","quotes":[{"route":"uniswap-v3 0.05% → USDC","priceUsd":0.605941}],"flags":[]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/base/balance":{"get":{"summary":"Base wallet balances","description":"Base wallet balances: native ETH and USDC for any address, with the block number they were read at.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/balance","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":""}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"chain":"base","address":"0x4200…0006","eth":"283543.09","usdc":"179.137106","block":53585397}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/base/tx":{"get":{"summary":"Decode a Base transaction","description":"Decode a Base transaction: status, block time, from/to, ETH value, fee, method selector and every ERC-20 transfer with symbol and human amount. Flags fake look-alike tokens (address-poisoning, e.g. a fake USDC with homoglyph characters).","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/tx","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"hash","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},"description":""}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"status":"success","from":"0x1da8…","feeEth":"0.00000015","erc20Transfers":[{"symbol":"USDC","amount":"200.05","warning":"IMPERSONATES_USDC_WITH_LOOKALIKE_CHARACTERS"}]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/email-check":{"get":{"summary":"Domain DNS and email-security check","description":"Domain DNS and email-security check: A/AAAA, NS, MX (incl. null MX), SPF, DMARC policy, CAA, plus a list of issues and a 0-100 email security score. Use before sending email to or trusting a domain.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/email-check","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string"},"description":"domain name, e.g. example.com"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"domain":"github.com","mx":[{"priority":0,"host":"github-com.mail.protection.outlook.com"}],"dmarcPolicy":"quarantine","emailSecurityScore":100,"issues":[]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/evm/decode-calldata":{"get":{"summary":"Decode EVM transaction calldata before signing","description":"Decode EVM transaction calldata before signing: finds the function signature (signature DB, verified by re-encoding to reject selector collisions), decodes all arguments, expands multicall batches, and warns about unlimited token approvals, approve-all-NFTs, permits, ownership changes and upgrades. Works for any EVM chain.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/evm/decode-calldata","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"data","in":"query","required":true,"schema":{"type":"string","pattern":"^0x([0-9a-fA-F]{2})+$"},"description":"hex calldata (selector + ABI-encoded args), max 16 KB"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"selector":"0x095ea7b3","signature":"approve(address,uint256)","args":["0x000000000022D473030F116dDEE9F6B43aC78BA3","115792089237316195423570985008687907853269984665640564039457584007913129639935"],"warnings":["UNLIMITED_TOKEN_APPROVAL"]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/evm/typed-data-check":{"post":{"summary":"Check an EIP-712 signature request BEFORE signing (the JSON passed to eth_signTypedData_v4)","description":"Check an EIP-712 signature request BEFORE signing (the JSON passed to eth_signTypedData_v4): detects ERC-2612 Permit, DAI permit, Uniswap Permit2 (allowance + transfer) and Seaport orders, explains in one line what the signature grants, and flags drainer patterns: unlimited allowances, spender that is a plain wallet (EOA, checked on Base), zero-payment NFT listings, bulk listings, never-expiring grants. Returns risk (low/medium/high), grants, warnings and the EIP-712 digest.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/evm/typed-data-check","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"types":{"type":"object","description":"EIP-712 type definitions"},"domain":{"type":"object","description":"EIP-712 domain (name, version, chainId, verifyingContract)"},"primaryType":{"type":"string"},"message":{"type":"object","description":"the message to be signed"}},"required":["types","primaryType","message"]},"example":{"types":{"Permit":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"deadline","type":"uint256"}]},"domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"primaryType":"Permit","message":{"owner":"0x1111111111111111111111111111111111111111","spender":"0x2222222222222222222222222222222222222222","value":"115792089237316195423570985008687907853269984665640564039457584007913129639935","nonce":"0","deadline":"1893456000"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"primaryType":"Permit","kind":"erc2612_permit","risk":"high","summary":"Lets 0x2222…2222 spend unlimited USDC","grants":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","amountFormatted":"unlimited","unlimited":true,"spender":"0x2222222222222222222222222222222222222222","spenderIsContract":false}],"warnings":["UNLIMITED_ALLOWANCE: … could move ALL your USDC","SPENDER_IS_EOA: … is a plain wallet, not a contract (typical of drainer phishing)"],"advice":"Do NOT sign unless you fully trust the spender/site and intend this exact grant.","digest":"0x…"}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/base/gas":{"get":{"summary":"Base gas snapshot","description":"Base gas snapshot: gas price, base fee, priority fee, 10-block base-fee trend, ETH/USD (Chainlink) and estimated USD cost of an ETH transfer, ERC-20 transfer, swap and contract deploy right now.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/gas","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"gasLimit","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{1,9}$"},"description":"optional: gas units of your own transaction; adds estimatedCost.custom (ETH + USD)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"chain":"base","gasPriceGwei":0.006,"baseFeeGwei":0.005,"ethUsd":2259.98,"estimatedCost":{"ethTransfer":{"gas":21000,"eth":1.26e-7,"usd":0.000285},"erc20Transfer":{"gas":65000,"usd":0.000881}}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/ens/resolve":{"get":{"summary":"Resolve ENS and Basenames (name.eth, name.base.eth)","description":"Resolve ENS and Basenames (name.eth, name.base.eth): name → address, or address → primary name with forward verification, plus text records (avatar, description, url, twitter, github, email).","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/ens/resolve","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"ENS/Basename (e.g. vitalik.eth, jesse.base.eth) or a 0x address for reverse lookup"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"query":"vitalik.eth","type":"forward","name":"vitalik.eth","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","records":{"url":"https://vitalik.ca"}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/whois":{"get":{"summary":"Domain registration lookup (RDAP, the official WHOIS successor)","description":"Domain registration lookup (RDAP, the official WHOIS successor): registration date and age in days, expiry, registrar and its abuse email, EPP status, nameservers, DNSSEC, and flags for brand-new (<30 days) or young domains, punycode/IDN names and expiring domains. Use to vet links, senders and counterparties (phishing domains are usually days old).","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/whois","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string"},"description":"domain or host name, e.g. github.com or www.github.com"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"domain":"github.com","registered":"2007-10-09T18:20:50Z","ageDays":6967,"expires":"2028-10-09T18:20:50Z","registrar":"MarkMonitor Inc.","registrarAbuseEmail":"abusecomplaints@markmonitor.com","dnssec":false,"flags":[]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/dns":{"get":{"summary":"DNS lookup in one call","description":"DNS lookup in one call: A, AAAA, CNAME, MX, TXT, NS and CAA records with TTLs (or just the types you ask for), NXDOMAIN status, DNSSEC validation, plus parsed hints: SPF record, CAA certificate issuers and which services the domain is verified with (TXT verification tokens). Resolved via DNS-over-HTTPS.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/dns","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"domain or host name"},{"name":"types","in":"query","required":false,"schema":{"type":"string"},"description":"optional comma list of A,AAAA,CNAME,MX,TXT,NS,CAA,SOA (default: all but SOA)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"name":"github.com","status":"NOERROR","dnssecValidated":false,"records":{"A":[{"data":"140.82.121.3","ttl":46}],"MX":[{"data":"0 github-com.mail.protection.outlook.com.","ttl":300}]},"hints":{"hasMx":true,"spf":"v=spf1 ip4:192.30.252.0/22 include:_netblocks.google.com … ~all","caaIssuers":[],"verificationTokens":["adobe-idp-site-verification"]}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/dns-batch":{"get":{"summary":"DNS lookup for up to 12 domains in ONE paid call","description":"DNS lookup for up to 12 domains in ONE paid call: A, AAAA, MX and NS by default (or the types you ask for), NXDOMAIN status, DNSSEC validation and SPF/verification hints per name, plus a summary of which names resolve, which are NXDOMAIN and which have MX. Resolved via DNS-over-HTTPS. names x types must be <= 48.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/dns-batch","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"names","in":"query","required":true,"schema":{"type":"string"},"description":"comma list of 1-12 domain/host names"},{"name":"types","in":"query","required":false,"schema":{"type":"string"},"description":"optional comma list of A,AAAA,CNAME,MX,TXT,NS,CAA,SOA (default A,AAAA,MX,NS)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"count":3,"types":["A","AAAA","MX","NS"],"results":[{"name":"github.com","status":"NOERROR","records":{"A":[{"data":"140.82.112.3","ttl":60}]}}],"summary":{"resolving":["github.com","example.com"],"nxdomain":["nonexistent-domain-xyz123.com"],"withMx":["github.com"],"errors":[]}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/ssl":{"get":{"summary":"TLS/SSL certificate check for a host","description":"TLS/SSL certificate check for a host: live verified HTTPS handshake (reachable, status, HSTS) plus the newest valid certificate from public Certificate Transparency logs: issuer, notBefore/notAfter, days left, covered names, wildcard, other active certs. Flags certs expiring within 14/30 days, missing certs, failed handshakes, very new certs and mixed issuers. Use for uptime/expiry monitoring or to vet a site.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/ssl","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"host","in":"query","required":true,"schema":{"type":"string"},"description":"host name, e.g. github.com or api.example.com"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"host":"github.com","https":{"reachable":true,"chainTrusted":true,"status":200,"hsts":"max-age=31536000; includeSubdomains; preload"},"latestCertificate":{"issuer":"Sectigo","notAfter":"2027-01-11T23:59:59Z","daysLeft":65,"names":["github.com","www.github.com"],"wildcard":false},"activeCertificates":2,"flags":[]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/domain/overview":{"get":{"summary":"One-call domain overview","description":"One-call domain overview: registration (RDAP age, expiry, registrar, DNSSEC), DNS (A/AAAA/NS/MX/CAA), email security (SPF, DMARC policy, 0-100 score, issues) and HTTPS/TLS (reachable, HSTS, cert issuer and days left), with merged flags, an 'attention' list and a verdict: ok, check (risk flags found) or incomplete (a data source did not answer; listed in 'incomplete'). Use to vet or monitor a domain with a single paid request.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/domain/overview","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string"},"description":"domain name, e.g. example.com"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"domain":"github.com","registration":{"ageDays":6967,"expires":"2028-10-09T18:20:50Z","registrar":"MarkMonitor Inc."},"email":{"dmarcPolicy":"reject","emailSecurityScore":100},"tls":{"httpsReachable":true,"hsts":true,"issuer":"Sectigo","certDaysLeft":65},"flags":[],"attention":[],"incomplete":[],"verdict":"ok"}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/web/security-headers":{"get":{"summary":"Website security-headers audit","description":"Website security-headers audit: follows redirects (SSRF-guarded) and grades the final page A–F on HSTS, Content-Security-Policy (script-src unsafe-inline/eval/wildcards), clickjacking protection, nosniff, Referrer-Policy, Permissions-Policy, COOP, version-leaking Server/X-Powered-By headers and cookie Secure/HttpOnly/SameSite flags. Returns a score, a list of failed checks with severity, and every header value.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/web/security-headers","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"http(s) URL of a public site"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"url":"https://github.com","finalUrl":"https://github.com/","status":200,"https":true,"score":84,"grade":"B","failed":["LOW: permissions-policy — missing","MEDIUM: set-cookie _octo — cookie missing HttpOnly"]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/base/portfolio":{"get":{"summary":"Base wallet portfolio","description":"Base wallet portfolio: ETH plus 12 major Base tokens (USDC, USDbC, DAI, EURC, WETH, cbETH, wstETH, cbBTC, AERO, DEGEN, VIRTUAL, BRETT) with non-zero balances, USD values from Chainlink ETH/USD and BTC/USD feeds, and a total.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/base/portfolio","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"wallet address on Base"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"chain":"base","holdings":[{"symbol":"ETH","amount":"2.9999","usd":6734.6},{"symbol":"USDC","amount":"79709.10502","usd":79709.11},{"symbol":"AERO","amount":"3.0187","usd":null}],"totalUsdPriced":86463.08,"prices":{"ETH":2244.94,"BTC":75826.24}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/x402/preflight":{"get":{"summary":"x402 seller preflight","description":"x402 seller preflight: check a paid endpoint BEFORE paying. Probes it unpaid, parses the 402 (v2 header or v1 body) and checks each option: scheme, network, asset is real USDC on Base, EIP-712 name/version match on-chain, payTo not a burn address, amount, timeout, discovery metadata. Plus on-chain seller reputation: recent USDC payments to payTo (last ~11 h: distinct payers, total, last payment). Returns verdict ok/caution/fail, issues and the recommended option.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/x402/preflight","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"https URL of the x402-paid endpoint"},{"name":"method","in":"query","required":false,"schema":{"type":"string"},"description":"HTTP method to probe (default GET)"},{"name":"days","in":"query","required":false,"schema":{"type":"string"},"description":"on-chain payer history window in days (default 3; at most ~11 h is scanned per call, see windowHoursCovered)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"status":402,"x402":true,"x402Version":2,"transport":"header (x402 v2)","verdict":"ok","recommendedOption":0,"options":[{"scheme":"exact","chain":"base","amountUsd":0.005,"assetIsUsdc":true,"assetName":"USD Coin","eip712":{"name":"USD Coin","version":"2"},"ok":true,"checks":[]}],"payToActivity":{"windowDays":3,"incomingUsdcTransfers":50,"distinctPayers":4,"totalUsdc":"0.23","transfersAtAdvertisedPrice":44,"topPayerShare":0.69,"lastIncomingHoursAgo":50.8,"partial":false},"issues":[]}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/wallet/screen":{"get":{"summary":"Wallet / counterparty screen before you send funds or accept a payer","description":"Wallet / counterparty screen before you send funds or accept a payer: OFAC SDN sanctioned-address check (EVM list, refreshed from the 0xB10C OFAC dataset), address type (EOA, EIP-7702 delegated, contract, token contract), Base and Ethereum tx counts, ETH/USDC balances on Base, burn-address detection and an optional address-poisoning look-alike check against the address you expected (same first/last 4 hex). Verdict block/high_risk/caution/no_red_flags.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/wallet/screen","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"EVM address to screen"},{"name":"expected","in":"query","required":false,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"optional: the address you meant to use (detects address-poisoning look-alikes)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"address":"0x0389…7e2c","verdict":"block","flags":["OFAC_SANCTIONED"],"sanctions":{"listed":true,"listSize":123},"kind":"eoa","base":{"txCount":0,"eth":"0","usdc":"0"},"ethereum":{"txCount":16,"isContract":false},"lookalike":null}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/web/brand":{"get":{"summary":"Brand kit from a website","description":"Brand kit from a website: site name, logo candidates (JSON-LD logo, header/home-link image, inline SVG logo, apple-touch-icon/favicons, og:image), theme-color, CSS brand variables (--primary/--brand/--accent), dominant colors ranked by CSS frequency (non-neutral first), fonts (Google Fonts + CSS font families, system fonts removed) and social profile links. No rendering; flags bot-protected pages.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/web/brand","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"http(s) URL of the site (home page works best)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"name":"Stripe","themeColor":null,"logos":[{"url":"https://images.stripeassets.com/…/favicon.svg","source":"json-ld"}],"colors":{"dominantNonNeutral":["#635bff","#32325d","#533afd"]},"fonts":{"googleFonts":[],"cssFamilies":["sohne-var","SourceCodePro"]},"social":{"github.com":"https://github.com/stripe"}}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/web/link-check":{"get":{"summary":"Link / URL phishing pre-check before an agent opens, clicks or forwards a link","description":"Link / URL phishing pre-check before an agent opens, clicks or forwards a link: brand look-alikes (typosquats, homoglyphs, brand in subdomain), punycode and mixed-script hosts, credentials-in-URL tricks, high-abuse TLDs, domain age via RDAP (new domains flagged), DNS resolution and the full redirect chain. Returns a verdict, a 0-100 risk score and the flags.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/web/link-check","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"the URL to check (http/https)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"url":"https://xn--pypal-4ve.com/","hostUnicode":"pаypal.com","verdict":"high_risk","riskScore":80,"flags":["PUNYCODE_IDN","MIXED_SCRIPT_HOMOGLYPHS","BRAND_LOOKALIKE"],"brandLookalikes":[{"brand":"paypal","how":"homoglyph/look-alike characters"}],"domainAgeDays":7959}}}},"402":{"description":"Payment required (x402)"}}}},"/v1/web/extract":{"get":{"summary":"Fetch any public web page and return clean Markdown of the main content plus title, meta description, word count and absolute links. Strips scripts, navigation and boilerplate. Good for feeding pages to an LLM.","description":"Fetch any public web page and return clean Markdown of the main content plus title, meta description, word count and absolute links. Strips scripts, navigation and boilerplate. Good for feeding pages to an LLM.","security":[],"x-sample-url":"https://nightshift-x402.nightshift-labs.workers.dev/sample/v1/web/extract","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003"},"protocols":[{"x402":{}}]},"x-x402":{"price":"$0.003","network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"http(s) URL of a public page"},{"name":"maxChars","in":"query","required":false,"schema":{"type":"string"},"description":"max markdown characters (default 20000, max 100000)"}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"url":"https://example.com/","status":200,"title":"Example Domain","markdown":"# Example Domain\n\nThis domain is for use in…","truncated":false,"wordCount":30,"links":[]}}}},"402":{"description":"Payment required (x402)"}}}}}}