{
  "ok": true,
  "updated": "2026-05-28",
  "fee_disclosure": "2% routed + standard fees apply",
  "stack": [
    {
      "id": "inbound",
      "name": "Any payment rail",
      "description": "Card, bank, P2P (Venmo, Revolut, Wise, Cash App via Peer), stablecoins (USDC, USDT), Lightning, PayPal-adjacent P2P, gift codes, referral payouts.",
      "handlers": [
        "stripe",
        "coinbase",
        "moonpay",
        "stripe-crypto",
        "peer-zkp2p",
        "tempo",
        "x402",
        "lightning",
        "gift"
      ]
    },
    {
      "id": "01.cash",
      "name": "01.cash primitive",
      "description": "Universal USD-normalized inbound layer. Every rail converts to a single ledger entry before Pute. FX and rail fees are absorbed or passed through at credit time — not at inference time.",
      "handlers": [
        "credit()",
        "normalize_usd()"
      ]
    },
    {
      "id": "pute",
      "name": "Pute (prepaid compute credit)",
      "description": "USD-denominated prepaid service credit. Same balance spends on any model, any provider, P2P transfer, or gift issuance. Non-refundable to fiat.",
      "handlers": [
        "balance()",
        "debit()",
        "transfer()"
      ]
    },
    {
      "id": "compute",
      "name": "Compute systems",
      "description": "Managed inference (/api/v/*), GPU rental (Vast, RunPod), managed trainers (fal LoRA), self-host. Debited from Pute at quote time + 2% routed fee.",
      "handlers": [
        "/api/v/[model]",
        "gpu.json providers",
        "training.json services"
      ]
    }
  ],
  "adapters": [
    {
      "id": "stripe-card-topup",
      "name": "Stripe card → Pute",
      "source_kinds": [
        "card"
      ],
      "settles_as": "USD",
      "credits_via": "stripe-webhook",
      "ledger_field": "balance_usd",
      "notes": "checkout.session.completed → credit(client_reference_id, net_usd)"
    },
    {
      "id": "stripe-mpp",
      "name": "Stripe card (MPP per-call)",
      "source_kinds": [
        "card"
      ],
      "settles_as": "USD",
      "credits_via": "mpp-settle",
      "ledger_field": "balance_usd",
      "notes": "No Pute balance required; settles per 402 challenge"
    },
    {
      "id": "tempo-usdc",
      "name": "Tempo USDC → Pute",
      "source_kinds": [
        "stablecoin"
      ],
      "settles_as": "USDC",
      "credits_via": "mpp-settle",
      "ledger_field": "balance_usd",
      "notes": "1:1 USDC credit or direct per-call via MPP"
    },
    {
      "id": "peer-zkp2p",
      "name": "Peer ZKP2P (Venmo, Revolut, Wise, Cash App…)",
      "source_kinds": [
        "p2p",
        "fiat"
      ],
      "settles_as": "USDC|ETH|multi-chain",
      "credits_via": "p2p-fulfill",
      "ledger_field": "balance_usd",
      "notes": "onIntentFulfilled → normalize to USD → credit. Extension 0.4.9+. See docs.peer.xyz"
    },
    {
      "id": "crypto-onramps",
      "name": "Coinbase / MoonPay / Stripe Crypto",
      "source_kinds": [
        "onramp",
        "card",
        "bank"
      ],
      "settles_as": "USDC",
      "credits_via": "wallet-deposit",
      "ledger_field": "balance_usd",
      "notes": "User wallet receives USDC; treasury sweep or manual credit links wallet → Pute"
    },
    {
      "id": "lightning",
      "name": "Lightning BTC",
      "source_kinds": [
        "lightning"
      ],
      "settles_as": "BTC",
      "credits_via": "wallet-deposit",
      "ledger_field": "balance_usd",
      "notes": "FX at credit time for micropayments under $1"
    },
    {
      "id": "gift-p2p",
      "name": "Gift codes & P2P transfer",
      "source_kinds": [
        "gift",
        "internal"
      ],
      "settles_as": "USD",
      "credits_via": "gift-redeem",
      "ledger_field": "balance_usd",
      "notes": "Internal ledger move — no external rail fee"
    }
  ],
  "onramps": [
    {
      "id": "peer-zkp2p",
      "name": "Peer ZKP2P",
      "kind": "p2p",
      "integration": "extension",
      "sdk": "window.peer (see src/lib/peer-onramp.ts; optional @zkp2p/sdk when types align)",
      "docs": "https://docs.peer.xyz/developer/integrate-zkp2p/integrate-redirect-onramp",
      "demo": "https://demo.peer.xyz",
      "typical_fee": "P2P spread (varies by platform)",
      "geo": "Global (platform-dependent)",
      "settles_in": "USDC, ETH, SOL, USDT + 20 chains",
      "payment_platforms": [
        "venmo",
        "revolut",
        "wise",
        "cashapp",
        "paypal-adjacent",
        "zelle-adjacent"
      ],
      "chains": [
        "base",
        "ethereum",
        "solana",
        "polygon",
        "arbitrum",
        "hyperliquid"
      ],
      "best_for": [
        "users without cards",
        "P2P fiat",
        "widest platform coverage",
        "gasless onramp"
      ],
      "requirements": [
        "Chrome desktop",
        "Peer extension 0.4.9+"
      ],
      "base_usdc": "8453:0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
    },
    {
      "id": "stripe-card",
      "name": "Stripe card (direct top-up)",
      "kind": "card",
      "integration": "checkout",
      "docs": "https://stripe.com",
      "typical_fee": "~2.9% + $0.30",
      "geo": "Global",
      "settles_in": "USD → Pute",
      "payment_platforms": [
        "card",
        "apple_pay",
        "google_pay"
      ],
      "best_for": [
        "instant account credit",
        "humans without crypto"
      ]
    },
    {
      "id": "coinbase-onramp",
      "name": "Coinbase Onramp",
      "kind": "onramp",
      "integration": "redirect",
      "docs": "https://docs.cdp.coinbase.com/onramp",
      "typical_fee": "~1%",
      "geo": "US + 100 countries",
      "settles_in": "USDC on Base",
      "payment_platforms": [
        "card",
        "bank",
        "coinbase_balance"
      ],
      "best_for": [
        "US users",
        "existing Coinbase accounts"
      ]
    },
    {
      "id": "moonpay",
      "name": "MoonPay",
      "kind": "onramp",
      "integration": "redirect",
      "docs": "https://moonpay.com",
      "typical_fee": "3–4.5% card · 1% bank",
      "geo": "180+ countries",
      "settles_in": "USDC on Base",
      "payment_platforms": [
        "card",
        "bank",
        "apple_pay",
        "google_pay"
      ],
      "best_for": [
        "widest global card coverage"
      ]
    },
    {
      "id": "stripe-crypto",
      "name": "Stripe Crypto Onramp",
      "kind": "onramp",
      "integration": "redirect",
      "docs": "https://crypto.stripe.com",
      "typical_fee": "~1.5%",
      "geo": "US + 30 countries",
      "settles_in": "USDC on Base",
      "payment_platforms": [
        "card",
        "stripe_link"
      ],
      "best_for": [
        "Stripe Link wallet autofill"
      ]
    },
    {
      "id": "tempo-x402",
      "name": "Tempo / x402 (agents)",
      "kind": "stablecoin",
      "integration": "mpp",
      "docs": "https://docs.tempo.xyz",
      "typical_fee": "~0%",
      "geo": "Global (OFAC excluded)",
      "settles_in": "USDC",
      "payment_platforms": [
        "wallet"
      ],
      "best_for": [
        "agent micropayments",
        "per-call without balance"
      ]
    },
    {
      "id": "lightning",
      "name": "Lightning (BTC)",
      "kind": "lightning",
      "integration": "invoice",
      "docs": "https://lightning.network",
      "typical_fee": "<0.1%",
      "geo": "Global",
      "settles_in": "BTC → USD normalize",
      "payment_platforms": [
        "lightning"
      ],
      "best_for": [
        "sub-$1 micropayments"
      ]
    }
  ],
  "rails": [
    {
      "id": "tempo-usdc",
      "name": "Tempo (USDC)",
      "kind": "stablecoin",
      "settles_in": "USDC",
      "recipient_kind": "wallet",
      "speed_seconds": 3,
      "fee_fixed_usd": 0,
      "fee_pct": 0,
      "min_usd": 0.001,
      "max_usd": 1000000,
      "kyc_level": "none",
      "geo_blocked": [
        "US-sanctions",
        "OFAC"
      ],
      "docs": "https://docs.tempo.xyz",
      "best_for": [
        "agent micropayments",
        "inbound treasury",
        "near-zero fee transfers"
      ]
    },
    {
      "id": "x402-base-usdc",
      "name": "x402 (USDC on Base)",
      "kind": "stablecoin",
      "settles_in": "USDC",
      "recipient_kind": "wallet",
      "speed_seconds": 5,
      "fee_fixed_usd": 0.0001,
      "fee_pct": 0,
      "min_usd": 0.001,
      "max_usd": 100000,
      "kyc_level": "none",
      "geo_blocked": [
        "OFAC"
      ],
      "docs": "https://x402.org",
      "best_for": [
        "agent flows",
        "HTTP 402 integrations"
      ]
    },
    {
      "id": "stripe-card",
      "name": "Stripe (card)",
      "kind": "card",
      "settles_in": "USD",
      "recipient_kind": "stripe-account",
      "speed_seconds": 1,
      "fee_fixed_usd": 0.3,
      "fee_pct": 0.029,
      "min_usd": 0.5,
      "max_usd": 1000000,
      "kyc_level": "light",
      "geo_blocked": [],
      "docs": "https://stripe.com",
      "best_for": [
        "humans without a wallet",
        "instant card auth"
      ]
    },
    {
      "id": "stripe-ach",
      "name": "Stripe ACH",
      "kind": "bank",
      "settles_in": "USD",
      "recipient_kind": "stripe-account",
      "speed_seconds": 259200,
      "fee_fixed_usd": 0,
      "fee_pct": 0.008,
      "min_usd": 1,
      "max_usd": 1000000,
      "kyc_level": "light",
      "geo_blocked": [],
      "docs": "https://stripe.com/payments/ach",
      "best_for": [
        "large amounts",
        "low-fee bank transfer"
      ]
    },
    {
      "id": "coinbase-onramp",
      "name": "Coinbase Onramp (fiat→USDC)",
      "kind": "onramp",
      "settles_in": "USDC",
      "recipient_kind": "wallet",
      "speed_seconds": 60,
      "fee_fixed_usd": 0,
      "fee_pct": 0.01,
      "min_usd": 5,
      "max_usd": 25000,
      "kyc_level": "full",
      "geo_blocked": [],
      "docs": "https://docs.cdp.coinbase.com/onramp",
      "best_for": [
        "US users adding funds"
      ]
    },
    {
      "id": "moonpay-onramp",
      "name": "MoonPay (fiat→USDC)",
      "kind": "onramp",
      "settles_in": "USDC",
      "recipient_kind": "wallet",
      "speed_seconds": 60,
      "fee_fixed_usd": 0,
      "fee_pct": 0.035,
      "min_usd": 20,
      "max_usd": 50000,
      "kyc_level": "full",
      "geo_blocked": [],
      "docs": "https://moonpay.com",
      "best_for": [
        "global users adding funds"
      ]
    },
    {
      "id": "stripe-crypto-onramp",
      "name": "Stripe Crypto Onramp",
      "kind": "onramp",
      "settles_in": "USDC",
      "recipient_kind": "wallet",
      "speed_seconds": 60,
      "fee_fixed_usd": 0,
      "fee_pct": 0.015,
      "min_usd": 5,
      "max_usd": 10000,
      "kyc_level": "light",
      "geo_blocked": [],
      "docs": "https://crypto.stripe.com",
      "best_for": [
        "Stripe Link wallet autofill users"
      ]
    },
    {
      "id": "lightning-btc",
      "name": "Lightning (BTC)",
      "kind": "stablecoin",
      "settles_in": "BTC",
      "recipient_kind": "lightning-address",
      "speed_seconds": 2,
      "fee_fixed_usd": 0.001,
      "fee_pct": 0,
      "min_usd": 0.001,
      "max_usd": 50000,
      "kyc_level": "none",
      "geo_blocked": [
        "OFAC"
      ],
      "docs": "https://lightning.network",
      "best_for": [
        "sub-cent micropayments",
        "non-US agents"
      ]
    },
    {
      "id": "peer-zkp2p-onramp",
      "name": "Peer ZKP2P (Venmo, Revolut, Wise, Cash App…)",
      "kind": "onramp",
      "settles_in": "USDC|ETH|multi",
      "recipient_kind": "wallet",
      "speed_seconds": 120,
      "fee_fixed_usd": 0,
      "fee_pct": 0.02,
      "min_usd": 5,
      "max_usd": 10000,
      "kyc_level": "light",
      "geo_blocked": [],
      "docs": "https://docs.peer.xyz/developer/integrate-zkp2p/integrate-redirect-onramp",
      "best_for": [
        "P2P fiat onramp",
        "users without cards",
        "widest payment platform coverage"
      ]
    }
  ],
  "flow": "inbound → 01.cash (USD normalize) → Pute → compute",
  "production_apis": {
    "treasury": "https://www.infr.sh/api/deposits/treasury",
    "create_intent": "POST https://www.infr.sh/api/deposits/intent",
    "fulfill_peer": "POST https://www.infr.sh/api/deposits/fulfill",
    "claim_usdc": "POST https://www.infr.sh/api/deposits/claim",
    "stripe_webhook": "POST https://www.infr.sh/api/webhooks/stripe",
    "gift_issue": "POST https://www.infr.sh/api/gifts/issue",
    "gift_redeem": "POST https://www.infr.sh/api/gifts/redeem",
    "credits": "https://www.infr.sh/api/credits"
  },
  "_links": {
    "self": "https://www.infr.sh/i/onramps.json",
    "rails": "https://www.infr.sh/i/rails.json",
    "deposit": "https://www.infr.sh/deposit",
    "pute": "https://www.infr.sh/pute",
    "pay_router": "https://www.infr.sh/pay"
  }
}