Payment Rails

Payment Rails

Wayforth supports three payment tracks: card (Stripe Treasury), on-chain USDC (Base L2), and x402 (HTTP-native micropayments). All tracks share the same credit system.

Overview

A
Track A — Card (Stripe Treasury)

Monthly subscription or one-time top-up via credit/debit card. Settled through Stripe. Fastest onboarding — no wallet required.

B
Track B — USDC on Base

Top-up credits by sending USDC on the Base L2 network. Gas-free (Base covers fees). Ideal for teams that prefer on-chain settlement.

C
Track C — x402

HTTP-native per-request payments. No API key, no subscription. USDC micropayments embedded directly in the HTTP lifecycle. experimental

Comparison

Track ATrack BTrack C
SettlementFiat via StripeUSDC on BaseUSDC on Base
Billing modelMonthly sub + optional top-upTop-up creditsPer-request
API key neededYesYesNo
Setup time30 seconds~2 minutesWallet + x402 client
Min charge$5$5~$0.001
Best forMost usersWeb3 teamsAgent / ephemeral use

Track A — Card (Stripe Treasury)

The default payment method. Subscribe to a monthly plan or purchase credits with any major credit or debit card.

Subscriptions

Monthly subscriptions include a fixed call quota that resets on your billing anniversary. Unused calls do not roll over.

PlanCalls/monthPriceOverage
free 100 $0
builder 1,000 $9/mo Top-up packages
starter 3,500 $29/mo Top-up packages
pro 12,000 $79/mo Top-up packages
growth 40,000 $199/mo Top-up packages

Upgrading via API

bash
curl -X POST https://gateway.wayforth.io/billing/upgrade \
  -H "x-wayforth-api-key: $WAYFORTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_tier": "pro"}'

# Returns a Stripe Checkout URL
# {"checkout_url": "https://checkout.stripe.com/..."}

Dunning policy

If a card payment fails, Wayforth retries on days 1, 4, and 7. After 3 failures your plan is downgraded to the nearest tier whose quota matches your actual usage. You are notified by email at each step.

Track B — USDC on Base

Top up credits by sending USDC to your Wayforth wallet address on the Base L2 network. Credits are credited at a fixed rate of $0.01 USD per credit.

Getting your wallet address

bash
curl https://gateway.wayforth.io/billing/wallet \
  -H "x-wayforth-api-key: $WAYFORTH_API_KEY"
json
{
  "wallet_address": "0x742d35Cc6634C0532925a3b8D4C9Cf4e12345678",
  "network": "base",
  "token": "USDC",
  "min_deposit_usd": 5.00
}

Credit conversion

Credits are applied to your account immediately after 2 block confirmations (~4 seconds on Base). No gas fees — Base's EIP-4844 blob transactions cover L2 fees.

USDC sentCredits received
$5.00500 credits
$10.001,100 credits (+10% bonus)
$25.003,000 credits (+20% bonus)
$50.007,000 credits (+40% bonus)

Base network only. Sending USDC on Ethereum mainnet or other chains will not credit your account. Always verify you are on the Base network (Chain ID: 8453) before sending.

Track C — x402

x402 is an emerging standard for HTTP-native micropayments. Instead of pre-funding an account, each API request carries its own payment authorization, settled on-chain in real time.

The 402 flow

  1. Client sends a standard HTTP request (no API key)
  2. Gateway returns 402 Payment Required with a X-Payment-Descriptor header
  3. Client constructs and signs a USDC transfer on Base
  4. Client re-sends the request with the signed payment in X-Payment header
  5. Gateway verifies the payment, forwards the request, and returns the response

Payment descriptor format

json
// X-Payment-Descriptor (returned on 402)
{
  "version": "1.0",
  "scheme": "exact",
  "network": "base",
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "amount": "3000",
  "payee": "0x742d35Cc6634C0532925a3b8D4C9Cf4e12345678",
  "memo": "wayforth:execute:deepl",
  "expires": 1748000000
}

x402 client libraries

bash
# Python
pip install x402-client

# TypeScript / Node
npm install @x402/client
typescript
import { X402Client } from '@x402/client';

const x402 = new X402Client({
  privateKey: process.env.WALLET_PRIVATE_KEY,
  rpcUrl: 'https://mainnet.base.org',
});

const res = await x402.post('https://gateway.wayforth.io/v1/execute/deepl', {
  text: 'Hello',
  target_lang: 'ES',
});

console.log(await res.json()); // { translation: 'Hola', ... }

Status: x402 execution is available on all tier 1–3 services. Higher tiers will be enabled as the protocol matures. Follow github.com/coinbase/x402 for spec updates.

Credit system

Wayforth uses a unified credit system across all three payment rails. Credits never expire and carry over between billing periods.

How credits work

  • 1 credit = 1 API call to any managed service (unless the service specifies otherwise)
  • Credits from your monthly subscription reset each billing period
  • Top-up credits are permanent and never reset
  • Subscription credits are used before top-up credits
  • Failed calls that were rerouted via self-healing are not charged

Check your balance

bash
curl https://gateway.wayforth.io/v1/balance \
  -H "x-wayforth-api-key: $WAYFORTH_API_KEY"
json
{
  "credits_remaining": 847,
  "credits_included": 1000,
  "tier": "builder",
  "billing_period_start": "2026-05-01T00:00:00Z",
  "next_reset": "2026-06-01T00:00:00Z",
  "days_until_reset": 15,
  "forecast": {
    "daily_avg_calls": 10,
    "days_remaining_at_current_rate": 84,
    "projected_reset_balance": 697,
    "will_exhaust_before_reset": false
  }
}

Balance warnings

Wayforth fires webhook events when your balance runs low:

EventTrigger
wayf.balance_warning_8080% of credits consumed in billing period
wayf.balance_warning_9595% of credits consumed
wayf.balance_lowFewer than 50 credits remaining

Top-up packages

Supplement any plan with permanent credits. Available on Track A (card) and Track B (USDC).

$5
500 calls
small
$10
1,100 calls
medium +10%
$25
3,000 calls
large +20%
$50
7,000 calls
xl +40%

Purchase via API

bash
curl -X POST https://gateway.wayforth.io/billing/topup \
  -H "x-wayforth-api-key: $WAYFORTH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"package": "large"}'

# Returns a Stripe Checkout URL
# {"checkout_url": "https://checkout.stripe.com/..."}

Founding member bonus: Founding member accounts are those created before August 31, 2026. Founding members receive a one-time 500-call bonus on their first paid subscription. The bonus is applied once and does not stack with top-up packages.