402The402Machine

PRIVATE BETA / AGENT FIRST

Your API.
Your Lightning Address.

Put a fixed sat price on an endpoint. GATE creates the HTTP 402 challenge, verifies payment and signs access. The buyer pays your wallet directly.

  • 25 authorizations free monthly
  • No subscription
  • No custody
  • Payment Auth
  • Lightning Address
ONE LIGHTNING ADDRESSDIRECT MERCHANT PAYMENTONE VERIFIED AUTHORIZATION

WHAT GATE DOES

Proxy the authorization.
Never the money.

GATE is not a wallet, payment account or payout service. It resolves the merchant's Lightning Address, validates the exact invoice and releases one request-bound receipt after cryptographic proof.

01

Merchant receives sats

The BOLT11 invoice belongs to the configured Lightning Address. GATE never receives or forwards buyer funds.

02

Agents prove payment

The preferred beta path is a payer preimage delivered through Payment Authentication or the direct proof endpoint.

03

Origin checks a receipt

Ed25519 receipts bind project, route, method, path, body SHA-256, amount and payment hash. Spoofed identity headers are stripped.

04

Credits follow success

One GATE credit is consumed only when payment is verified and an authorization is persisted. Quotes, expiry and failed attempts cost nothing.

AGENT QUICKSTART

Exact bytes in.
Signed permission out.

A private local operator command provisions the project capability and fixed route policy without a public signup endpoint or Lightning network call. Keep the API capability server-side and reuse the same idempotency key and request bytes after an uncertain response.

const gate = createGateClient({
  gateBaseUrl: "https://the402machine.com",
  projectId: "gate_project_…",
  projectKey: process.env.GATE_PROJECT_KEY,
  routeKey: "weather",
  routeId: "route-uuid-from-provisioning",
  receiptPublicKey,
  receiptKeyId: "gate-beta"
});

const request = {
  method: "POST",
  path: "/v1/weather",
  body: Buffer.from('{"city":"Madrid"}'),
  idempotencyKey: crypto.randomUUID()
};
const challenge = await gate.authorize(request);

// After the payer or wallet supplies a preimage:
const authorized = await gate.prove({
  intentId: JSON.parse(challenge.body).intentId,
  preimage,
  request
});

// LUD-21 projects can use gate.poll({ intentId, request }) instead.
// The SDK verifies the signed receipt locally before returning success.
Beta boundary

This is not Coinbase x402 compatibility. GATE implements HTTP 402, Lightning Payment Authentication and cryptographic payer proof. x402 has a different contract.

PLANNED PREPAID AUTHORIZATIONS

No subscription.
Buy when needed.

Every project receives 25 successful authorizations per UTC calendar month. The beta pack ladder is fixed in the domain model, while pack purchasing stays closed until its own verified Lightning settlement flow is implemented. Grants are service credits, not sats or wallet balances, and last 402 days.

SPARK420authorizations

Reference pack for small agents and prototypes.

42 SATS
STANDARD4,200authorizations

Progressive discount for sustained machine traffic.

402 SATS
LONG42,000authorizations

Largest beta pack and best unit price.

4,002 SATS

A credit is consumed only on AUTHORIZED. Creating an invoice, polling, an expired payment or an invalid proof never consumes one.

HUMAN CHECKOUT

Supported.
Not overpromised.

01

WebLN can return payer proof. A compatible browser wallet can pay and immediately submit its preimage.

02

External wallets vary. Automatic QR unlock is available only when the recipient provider returns a verifiable cryptographic result.

03

No “I paid” trust button. GATE does not unlock a resource from a claim, screenshot or wallet success page.

04

Agents remain the primary path. Human support is additive and does not weaken request binding or settlement checks.

PRIVATE BETA

Build the paywall.
Keep your wallet.

GATE is disabled by default in production while beta provisioning and provider compatibility are validated.

Agent guideAPI contract