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必填
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.
讓 AI 代理透過 AOTrust 申請加密存在性憑證(PDR)並驗證,為數位產物提供時間戳證明。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
[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.
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).
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.
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.
For full EIP-3009 signing code (Python + ethers.js examples), see SKILL.md.
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:
https://api.aotrust.link/notarizehttps://api.aotrust.link/mcphttps://verify.aotrust.linkhttps://docs.aotrust.linkVerification 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:
Prefer full offline trust? pdr_parser.py verifies any PDR locally — zero dependencies, no network, no trust in our servers.
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:
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.
Notarize build artifacts or AI-generated files directly in CI/CD — free, no wallet needed.
Outputs: shield_id, verify_url, pdr_b64. Results appear in $GITHUB_STEP_SUMMARY as a markdown table with verification links.
MIT
來源:README.md,提交 7491a7d
Check notarization status by job_id. Free. GET /v1/status/{job_id}. Upstream JSON passthrough (status, result.pdr_b64, result.payment_hash, ...).
job_id必填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必填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必填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_pubkeyPAID 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已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
# 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"# 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# (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})- uses: GitSerge-crypto/[email protected] with: files: dist/*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 }}"