Off-chain developer product

Banking integrations with one application-facing interface.

Banking gives Vow applications provider adapters, typed server-side APIs, onboarding components, and browser-ready assets. Your application retains control of identity, policy, authentication, and the customer journey.

Keep financial credentials on trusted servers.

Use the TypeScript SDK from a server, worker, or other trusted application runtime. It normalizes the banking operations shared by supported providers. Use provider-native utilities only when an application needs a capability outside that shared abstraction.

Shared banking API

Create users, manage exit and escrow accounts, and use the common provider interface where portability matters.

Provider-native utilities

Use utilities such as UnitClient where a provider-specific feature does not fit the shared API.

Browser assets

Embed onboarding UI without exposing provider credentials. The application server owns sensitive actions.

Add Banking to a trusted application.

pnpm add @vowlabs/banking

import { Banking } from "@vowlabs/banking";

const banking = await Banking.create("bridge");
const customerId = await banking.newUser({
  id: "app-user-id",
  name: "Ada Lovelace"
});

The provider is selected by your application. Keep its API keys in your server environment; do not place them in a browser bundle or client-visible configuration.

Four supported provider adapters.

Bridge

ACH-oriented fiat fiat entry and exit workflows through the shared banking interface.

Unit

Account-opening and deposit-product workflows, with a native client for provider-specific operations.

Checkbook

Cheque-oriented payment and account operations through the normalized interface.

USIO

Payment-provider integration behind the same application-facing abstraction.

Embed onboarding while preserving existing integrations.

Banking publishes public/banking-sdk.js and public/unit-onboarding.js for browser use. Use window.VowLabs.Banking for browser widgets; use the @vowlabs/banking package from trusted server code.

<script src="https://vowlabs.dev/sdk/banking.js"></script>
<script>
  // Existing browser integrations remain supported.
  window.VowLabs.Banking;
</script>

Configure only the provider you use.

Banking reads provider credentials from the runtime environment. Typical configuration uses BRIDGE_API_URL and BRIDGE_API_KEY, UNIT_API_URL and UNIT_TOKEN, CHKBK_URL, CHKBK_PUBLIC, CHKBK_SECRET, or USIO_API, USIO_KEY, and USIO_SECRET.

Validate customer input before calling a provider, make webhook and payment handling idempotent, add retries and structured logs in the orchestrating application, and verify KYC, transfer, and jurisdiction requirements before enabling production flows.

Documentation follows the code.

The source repository includes provider guides, implementation entry points, environment examples, and tests. Run pnpm -C VowLabs/SDK/banking test and pnpm -C VowLabs/SDK/banking typecheck when changing the package.