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 clientfrom 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
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 Ethereum
No gas estimation. No ERC-20 approve/transferFrom. No MEV. UTXO model vs account model. Post-quantum signatures.
vs Bitcoin
Same UTXO model. Post-quantum Schnorr-Γ vs secp256k1. Quantum oracle consensus vs PoW. 18s blocks vs 10min. Flat 1 qsat fee.
vs Solana
No program deployment. No rent. Deterministic fees. UTXO model — no account complexity.
vs Lightning
No channel management. No liquidity routing. Direct UTXO transfers with memo field.
vs Stripe
No KYC. No chargebacks. No API keys. Cryptographic proof of payment. Censorship-resistant.
Unique to QTCL
Quantum 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.
# 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 localRPC_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 HTTPSTX_MODEL = "UTXO (Bitcoin-style unspent transaction outputs)"BLOCK_TIME = 18# secondsFEE_PER_TX = "1 qsat"# flat, no gas estimationCONFIRMATION_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 burnedVALIDATOR_SHARE = 0.20COHERENCE_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