app-column gives developers direct access to bank rails, real-time ledgers, and programmable money movement — no middleware, no black boxes. Build and ship financial products with full visibility into every transaction.
Trusted by fintech teams shipping production-grade financial products.SOC 2 Type II certified.
Trusted by teams building the next generation of finance
A unified API surface covering every primitive modern fintech products are built on — from money movement to account issuance.
Move money across the US banking network with same-day and standard ACH settlement.
Send high-value, irrevocable domestic and international wire payments in real time.
Instantly move funds between accounts within app-column with zero settlement delay.
Open FDIC-insured checking accounts for your end users via a single API call.
Embed loan origination, underwriting, and servicing into your product with flexible APIs.
Issue physical and virtual debit cards under your brand with real-time spend controls.
Every primitive is exposed through a clean, versioned REST API. No proprietary SDKs required — just HTTP, JSON, and well-designed schemas.
Query balances, post transactions, and stream account activity with APIs designed for high-throughput systems. Every debit and credit is consistent, auditable, and available the moment it happens — no polling, no lag.
| 1 | // Post a ledger transaction |
| 2 | const txn = await column.ledger.transactions.create({ |
| 3 | entries: [ |
| 4 | { |
| 5 | account_id: "acct_01HXYZ1234", |
| 6 | amount: 50000, // in cents |
| 7 | direction: "debit", |
| 8 | }, |
| 9 | { |
| 10 | account_id: "acct_01HXYZ5678", |
| 11 | amount: 50000, |
| 12 | direction: "credit", |
| 13 | }, |
| 14 | ], |
| 15 | memo: "Platform fee settlement", |
| 16 | idempotency_key: "txn_idem_20240512_001", |
| 17 | }); |
| 18 | |
| 19 | console.log(txn.id); // txn_01JABCD9876 |
| 20 | console.log(txn.status); // "posted" |
| 1 | // Onboard a business entity |
| 2 | const entity = await column.compliance.kyb.create({ |
| 3 | legal_name: "Acme Technologies Inc.", |
| 4 | ein: "12-3456789", |
| 5 | formation_state: "DE", |
| 6 | website: "https://acme.example.com", |
| 7 | beneficial_owners: [ |
| 8 | { |
| 9 | name: "Jane Smith", |
| 10 | ownership_percent: 51, |
| 11 | ssn_last4: "4321", |
| 12 | date_of_birth: "1985-03-14", |
| 13 | }, |
| 14 | ], |
| 15 | }); |
| 16 | |
| 17 | // Status updates via webhook |
| 18 | // entity.status → "pending_review" → "approved" |
| 19 | console.log(entity.status); // "pending_review" |
app-column handles KYC/KYB orchestration, BSA/AML screening, and SAR filing so your team ships products instead of managing regulatory ops. Built on a chartered bank — no middleware, no sponsor bank fragility.
One consistent event schema for payments, ledger, compliance, and account lifecycle. Deliver webhooks to any endpoint with automatic retries, signed payloads, and a replay API when you need to reprocess history.
| 1 | // Verify & handle an incoming event |
| 2 | |
| 3 | app.post("/webhooks/column", (req, res) => { |
| 4 | const sig = req.headers["column-signature"]; |
| 5 | const expected = createHmac("sha256", process.env.COLUMN_WEBHOOK_SECRET) |
| 6 | .update(req.rawBody) |
| 7 | .digest("hex"); |
| 8 | |
| 9 | if (sig !== expected) return res.sendStatus(401); |
| 10 | |
| 11 | const event = req.body; |
| 12 | |
| 13 | switch (event.type) { |
| 14 | case "transaction.posted": |
| 15 | await handlePostedTransaction(event.data); |
| 16 | break; |
| 17 | case "kyb.status_updated": |
| 18 | await syncComplianceStatus(event.data); |
| 19 | break; |
| 20 | case "ach.returned": |
| 21 | await handleAchReturn(event.data); |
| 22 | break; |
| 23 | } |
| 24 | res.sendStatus(200); |
| 25 | }); |
Explore the full API reference
Every endpoint, schema, error code, and webhook event — fully documented and interactive.
app-column cut our time-to-market by months. Their APIs are obsessively well-documented, and the sandbox environment is so close to production that we shipped with near-zero surprises. It's the infrastructure layer we always wished existed.
Maya Osei
CTO & Co-founder, Ledger Labs
We evaluated five banking-as-a-service providers before choosing app-column. The compliance coverage alone — KYC, AML, and real-time transaction monitoring baked right into the API — saved us from hiring an entire risk team in year one.
Tomas Varga
VP of Engineering, Strata Finance
The developer experience is genuinely delightful. Webhooks fire in milliseconds, the SDKs are idiomatic, and when we hit edge cases the support team engaged at an engineering depth I've never seen from a financial infrastructure vendor.
Priya Nambiar
Lead Backend Engineer, Northfork Payments
Trusted by engineering teams at seed-stage startups and Series C fintechs alike.
app-column is the only banking infrastructure platform that gives developers direct, programmatic access to a real chartered bank — no middleware, no ledger emulation, no third-party risk layered between your product and the money rails.
Build deposit accounts, issue cards, originate loans, and move money with a single unified API — backed by the same regulatory framework that protects every dollar your users trust you with.
No credit card required. Enterprise and startup plans available.
1const column = require('app-column');
2
3const account = await
4column.accounts.create({
5holder_id: "usr_01hx…",
6type: "checking",
7currency: "USD"
8});
9
10// ✓ Real FDIC-insured account, live in <200ms
99.99{2bcfb57da8a407e5f86b2079ab0121d376dae471f40ca0f3ca7f1d2f2857468d}
API uptime
$0
Setup fee
<200ms
Avg. response
The API-first banking infrastructure built for developers. Move money, hold funds, and issue cards — all through a single unified API.
© 2026 app-column. All rights reserved.