Sanctions screening as code: one policy, a different actuator per rail visual preview
By Navin AgrawalPayments3 min read

Sanctions screening as code: one policy, a different actuator per rail

The payment is final in under a second and your sanctions analyst is still opening the alert. On an instant rail there is no review window, so the screen has to clear or stop the payment in code, inside the latency budget. The policy model can be common across rails. The action on a hit cannot, because RTP, the card networks, and SEPA Instant each demand a different commit semantic.

The core was never the bottleneck. The operating model was visual preview
By Navin AgrawalStrategy3 min read

The core was never the bottleneck. The operating model was

The plan said twelve months and the core replacement landed in year three. Nobody in that room was lying. They budgeted for a software install and got an operating-model change. After two decades on the payments, treasury, and integration side of these programs, here is the math I give clients before they sign a full legacy core replacement, and where the months actually go.

The broker pattern is older than the agentic-commerce headline visual preview
By Navin AgrawalArchitecture2 min read

The broker pattern is older than the agentic-commerce headline

Stripe Shared Payment Tokens are the agentic-commerce headline, but anyone who ran a card tokenization rollout in 2014 recognizes the shape in five seconds. A scoped surrogate credential with a thin stable interface in front and brokered complexity behind is not new. Visa Token Service shipped it twelve years ago, and the architects who see the pattern early build the right systems instead of rebuilding every eighteen months.

Context rot can start before the first prompt visual preview
By Navin AgrawalAI systems3 min read

Context rot can start before the first prompt

My LLM session loaded 276,989 tool-schema tokens before I typed anything - eleven MCP servers, 609 tool definitions, 27.7 percent of a million-token window spent on payload the model might never call. A bigger context window did not fix that, it gave the problem more room. So I built mcp-broker, PgBouncer for MCP, and the always-loaded tool payload dropped by more than 80 percent.

BRICS does not need to kill SWIFT to change cross-border architecture visual preview
By Navin AgrawalArchitecture3 min read

BRICS does not need to kill SWIFT to change cross-border architecture

The interesting BRICS payments question is not geopolitics. It is architecture: when a US company pays a supplier in a BRICS country, does the payment still default to USD correspondent banking, or does the hub choose the corridor before release? A mature local-currency corridor adds a routing decision, and that decision is middleware, policy, liquidity, and evidence rather than a new button in the portal.

Under a second is the right answer to the wrong question visual preview
By Navin AgrawalPayments3 min read

Under a second is the right answer to the wrong question

At an AWS Bedrock AgentCore Payments session the question was what happens at a thousand transactions a second, and the answer was settlement in under a second. Both are true and they answer different questions. The right frame for one payment crossing a trust boundary is the wrong frame for a million events a day inside one agent fleet, where the chain fee stacks up before anything else does.