Building in public · SDK v0.1 live on npm

Payments infrastructure for the post-quantum chain.

Accept on-chain payments in your app with a few lines of code. SDK, hosted checkout, webhooks, and subscriptions driven by AsentumChain's native cron layer. Same shape as Stripe; different rails.

Take a payment

Three lines. Settled on-chain.

The SDK feels like Stripe's on purpose. If you've integrated card payments before, you're already done. Behind the scenes, the charge resolves to an actual transaction on AsentumChain — verifiable, final, with no third-party intermediary in the settlement loop.

import { Asentum } from '@asentum/pay';

const pay = new Asentum('sk_live_...');

// One-shot charge
const charge = await pay.charges.create({
  amount: '50.00',
  currency: 'aUSD',
  description: 'Order #1234',
});

// or a hosted checkout session
const session = await pay.checkout.sessions.create({
  lineItems: [
    { name: 'Pro plan', amount: '20.00', currency: 'aUSD' },
  ],
  successUrl: 'https://myshop.com/done',
  cancelUrl: 'https://myshop.com/cancel',
});
// redirect the user to session.url

Why Asentum Pay

Four reasons to bet on this stack.

Crypto-native, end-to-end.

Accept ASE, aUSD, or any ARC-20 token. Settlement is on-chain, irreversible, and final. No card networks, no chargebacks, no monthly invoice from a processor.

JavaScript on every side.

The SDK, the API, the dashboard, the example dapps. One language, no Solidity bridge layer, no Rust on-ramp. Your existing engineering team can integrate in an afternoon.

Subscriptions executed by the chain itself.

Recurring charges run on AsentumChain's native cron layer. No keeper bots, no third-party operators, no missed pay cycles. The chain is the schedule.

Self-custodial by default.

Your wallet, your funds. We never touch the money — we just route the payment. You own the keys, you own the relationship.

// Verify and handle incoming webhook events
const event = pay.webhooks.verify({
  payload: rawBody,
  signatureHeader: req.headers['x-asentum-signature'],
  secret: process.env.ASENTUM_WEBHOOK_SECRET,
});

if (event.type === 'charge.succeeded') {
  await fulfillOrder(event.data.object);
}

Webhooks

Signed events to your backend.

Every charge, every subscription cycle, every checkout completion fires a signed webhook to whatever URL you configure. HMAC-SHA256 signature plus a timestamp tolerance window so replays don't work. The SDK verifies it in one call.

What ships when

Surface area.

v0.1

One-shot charges

Accept a payment in a single call. Settle on-chain. Done.

v0.1

Hosted checkout

Drop-in payment page. Customers connect a wallet and pay. You get a webhook.

v0.1

Customers

Track who pays you. Link to wallet addresses. Resolve cross-session identity.

v0.1

Webhooks

Signed event delivery to your own backend on every state change.

v0.2

Subscriptions

Recurring charges driven by ARC-21 native cron. Cancellable. Refundable.

v0.2

Customer portal

End-user-facing page to view + cancel subscriptions.

FAQ

Common questions.

How is this different from Stripe?

Same shape. Different rails. Stripe runs on Visa, Mastercard, and ACH. Asentum Pay runs on a decentralised post-quantum chain. There are no chargebacks. There is no $5,000-per-month minimum to use it. And the money lives in your wallet, not in our balance.

How is this different from a regular crypto checkout (Coinbase Commerce, BitPay)?

Three differences. (1) Recurring payments are first-class, because the chain itself has a cron layer — no extra trusted operator. (2) Same JS code can run in your backend, your frontend, and inside the chain contracts. (3) You can self-host the whole thing if you want; nothing about the architecture requires our hosted dashboard.

What tokens can I accept?

Native ASE plus any ARC-20 token. We recommend aUSD (the stablecoin) for predictable invoicing. ASE is fine for tipping, donations, and crypto-native pricing.

How fast are payments?

A charge settles in the next AsentumChain block. Block time is ~5 seconds at v1. Compare to ACH (1-3 days), card auth+capture (1-3 days for funds), or bank wire (same-day if you're lucky).

What happens if my customer cancels mid-subscription?

They revoke the ARC-20 allowance on the underlying token contract. Any future charge attempt by the subscription contract fails atomically. We emit `subscription.failed` so you can react, but their wallet is never debited.

Start accepting on-chain payments today.

Install the SDK, build against the testnet, and ship when you're ready. No signups, no API key gate, no monthly minimum.