Allwallex API · v1

TypeScript wallet & checkout SDK.

Connect your server to wallets, bounded internal transfers and checkout with Node.js 24+. Download version 0.2.0 with ESM, CommonJS and standalone type declarations. This release uses testnet services.

Testnet environment. Transactions use test assets and do not settle real payments.

01Install on your server

Download the package and compare its SHA-256 with the manifest. Install the local tarball in your backend with npm install ./allwallex-checkout-sdk-0.2.0.tgz. No registry publication or private Allwallex dependency is required. Keep your API key in protected server configuration.

02Create and read managed wallets

AllwallexClient provides createWallet, getWallet, listWallets and getReceivingDetails alongside the checkout methods. Grant wallets:create, wallets:read and wallets:receive separately. Wallet requests use a name, TRON/Ethereum/Base network and a persisted Idempotency-Key. Creation queues testnet setup; it does not activate receiving.

03Show current receiving instructions

getReceivingDetails checks the requested wallet, testnet chain, asset identity, decimals, contracts, fee fields and readiness consistency. Present its approved address only when state is available, together with the network and supported assets. Setup, pause and outage responses have address=null. Receiving readiness does not establish a payment.

04Move balances within approved limits

AllwallexClient includes quoteInternalTransfer, confirmInternalTransfer, getInternalTransferQuote, cancelInternalTransferQuote, listInternalTransfers and getInternalTransferLimits. Choose transfers:create with a passkey-approved wallet and total-debit policy; add transfers:read for status and usage. Persist separate quote and confirmation request keys. Exact fees count toward the daily allowance, which is shared under key rotation. Cancellation never reverses a completed transfer. External sending is unavailable.

05Create checkout on your server

Construct AllwallexCheckout with a protected testnet API key. Supply your persisted Idempotency-Key to every createOrder call. The client rejects browser execution and non-HTTPS API origins. Explicit loopback HTTP is available only for local development.

06Recover unknown outcomes

The SDK does not automatically retry. AllwallexError.outcomeUnknown means the original creation may have committed; recover with the same key and body. For orders, findOrder(externalReference) also supports recovery. Preserve the request and returned IDs in your own database. listWallets supports before and limit (1–100); nextCursor is null on the final page.

07Check payment using the authenticated API

Use getOrder(id), verify its binding to your stored order, and inspect payment.canFulfill. listOrders returns cached projection pages. Response validation rejects inconsistent paid states and unsafe checkout URLs; it does not replace your own fulfillment idempotency or production activation checks.

import { AllwallexClient } from "@allwallex/checkout-sdk";

const checkout = new AllwallexClient({
  apiKey: process.env.ALLWALLEX_API_KEY!
});

const wallet = await checkout.createWallet({
  name: storedWallet.name, network: "tron"
}, { idempotencyKey: storedWallet.requestId });
const receiving = await checkout.getReceivingDetails(wallet.id);
// Present the address only when receiving.state === "available".

// Checkout values come from your stored order.
const session = await checkout.createOrder({
  title: storedOrder.title,
  assetId: "ethereum:sepolia:usdc",
  amount: storedOrder.priceDecimal,
  externalReference: storedOrder.id
}, { idempotencyKey: storedOrder.checkoutRequestKey });

// Save session.id and redirect the buyer to session.checkoutUrl.
// Later: await checkout.getOrder(session.id), then verify the full order binding.
// Current release is testnet; never fulfill a real purchase from a sandbox result.
Open your workspace