lynqx
← All posts
Engineering · JUL 2, 2026 · 8 min read

Consent is the primitive corporate banking was missing.

AK
Arjun Khanna
Engineering, Lynqx

Every integration platform can tell you who made an API call. Almost none can tell you who is allowed to touch a bank account, which permissions they hold, when that permission runs out, and which human said yes. In consumer banking, regulators forced the question — open banking made consent explicit. Corporate banking never got that forcing function, so third-party access accumulated the way it always does: keys in vaults, scopes in wikis, approvals in email threads.

That worked when "third party" meant one TMS. It stops working the moment your connectivity layer hosts integration apps, autonomous agents, skills, and MCP servers — all of which can, in principle, read statements or move money. The access-control question becomes the product question.

If a thing can touch a bank, its permission to do so should be an object you can list, inspect, expire, and revoke — not a side effect of holding a key.

So we made consent a first-class object in Lynqx. A consent names a grantee (app, agent, skill, or MCP server), a set of scopes, the specific connected systems those scopes apply to, an expiry, and the person who granted it. The runtime enforces it at the layer boundary — a call outside the grant never reaches the bank connector.

THE SHAPE OF A GRANT
grantee     reconciliation-agent          agent
scopes      statements.read
systems     hdfc-agg · citi-global
expires     2026-08-01 (30 days)
granted_by  a.khanna
status      active                        revocable

Three design choices matter more than the schema. First, expiry is mandatory. There is no "forever" grant; renewals are deliberate acts, which means dormant access dies by default instead of surviving by default. Second, scopes bind to systems, not the tenant. An agent trusted to read statements from your India entity's HDFC accounts has exactly that — not statement access everywhere. Third, the ledger is the UI. Grants, uses, and revocations land in the same console screen treasury already works in. Nothing about access is buried in a developer settings page.

The unexpected payoff was audits. When a reviewer asks "who can move money, and who approved that?", the answer is a filtered list, not a two-week archaeology project. Consent didn't just make the platform safer — it made it explainable.

Copilots and agents make this urgent. An AI that drafts payments is only deployable if every tool it holds was explicitly granted, is visibly scoped, and can be revoked mid-session. That's not a safety feature bolted on top of Lynqx — it's the same primitive doing its job.

See it running in the console.