- Published on
API 뱅킹 & BaaS 2026 — Solaris·Synapse·Treasury Prime·Unit·Galileo·Marqeta·Stripe Treasury 심층 가이드
- Authors

- Name
- Youngju Kim
- @fjvbn20031
프롤로그 — Synapse 2024 파산이 남긴 것, 그리고 한국·일본의 BaaS 출발
2024년 4월 22일, 캘리포니아 채프터 11 법원에 Synapse Financial Technologies(샌프란시스코, Y Combinator W14)가 파산을 신청했다. 그 결과 Yotta·Juno·Copper 같은 fintech 앱의 사용자들이 자기 돈에 접근하지 못하는 사태가 발생했고, FDIC·Fed가 조사한 결과 $300M missing customer funds라는 충격적 결론이 나왔다. BaaS 모델의 ledger 불일치가 만든 사상 최대 사건이었다.
Synapse 사건 이후 2024-2025년 동안 미국 BaaS는 격변기를 겪었다. Federal Reserve는 Evolve Bank & Trust, Lineage Bank, Choice Financial Group 같은 sponsor bank들에게 consent order를 내렸고, OCC도 별도 가이드라인을 강화했다. Treasury Prime·Unit·Synctera는 sponsor bank multiplexing 모델로 회복을 시도했고, Stripe Treasury·Adyen for Platforms·Marqeta·Galileo 같은 자기 라이센스 또는 거대 sponsor bank 백본을 가진 사업자들이 시장 점유율을 가져갔다.
유럽에서는 Solaris(전 Solarisbank, 베를린)가 2022-2023년 ADAC·BaFin 관련 이슈로 위축됐다가 라이센스 정비 후 2025년 회복했다. 한국에서는 핀크가 SK텔레콤 합작으로 BaaS API를 개방했고, 토스가 자체 BaaS를 운영하며, 카카오뱅크는 50개 이상의 오픈 API를 외부 fintech에 노출한다. 일본은 GMO Aozora Net Bank의 BaaS, BANKING.JP, 住信SBIネット銀行(NEOBANK 브랜드), J-coin Pay, Setou Bank의 Embedded Finance가 JPY 통합 API를 정의한다.
이 글은 BaaS의 전 지도다 — 무엇이 BaaS이고, sponsor bank가 무엇이며, 어떤 middleware가 있고, Synapse 사건이 무엇을 바꿨고, 한국·일본은 어떻게 다른지.
1장 · BaaS란 무엇인가 — sponsor bank + middleware + fintech app
BaaS(Banking-as-a-Service)는 은행 라이센스를 가진 sponsor bank가 자기 인프라(예금·결제·카드 issuance·송금·KYC)를 API로 노출하고, middleware가 그 API를 클러스터링·추상화해 fintech app에 제공하는 3-tier 모델이다.
| 레이어 | 역할 | 대표 |
|---|---|---|
| Sponsor bank | 은행 라이센스, FDIC 보험, 실제 자금 보유 | Evolve, Cross River, Pathward, Coastal, Lead Bank |
| Middleware (BaaS provider) | API 표준화, ledger 운영, 컴플라이언스 자동화 | Treasury Prime, Unit, Synctera, Stripe Treasury, Galileo |
| Card processor / Issuer | 카드 발급·결제망 | Marqeta, Galileo, i2c, Lithic, Margeta |
| Fintech app | 사용자 인터페이스, 브랜딩 | Mercury, Brex, Ramp, Chime, Wealthfront, Robinhood |
이 3-tier 모델은 두 가지 트레이드오프를 만든다.
- 장점: fintech가 은행 라이센스 없이 빠르게 출시. 자본·규제 부담이 낮음.
- 단점: ledger 불일치 시 책임 소재 모호. Synapse 사건이 보여준 그 부분이다.
핵심은 **"누가 자금을 보유하고, 누가 ledger를 운영하는가"**다. 자금은 항상 sponsor bank에 있어야 하고, ledger는 sponsor bank의 core banking system과 middleware의 ledger가 항상 일치해야 한다. Synapse는 이 reconciliation이 깨졌다.
2장 · 임베디드 파이낸스 $300B+ 시장 — 왜 BaaS인가
임베디드 파이낸스(Embedded Finance)는 비금융 기업이 자기 제품 안에 결제·예금·카드·대출·보험을 내장하는 것이다. Bain & Company, McKinsey, a16z 같은 곳의 추정은 2026년 글로벌 시장 규모를 $300B+로 보고 있다.
- 결제: Shopify Payments, Uber 운전자 결제, Lyft Driver Account.
- 예금: Apple Cash, Apple Card Savings, Brex Cash.
- 카드: Brex, Ramp, Mercury, Robinhood Cash Card.
- 대출: Affirm BNPL, Klarna, Shopify Capital, Square Loans.
- 보험: Tesla Insurance, Lemonade, Hippo (앞선 글).
비금융 기업이 자체적으로 은행 라이센스를 따려면 자본금·시간·규제 부담이 크다. 그래서 sponsor bank + middleware를 통해 출시한다. Affirm은 Cross River와 협업하고, Mercury는 Choice·Evolve·Coastal를 사용하며, Brex는 Column Bank와 협업한다.
이 시장의 코어 가치는 분배 비용(distribution cost)이다. fintech의 사용자 획득 비용(CAC)은 >$50/account인데, 비금융 기업이 자기 사용자 베이스에 임베디드 파이낸스를 깔면 CAC가 사실상 0이 된다. 그래서 BaaS는 사라지지 않는다 — Synapse 사건에도 불구하고 시장은 더 커지고, 다만 sponsor bank 거버넌스가 강화될 뿐이다.
3장 · Solaris (전 Solarisbank) — 유럽 BaaS의 부활
Solaris(베를린, 2016)는 유럽 BaaS의 대표였다. BaFin(독일 금융감독청) 라이센스를 가지고, ADAC·Samsung·Tomorrow·Vivid 같은 클라이언트에게 BaaS를 제공했다.
2022-2023년이 어려운 시기였다. BaFin이 Solaris의 AML(자금세탁방지) 통제와 거버넌스에 문제 제기를 했고, ADAC 카드 발급 지연·자본 부담 증가가 이어졌다. 2023년 KKR이 주도하는 €100M 펀딩 라운드로 회복 자금을 확보했고, 2024-2025년에 라이센스 정비를 마쳤다.
2026년 현재 Solaris는 다음 라인업을 제공한다.
- Banking 라이센스: 예금·계좌·송금·SEPA·SWIFT.
- E-Money 라이센스: 카드 발급·결제 처리·디지털 지갑.
- Lending: BNPL·소비자 대출 (eligible 파트너 한정).
- Crypto 보관: 2024년 BaFin 인가.
API 표면적은 다음과 같다.
# Solaris API — 계좌 생성, 카드 발급 예시 (개념적 cURL)
# 1) Customer KYC 등록
curl -X POST https://api.solarisbank.de/v1/persons \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"first_name": "Mina",
"last_name": "Kim",
"birth_date": "1990-04-21",
"nationality": "DE",
"address": {"line_1": "Friedrichstrasse 1", "city": "Berlin", "country": "DE"}
}'
# 2) 계좌 개설
curl -X POST https://api.solarisbank.de/v1/persons/$PERSON_ID/accounts \
-H "Authorization: Bearer $TOKEN" \
-d '{"type": "CHECKING_PERSONAL", "currency": "EUR"}'
# 3) Visa 카드 발급
curl -X POST https://api.solarisbank.de/v1/persons/$PERSON_ID/cards \
-H "Authorization: Bearer $TOKEN" \
-d '{"type": "VISA_BUSINESS_DEBIT", "account_id": "$ACCOUNT_ID"}'
이 라인업이 유럽 BaaS의 표준이다. Solaris 외에 영국의 ClearBank, 리투아니아의 Bankera, 독일의 SumUp Bank도 비슷한 라인업을 운영한다.
4장 · Synapse 2024년 파산 — $300M missing customer funds
이 글의 무게 중심이다. 2024년 4월 22일 Synapse는 채프터 11을 신청했다. 이전부터 problem이 있었지만 결정타는 Evolve Bank & Trust와의 분쟁이었다.
타임라인:
- 2014: Synapse(샌프란시스코) Y Combinator W14 코호트로 시작. middleware로 fintech를 sponsor bank와 연결.
- 2019-2022: Mercury·Yotta·Juno·Copper·Mainvest 등 100+ fintech 클라이언트 확보.
- 2023: 정리해고와 자본 부족. Mercury가 Synapse에서 직접 sponsor bank로 마이그레이션 시작.
- 2024년 3월: Evolve가 Synapse와의 reconciliation 분쟁으로 거래 정지.
- 2024년 4월 22일: 채프터 11 신청.
- 2024년 5월: 사용자가 자금에 접근 못 함. Yotta 사용자 한 명이 8만 달러 동결.
- 2024년 6월: 법원이 임명한 수임자(Jelena McWilliams 전 FDIC 의장)가 조사.
- 2024년 7-9월:
$300M missing customer funds결론. ledger 불일치로 어디에 있는지 추적 불가능.
원인 분석:
- Ledger 불일치: Synapse의 internal ledger와 Evolve의 core banking system이 reconcile 안 됨. 어떤 사용자가 얼마를 가졌는지 정확히 알 수 없게 됐다.
- FBO 계정 문제: Synapse는 sponsor bank에 FBO(For Benefit Of) 계정을 운영했다. 여러 사용자의 자금이 한 계정에 풀링되고, 누가 얼마를 가졌는지는 Synapse의 ledger에만 있었다.
- FDIC pass-through 보험의 한계: FDIC 보험은 sponsor bank가 망했을 때만 적용된다. Synapse(middleware)가 망한 경우는 보호 안 됨.
- 거버넌스 부족: 외부 감사·내부 통제가 충분하지 않았다.
이 사건은 BaaS 전체에 트라우마를 남겼다. 그 후 Federal Reserve가 Evolve에 consent order를 내렸고, Lineage Bank·Choice Financial Group도 컴플라이언스 강화 명령을 받았다. Unit·Treasury Prime은 sponsor bank multiplex 모델로 재편했고, Stripe Treasury·Adyen for Platforms 같은 자기 라이센스 또는 신뢰도 높은 sponsor bank 백본을 가진 사업자들이 시장을 회복했다.
5장 · Federal Reserve / OCC consent orders — 규제 강화
Synapse 사건 이후 미국 은행 감독기관은 sponsor bank에 강력한 명령을 내렸다.
- Evolve Bank & Trust (Arkansas, 2024년 6월): Federal Reserve가 cease and desist 명령. AML·BSA(Bank Secrecy Act)·소비자 보호·third-party risk management 개선 의무.
- Lineage Bank (Tennessee, 2024년 1-3월): OCC 컨센트 오더. fintech 파트너 검토 의무.
- Choice Financial Group (North Dakota, 2024년 5월): 컨센트 오더, fintech 파트너 제한.
- Cross River Bank (NJ, 2023년 4월): 이전부터 FDIC consent order. fair lending과 third-party risk.
- Sutton Bank (Ohio, 2024년 2월): 컴플라이언스 강화.
핵심 메시지는 **"sponsor bank가 fintech 파트너의 행동을 자기 행동으로 간주하라"**는 것이다. middleware가 잘못해도 sponsor bank가 책임진다. 그래서 sponsor bank들은 fintech 파트너 선정에 더 까다로워졌고, 일부 sponsor bank는 신규 fintech onboarding을 일시 중단했다.
OCC는 2024년 7월 "Third-Party Risk Management" 가이드라인을 업데이트했다. 핵심 요구사항:
- Third-party risk assessment를 분기마다 갱신.
- Ledger reconciliation을 매일 수행.
- Customer funds를 FBO 계정에 풀링할 때 sub-ledger를 sponsor bank가 자체적으로 보관.
- fintech 파트너의 계열사·자금흐름 투명성 확보.
- Adverse events (예: middleware의 재정 위험)에 대한 contingency plan.
6장 · Treasury Prime — multi-bank 네트워크 모델
Treasury Prime(2017, 샌프란시스코)은 Synapse·Unit과 함께 미국 BaaS 3대장의 하나다. 차별점은 multi-bank 네트워크다. 즉 fintech가 Treasury Prime을 통해 여러 sponsor bank 중 원하는 곳을 선택할 수 있다.
2026년 현재 Treasury Prime의 sponsor bank 네트워크는 다음을 포함한다.
- BMO Harris Bank (parent: BMO Financial Group)
- BankProv (Massachusetts)
- Emigrant Bank (New York)
- LendingClub Bank (California)
- Mid-Penn Bank (Pennsylvania)
- Sutton Bank (Ohio)
이 모델의 장점은 fintech가 sponsor bank를 한 곳에 의존하지 않는다는 점이다. 한 sponsor bank가 컴플라이언스 이슈로 onboarding을 멈춰도, 다른 sponsor bank로 옮기거나 분산할 수 있다.
API는 RESTful이고, Stripe·Plaid와 같은 표면을 가진다.
// Treasury Prime — Node.js SDK 예시 (개념 코드)
import { TreasuryPrime } from '@treasuryprime/sdk'
const tp = new TreasuryPrime({ apiKey: process.env.TP_API_KEY })
// 1) Person 등록 (KYC 자동 트리거)
const person = await tp.persons.create({
first_name: 'Jiwoo',
last_name: 'Lee',
date_of_birth: '1992-07-15',
ssn: '123-45-6789',
address: { line1: '1 Market St', city: 'San Francisco', state: 'CA', postal_code: '94105' },
})
// 2) Account 생성 (sponsor bank 선택 가능)
const account = await tp.accounts.create({
person_id: person.id,
product: 'CHECKING',
bank: 'sutton',
})
// 3) ACH 송금
const transfer = await tp.transfers.create({
source_account_id: account.id,
destination_routing_number: '021000021',
destination_account_number: '4444333322221111',
amount: 50000, // $500.00 (cents 단위)
type: 'ACH',
direction: 'CREDIT',
})
Treasury Prime의 가치 제안은 **"sponsor bank lock-in 없음"**이다. Synapse 사건 이후 이 가치 제안이 더 무거워졌다.
7장 · Unit — Y Combinator·Bessemer 백킹의 BaaS
Unit(2019, 텔아비브 출신, 본사 뉴욕)은 Y Combinator W20 코호트로 시작했다. 2022년 Bessemer 주도 시리즈 C로 $100M+를 모금. 2026년 현재 sponsor bank로 Blue Ridge Bank·Choice Financial Group·Thread Bank·Pacific West Bank 등을 사용한다.
차별점은 개발자 경험이다. Unit은 Stripe와 가장 비슷한 DX를 가진 BaaS다. 문서·SDK·대시보드가 모두 fintech 개발자 친화적이다.
핵심 제품:
- Deposit 계정: Checking/Savings.
- Debit/Credit 카드: 가상·물리.
- ACH·Wire·Book Transfer: 송금 채널 통합.
- White-label 앱: fintech 브랜드 노출.
- 컴플라이언스 자동화: KYC, OFAC sanctions screening, transaction monitoring.
Unit의 API는 JSON:API 표준을 따른다.
// Unit — 계좌 + 카드 발급 풀 스택 (개념 TypeScript)
import { Unit } from '@unit-finance/unit-node-sdk'
const unit = new Unit(process.env.UNIT_TOKEN!, 'https://api.s.unit.sh')
// 1) Customer 생성
const customer = await unit.customers.create({
type: 'individualCustomer',
attributes: {
fullName: { first: 'Sora', last: 'Park' },
dateOfBirth: '1991-03-12',
ssn: '999887777',
address: { street: '15 W 38th St', city: 'New York', state: 'NY', postalCode: '10018', country: 'US' },
},
})
// 2) Deposit 계좌 개설
const account = await unit.deposits.create({
type: 'depositAccount',
attributes: { depositProduct: 'checking' },
relationships: { customer: { data: { type: 'customer', id: customer.data.id } } },
})
// 3) Debit 카드 발급
const card = await unit.cards.create({
type: 'individualDebitCard',
attributes: { shippingAddress: customer.data.attributes.address },
relationships: { account: { data: { type: 'depositAccount', id: account.data.id } } },
})
Unit은 2024년 Synapse 사건 후 새로운 sponsor bank로 확장하면서 multi-bank 모델을 강화했다. 2026년 현재 Treasury Prime과 함께 미국 BaaS의 양강 구도다.
8장 · Galileo (SoFi 자회사) — $50M+ accounts의 처리 백본
Galileo Financial Technologies(2000, 유타)는 미국에서 가장 오래된 결제 처리 백본 중 하나다. 2020년 SoFi가 $1.2B에 인수했고, 그 후 SoFi의 금융 백본이 됨과 동시에 외부 fintech 고객 (Chime, Robinhood, Dave, Varo의 일부)에게 처리 서비스를 제공한다.
2026년 통계 (Galileo 공식 + SoFi 10-K):
- 약
$50M+ accounts처리 (Chime·SoFi·Dave·기타 fintech 합산) - 미국·영국·캐나다·멕시코·콜롬비아 지원
- 매월
$200B+처리 (TPV는 Marqeta보다 작지만, 계좌 수는 비슷한 규모)
Galileo는 BaaS provider라기보다 카드 처리·계좌 ledger 백본에 가깝다. sponsor bank는 별도다 (Chime의 경우 The Bancorp Bank와 Stride Bank).
이 모델에서 Galileo의 가치는 카드 인증·결제망 통합·ledger 운영이다. 즉 fintech가 Chime처럼 사용자 카드를 발급할 때, Galileo가 ISO 8583 메시지를 Visa/Mastercard와 주고받고, 트랜잭션을 ledger에 기록한다.
Galileo의 API는 RESTful이지만 isolated이다 — 즉 한 fintech당 별도 인스턴스가 배포된다. 멀티테넌트가 아니다.
9장 · Marqeta — $200B+ TPV 카드 issuance 전문
Marqeta(2010, 캘리포니아 오클랜드)는 카드 issuance 분야의 글로벌 리더다. 2021년 IPO 후 2026년 현재 시가총액은 변동이 컸지만, 결제 백본으로서의 위치는 굳건하다.
2026년 통계:
- TPV (Total Processed Volume): 연
$200B+. 2025년$220B기록. - 주요 고객: Block (Cash App Card), DoorDash, Instacart, Uber, Affirm, Klarna, Coinbase (이전), JPMorgan Chase (시판 외 사업)
- 발급 가능 카드: Visa, Mastercard, Discover, 가상/물리, EMV chip, contactless.
- 지원 시장: 미국·캐나다·영국·EU·호주·일본 (2025년 진출).
Marqeta의 차별점은 JIT(Just-in-Time) Funding이다. 카드 결제 시점에 fintech의 backend에 webhook을 호출하고, fintech가 그 자리에서 funding 여부를 결정한다. 이 모델 덕분에 카드 발급의 자유도가 높다.
# Marqeta JIT Funding webhook 처리 (Python Flask 개념 코드)
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.post('/marqeta/jit')
def jit_funding():
payload = request.get_json()
# Marqeta가 호출하는 JIT 웹훅 — 카드 결제 직전에 fintech에 funding 요청
user_id = payload['cardholder_user_token']
amount_cents = int(payload['amount'] * 100)
merchant_mcc = payload['mid'].get('mcc')
# 1) 사용자 잔액 확인
balance = get_user_balance(user_id)
if balance < amount_cents:
return jsonify({"jit_funding": {"decline_reason": "INSUFFICIENT_FUNDS"}}), 200
# 2) MCC 제한 (예: 도박 MCC 7995 차단)
if merchant_mcc in ['7995', '7800']:
return jsonify({"jit_funding": {"decline_reason": "MERCHANT_NOT_ALLOWED"}}), 200
# 3) 자체 ledger에서 보류 처리
hold_funds(user_id, amount_cents)
# 4) Marqeta에 승인 통보
return jsonify({
"jit_funding": {
"amount": payload['amount'],
"memo": "approved",
"tags": "consumer-debit"
}
}), 200
이 모델 덕분에 Brex·Ramp 같은 spend management 회사들이 출시할 수 있었다. 사용자가 카드를 긁으면, fintech의 자체 컴플라이언스 룰(예: 정책 위반 MCC 차단, 한도 관리, GL 카테고리 매핑)이 즉시 작동한다.
10장 · Stripe Treasury — BaaS의 새 표준
Stripe Treasury(2020 출시)는 BaaS 시장에 늦게 진입했지만 빠르게 표준이 됐다. Goldman Sachs와 Evolve Bank & Trust가 sponsor bank다 (2026년 현재).
차별점:
- Stripe API와의 통합: 이미 Stripe Connect를 쓰는 플랫폼이 큰 마찰 없이 추가할 수 있다.
- 신뢰도: Goldman Sachs sponsor bank는 Synapse 사건에서 보였던 우려를 상쇄한다.
- API 표면: Financial Account, Issuing, Treasury Send, OutboundTransfer 등.
Stripe Treasury의 주력 사용자는 B2B 마켓플레이스·플랫폼이다. Shopify Balance, Lyft Driver Direct Deposit, 동남아 Grab의 일부 서비스 등.
# Stripe Treasury — Financial Account 생성, Issuing 카드 발급
import stripe
stripe.api_key = "sk_live_..."
# 1) Connected Account에 Financial Account 생성
financial_account = stripe.treasury.FinancialAccount.create(
supported_currencies=["usd"],
features={
"card_issuing": {"requested": True},
"deposit_insurance": {"requested": True},
"financial_addresses": {"aba": {"requested": True}},
"inbound_transfers": {"ach": {"requested": True}},
"outbound_payments": {"ach": {"requested": True}, "us_domestic_wire": {"requested": True}},
"outbound_transfers": {"ach": {"requested": True}, "us_domestic_wire": {"requested": True}},
},
stripe_account="acct_1NXY..." # Connected Account
)
# 2) Issuing 카드 발급
cardholder = stripe.issuing.Cardholder.create(
type="individual",
name="Yuna Choi",
email="yuna@example.com",
individual={"first_name": "Yuna", "last_name": "Choi", "dob": {"day": 14, "month": 6, "year": 1993}},
billing={"address": {"line1": "1234 Market St", "city": "SF", "state": "CA", "postal_code": "94103", "country": "US"}},
stripe_account="acct_1NXY..."
)
card = stripe.issuing.Card.create(
cardholder=cardholder.id,
currency="usd",
type="virtual",
financial_account=financial_account.id,
stripe_account="acct_1NXY..."
)
Stripe Treasury의 약점은 sponsor bank 종속이다. Goldman과 Evolve 외에 다른 옵션이 제한적이다. Treasury Prime의 multi-bank 모델과 비교된다. 하지만 Stripe의 글로벌 인지도와 개발자 경험이 그 단점을 상쇄한다.
11장 · Adyen for Platforms — 유럽발 글로벌 임베디드
Adyen(네덜란드, 1998)은 결제 처리에서 시작해 임베디드 파이낸스로 확장했다. Adyen for Platforms는 마켓플레이스·플랫폼이 자체 sub-merchant에게 결제·정산·카드 발급을 제공할 수 있게 한다.
차별점:
- 글로벌: 유럽·미국·아시아·라틴아메리카까지 단일 API.
- 자체 라이센스: Adyen은 유럽 은행 라이센스(De Nederlandsche Bank)·미국 acquirer 라이센스를 직접 보유. sponsor bank가 별도로 없다.
- Marketplace 특화: Uber·eBay·Etsy 같은 마켓플레이스의 백본.
Adyen for Platforms는 2024년부터 미국에서 carded 임베디드 파이낸스를 본격 운영 중이다. 2025년 영국 Klarna와의 협업이 발표됐다.
12장 · BaaS 미들웨어 비교 매트릭스
이 시점에서 핵심 매트릭스를 정리하자.
| 항목 | Synapse (파산) | Unit | Treasury Prime | Synctera | Stripe Treasury | Galileo | Marqeta |
|---|---|---|---|---|---|---|---|
| 상태 | 2024년 파산 | 운영 중 | 운영 중 | 운영 중 | 운영 중 | SoFi 자회사 | NASDAQ 상장 |
| Sponsor bank | Evolve 등 다수 | Blue Ridge, Choice, Thread 등 | BMO Harris, Sutton, BankProv 등 | Coastal, Sutton, NBKC, Lineage | Goldman, Evolve | Stride, Bancorp (Chime 케이스) | 다수 |
| 자기 라이센스 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 | 없음 |
| Multi-bank | 일부 | 점진적 | 핵심 가치 | 핵심 가치 | 제한적 | 카드 처리 전용 | 카드 issuance 전용 |
| Card issuing | 통합 | 통합 | 통합 | 통합 | Stripe Issuing | 통합 | 핵심 가치 |
| ACH/Wire | 통합 | 통합 | 통합 | 통합 | 통합 | 통합 | 별도 |
| 글로벌 | 미국 중심 | 미국 | 미국 | 미국 | 미국 + 일부 EU | 미국, UK, MX, CO | 미국, UK, EU, 일본 |
| 대표 고객 | Mercury(이전), Yotta | Brex(일부), Ramp | Mercury(이전), Brex | Lili, Stoovo | Shopify Balance, Lyft | Chime, Robinhood, Dave | Block (Cash App), Affirm |
13장 · BaaS account ledger 스키마 — 핵심 데이터 모델
BaaS 운영의 핵심은 ledger이다. Synapse 사건이 보여준 것처럼, ledger가 정확하지 않으면 모든 게 무너진다. 2026년 표준 ledger 스키마는 다음과 같다.
-- BaaS account ledger 스키마 (PostgreSQL 개념)
-- double-entry ledger 원칙 — 모든 트랜잭션은 차변/대변 2개 row
CREATE TABLE accounts (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
customer_id UUID NOT NULL,
sponsor_bank TEXT NOT NULL, -- 'evolve', 'cross_river', 'sutton'
external_account_number TEXT NOT NULL,
product TEXT NOT NULL, -- 'checking', 'savings', 'credit'
currency TEXT NOT NULL DEFAULT 'USD',
status TEXT NOT NULL, -- 'open', 'frozen', 'closed'
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
CREATE TABLE ledger_entries (
id BIGSERIAL PRIMARY KEY,
transaction_id UUID NOT NULL, -- 한 트랜잭션의 group key
account_id UUID NOT NULL REFERENCES accounts(id),
direction TEXT NOT NULL, -- 'debit' or 'credit'
amount_cents BIGINT NOT NULL,
currency TEXT NOT NULL,
balance_after BIGINT NOT NULL, -- 트랜잭션 후 잔액
description TEXT,
external_ref TEXT, -- sponsor bank의 트랜잭션 ID
posted_at TIMESTAMPTZ NOT NULL DEFAULT now(),
CHECK (amount_cents > 0)
);
-- 매일 reconciliation
CREATE TABLE reconciliation_runs (
id BIGSERIAL PRIMARY KEY,
run_date DATE NOT NULL,
account_id UUID NOT NULL REFERENCES accounts(id),
internal_balance BIGINT NOT NULL, -- BaaS middleware의 자체 ledger 잔액
external_balance BIGINT NOT NULL, -- sponsor bank의 core banking 잔액
diff_cents BIGINT NOT NULL, -- internal - external
status TEXT NOT NULL, -- 'matched', 'mismatch_minor', 'mismatch_critical'
resolved_at TIMESTAMPTZ
);
CREATE INDEX idx_ledger_account_posted ON ledger_entries(account_id, posted_at DESC);
CREATE INDEX idx_recon_status ON reconciliation_runs(status, run_date DESC);
이 스키마의 핵심은 double-entry ledger다. 한 트랜잭션이 항상 차변+대변 두 row로 들어가고, 합계가 항상 0이다. 그리고 매일 sponsor bank의 core banking system과 reconcile한다. mismatch가 critical 수준이면 즉시 알람.
OCC 가이드라인은 이 reconciliation을 sponsor bank가 자체적으로 수행하라고 명령한다. middleware의 ledger를 그냥 믿으면 안 된다 — Synapse 사건의 핵심 교훈이다.
14장 · KYC·AML·OFAC 컴플라이언스 자동화
BaaS의 컴플라이언스 부담은 크다. 사용자 한 명마다 다음 체크를 통과해야 한다.
- KYC (Know Your Customer): 신분증·SSN·주소·생년월일 검증.
- OFAC sanctions screening: 미국 재무부 SDN List 매칭.
- PEP (Politically Exposed Person) screening: 정치적 노출 인물.
- Adverse media screening: 부정적 미디어 노출.
- CIP (Customer Identification Program): BSA의 요구사항.
이걸 자동화하는 벤더가 별도 시장을 형성한다.
- Persona, Sumsub, Alloy: KYC + sanction.
- ComplyAdvantage, Refinitiv: sanction + adverse media.
- Socure: ID verification + fraud.
- Plaid Identity Verification: KYC 통합.
BaaS middleware는 보통 이 벤더 중 1-3개를 통합해서 fintech 클라이언트에게 단일 API로 노출한다.
또한 거래 모니터링(Transaction Monitoring)도 필수다. AML 룰 엔진이 트랜잭션 패턴(예: structuring, layering)을 탐지하고, 의심스러운 거래는 SAR(Suspicious Activity Report) 작성. SAR은 FinCEN(미국 금융범죄단속국)에 보고한다.
15장 · 한국 BaaS — 핀크·토스·카카오뱅크
한국의 BaaS는 미국·유럽과 다른 경로로 발전했다. 2019년 마이데이터·오픈뱅킹이 시작되면서 은행 API가 본격적으로 외부에 열렸고, 그 흐름이 BaaS로 이어졌다.
핀크 (Finnq) — 2016년 SK텔레콤·KEB하나은행 합작. 마이데이터 기반 PFM이 본업이지만, 2023년부터 BaaS API를 외부 fintech에 개방. 통신사 결합형 상품이 차별점.
토스 (Toss) — 2014년 비바리퍼블리카가 시작. 토스뱅크는 별도 인터넷전문은행이지만, 토스의 일부 API는 외부 핀테크에 노출된다. 자체 인프라가 거대해서 BaaS provider보다 자체 사용이 더 많다.
카카오뱅크 — 2017년 인터넷전문은행. 오픈뱅킹 외에 자체 API 50개+를 외부에 노출 중. 환전·예금·송금·카드까지.
# 카카오뱅크 오픈 API 예시 — 송금 API (개념 cURL, 실제 엔드포인트는 다를 수 있음)
curl -X POST https://openapi.kakaobank.com/v2/transfer \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fromAccount": "3333-01-1234567",
"toBank": "088",
"toAccount": "110-1234-5678",
"amount": 100000,
"memo": "정기 송금"
}'
한국의 차별점은 인터넷전문은행의 존재다. 카카오뱅크·케이뱅크·토스뱅크는 자체 은행 라이센스를 가지고 있어서 sponsor bank 의존도가 낮다. 미국의 BaaS middleware 시장은 sponsor bank 부족이 트리거지만, 한국은 핀테크가 직접 은행이 되는 경로가 열려 있다.
중요 규제: 금융위원회·금감원·금융결제원이 거버넌스 주체. 마이데이터 도입(2022) 이후 사용자 동의 기반 데이터 공유가 표준이 됐다.
16장 · 일본 BaaS — GMO Aozora·BANKING.JP·住信SBI·J-coin
일본은 보수적이지만 BaaS가 가속 중이다. 핵심 사업자:
GMO Aozora Net Bank (GMOあおぞらネット銀行) — 2018년 GMO Internet 그룹과 Aozora Bank 합작 인터넷은행. BaaS의 선두주자. 자회사 BANKING.JP로 외부 fintech에 API 제공.
BANKING.JP — GMO Aozora의 BaaS 브랜드. 계좌·송금·카드를 API로. 가상계좌(振込専用口座) API가 강점. 일본의 결제 관행(振込)에 최적화.
住信SBIネット銀行 (SBI Sumishin Net Bank) — NEOBANK 브랜드로 BaaS 운영. JAL Pay, Yamada NEOBANK, T NEOBANK 등 외부 브랜드를 백킹한다.
J-coin Pay — みずほ銀行(Mizuho) 주도의 QR 결제. 외부 fintech가 J-coin을 사용해 결제 처리를 임베드할 수 있다.
Setou Bank Embedded — 가상의 사례로 자주 언급되지만, 일본의 지방은행이 임베디드 파이낸스를 시도하는 흐름의 상징.
JPY 통합 API의 특징:
- 振込(furikomi, 계좌이체)이 카드보다 더 중요. ATM·인터넷뱅킹 모두 振込 기반.
- 振込専用口座(가상계좌)가 핵심. 한 사업자가 사용자 수만큼 가상계좌를 생성하고, 사용자가 거기로 송금하면 사업자가 자기 ledger에 매핑.
- マイナンバー(My Number) 연동 KYC가 표준화됨.
// BANKING.JP — 振込専用口座 생성 + 매칭 (개념 TypeScript)
// 사용자별로 가상계좌를 만들고, 입금이 들어오면 사용자에 매핑
interface VirtualAccount {
virtualAccountId: string
customerId: string
bankCode: string // GMO Aozora: '0310'
branchCode: string // 지점 코드
accountNumber: string // 8자리 가상계좌 번호
accountHolderName: string // 한자/가타카나
createdAt: string
}
async function createVirtualAccount(customerId: string): Promise<VirtualAccount> {
const res = await fetch('https://api.banking.jp/v1/virtual-accounts', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.BANKING_JP_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
customer_id: customerId,
purpose: 'DEPOSIT',
currency: 'JPY',
}),
})
if (!res.ok) throw new Error(`virtual account creation failed: ${res.status}`)
return res.json()
}
// 입금 webhook 처리
async function handleIncomingTransfer(payload: {
virtual_account_id: string
amount: number
sender_name: string
received_at: string
}) {
const va = await db.virtualAccounts.findById(payload.virtual_account_id)
if (!va) {
// 매칭 실패 — 미입금 처리, 24시간 후 반환 또는 수동 매칭
return enqueueUnmatchedDeposit(payload)
}
await db.ledgerEntries.create({
accountId: va.customerId,
direction: 'credit',
amount: payload.amount,
currency: 'JPY',
externalRef: payload.received_at,
})
}
규제: 金融庁(FSA, Financial Services Agency)가 거버넌스. 2024년 資金決済法(자금결제법) 개정으로 BaaS 사업자도 직접 규제 대상이 됐다. 또한 銀行代理業(은행대리업) 라이센스가 별도로 필요한 경우가 있다.
17장 · US vs EU vs KR vs JP — BaaS 매트릭스
| 항목 | US | EU | KR | JP |
|---|---|---|---|---|
| 대표 sponsor bank | Cross River, Evolve, Coastal | Solaris, ClearBank | (인터넷전문은행이 직접) | GMO Aozora, 住信SBI |
| 대표 middleware | Treasury Prime, Unit, Synctera | Solaris(통합), Railsr(전 Railsbank) | 핀크, 토스 | BANKING.JP |
| 카드 issuer | Marqeta, Galileo, Lithic | Marqeta EU, Modulr | 비씨카드, BC Global | Mastercard JCB, JCB |
| 규제 | Fed, OCC, FDIC, CFPB | EBA, 국가별 (BaFin, FCA) | 금감원, 금융위 | FSA(金融庁), 일본은행 |
| 핵심 사건 | Synapse 파산 (2024) | Solaris BaFin 이슈 (2022-23) | 마이데이터 시행 (2022) | 자금결제법 개정 (2024) |
| 자기 라이센스 비중 | 낮음 (대부분 sponsor bank) | 중간 | 높음 (인터넷전문은행) | 중간 |
| FDIC pass-through | 적용 (sponsor bank만 보호) | DGS (deposit guarantee scheme) | 예금자보호 5천만원 | 預金保険 1천만엔 |
| Open Banking | 제한적 (CFPB 1033 진행 중) | PSD2/PSD3 | 오픈뱅킹 (2019-) | 오픈API (2018-) |
18장 · BaaS의 위험 — Synapse 이후의 교훈
Synapse 사건은 여러 위험을 가시화했다.
- Ledger 무결성: middleware의 ledger와 sponsor bank의 core banking system이 reconcile 안 되면 끝.
- FBO 계정의 본질적 위험: 풀링된 자금에서 누가 얼마를 가졌는지 불명확.
- FDIC pass-through의 한계: middleware가 망하면 FDIC가 안 도와준다.
- 거버넌스 부재: 외부 감사·내부 통제가 약했다.
- Sponsor bank의 책임 확장: Fed/OCC는 sponsor bank가 fintech 파트너의 행동에 책임지라고 명령.
2026년 BaaS provider의 표준 컴플라이언스:
- 매일 ledger reconciliation. 카운터 sponsor bank의 core banking system과 매칭.
- Per-customer sub-ledger를 sponsor bank가 별도 보관.
- Adverse event contingency plan (예: middleware의 재정 위기 시 사용자 자금 보호 시나리오).
- 외부 감사 (Big 4) 분기 단위.
- 보드 거버넌스 위원회.
19장 · ACH·Wire·RTP·FedNow — 송금망 통합
미국 송금망은 4가지가 핵심이다.
- ACH (Automated Clearing House): 1970년대부터. 익일 또는 동일 영업일 결제. 수수료 저렴. 대량 거래.
- Wire Transfer (Fedwire, CHIPS): 실시간(영업시간 중). 큰 금액. 수수료 높음.
- RTP (Real-Time Payments): The Clearing House 운영. 2017년 시작. 24/7.
- FedNow: Federal Reserve 운영. 2023년 7월 출시. 24/7 실시간.
BaaS provider는 4가지 모두를 통합해 API로 노출한다. 2025-2026년 FedNow 채택률이 빠르게 증가했다.
# BaaS — ACH vs RTP vs FedNow 라우팅 (개념 코드)
def route_payment(amount_cents: int, urgency: str, recipient_routing: str) -> dict:
"""송금 채널 자동 선택"""
if urgency == 'instant' and supports_rtp(recipient_routing):
return {'channel': 'RTP', 'fee_cents': 25, 'eta_seconds': 10}
if urgency == 'instant' and supports_fednow(recipient_routing):
return {'channel': 'FedNow', 'fee_cents': 25, 'eta_seconds': 10}
if amount_cents >= 100_000_00: # $100K 이상은 wire
return {'channel': 'WIRE', 'fee_cents': 1500, 'eta_seconds': 7200}
return {'channel': 'ACH', 'fee_cents': 5, 'eta_seconds': 86400} # 익일
한국은 오픈뱅킹의 즉시이체(BANK_TRAN)가 표준이고, 일본은 ZEDI(全銀システム)·全銀EDI가 코어이며 최근 ことら(Cotra) 24/7 송금이 도입됐다.
20장 · 카드 발급 — physical vs virtual, JIT funding 패턴
카드 발급은 BaaS의 핵심 제품이다. 두 가지 형태:
- Virtual Card: 즉시 발급, 즉시 사용 가능. Apple Pay·Google Pay에 푸시.
- Physical Card: 우편으로 7-10일. EMV chip + contactless.
발급 패턴:
- prefund: fintech가 사용자별 잔액을 사전에 sponsor bank에 보관. 카드 결제 시 자동 차감.
- JIT funding: 카드 결제 시점에 fintech의 webhook 호출. fintech가 그 자리에서 funding 여부 결정.
JIT funding의 장점은 자본 효율이다. 사용자가 카드를 쓸 때만 자금이 이동하므로, 사전 prefund가 필요 없다. Brex·Ramp의 핵심 기술이다.
# JIT funding의 보안 — webhook 서명 검증 (Marqeta 스타일)
import hashlib
import hmac
import os
def verify_marqeta_webhook(payload_raw: bytes, header_signature: str) -> bool:
secret = os.environ['MARQETA_WEBHOOK_SECRET'].encode()
expected = hmac.new(secret, payload_raw, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header_signature)
# 처리 로직
def handle_jit_request(request):
raw = request.body
sig = request.headers.get('X-Marqeta-Signature', '')
if not verify_marqeta_webhook(raw, sig):
return 401, 'invalid signature'
# ... 이후 사용자 잔액·MCC 검증
webhook 서명 검증이 핵심이다. 검증 안 되면 공격자가 JIT 응답을 위조해 자금을 빼낼 수 있다.
21장 · sandbox·테스트 환경 — fintech 개발자의 출발점
BaaS provider 선택의 첫 단계는 sandbox 품질이다. Stripe Treasury·Unit·Treasury Prime은 sandbox가 좋다.
- 테스트 ABA routing numbers, 테스트 SSN, 테스트 카드 번호 제공.
- 이벤트 시뮬레이션: ACH return, chargeback, dispute, fraud alert.
- 시간 가속: T+1 ACH를 즉시 시뮬레이션.
// Unit sandbox — ACH return 시뮬레이션 (개념 TypeScript)
// 실제 운영에서는 ACH return은 R01 (Insufficient Funds) 등의 이벤트로 옴
await unit.simulations.simulateAchReturn({
paymentId: 'payment_xxx',
reason: 'R01', // Insufficient Funds
})
// 자체 webhook 핸들러에서 R01 처리
async function handleAchReturn(event) {
const payment = await db.payments.findById(event.paymentId)
await db.payments.update(payment.id, { status: 'returned', returnCode: event.reason })
await db.ledgerEntries.create({
transactionId: payment.transactionId,
accountId: payment.accountId,
direction: 'debit', // 다시 차감
amountCents: payment.amount,
description: `ACH Return: ${event.reason}`,
})
}
sandbox에서 모든 엣지 케이스를 시뮬레이션해야 production에서 사고를 막을 수 있다.
22장 · 실시간 ledger 갱신과 idempotency
BaaS API의 운영 코어는 idempotency다. 같은 요청이 두 번 와도 한 번만 처리해야 한다. webhook이 재시도되거나 네트워크 timeout이 발생하면 항상 중복이 가능하다.
- Idempotency Key: 모든 mutating 요청에 클라이언트가 생성한 UUID를 헤더로.
- 서버 측 저장: 키와 응답을 DB에 저장. 같은 키 재요청 시 캐시된 응답 반환.
- TTL: 보통 24-48시간.
// Idempotency 패턴 — Express + PostgreSQL (개념 TypeScript)
app.post('/transfers', async (req, res) => {
const key = req.headers['idempotency-key'] as string
if (!key) return res.status(400).json({ error: 'missing Idempotency-Key' })
const cached = await db.idempotency.findUnique({ where: { key } })
if (cached) return res.status(cached.statusCode).json(cached.response)
// 새 요청 처리
const transfer = await createTransfer(req.body)
const response = { id: transfer.id, status: transfer.status }
await db.idempotency.create({
data: { key, statusCode: 200, response, expiresAt: new Date(Date.now() + 24 * 3600 * 1000) },
})
res.status(200).json(response)
})
이 패턴이 누락되면 사용자가 한 번 송금하려다 두 번 송금되는 사고가 난다. BaaS의 가장 큰 운영 사고 중 하나다.
23장 · 한국·일본 시장의 미래 — 무엇이 다음인가
한국:
- 인터넷전문은행이 강하다. BaaS middleware보다 직접 은행이 되는 경로가 열려 있다.
- 핀크·토스·카카오뱅크·케이뱅크의 API 표준화가 진행 중.
- 마이데이터(2022)와 오픈뱅킹(2019)이 인프라.
- 2025-2026년 화두는 외환·해외송금 임베디드 (Wirebarley, Sentbe, Moin과의 협업).
일본:
- 자금결제법 2024년 개정으로 BaaS 명확히 규제 대상.
- GMO Aozora·住信SBI·みんなの銀行(Minna Bank)이 BaaS 백본 경쟁.
- マイナンバー(My Number)·マイナポータル 연계로 디지털 KYC 가속.
- 2026년 화두는 J-coin Pay·Cotra(ことら) 등 24/7 송금 임베디드.
미국:
- Synapse 사건 이후 sponsor bank 거버넌스 강화 흐름이 2027-2028년까지 이어질 것.
- Fed의 master account 정책이 핵심 변수. fintech가 직접 Fed 계좌를 가질지 여부.
- Bank charter 신청이 늘고 있다(SoFi, Square이 이미 받았다). middleware의 자기 라이센스화 흐름.
유럽:
- Solaris·Railsr 회복 후 시장 안정. Klarna·Revolut의 자기 라이센스화 가속.
- PSD3 (2024-2026 협상 중) 이 다음 표준. AISP·PISP의 책임 명확화.
24장 · 통합 체크리스트 — BaaS provider 선택하기 전에
마지막으로 실무 체크리스트.
- Sponsor bank 안정성: 자본 비율(Tier 1), regulatory rating(CAMELS), 최근 consent order 여부.
- Multi-bank 지원: 한 sponsor bank가 멈춰도 마이그레이션 가능한가.
- Ledger 모델: double-entry, daily reconciliation, sub-ledger 보관 위치.
- 컴플라이언스 자동화: KYC, OFAC, transaction monitoring, SAR 자동화.
- API 품질: 문서, SDK, sandbox, webhook 안정성, idempotency 지원.
- 카드 발급: virtual/physical, JIT funding 지원, Apple/Google Pay 푸시.
- 송금 채널: ACH, wire, RTP, FedNow 모두 지원.
- 글로벌 지원: 미국 외 시장 진출 계획이 있다면.
- 비용 모델: per-account, per-transaction, monthly minimum.
- 데이터 추출: account·transaction을 API/Webhook/CSV로 빼올 수 있는가.
- Adverse event 시나리오: middleware 또는 sponsor bank가 위기 시 대처 매뉴얼.
- 법적 구조: FBO 계정 vs sub-account, FDIC pass-through 적용 여부.
- 외부 감사: Big 4 감사, SOC 2 Type II 보유 여부.
- 고객 지원: 24/7 운영, escalation path, postmortem 공개 정책.
- 공동 책임 (Synapse 교훈): middleware vs sponsor bank 책임 분담 계약 조항 명확화.
이 15개가 2026년 BaaS provider 평가의 표준이다. Synapse 사건이 남긴 가장 큰 교훈은 **"BaaS는 단지 API가 아니라, 자금의 안전과 신뢰의 인프라"**라는 것이다. 빠르게 출시할 수 있다는 이점에 가려진, 깊은 거버넌스 부담이 있다. 그 부담을 정확히 이해하지 못한 fintech는 Yotta 사용자들처럼 자기 사용자에게 사과해야 할 날이 올 수도 있다.
References
- Solaris — https://www.solarisgroup.com/
- Treasury Prime — https://www.treasuryprime.com/
- Unit — https://www.unit.co/
- Synctera — https://www.synctera.com/
- Galileo Financial Technologies — https://www.galileo-ft.com/
- Marqeta — https://www.marqeta.com/
- Stripe Treasury — https://stripe.com/treasury
- Adyen for Platforms — https://www.adyen.com/platforms
- Federal Reserve Board (Evolve consent order, 2024) — https://www.federalreserve.gov/newsevents/pressreleases/enforcement20240614a.htm
- OCC Third-Party Risk Management — https://www.occ.gov/news-issuances/news-releases/2023/nr-ia-2023-53.html
- FDIC Pass-Through Deposit Insurance Coverage — https://www.fdic.gov/resources/deposit-insurance/brochures/insured-deposits/
- Synapse Bankruptcy Court Filings (US Bankruptcy Court, Central District of California) — https://www.pacer.gov/
- Jelena McWilliams (Synapse Trustee, ex-FDIC Chair) — https://www.fdic.gov/about/leadership/mcwilliams.html
- CFPB 1033 (Open Banking, US) — https://www.consumerfinance.gov/rules-policy/regulations/1033/
- BaFin (German Federal Financial Supervisory Authority) — https://www.bafin.de/EN/
- 핀크 (Finnq) — https://www.finnq.com/
- 토스 (Toss) — https://toss.im/
- 카카오뱅크 — https://www.kakaobank.com/
- 한국 금융감독원 (FSS) — https://www.fss.or.kr/
- 금융결제원 (KFTC, Open Banking) — https://www.kftc.or.kr/
- GMO Aozora Net Bank — https://gmo-aozora.com/
- BANKING.JP — https://corp.banking.jp/
- 住信SBIネット銀行 (SBI Sumishin Net Bank) — https://www.netbk.co.jp/
- 金融庁 (Japan Financial Services Agency) — https://www.fsa.go.jp/en/
- Mercury — https://mercury.com/
- Brex — https://www.brex.com/
- Ramp — https://ramp.com/
- Chime — https://www.chime.com/