{
  "markdown": "> **AlgoVoi is available for acquisition** — [docs.algovoi.co.uk/acquisition](https://docs.algovoi.co.uk/acquisition)\n\n---\n\n# AlgoVoi Platform Adapters\n\nDrop-in payment adapters for connecting e-commerce platforms, AI agent frameworks, and automation tools to **AlgoVoi** — a compliance-aware crypto payment gateway with native stablecoin support across seven blockchains.\n\n---\n\n## What is AlgoVoi?\n\nAlgoVoi is compliance-aware payment infrastructure for stablecoin settlement. The same gateway that handles payment routing across seven chains also runs continuous sanctions screening, KYB gating, and a write-once SHA-256 audit chain on every payment — so merchants and autonomous agents don't quietly carry UK MLRs / OFAC / SAMLA exposure they didn't sign up for. Compliance posture is published live at [`/compliance/attestation`](https://api.algovoi.co.uk/compliance/attestation).\n\nThe compliance perimeter is the product. Multi-chain breadth (Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo) and protocol coverage (x402, MPP, AP2, A2A) are how we deliver it on a single endpoint, without merchants having to manage wallets or blockchain integrations directly.\n\nSupported settlement assets:\n\n| Asset | Network | Details |\n|-------|---------|---------|\n| USDC  | Algorand mainnet | Native ASA (ASA ID 31566704), issued by Circle |\n| aUSDC | VOI mainnet      | Native ASA (ASA ID 302190), Aramid-bridged USDC |\n| USDC  | Hedera mainnet   | HTS token 0.0.456858, issued by Circle |\n| USDC  | Stellar mainnet  | Credit asset issued by Circle (`GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN`); receiver must have a trust line before accepting |\n| USDC  | Base mainnet     | ERC-20 token (`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`), issued by Circle |\n| USDC  | Solana mainnet   | SPL token (`EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`), issued by Circle |\n| USDCe | Tempo mainnet    | TIP-20 token (`0x20c000000000000000000000b9537d11c60e8b50`, 6 decimals); Tempo is a Stripe/Paradigm EVM L1 (chain ID 4217) with USDC as the native gas token |\n| ALGO / VOI / HBAR / XLM / ETH / SOL | Any mainnet | Native coin payments also supported on every chain (6/6/8/7/18/9 decimals respectively) |\n\n---\n\n## What is this repository?\n\nThis repository contains **production-ready payment adapters** and **integration documentation** for connecting e-commerce platforms, custom applications, and AI agent services to AlgoVoi Tenant Services.\n\nIncluded:\n- **Recurring / standing-authority subscriptions ([`Recurr/`](Recurr/))** — Tier 2 lets a customer sign ONCE and AlgoVoi auto-pulls per cycle on all 7 chains (Algorand SpendingCapVault, EVM ERC-20 approve, Solana SPL Approve, Hedera HTS allowance, Stellar Soroban auth_entry, VOI). Per-chain wallet-side reference flows + chain-agnostic merchant-side examples. **`native-python/algovoi.py` v1.2.0+** ships the merchant HTTP wrappers (8 lifecycle methods)\n- **Drop-in plugins** for WooCommerce, OpenCart, PrestaShop, and Shopware (tested and deployed)\n- **CMS payment gateways** for Drupal Commerce, Easy Digital Downloads (WordPress), and Ghost — all Comet-validated 2026-04-15\n- **Native adapters** for PHP, Python, Go, Rust, and TypeScript (zero external dependencies) — all at v1.2.0 with full Tier 2 (recurring) surface\n- **Agent protocol middleware** for MPP and AP2 (gate APIs behind payment challenges)\n- **AI platform adapters** for OpenAI, Claude, Gemini, Bedrock, Cohere, xAI/Grok, and Mistral (MPP + AP2 + x402, all 7 chains)\n- **AI agent framework adapters** for LangChain, LlamaIndex, CrewAI, Hugging Face, AutoGen, Semantic Kernel, Pydantic AI, DSPy, Vercel AI SDK, Google A2A, LangGraph, and Agno — gate LLM-agnostic pipelines, RAG chains, multi-agent crews, and autonomous agents (MPP + AP2 + x402, all 7 chains)\n- **No-code / automation adapters** for Zapier, Make (Integromat), n8n, and **X (Twitter)** — drop-in Python classes that bridge AlgoVoi payment flows into any no-code workflow, with webhook verification, MPP + x402 + AP2 challenge generation, and all 14 networks (7 mainnet + 7 testnet); the X adapter auto-posts payment confirmations and checkout links to X via webhook (OAuth 1.0a, stdlib-only, 4-chain mainnet verified 2026-04-18)\n- **MCP server** (`@algovoi/mcp-server` / `algovoi-mcp`) — exposes 13 AlgoVoi tools natively inside Claude Desktop, Claude Code, Cursor, and Windsurf via the Model Context Protocol\n- **x402 embeddable widget** for any HTML page (Cloudflare Pages)\n- **Integration guides and Python adapters for 45+ platforms** — all end-to-end tested on `api.algovoi.co.uk` across all 7 chains\n\n---\n\n## AlgoVoi Cloud — No-Code Dashboard\n\nThe fastest way to accept stablecoin payments — no server access or code required. **[dash.algovoi.co.uk](https://dash.algovoi.co.uk)** is the hosted SaaS version of AlgoVoi: sign up with your email, verify your identity, and connect your platforms through a guided dashboard wizard. Each wizard takes under 5 minutes.\n\n### Sign up\n\n1. Go to [dash.algovoi.co.uk/signup](https://dash.algovoi.co.uk/signup)\n2. Enter your email and choose your account type (Individual, Sole Trader, or Company)\n3. Your AlgoVoi API key is shown once on screen — copy it immediately\n4. Complete KYC/KYB verification in the dashboard to unlock mainnet payments\n\nSupported chains: Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo\n\n### Connect a platform\n\nAfter signing in, open **Connect** from the sidebar. Every integration has a setup badge:\n\n| Badge | Meaning |\n|-------|---------|\n| ⚡ 1-click | Connect through an existing account — no downloads |\n| 🔧 Upload | Download a zip and upload through your platform's admin UI |\n| ⌨️ CLI | Requires shell access — run commands on your server |\n\n#### E-commerce\n\n| Platform | Setup | Notes |\n|----------|-------|-------|\n| **WooCommerce** | 🔧 Upload | WordPress + WooCommerce |\n| **Magento 2** | ⌨️ CLI | Adobe Commerce / Magento Open Source |\n| **PrestaShop** | 🔧 Upload | PrestaShop 8.x — hosted + wallet checkout |\n| **OpenCart** | 🔧 Upload | OpenCart 4 payment extension |\n| **Shopware** | 🔧 Upload | Shopware 6 payment plugin |\n| **Gravity Forms** | 🔧 Upload | WordPress form builder with payments |\n| **GiveWP** | 🔧 Upload | WordPress donation & fundraising plugin |\n| Shopify | — | Coming soon (OAuth app install) |\n\n#### Automation\n\n| Platform | Setup | Notes |\n|----------|-------|-------|\n| **Zapier** | ⚡ 1-click | Connect 6,000+ apps via Zaps |\n| **n8n** | ⚡ 1-click | Open-source workflow automation |\n| **Make (Integromat)** | ⚡ 1-click | Visual automation platform |\n| **Pabbly Connect** | ⚡ 1-click | Affordable automation for 1,000+ apps |\n| **Activepieces** | ⚡ 1-click | Open-source automation (self-host or cloud) |\n| **X (Twitter)** | ⌨️ CLI | Auto-post tweets on payment confirmation |\n\n#### Messaging Bots\n\n| Platform | Setup | Notes |\n|----------|-------|-------|\n| **X (Twitter) Bot** | ⚡ 1-click | Customers tweet `pay £X` → hosted USDC checkout link auto-replied |\n| **Telegram Bot** | ⚡ 1-click | Payment-confirmed reply after Telegram-initiated checkout |\n| **Viber Bot** | ⚡ 1-click | Viber webhook — payment links and confirmations via Viber messages |\n\n#### AI Assistants\n\n| Platform | Setup | Notes |\n|----------|-------|-------|\n| **Claude / Cursor / Windsurf** | ⚡ 1-click | AlgoVoi MCP server — 13 payment tools inside your AI assistant |\n\n### KYC / KYB verification\n\nBefore your first mainnet payment, upload the required documents through the **Onboarding** page:\n\n| Account type | Required documents |\n|-------------|-------------------|\n| Individual | Government ID, Selfie, Proof of Address, Source of Funds |\n| Sole Trader | Same as Individual |\n| Company | Certificate of Incorporation, Director ID, Beneficial Owner Register, Memorandum of Association, plus director personal docs |\n\nAccepted formats: PDF, JPEG, PNG, WebP — max 50 MB per file. The dashboard auto-advances to active status when all required documents are collected.\n\n---\n\n## Repository structure\n\n```\nplatform-adapters/\n├── Recurr/               # Tier 2 — standing-authority recurring payments (per-chain\n│                         #          wallet-side flows + chain-agnostic merchant examples).\n│                         #          Lives alongside the language adapters which carry\n│                         #          the merchant HTTP wrappers (native-python v1.2.0+).\n├── woocommerce/          # WooCommerce plugin (single PHP file)\n├── opencart/             # OpenCart 4 extensions (hosted + wallet)\n├── prestashop/           # PrestaShop 8 modules (hosted + wallet)\n├── shopware/             # Shopware 6 plugin (Symfony handlers)\n├── native-php/           # Framework-free PHP adapter\n├── native-python/        # Stdlib-only Python adapter\n├── native-go/            # Stdlib-only Go package\n├── native-rust/          # Zero-crate Rust library\n├── native-typescript/    # Single-file TS adapter (Node 18+/Bun/Deno/browsers/Edge)\n├── magento2/             # Magento 2 / Adobe Commerce module (PHP)\n├── amazon-mws/           # Amazon SP-API webhook adapter (Python)\n├── tiktok-shop/          # TikTok Shop Open Platform adapter (Python)\n├── squarespace/          # Squarespace Commerce webhook adapter (Python)\n├── wix/                  # Wix Payment Provider SPI (Velo)\n├── mpp-adapter/          # MPP server middleware (Python)\n├── ap2-adapter/          # AP2 server middleware (Python)\n├── shopify-app/          # Private — Shopify payment app (Cloudflare Pages, not distributed)\n├── x402-widget/          # Embeddable payment widget (Web Component)\n│\n│   — Live-tested Python webhook adapters (4 original chains verified 2026-04-14; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23) —\n├── allegro/              # Allegro marketplace (Poland / CEE)\n├── bigcommerce/          # BigCommerce webhook adapter (partial — see note)\n├── bolcom/               # Bol.com (Netherlands / Belgium)\n├── cdiscount/            # Cdiscount (France / Belgium)\n├── cex/                  # CeX (webstore operator bypass)\n├── discord/              # Discord interactions payment adapter (Ed25519 — needs real app keypair)\n├── ebay/                 # eBay Platform Notifications adapter\n├── ecwid/                # Ecwid / Lightspeed E-Series adapter\n├── etsy/                 # Etsy webhook adapter\n├── faire/                # Faire B2B wholesale adapter (docs only — API approval required)\n├── flipkart/             # Flipkart Seller API adapter (India)\n├── freshbooks/           # FreshBooks invoice payment adapter\n├── instagram-shops/      # Instagram & Facebook Shops adapter\n├── jumia/                # Jumia seller adapter (docs only — no webhook endpoint)\n├── lazada/               # Lazada open platform adapter (SE Asia)\n├── mercadolibre/         # Mercado Libre adapter (Latin America)\n├── myob/                 # MYOB AccountRight poll-based adapter\n├── onbuy/                # OnBuy marketplace adapter (UK)\n├── printful/             # Printful print-on-demand adapter\n├── printify/             # Printify print-on-demand adapter (docs only — no webhook endpoint)\n├── quickbooks-online/    # QuickBooks Online invoice adapter\n├── rakuten/              # Rakuten marketplace adapter\n├── sage-business-cloud/  # Sage Business Cloud invoice adapter\n├── shopee/               # Shopee open platform adapter (SE Asia)\n├── telegram/             # Telegram Bot payment adapter\n├── tokopedia/            # Tokopedia seller adapter (Indonesia)\n├── truelayer/            # TrueLayer open banking adapter (ES512 — needs real signing key)\n├── walmart/              # Walmart Marketplace adapter\n├── wave/                 # Wave Accounting invoice adapter\n├── whatsapp/             # WhatsApp Business API adapter\n├── wormhole/             # Wormhole cross-chain bridge adapter\n├── x402-ai-agents/       # x402 autonomous AI agent payment adapter\n├── ai-adapters/\n│   ├── openai/           # Payment-gated OpenAI / compatible API wrappers (MPP + AP2 + x402)\n│   ├── claude/           # Payment-gated Anthropic Claude wrappers (MPP + AP2 + x402)\n│   ├── gemini/           # Payment-gated Google Gemini wrappers (MPP + AP2 + x402)\n│   ├── bedrock/          # Payment-gated Amazon Bedrock Converse API wrappers (MPP + AP2 + x402)\n│   ├── cohere/           # Payment-gated Cohere ClientV2 wrappers (MPP + AP2 + x402)\n│   ├── xai/              # Payment-gated xAI Grok wrappers (MPP + AP2 + x402)\n│   └── mistral/          # Payment-gated Mistral AI wrappers (MPP + AP2 + x402)\n├── ai-agent-frameworks/\n│   ├── langchain/        # LangChain gate — any ChatModel, LCEL chain, RAG pipeline, or ReAct agent\n│   ├── llamaindex/       # LlamaIndex gate — QueryEngine, ChatEngine, RAG pipeline, or ReAct agent\n│   ├── crewai/           # CrewAI gate — crew.kickoff() + BaseTool for multi-agent crews\n│   ├── huggingface/      # Hugging Face gate — InferenceClient, transformers pipeline, smolagents tool\n│   ├── autogen/          # AutoGen gate — initiate_chat() + callable tool (0.2.x + 0.4.x)\n│   ├── semantic-kernel/  # Semantic Kernel gate — chat completion, KernelFunction, SK plugin\n│   ├── pydantic-ai/      # Pydantic AI gate — any Agent, deps injection, provider:model strings\n│   ├── dspy/             # DSPy gate — any Predict / ChainOfThought / ReAct / compiled program\n│   ├── vercel-ai-sdk/    # Vercel AI SDK gate — generateText, streamText, tool() — TypeScript\n│   ├── a2a/              # Google A2A gate — A2A v1.0 REST (6 routes), agent card + extended card, task store\n│   ├── langgraph/        # LangGraph gate — StateGraph invoke/stream, ToolNode, create_react_agent\n│   └── agno/             # Agno gate — pre_hooks, ASGI middleware (AgentOS), run_agent + arun_agent\n├── no-code/              # No-code / automation adapters (Zapier, Make, n8n, X) — v1.0.0, 225+ tests\n│   ├── zapier/           #   AlgoVoiZapier — ZapierActionResult, webhook bridge, action handlers\n│   ├── make/             #   AlgoVoiMake — Make bundle dict, module handlers\n│   ├── n8n/              #   AlgoVoiN8n — n8n item dict, operation handlers\n│   └── x/                #   AlgoVoiX — X (Twitter) webhook adapter; auto-posts payment confirmations &amp; checkout links via OAuth 1.0a\n├── mcp-server/           # MCP server — 13 AlgoVoi tools for Claude Desktop / Claude Code / Cursor / Windsurf\n│   ├── typescript/       #   @algovoi/mcp-server (npm) — `npx -y @algovoi/mcp-server`\n│   └── python/           #   algovoi-mcp (PyPI) — `uvx algovoi-mcp`\n├── drupal-commerce/      # Drupal 10/11 + Commerce 2/3 payment gateway module\n├── easy-digital-downloads/ # EDD 3.2+ WordPress plugin (digital downloads, licensing)\n├── ghost/                # Ghost 5.x paid-membership grant-on-payment adapter\n├── xero/                 # Xero invoice payment adapter\n├── yapily/               # Yapily open banking adapter\n├── zoho-books/           # Zoho Books invoice adapter\n│\n├── {platform}.md         # Integration guides (45+ platforms)\n└── README.md\n```\n\n### Live-tested adapters\n\nThe following adapters have been end-to-end tested against a live AlgoVoi tenant on `algorand_mainnet`, `voi_mainnet`, `hedera_mainnet`, `stellar_mainnet`, `base_mainnet`, and `solana_mainnet`:\n\n| Platform | Demo store / notes | Hosted chains | Extension chains |\n|----------|--------------------|---------------|-----------------|\n| OpenCart 4 | your-domain.example | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| PrestaShop 8.2.5 | your-domain.example | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| Shopware 6.7.8.2 | your-domain.example | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| WooCommerce 10.6.2 / WordPress 6.9.4 | your-domain.example | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| Shopify (Cloudflare Pages) | algovoi-3.myshopify.com | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Magento 2 / Adobe Commerce | — | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Amazon SP-API | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| TikTok Shop | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Squarespace | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Wix eCommerce | — (SPI checkout) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Native PHP | — | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| Native Python | — | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| Native Go | — | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| Native Rust | — | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| AlgoVoi 1.0 | api.algovoi.co.uk/shop-demo | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | Algorand, VOI |\n| QuickBooks Online | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Xero | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| FreshBooks | — (B2B webhook, form-urlencoded + fetch_order) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Sage Business Cloud | — (polling, no push webhooks) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Zoho Books | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Wave | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| MYOB | — (polling, no push webhooks) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| eBay | — (Platform Notifications webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Ecwid / Lightspeed E-Series | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Etsy | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Rakuten Ichiba | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| OnBuy | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Yapily | — (open banking webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Walmart Marketplace | — (B2B webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| CeX | — (operator bypass webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Printful | — (print-on-demand webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Wormhole | — (cross-chain bridge webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| WhatsApp Business | — (Meta webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Instagram Shops | — (Meta webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Telegram | — (Bot API webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Allegro | — (marketplace webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Bol.com | — (marketplace webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Cdiscount | — (marketplace webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Flipkart | — (Seller API webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Lazada | — (open platform webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Mercado Libre | — (marketplace webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Shopee | — (open platform webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Tokopedia | — (marketplace webhook) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| x402 AI Agent adapter | — (x402 spec v1: `accepts` array, CAIP-2 networks, microunit amounts, `payload.signature` proof) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| MPP Gate | — (100% IETF `draft-ryan-httpauth-payment`: challenge echo, CAIP-2 routing, HMAC IDs, on-chain verification — v2.1.0, 153/153 tests, live smoke-tested all 4 original chains 13 Apr 2026; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| AP2 Gate | — (payment request + local ed25519 verification) | Algorand, VOI | — |\n| LangChain (AI agent frameworks) | — (MPP + AP2 + x402; gates any ChatModel, LCEL chain, RAG pipeline, or ReAct agent tool — 76/77 tests, Phase 1+2 PASS 5/5 chains 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| LlamaIndex (AI agent frameworks) | — (MPP + AP2 + x402; gates LlamaIndex LLM, QueryEngine, ChatEngine, or ReAct agent tool — 80/80 tests, Comet-validated 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| CrewAI (AI agent frameworks) | — (MPP + AP2 + x402; gates crew.kickoff() + BaseTool with PaymentToolInput args_schema — 68/68 tests, Comet-validated 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Hugging Face (AI agent frameworks) | — (MPP + AP2 + x402; gates InferenceClient.chat_completion(), transformers pipeline, and smolagents Tool — 83/83 tests, 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| AutoGen (AI agent frameworks) | — (MPP + AP2 + x402; gates initiate_chat() + callable FunctionTool-compatible tool; llm_config property; 0.2.x + 0.4.x — 86/86 tests, 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Semantic Kernel (AI agent frameworks) | — (MPP + AP2 + x402; gates chat completion, kernel.invoke(), and @kernel_function plugin; asyncio.run() sync wrappers — 76/76 tests, 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Pydantic AI (AI agent frameworks) | — (MPP + AP2 + x402; gates any Agent with deps injection, all provider:model strings, pydantic_ai.tools.Tool-compatible — 77/77 tests, 16 Apr 2026) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| DSPy (AI agent frameworks) | — (MPP + AP2 + x402; gates any Predict / ChainOfThought / ReAct / compiled program; dspy.context isolation, plain callable tool for ReAct — 78/78 tests, Phase 1 9/9 PASS 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Vercel AI SDK (AI agent frameworks) | — (MPP + AP2 + x402; TypeScript; generateText + streamText + tool() + nextHandler; any @ai-sdk/* provider — 79/79 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Google A2A (AI agent frameworks) | — (MPP + AP2 + x402; A2A v1.0 REST server + client; 6 live endpoints: `/.well-known/agent.json`, `/extendedAgentCard`, `/message:send`, `/tasks`, `/tasks/{id}`, `/tasks/{id}:cancel`; extended agent card with payment auth metadata; legacy JSON-RPC 2.0 compat kept — 120/120 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| LangGraph (AI agent frameworks) | — (MPP + AP2 + x402; gates compiled StateGraph invoke/stream; AlgoVoiPaymentTool is BaseTool subclass, ToolNode-compatible, create_react_agent-compatible; flask_guard + flask_agent convenience wrappers — 77/77 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Agno (AI agent frameworks) | — (MPP + AP2 + x402; gates any Agno Agent via pre_hooks, ASGI middleware for AgentOS, run_agent/arun_agent wrappers, flask_guard + flask_agent; AgnoPaymentRequired exception — 88/88 tests, Phase 1 13/13 PASS 16 Apr 2026, Comet-validated) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n| Zapier (no-code) | — (webhook bridge + action handlers: create_payment_link, verify_payment, list_networks, generate_challenge MPP/x402/AP2; ZapierActionResult return type — 77/77 tests, Phase 1+2 PASS 17 Apr 2026, Comet-validated) | 24 networks (12 mainnet + 12 testnet) | — |\n| Make / Integromat (no-code) | — (module handlers: create_payment_link, verify_payment, list_networks, generate_challenge MPP/x402/AP2; Make bundle dict return type — 71/71 tests, Phase 1+2 PASS 17 Apr 2026, Comet-validated) | 24 networks (12 mainnet + 12 testnet) | — |\n| n8n (no-code) | — (operation handlers: create_payment_link, verify_payment, list_networks, generate MPP/x402/AP2 challenges; n8n item dict return type — 77/77 tests, Phase 1+2 PASS 17 Apr 2026, Comet-validated) | 24 networks (12 mainnet + 12 testnet) | — |\n| X / Twitter (no-code) | — (webhook adapter + OAuth 1.0a tweet posting; auto-posts payment confirmations &amp; checkout links when AlgoVoi fires a webhook; 62/62 unit tests; 4-chain mainnet e2e verified 18 Apr 2026; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23 — payments confirmed on-chain, tweets posted automatically) | Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo | — |\n\n**Last webhook test:** 14 April 2026 — all 39 testable adapters passed on all 4 original chains (`algorand_mainnet`, `voi_mainnet`, `hedera_mainnet`, `stellar_mainnet`); Base and Solana added 2026-04-22/23. Checkout pages validated live via Comet CDP. 6 adapters skipped: BigCommerce (partial — order-amount fetch needs real API credentials), Discord (Ed25519), TrueLayer (ES512), Faire/Jumia/Printify (docs only).\n\n**Accounting adapters unit tests:** 339 passing, 0 failing (includes replay attack prevention coverage — commit `5025c4e`)\n\n**AI agent adapters — production ready as of 13 April 2026:**\n- x402: **spec v1 compliant** — `x402Version: 1`, `accepts` array, CAIP-2 network IDs, string microunit amounts, `payload.signature` proof format. Real payments smoke-tested on all 4 original chains (Algorand, VOI, Stellar, Hedera mainnet); Base and Solana added 2026-04-22/23. `x402/verify` confirmed `verified:true` on each. 76/76 unit tests passing. Adapter v2.0.0.\n- MPP: **100% IETF spec compliant** (v2.1.0) — `id` (HMAC-SHA256), `method`, `intent=\"charge\"`, `request=` (charge intent object), `expires`, challenge echo validation (Table 3), CAIP-2 network routing, replay protection, spec-compliant `Payment-Receipt`. On-chain verification smoke-tested on all 4 original chains (Algorand, VOI, Hedera, Stellar) 13 Apr 2026 ×2; Base and Solana added 2026-04-22/23. 153/153 unit tests.\n- AP2: **production ready** (v2.0.0) — AP2 v0.1 CartMandate/PaymentMandate with AlgoVoi crypto-algo extension. CartMandate issues `PaymentMethodData` per extension schema (`network`, `receiver`, `amount_microunits`, `asset_id`, `min_confirmations`, `memo_required`). PaymentMandate accepts `payment_response.details.{network, tx_id, note_field}`. ed25519 sig + on-chain AVM verification. PyNaCl + cryptography fallback both confirmed. 81/81 tests.\n\n### Two payment flows\n\n**Hosted checkout** — Customer is redirected to a secure AlgoVoi-hosted payment page. Supports Algorand, VOI, Hedera, Stellar, Base, Solana, and Tempo. Works with any wallet (Pera, Defly, Lute, HashPack, Freighter, LOBSTR, MetaMask, Phantom, …). Payment confirmed via webhook or API status check. Used by all platforms including Shopify.\n\n**Extension payment** — Customer pays directly on the store page using the AlgoVoi browser extension and algosdk. Supports Algorand and VOI only (AVM chains). Buyers paying on Hedera or Stellar use hosted checkout with their chain-native wallet. No redirect required for extension flow. Available on WooCommerce, OpenCart, PrestaShop, and Shopware.\n\n**Shopify checkout extension** — \"Pay with Crypto →\" link rendered on the thank-you page via Shopify Checkout UI Extension (Preact). Customer selects their chain on a dedicated pay page. Webhook automatically adds payment link to order notes.\n\n---\n\n## E-commerce integrations\n\n| Platform | Guide | Files | Status |\n|----------|-------|-------|--------|\n| **Native PHP** | — | [native-php/](./native-php/) | **Available — drop-in, zero dependencies** |\n| **Native Python** | — | [native-python/](./native-python/) | **Available — stdlib only, no pip install** |\n| **Native Go** | — | [native-go/](./native-go/) | **Available — stdlib only, no go get** |\n| **Native Rust** | — | [native-rust/](./native-rust/) | **Available — zero crates, pure stdlib** |\n| **Shopify** | [shopify.md](./shopify.md) | Private (hosted service) | **Available — managed by AlgoVoi** |\n| **WooCommerce** | [woocommerce.md](./woocommerce.md) | [woocommerce/](./woocommerce/) | **Available — hosted + extension** |\n| **Magento 2 / Adobe Commerce** | [magento.md](./magento.md) | [magento2/](./magento2/) | **Available — hosted checkout, Knockout.js** |\n| BigCommerce | [bigcommerce.md](./bigcommerce.md) | [bigcommerce/](./bigcommerce/) | **Partial** — webhook sig verified; order-amount fetch requires real `store_hash` / `access_token` |\n| **Wix eCommerce** | [wix.md](./wix.md) | [wix/](./wix/) | **Available — Payment Provider SPI (real checkout)** |\n| **PrestaShop** | [prestashop.md](./prestashop.md) | [prestashop/](./prestashop/) | **Available — hosted + extension** |\n| **Squarespace** | [squarespace.md](./squarespace.md) | [squarespace/](./squarespace/) | **Available — B2B webhook adapter** |\n| **eBay** | [ebay.md](./ebay.md) | [ebay/](./ebay/) | **Available — Python webhook adapter** |\n| **Walmart** | [walmart.md](./walmart.md) | [walmart/](./walmart/) | **Available — Python webhook adapter** |\n| **Amazon SP-API** | [amazon.md](./amazon.md) | [amazon-mws/](./amazon-mws/) | **Available — B2B webhook adapter** |\n| **CeX** | [cex.md](./cex.md) | [cex/](./cex/) | **Available — Python operator-bypass adapter** |\n| **Ecwid / Lightspeed E-Series** | [ecwid.md](./ecwid.md) | [ecwid/](./ecwid/) | **Available — Python webhook adapter** |\n| **OpenCart** | [opencart.md](./opencart.md) | [opencart/](./opencart/) | **Available — hosted + extension** |\n| **Shopware** | [shopware.md](./shopware.md) | [shopware/](./shopware/) | **Available — hosted + extension** |\n| **TikTok Shop** | [tiktok-shop.md](./tiktok-shop.md) | [tiktok-shop/](./tiktok-shop/) | **Available — B2B webhook adapter** |\n\n## CMS integrations\n\nDrop-in payment gateways for major content-management and publishing platforms. All three were shipped together on **15 April 2026** and Comet-validated end-to-end. Each adapter applies the full April 2026 + pass-2 hardening set (cancel-bypass guard, empty-secret HMAC reject, timing-safe compare, 64 KB body cap, https-only outbound, amount sanity, scheme guards, token length caps, mandatory payment cross-check on webhooks).\n\n| Platform | Guide | Files | Engine | Status |\n|----------|-------|-------|--------|--------|\n| **Drupal Commerce** | [drupal-commerce/README.md](./drupal-commerce/README.md) | [drupal-commerce/](./drupal-commerce/) | Drupal 10 / 11 + Commerce 2 / 3 | **Available — OffsitePaymentGatewayBase module, DI-driven, v1.0.0** |\n| **Easy Digital Downloads** | [easy-digital-downloads/README.md](./easy-digital-downloads/README.md) | [easy-digital-downloads/](./easy-digital-downloads/) | EDD 3.2+ WordPress plugin | **Available — digital downloads + licensing + recurring, v1.0.0** |\n| **Ghost** | [ghost/README.md](./ghost/README.md) | [ghost/](./ghost/) | Ghost 5.x (Python, Admin API / JWT) | **Available — grant-on-payment member upgrade, v1.0.0** |\n\nEach adapter folder ships a `README.md` with a how-it-works diagram, quick-start, supported chains, webhook endpoint, security posture table, and dependency list.\n\n## Regional & international marketplace integrations\n\nAll regional marketplace adapters have been end-to-end tested on **14 April 2026** across all 4 original chains; Base and Solana added 2026-04-22/23. Checkout pages validated live via Comet CDP.\n\n| Platform | Guide | Region | Status |\n|----------|-------|--------|--------|\n| **Flipkart** | [flipkart.md](./flipkart.md) | India | **Available** — [flipkart/](./flipkart/) |\n| **Etsy** | [etsy.md](./etsy.md) | Global | **Available** — [etsy/](./etsy/) |\n| **Printful** | [printful.md](./printful.md) | Global (print-on-demand) | **Available** — [printful/](./printful/) |\n| Printify | [printify.md](./printify.md) | Global (print-on-demand) | Docs only — no webhook endpoint |\n| **Bol.com** | [bolcom.md](./bolcom.md) | Netherlands / Belgium | **Available** — [bolcom/](./bolcom/) |\n| **Lazada** | [lazada.md](./lazada.md) | SE Asia (MY, TH, PH, SG, ID, VN) | **Available** — [lazada/](./lazada/) |\n| **Tokopedia** | [tokopedia.md](./tokopedia.md) | Indonesia | **Available** — [tokopedia/](./tokopedia/) |\n| **Rakuten** | [rakuten.md](./rakuten.md) | Japan / France / Germany | **Available** — [rakuten/](./rakuten/) |\n| **Allegro** | [allegro.md](./allegro.md) | Poland / Central & Eastern Europe | **Available** — [allegro/](./allegro/) |\n| **Shopee** | [shopee.md](./shopee.md) | SE Asia / Brazil | **Available** — [shopee/](./shopee/) |\n| **Mercado Libre** | [mercadolibre.md](./mercadolibre.md) | Latin America | **Available** — [mercadolibre/](./mercadolibre/) |\n| **OnBuy** | [onbuy.md](./onbuy.md) | United Kingdom | **Available** — [onbuy/](./onbuy/) |\n| Jumia | [jumia.md](./jumia.md) | Africa (NG, KE, EG, GH + more) | Docs only — no webhook endpoint |\n| **Cdiscount** | [cdiscount.md](./cdiscount.md) | France / Belgium | **Available** — [cdiscount/](./cdiscount/) |\n| Faire | [faire.md](./faire.md) | Global (B2B wholesale) | Docs only — [faire/](./faire/) — requires Faire API approval |\n\n## Accounting integrations\n\nAll 7 accounting adapters are end-to-end tested on **14 April 2026** against `api.algovoi.co.uk` across all 4 original chains (28/28 pass); Base and Solana added 2026-04-22/23.\n\n> **Adapter source is not publicly distributed.** Integration guides are below. Download your adapter from the [AlgoVoi dashboard](https://api.algovoi.co.uk/dashboard/downloads) after signing in with your API key.\n\n| Platform | Guide | Status |\n|----------|-------|--------|\n| **QuickBooks Online** | [quickbooks-online.md](./quickbooks-online.md) | **Available** — private download |\n| **Xero** | [xero.md](./xero.md) | **Available** — private download |\n| **FreshBooks** | [freshbooks.md](./freshbooks.md) | **Available** — private download (form-urlencoded webhook + `fetch_order`) |\n| **Sage Business Cloud** | [sage-business-cloud.md](./sage-business-cloud.md) | **Available** — private download (polling model, no push webhooks) |\n| **Zoho Books** | [zoho-books.md](./zoho-books.md) | **Available** — private download (webhook body must include `${INVOICE.INVOICE_TOTAL}`) |\n| **Wave** | [wave.md](./wave.md) | **Available** — private download |\n| **MYOB** | [myob.md](./myob.md) | **Available** — private download (polling model, no push webhooks) |\n\n## Social commerce integrations\n\n| Platform | Guide | Status |\n|----------|-------|--------|\n| **Telegram** | [telegram.md](./telegram.md) | **Available** — [telegram/](./telegram/) |\n| Discord | [discord.md](./discord.md) | [discord/](./discord/) — Ed25519 signature; requires real Discord application keypair |\n| **WhatsApp Business** | [whatsapp.md](./whatsapp.md) | **Available** — [whatsapp/](./whatsapp/) |\n| **Instagram & Facebook Shops** | [instagram-shops.md](./instagram-shops.md) | **Available** — [instagram-shops/](./instagram-shops/) |\n\n## Financial services integrations\n\n| Platform | Guide | Status |\n|----------|-------|--------|\n| TrueLayer | [truelayer.md](./truelayer.md) | [truelayer/](./truelayer/) — ES512 JWK signature; requires real TrueLayer signing key |\n| **Yapily** | [yapily.md](./yapily.md) | **Available** — [yapily/](./yapily/) |\n| **Wormhole** | [wormhole.md](./wormhole.md) | **Available** — [wormhole/](./wormhole/) |\n\n## AI agent & machine payment adapters\n\n| Adapter | Files | Description | Status |\n|---------|-------|-------------|--------|\n| **x402** | [x402-ai-agents.md](./x402-ai-agents.md) / [x402-ai-agents/](./x402-ai-agents/) | Autonomous AI agent payments via the x402 protocol (spec v1 — `accepts` array, CAIP-2 IDs, microunit amounts, `payload.signature`) | **Production ready** — real payments smoke-tested on all 4 original chains (Algorand, VOI, Stellar, Hedera); Base and Solana added 2026-04-22/23, `x402/verify` confirmed on each. Adapter v2.0.0, 76/76 tests. |\n| **MPP** | [mpp-adapter/mpp-adapter.md](./mpp-adapter/mpp-adapter.md) / [mpp-adapter/](./mpp-adapter/) | Machine Payments Protocol server middleware — 100% IETF `draft-ryan-httpauth-payment` compliant (challenge echo validation, CAIP-2 network routing, HMAC challenge IDs, on-chain verification, replay protection) | **Production ready** — 0.01 USDC live smoke-tested on all 4 original chains (Algorand, VOI, Hedera, Stellar) 13 Apr 2026; Base and Solana added 2026-04-22/23. Adapter v2.1.0, 153/153 tests. |\n| **AP2** | [ap2-adapter/ap2-adapter.md](./ap2-adapter/ap2-adapter.md) / [ap2-adapter/](./ap2-adapter/) | AP2 v0.1 CartMandate/PaymentMandate server middleware with AlgoVoi crypto-algo extension. ed25519 mandate signing + on-chain tx verification across all 7 chains (Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo). | **Production ready** — 0.01 USDC live smoke-tested on all 4 original chains 13 Apr 2026; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23. Real ed25519 sig verified. v2.0.0, 81/81 tests. |\n\n## AI Platform Adapters\n\nDrop-in payment gates for AI provider APIs. Each adapter wraps the AI call behind an on-chain payment check — the caller pays 0.01 USDC (or any configured amount) before the AI responds. All adapters accept OpenAI-format message lists and share a common interface: `check(headers, body)` → `result`, `complete(messages)` → `str`, `flask_guard()` convenience method.\n\n| Platform | Class | SDK install | Protocol support | Files | Status |\n|----------|-------|-------------|-----------------|-------|--------|\n| **OpenAI** + compatible | `AlgoVoiMppAI` / `AlgoVoiAp2AI` / `AlgoVoiOpenAI` | `pip install openai` | MPP, AP2, x402 | [ai-adapters/openai/](./ai-adapters/openai/) | **Available** — 101/101 tests + smoke-tested all 4 original chains 14 Apr 2026; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23 |\n| **Anthropic Claude** | `AlgoVoiClaude` | `pip install anthropic` | MPP, AP2, x402 | [ai-adapters/claude/](./ai-adapters/claude/) | **Available** — 76/76 tests + smoke-tested all 4 original chains 14 Apr 2026; Base + Solana added 2026-04-22/23; Tempo added 2026-04-23 |\n| **Google Gemini** | `AlgoVoiGemini` | `pip install google-genai` | MPP, AP2, x402 | [ai-adapters/gemini/](./ai-adapters/gemini/) | **Available** — 75/75 tests (Phase 2 pending billing-enabled key) |\n| **Amazon Bedrock** | `AlgoVoiBedrock` | `pip install boto3` | MPP, AP2, x402 | [ai-adapters/bedrock/](./ai-adapters/bedrock/) | **Available** — 57/57 tests, Converse API (Nova / Claude / Llama / Titan models) |\n| **Cohere** | `AlgoVoiCohere` | `pip install cohere` | MPP, AP2, x402 | [ai-adapters/cohere/](./ai-adapters/cohere/) | **Available** — Phase 1 + 1.5 + 2 PASS 4/4 chains 15 Apr 2026 |\n| **xAI (Grok)** | `AlgoVoiXai` | `pip install xai-sdk` | MPP, AP2, x402 | [ai-adapters/xai/](./ai-adapters/xai/) | **Available** — 70/70 tests + Phase 1+2 PASS 4/4 chains 15 Apr 2026 (Comet-validated) |\n| **Mistral** | `AlgoVoiMistral` | `pip install mistralai` | MPP, AP2, x402 | [ai-adapters/mistral/](./ai-adapters/mistral/) | **Available** — 70/70 tests + Phase 1 PASS 4/4 chains 15 Apr 2026 (Comet-validated) |\n\nAll adapters support all 7 chains (Algorand, VOI, Hedera, Stellar, Base, Solana, Tempo) and all 3 payment protocols (MPP, AP2, x402).\n\n### OpenAI — MPP Quick start\n\n```python\nfrom mpp_algovoi import AlgoVoiMppAI\n\ngate = AlgoVoiMppAI(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    networks          = [\"algorand_mainnet\"],   # or voi_mainnet / hedera_mainnet / stellar_mainnet\n    amount_microunits = 10000,                  # 0.01 USDC per call\n    resource_id       = \"ai-chat\",\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    result = gate.check(dict(request.headers))\n    if result.requires_payment:\n        return result.as_flask_response()   # 402 + WWW-Authenticate: Payment challenge\n    # result.receipt.payer, .tx_id, .amount available\n    return jsonify({\"content\": gate.complete(request.json[\"messages\"])})\n```\n\nSupports any OpenAI-compatible provider via `base_url`:\n\n| Provider | base_url |\n|----------|----------|\n| OpenAI (default) | `https://api.openai.com/v1` |\n| Mistral | `https://api.mistral.ai/v1` |\n| Together AI | `https://api.together.xyz/v1` |\n| Groq | `https://api.groq.com/openai/v1` |\n| Perplexity | `https://api.perplexity.ai` |\n\n### OpenAI — AP2 Quick start\n\n```python\nfrom ap2_algovoi import AlgoVoiAp2AI\n\ngate = AlgoVoiAp2AI(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    networks          = [\"algorand-mainnet\", \"voi-mainnet\"],\n    amount_microunits = 10000,                  # 0.01 USDC per call\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()   # 402 + X-AP2-Cart-Mandate header\n    # result.mandate.payer_address, .network, .tx_id available\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\n### Claude — Quick start\n\n```python\nfrom claude_algovoi import AlgoVoiClaude\n\ngate = AlgoVoiClaude(\n    anthropic_key     = \"sk-ant-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",               # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,               # 0.01 USDC per call\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels: `claude-opus-4-7` · `claude-sonnet-4-6` (default) · `claude-haiku-4-5-20251001`\n\n### Gemini — Quick start\n\n```python\nfrom gemini_algovoi import AlgoVoiGemini\n\ngate = AlgoVoiGemini(\n    gemini_key        = \"AIza...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",               # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,               # 0.01 USDC per call\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels: `gemini-2.0-flash` (default) · `gemini-2.0-flash-lite` · `gemini-2.5-pro`\n\n### Bedrock — Quick start\n\n```python\nfrom bedrock_algovoi import AlgoVoiBedrock\n\ngate = AlgoVoiBedrock(\n    aws_access_key_id     = \"AKIA...\",       # or set AWS_ACCESS_KEY_ID env var\n    aws_secret_access_key = \"wJal...\",       # or set AWS_SECRET_ACCESS_KEY env var\n    aws_region            = \"us-east-1\",\n    algovoi_key           = \"algv_...\",\n    tenant_id             = \"your-tenant-uuid\",\n    payout_address        = \"YOUR_ALGORAND_ADDRESS\",\n    protocol              = \"mpp\",               # \"mpp\" | \"ap2\" | \"x402\"\n    network               = \"algorand-mainnet\",\n    amount_microunits     = 10000,               # 0.01 USDC per call\n    model                 = \"amazon.nova-pro-v1:0\",\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels (any model exposed by Bedrock Converse in your AWS region/account):\n`amazon.nova-pro-v1:0` (default) · `amazon.nova-lite-v1:0` · `anthropic.claude-3-5-sonnet-20241022-v2:0` · `meta.llama3-70b-instruct-v1:0` · `amazon.titan-text-premier-v1:0`\n\n### Cohere — Quick start\n\n```python\nfrom cohere_algovoi import AlgoVoiCohere\n\ngate = AlgoVoiCohere(\n    cohere_key        = \"...\",                     # Cohere API key\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",                     # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,                     # 0.01 USDC per call\n    model             = \"command-r-plus-08-2024\",\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels: `command-r-plus-08-2024` (default — most capable) · `command-r-08-2024` (balanced) · `command-r7b-12-2024` (fastest)\n\n### xAI (Grok) — Quick start\n\n```python\nfrom xai_algovoi import AlgoVoiXai\n\ngate = AlgoVoiXai(\n    xai_key           = \"xai-...\",                  # xAI API key\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",                      # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,                      # 0.01 USDC per call\n    model             = \"grok-4\",\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels: `grok-4` (default — latest, most capable) · `grok-3` · `grok-3-mini` (fast + cheap) · `grok-2-1212` · `grok-2-vision-1212`\n\n### Mistral — Quick start\n\n```python\nfrom mistral_algovoi import AlgoVoiMistral\n\ngate = AlgoVoiMistral(\n    mistral_key       = \"...\",                        # Mistral API key\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",                        # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,                        # 0.01 USDC per call\n    model             = \"mistral-large-latest\",\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\nModels: `mistral-large-latest` (default — flagship) · `mistral-medium-latest` · `mistral-small-latest` · `codestral-latest` · `open-mistral-nemo` · `pixtral-large-latest`\n\nOpenAI-format messages work across all seven platforms — system roles are extracted automatically where required (Claude, Bedrock), Gemini `assistant` roles are mapped to `model` internally, and Cohere, xAI, and Mistral all accept the system role natively via their respective SDKs.\n\n---\n\n## AI Agent Framework Adapters\n\nGate entire orchestration frameworks behind on-chain payment — not just a single model provider. These adapters are LLM-agnostic: pass any pre-built ChatModel, LCEL chain, RAG pipeline, or ReAct agent and the payment check wraps the whole thing.\n\n| Framework | Class | Install | Protocol support | Files | Status |\n|-----------|-------|---------|-----------------|-------|--------|\n| **LangChain** | `AlgoVoiLangChain` + `AlgoVoiPaymentTool` | `pip install langchain-core langchain-openai` | MPP, AP2, x402 | [ai-agent-frameworks/langchain/](./ai-agent-frameworks/langchain/) | **Available** — 76/77 tests + Phase 1+2 PASS 5/5 chains 16 Apr 2026 (Comet-validated) |\n| **LlamaIndex** | `AlgoVoiLlamaIndex` + `AlgoVoiPaymentTool` | `pip install llama-index` | MPP, AP2, x402 | [ai-agent-frameworks/llamaindex/](./ai-agent-frameworks/llamaindex/) | **Available** — 80/80 tests, Comet-validated 16 Apr 2026 |\n| **CrewAI** | `AlgoVoiCrewAI` + `AlgoVoiPaymentTool` | `pip install crewai` | MPP, AP2, x402 | [ai-agent-frameworks/crewai/](./ai-agent-frameworks/crewai/) | **Available** — 68/68 tests, Comet-validated 16 Apr 2026 |\n| **Hugging Face** | `AlgoVoiHuggingFace` + `AlgoVoiPaymentTool` | `pip install huggingface-hub smolagents` | MPP, AP2, x402 | [ai-agent-frameworks/huggingface/](./ai-agent-frameworks/huggingface/) | **Available** — 83/83 tests, 16 Apr 2026 |\n| **AutoGen** | `AlgoVoiAutoGen` + `AlgoVoiPaymentTool` | `pip install pyautogen` | MPP, AP2, x402 | [ai-agent-frameworks/autogen/](./ai-agent-frameworks/autogen/) | **Available** — 86/86 tests, 16 Apr 2026 |\n| **Semantic Kernel** | `AlgoVoiSemanticKernel` + `AlgoVoiPaymentPlugin` | `pip install semantic-kernel` | MPP, AP2, x402 | [ai-agent-frameworks/semantic-kernel/](./ai-agent-frameworks/semantic-kernel/) | **Available** — 76/76 tests, 16 Apr 2026 |\n| **Pydantic AI** | `AlgoVoiPydanticAI` + `AlgoVoiPaymentTool` | `pip install pydantic-ai` | MPP, AP2, x402 | [ai-agent-frameworks/pydantic-ai/](./ai-agent-frameworks/pydantic-ai/) | **Available** — 77/77 tests, 16 Apr 2026 |\n| **DSPy** | `AlgoVoiDSPy` + `AlgoVoiPaymentTool` | `pip install dspy` | MPP, AP2, x402 | [ai-agent-frameworks/dspy/](./ai-agent-frameworks/dspy/) | **Available** — 78/78 tests, Phase 1 9/9 PASS 16 Apr 2026, Comet-validated |\n| **Vercel AI SDK** | `AlgoVoiVercelAI` + `VercelAIResult` | `npm i ai zod` | MPP, AP2, x402 | [ai-agent-frameworks/vercel-ai-sdk/](./ai-agent-frameworks/vercel-ai-sdk/) | **Available** — 79/79 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated — **TypeScript** |\n| **Google A2A** | `AlgoVoiA2A` + `AlgoVoiPaymentTool` | `pip install flask` | MPP, AP2, x402 | [ai-agent-frameworks/a2a/](./ai-agent-frameworks/a2a/) | **Available** — 84/84 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated |\n| **LangGraph** | `AlgoVoiLangGraph` + `AlgoVoiPaymentTool` | `pip install langgraph` | MPP, AP2, x402 | [ai-agent-frameworks/langgraph/](./ai-agent-frameworks/langgraph/) | **Available** — 77/77 tests, Phase 1 12/12 PASS 16 Apr 2026, Comet-validated |\n| **Agno** | `AlgoVoiAgno` + `AlgoVoiPaymentTool` | `pip install agno` | MPP, AP2, x402 | [ai-agent-frameworks/agno/](./ai-agent-frameworks/agno/) | **Available** — 88/88 tests, Phase 1 13/13 PASS 16 Apr 2026, Comet-validated |\n\n### LangChain — Quick start\n\n```python\nfrom langchain_algovoi import AlgoVoiLangChain\n\ngate = AlgoVoiLangChain(\n    openai_key        = \"sk-...\",          # OpenAI key (or pass llm= to use any ChatModel)\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",             # \"mpp\" | \"ap2\" | \"x402\"\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,             # 0.01 USDC per call\n)\n\n@app.route(\"/ai/chat\", methods=[\"POST\"])\ndef chat():\n    body   = request.get_json(silent=True) or {}\n    result = gate.check(dict(request.headers), body)\n    if result.requires_payment:\n        return result.as_flask_response()\n    return jsonify({\"content\": gate.complete(body[\"messages\"])})\n```\n\n**Bring your own model** — pass any pre-built LangChain ChatModel instead of an OpenAI key:\n\n```python\nfrom langchain_anthropic import ChatAnthropic\n\ngate = AlgoVoiLangChain(\n    algovoi_key    = \"algv_...\",\n    tenant_id      = \"...\",\n    payout_address = \"...\",\n    llm            = ChatAnthropic(model=\"claude-opus-4-7\"),\n)\n```\n\n**Gate any LCEL chain or RAG pipeline:**\n\n```python\nchain = ChatPromptTemplate.from_template(\"Answer: {question}\") | ChatOpenAI() | StrOutputParser()\n\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    output = gate.invoke_chain(chain, {\"question\": body[\"question\"]})\n```\n\n**Drop into a ReAct agent as a `BaseTool`:**\n\n```python\ntool = gate.as_tool(resource_fn=lambda q: my_handler(q), tool_name=\"premium_kb\")\n\nfrom langchain.agents import create_react_agent, AgentExecutor\nagent    = create_react_agent(llm, tools=[tool], prompt=prompt)\nexecutor = AgentExecutor(agent=agent, tools=[tool])\n```\n\nThe tool accepts `{\"query\": \"...\", \"payment_proof\": \"<base64>\"}`. Returns a challenge JSON dict if proof is absent or invalid; calls `resource_fn(query)` and returns the result if verified.\n\nAll 7 chains and all 3 protocols supported. Full reference: [ai-agent-frameworks/langchain/README.md](./ai-agent-frameworks/langchain/README.md)\n\n### LlamaIndex — Quick start\n\n```python\nfrom llamaindex_algovoi import AlgoVoiLlamaIndex\n\ngate = AlgoVoiLlamaIndex(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,\n)\n\n# Gate a LlamaIndex QueryEngine (RAG pipeline)\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    answer = gate.query_engine_query(query_engine, body[\"query\"])\n\n# Gate a ChatEngine (multi-turn)\nif not result.requires_payment:\n    reply = gate.chat_engine_chat(chat_engine, body[\"message\"])\n```\n\n**ReAct agent tool** — drop into any LlamaIndex agent:\n\n```python\nfrom llama_index.core.agent import ReActAgent\n\ntool  = gate.as_tool(resource_fn=my_handler, tool_name=\"premium_kb\")\nagent = ReActAgent.from_tools([tool], llm=llm, verbose=True)\n```\n\nThe tool accepts `{\"query\": \"...\", \"payment_proof\": \"<base64>\"}`. Returns a `ToolOutput` with `.content` (challenge JSON or resource result), `.tool_name`, `.raw_input`, `.raw_output`.\n\n**Bring your own LlamaIndex LLM** (Anthropic, Google, Cohere, Bedrock, etc.):\n\n```python\nfrom llama_index.llms.anthropic import Anthropic\n\ngate = AlgoVoiLlamaIndex(\n    algovoi_key    = \"algv_...\",\n    tenant_id      = \"...\",\n    payout_address = \"...\",\n    llm            = Anthropic(model=\"claude-opus-4-7\"),\n)\n```\n\nAll 7 chains and all 3 protocols supported. Full reference: [ai-agent-frameworks/llamaindex/README.md](./ai-agent-frameworks/llamaindex/README.md)\n\n### CrewAI — Quick start\n\n```python\nfrom crewai_algovoi import AlgoVoiCrewAI\nfrom crewai import Agent, Task, Crew, LLM\n\ngate = AlgoVoiCrewAI(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,\n)\n\n# Gate a crew.kickoff() call\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    output = gate.crew_kickoff(my_crew, inputs={\"topic\": body[\"topic\"]})\n\n# Or use flask_guard with an inputs extractor\n@app.route(\"/ai/research\", methods=[\"POST\"])\ndef research():\n    return gate.flask_guard(my_crew, inputs_fn=lambda b: {\"topic\": b.get(\"topic\", \"\")})\n```\n\n**Add AlgoVoiPaymentTool to any CrewAI agent:**\n\n```python\ntool = gate.as_tool(resource_fn=my_handler, tool_name=\"premium_kb\")\n\nresearcher = Agent(\n    role      = \"Research Analyst\",\n    goal      = \"Use premium_kb to answer questions.\",\n    backstory  = \"Expert researcher.\",\n    tools     = [tool],\n    llm       = LLM(model=\"openai/gpt-4o\"),\n)\n```\n\nThe tool uses `PaymentToolInput` (Pydantic `args_schema`) — the agent generates `{\"query\": \"...\", \"payment_proof\": \"<base64>\"}`, CrewAI validates it, and `_run(query, payment_proof)` is called directly as kwargs. Any `crewai.LLM` provider (OpenAI, Anthropic, Gemini, Bedrock, Groq, Together AI, …) is supported via the LiteLLM router.\n\nAll 7 chains and all 3 protocols supported. Full reference: [ai-agent-frameworks/crewai/README.md](./ai-agent-frameworks/crewai/README.md)\n\n### Hugging Face — Quick start\n\n```python\nfrom huggingface_algovoi import AlgoVoiHuggingFace\n\ngate = AlgoVoiHuggingFace(\n    hf_token          = \"hf_...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,\n    model             = \"meta-llama/Meta-Llama-3-8B-Instruct\",\n)\n\n# Gate InferenceClient.chat_completion()\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    reply = gate.complete(body[\"messages\"])\n\n# Gate a transformers pipeline\nfrom transformers import pipeline\npipe = pipeline(\"text-generation\", model=\"HuggingFaceH4/zephyr-7b-beta\", token=\"hf_...\")\nif not result.requires_payment:\n    answer = gate.inference_pipeline(pipe, body[\"messages\"])\n```\n\n**Drop into a smolagents `ToolCallingAgent`:**\n\n```python\nfrom smolagents import ToolCallingAgent, InferenceClientModel\n\ntool  = gate.as_tool(resource_fn=my_handler, tool_name=\"premium_kb\")\nmodel = InferenceClientModel(model_id=\"meta-llama/Meta-Llama-3-8B-Instruct\")\nagent = ToolCallingAgent(tools=[tool], model=model)\nagent.run(\"Use premium_kb to answer my question.\")\n```\n\nThe tool accepts `query` and `payment_proof` (base64) as kwargs. Returns challenge JSON if proof absent/invalid; calls `resource_fn(query)` and returns the result if verified. Works with any `smolagents` agent type (`ToolCallingAgent`, `CodeAgent`, custom).\n\nAll 7 chains and all 3 protocols supported. Full reference: [ai-agent-frameworks/huggingface/README.md](./ai-agent-frameworks/huggingface/README.md)\n\n### AutoGen — Quick start\n\n```python\nfrom autogen_algovoi import AlgoVoiAutoGen\n\ngate = AlgoVoiAutoGen(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,\n)\n\n# Build agents from gate.llm_config\nfrom autogen import AssistantAgent, UserProxyAgent\nassistant  = AssistantAgent(\"assistant\",  llm_config=gate.llm_config)\nuser_proxy = UserProxyAgent(\"user_proxy\", human_input_mode=\"NEVER\",\n                             max_consecutive_auto_reply=3,\n                             code_execution_config=False)\n\n# Gate a conversation\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    output = gate.initiate_chat(assistant, user_proxy, body[\"message\"], max_turns=5)\n```\n\n**Callable tool — AutoGen 0.2.x:**\n\n```python\ntool = gate.as_tool(resource_fn=my_handler, tool_name=\"premium_kb\")\n\n@user_proxy.register_for_execution()\n@assistant.register_for_llm(description=tool.description, name=tool.name)\ndef premium_kb(query: str, payment_proof: str = \"\") -> str:\n    return tool(query=query, payment_proof=payment_proof)\n```\n\n**AutoGen 0.4.x `FunctionTool`:**\n\n```python\nfrom autogen_core.tools import FunctionTool\nfn_tool = FunctionTool(tool, description=tool.description, name=tool.name)\n```\n\nAll 7 chains and all 3 protocols supported. Full reference: [ai-agent-frameworks/autogen/README.md](./ai-agent-frameworks/autogen/README.md)\n\n### Semantic Kernel — Quick start\n\n```python\nfrom semantic_kernel_algovoi import AlgoVoiSemanticKernel\n\ngate = AlgoVoiSemanticKernel(\n    openai_key        = \"sk-...\",\n    algovoi_key       = \"algv_...\",\n    tenant_id         = \"your-tenant-uuid\",\n    payout_address    = \"YOUR_ALGORAND_ADDRESS\",\n    protocol          = \"mpp\",\n    network           = \"algorand-mainnet\",\n    amount_microunits = 10000,\n    model             = \"gpt-4o\",\n)\n\n# Gate SK chat completion (sync wrapper around async SK API)\nresult = gate.check(headers, body)\nif not result.requires_payment:\n    reply = gate.complete(body[\"messages\"])\n\n# Gate any KernelFunction\noutput = gate.invoke_function(kernel, summarise_fn, input=body[\"text\"])\n```\n\n**Add as a `@kernel_function` plugin:**\n\n```python\nplugin = gate.as_plugin(resource_fn=my_handler, plugin_name=\"premium_kb\")\nkernel.add_plugin(plugin, plugin_name=\"premi",
  "bytes": 60000,
  "sha": "52974dd48cb77ce2c78fb6d9de0c2002f3e4c5a08383825483cb3b9e3faf77eb",
  "repo_slug": "chopmob-cloud/algovoi-platform-adapters",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_chopmob_cloud_algovoi_mcp_serv_b6476ce7/readme"
}