# Softbot Website Check (Softbot Studio) > Trust check for an unfamiliar URL or website before opening it, submitting data or payment to it, or recommending it. Pay per call over x402 v2 (HTTP 402) in USDC on Solana, Base, Polygon or Arbitrum. No signup or API key. Failed calls are not charged. Free trial: 3 free calls per wallet per endpoint via Sign-In-With-X (see below). ## Tools - POST https://softbot-sitecheck-mainnet.softbot.workers.dev/v1/site ($0.003 USDC per call) Website trust check: verdict (trustworthy_likely / caution / risky) with reasons from domain age (RDAP), DNS (A/MX/NS), HTTPS reachability and redirect chain, security headers, phishing/malware list snapshots, brand lookalike/typosquat detection, tech fingerprint and page title. Request: JSON body {"url": "https://example.com"} Response 200 (application/json): url, host, verdict, reasons, title, domain_age, dns, https, security_headers, listings, lookalike, tech, disclaimer ## Payment (x402 v2, scheme exact, same price on every network) - Solana mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp): USDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, pay to 9csHbkGGeQqNxvtZw8hPnC34NCcmZoZXVTEGC1MiDNRE, facilitator PayAI (https://facilitator.payai.network) - Base mainnet (eip155:8453): USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, pay to 0xC68F3cCa31D50208ab4C933a38288938e0B21E63, facilitator Coinbase CDP - Polygon mainnet (eip155:137): native USDC 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359, pay to 0xC68F3cCa31D50208ab4C933a38288938e0B21E63, facilitator Coinbase CDP - Arbitrum One (eip155:42161): native USDC 0xaf88d065e77c8cC2239327C5EDb3A432268e5831, pay to 0xC68F3cCa31D50208ab4C933a38288938e0B21E63, facilitator Coinbase CDP - EVM networks use EIP-3009 transferWithAuthorization (EIP-712 domain name "USD Coin", version "2"); bridged USDC.e is not accepted. - Flow: POST without payment -> HTTP 402 with a PAYMENT-REQUIRED header -> retry with a PAYMENT-SIGNATURE header (any x402 v2 client, e.g. @x402/fetch, does this automatically). Settlement details come back in PAYMENT-RESPONSE. - Invalid input (4xx) and upstream failures (5xx) are not charged; payment settles only on success. ## Free trial - Free trial: 3 free calls per wallet per endpoint via Sign-In-With-X. No funds or payment needed; failed calls do not use a trial; store-wide cap 200 free calls/day, then normal pricing. - POST once without payment -> 402. Take extensions["sign-in-with-x"] from the base64 PAYMENT-REQUIRED header, sign its info as SIWE (chainId eip155:8453, type eip191) or SIWS (Solana mainnet, type ed25519), then repeat the POST with your JSON body and header SIGN-IN-WITH-X: . No funds or payment needed; success returns x-trial: free and x-trial-remaining. - Copy-paste example (JavaScript, Node 20+): ```js // npm i @x402/core @x402/extensions viem import { decodePaymentRequiredHeader } from "@x402/core/http"; import { createSIWxPayload, encodeSIWxHeader } from "@x402/extensions/sign-in-with-x"; import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"; const url = "https://softbot-sitecheck-mainnet.softbot.workers.dev/v1/site", wallet = privateKeyToAccount(process.env.KEY || generatePrivateKey()); // any EVM key, no funds needed const r402 = await fetch(url, { method: "POST" }); const ext = decodePaymentRequiredHeader(r402.headers.get("payment-required")).extensions["sign-in-with-x"]; const siwx = await createSIWxPayload({ ...ext.info, chainId: "eip155:8453", type: "eip191" }, wallet, url); const res = await fetch(url, { method: "POST", headers: { "content-type": "application/json", "SIGN-IN-WITH-X": encodeSIWxHeader(siwx) }, body: JSON.stringify({"url": "https://example.com"}) }); console.log(res.status, res.headers.get("x-trial-remaining"), await res.json()); ``` - Free calls return x-trial: free and x-trial-remaining. The softbot-mcp server (npx -y softbot-mcp) claims the trial automatically. ## Links - x402 discovery: https://softbot-sitecheck-mainnet.softbot.workers.dev/.well-known/x402 - OpenAPI: https://softbot-sitecheck-mainnet.softbot.workers.dev/openapi.json - Health: https://softbot-sitecheck-mainnet.softbot.workers.dev/health - Store (all Softbot tools): https://softbot-studio.pages.dev/llms.txt - Agent docs: https://softbot-studio.pages.dev/agents.md - GitHub: https://github.com/softbot-studio/softbot-agents - MCP server (npm): softbot-mcp (npx -y softbot-mcp; handles payment and the free trial) - Contact: softbot@mail.grokbot.com