Node.js SDK

The crypto payment gateway for Node.js

Zero-dependency client with TypeScript typings and an Express middleware that verifies every webhook before your handler runs.

npm install oxialink

Node 18+, no dependencies, typings included.

Free & MIT licensed14 coins, 6 networksSigned webhooks built in

Create an invoice

const Oxialink = require('oxialink');

const oxialink = new Oxialink({
  apiKey: 'ak_...',
  apiSecret: 'as_...',
});

const invoice = await oxialink.createInvoice({
  amount: 10,
  coin: 'USDT_TON',
  externalId: 'order-1234',
  callbackUrl: 'https://your-site.com/oxialink-webhook',
});

res.redirect(invoice.url);

Verify webhooks (Express)

app.post(
  '/oxialink-webhook',
  express.raw({ type: 'application/json' }),
  Oxialink.expressWebhook('whsec_...', ({ event, data }) => {
    if (event === 'payment.completed') {
      markOrderPaid(data.external_id, data.tx_hash);
    }
  })
);

Everything the integration needs

Zero dependencies

Built on the fetch and crypto that ship with Node 18+. Nothing to audit.

TypeScript typings

index.d.ts included; autocomplete for every call and webhook payload.

Express middleware

expressWebhook verifies the signature and never lets a handler error trigger retries.

external_id passthrough

Pass your order id at creation; every webhook echoes it back.

Telegram bot ready

createTelegramInvoiceButton returns a paste-ready inline keyboard for your bot.

No chargebacks

Crypto is final. Orders complete only after real on-chain confirmation.

Fees are flat and public on the fees page. Not on JavaScript? There is also a WooCommerce plugin, a WHMCS module and a plain REST API.

FAQ

Common questions

Install the oxialink package, create an invoice with one await, and redirect the customer to the returned URL. Mount the Express webhook middleware and your handler receives verified payment.completed events with your own order id attached.

Yes. Oxialink.verifyWebhook(rawBody, headers, secret) is framework-agnostic; the Express middleware is just a convenience on top of it.

14 coins across 6 networks: USDT on TON, Tron, BSC, Solana and Ethereum, USDC, Bitcoin, Ethereum, Litecoin, Dogecoin, Dash, BNB, TRX and Toncoin.

Every delivery is signed with HMAC-SHA256 over the delivery id, timestamp, event name and the exact bytes of the payload. The SDK verifies the signature and rejects stale deliveries before your code runs, so a forged notification can never mark an order paid.

The SDK is free and MIT licensed. Oxialink accounts are free, and a payment costs 0.2% on Premium or 0.5% free, plus one flat per-coin network fee published at oxialink.com/fees.

First payment in minutes

Free SDK, free account, no KYC to start.

Create a free account