mcpbeat

Chainlink Confidential AI Attester Skill

smartcontractkit/chainlink-confidential-ai-attester-skill

Chainlink Confidential AI Attester: submit private documents to an LLM inside an AWS Nitro Enclave and get back a cryptographically attested result — raw documents never leave the TEE. Use for these hackathon scenarios: (1) undercollateralized DeFi lending — upload a bank statement, get an attested approved/denied JSON decision without exposing financials on-chain; (2) accredited investor verification — check SEC Rule 501 qualification from brokerage statements privately; (3) KYC/AML screening — analyse ID docs and transaction history inside a TEE, return a pass/fail with flags; (4) proof of reserves — verify custodian balance reports against claimed reserves; (5) any use case where an AI must read sensitive user documents and the result needs a cryptographic proof of what model ran on what data. Trigger on: private inference, attested AI, TEE inference, confidential AI, or undercollateralized lending / KYC / accredited investor mentioned alongside document analysis.

14k tokens
context cost
the whole folder, loaded on every use
7
files
instructions only
0
copies elsewhere
how many repositories repackaged it
122
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/smartcontractkit/chainlink-agent-skills --skill chainlink-confidential-ai-attester-skill

What comes with it

51 284 bytes besides the instruction
agents/openai.yaml
assets/chainlink-icon.png
references/api-reference.md
references/code-examples.md
references/prompts.md
references/troubleshooting.md

What it tells the agent to use

found in the instruction text
WebFetch fetches pages from the network

The instruction itself

4 sections, as written by the author

Runs LLM inference inside Trusted Execution Environment (TEE). Documents go in, LLM analysis comes out — the raw documents are never stored or exposed.

Beta product for the EthGlobal NYC hackathon. Get an API key at the Chainlink booth or via the #partner-chainlink channel in the EthGlobal Discord.

Playground UI: https://confidential-ai-dev-preview.cldev.cloud/playground — easiest way to try it. Everything there maps 1:1 to the API calls below.


Workflow 1 — Submit: POST /v1/inference

Auth: Authorization: Bearer $API_KEY — always use an env var, never hardcode.

Request shape:

{
  "model": "gemma4",
  "system_prompt": "",
  "prompt": "...",
  "resources": [{ "filename": "doc.pdf", "content_type": "application/pdf", "content_base64": "<base64>" }],
  "cre_callback": { "url": "https://..." }
}
  • cre_callback is optional — omit it and poll instead.
  • Models: gemma4 (images/general, default), qwen3.6 (long text).
  • Prefer PNG over PDF for demos — PDF preprocessing can take up to 5 minutes.

Response: 202 Accepted{ "id": "...", "status": "queued" } — save the id.

For curl examples and multi-language snippets → references/code-examples.md

For full request/response spec, error codes, resource types → references/api-reference.md


Workflow 2 — Poll: GET /v1/inference/{id}

Poll every 2–5 s until status is completed or failed.

Key fields on completion: output (LLM text), usage, completed_at.

For error symptoms → references/troubleshooting.md


Writing Prompts That Work

Always enforce JSON output with two layers:

  • System prompt — keep the default unless you have a specific reason to change it.
  • User prompt — binary question + exact JSON schema to return

For per-use-case prompt templates (lending, KYC, accredited investor, proof of reserves) → references/prompts.md

How to use it

Copy the folder

Take smartcontractkit/chainlink-confidential-ai-attester-skill from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.