MCP 2025-06-18 Compliant

Build agents that transact

QTCL is the first blockchain designed for autonomous AI agents. Bitcoin-style UTXO model. Post-quantum security. Flat fees. Full MCP 2025-06-18 server with 12 tools, 4 resources, and prompts. Connect via Streamable HTTP or stdio.

Chain Height
18s
Block Time
1 qsat
Fee / TX
12
MCP Tools
Agent Quickstart
Exact steps for any AI agent (Claude, GPT, Cursor, AutoGen, LangChain, CrewAI) to connect and transact on a UTXO blockchain.
Step 1
Connect via MCP
Add https://qtcl-blockchain.koyeb.app/mcp (streamable HTTP) to your MCP client config, or run python mcp_server.py --transport stdio for local agents. No API key required.
Step 2
Create a wallet
Call qtcl_create_wallet to get a 64-char hex address and HypΓ public key. Save the address — it is your agent's on-chain identity.
Step 3
Check balance & UTXOs
Call qtcl_get_balance for total balance from the UTXO set, or qtcl_get_utxos to list individual unspent outputs for coin selection.
Step 4
Send a transaction
Call qtcl_send_transaction with from_address, to_address, amount (float), and optional memo (max 256 chars). The server selects UTXOs and returns tx_hash.
Step 5
Verify receipt
Call qtcl_get_transaction with the tx_hash to confirm inclusion. Returns inputs, outputs, and confirmations. 1 confirmation = finality.
Alternative
Direct JSON-RPC
POST to /rpc with JSON-RPC 2.0 payloads. No MCP required. Key methods: qtcl_getBalance, qtcl_getUTXOs, qtcl_submitTransaction, qtcl_getBlockHeight, qtcl_getBlock, qtcl_getTransaction, qtcl_getTransactions, qtcl_getQuantumMetrics, qtcl_getOracleRegistry, qtcl_getPeers, qtcl_getPythPrice, qtcl_getMempoolStats, qtcl_getHealth.
Connect any agent in 3 lines
Choose your transport: Streamable HTTP for remote agents, stdio for local Claude Desktop / Cursor / Windsurf. Zero SDK. Zero API keys.
Streamable HTTP (Production)
stdio (Local Desktop)
Claude Desktop
Cursor
# Python — OpenAI Agents SDK / any MCP client from mcp import ClientSession from mcp.client.http import http_client async with http_client("https://qtcl-blockchain.koyeb.app/mcp") as session: await session.initialize() tools = await session.list_tools() result = await session.call_tool("qtcl_get_balance", {"address": "0x..."})
# Run the MCP server locally $ pip install mcp>=1.23.0 $ python mcp_server.py --transport stdio # The server reads JSON-RPC from stdin and writes to stdout # Perfect for Claude Desktop, Cursor, Windsurf, and CLI agents
# ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "qtcl-blockchain": { "command": "python3", "args": [ "/path/to/mcp_server.py", "--transport", "stdio" ], "env": { "QTCL_RPC_URL": "https://qtcl-blockchain.koyeb.app/rpc" } } } }
# .cursor/mcp.json in your project root { "mcpServers": { "qtcl-blockchain": { "url": "https://qtcl-blockchain.koyeb.app/mcp", "transport": "streamable-http" } } }
Claude Desktop Claude Code Cursor Windsurf VS Code Cline CrewAI LangChain AutoGen Any MCP Client
Available tools UTXO Model
qtcl_create_wallet
Create a post-quantum secured wallet. Returns a 64-char hex address and HypΓ public key.
qtcl_sign_message
Sign a 32-byte message hash with HypΓ private key. Returns signature, challenge, and auth_tag.
qtcl_get_balance
Check balance from the UTXO set (sum of unspent outputs). Returns balance in QTCL, UTXO count, and unspent output list.
qtcl_get_utxos
List unspent transaction outputs (UTXOs) for an address. Each UTXO is an individually spendable coin with tx_hash, output_index, and amount.
qtcl_send_transaction
Send QTCL using UTXO inputs/outputs. Flat 1 qsat fee. No gas estimation. Optional 256-char memo. Server handles UTXO selection.
qtcl_get_transaction
Look up any transaction by hash. Returns inputs consumed, outputs created, confirmations, and memo.
qtcl_get_chain_info
Current chain height, latest block hash, mempool depth, oracle status, network health.
qtcl_get_block
Block details by height or hash. Header, UTXO transactions (inputs/outputs), miner, reward, coherence metrics.
qtcl_get_recent_transactions
Recent transactions, optionally filtered by address. Up to 50 results with UTXO inputs/outputs.
qtcl_get_quantum_metrics
Live W-state fidelity, entanglement witness, density matrix dimensions, oracle consensus round.
qtcl_get_oracle_registry
List registered quantum oracles. Addresses, stake, uptime, last heartbeat. 3-of-5 BFT consensus.
qtcl_get_peers
Active network peers. Node IDs, connection times, NAT types. Kademlia DHT topology.
qtcl_get_price
QTCL/USD price from Pyth Network oracle feed. Price, confidence interval, last update.
Available resources MCP 2025-06-18
chain://height
Current blockchain height as a live resource. Updates every block (~18s).
chain://health
System health vector: peer count, oracle status, mempool depth, DB lag.
price://qtcl-usd
QTCL/USD price from Pyth Network oracle. Updates on price feed changes.
docs://capability
Full QTCL capability document with economics, cryptography, and network parameters.
Available prompts MCP 2025-06-18
wallet_helper
Guided wallet creation and transaction workflow prompts. Pass task="create" or task="send".
Why agents choose QTCL
vs EthereumNo gas estimation. No ERC-20 approve/transferFrom. No MEV. UTXO model vs account model. Post-quantum signatures.
vs BitcoinSame UTXO model. Post-quantum Schnorr-Γ vs secp256k1. Quantum oracle consensus vs PoW. 18s blocks vs 10min. Flat 1 qsat fee.
vs SolanaNo program deployment. No rent. Deterministic fees. UTXO model — no account complexity.
vs LightningNo channel management. No liquidity routing. Direct UTXO transfers with memo field.
vs StripeNo KYC. No chargebacks. No API keys. Cryptographic proof of payment. Censorship-resistant.
Unique to QTCLQuantum oracle network, density matrix streaming, hyperbolic lattice tessellation, W-state consensus, post-quantum UTXO cryptography, native MCP 2025-06-18 server with streamable HTTP. No other chain has any of these.
Agent use cases
Agent-to-agent micropayments
Pay for API calls, compute cycles, and data in real-time. Flat 1 qsat fee makes sub-cent UTXO transactions viable.
🤝
Multi-agent escrow
Agent A creates a UTXO locked to conditions. Agent B completes task. Smart release on verification. Memo field carries the contract reference.
📊
Autonomous treasury
Deterministic fee budgeting. No gas spikes. UTXO coin selection for optimal transaction construction.
🔐
Quantum-secured identity
Agent identity anchored to QTCL addresses with HypΓ post-quantum signatures. Survives the quantum transition.
🧾
Verifiable receipts
Transaction hash + UTXO outputs + memo = cryptographic proof of payment. No dispute resolution needed.
🌐
Cross-framework settlement
LangChain agent pays CrewAI agent. Different frameworks, same QTCL UTXO rail. MCP is the universal adapter.
🚀
MCP-native onboarding
Connect Claude, Cursor, GPT, or any MCP client with zero integration code. Streamable HTTP or stdio — both work out of the box.
MCP Server
checking...
Primary Endpoint
/mcp (POST/GET)
Legacy Endpoint
/mcp/sse (deprecated)
Protocol
MCP 2025-06-18
Transport
Streamable HTTP (primary) + stdio (local)
Server Version
3.0.0
SDK
mcp-python-sdk (FastMCP)
TX Model
UTXO (Bitcoin-style)
Tools / Resources / Prompts
12 / 4 / 1
Registered tools
qtcl_create_wallet qtcl_sign_message qtcl_get_balance qtcl_get_utxos qtcl_send_transaction qtcl_get_transaction qtcl_get_chain_info qtcl_get_block qtcl_get_recent_transactions qtcl_get_quantum_metrics qtcl_get_oracle_registry qtcl_get_peers qtcl_get_price
Registered resources
chain://height chain://health price://qtcl-usd docs://capability
Direct RPC (no MCP needed)
# Any language. Any platform. One HTTP POST. curl -X POST https://qtcl-blockchain.koyeb.app/rpc \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"qtcl_getBlockHeight","params":[],"id":1}'
Post-quantum cryptography
Hash
SHA3-256 (Keccak)
Signatures
Schnorr-Γ / PSL(2,R)
Wallet Encryption
HypAEAD (SHA3-256-CTR + HMAC-SHA3-256)
Key Derivation
PBKDF2-HMAC-SHA256, 600K iterations
Security Level
~256-bit classical / ~180-bit quantum
TX Model
UTXO (Bitcoin-style, unspent outputs)
For AI Agents
# ── QTCL Agent Integration Summary (UTXO Model) ── # This section is optimized for AI agent parsing. MCP_ENDPOINT = "https://qtcl-blockchain.koyeb.app/mcp" MCP_TRANSPORT = "streamable-http" # or "stdio" for local RPC_ENDPOINT = "https://qtcl-blockchain.koyeb.app/rpc" CAPABILITY_JSON = "https://qtcl-blockchain.koyeb.app/agents/capability.json" PROTOCOL = "MCP 2025-06-18" # or JSON-RPC 2.0 over HTTPS TX_MODEL = "UTXO (Bitcoin-style unspent transaction outputs)" BLOCK_TIME = 18 # seconds FEE_PER_TX = "1 qsat" # flat, no gas estimation CONFIRMATION_FINALITY = 1 # 1 block = final # ── MCP Tools (12 total) ── # All tools are called via session.call_tool(name, arguments). TOOLS = [ {name: "qtcl_create_wallet", rpc: "N/A (local)", params: ["label?"]}, {name: "qtcl_sign_message", rpc: "N/A (local)", params: ["message_hex", "private_key"]}, {name: "qtcl_get_balance", rpc: "qtcl_getBalance", params: ["address"]}, {name: "qtcl_get_utxos", rpc: "qtcl_getUTXOs", params: ["address", "limit?"]}, {name: "qtcl_send_transaction", rpc: "qtcl_submitTransaction", params: ["from_address", "to_address", "amount", "memo?"]}, {name: "qtcl_get_transaction", rpc: "qtcl_getTransaction", params: ["tx_hash"]}, {name: "qtcl_get_chain_info", rpc: "qtcl_getBlockHeight", params: []}, {name: "qtcl_get_block", rpc: "qtcl_getBlock", params: ["height?", "hash?"]}, {name: "qtcl_get_recent_transactions", rpc: "qtcl_getTransactions", params: ["address?", "limit?"]}, {name: "qtcl_get_quantum_metrics", rpc: "qtcl_getQuantumMetrics", params: []}, {name: "qtcl_get_oracle_registry", rpc: "qtcl_getOracleRegistry", params: ["limit?"]}, {name: "qtcl_get_peers", rpc: "qtcl_getPeers", params: ["limit?"]}, {name: "qtcl_get_price", rpc: "qtcl_getPythPrice", params: []} ] # ── MCP Resources (4 total) ── # Read via session.read_resource(uri) RESOURCES = [ {uri: "chain://height", description: "Current blockchain height"}, {uri: "chain://health", description: "System health vector"}, {uri: "price://qtcl-usd", description: "QTCL/USD price from Pyth Network"}, {uri: "docs://capability", description: "Full QTCL capability document"} ] # ── MCP Prompts (1 total) ── # Get via session.get_prompt(name, arguments) PROMPTS = [ {name: "wallet_helper", description: "Guided wallet creation / transaction workflow"} ] # ── UTXO Transaction Model ── # Balances = sum of unspent transaction outputs (UTXOs) # Each UTXO: {tx_hash, output_index, amount_base, address} # Spending: reference UTXOs as inputs, create new outputs # Coinbase: null input (0x00...00, 0xFFFFFFFF), new outputs for miner+treasury # Validation: inputs must be unspent, total_in >= total_out + fee # ── Cryptography ── HASH = "SHA3-256" SIGNATURES = "Schnorr-Γ / PSL(2,R)" WALLET_ENC = "HypAEAD (SHA3-256-CTR + HMAC-SHA3-256)" KDF = "PBKDF2-HMAC-SHA256, 600K iterations" SECURITY = "~256-bit classical / ~180-bit quantum" # ── Economics ── NATIVE_UNIT = "QTCL" BASE_UNIT = "qsat (1 QTCL = 100 qsat)" BLOCK_REWARD = "8.0 QTCL (miner 7.20 + treasury 0.80)" FEE_BURN = 0.70 # 70% of fee burned VALIDATOR_SHARE = 0.20 COHERENCE_FUND = 0.10 # ── How to transact (UTXO model) ── # 1. qtcl_getUTXOs → list unspent outputs for sender address # 2. Select inputs whose total >= amount + fee # 3. Build outputs: [{address: recipient, amount_base: N}, {address: sender, amount_base: change}] # 4. Sign with Schnorr-Γ over tx_hash # 5. POST /rpc: qtcl_submitTransaction with inputs, outputs, signature, public_key # Or: use qtcl_send_transaction MCP tool (handles UTXO selection automatically) # ── Client Configuration Examples ── # Claude Desktop (stdio): # command: python3 /path/to/mcp_server.py --transport stdio # Cursor (streamable-http): # url: https://qtcl-blockchain.koyeb.app/mcp # VS Code / Cline (streamable-http): # url: https://qtcl-blockchain.koyeb.app/mcp