The case for going direct
Plaid direct is genuinely appealing for three kinds of projects:
- You need Plaid products BankBridge doesn't surface (Auth for ACH, Identity for KYC, Income for underwriting, Transfer for money movement).
- You're building something that isn't an MCP server at all — a consumer web app, a mobile app, a trading tool.
- You're at scale where the per-bank markup would be meaningful and you're willing to own the engineering overhead.
If you're in one of those buckets, go direct and don't read the rest of this article. If you're not, the rest of this article is for you.
What you inherit from Plaid direct
Plaid gives you: API access, a Link UI SDK for the bank-connection flow, webhook notifications for events, and documentation. It does not give you:
- An MCP server wrapping those APIs as tools.
- OAuth 2.1 with Dynamic Client Registration for multi-user apps.
- Bank-error classification (reauth, dead, retry, silent-skip) with appropriate MCP response shapes.
- Timeout defense (axios ceiling + per-call AbortSignal) to keep one slow bank from wedging an agent query.
- Encrypted-at-rest storage for access tokens (you provide your own key management).
- Subscription billing wired to bank-count quantity, with proration and cancellation cleanup.
- The six-layer cancellation defense (ours: webhook, sync-time, MCP-time, nightly cron, payment-failure path, audit log) that keeps items from bleeding billable access after cancellation.
- Pre-filled install snippets for 29 agent hosts that evolve their configs regularly.
- OAuth discovery metadata at the two
/.well-known/paths the MCP spec requires.
What BankBridge adds on top
All of the above. Plus 12 pre-built MCP tools (list_accounts, list_transactions, get_spending_summary, etc.) with partial-failure semantics wired in. Plus a live-fetch architecture that caches zero financial data anywhere. Plus a Plaid-compliance posture we've already negotiated.
Concretely, if you forked BankBridge's architecture and wired it to a new Plaid account, you'd spend 2-4 weeks getting to a working MVP and indefinite time on the long tail. We're billing that engineering amortized across our subscriber base for $5/mo per bank.
The cost math
Plaid's current pricing (check plaid.com/pricing for your exact case):
- Transactions: ~$0.30/item/month after volume discounts.
- Investments: ~$0.70/item/month.
- Link UI: free.
- Minimum monthly spend or volume commits depending on your contract tier.
BankBridge bundles Transactions + Investments + MCP server + hosting + all the other overhead for $5/mo per bank. Under 5 banks, we're almost always cheaper than building direct once you value your time at all. Above 100 banks, the math starts tilting the other way and you should email us about a volume-tier rate.
When going direct actually makes sense
- You need Plaid products we don't wrap.
- You're building a non-MCP product (consumer app, mobile app).
- You have compliance requirements (HIPAA, SOC 2, specific enterprise audit posture) that force you to own the infra.
- You're at scale where the per-bank markup materially affects gross margin.
- You want to ship money movement. BankBridge is strictly read-only; that's not our business.
When BankBridge wins
- Solo developer or small team. Engineering time beats per-bank markup.
- Personal finance use. Three banks at $15/mo is cheaper than a single hour of building.
- Agent-first product. The tools are already shaped for MCP; no adapter layer to maintain.
- You want the work to keep working. We're maintaining the host-compatibility matrix, the OAuth edge cases, and the upstream SDK bumps. That ongoing work is the hidden cost of building direct.