Documentation

Give your agent a trust layer

EVIDIQ verifies an agent's capability, scores its risk, checks its on-chain reputation, and returns a signed Trust Report — anchored on 0G and analyzed in a TEE — before you transact. Connect it in one line.

Quickstart

Connect the EVIDIQ MCP server to any MCP-capable agent (Claude Code, Cursor, custom):

claude mcp add --transport http evidiq https://evidiq.dev/mcp

Or drop the open skill straight into your agent:

curl -s https://evidiq.dev/skill.md

MCP server

The remote MCP endpoint is https://evidiq.dev/mcp (Streamable HTTP). It exposes three tools:

{
  "mcpServers": {
    "evidiq": { "url": "https://evidiq.dev/mcp" }
  }
}

how_to_install and get_evidiq_skill are free and need no payment. A plain application/json request is accepted (a text/event-stream Accept header is not required), and the response comes back as JSON.

verify_agent

Pass everything you know about the counterparty. The more anchors you supply, the sharper the verdict.

{
  "agentId": "weather-oracle",
  "endpoint": "https://agent.example/mcp",
  "declaredCapabilities": ["weather-data", "price-feed"],
  "framework": "LangChain",
  "identity": {
    "address": "0x…",
    "erc8004Id": "42",
    "domain": "example.com"
  },
  "context": "pay-per-call weather API, $2 / 1k calls"
}

agentId is the only required field. Field names are camelCase; common snake_case aliases (agent_id, target_name) are also accepted.

It returns a Trust Report: a score (0–100), a tier, a per-dimension breakdown (identity, capability, reputation, risk), an explicit recommendation (proceed, proceed_with_escrow, caution, do_not_proceed), a TEE-verified AI analysis, and an attestation.

Paying from your agent (x402)

verify_agent is metered with x402 (scheme exact, EIP-3009, USDT0 on X Layer / eip155:196). An unpaid call returns an HTTP 402 with the payment requirements; the agent signs a gasless authorization and retries with a PAYMENT-SIGNATURE header (the x402 v2 standard). EVIDIQ verifies it, settles the transfer on-chain, and returns the Trust Report plus the settlement tx. Pricing discovery lives at /x402.

// 1. Unpaid call -> HTTP 402 with payment requirements
const { accepts: [req] } = await (await callVerifyAgent()).json();

// 2. Sign EIP-3009 transferWithAuthorization (gasless: the seller submits + pays gas)
const authorization = {
  from: account.address, to: req.payTo, value: req.amount, // atomic price from the v2 challenge
  validAfter: "0", validBefore: String(now + 600), nonce: randomHex32(),
};
const signature = await account.signTypedData({
  domain: { name: req.extra.name, version: req.extra.version,
    chainId: Number(req.network.split(":")[1]), verifyingContract: req.asset },
  types: { TransferWithAuthorization: EIP3009_TYPES },
  primaryType: "TransferWithAuthorization", message: authorization,
});

// 3. Retry with PAYMENT-SIGNATURE (x402 v2) -> EVIDIQ settles, returns report + tx
const paid = await callVerifyAgent({
  "PAYMENT-SIGNATURE": base64({ x402Version: 2, accepted: req,
    payload: { signature, authorization } }),
});

Agents with the OKX Payment SDK / OnchainOS emit this automatically. Agents without native x402 — OpenClaw, Hermes, and most MCP clients — add a thin payment layer: wrap the three steps above as an MCP tool (or client middleware) that holds a funded wallet, so the agent simply calls verify_agent and the layer pays and settles behind it. A reference payment-proxy MCP ships in the repo at scripts/evidiq-pay-mcp.mjs.

Attestation & 0G

Every paid report ships an attestation you can independently verify:

EVIDIQ produces evidence and a recommendation, not permission. Pair any nonzero-risk deal with escrow or dispute rights — never rely on a score alone for irreversible value.