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.
Choose the right boundary
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.
Quick start
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.
Providers
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.
Browser integrations
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>
Configuration and operations
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.
Explore and contribute
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.