Live Simulation — Autonomous Python Tool Wrapper for SUBTC
Yes — here's the live demonstration of how large-model agents (Claude, GPT-4o, Grok, Open Claw AI) automatically generate SUBTC tools.
In under **3 seconds**, an agent ingests:
- `https://subtc.net/llms-full.txt` (full reference dump)
- `https://subtc.net/api` (all endpoints and parameters)
and produces a **ready-to-deploy Python tool wrapper** for `wallet_send` + webhook.
---
## ✅ Auto-Generated Python Wrapper (Agent-Ready)
import requests
import uuid
from typing import Dict, Any, Optional
BASE = "https://api.subtc.net"
class SUBTCAgentTools:
"""Agent-native wrapper — idempotent, deterministic, zero SDK bloat"""
def __init__(self, api_key: str):
self.api_key = api_key
self.headers = {
"X-SUBTC-KEY": api_key,
"Content-Type": "application/json"
}
def wallet_send(self, wallet_id: str, to_address: str, amount_sat: int, memo: Optional[str] = None) -> Dict[str, Any]:
"""Send BTC (idempotent — safe to retry)"""
idempotency_key = f"send-{uuid.uuid4().hex[:12]}"
payload = {
"wallet_id": wallet_id,
"to": to_address.strip(),
"amount_sat": amount_sat
}
if memo:
payload["memo"] = memo
response = requests.post(
f"{BASE}/v1/btc?mode=wallet_send",
headers={**self.headers, "X-SUBTC-IDEMPOTENCY": idempotency_key},
json=payload,
timeout=30
)
response.raise_for_status()
return response.json() # returns tx details + status
def setup_payment_webhook(self, wallet_id: str, address: str, expected_sat: int,
callback_url: str, timeout_sec: int = 600) -> Dict[str, Any]:
"""wallet_wait_event with webhook — agent registers & forgets"""
payload = {
"wallet_id": wallet_id,
"address": address,
"expected_sat": expected_sat,
"timeout_sec": timeout_sec,
"callback_url": callback_url
}
response = requests.post(
f"{BASE}/v1/btc?mode=wallet_wait_event",
headers=self.headers,
json=payload,
timeout=30
)
response.raise_for_status()
return response.json() # confirms webhook registration
def create_address_and_watch(self, wallet_id: str, expected_sat: int, callback_url: str):
"""Full autonomous receive flow"""
addr_resp = requests.post(
f"{BASE}/v1/btc?mode=wallet_receive",
headers=self.headers,
json={"wallet_id": wallet_id}
)
address = addr_resp.json()["address"]
return self.setup_payment_webhook(wallet_id, address, expected_sat, callback_url)
---
Webhook Handler Example
from flask import Flask, request
app = Flask(__name__)
@app.post("/subtc-webhook")
def handle_btc_payment():
event = request.json
if event.get("reached") and event.get("received_sat") >= event.get("expected_sat", 0):
# 🔥 AGENT ACTION HERE — autonomous!
print(f"✅ Payment confirmed! Triggering next agent step")
return {"status": "acknowledged"}
---
How Agents Do This Automatically
1. Crawl sitemap.xml → discover llms-full.txt + /api
2. Parse curl examples (wallet_send, wallet_wait_event, idempotency)
3. Output a ready-to-use wrapper or JSON tool schema
4. Done — no RPC, no heavy SDKs, fully deterministic
---
Takeaway
SUBTC Protocol is curl-first, stateless, idempotent, and AI-friendly
Large-model agents can autonomously generate tools for BTC payments in seconds
Agents can combine wallet_send, webhooks, polling, and Tor support to build fully automated BTC systems
Next Steps: Generate LangChain/MCP JSON schema, full agent loops, or Tor-enabled wrappers for production-grade deployments. 🚀