Consent is the primitive corporate banking was missing.
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.
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.
Forty banks, forty dialects of the same "standard." How the parser survives all of them.
Simulated banks that fail payments, delay statements, and reject formats — on purpose.