Ir al contenido principal
v0.2.0 — código abierto en GitHub

ClawPurse
402 Gateway

Un proxy inverso HTTP que protege cualquier API con micropagos NTMPI en la blockchain Neutaro. Flujos de pago por solicitud y saldo prepagado para agentes de IA, scripts de automatización y comercio máquina a máquina.

  Cliente (agente IA, script, navegador)
    │
    ├── GET /api/data ─────────────────────▶  Gateway 402
    │                                              │
    │   ◀── 402 Payment Required ────────────────┘
    │       { invoiceId, amount, address, memo }
    │
    ├── clawpurse send <address> <amount> --memo <memo> --yes
    │       (pago NTMPI on-chain)
    │
    ├── GET /api/data ─────────────────────▶  Gateway 402
    │   Header: X-Payment-Proof: <invoiceId>     │
    │                                              │
    │   El gateway verifica el pago en Neutaro    │
    │                                              │
    │   ◀── 200 OK (proxy desde upstream) ────┘
Flujos de pago

Dos flujos de micropago: pago por solicitud y saldo prepagado

Ya sea que tu agente pague por llamada o pre-financie un saldo, el gateway gestiona la creación de facturas, verificación on-chain y proxy upstream automáticamente.

1

Pago por solicitud

El cliente accede a un endpoint protegido y recibe un 402 con una factura. Paga on-chain y reintenta con un header X-Payment-Proof. El gateway verifica la transacción en Neutaro y hace proxy upstream.

2

Saldo prepagado

El cliente deposita NTMPI una vez vía /prepaid/deposit. Las solicitudes posteriores incluyen un header X-Client-Id y el gateway descuenta por llamada — sin transacciones on-chain repetidas.

Capacidades

Construido para agentes de IA y comercio máquina a máquina

Todo lo que una capa de micropagos máquina a máquina necesita, nada que no.

Verificación on-chain

Consulta la API REST de Neutaro para confirmar monto, memo y confirmaciones de bloque.

🧾

Precios por ruta

Precio predeterminado con override por ruta via GATEWAY_ROUTES. Lecturas baratas, escrituras caras.

🔒

API de gestión

Endpoints protegidos por JWT para billeteras internas, transacciones y ledger blockchain ligero.

🔄

Proxy inverso

Reenvía solicitudes autenticadas a tu API upstream. Cualquier backend, cualquier lenguaje.

📦

Almacenamiento SQLite

Facturas, saldos y registros en un solo archivo local. Cero dependencias externas.

🐳

Listo para Docker

Despliegue con docker compose up. Script Ubuntu incluido.

API

Referencia de endpoints del gateway

Endpoints gratuitos para health checks, consultas de facturas y saldos. Todo lo demás pasa por el gate 402.

Gratis — sin pago requerido

MétodoRutaDescripción
GET /health Health check con configuración del gateway
GET /invoices/:id Verificar estado de factura (activa verificación on-chain)
POST /prepaid/deposit Registrar depósito (verifica tx on-chain primero)
GET /prepaid/balance/:clientId Consultar saldo prepagado

Gestión — protegido por JWT

MétodoRutaDescripción
POST/manage/auth/registerRegistrar cuenta de administrador
POST/manage/auth/loginIniciar sesión, obtener token JWT
POST/manage/walletCrear billetera interna
GET/manage/walletListar tus billeteras
GET/manage/wallet/:idObtener billetera por ID
POST/manage/transactionsCrear transacción interna
GET/manage/transactions/:idObtener transacción por ID

Gate 402 — catch-all

MétodoRutaDescripción
ANY /* Todas las demás solicitudes requieren pago o saldo prepagado
Integración

Integración de agentes: ejemplos en Python y TypeScript

Conecta el flujo 402 en cualquier agente en pocas líneas. El gateway gestiona facturación y verificación — tu código solo necesita pagar y reintentar.

agent.py
import requests, subprocess, os

res = requests.get("http://gateway:4020/api/data")

if res.status_code == 402:
    inv = res.json()["payment"]

    # Pay with ClawPurse
    subprocess.run([
        "clawpurse", "send",
        inv["address"], inv["amount"],
        "--memo", inv["memo"], "--yes"
    ])

    # Retry with proof
    res = requests.get(
        "http://gateway:4020/api/data",
        headers={"X-Payment-Proof": inv["invoiceId"]}
    )

data = res.json()
agent.ts
async function paidFetch(url: string) {
  let res = await fetch(url);

  if (res.status === 402) {
    const { payment } = await res.json();

    // Pay with ClawPurse
    const { send, loadKeystore }
      = await import("clawpurse");
    const { wallet, address }
      = await loadKeystore(
          process.env.CLAWPURSE_PASSWORD!
        );
    await send(
      wallet, address,
      payment.address, payment.amount,
      { memo: payment.memo }
    );

    // Retry with proof
    res = await fetch(url, {
      headers: {
        "X-Payment-Proof": payment.invoiceId
      }
    });
  }
  return res.json();
}
Inicio rápido

Instala y ejecuta el gateway en menos de un minuto

terminal
# Clone and install
git clone https://github.com/mhue-ai/clawpurse-gateway.git
cd clawpurse-gateway && npm install

# Configure
cp .env.example .env
# Set GATEWAY_PAYMENT_ADDRESS and JWT_SECRET

# Start a test upstream
npm run test:upstream

# Start the gateway
npm run dev

# Test the 402 flow
curl http://localhost:4020/api/test
# Pay, then retry with proof:
curl -H "X-Payment-Proof: <invoiceId>" \
     http://localhost:4020/api/test
Arquitectura

Arquitectura de microservicios TypeScript

Codebase TypeScript enfocado — lógica del gateway, cuatro servicios internos y middleware. 46 tests unitarios cubren cada capa.

config.ts
Configuración del gateway por env
db.ts
SQLite: facturas, prepago, logs
invoice.ts
Creación de facturas y precios por ruta
verify.ts
Verificación de pagos on-chain
proxy.ts
Proxy inverso a upstream
AuthService
Auth JWT para API de gestión
WalletService
Ledger de billeteras internas
TxService
Transferencias billetera a billetera
BlockchainSvc
Blockchain interna
Config

Configuración del gateway mediante variables de entorno

Todas las configuraciones vía variables de entorno o archivo .env.

VariablePredeterminadoDescripción
PORT4020Puerto de escucha del gateway
GATEWAY_UPSTREAMhttp://localhost:3000API upstream a la que hacer proxy
GATEWAY_PAYMENT_ADDRESSTu dirección de billetera Neutaro (requerida)
GATEWAY_DEFAULT_PRICE0.001Precio predeterminado por solicitud en NTMPI
GATEWAY_ROUTESSobrecargas de precios por ruta
GATEWAY_RESThttps://api2.neutaro.ioEndpoint de la API REST de Neutaro
GATEWAY_MIN_CONFIRMATIONS1Confirmaciones de bloque requeridas
GATEWAY_INVOICE_TTL300Validez de la factura en segundos
GATEWAY_PREPAIDfalseHabilitar sistema de saldo prepagado
GATEWAY_DB./gateway.dbRuta de la base de datos SQLite
JWT_SECRETSecreto para JWT de la API de gestión (requerido)
Ecosistema

Parte del ecosistema Timpi, Neutaro y ClawPurse

Billetera ClawPurse

Billetera NTMPI local con keystores cifrados, barandillas, staking y listas de destinos. Cliente de referencia para pagar a través del gateway.

github.com/mhue-ai/ClawPurse →

Blockchain Neutaro

La cadena Cosmos SDK que potencia NTMPI. Todos los pagos verificados contra la API REST de Neutaro — sin oráculos, sin bridges.

neutaro.com →

Red Timpi

Búsqueda descentralizada, API de datos abierta y nodos DePIN. Monetiza servicios Timpi con micropagos.

timpi.io →

Faucet Timpi Drip

Faucet NTMPI con prueba de trabajo en lugar de CAPTCHA. Agentes OpenClaw obtienen mayor rendimiento.

drip.clawpurse.ai →

Ledger Timpi

Free NTMPI cost basis calculator and tax tool. Auto-fetches transfers, staking rewards, and node payouts from the Neutaro chain — calculates USD cost basis with FIFO/LIFO/HIFO and generates IRS Form 8949.

ledger.clawpurse.ai →

x402 Payment Protocol

Coinbase's open HTTP 402 standard routes every payment through a centralized facilitator that controls settlement. ClawPurse Gateway takes the opposite approach: peer-to-peer payments verified directly on Neutaro — no middleman, no EVM lock-in, no Coinbase SDK. Add prepaid balances for zero-latency repeat access, route-level pricing in one env var, and a full audit trail in SQLite. One Docker command to deploy; zero external dependencies to operate.

Full comparison →

x402.org →

github.com/coinbase/x402 →

FAQ

Preguntas frecuentes

¿Qué es ClawPurse Gateway?

Un proxy inverso HTTP de código abierto que implementa 402 Payment Required para proteger cualquier API con micropagos NTMPI en Neutaro. Soporta pago por solicitud y saldo prepagado.

¿Cómo funciona el flujo de pago HTTP 402?

Un cliente solicita un endpoint protegido y recibe una respuesta 402 con factura. Paga on-chain, luego reintenta con header X-Payment-Proof. El gateway verifica y hace proxy.

¿Qué es NTMPI y cómo lo obtengo?

NTMPI es el token nativo de Neutaro, parte de la red Timpi . Obtén NTMPI gratis del Faucet Timpi Drip, cómpralo en MEXC vía NTMPI/USDT, o bridge vía Gravity Bridge a Osmosis y swap con Keplr o Leap.

¿Pueden los agentes de IA usar el gateway autónomamente?

Sí. Diseñado para IA agéntica. Los agentes pueden parsear la factura 402, pagar on-chain vía la API de la billetera ClawPurse, y reintentar con prueba de pago — sin intervención humana.