AOTrust Notarization & Evidence Server

link.aotrust由 aotrust.link 发布v2.5.2更新于 Nov 14, 2026

Cryptographic proof of existence for AI agents. x402 on Base or Solana, NEAR anchored. Free tier.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

让 AI 代理通过 AOTrust 申请加密存在性凭证(PDR)并验证,为数字产物提供时间戳证明。

可以做什么
  • 提交产物哈希申请公证,获得带 Shield ID 的 PDR 凭证
  • 通过公开验证 API 查询与校验凭证,包括已锚定记录的 Merkle 包含证明
  • 获取公证方公钥,并用独立解析器与 Merkle 脚本离线验证凭证
  • 在 Cursor、Cline、Claude Desktop 等 MCP 客户端中为代理的计划、补丁或发布节点做公证
适用场景
当你需要在 CI 或代码仓库基础设施之外,为文件、构建产物或 AI 生成的改动留下独立、带时间戳的存在证明,并希望由代理自动创建或核验这些凭证时使用。
运行要求
以 stdio 本地进程运行,需通过 AOTRUST_BASE_URL 设置 AOTrust API 地址。发现与免费工具无需账号或 API 密钥;付费公证通过 Base 或 Solana 上的 x402 以 USDC 在请求内结算,免费调用按 IP 限流。需要能访问 AOTrust API 的网络。
安装前请注意
付费公证每条记录约 0.01 USDC,需要已充值的钱包并签署支付,代理可能因此产生花费。可选的 AO_TRUST_KEY 仅用于 GitHub Action 的 CI 限流。公证会把哈希与凭证公开,可凭 Shield ID 查询,请勿对不希望被关联的敏感内容做哈希。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AOTrust Notarization & Evidence Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

AOTrust — Cryptographic Proof of Existence for AI Agents

[Official MCP Registry] [M8ven Score] [Protected by AOTrust] [Mainnet Live] [License] [PDR v2.3/v2.4] [x402]

AOTrust issues PDRs (Provenance Data Records) — 239-byte cryptographic receipts proving a digital artifact existed at a specific time. $0.01 USDC via x402 — pay on Base (EVM) or Solana (SVM, via MCP). Anchored hourly to NEAR blockchain. No account needed. Supports ordinary (v0x03) and bilateral (v0x04) signatures.

Positioning: an Independent External Provenance Checkpoint. Native attestations (Sigstore, GitHub artifact attestations) verify a build inside the CI system that produced it. AOTrust complements them: it issues a signed certificate outside GitHub/Microsoft infrastructure and anchors it hourly to the NEAR blockchain — so provenance survives even if the repository is rewritten, the CI logs disappear, or the attestation store is unavailable. Use both.

Agent Checkpoint (new)

Connect your AI coding agent in 60 seconds and make it notarize plan/patch/release checkpoints — free tier, no account: agent-checkpoint/ — mcp.json drop-ins for Cursor, Cline, and any MCP client, plus a copy-paste AGENTS.md block (Provenance: <Shield ID> in commits).

Authorship Claims (bilateral signatures)

Beyond agent workflows, AOTrust supports bilateral PDRs (v0x04): the artifact is signed by you (Ed25519) and countersigned by the notary — a binding hash ties your public key to the content. This turns "I wrote/published this first" into a verifiable claim for any digital artifact: manuscripts, designs, photos, research notes, legal correspondence. Verification is public at https://verify.aotrust.link — no account, no software install for the reader. Signing guide (Ed25519, NEP-413): SKILL.md → Bilateral Signature. See pdr-spec.md §v2.4 for the binding-hash construction.

Quickstart

Prefer one-click? See INTEGRATIONS.md — ready MCP configs for Cursor, Windsurf, Cline, Claude Desktop, plus a "notarize before commit" rule for your assistant and LangChain/CrewAI examples.

bash
# 1. Compute SHA-256 hash of your artifactHASH=$(echo -n "Hello AOTrust" | sha256sum | cut -d' ' -f1)
# 2. Request notarization → get 402 payment detailscurl -X POST https://api.aotrust.link/notarize \  -H "Content-Type: application/json" \  -d "{\"work_hash\":\"$HASH\",\"agent_sig\":\"\",\"agent_pubkey\":\"\"}"
# 3. Pay $0.01 USDC on Base (EIP-3009), then POST with x-payment header# Full example: see SKILL.md → "Step 3: Pay"

For full EIP-3009 signing code (Python + ethers.js examples), see SKILL.md.

Interfaces

InterfaceBest forAuth
HTTP APIDevelopers, scripts, CI/CDx402 payment (no API key needed); free tier 5/day/IP
MCPAI agents (Claude, Cursor, Cline)None for discovery + free tools (notary_free 5/day/IP)

Authentication & keys

Notarization is keyless. Standard notarization (free tier and x402 micropayments) never requires an API key — payment is in-band (x402 x-payment header) and free calls are IP rate-limited.

AO_TRUST_KEY is optional and only used by the GitHub Action (action/notarize.py) to unlock the dedicated CI rate limit (50/24h per key, via X-Api-Key on /v1/shield/free) instead of the shared per-IP free limit (5/24h). It is an opt-in convenience for CI pipelines — nothing else reads it, and no secret ever enters a PDR.

Endpoints:

  • API: https://api.aotrust.link/notarize
  • MCP: https://api.aotrust.link/mcp
  • Verify: https://verify.aotrust.link
  • Docs: https://docs.aotrust.link

Verify API (public, embeddable)

Verification is a standalone public API — no account, no rate limits, no payment. Embed it in your product (dashboards, audit tools, escrow flows) or call it from the terminal:

bash
# Verify a PDR (base64url-encoded bundle):curl https://api.aotrust.link/v1/pdr/verify/<pdr_b64url># → {"valid": true, "checks": {...}, "error": null}
# Look up a PDR by Shield ID (8 hex chars):curl https://api.aotrust.link/v1/shield/lookup/<shield_id># → {"found": true, "pdr_b64": "...", "shield_id": "..."}
# Get the notary public key for offline verification:curl https://api.aotrust.link/v1/notary/pubkey

Prefer full offline trust? pdr_parser.py verifies any PDR locally — zero dependencies, no network, no trust in our servers.

Offline Merkle verification (anchored receipts)

Anchored PDRs carry the hourly Merkle root committed on-chain in the NEAR contract notary-node.near — readable from any public NEAR RPC, forever, independent of our servers. The verify API returns merkle_proof, merkle_index, merkle_leaf and merkle_tree_size for anchored PDRs. Save the verify JSON response — then verify it forever, offline:

bash
# (once) save the verify response when the receipt is fresh:curl https://api.aotrust.link/v1/pdr/verify/<pdr_b64url> > verify.json
# (any time, no AOTrust server needed) check inclusion:python3 verify_merkle_inclusion.py \  --leaf <merkle_leaf> --proof <comma-joined merkle_proof> \  --index <merkle_index> --root <merkle_root> \  --tree-size <merkle_tree_size># → VALID
# the root can always be re-checked against the chain itself via any# NEAR RPC: contract notary-node.near, method get_root({"seq": N})

verify_merkle_inclusion.py is standalone and zero-dependency (RFC 9162 §2.1.3.2 walk, same hashing as the anchoring engine). tree_size must be taken from the verify response (or a published anchor snapshot), not chosen by the verifier.

PDR Specification & Tools

Comparison

FeatureAOTrustChainlinkOpenTimestampsNotary.fyi
Price/PDR$0.01$0.25+Free (slow)$0.50+
Payment railx402 USDCLINKBitcoin TXStripe
PDR format239B binaryOracle dataOTS filePDF
AI agent nativeMCP + HTTPNoNoNo
Blockchain anchorNEAR (hourly)EthereumBitcoinNone
Offline verifyYes (pdr_parser.py)NoYesNo

GitHub Action

Notarize build artifacts or AI-generated files directly in CI/CD — free, no wallet needed.

yaml
- uses: GitSerge-crypto/[email protected]  with:    files: dist/*

Outputs: shield_id, verify_url, pdr_b64. Results appear in $GITHUB_STEP_SUMMARY as a markdown table with verification links.

Example workflow

yaml
name: Releaseon:  release:    types: [published]
jobs:  notarize:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4      - uses: GitSerge-crypto/[email protected]        with:          files: dist/*      - name: Show shield ID        run: echo "Shield ID: ${{ steps.notarize.outputs.shield_id }}"

License

MIT

来源:README.md,提交 7491a7d

工具

5

notary_status

Check notarization status by job_id. Free. GET /v1/status/{job_id}. Upstream JSON passthrough (status, result.pdr_b64, result.payment_hash, ...).

输入参数job_id必填

notary_verify

Full server-side PDR verification by base64 bundle. Free. GET /v1/pdr/verify/{pdr_b64} (the b64 is quote_plus-encoded in the URL path).

输入参数pdr_b64必填

notary_lookup

Find a notarization record by Shield ID (8 hex chars returned by the free tier). Free. Local 8-hex guard mirrors the server 400 INVALID_SHIELD_ID form.

输入参数shield_id必填

notary_free

Free UNPAID notarization (PDR proof-of-existence, no wallet). Rate limited 5/IP/24h (429 FREE_TIER_LIMIT_REACHED is quota, not a defect). Pass work_hash OR content.

输入参数contentagent_sigwork_hashagent_pubkey

notary_notarize

PAID notarization, $0.01 USDC on Base (EIP-3009 via x402; HTTP rail is Base-only — Solana exists only via the remote MCP server). Requires AOTRUST_EVM_PRIVATE_KEY in env. Free-tier body shape; the x402 wrapper takes the 402 challenge, signs, and retries.

输入参数contentagent_sigwork_hashagent_pubkey

版本历史

7
  1. v2.5.2最新Nov 14, 2026
  2. v2.5.1Nov 12, 2026
  3. v2.5.0Oct 24, 2026
  4. v2.4.0Oct 19, 2026
  5. v2.3.7Sep 30, 2026
  6. v2.3.6Sep 29, 2026
  7. v1.0.0Sep 26, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分