{
  "name": "BRAINIAC.software",
  "description": "Each POST has a fixed USDC price on Base, paid with the x402 exact scheme. The request is validated first, and payment settles only after a successful (2xx) result. Failed calls are not charged. No account. Support: support@brainiac.software. OpenAPI: https://www.brainiac.software/api/v1/openapi.json.",
  "version": "1.0.0",
  "documentationUrl": "https://www.brainiac.software/api/v1/openapi.json",
  "provider": {
    "organization": "BRAINIAC.software",
    "url": "https://www.brainiac.software"
  },
  "supportedInterfaces": [
    {
      "url": "https://www.brainiac.software",
      "protocolBinding": "https://www.x402.org",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://www.x402.org",
        "description": "Each POST has a fixed USDC price on Base, paid with the x402 exact scheme. The request is validated first, and payment settles only after a successful (2xx) result. Failed calls are not charged.",
        "required": true,
        "params": {
          "protocol": "x402",
          "scheme": "exact",
          "network": "eip155:8453",
          "asset": "USDC",
          "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
          "openapi": "https://www.brainiac.software/api/v1/openapi.json"
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "prevailing-wage",
      "name": "Prevailing Wage",
      "description": "Davis-Bacon wage determination lookup, classification checks, payroll prechecks, fringe reconciliation, and report generation.",
      "tags": [
        "Wage rates",
        "Payroll",
        "x402"
      ],
      "examples": [
        "Search Davis-Bacon wage determinations by state, county, construction type, or award/bid date. Results include source details and an indicator when a record may be out of date.",
        "Resolve an active determination by state, county, construction type, and award/bid date. Unmatched determinations are not inferred.",
        "Return sourced base/fringe rates, notes, zones, and excerpts for a wage determination."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "coi",
      "name": "Certificate of Insurance",
      "description": "Extract insurance certificate fields from a supplied PDF or image, compare them with contract requirements, and draft follow-up language.",
      "tags": [
        "Insurance",
        "OCR",
        "x402"
      ],
      "examples": [
        "Extract PDF/image fields with confidence, then compare them with contract requirements. Uncertain OCR is WARN and is never treated as verified.",
        "Compare a caller-supplied certificate of insurance, as text or JSON, with the minimum limits, endorsements, and expiry date in the request. The grade is the share of each minimum that is missing. The text is not a PDF and the result is not a coverage opinion."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "exclusion",
      "name": "OFAC & UK Sanctions Screening",
      "description": "Normalize a vendor name and screen it against OFAC SDN and UK Sanctions List with timestamped evidence, batch screening, and multi-list screening.",
      "tags": [
        "OFAC",
        "Sanctions",
        "UK Sanctions",
        "x402"
      ],
      "examples": [
        "Normalize identifiers before source screening. This operation does not determine eligibility.",
        "Compare a vendor name with the official OFAC SDN list. Candidate matches require human review; source unavailability produces WARN.",
        "Screen a vendor name against the official OFAC SDN list and produce a PDF with source status, candidate records, timestamp, and snapshot hash. Matches are not identity confirmations."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "license",
      "name": "License Renew",
      "description": "Read supported licensing requirements and calculate renewal plans and date-only deadline watches.",
      "tags": [
        "Licences",
        "Renewals",
        "x402"
      ],
      "examples": [
        "Return source-linked rules only for supported Texas electrician and UK SIA licence types; unsupported jurisdictions remain explicitly unsupported.",
        "Calculate a renewal checklist and PDF from verified rules and caller-supplied expiry/CE data. Unsupported combinations remain unsupported.",
        "Return reminder dates from a caller-supplied expiry date. This is data only; BRAINIAC.software does not send notifications."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "claims",
      "name": "Claims Assist",
      "description": "Parse supplied policy documents, organize incident facts and evidence, perform preliminary checks, and draft insurer correspondence.",
      "tags": [
        "Insurance",
        "Evidence",
        "x402"
      ],
      "examples": [
        "Extract policy clauses, run a preliminary text-match screen, and build a general evidence checklist. This is not legal advice or confirmation of coverage.",
        "Match a caller-supplied incident to policy exclusions, dates, and the limit. The validity score falls when an exclusion's distinctive words appear in the incident, and the denial risk rises with those matches. This is a text screen, not a claim decision.",
        "Prepare a human-reviewed FNOL, follow-up, or complaint letter. BRAINIAC.software does not send the message or make legal conclusions."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "audit",
      "name": "Audit Receipt",
      "description": "Create a reproducible SHA-256 digest for supplied inputs, findings, and a source revision.",
      "tags": [
        "SHA-256",
        "Audit trail",
        "x402"
      ],
      "examples": [
        "Create a stateless SHA-256 digest of supplied inputs, findings, and source revision. It is not a trusted signature or legal attestation.",
        "Hash a caller-supplied evaluation and payload, repeat the caller-supplied timestamp, and score whether the declared fields and optional payload checksum are present. The same input always produces the same hash. The receipt is not a signature."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "company-intelligence",
      "name": "Company Intelligence",
      "description": "Independent API for company data: search by name/country, profile via LEI, ownership relationships, financial metrics, and SEC filings from GLEIF and EDGAR.",
      "tags": [
        "Company data",
        "GLEIF",
        "SEC EDGAR",
        "x402"
      ],
      "examples": [
        "Search companies by name and country using the GLEIF LEI database.",
        "Retrieve a company profile using LEI from GLEIF.",
        "Retrieve parent and subsidiary relationships from GLEIF."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cybersecurity-intelligence",
      "name": "Cybersecurity Intelligence",
      "description": "Independent API for vulnerability and dependency security: CVE details, package checks, batch queries, risk assessments, dependency trees, project health, repository Scorecard, and lockfile auditing from OSV, CISA KEV, FIRST EPSS, NVD, Google deps.dev, and OpenSSF Scorecard.",
      "tags": [
        "Security",
        "Vulnerabilities",
        "CVE",
        "Dependency",
        "x402"
      ],
      "examples": [
        "Retrieve details for a CVE or vulnerability ID from OSV, CISA KEV, FIRST EPSS, and NVD.",
        "Check one package and version for vulnerabilities using OSV, enriched with CISA KEV, EPSS, and NVD data.",
        "Check multiple packages and versions for vulnerabilities using OSV batch query, enriched with CISA KEV, EPSS, and NVD data."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "procurement-intelligence",
      "name": "Procurement Intelligence",
      "description": "Independent API for procurement intelligence: UK, EU, and US procurement opportunities, opportunity details, buyer history, awards, and company matching using UK Contracts Finder, UK Find a Tender, TED, and USAspending.",
      "tags": [
        "Procurement",
        "UK",
        "EU",
        "US",
        "x402"
      ],
      "examples": [
        "Search UK procurement opportunities from Contracts Finder and Find a Tender with filtering by date, stage, keyword, CPV, location, and value.",
        "Retrieve full details of a procurement opportunity by OCID from UK Contracts Finder or Find a Tender.",
        "Retrieve procurement history for a buyer from UK Contracts Finder and Find a Tender."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "wallet-intelligence",
      "name": "Wallet Intelligence",
      "description": "Independent API for Base Mainnet wallet intelligence: snapshots, transfer activity, consolidated analysis, transaction inspection, and security intelligence using public JSON-RPC, DeFiLlama, and GoPlus Labs.",
      "tags": [
        "Blockchain",
        "Base",
        "Wallet",
        "x402"
      ],
      "examples": [
        "Retrieve current wallet balance and supplied token balances on Base Mainnet with USD valuations from DeFiLlama.",
        "Retrieve ERC-20 transfer activity within a requested block range on Base Mainnet using public JSON-RPC.",
        "Consolidate wallet balances and observed transfer activity on Base Mainnet with block range coverage information."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "token-due-diligence",
      "name": "Token Due Diligence",
      "description": "Independent API for Base Mainnet token due diligence: contract analysis, DEX liquidity inspection, holder concentration analysis, permission inspection, honeypot checks, and security reports using public JSON-RPC, Uniswap factories, DeFiLlama, and Honeypot.is.",
      "tags": [
        "Blockchain",
        "Base",
        "Token",
        "DeFi",
        "x402"
      ],
      "examples": [
        "Analyze a token contract on Base Mainnet including bytecode, ERC-20 metadata, owner, proxy status, and privileges.",
        "Inspect supported DEX liquidity pools on Base Mainnet using official Uniswap V2 and V3 factories.",
        "Analyze holder concentration from transfer events when complete transfer history is available on Base Mainnet."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "token-security",
      "name": "Token Security & Risk Intelligence",
      "description": "Independent Base token security checks from public JSON-RPC, contract bytecode, and DEX Screener. Each result separates verified facts, detected signals, and unavailable data, and does not assign a risk score or a safety approval.",
      "tags": [
        "Blockchain",
        "Base",
        "Token",
        "Security",
        "x402"
      ],
      "examples": [
        "Read a Base token contract and return an evidence-based verdict. Facts, signals, and unavailable checks are separate. No risk score is produced, and absence of a signal is not a safety approval.",
        "Look for observable pause and blacklist indicators in Base bytecode and standard calls. This does not simulate a buy or sell.",
        "Read owner(), EIP-1967 proxy slots, and bytecode selectors for mint, pause, and blacklist privileges on Base. Selector presence is not proof the owner can call them."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "crypto-security",
      "name": "Crypto Security",
      "description": "Static checks for caller-supplied EVM calldata and for Solidity storage layouts of upgradeable implementations. No network calls are made.",
      "tags": [
        "EVM",
        "Transactions",
        "ABI",
        "x402"
      ],
      "examples": [
        "Compare an EVM transaction's calldata and native value with the action declared in the request. Decoding uses the ABI in the request, or the standard ERC-20 transfer, transferFrom, approve, and increaseAllowance encodings when that selector matches. intent_match is true, false, or the string indeterminate when a declared field cannot be checked. risk_level is low, medium, high, or critical. This is static analysis: it does not read chain state, simulate the call, or decide that a contract is malicious or that the transaction will succeed.",
        "Read a caller-supplied EVM transaction or an EIP-712 typed-data message and describe the transfer, approval, permit, or outer call it encodes. Known selectors are transfer, transferFrom, approve, increaseAllowance, setApprovalForAll, permit, multicall, aggregate, and execute. The score is a local penalty count. It does not simulate the call or read a chain.",
        "Compare the Solidity storage layout of an upgradeable implementation with a proposed replacement. Variables are matched by slot and offset, not by name. The types map is used for structs, mappings, dynamic arrays, and byte sizes. compatibility_status is compatible, incompatible, warnings, or indeterminate. risk_level is low, medium, high, or critical. A compatible result is not a claim that the upgrade is safe. No chain is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "contract-security",
      "name": "Contract Security",
      "description": "Compare two caller-supplied EVM bytecodes. Exact and normalized comparisons report hashes, lengths, similarity, and differing byte ranges. No network calls are made.",
      "tags": [
        "EVM",
        "Bytecode",
        "Contracts",
        "x402"
      ],
      "examples": [
        "Compare two caller-supplied EVM bytecodes. mode exact compares every byte. An omitted mode is exact. mode normalized masks only the supplied immutable ranges and a trailing Solidity CBOR metadata suffix when bytecodeKind is not creation and that suffix is present on both bytecodes. comparison_status is identical, different, partially_comparable, or invalid. Hashes are keccak256 of the supplied bytes. Similarity is the share of equal compared bytes, truncated to 4 decimal places. A difference is not a judgment that either bytecode is malicious, and similar bytecode is not equivalent behavior. No source code is verified and no chain is queried.",
        "Decode two caller-supplied EVM bytecodes, or two instruction lists, into opcodes and compare the instruction sequence. Similarity ignores PUSH immediates. The risk delta counts CALL, SSTORE, CREATE, DELEGATECALL, CALLCODE, and SELFDESTRUCT. A high similarity is not proof that the contracts behave the same. No chain is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "staking-security",
      "name": "Staking Security",
      "description": "Check caller-supplied EIP-3076 signing histories, validator deployment inventories, and withdrawal credentials. No network calls are made.",
      "tags": [
        "Ethereum",
        "Validators",
        "Staking",
        "x402"
      ],
      "examples": [
        "Check caller-supplied EIP-3076 version 5 slashing-protection interchanges before validator history is imported or reused. A double proposal is two different blocks at the same slot. A double vote is two different attestations with the same target epoch. A surround vote has an earlier source epoch and a later target epoch than the vote it surrounds. audit_status is safe, conflicts_detected, warnings, invalid, or incomplete. risk_level is low, medium, high, or critical. Identical records without signing_root are not a confirmed slash. The export is not a complete signing history and does not protect against a later signature. No private key is accepted and no beacon node is queried.",
        "Compare a caller-supplied validator deployment inventory for duplicate active public keys, simultaneous primary and backup activation, overlapping activation windows, and failover rules that disagree. Windows are absolute instants, including offsets. An inactive standby covered by an exclusive failover rule is not treated as concurrent. audit_status is clean, conflicts_detected, warnings, or incomplete. risk_level is low, medium, high, or critical. Activation status is an assertion. No host is contacted and no private key is read.",
        "Compare caller-supplied Ethereum validator withdrawal credentials with expected types, withdrawal addresses, and ownership mappings. 0x00 is a BLS credential and the other 31 bytes are a hash fragment, not an address. 0x01 and 0x02 decode an execution address only when the next 11 bytes are zero. audit_status is valid, mismatched, warnings, invalid, or incomplete. risk_level is low, medium, high, or critical. A match is not proof of control and was not read from a beacon node."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "staking-operations",
      "name": "Staking Operations",
      "description": "Audit caller-supplied staking reward allocations for operators, validators, and delegators. No network calls are made.",
      "tags": [
        "Ethereum",
        "Staking",
        "Rewards",
        "x402"
      ],
      "examples": [
        "Calculate staking reward allocations from the supplied commission percent, share percents, penalties, and rounding rule. Share percents must sum to 100%. Commission is that percent of gross rewards or of rewards after penalties. audit_status is balanced, mismatched, invalid, or incomplete. Expected amounts are calculated. Actual amounts come only from distribution records in the request. No staking reward is fetched, and this is not an invoice or stablecoin reconciliation.",
        "Compare each supplied allocation with the share of the reward pool its weight implies. The rounding error is the total absolute gap, divided by the reward. Equal weights with uneven payouts lower the fairness score. No reward balance is fetched."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "restaking-risk",
      "name": "Restaking Risk",
      "description": "Calculate collateral reuse and modeled slash losses, and check whether caller-supplied slashing stages fit in an available window. No network calls are made.",
      "tags": [
        "Restaking",
        "Collateral",
        "Slashing",
        "x402"
      ],
      "examples": [
        "Calculate unique collateral, gross exposure, and overlap when caller-supplied vault collateral is reused across networks. Simultaneous scenarios slash the starting balance and cap the combined percent at 100%. Sequential scenarios reduce the remaining balance after each event. audit_status is calculated, warnings, incomplete, or invalid. Amounts are integers in the caller-supplied unit. Prices and conversion rates are used only when supplied. No balance or price is fetched.",
        "Cap each operator's network weights at 100 percent of its stake, then weight that exposure by stake. The correlation score is the share of stake that sits on more than one network. Weights are the caller's risk weights. No stake is fetched.",
        "Compare caller-supplied slashing stages with an available window. Each duration is an integer in seconds, or in epochs when its unit is epochs. Epoch length is seconds. Stages run in detection, evidence, submission, veto, execution, and finality order. Consecutive stages listed in parallel start together and the timeline uses the longest. A missing stage is incomplete and is not treated as zero. feasibility_status is feasible, margin_exceeded, infeasible, incomplete, or invalid. A fit is arithmetic only. No protocol parameters are fetched."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "crypto-operations",
      "name": "Crypto Operations",
      "description": "Static checks for caller-supplied cross-chain bridge records. Source and destination operations are matched by the message identifiers in the request. No network calls are made.",
      "tags": [
        "Bridges",
        "EVM",
        "Transactions",
        "x402"
      ],
      "examples": [
        "Compare caller-supplied source and destination records for a cross-chain bridge. Operations are matched only by message identifier, or by the log field named in fieldMapping. Amounts are scaled with the supplied decimals, fee, and optional conversion rate. consistency_status is consistent, inconsistent, incomplete, or indeterminate. risk_level is low, medium, high, or critical. A missing record is incomplete evidence, not proof that the bridge failed. No chain is queried, and no transaction is treated as final.",
        "Group caller-supplied source and destination legs by message id. A message is consistent when both legs succeeded for the same amount. The recovery index is the hardest leg: a pending destination after a successful source scores lower than two matching successes. No chain is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "crypto-governance",
      "name": "Crypto Governance",
      "description": "Static checks that compare a caller-supplied DAO proposal with the execution calls the caller supplies. The proposal description is not treated as the approved action list. No network calls are made.",
      "tags": [
        "DAO",
        "Governance",
        "EVM",
        "x402"
      ],
      "examples": [
        "Compare the structured actions in a caller-supplied DAO proposal with the caller-supplied execution calls. Targets, selectors, decoded parameters, and native value are compared. execution_match is exact, partial, mismatch, or indeterminate. risk_level is low, medium, high, or critical. The proposal description is not treated as the approved action list. No chain is queried, and approval or execution is not inferred from chain state.",
        "Apply caller-supplied transfer and transferFrom calls to the supplied token balances. A transfer that is not in the expected list is unforeseen. The drift index is the share of balances that change. Amounts stay inside the local integer limit. This is not an EVM simulation and no chain is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "crypto-payments",
      "name": "Crypto Payments",
      "description": "Reconcile caller-supplied stablecoin payment records against invoices. Underpayments, overpayments, duplicate transaction hashes, and token, recipient, or chain mismatches are reported from the records in the request. No network calls are made.",
      "tags": [
        "Stablecoins",
        "Payments",
        "Invoices",
        "x402"
      ],
      "examples": [
        "Reconcile caller-supplied stablecoin payment records against invoices. Compares amounts, token, recipient, and chain ID, and reports underpayments, overpayments, duplicate transaction hashes, and payments that are not linked to an invoice. reconciliation_status is matched, underpaid, overpaid, duplicate, mismatched, or incomplete. Amounts are integers in smallest units. No chain is queried, and a transaction hash is not treated as confirmation that funds arrived.",
        "Match caller-supplied payments to invoice amounts, due dates, and fee rates in basis points. Accuracy gives 60 points to the amount, 20 to paying on time, and 20 to the fee. The discrepancy is the invoice total minus the linked payments. No chain is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "tokenomics",
      "name": "Tokenomics",
      "description": "Audit caller-supplied token vesting schedules against a declared supply. Linear and custom allocations are checked for cliff, date, overlap, and distribution discrepancies. No network calls are made.",
      "tags": [
        "Vesting",
        "Allocations",
        "Supply",
        "x402"
      ],
      "examples": [
        "Audit caller-supplied token vesting allocations against a declared supply. Checks totals, cliff and vesting dates, duplicate beneficiaries, overlapping schedules, and distribution records. audit_status is valid, warnings, invalid, or incomplete. Supported models are linear and custom. A linear schedule needs a start, cliffMode (included or before_vesting), a cliff duration or cliff date, a vesting duration, an unlock frequency, and an initial unlock percent or amount. initialUnlockPercent is a decimal string from 0 to 100 with at most 4 decimal places. Timestamps are UTC and must end in Z. No chain is queried, and wallet balances are not verified.",
        "Project a caller-supplied circulating supply and price across vesting cliffs. Each schedule unlocks one period at its cliff month, then monthly until it is fully unlocked. The FDV curve holds the price constant. The dilution score mixes the locked share with the largest single-month unlock. No price feed is queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "account-abstraction",
      "name": "Account Abstraction",
      "description": "Audit ERC-4337 UserOperations supplied in the request. Sponsorship policies and structural checks cover gas, Paymaster fields, factory data, and calldata. No network calls are made.",
      "tags": [
        "ERC-4337",
        "Paymaster",
        "UserOperation",
        "x402"
      ],
      "examples": [
        "Compare ERC-4337 UserOperations with a caller-supplied Paymaster sponsorship policy. EntryPoint versions are 0.6 and 0.7. An omitted paymasterDataFormat is envelope: the EntryPoint address and, on 0.7, the two 16-byte gas limits are read, and later bytes stay opaque. verifying_paymaster also reads validUntil and validAfter as two 6-byte integers; a validUntil of 0 means no upper bound, and the signature is not verified. Call targets and selectors are read only from declared values, raw calldata offsets, or execute(address,uint256,bytes). audit_status is allowed, denied, warnings, invalid, or indeterminate. risk_level is low, medium, high, or critical. Sponsored gas is the EntryPoint required-prefund sum, multiplied by maxFeePerGas for the amount in wei. No Paymaster deposit, balance, reputation, or other chain state is read, and the result does not say whether a bundler will accept the operation.",
        "Add the caller-supplied call gas and verification gas, multiply by the max fee, and compare that cost with the paymaster deposit. Gas above the stated ceilings, and init code when it is not allowed, raise the risk score. The safety index is how far each gas field sits inside its ceiling. No deposit is read from a chain.",
        "Check the structure of one ERC-4337 UserOperation before it is submitted to a bundler. EntryPoint 0.6 uses initCode and paymasterAndData. EntryPoint 0.7 uses factory, factoryData, and separate Paymaster fields. On 0.7, callGasLimit, verificationGasLimit, the fee fields, and Paymaster gas limits must fit in uint128. Calldata is decoded only with the supplied ABI. Expected targets are compared only with decoded address parameters named dest, target, or to. validation_status is valid, invalid, warnings, or indeterminate. risk_level is low, medium, high, or critical. The signature is not recovered. No chain state is read, execution is not simulated, and the result does not say whether a bundler will accept the operation."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "defi-intelligence",
      "name": "DeFi Intelligence",
      "description": "Independent API for DeFi protocol data: protocol search, protocol profiles, current TVL, and blockchain TVL using the DeFiLlama public API.",
      "tags": [
        "DeFi",
        "TVL",
        "Protocols",
        "x402"
      ],
      "examples": [
        "Search DeFi protocols by name, symbol, description, category, or chain using the DeFiLlama public API. Filtering is performed client-side.",
        "Retrieve detailed information for a specific DeFi protocol by ID or slug from DeFiLlama public API.",
        "Retrieve current Total Value Locked (TVL) for a specific DeFi protocol from DeFiLlama public API. TVL is a delayed reference value."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "property-intelligence",
      "name": "Property Intelligence",
      "description": "Independent API for England planning data and for listing structure, supplied-property comparison, and investment metrics. Planning operations use the Planning Data API. Listing operations use caller-supplied figures or one public page, and nearby features use OpenStreetMap when it answers.",
      "tags": [
        "Property",
        "Planning",
        "Listings",
        "England",
        "x402"
      ],
      "examples": [
        "Retrieve available planning and heritage information for a property using UPRN, coordinates, or postcode.",
        "Check specific planning constraints (conservation areas, listed buildings, flood risk, etc.) for a location.",
        "Search planning applications by local planning authority, date range, or other filters."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "web-intelligence",
      "name": "Web & Page Intelligence",
      "description": "Independent public-page reads for agents: Markdown conversion, schema extraction, change detection, metadata, displayed contacts, and sitemap indexes. Pages are fetched directly over HTTP. No browser session is used.",
      "tags": [
        "Web",
        "Pages",
        "Markdown",
        "Sitemap",
        "x402"
      ],
      "examples": [
        "Fetch one public webpage and convert its readable HTML into Markdown. Scripts are not run, and missing text is not filled in.",
        "Extract caller-defined fields from one public webpage. A field is returned only when a selector, JSON-LD property, or matching meta tag contains it. Otherwise the value is null.",
        "Fetch a public page and compare its Markdown with a caller-supplied previous snapshot. The snapshot is not stored. The result lists added and removed lines and does not rank their importance."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "software-security",
      "name": "Software Supply Chain Security",
      "description": "Independent SBOM and dependency checks for exact package versions: OSV advisory ranges, CISA KEV exposure, open-source licence policy, and publicly documented malicious-package advisories.",
      "tags": [
        "Security",
        "SBOM",
        "Dependencies",
        "Licences",
        "x402"
      ],
      "examples": [
        "Parse a CycloneDX or SPDX SBOM, or a component list, and classify each exact package version against OSV advisories as affected, unaffected, or unknown. A similar package name is not a match.",
        "Summarise affected, unaffected, and unknown OSV advisory counts for each exact dependency version. No risk score is calculated.",
        "Compare exact dependency versions with OSV advisories and the CISA Known Exploited Vulnerabilities catalog. A KEV entry is reported only when that CVE applies to the same package and version range."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "graphql-security",
      "name": "GraphQL Federation Security",
      "description": "Compare authorization directives and deployment configuration across caller-supplied GraphQL Federation subgraphs. No gateway is contacted.",
      "tags": [
        "GraphQL",
        "Federation",
        "Authorization",
        "x402"
      ],
      "examples": [
        "Compare @authenticated, @requiresScopes, @policy, and caller-defined authorization directives across supplied subgraph SDL. @requires, @key, @external, @provides, and @shareable are inspected for schema-level differences. audit_status is clean, findings_detected, invalid, or incomplete. risk_level is low, medium, high, or critical. A difference is not a runtime authorization result. No gateway is contacted.",
        "Count object and interface fields in the supplied subgraph SDL and mark a field when its line, or its type line, contains one of the supplied directive names. Coverage is the share of marked fields. This is a text count. It does not compose a supergraph or decide whether a request would be allowed.",
        "Compare caller-supplied subgraph endpoints, router authentication, network rules, and service or ingress labels with the intended public subgraph list. audit_status is clean, findings_detected, incomplete, or invalid. risk_level is low, medium, high, or critical. A public label is not evidence that an endpoint is reachable. No URL is probed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "soap-security",
      "name": "SOAP Security",
      "description": "Compare WS-Policy and WS-SecurityPolicy assertions in caller-supplied WSDL 1.1 documents. No network calls are made.",
      "tags": [
        "SOAP",
        "WSDL",
        "WS-Policy",
        "x402"
      ],
      "examples": [
        "Compare WS-Policy and WS-SecurityPolicy assertions across caller-supplied WSDL 1.1 bindings and operations. audit_status is valid, warnings, policy_conflicts, invalid, or incomplete. risk_level is low, medium, high, or critical. A declared policy is not evidence that a server enforces it. Imports are not fetched.",
        "Score a caller-supplied algorithm suite, body signature, body encryption, timestamp, and token kind. Basic256Sha256 contributes the most, TripleDes and None the least. A username token scores below an X.509 token. The grade follows that score. No certificate is validated and no policy file is fetched."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "soap-contracts",
      "name": "SOAP Contracts",
      "description": "Compare caller-supplied WSDL 1.1 and XSD documents for broken references and syntactic contract changes. No documents are downloaded.",
      "tags": [
        "SOAP",
        "WSDL",
        "XSD",
        "x402"
      ],
      "examples": [
        "Compare a caller-supplied WSDL 1.1 document and its XSD documents, including an optional previous set. audit_status is valid, warnings, breaking_changes, invalid, or incomplete. Imports are not downloaded. A schema difference is syntactic and is not proof that a SOAP client fails at runtime.",
        "Read import, include, and complexType names from the supplied XML. A document cycle, or a complex type that references itself, sets the circular flag. The score counts types, imports, and non-builtin references. schemaLocation values are not downloaded."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "domain-security",
      "name": "Domain Security",
      "description": "Compare caller-supplied DNS, certificate, address, ASN, and RPKI snapshots, and review custom-domain onboarding evidence. No network lookups are made.",
      "tags": [
        "DNS",
        "TLS",
        "RPKI",
        "x402"
      ],
      "examples": [
        "Compare caller-supplied DNS answers, certificate names, addresses, prefixes, and RPKI results for one domain. audit_status is consistent, inconsistencies_detected, warnings, or incomplete. risk_level is low, medium, high, or critical. No DNS, TLS, WHOIS, or BGP lookup is performed.",
        "Look through the supplied DNS records, certificate names, expiry date, and cipher names. A CNAME whose target has no A or AAAA in the snapshot, a certificate that omits the domain, an expiry before the supplied date, a weak cipher name, or a missing NS record raises the exposure. The grade follows that percentage. No DNS or TLS lookup is performed.",
        "Compare a custom domain, tenant, ownership TXT records, DNS targets, and platform assignment status. A dangling name is a potential condition only when the supplied assignment is unassigned or deleted. The audit does not query DNS or claim the domain."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "vendor-compliance",
      "name": "Vendor & Contractor Compliance",
      "description": "Package checks for onboarding, prequalification, payment readiness, document completeness, closeout, and a consolidated report. Results come from the supplied record and buyer rules.",
      "tags": [
        "Vendors",
        "Contractors",
        "Procurement",
        "x402"
      ],
      "examples": [
        "Compare a supplied vendor record, document list, and attestations with the buyer requirements. Missing, expired, failed, and unverified items are reported separately.",
        "Compare buyer qualification criteria with supplied vendor facts, documents, and evidence. The result does not award eligibility or query a registry.",
        "List missing payment documents and caller-supplied open items. This check does not release a payment or rerun sanctions, wage, or certificate screens."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "accounts-payable",
      "name": "Accounts Payable",
      "description": "Read supplier invoices, check totals, tax figures, duplicates, and purchase-order lines, and prepare a payment review. It does not pay invoices or invent tax rules, purchase orders, suppliers, or payment terms.",
      "tags": [
        "Invoices",
        "Accounts Payable",
        "Procurement",
        "x402"
      ],
      "examples": [
        "Extract supplier, invoice number, dates, currency, purchase-order number, terms, and amounts from a supplied invoice or a text-based PDF. Missing fields stay unavailable. No tax rule or payment term is invented.",
        "Extract invoice line descriptions, quantities, unit prices, and amounts from supplied lines or selectable document text. Lines that are not present are not created.",
        "Recompute the total from line amounts, subtotal, tax, discount, and shipping figures that are actually present. A missing figure is not treated as zero."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "contract-operations",
      "name": "Contract Operations",
      "description": "Read supplied contracts for clauses, parties, obligations, dates, and defined terms, compare versions, and check a caller-supplied clause list. This is not legal advice and does not determine legal compliance.",
      "tags": [
        "Contracts",
        "Obligations",
        "Legal operations",
        "x402"
      ],
      "examples": [
        "Extract numbered clauses, parties, defined terms, and a governing-law sentence from supplied contract text or a text-based PDF. Each item keeps a source excerpt. Missing headings stay unavailable.",
        "Extract sentences that use shall, must, agrees to, is required to, or undertakes to, and name the party stated before the verb. Sentences that only say may are not turned into obligations.",
        "Extract stated periods, notice periods, and unambiguous calendar dates. Slash dates are not guessed, and a deadline is not created when the text gives no number or date."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "email-domain",
      "name": "Email & Domain Intelligence",
      "description": "Check email syntax, MX, SPF, DKIM, DMARC, RDAP registration, and public TLS for a domain. Mailbox existence is not tested, and no reputation score is invented.",
      "tags": [
        "Email",
        "DNS",
        "Deliverability",
        "x402"
      ],
      "examples": [
        "Check that an address is a bare email with a public domain. The mailbox is not contacted, and a valid result does not mean the address exists.",
        "Resolve a public domain and report whether nameserver, address, and MX records were found. MX presence does not mean a mailbox exists.",
        "Look up MX hosts, including a null MX, and resolve each public host. Missing records, lookup failures, and non-public hosts are reported separately. No message is sent."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "freight-customs",
      "name": "Freight & Customs",
      "description": "Read supplied invoices, packing lists, and bills of lading, cross-check quantities, weights, values, and parties, and suggest HS code candidates from the public UK Trade Tariff. No declaration is submitted.",
      "tags": [
        "Freight",
        "Customs",
        "Shipping documents",
        "x402"
      ],
      "examples": [
        "Read parties, addresses, goods lines, weights, values, and references from supplied shipment text or a text-based PDF. Fields that are not printed are left empty.",
        "Check that supplied invoice lines, quantities, and amounts agree, and that the seller, buyer, currency, and total are present. No duty is calculated.",
        "Check package counts and net and gross weights on a supplied packing list. A missing weight is not treated as zero."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cloud-finops",
      "name": "Cloud FinOps",
      "description": "Parse brainiac-billing-v1 charges, score daily cost anomalies, allocate spend, and forecast from the supplied export. No cloud account is connected.",
      "tags": [
        "FinOps",
        "Cloud cost",
        "Billing",
        "x402"
      ],
      "examples": [
        "Read brainiac-billing-v1 CSV or JSON charges. Required columns are date, service, cost, and currency. Native cloud-provider exports are rejected.",
        "Score daily totals with a sample z-score. A day is flagged when the absolute z-score is at least 3 and at least 8 days were supplied. Fewer days are not scored.",
        "Sum supplied charges by service, region, account, or a tag. When groupBy is omitted, charges are grouped by service. Currencies are not converted."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "grant-compliance",
      "name": "Grant Compliance",
      "description": "Read supplied grant guidelines, application text, budgets, and evidence. Requirements, eligibility, totals, and reporting gaps are checked only against rules and documents in the request. Nothing is marked officially approved or compliant.",
      "tags": [
        "Grants",
        "Compliance",
        "Budgets",
        "x402"
      ],
      "examples": [
        "Read Requirement lines and structured requirements. Other prose is not turned into a grant rule.",
        "Compare each supplied rule with the supplied fact of the same name. A match is not an approval, and missing facts are not filled in.",
        "Mark a requirement present only when an application section cites its id. The answer is not scored, and a complete set is not compliance."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "accessibility",
      "name": "Accessibility Intelligence",
      "description": "Check supplied HTML or one public page for images, headings, forms, links, language, keyboard signals, ARIA, and inline colour contrast. The result is not a WCAG conformance claim.",
      "tags": [
        "Accessibility",
        "HTML",
        "WCAG",
        "x402"
      ],
      "examples": [
        "Run the static image, heading, form, link, language, keyboard, ARIA, and inline-contrast checks. The result is not a WCAG conformance claim.",
        "Flag images, image inputs, and areas with no alt attribute. An empty alt is reported as a manual check, not as a confirmed failure.",
        "Read heading elements in source order and flag empty headings and skipped levels. A missing h1 is a potential issue, not a confirmed failure."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "ecommerce-catalog",
      "name": "E-commerce Catalog Intelligence",
      "description": "Normalize, validate, and review caller-supplied product catalogs from CSV, JSON, or structured records before they are published to a sales channel.",
      "tags": [
        "Catalog",
        "Products",
        "Feeds",
        "x402"
      ],
      "examples": [
        "Read a brainiac-catalog-v1 or Google Merchant subset feed and standardize sku, title, category, price, availability, and GTIN. A dollar sign is not treated as USD, and missing materials or dimensions are not filled in.",
        "Read structured attribute pairs and lines labeled Attribute: name | value. Unlabeled description prose is not turned into a specification.",
        "Group products by the supplied parent sku and flag repeated color and size pairs, price disagreements, and parents that are not in the request. Missing options are not invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "recruitment-operations",
      "name": "Recruitment Operations",
      "description": "Structure job requirements, extract resume facts, and explain candidate matches. Scores are not hiring decisions.",
      "tags": [
        "Recruitment",
        "Resumes",
        "Hiring",
        "x402"
      ],
      "examples": [
        "Read Title, Requirement, and Responsibility lines into explicit requirements. Unlabeled prose is not turned into a requirement, and a requirement counts toward a score only when it is marked required.",
        "Read Skill, Role, and Qualification lines. Personal-attribute lines and references are ignored and are not stored.",
        "Compare supplied skills, qualifications, and role dates with explicit required items. A caller alias is marked inferred. A responsibility is not marked met."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "crm-intelligence",
      "name": "CRM Data Intelligence",
      "description": "Normalize CRM exports, explain duplicate matches, and suggest cleanup steps from the records and facts supplied in the request.",
      "tags": [
        "CRM",
        "Contacts",
        "Data quality",
        "x402"
      ],
      "examples": [
        "Normalize names, emails, phone numbers, company names, and addresses from a CSV or JSON contact export. Original values stay beside the normalized values.",
        "Normalize company names, domains, phone numbers, and addresses from a CSV or JSON company export. A trailing legal suffix stays in the name and is used only as a match key.",
        "Find duplicate contacts with explainable rules and confidence levels. Different email addresses are not treated as the same person. Safe merge suggestions copy only empty fields and do not change a CRM."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "customer-support",
      "name": "Customer Support Intelligence",
      "description": "Classify supplied tickets, explain priority and duplicate matches, and draft replies from the conversation in the request.",
      "tags": [
        "Support",
        "Tickets",
        "Quality",
        "x402"
      ],
      "examples": [
        "Classify supplied tickets into billing, access, outage, defect, delivery, or account when one documented keyword list has the most matches. A caller-supplied category list replaces that set. A tie stays unclassified.",
        "Set priority from a supplied severity and from documented urgency and business-impact phrases. A ticket with none of those signals stays unspecified.",
        "Find duplicate tickets for the same email address and repeated wording across customers. Each pair names the rule and a confidence level. Tickets are not merged."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "hr-operations",
      "name": "HR Operations",
      "description": "Read supplied employee records and policies, list missing or expired documents, and build onboarding and offboarding checklists from those policies.",
      "tags": [
        "HR",
        "Employees",
        "Onboarding",
        "x402"
      ],
      "examples": [
        "Read employee records and labeled document lines supplied by the caller. Dates, roles, and document types are returned as supplied. Document numbers are masked.",
        "Compare employee records with the required fields supplied by the caller, and report an end date that falls before the start date. No legal requirement is added.",
        "Match supplied acknowledgements to supplied policies by policy id. An acknowledgement dated before the policy date is stale. This is not a compliance determination."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "data-quality",
      "name": "Data Quality Intelligence",
      "description": "Profile supplied CSV and JSON tables, point at missing cells and duplicate rows, and propose explicit normalization without changing the source.",
      "tags": [
        "Data",
        "CSV",
        "Quality",
        "x402"
      ],
      "examples": [
        "Infer a column type from the supplied CSV or JSON values. A column with more than one non-numeric type stays mixed. No value is rewritten.",
        "Count present, missing, and distinct values for each column and report the minimum and maximum of the supplied values.",
        "List the observed types in each column. A value that differs from the most common type is referenced by row and column and is not changed. A tie is not blamed on a row."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "integration",
      "name": "API Integration Intelligence",
      "description": "Validate supplied payloads against supplied contracts, map fields that exist on both sides, and apply a documented set of JSON transforms.",
      "tags": [
        "API",
        "JSON",
        "Integration",
        "x402"
      ],
      "examples": [
        "Build a schema from supplied examples. Required properties are keys present on every example. Whole numbers are integer. Additional properties stay allowed.",
        "Check a payload against a supplied schema using the documented subset. Each failure has a JSON pointer. Unsupported keywords are reported and not applied.",
        "Trim string edges and sort object keys. Types are not changed, fields are not removed, and each change is listed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "security-configuration",
      "name": "Cybersecurity Configuration Intelligence",
      "description": "Read security headers, TLS, cookies, CORS, and CSP from a public URL or from configuration supplied by the caller. Listed paths are the only extra resources requested.",
      "tags": [
        "Security",
        "Headers",
        "TLS",
        "x402"
      ],
      "examples": [
        "Read security headers from a public URL or from headers supplied by the caller. A missing header is a confirmed gap only when the response was available. This does not show that the site is secure.",
        "Read the certificate from one public HTTPS request, or from certificate fields supplied by the caller. An old protocol, an expired certificate, a name mismatch, or an untrusted certificate is confirmed. This does not show that the site is secure.",
        "Check Secure, HttpOnly, and SameSite on Set-Cookie headers from one public response or from cookie lines supplied by the caller. Cookie values are not returned."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "privacy-operations",
      "name": "Privacy Operations",
      "description": "Read supplied privacy policies, notices, and records, list stated categories and retention periods, and point at missing or inconsistent fields.",
      "tags": [
        "Privacy",
        "Records",
        "Notices",
        "x402"
      ],
      "examples": [
        "List headings and Section lines in a supplied policy and compare them with the sections the caller marks as required. Headings are still listed when a required section is absent. A missing section is a gap in the document, not a legal conclusion.",
        "Copy categories, purposes, stated legal bases, and retention periods from Category fields. Prose is not mined for categories, and a stated basis is not assessed.",
        "Read retention periods stated by the caller. A period counts only as days, months, years, account lifetime, or until deletion. Months are not converted to days, and no statutory period is invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "social-content",
      "name": "Social Media Content Intelligence",
      "description": "Read supplied posts, comments, and analytics exports, calculate engagement from those numbers, and organize the supplied text.",
      "tags": [
        "Social",
        "Content",
        "Engagement",
        "x402"
      ],
      "examples": [
        "Calculate engagement and an engagement rate from supplied impressions, likes, comments, shares, and saves. A missing count is left out, and no rate is calculated without impressions. Equal rates keep the caller's input order.",
        "Place supplied posts on a caller-supplied window. Dated posts stay on their date. Undated posts fill empty days in input order. No caption is written and nothing is scheduled.",
        "Shorten supplied text to a documented character limit only when the caller names a target platform. No words are added and nothing is published."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "ecommerce-fraud",
      "name": "E-commerce Fraud & Order Risk",
      "description": "Read a supplied order history, compare patterns across those orders, and separate indicators from confirmed fraud.",
      "tags": [
        "Ecommerce",
        "Orders",
        "Risk",
        "x402"
      ],
      "examples": [
        "Compare supplied amounts with a Tukey fence when 8 orders share a currency, and with a customer's own median when that customer has at least four amounts. A new address counts only after earlier orders. One signal is an indicator, not confirmed fraud.",
        "Group supplied card fingerprints. Three or more declines on one fingerprint, or three or more cards for one customer, are indicators. A small-amount rule is used only when the caller supplies it. No payment is retried.",
        "Flag a shipping address only when it appears on at least three supplied orders. Combined quantity is compared with a caller rule across those orders. One large order is not a bulk pattern."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "marketplace-health",
      "name": "Marketplace Account Health",
      "description": "Read supplied seller notices, performance figures, and hold records, and point at missing evidence without predicting an appeal.",
      "tags": [
        "Marketplace",
        "Seller",
        "Holds",
        "x402"
      ],
      "examples": [
        "Copy the reason, deadline, and requested action from labeled Notice fields. Prose is not mined for a reason, and no response window is added when the deadline is blank.",
        "Compare a supplied metric with a supplied target only when the caller also says whether higher or lower is better. No marketplace threshold is invented, and a miss is not a suspension.",
        "Read the amount, currency, date, and reason stated on a hold. The hold is not removed and the record is not treated as a release."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "brand-protection",
      "name": "Brand Protection",
      "description": "Read supplied listings, reference products, and images, and organize evidence without deciding infringement.",
      "tags": [
        "Brand",
        "Listings",
        "Images",
        "x402"
      ],
      "examples": [
        "Find a supplied brand name only when it is the listing brand field or a whole name in the title, description, or public page title. A partial overlap is not matched, and a name match is not a trademark determination.",
        "Compare a listing with one linked reference product and report brand, price, and stated-word differences. A signal is not a finding that the listing is counterfeit.",
        "Decode the supplied reference and listing images and compare their pixels. Images that cannot be decoded are not compared, and a visual match is not proof of counterfeiting."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "returns-delivery",
      "name": "Returns & Delivery Intelligence",
      "description": "Read supplied orders, addresses, carrier events, and return rates, and calculate only the comparisons those records support.",
      "tags": [
        "Returns",
        "Delivery",
        "Shipping",
        "x402"
      ],
      "examples": [
        "Classify a supplied carrier code or order status only when it matches a documented token. Any other code stays unrecognized, and no tracking scan is added.",
        "Group supplied failed, undeliverable, refused, or returned orders by postcode, address, or carrier. A pattern needs at least three orders. One failure is not a carrier finding.",
        "Check that the supplied lines, city, postcode, and country are present, and compare a postcode with a published shape for nine country codes. The check does not confirm that a carrier can deliver."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "property-maintenance",
      "name": "Property Maintenance",
      "description": "Read supplied repair requests, quotes, and invoices, and flag safety keywords for a person without calling a property safe.",
      "tags": [
        "Property",
        "Maintenance",
        "Quotes",
        "x402"
      ],
      "examples": [
        "Classify a stated type only from an explicit token, and flag a documented safety keyword for a person to review. An unrecognized word is left unrecognized.",
        "Apply a fixed order: a safety keyword, then a stated emergency, urgent, or routine urgency. A missing urgency is not treated as routine, and the result is not a safety verdict.",
        "Write a draft from the stated property, type, issue, and contractor name. The draft is not sent and no contractor is dispatched."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "rental-operations",
      "name": "Rental Operations",
      "description": "Read supplied tenancy documents, payment evidence, and inventory records without treating them as cleared funds or legal advice.",
      "tags": [
        "Rental",
        "Tenancy",
        "Move-in",
        "x402"
      ],
      "examples": [
        "Compare supplied move-in items with the items the caller marks as required. A pending item is not counted as present, and a complete list does not mean the handover was done.",
        "Compare deposit evidence with the expected amount, currency, and reference. A matching screenshot is still not treated as cleared funds.",
        "Compare first-rent evidence with the expected amount, currency, and reference. A payment instruction is not treated as cleared funds."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "wordpress-fleet",
      "name": "WordPress Fleet Intelligence",
      "description": "Read supplied WordPress site inventories and compare plugin and theme versions with public release metadata without logging into sites.",
      "tags": [
        "WordPress",
        "Agency",
        "Plugins",
        "x402"
      ],
      "examples": [
        "Copy supplied sites, plugins, and themes into a consistent inventory. Counts come from the request only. No site is logged into.",
        "Compare installed plugin versions with caller-supplied or WordPress.org public releases. An older version is a version-age warning. A vulnerability is listed only when the caller supplied it.",
        "Compare installed theme versions with caller-supplied or WordPress.org public releases. An older version is a version-age warning, not a confirmed vulnerability."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "conversion-intelligence",
      "name": "Website Conversion Intelligence",
      "description": "Read supplied analytics exports and funnel counts to measure drop-offs, tracking gaps, and segment differences without accessing analytics accounts.",
      "tags": [
        "Conversion",
        "Analytics",
        "Marketing",
        "x402"
      ],
      "examples": [
        "Calculate stage-to-stage conversion rates and drop-offs from supplied funnel counts. Missing counts are not filled in, and a drop-off is not treated as a proven cause.",
        "Rank supplied pages by measured exit rate from views and exits. Rates use only caller counts and do not claim why visitors left.",
        "Audit supplied cart, checkout, payment, and purchase stage counts. The largest measured drop-off is reported without inventing missing steps."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "local-lead-operations",
      "name": "Local Business Lead Operations",
      "description": "Read supplied lead exports, call logs, and quote records to spot unanswered enquiries and prioritize follow-ups without accessing a CRM.",
      "tags": [
        "Leads",
        "Local business",
        "Trades",
        "x402"
      ],
      "examples": [
        "Copy supplied leads, calls, quotes, responses, and enquiries into a consistent inventory. Counts come from the request only. No CRM account is accessed.",
        "Identify missed calls and whether a later response was recorded for the same lead. Delays use supplied timestamps only.",
        "Calculate hours from enquiry received time to the first recorded response. Overdue uses the disclosed hour limit and does not claim conversion."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "appointment-intelligence",
      "name": "Appointment Intelligence",
      "description": "Read supplied appointment histories and schedule exports to measure no-shows, cancellations, and utilization without sending reminders or changing bookings.",
      "tags": [
        "Appointments",
        "Scheduling",
        "Clinics",
        "x402"
      ],
      "examples": [
        "Copy supplied appointments, slots, and providers into a consistent inventory with status kinds and durations. Protected attributes are not accepted. No booking is modified.",
        "Calculate no-show rates by weekday, hour, and repeat client id from supplied history. Small samples are disclosed. Attendance is not predicted from protected attributes.",
        "Find cancellations, short-notice lead times, and weekday patterns from supplied timestamps. Small samples are disclosed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "inventory-intelligence",
      "name": "Inventory Intelligence",
      "description": "Read supplied sales, stock, and lead-time records to calculate reorder points, safety stock, and demand forecasts without creating purchase orders.",
      "tags": [
        "Inventory",
        "Retail",
        "Wholesale",
        "x402"
      ],
      "examples": [
        "Copy supplied products, sales, supplier lead times, and purchases into a consistent inventory packet. Missing lead times and prices are not invented.",
        "Compare available stock with the calculated reorder point from supplied demand and lead times. Risk is not calculated when lead time or demand history is missing.",
        "Calculate reorderPoint = averageDailyDemand × (leadTimeDays + reviewDays) + safetyStock from supplied history and lead times. No purchase order is created."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "manufacturing-quality",
      "name": "Manufacturing Quality",
      "description": "Read supplied inspection records, measurements, and quality standards to calculate defect rates and assemble nonconformance evidence without inventing tolerances.",
      "tags": [
        "Manufacturing",
        "Quality",
        "NCR",
        "x402"
      ],
      "examples": [
        "Copy supplied inspections, measurements, batches, and standards into a consistent packet with pass/fail outcomes. Tolerances are not invented.",
        "Classify failed inspections with transparent token rules such as dimensional, surface, assembly, material, or functional. Classification is not a certification.",
        "Calculate defect rate from decided pass/fail inspections and compare it with an explicitly supplied threshold. Small samples are disclosed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "restaurant-operations",
      "name": "Restaurant Operations Intelligence",
      "description": "Read supplied recipes, supplier prices, sales, and allergen flags to calculate food cost and menu profitability without inventing nutrition or compliance claims.",
      "tags": [
        "Restaurant",
        "Food cost",
        "Menu",
        "x402"
      ],
      "examples": [
        "Calculate recipe and per-portion cost from supplied ingredient quantities and prices after unit conversion. Missing prices are not invented.",
        "Calculate gross margin and food-cost percentage from supplied sell prices and calculated recipe costs. Nutritional values are not invented.",
        "Compare supplied supplier prices for the same ingredient after unit conversion and report spreads and dated changes. Prices are never invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "construction-site-operations",
      "name": "Construction Site Operations",
      "description": "Read supplied daily reports, schedules, RFIs, instructions, and deliveries to organize site evidence and label schedule deviations without deciding entitlement.",
      "tags": [
        "Construction",
        "Site",
        "RFI",
        "x402"
      ],
      "examples": [
        "Copy supplied daily reports into structured rows with dates, locations, authors, workforce, and referenced activities. Delay wording is flagged as recorded narrative only.",
        "Compare supplied baseline and actual activity dates to identify schedule deviations. Inferred impact is labeled and is not an entitlement determination.",
        "Collect recorded delay rows and daily-report delay wording, and separately label impacts inferred from baseline versus actual dates. Liability is not determined."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "building-energy",
      "name": "Building Energy & Facilities Intelligence",
      "description": "Read supplied meter readings, bills, tariffs, equipment history, and occupancy to flag unusual usage and maintenance needs without inventing tariffs or savings.",
      "tags": [
        "Energy",
        "Facilities",
        "HVAC",
        "x402"
      ],
      "examples": [
        "Calculate interval consumption and tariff-based cost from supplied meter readings and rates. Missing tariffs are not invented.",
        "Flag unusual daily usage against a baseline calculated from supplied intervals and explain the comparison method.",
        "Compare supplied HVAC efficiency and temperature readings with rated values. Equipment is never controlled and performance is not invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "payment-intelligence",
      "name": "Open Banking & Payment Intelligence",
      "description": "Classify supplied transactions, detect recurring spend and subscriptions, resolve merchants, and summarize cashflow quality without connecting to a bank.",
      "tags": [
        "Payments",
        "Transactions",
        "Cashflow",
        "x402"
      ],
      "examples": [
        "Classify supplied transactions using description, merchant, category, and amount-sign hints. No bank connection is used.",
        "Detect repeating merchant and amount patterns from supplied transaction dates. Cadence is labeled from spacing only.",
        "Identify subscription candidates from recurring cadence and subscription wording in supplied merchants or descriptions."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "macro-intelligence",
      "name": "Global Financial Markets & Macro Intelligence",
      "description": "Compare central-bank rates, yield curves, inflation, releases, debt maturity and macro events from supplied public-format series, with optional key-free World Bank pulls.",
      "tags": [
        "Macro",
        "Rates",
        "Inflation",
        "x402"
      ],
      "examples": [
        "Compare supplied policy rates across countries and banks. Missing previous rates leave change blank rather than inventing values.",
        "Analyze supplied sovereign yield tenors for slope, curvature, and curve shape without inventing missing points.",
        "Compare supplied CPI or inflation observations by country using the latest and previous points only."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "trade-finance",
      "name": "Trade Finance & Receivables Intelligence",
      "description": "Match trade documents, detect LC discrepancies, age receivables, flag assignment conflicts, and calculate discounting and exposure from supplied invoices and contracts.",
      "tags": [
        "Trade",
        "Receivables",
        "Letters of Credit",
        "x402"
      ],
      "examples": [
        "Match supplied invoices to contracts, letters of credit, and trade documents by id, amount, and parties without inventing missing links.",
        "Compare supplied LC terms with linked invoices and documents. Missing required document types are flagged only from the LC list.",
        "Score supplied invoices for completeness of identifiers, amounts, parties, and dates. This is not a financing approval."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "corporate-intelligence",
      "name": "Corporate Ownership, Sanctions & Investigation",
      "description": "Normalize registry records, map ownership chains, resolve name variants, and compare sanctions or enforcement lists from supplied public-format records without treating uncertain matches as confirmed.",
      "tags": [
        "Corporate",
        "Sanctions",
        "Ownership",
        "Investigation",
        "x402"
      ],
      "examples": [
        "Normalize supplied company registry fields and legal-name tokens. Missing identifiers stay blank rather than invented.",
        "Compare supplied company records by registry number, LEI, and normalized names. Possible matches are never treated as confirmed.",
        "Group supplied director appointments by company into a chronological history without inventing missing dates."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "evidence-intelligence",
      "name": "OSINT & Digital Evidence Forensics",
      "description": "Hash uploaded evidence, extract local metadata, check C2PA markers, build custody chains, cluster duplicates, and report cryptographic integrity without claiming factual authenticity.",
      "tags": [
        "Evidence",
        "Forensics",
        "OSINT",
        "C2PA",
        "x402"
      ],
      "examples": [
        "Hash uploaded evidence bytes locally with md5, sha1, sha256, and sha512. Hash matches verify cryptographic integrity only, not factual authenticity.",
        "Extract container metadata from uploaded files locally. Missing EXIF or GPS fields are not invented.",
        "Look for local C2PA/JUMBF markers in uploaded bytes. Marker presence is not a factual authenticity determination."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "news-intelligence",
      "name": "News Verification & Information Intelligence",
      "description": "Trace original sources, cluster syndication, extract and match claims, build event timelines, and flag contradictions from supplied articles or public RSS—without treating repeats as independent confirmation.",
      "tags": [
        "News",
        "Verification",
        "OSINT",
        "x402"
      ],
      "examples": [
        "Cluster similar articles and identify the earliest published item. Later reprints are not treated as independent confirmation.",
        "Group near-duplicate titles and bodies into syndication clusters without counting repeats as confirmation.",
        "Extract claim-like sentences and quotes from supplied article text using local heuristics."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "public-records",
      "name": "Public Records, Crime & Regulatory Intelligence",
      "description": "Normalize court and enforcement records, compare public crime statistics, cluster incidents, extract police notices, and cross-reference subjects—while distinguishing allegations, charges, and judgments and never inferring guilt.",
      "tags": [
        "Public Records",
        "Courts",
        "Crime",
        "Regulatory",
        "x402"
      ],
      "examples": [
        "Normalize supplied court records and label allegation, investigation, charge, and judgment statuses separately. Guilt is never inferred.",
        "Group supplied court records by case number into dated timelines. Non-judgment steps are not treated as guilt.",
        "List supplied regulatory enforcement actions with explicit status labels. Investigations are not treated as guilt."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "document-trust",
      "name": "Electronic Signature & Document Trust",
      "description": "Locally verify PDF signature structure, certificate chains, timestamps, tamper evidence, coverage, revocation lists, multi-signer audits, and evidence bundles—while distinguishing technical verification from legal enforceability.",
      "tags": [
        "Document Trust",
        "Electronic Signature",
        "PDF",
        "Certificates",
        "x402"
      ],
      "examples": [
        "Inspect PDF /Sig dictionaries and optional detached signatures locally. Technical verification is not legal enforceability.",
        "Parse supplied X.509 certificates and check validity windows and issuer links locally. Not a legal trust determination.",
        "Check PDF /M timestamps and caller-supplied signer signedAt values against asOf and optional certificate windows."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "electricity-market",
      "name": "Electricity Market & Grid Intelligence",
      "description": "Normalize electricity prices, compare markets, analyze demand and carbon intensity, reconcile tariffs, calculate peak-demand charges, measure volatility, report renewable forecasts, and summarize outage and exposure data—using caller records and key-free public datasets only.",
      "tags": [
        "Electricity",
        "Grid",
        "Energy Markets",
        "Carbon Intensity",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied electricity market prices with explicit units and timestamps. Missing prices are not invented.",
        "Compare average and latest electricity prices across supplied markets or regions. Missing values are not invented.",
        "Analyze supplied demand observations for average, peak, minimum, and load factor by region. Missing megawatts are not invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "electrical-engineering",
      "name": "Electrical Engineering & Installation Intelligence",
      "description": "Run deterministic load schedules, phase balance, voltage drop, cable sizing, breaker checks, transformer capacity, power-factor correction, generator sizing, EV charger capacity, and design-document audits from caller-supplied parameters—without inventing electrical standards.",
      "tags": [
        "Electrical Engineering",
        "Installation",
        "Power Systems",
        "x402"
      ],
      "examples": [
        "Calculate kW, kVA, and current for caller-supplied loads using supplied voltage and power factor. Missing values are not invented.",
        "Compare phase-leg currents from supplied loads and report imbalance percentage. Optional caller rule thresholds are compared when provided.",
        "Calculate voltage drop from supplied cable resistance/reactance, length, and load current. Cable tables are not invented."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "solar-battery",
      "name": "Solar, Battery & Distributed Energy Intelligence",
      "description": "Detect solar generation deviations, estimate panel degradation and battery SOH, classify inverter faults from supplied logs, check warranty thresholds, calculate round-trip efficiency and self-consumption, and compare distributed energy assets—using caller-supplied telemetry only.",
      "tags": [
        "Solar",
        "Battery",
        "Distributed Energy",
        "Storage",
        "x402"
      ],
      "examples": [
        "Compare supplied solar generation kWh to expected kWh and flag deviations. Missing expected values are not invented.",
        "Estimate panel degradation from supplied nameplate/prior and measured capacity over time. Missing baselines are not invented.",
        "Classify supplied inverter log events using a caller fault map or keyword signals in supplied messages. Cloud catalogs are not queried."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "robotics-intelligence",
      "name": "Industrial Robotics & Automation Intelligence",
      "description": "Parse ROS bag topic exports, compare ROS topic schemas, detect telemetry anomalies, analyze cycle time and downtime causes, normalize OPC UA tag maps, cluster PLC alarms, estimate maintenance intervals, check industrial protocol compatibility, and build workcell performance reports—using caller-supplied files only.",
      "tags": [
        "Robotics",
        "Automation",
        "ROS",
        "OPC UA",
        "PLC",
        "x402"
      ],
      "examples": [
        "Parse caller-supplied ROS bag topic CSV/JSON exports into labeled telemetry samples. Binary .bag/.mcap files are not fully decoded and live robots are not contacted.",
        "Compare caller-supplied left/right ROS topic message types and fields. Missing schemas are not invented.",
        "Flag caller-supplied telemetry samples whose z-score is outside ±3 of the supplied series mean. Live equipment is not contacted."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "space-intelligence",
      "name": "Space & Satellite Intelligence",
      "description": "Predict satellite passes, detect orbit changes, screen conjunctions, compare earth-observation metadata, assess cloud cover and image quality, extract imagery license metadata, analyze launch-window weather, compare space-object catalogs, and build observation evidence reports—using caller-supplied records plus optional key-free CelesTrak GP and Open-Meteo data.",
      "tags": [
        "Space",
        "Satellite",
        "Orbit",
        "Earth Observation",
        "CelesTrak",
        "x402"
      ],
      "examples": [
        "Predict approximate satellite passes over caller-supplied observers from TLEs (or optional key-free CelesTrak GP). Uses simplified Keplerian propagation; communicate orbital uncertainty and TLE freshness.",
        "Compare before/after TLE mean elements for inclination, RAAN, mean motion, and apogee/perigee deltas. Maneuver confirmation is not claimed.",
        "Screen approximate miss distances between caller-supplied TLEs over a horizon. Not a covariance-based conjunction assessment."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "maritime-intelligence",
      "name": "Maritime & Shipping Intelligence",
      "description": "Normalize vessel identities, detect AIS track gaps and route deviations, analyze port congestion, estimate ETAs, calculate demurrage, screen sanctions signals, reconcile cargo events, normalize ownership history, and build voyage risk reports—using caller-supplied AIS/shipping records plus optional key-free OFAC SDN data.",
      "tags": [
        "Maritime",
        "Shipping",
        "AIS",
        "Ports",
        "Voyage",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied vessel name, IMO, MMSI, call sign, flag, owner, and operator fields. Validates IMO checksum when an IMO is supplied. Paid AIS coverage is not used.",
        "Detect time gaps and implied speeds between caller-supplied AIS points. Global real-time AIS coverage is not claimed.",
        "Compare caller-supplied AIS points to planned waypoints and flag points beyond a distance threshold."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "aviation-intelligence",
      "name": "Aviation & Airport Operations Intelligence",
      "description": "Normalize flight schedules, analyze delay patterns, calculate connection risk, track diversions, look up aircraft registrations, parse maintenance logs, check document expiry, estimate flight emissions, analyze airport ground time, and build operations reports—using caller-supplied operational data plus optional key-free OpenSky aircraft metadata.",
      "tags": [
        "Aviation",
        "Airport",
        "Flights",
        "Aircraft",
        "Operations",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied flight schedule fields and compute delay/block times when actual times are present. Paid flight tracking is not used.",
        "Aggregate delay statistics by flight number/route from caller-supplied scheduled and actual times.",
        "Calculate connection slack and risk from inbound/outbound caller-supplied flight times and minimum connect minutes."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "insurance-intelligence",
      "name": "Insurance Underwriting & Policy Intelligence",
      "description": "Normalize insurance policies, compare limits and exclusions, extract deductibles, detect renewal and premium changes, find coverage gaps versus contract requirements, normalize loss runs, check underwriting evidence completeness, and compare insurance programs—using caller-uploaded documents processed locally only.",
      "tags": [
        "Insurance",
        "Underwriting",
        "Policy",
        "Coverage",
        "Loss Runs",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied or locally extracted policy identity, term, and premium fields. Preliminary document analysis only—not coverage confirmation.",
        "Compare caller-supplied left/right or prior/renewal coverage limits. Not a coverage determination.",
        "Compare caller-supplied exclusion schedules across prior/renewal or left/right sides. Preliminary text matching only."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "environmental-intelligence",
      "name": "Environmental, Carbon & Water Intelligence",
      "description": "Normalize emission factors with source/version/timestamp provenance, calculate Scope 1–2 emissions, validate Scope 3 supplier data, check carbon-report consistency, detect water anomalies, calculate water intensity, check permit expiry, reconcile waste manifests, and build environmental evidence reports—using caller-supplied operational records plus optional key-free Carbon Intensity API and disclosed public-style factors.",
      "tags": [
        "Environment",
        "Carbon",
        "Water",
        "Emissions",
        "ESG Ops",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied emission factors with source, version, and asOf provenance. Disclosed public-style DEFRA/eGRID references may be listed when no factors are supplied. No paid ESG database.",
        "Calculate Scope 1 emissions from caller-supplied activity quantities and emission factors (or disclosed public-style factors when unmatched). Factor source, version, and asOf are echoed.",
        "Calculate Scope 2 emissions from electricity activities and caller factors, disclosed public-style grid factors, or optional key-free Carbon Intensity API intensity."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "agriculture-intelligence",
      "name": "Agriculture & Commodity Intelligence",
      "description": "Analyze crop weather exposure, validate crop calendars, estimate yields, normalize commodity prices, analyze price spreads, calculate fertilizer cost per hectare, compare input costs, validate grain quality specs, check crop insurance evidence, and build market-risk reports—using caller-supplied agricultural data plus optional key-free Open-Meteo weather and World Bank Open Data.",
      "tags": [
        "Agriculture",
        "Commodity",
        "Crops",
        "Weather",
        "Grain",
        "x402"
      ],
      "examples": [
        "Analyze frost, drought, and excess-rain exposure from caller-supplied weather series or optional key-free Open-Meteo daily forecasts. No paid commodity feed.",
        "Validate planting/harvest/stage events against caller-supplied calendar windows. Not a regulatory planting determination.",
        "Estimate total yield from caller-supplied hectares and expected/historical yield-per-hectare rates, with optional weather stress factors."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "network-intelligence",
      "name": "Telecom & Network Infrastructure Intelligence",
      "description": "Normalize network logs, detect latency anomalies, analyze packet loss, diagnose DNS resolution, analyze BGP route changes, inventory TLS certificate expiry, diff configurations, check caller-supplied IP reputation labels, build incident timelines, and produce infrastructure health reports—using caller-supplied telemetry plus optional key-free public DNS and public TLS port-443 inspection.",
      "tags": [
        "Telecom",
        "Network",
        "DNS",
        "BGP",
        "TLS",
        "x402"
      ],
      "examples": [
        "Normalize caller-supplied network/syslog rows. Private addresses in caller data are retained but never contacted.",
        "Detect anomalous latency using z-scores on caller-supplied path samples. No active probing of private networks.",
        "Analyze caller-supplied packet-loss percent or sent/lost counts against a warning threshold."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "security-signals",
      "name": "Security Signal Intelligence",
      "description": "Correlate security events, detect weak signals and attack sequences, surface insider-threat, privilege-escalation, lateral-movement, account-takeover, credential-abuse, and brute-force patterns, and score severity—using caller-supplied JSON events and logs with local explainable rules only.",
      "tags": [
        "Security",
        "SIEM",
        "Detection",
        "Threat Signals",
        "x402"
      ],
      "examples": [
        "Correlate caller-supplied security events into related incident groups using time windows and shared actor/host/IP links. Observed grouping only—not a confirmed attack.",
        "Identify early suspicious-activity indicators from caller-supplied events. Weak signals are hypotheses with explicit confidence—not confirmed attacks.",
        "Detect caller-supplied event sequences that match local attack-pattern rules. Matches are inferred patterns, not confirmed compromises."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "email-security",
      "name": "Email & Communication Security",
      "description": "Analyze email headers, detect spoofing and phishing signals, surface BEC patterns, check brand-domain impersonation, analyze URL redirect chains, inspect attachment risk structures, and compare conversation copies—using caller-supplied EML/headers/attachments plus optional public DNS and SSRF-safe URL follows.",
      "tags": [
        "Email",
        "Phishing",
        "BEC",
        "Security",
        "x402"
      ],
      "examples": [
        "Analyze caller-supplied email headers for routing hops and suspicious inconsistencies (From/Return-Path/Reply-To, auth results, dates). Indicators only—not confirmed malice.",
        "Detect sender spoofing indicators from supplied SPF/DKIM/DMARC authentication results and optional public DNS TXT evidence. Not a confirmed spoof verdict without multi-signal evidence.",
        "Identify phishing indicators in caller-supplied email content and URLs (urgency phrases, lookalike hosts, IP URLs, password forms). Indicators are not confirmed malicious activity."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "identity-security",
      "name": "Identity & Access Security",
      "description": "Analyze abnormal authentication patterns, impossible travel, session-hijacking signals, MFA fatigue, account sharing, access-policy conflicts, dormant-account risk, and service-account anomalies—using caller-supplied auth logs, access events, and policy exports with local time/geo/behavioural rules only.",
      "tags": [
        "Identity",
        "Access",
        "MFA",
        "IAM",
        "Security",
        "x402"
      ],
      "examples": [
        "Identify abnormal authentication patterns from caller-supplied logs using local time-window correlation. VPN/proxy/shared-network labels reduce confidence. Never proof of compromise from a single login.",
        "Detect geographically inconsistent logins from supplied timestamps and locations. Accounts for VPN/proxy/shared networks and legitimate-travel labels; a single unusual pair is not proof of compromise.",
        "Identify suspicious session changes and reuse patterns from caller-supplied session, device, IP, and user-agent fields. Indicators only—not confirmed hijacking."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "fraud-signals",
      "name": "Fraud & Transaction Security",
      "description": "Detect payment-fraud patterns, transaction velocity anomalies, synthetic-identity inconsistencies, invoice-fraud signals, supplier bank-change risk, refund abuse, chargeback patterns, and multi-account clusters—using caller-supplied payments, invoices, and identity records with local explainable rules only.",
      "tags": [
        "Fraud",
        "Payments",
        "Invoices",
        "Chargebacks",
        "Security",
        "x402"
      ],
      "examples": [
        "Detect suspicious combinations of caller-supplied payment events (declines-then-success, instrument churn, billing/shipping mismatch). Anomalies are not confirmed fraud.",
        "Identify abnormal transaction frequency and amount velocity from caller-supplied histories. Velocity spikes alone are never labeled confirmed fraud.",
        "Identify inconsistencies in caller-supplied identity records (sparse profiles, age/postal mismatches, shared contacts). Personal data is masked in responses."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "physical-security",
      "name": "Physical & IoT Security",
      "description": "Detect sensor anomalies, unusual door-access and tailgating signals, perimeter-breach and camera-tampering indicators, correlate multi-sensor alarms, analyze IoT device behaviour, and build building-security timelines—using caller-supplied event logs and telemetry with local temporal rules only.",
      "tags": [
        "Physical Security",
        "IoT",
        "Access Control",
        "Cameras",
        "Alarms",
        "x402"
      ],
      "examples": [
        "Detect anomalies in caller-supplied sensor telemetry using thresholds, baselines, and local standard-deviation rules. Anomalies are not confirmed physical incidents.",
        "Identify unusual access patterns from caller-supplied door-entry logs (denials, forced doors, held-open, after-hours). Not a confirmed intrusion.",
        "Identify possible tailgating using caller-supplied access grants correlated with nearby motion/occupancy or unbadged second passages. Not visually confirmed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "code",
      "name": "Source Maintainability Index",
      "description": "Score caller-supplied JavaScript, TypeScript, Python, or Go, or a caller-supplied AST, for cyclomatic complexity, cognitive load, nesting depth, and structural duplication. The snippet is parsed in memory and is not executed or stored.",
      "tags": [
        "Code",
        "Maintainability",
        "Complexity",
        "x402"
      ],
      "examples": [
        "Build a structural AST from a caller-supplied JavaScript, TypeScript, Python, or Go snippet, or from a caller-supplied AST, and score cyclomatic complexity, cognitive load, nesting depth, and duplicated function structure. The snippet is not executed or stored."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "fintech",
      "name": "Financial Schedule Stress",
      "description": "Stress-test caller-supplied loan payments, cashflow streams, interest rates, and payout milestones. Inflows are delayed by 7, 14, and 30 days while contractual outflows stay on their dates. The calculation is in memory and is not a lending decision.",
      "tags": [
        "Fintech",
        "Cashflow",
        "Loans",
        "Stress Test",
        "x402"
      ],
      "examples": [
        "Stress-test a caller-supplied loan schedule, cashflow stream, and payout list. Inflows move 7, 14, and 30 days later, outflows stay on their dates, and financing cost uses the supplied annual rate. The math stays in memory. This is not a credit decision."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "devops",
      "name": "Infrastructure Config Hardening",
      "description": "Grade caller-supplied Dockerfiles, Kubernetes YAML, and Terraform JSON against baseline checks for root users, exposed ports, missing resource limits, and insecure defaults. The file is parsed in memory and is not applied or stored.",
      "tags": [
        "DevOps",
        "Docker",
        "Kubernetes",
        "Terraform",
        "x402"
      ],
      "examples": [
        "Grade a caller-supplied Dockerfile, Kubernetes YAML document, or Terraform JSON file for root execution, exposed ports, missing resource limits, and insecure defaults. Parsing stays in memory. The file is not applied, fetched, or stored."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "security",
      "name": "Payload Anomaly Scoring",
      "description": "Score caller-supplied JSON and text for structural depth, type confusion, injection-shaped strings, and size inflation. The payload stays in memory for the request and is not executed or stored.",
      "tags": [
        "Security",
        "Input Safety",
        "Anomaly",
        "x402"
      ],
      "examples": [
        "Score a caller-supplied JSON value or text string for nesting depth, mixed types, injection-shaped text, and size inflation. Matching is local and deterministic. The payload is not executed, fetched, or stored."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "file-security",
      "name": "Malware & File Threat Intelligence",
      "description": "Extract behaviour indicators, cluster artifacts, analyze executable metadata, detect macro/document risk, extension mismatches, suspicious script patterns, archive payload risks, and IoCs—using local static parsing of caller-supplied files and analysis reports only.",
      "tags": [
        "Malware",
        "File Security",
        "IoC",
        "Static Analysis",
        "Archives",
        "x402"
      ],
      "examples": [
        "Extract suspicious behaviour indicators from caller-supplied analysis reports/text using local static pattern matching. Files are never executed. Absence of matches is not a malware-free verdict.",
        "Group caller-supplied files/artifacts by identical hashes and structural similarity (magic/extension/size). Clustering is not family attribution or confirmed malware.",
        "Analyze PE/ELF/Mach-O metadata and structural properties from caller-supplied bytes. Static only—files are never executed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "threat-intelligence",
      "name": "Threat Intelligence & Public Signals",
      "description": "Aggregate verified key-free public threat feeds, enrich IoCs, analyze domain history, cluster certificate and phishing infrastructure, detect typosquats, review exposed-service inventory, and score indicator confidence—without API keys, paid providers, or intrusive scanning.",
      "tags": [
        "Threat Intelligence",
        "IoC",
        "Phishing",
        "Certificates",
        "DNS",
        "x402"
      ],
      "examples": [
        "Aggregate caller-supplied and verified key-free public threat feeds (CISA KEV, OpenPhish, capped PhishTank). URLhaus/ThreatFox require auth and are not queried. Feed hits are not confirmed malice.",
        "Enrich supplied IPs, domains, URLs, and hashes using caller context plus optional public DNS/feeds. A single weak feed hit is never classified as malicious.",
        "Analyze publicly accessible domain history and DNS/RDAP context from caller fields and optional key-free public lookups. History attributes alone are not malice."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "ad-fraud",
      "name": "Ad Fraud Intelligence",
      "description": "Check caller-supplied ad clicks for automation signals, browser and device contradictions, timing, duplicate ids, velocity, referrer mismatch, fingerprint similarity, conversion disagreements, campaign outliers, repeated patterns, and an explainable risk score. All checks run locally on the request.",
      "tags": [
        "Ad fraud",
        "Clicks",
        "Campaigns",
        "x402"
      ],
      "examples": [
        "Look for automation indicators in caller-supplied HTTP and browser signals. An IP address is ignored. A User-Agent token is a string match, not proof of a bot.",
        "Compare caller-supplied browser properties for contradictions. The User-Agent is not verified, and a timezone offset is not a location.",
        "Compare caller-supplied device type, OS, model, screen, and architecture. No device identity is looked up."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "food-safety",
      "name": "Food Hygiene Ratings",
      "description": "Search UK food businesses and read hygiene ratings, business details, and local authority lists from the Food Standards Agency Food Hygiene Rating Scheme.",
      "tags": [
        "Food hygiene",
        "FSA",
        "UK",
        "x402"
      ],
      "examples": [
        "Search UK food businesses by name, location, postcode, or hygiene rating using the Food Standards Agency Food Hygiene Rating Scheme API.",
        "Retrieve detailed information for a specific food business by its FSA FHRSID from the Food Standards Agency Food Hygiene Rating Scheme API.",
        "Retrieve details for multiple food businesses in a single batch request using the Food Standards Agency Food Hygiene Rating Scheme API."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "regulatory-intelligence",
      "name": "Regulatory Intelligence",
      "description": "Look up UK legislation records and search US Federal Register documents, agencies, and effective dates.",
      "tags": [
        "Legislation",
        "Federal Register",
        "UK",
        "US",
        "x402"
      ],
      "examples": [
        "Search UK legislation by keyword, document type, year, and jurisdiction. Note: legislation.gov.uk does not provide a public JSON search API. This endpoint has limited functionality.",
        "Retrieve UK legislation details, publication dates, commencement information, and amendment metadata from legislation.gov.uk XML data.",
        "Search US Federal Register documents by keyword, agency, document type, and publication date using the official federalregister.gov API."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "energy-intelligence",
      "name": "Energy Intelligence",
      "description": "Read Great Britain electricity carbon intensity, regional figures, generation mix, and forecasts from the Carbon Intensity API.",
      "tags": [
        "Carbon intensity",
        "Electricity",
        "GB",
        "x402"
      ],
      "examples": [
        "Retrieve current GB electricity carbon intensity from the Carbon Intensity API. Supports optional regional filtering.",
        "Retrieve historical or forecast carbon intensity data for a specific time period from the Carbon Intensity API. Supports regional filtering.",
        "Retrieve carbon intensity data for all GB regions or a specific region from the Carbon Intensity API. Includes generation mix information."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "fx",
      "name": "Exchange Rates",
      "description": "Read delayed ECB reference exchange rates, convert an amount, and list supported currencies via the Frankfurter API.",
      "tags": [
        "FX",
        "ECB",
        "Currencies",
        "x402"
      ],
      "examples": [
        "Retrieve latest available exchange rates from the Frankfurter API (ECB data). Rates are delayed reference rates, not real-time market rates.",
        "Retrieve exchange rates for a specific date from the Frankfurter API (ECB data). Returns rates for the closest working day.",
        "Retrieve exchange rates over a date range from the Frankfurter API (ECB data). Returns rates for each working day in the range."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "chain-data",
      "name": "Base Chain Data",
      "description": "Read Base Mainnet blocks, receipts, logs, balances, token metadata, and contract bytecode from the public JSON-RPC endpoint.",
      "tags": [
        "Base",
        "JSON-RPC",
        "ERC-20",
        "x402"
      ],
      "examples": [
        "Retrieve Base Mainnet chain ID and network information from the public JSON-RPC endpoint.",
        "Retrieve the latest block information from Base Mainnet using the public JSON-RPC endpoint.",
        "Retrieve a specific block by number or hash from Base Mainnet. Supports optional full transaction details."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "llms-txt",
      "name": "llms.txt Intelligence",
      "description": "Check caller-supplied llms.txt text for structure, link wording, size, page coverage, navigation, contradictions, instruction-override phrases, and version mismatches. All checks run locally on the request.",
      "tags": [
        "llms.txt",
        "Agents",
        "Documentation",
        "x402"
      ],
      "examples": [
        "Check caller-supplied llms.txt text or structured JSON for one H1, a summary blockquote, H2 sections, and well-formed list links. URLs are not fetched.",
        "Review link titles and descriptions in caller-supplied llms.txt content for generic labels and missing descriptions. Links are not opened.",
        "Measure caller-supplied llms.txt size, repeated lines, and repeated link paths. The token figure is characters divided by four, not a model tokenizer."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "agent-tool-schema",
      "name": "Agent Tool Schema Intelligence",
      "description": "Check caller-supplied tool definitions, JSON Schema, and OpenAPI documents for shapes, names, overlaps, examples, required fields, dialect keywords, size, and description gaps that make an agent pick or call a tool incorrectly.",
      "tags": [
        "Agents",
        "JSON Schema",
        "OpenAPI",
        "x402"
      ],
      "examples": [
        "Find malformed JSON Schema and OpenAPI tool definitions in caller-supplied tools: bad types, required names that are not properties, empty enums, and duplicate tool names. Nothing is fetched.",
        "Flag generic tool names, generic parameter names, and descriptions that repeat the name or are missing. Matching is against a fixed word list, not a language model.",
        "Compare caller-supplied tools for the same name, the same description text, or a very high overlap of longer words. Sharing a few keywords is not treated as a duplicate."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "agent-contracts",
      "name": "Agent Execution Contract Intelligence",
      "description": "Check caller-supplied OpenAPI documents, JSON Schemas, and workflow definitions for missing expiry, retry, idempotency, pagination, error, output, state, and partial-failure rules that make an agent fail or repeat a call.",
      "tags": [
        "Agents",
        "OpenAPI",
        "Contracts",
        "x402"
      ],
      "examples": [
        "Find presigned URLs and access tokens in caller-supplied operations that do not state a lifetime, and sentences that both expire and never expire. A missing lifetime is undocumented, not a live-server defect.",
        "Read caller-supplied retry sentences and timeout statuses. A timeout with no retry sentence is missing documentation. The HTTP method is not treated as safe or unsafe to retry.",
        "Find create or update sentences that do not name an idempotency key or a replay result. The check does not call an operation idempotent unless the supplied text says so, and POST alone is not proof of a write."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}