OnChainDiligence
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Payment evidence and policy preflight, plus paid sanctions and company Evidence Provider checks.
| Author | com.onchaindiligence |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 261 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"OnChainDiligence": {
"url": "https://mcp.onchaindiligence.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (21)
screen_walletread-onlyExact match of an EVM wallet address against the digital currency address identifiers on the official US Treasury OFAC SDN List (validated snapshot, refreshed hourly). Returns signed listed / not_listed, the SDN entry, dataset provenance and limits. SDN only: not EU/UN/UK lists, no ownership or 50% rule analysis; a non-match is not legal clearance. Refused before payment if current data is unavailable. Call before sending funds to an address.
Parameters:
address(required) — string — EVM wallet address (0x + 40 hex) to sanctions-screen
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
screen_nameread-onlyOFAC name screening: fuzzy-match a person or company name against the official US Treasury OFAC Specially Designated Nationals (SDN) list (primary names + strong aliases). Returns scored candidate matches with the matched name, SDN type, and program. SCOPE: this is a screening aid for AML / KYC / sanctions compliance — a match is a candidate to investigate with secondary identifiers (DOB, nationality, ID), NOT a determination. Weak AKAs are not screened, per OFAC guidance.
Parameters:
name(required) — string — Person or company name to screen against the OFAC SDN listthreshold— number — Optional match confidence cutoff 0.5–1.0 (default 0.85). Lower = more candidates, more false positives.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
verify_uk_companyread-onlyUK company KYB lookup via the official Companies House register. Given a UK registration number, returns legal status (active/dissolved), company type, incorporation date, registered office, and people with significant control (PSC / beneficial owners). Call to confirm a UK business is real, active, and who controls it, for KYB onboarding and counterparty due diligence. Authoritative UK government data.
Parameters:
companyNumber(required) — string — UK Companies House registration number to verify, e.g. 00000006
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
verify_us_companyread-onlyUS public company verification via SEC EDGAR. Given a ticker, CIK, or company name, returns entity name, CIK, industry (SIC), state of incorporation, exchanges/tickers, address, and latest SEC filing. Ambiguous names return candidates, never a silent selection. Covers SEC-registered PUBLIC companies and funds only -- not private US companies. Call for KYB and counterparty due diligence on listed US entities.
Parameters:
query(required) — string — US public company ticker, SEC CIK, or company name — e.g. "AAPL", "0000320193", or "Apple Inc"
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
diligenceread-onlyCombined counterparty due diligence in one call: an exact OFAC SDN digital-currency-address screen of an EVM wallet AND a UK Companies House KYB lookup (status, type, PSC / beneficial owners), in parallel. Returns both independent results plus an explicit disclaimer that no verified link between the wallet and the company is established by the data. SDN only; a non-match is not clearance. Refused before payment if current sanctions data is unavailable.
Parameters:
wallet(required) — string — EVM wallet address (0x + 40 hex) to sanctions-screencompany(required) — string — UK Companies House registration number to verify
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
preflight_paymentread-onlyCall BEFORE an agent authorizes an autonomous payment. Evaluates it against your policy (max amount, allowed networks/assets, expected recipient, allowed origins) and returns a signed PREFLIGHT receipt -- ALLOW, REQUIRE_APPROVAL, or BLOCK, with reasons -- independently verifiable by anyone. Policy evaluation only: OCD never holds, moves, or authorizes funds. The wallet/x402 client separately authorizes execution after; ALLOW does not guarantee it will proceed.
Parameters:
action(required) — objectpolicy(required) — objectoptions— objectreferences— object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
inspect_paymentread-onlyFREE. Pure deterministic inspection of a proposed payment against structured policy (amount/network/asset/recipient/resource) — no external evidence, no sanctions screening, no cryptographic signing, no receipt. Returns the same ALLOW / REQUIRE_APPROVAL / BLOCK decision semantics as POST /x402/preflight-payment for the deterministic checks alone, so a caller can sanity-check a proposal before deciding whether the paid preflight (adds optional sanctions evidence and a signed, independently-verifiable receipt, $0.01) is worth paying for. This result is NOT cryptographically attested and carries no receipt — receipt is always null.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
inspect_allowanceread-onlyFREE. Deterministically inspect an ERC-20 allowance/revocation request against explicit network/token/spender/value policy. No wallet action, no signing, no chain read unless a separately requested preflight asks for it.
Parameters:
action(required) — objectpolicy(required) — objectoptions— object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
preflight_allowanceread-onlyCall BEFORE an agent asks its wallet to approve or revoke a Base USDC ERC-20 allowance. OCD evaluates strict policy and returns a signed portable allowance artifact. ALLOW is policy only, never wallet authority.
Parameters:
action(required) — objectpolicy(required) — objectoptions— object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
observe_allowanceread-onlyGiven a signed OCD allowance preflight artifact and submitted Base transaction hash, independently inspect its canonical-USDC Approval event, Base safe-head finality, and historical allowance state. OCD never executes the transaction.
Parameters:
transaction_hash(required) — stringartifact
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
inspect_swapread-onlyFREE. Deterministically inspect a narrow Base USDC-to-WETH direct Uniswap V3 swap against explicit policy. No wallet action or signing.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
preflight_swapread-onlyCall BEFORE an agent asks its wallet to execute a narrow Base USDC-to-WETH direct Uniswap V3 swap. OCD returns a signed portable policy artifact. ALLOW is policy only, never wallet authority.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
observe_swapread-onlyGiven a signed OCD swap preflight artifact and Base transaction hash, independently inspect direct Uniswap V3 exactInputSingle calldata, ERC-20 transfers, and Base safe-head finality. OCD never executes the swap.
Parameters:
transaction_hash(required) — stringartifact
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
inspect_bridgeread-onlyFREE. Deterministically inspect a narrow Circle CCTP V2 Base-to-Ethereum native-USDC bridge request against explicit policy. No wallet action, no signing, no chain read.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
preflight_bridgeread-onlyCall BEFORE an agent asks its wallet to bridge Base USDC to Ethereum via Circle CCTP V2 (depositForBurn). OCD evaluates strict policy and returns a signed portable bridge artifact. ALLOW is policy only, never wallet authority.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
observe_bridgeread-onlyGiven a signed OCD bridge preflight artifact, the Base depositForBurn transaction hash, and (once available) the Ethereum receiveMessage transaction hash, independently observe both chains, verify the CCTP message identity matches, and reconcile against the authorized action. Source-only observation is reported as an evidence gap, never as completion.
Parameters:
source_transaction_hash(required) — stringartifactdestination_transaction_hash— string
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
inspect_stakingread-onlyFREE. Deterministically inspect a narrow Ethereum Lido stETH submit request against explicit policy. No wallet action, signing, or chain read.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
preflight_stakingread-onlyCall BEFORE an agent asks its wallet to submit ETH to Lido stETH. OCD evaluates strict policy and returns a signed portable staking artifact. ALLOW is policy only, never wallet authority.
Parameters:
action(required) — objectpolicy(required) — object
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
observe_stakingread-onlyGiven a signed OCD staking preflight artifact and Ethereum transaction hash, independently inspect the canonical Lido Submitted event, transaction sender/value, optional minted shares, and Ethereum finalized-head finality. OCD never stakes ETH.
Parameters:
transaction_hash(required) — stringartifact
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
get_receiptread-onlyLook up a public OCD receipt by its exact receipt_id (format "OCD-RCP-XXXX-XXXX-XXXX-XXXX"). Free, no payment. Returns the complete signed receipt envelope, or a structured not-found/unavailable reason -- never a guess. A private (unpublished) receipt and an unknown id are indistinguishable, both by design: this never confirms or denies that a private receipt exists.
Parameters:
receipt_id(required) — string — Exact receipt id, e.g. "OCD-RCP-EMG6-6KR4-PQSG-MZPQ".
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
verify_receiptread-onlyIndependently checks whether a receipt is cryptographically VALID, INVALID, or UNVERIFIABLE, with a reason code. Free, no payment. Pass EITHER receipt_id (looks it up first, must be public) OR a complete receipt envelope you already hold (verified directly, no publication needed). This is a convenient ONLINE check -- it trusts this server to have honestly fetched the real signing-key registry. Running the same check yourself offline (the published @onchaindiligence/agent-evidence package) is a strictly stronger trust position; this tool does not replace that option.
Parameters:
envelope— A complete receipt envelope you already hold ({schema, receipt, proof}) to verify directly. Mutually exclusive with receipt_id.receipt_id— string — Look up and verify a public receipt by exact id. Mutually exclusive with envelope.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.