Langsung ke konten utama
v0.2.0 — open source di GitHub

ClawPurse
402 Gateway

Reverse proxy HTTP yang melindungi API apa pun dengan mikropembayaran NTMPI di blockchain Neutaro. Alur bayar-per-permintaan dan saldo prabayar untuk agen AI, skrip otomasi, dan perdagangan mesin-ke-mesin.

  Klien (agen AI, skrip, browser)
    │
    ├── GET /api/data ─────────────────────▶  Gateway 402
    │                                              │
    │   ◀── 402 Payment Required ────────────────┘
    │       { invoiceId, amount, address, memo }
    │
    ├── clawpurse send <address> <amount> --memo <memo> --yes
    │       (pembayaran NTMPI on-chain)
    │
    ├── GET /api/data ─────────────────────▶  Gateway 402
    │   Header: X-Payment-Proof: <invoiceId>     │
    │                                              │
    │   Gateway memverifikasi pembayaran di Neutaro    │
    │                                              │
    │   ◀── 200 OK (proxy dari upstream) ────┘
Alur Pembayaran

Dua alur mikropembayaran: bayar-per-permintaan dan saldo prabayar

Apakah agen Anda membayar per panggilan atau mendanai saldo terlebih dahulu, gateway menangani pembuatan faktur, verifikasi on-chain, dan proxy upstream secara otomatis.

1

Bayar-per-permintaan

Klien mengakses endpoint yang dilindungi dan menerima 402 dengan faktur. Membayar on-chain, lalu mencoba lagi dengan header X-Payment-Proof. Gateway memverifikasi transaksi di Neutaro dan meneruskan ke upstream.

2

Saldo prabayar

Klien menyetor NTMPI sekali via /prepaid/deposit. Permintaan berikutnya menyertakan header X-Client-Id dan gateway memotong per panggilan — tanpa transaksi on-chain berulang.

Kemampuan

Dibangun untuk agen AI dan perdagangan mesin-ke-mesin

Semua yang dibutuhkan lapisan mikropembayaran, tidak lebih.

Verifikasi on-chain

Mengkueri Neutaro REST API untuk mengonfirmasi jumlah, memo, dan konfirmasi blok.

🧾

Penetapan harga per-rute

Harga default dengan override per-rute via GATEWAY_ROUTES. Pembacaan murah, penulisan mahal.

🔒

API Manajemen

Endpoint yang dilindungi JWT untuk dompet internal, transaksi, dan ledger blockchain ringan.

🔄

Reverse proxy

Meneruskan permintaan terautentikasi ke API upstream Anda secara transparan. Backend apa pun, bahasa apa pun.

📦

Penyimpanan SQLite

Faktur, saldo prabayar, dan log pembayaran disimpan secara lokal dalam satu file. Nol dependensi eksternal.

🐳

Siap Docker

Deploy satu perintah dengan docker compose up. Skrip deploy Ubuntu disertakan.

API

Referensi endpoint API gateway

Endpoint gratis untuk health check, pencarian faktur, dan kueri saldo. Lainnya melewati gate 402.

Gratis — tanpa pembayaran

MetodePathDeskripsi
GET /health Health check dengan konfigurasi gateway
GET /invoices/:id Periksa status faktur (memicu verifikasi on-chain)
POST /prepaid/deposit Daftarkan deposit (verifikasi tx on-chain terlebih dahulu)
GET /prepaid/balance/:clientId Periksa saldo prabayar

Manajemen — dilindungi JWT

MetodePathDeskripsi
POST/manage/auth/registerDaftarkan akun admin
POST/manage/auth/loginLogin, dapatkan token JWT
POST/manage/walletBuat dompet internal
GET/manage/walletDaftar dompet Anda
GET/manage/wallet/:idDapatkan dompet berdasarkan ID
POST/manage/transactionsBuat transaksi internal
GET/manage/transactions/:idDapatkan transaksi berdasarkan ID

Gate 402 — catch-all

MetodePathDeskripsi
ANY /* Semua permintaan lain memerlukan pembayaran atau saldo prabayar
Integrasi

Integrasi agen: contoh Python dan TypeScript

Hubungkan alur 402 ke agen mana pun dalam beberapa baris. Gateway menangani faktur dan verifikasi — kode Anda hanya perlu membayar dan mencoba lagi.

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();
}
Mulai Cepat

Instal dan jalankan gateway dalam waktu kurang dari satu menit

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
Arsitektur

Arsitektur microservice TypeScript

Codebase TypeScript terfokus — logika gateway, empat layanan internal, dan middleware. 46 unit test mencakup setiap lapisan.

config.ts
Konfigurasi gateway berbasis env
db.ts
SQLite: faktur, prabayar, log
invoice.ts
Pembuatan faktur dan penetapan harga rute
verify.ts
Verifikasi pembayaran on-chain
proxy.ts
Reverse proxy ke upstream
AuthService
Auth JWT untuk API manajemen
WalletService
Ledger dompet internal
TxService
Transfer antar dompet
BlockchainSvc
Blockchain internal
Konfigurasi

Konfigurasi gateway melalui variabel lingkungan

Semua pengaturan melalui variabel lingkungan atau file .env.

VariabelDefaultDeskripsi
PORT4020Port listen gateway
GATEWAY_UPSTREAMhttp://localhost:3000API upstream untuk diproxy
GATEWAY_PAYMENT_ADDRESSAlamat dompet Neutaro Anda (wajib)
GATEWAY_DEFAULT_PRICE0.001Harga default per permintaan dalam NTMPI
GATEWAY_ROUTESOverride harga per rute
GATEWAY_RESThttps://api2.neutaro.ioEndpoint Neutaro REST API
GATEWAY_MIN_CONFIRMATIONS1Konfirmasi blok yang diperlukan
GATEWAY_INVOICE_TTL300Validitas faktur dalam detik
GATEWAY_PREPAIDfalseAktifkan sistem saldo prabayar
GATEWAY_DB./gateway.dbPath database SQLite
JWT_SECRETSecret untuk JWT API manajemen (wajib)
Ekosistem

Bagian dari ekosistem Timpi, Neutaro & ClawPurse

Dompet ClawPurse

Dompet NTMPI lokal dengan keystore terenkripsi, pagar pengaman, staking, dan daftar tujuan. Klien referensi untuk pembayaran gateway.

github.com/mhue-ai/ClawPurse →

Blockchain Neutaro

Chain Cosmos SDK yang menggerakkan NTMPI. Semua pembayaran gateway diverifikasi langsung terhadap Neutaro REST API — tanpa oracle, tanpa bridge.

neutaro.com →

Jaringan Timpi

Pencarian terdesentralisasi yang mengutamakan privasi, API data terbuka, dan node DePIN. Monetisasi layanan Timpi via mikropembayaran.

timpi.io →

Faucet Timpi Drip

Faucet NTMPI ramah agen dengan tantangan proof-of-work. Agen OpenClaw mendapat throughput lebih tinggi.

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

Pertanyaan yang sering diajukan

Apa itu ClawPurse Gateway?

Reverse proxy HTTP open source yang mengimplementasikan 402 Payment Required untuk melindungi API dengan mikropembayaran NTMPI di Neutaro.

Bagaimana alur pembayaran HTTP 402 bekerja?

Klien menerima respons 402 dengan faktur, membayar on-chain, mencoba lagi dengan header X-Payment-Proof. Gateway memverifikasi dan meneruskan ke upstream.

Apa itu NTMPI dan bagaimana mendapatkannya?

NTMPI adalah token asli blockchain Neutaro, bagian dari jaringan pencarian Timpi . Dapatkan NTMPI gratis dari Faucet Timpi Drip, beli di MEXC via pasangan spot NTMPI/USDT, atau bridge via Gravity Bridge ke Osmosis dan tukar dengan dompet Keplr atau Leap.

Bisakah agen AI menggunakan gateway secara otonom?

Ya. Gateway dirancang untuk AI agentik. Agen dapat mem-parse faktur 402, membayar on-chain via API dompet ClawPurse, dan mencoba lagi dengan bukti pembayaran — tanpa intervensi manusia.