AOTrust Notary

Cryptographic proof-of-existence notarization for AI agents. Free tier + paid $0.01 USDC via x402.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
72%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~824Tokens (tool definitions)
~781 BTypical response size
Moderate attention impact (0.64% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "notary": {
      "url": "https://api.aotrust.link/mcp"
    }
  }
}

Remote endpoints

https://api.aotrust.link/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡notary_quote(work_hash, pdr_version)

Request a notarisation quote for a work artifact. Returns the cost ($0.01 USDC or NEAR equivalent), a quote_id valid for 600 seconds, the sink account to send payment to, and the PDR schema version. Step 1 of the notarisation flow: quote -> pay -> notarize -> verify.

Input Schema

{
  "type": "object",
  "properties": {
    "work_hash": {
      "default": "",
      "type": "string"
    },
    "pdr_version": {
      "default": "2.3",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟡notary_free(work_hash, content, metadata)

Create a free cryptographic proof of existence (PDR) for a digital artifact without payment. Dual mode: pass work_hash (Mode A, client-computed SHA-256 hex) OR content (Mode B, raw text/code ≤60KB — server hashes it, zero retention). Subject to rate limits (5/IP/day, 1000/day global). Returns shield_id, pdr_b64, and verify_url. For on-chain settlement proof, use notary_notarize_paid ($0.01 USDC on Base).

Input Schema

{
  "type": "object",
  "properties": {
    "work_hash": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metadata": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟡notary_notarize(work_hash, tx_hash, artifact_uri, metadata, agent_sig, ...)

Submit a work artifact for on-chain notarisation (NEAR_DIRECT payment path). PREREQUISITE: Send the NEAR amount from notary_quote to the sink account, then provide the resulting tx_hash here. The server verifies the on-chain payment and submits the notarisation. Returns job_id — use notary_verify to poll for the signed PDR. Step 3 of the notarisation flow: quote -> pay -> notarize -> verify.

Input Schema

{
  "type": "object",
  "properties": {
    "work_hash": {
      "type": "string"
    },
    "tx_hash": {
      "type": "string"
    },
    "artifact_uri": {
      "default": "",
      "type": "string"
    },
    "metadata": {
      "default": "{}",
      "type": "string"
    },
    "agent_sig": {
      "default": "",
      "type": "string"
    },
    "agent_pubkey": {
      "default": "",
      "type": "string"
    }
  },
  "required": [
    "work_hash",
    "tx_hash"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
⚪notary_verify(job_id)

Verify a notarisation by job_id. Returns status (pending/anchored/error). If anchored, returns the full PDR record (base64, 239 bytes) with Ed25519 signature verification. Step 4 of the notarisation flow: quote -> pay -> notarize -> verify. Can be polled repeatedly until status changes from 'pending' to 'anchored'.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string"
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟡notary_notarize_paid(work_hash, agent_sig, agent_pubkey)

Notarize a work hash on AOTrust (mainnet NEAR + Base USDC receipt). $0.01 USDC via x402-over-MCP: call without payment to receive PaymentRequired; retry with params._meta['x402/payment'] = signed PaymentPayload (EIP-3009, scheme exact, eip155:8453). HTTP clients: POST /notarize with x-payment header.

Input Schema

{
  "type": "object",
  "properties": {
    "work_hash": {
      "type": "string"
    },
    "agent_sig": {
      "default": "",
      "type": "string"
    },
    "agent_pubkey": {
      "default": "",
      "type": "string"
    }
  },
  "required": [
    "work_hash"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools