Skip to content
WildanNiamStart a conversation

Navigate

Software systems, documentary proof, and the decisions behind the build.

Back to work
Founder & Full-Stack Developer2026-04-24 to present

PayGate

Turning ordinary APIs into machine-paid endpoints on Stellar testnet.

State
active
Context
independent / grant / collaboration
Validation
grant / live-deployment / testnet / tests / transaction
PayGate product page showing an API URL transformed into a paid endpoint through 402 Required, MPP Paid, and 200 OK states.
PayGate's deployed product surface makes the core transformation visible: an ordinary API becomes a paid endpoint with explicit 402, MPP-paid, and delivered states. The displayed values explain the mechanism, not usage traction.

Outcome

PayGate was awarded a $5,000 SCF Instaward.

Awarded funding; not a claim of partnership, mainnet launch, revenue, or sprint completion.

Problem

The product question.

API billing usually assumes a human who creates an account, chooses a plan, and enters a card. AI agents need a machine-readable price challenge, a way to pay for one request, a safe retry with proof, and a JSON response. API owners would otherwise have to assemble verification, replay protection, upstream access, accounting, settlement, and withdrawal themselves.

Intended users

  • Indie API builders and startup teams operating useful GET and JSON endpoints.
  • Backend developers who want per-call monetization without building a payment gateway from scratch.
  • AI agents and machine clients that can answer an HTTP 402 challenge with Stellar payment credentials.

Contribution

Founder & Full-Stack Developer

Wildan founded PayGate and owns its product and full-stack implementation. ArgaAAL contributed a focused V1 testnet-beta hardening change.

  • Product direction and provider experience.
  • React application, API routes, and persistence model.
  • HTTP 402 proxy, Stellar MPP verification, and Soroban escrow integration.
  • Security hardening, automated evidence, deployment, and developer documentation.

Decisions

Choices that shaped the build.

01

Make activation prove upstream protection

A publicly reachable upstream would make the paid proxy cosmetic. PayGate probes with an invalid secret and requires rejection, then probes with the generated secret and requires success before activating an endpoint.

Activation proves that PayGate is the intended access path rather than merely recording a provider's configuration claim.

02

Bind payment identity across every boundary

One PayGate payment ID is carried through the MPP external ID, database constraints, replay store, transaction record, and idempotent contract credit.

A receipt can be traced and duplicate credentials or transaction hashes can be rejected, while reconciliation remains an explicit system boundary.

03

Keep developer custody at withdrawal

PayGate prepares the intended transaction, but Freighter holds the signing decision and the server checks the source and expected transaction hash.

The backend does not receive the developer's private key, at the cost of an additional explicit wallet step.

System flow

From intent to visible evidence.

  1. 01

    A provider signs a Freighter wallet-auth challenge and registers a priced GET or JSON endpoint.

  2. 02

    PayGate creates a proxy URL and encrypted upstream secret in a pending setup state.

  3. 03

    Invalid-secret rejection and valid-secret success activate the endpoint.

  4. 04

    An unpaid machine request receives HTTP 402 with request and payment identifiers.

  5. 05

    The client pays testnet USDC through Stellar MPP and retries with the credential.

  6. 06

    PayGate validates the bound payment, amount, recipient, transaction, and replay state.

  7. 07

    The Soroban escrow records an idempotent credit and PayGate forwards the secret-protected request.

  8. 08

    The response includes a receipt; the dashboard exposes request, payment, credit, split, and withdrawal evidence.

Reflection

What remains, and what comes next.

Current boundary

  • PayGate is testnet scoped; mainnet and production customer operations are not claimed.
  • Payment may precede upstream delivery, and automatic refund or retry-worker policy remains unresolved.
  • Dashboard demonstration numbers and placeholder hashes are not valid usage evidence.

Next improvements

  • Capture a clean deployed end-to-end replay on trypaygate.com.
  • Define automatic retry, expiry, and refund behavior for paid-but-undelivered requests.
  • Add durable public product documentation and an explicit repository license.
  • Gather truthful beta-user and usage evidence as the funded sprint progresses.

Technology

React 18 / Vite 7 / TypeScript / Node.js / Vercel Functions / Zod / Supabase Postgres / Upstash Redis / Stellar MPP / Stellar SDK / Freighter / Rust / Soroban / Playwright / GitHub Actions

Next projectNova AI Wallet