For developers

Build on Offbank

Take USDC, invoice, and pay anyone - from one npm package. Install @offbank/sdk and you're live in minutes. If you're an operator who just wants to send invoices from the dashboard, start here instead.

SDK Reference

The complete @offbank/sdk guide - install, initialize, and every method (checkout, invoices, payouts, webhook verification) with parameters, runnable examples, and response shapes.

30-second quickstart
create-invoice.sh
curl https://offbankpay.com/api/invoices \
  -H "x-api-key: $OFFBANK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "buyerName": "Acme Wholesale",
    "buyerEmail": "ap@acme.com",
    "lineItems": [
      { "description": "Wholesale order #4421", "quantity": 1, "unitPrice": 47500 }
    ],
    "dueDate": "2026-08-01",
    "memo": "Net 30"
  }'

Returns a hosted invoice link your buyer pays with any Solana wallet. A signed settlement webhook fires once the on-chain payment confirms. Prefer types? npm install @offbank/sdk.

Pay out in one call
payouts.ts
// npm install @offbank/sdk
import { Offbank } from "@offbank/sdk";

const offbank = new Offbank({ apiKey: process.env.OFFBANK_API_KEY! });

// Affiliate commission, player cashout, supplier payment - same call
await offbank.payouts.create({
  email: "alice@example.com",
  amount: 250.0,
  memo: "March affiliate commission",
});

// Pay a whole run at once
await Promise.all([
  offbank.payouts.create({ email: "alice@example.com", amount: 250.0 }),
  offbank.payouts.create({ email: "bob@example.com",   amount: 180.0 }),
]);

Each recipient gets a claim link (and email) and claims with any Solana wallet - or one we provision on first claim. Your webhook fires when it settles. No minimum amounts, no batch windows.

Need an API key? Generate one in Settings → API keys once your merchant account is set up. Prefer no code? Use Affiliate Payouts in the dashboard.