Developer infrastructure for stablecoins

The stablecoin payment event platform,a settlement layer built for software.

API-first and Webhook-first. Collection, on-chain listening, confirmation, reconciliation, callbacks and AI Agent tooling rolled into one platform — so SaaS, trading infra, and Agent apps can focus on their product instead of rebuilding a payment pipeline.

Base · USDC
Ethereum · USDC / USDT
Arbitrum · USDC
Polygon · USDC
Tron · USDT
Solana · USDC / USDT

One event model across the entire stablecoin payment lifecycle.

Payment orders, on-chain transfers, confirmations, webhooks and Agent actions share the same resource model in StableOps.

Unified payment event model
Transfers, confirmations, finality and reorgs on EVM and TRON are normalized into one event set — integrate once.
Reliable confirmation engine
A four-stage state machine — detected / confirmed / finalized / reverted — with per-chain confirmation thresholds.
At-least-once webhooks
HMAC-signed, auto-retried, with a dead-letter queue and replay. Idempotency keys let downstreams safely handle duplicates.
AI Agent safety layer
MCP Server plus a policy engine: give Agents scoped reads and low-risk actions; sensitive operations go through human approval.
10-minute quickstart

From one order to one reliable webhook — this is all the code it takes.

The SDK already handles idempotency keys, signature verification, and chain/asset abstraction. You just react to business events: activate, post a ledger entry, alert.

  1. 1

    Initialize the client

    Drop in your API key and pick an environment. The SDK handles auth and chain/asset abstraction for you.

  2. 2

    Create a payment order

    Pass an idempotency key and the assets you accept — retries collapse into one order, never a double charge.

  3. 3

    Pay with the wallet SDK

    After your frontend receives the order, call @stableops/wallet-sdk to open the user's wallet and send the stablecoin transfer to the order address.

  4. 4

    Verify the webhook

    Validate the HMAC signature, then react to the business event: activate, post a ledger entry, or alert.

Prefer not to install the SDK? You can call the StableOps HTTP API directly and wrap requests, idempotency keys, and webhook verification yourself.

Read the full quickstart
1. Initialize the client
import { StableOps } from "@stableops/api-sdk";
import {
  verifySignature,
  SIGNATURE_HEADER,
} from "@stableops/api-sdk/webhooks";

const stableops = new StableOps({ 
  apiKey: process.env.STABLEOPS_API_KEY!, 
  environment: "sandbox" 
});
2. Create a payment order
const order = await stableops.paymentOrders.create(
  {
    merchantOrderId: "sub_89231_2026_06",
    amount: "49.00",
    settlementAsset: "USDC",
    acceptedAssets: [
      { chain: "base-sepolia", asset: "USDC" },
      { chain: "ethereum-sepolia", asset: "USDC" },
    ],
  },
  { idempotencyKey: "sub_89231_2026_06" },
);
3. Pay with the wallet SDK
import * as wallet from "@stableops/wallet-sdk";

const sent = await wallet.sendOrderWalletPayment({
  order,
  providers: wallet.getInjectedWalletProviders(),
})
4. Verify the webhook
const verified = verifySignature({
  secret: process.env.STABLEOPS_WEBHOOK_SECRET!,
  header: req.headers.get(SIGNATURE_HEADER) ?? undefined,
  rawBody,
});