Skip to content
terminal Ver BOT Chain
Docs GitHub open_in_new 𝕏/Twitter

Documentation

Technical references and API integration guides for the Ver Protocol Semantic Compiler and MCP Server.

Introduction

Ver is BOT Chain's deterministic semantic and wallet-safety layer. It exposes verified contract structure to wallets and AI systems while replacing guessed transaction data with simulation-gated calldata.

Protocol Graphs give wallets and developer tools consistent contract context. Ver never needs the user's signing key.

The Protocol Graph

The primary output of the Ver Protocol Compiler is the Protocol Graph. This is a JSON payload representing a comprehensive, deterministic compilation of a smart contract's semantic layout.

The schema includes:

  • metadata: Compiler versions, address, and verification state.
  • structural: Roles, events, state variables, and dependencies.
  • security: Privilege modifiers, ownership functions, and safety guardrails.

Generate a Protocol Graph by passing a BOT Chain address and chain ID to the compilation endpoint:

curl -s "https://verprotocol.vercel.app/api/compile?chainId=968&address=0x922835859623d6F3b99a2742D585E093bBA0a740"

Wallet integration

The wallet preparation endpoint accepts a single complete approve AMOUNT SYMBOL to ADDRESS or transfer AMOUNT SYMBOL to ADDRESS request. No conditions, compound instructions or AI signing fallback are supported.

Ver resolves a verified BOT Chain ABI, validates the symbol and exact token precision, and simulates from the supplied sender with eth_call. Reverts, token false returns, malformed output and provider failures are non-signable. The legacy SDK method is named compileAgentIntent; the wallet should call HTTP.

Usage Endpoint

POST https://verprotocol.vercel.app/api/wallet/prepare

{
  "chainId": 968,
  "contractAddress": "0x922835859623d6F3b99a2742D585E093bBA0a740",
  "sender": "0x1111111111111111111111111111111111111111",
  "intent": "Approve 1 PRWA to 0x2222222222222222222222222222222222222222"
}

Illustrative response excerpt (not a transaction to sign). Actual responses include full addresses, calldata, sender binding and a 60-second expiry:

{
  "signable": true,
  "simulationStatus": "success",
  "risk": "review",
  "transaction": { "chainId": 968, "to": "0x9228...", "data": "0x095e...", "value": "0" }
}

Require signable === true and simulationStatus === "success", matching chain/account, an unexpired expiresAt, and independently verified target and decoded arguments. Re-simulate in the wallet, obtain user confirmation, then sign and broadcast locally. Simulation does not guarantee safety or future execution.

All malformed responses, timeouts and non-200 preparation responses block signing. HTTP 400 means invalid input, 413 oversized body, 422 blocked preparation, 429 rate-limited, and 503 unavailable. See the OpenAPI contract and repository wallet-team handoff. Release-candidate documentation is not proof that the hosted API has been updated.

Model Context Protocol (MCP)

Ver includes a native Model Context Protocol server for BOT Chain protocol graphs in Claude Desktop, Cursor, or custom agent runtimes.

Installation

Run the MCP server locally without prior installation using npx:

npx -y aic-mcp

Claude Desktop Configuration

To integrate Ver with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "ver": {
      "command": "npx",
      "args": ["-y", "aic-mcp"],
      "env": {
        "VER_NETWORK": "botTestnet",
        "BOT_TESTNET_RPC_URL": "https://rpc.bohr.life"
      }
    }
  }
}

Once configured, the client can call get_protocol_graph and compile_agent_intent against BOT Chain contracts.