API and JSON in banking: what they actually do
Why an API call never touches the ledger, and why a JSON payload on its own is not proof that a payment happened.
What L2L really means, how banks actually move money between ledgers, and where ILP fits in — explained in plain English with a glossary.
Published
"Ledger to Ledger" sounds intimidating, but the idea is simple: every bank, payment app, and even every blockchain keeps a list of who owns what. When value moves between two of those lists, that's an L2L transfer. The mechanics behind it — correspondent banks, MT103 messages, nostro accounts, ILP packets — are where things get dense. This guide unpacks them in plain English, with a glossary at the end so you can scan back when an acronym blurs together.
L2L is short for Ledger-to-Ledger. It describes moving value between two separate ledgers — and there are two very different flavours of it depending on whether you're in traditional banking or in blockchain.
A ledger is just a record-keeping system. A bank's ledger tracks every account, every balance, every credit and debit. When money moves from your account to someone else's, no physical cash is teleported anywhere. The bank simply adjusts entries: your balance goes down, theirs goes up. If the two accounts are at the same bank, that's an intra-bank L2L. If the two ledgers belong to different banks, that's an inter-bank L2L — and it requires the global banking system to coordinate.
The same idea applies, but the ledgers are distributed. Moving value from one blockchain to another (say, Bitcoin to Ethereum, or a CBDC pilot to a stablecoin network) requires specialised tools: atomic swaps, cross-chain bridges, or interoperability protocols like ILP. The principle is identical — one ledger decrements, another increments — but the trust model and tooling differ.
Before going further, it helps to picture the inside of a modern bank. Banks don't run on one big system — they run on three deliberately separated layers, each with its own job and its own security posture.
This is the bank's digital front door. It's where mobile apps, internet banking, partners, and external networks plug in. The middle layer authenticates requests, translates between data formats (JSON, XML, ISO 20022), enforces rate limits, and routes incoming traffic. It's flexible, modern, and frequently updated — but it doesn't move money on its own.
This is the operational engine. The CBS holds customer accounts, applies product rules (interest, fees, limits), processes transactions, and updates balances in real time. Vendors you may have heard of include Temenos T24, Finastra Fusion, Oracle FLEXCUBE, FIS Profile, and Mambu. The CBS is more stable and more guarded than the middle layer — and importantly, it isn't directly reachable from the outside world.
This is the most isolated layer of all. The ledger server keeps the authoritative double-entry record of every financial movement at the institution — debits balance credits, always. It generates regulatory reports, supports the chart of accounts, and is often deployed in a physically separate data centre, behind extra firewalls, with multi-factor authentication and hardware security modules. It does not talk to the internet. Period.
A common misconception — often spread by scams — is that you can somehow "download" funds from a bank's ledger or core server. You can't. Here's why:
/balances/ sitting on a hard drive that anyone could copy. A balance is an entry in a tightly controlled database, protected by encryption at rest, integrity checks, and audit logging.Real fund movement always passes through the regulated framework of the global banking system. The integrity of every transaction depends on that — and so does compliance with anti-money-laundering and sanctions rules.
This is the single most important concept in the whole article. Banking has two distinct things that beginners often confuse:
A SWIFT MT103 message, for example, is an instruction. So is an MT202. They tell the receiving bank: "funds are coming, here's the beneficiary, here's the amount." On their own, they move nothing. The receiving bank doesn't credit the beneficiary just because an MT103 arrives — it waits for confirmation that real money hit its correspondent account first.
When two banks want to exchange money across borders, they usually don't trade dollar bills. Instead, they hold accounts with each other. Two terms come up constantly.
A correspondent bank holds a direct, bilateral account (called a nostro account from the sender's perspective, or vostro from the holder's) for another bank. These accounts have real cash balances. When Bank A wants to pay someone in Bank B's country, it can debit its nostro account at Bank B — actual money already sitting there — and credit the beneficiary.
If Bank A and Bank B have no direct correspondent relationship, the payment has to be forwarded through one or more intermediary banks that do have those relationships. Intermediaries route the funds along the chain, handle currency conversions, and produce their own SWIFT confirmations along the way.
Modern core banking systems don't trust an instruction — they trust reconciled confirmations. Here's the simplified workflow when an inbound payment arrives.
Routing is slightly more layered:
This process is automated by software like SmartStream TLM, SAP FS-CD, Oracle Flexcube, and Temenos Recon, with SWIFT gpi providing real-time tracking. AML and sanctions screening run on every message. The probability of a CBS misposting is typically below 0.1%.
Now that you understand how traditional bank settlement works, ILP is easier to place.
The Interledger Protocol is an open protocol — originally proposed by engineers at Ripple, now maintained as a community standard — that lets payments hop across different ledgers without any of them having to be the same kind. Bank ledgers, blockchains, mobile money systems, prepaid networks: ILP doesn't care, as long as each ledger has a "connector" that speaks the protocol.
An ILP transfer is a chain of conditional packets. Each connector along the route prepares a small transfer with a cryptographic condition. If the next hop fulfills its condition within a time window, the transfer locks in. If not, the whole chain reverses — automatically. This is similar in spirit to the Bitcoin Lightning Network's HTLCs (hashed time-locked contracts), but ledger-agnostic.
For very small payments, ILP uses STREAM, which chunks a payment into many tiny packets to discover route capacity and minimise loss. Settlement is fast — often sub-second — and supports streaming micropayments down to fractions of a cent.
When a bank exposes an ILP gateway, it almost always sits in a hardened middle-layer connector, not on the core. External traffic uses BTP/STREAM over TLS 1.3; once a packet is fulfilled, the connector converts it into a normal ISO 20022 message (PACS.008 or PACS.009) and hands it off to the bank's internal payment rails. No ILP socket ever touches the core ledger directly — that segregation satisfies NIST SP 800-53 boundary protection rules and Basel III operational risk expectations.
ILP "fulfilment" is not the same as legal settlement. Even when an ILP packet is cryptographically released, the bank still has to settle the corresponding fiat leg through TARGET2, an RTGS, or a correspondent nostro before the customer's balance is finally updated. ILP coordinates; it does not replace the underlying settlement rails.
ILP is one option among several. Different corridors, currencies, and regulatory regimes favour different rails. Here's a tour of the main ones.
An overlay on top of national instant-payment schemes. Funds land in seconds, 24/7, while still using the familiar MT 103 / ISO 20022 messaging banks already speak. No new tokens, no new infrastructure — just upgraded SWIFT pipes. Best when broad global bank coverage matters more than novelty.
The European Payments Council's standard for euro transfers. Guarantees that funds arrive in under ten seconds, anywhere in the SEPA zone, up to €100,000 per transfer, 24/7/365. For pure euro corridors this beats ILP because there's no FX spread and it settles natively on TIPS (TARGET Instant Payment Settlement). It's also mandatory under the EU's Instant Payments Regulation — banks operating in the EU have to support it.
A newer initiative that does atomic Payment-versus-Payment (PvP) across central-bank RTGS platforms in milliseconds. Both legs of an FX trade settle simultaneously, eliminating Herstatt (settlement) risk entirely. Where ILP still needs post-fulfilment nostro reconciliation, RTGS.global bonds both legs in a single atomic instruction.
Ripple's bilateral messaging and settlement orchestration suite. Some LATAM and APAC banks are Ripple-native, in which case xCurrent is a turnkey way to interoperate. Settlement can occur on the XRP Ledger or via traditional nostros, giving treasury teams choice based on jurisdiction.
An open-source reference implementation for inclusive instant-payments systems, especially in emerging markets. It actually uses ILP under the hood, but adds directory services and quoting on top to optimise for low-value mobile remittances. Aligned with UN Sustainable Development Goal 8.10 (universal access to financial services).
Different priorities pick different rails. A quick cheat sheet:
Quick definitions for the acronyms and jargon used above. Skim this section any time a term gets fuzzy.
L2L is short for Ledger-to-Ledger. It describes a transfer of value between two separate accounting ledgers — usually maintained by banks or payment service providers, but in blockchain contexts it can also refer to transfers between distributed ledgers.
No. Bank ledgers and core systems are isolated from external access by design. Funds always move through the regulated banking system — what changes is the balance on each ledger, not files on a server.
ILP is an open protocol for sending payments across different ledgers — bank ledgers, blockchains, mobile money systems — using cryptographically conditional transfers. It does not replace settlement; it coordinates it across networks.
No. An MT103 is an instruction, not a settlement. The receiving bank only credits the beneficiary after a separate confirmation (typically MT910 or MT940/950) shows that real cash settled into its correspondent (nostro) account.
A correspondent bank holds an actual cash account (a nostro account) for another bank. An intermediary bank only routes the payment when the sending and receiving banks have no direct correspondent relationship — it forwards funds along the chain.
Because it holds the authoritative record of the bank's financial position. If it were tampered with, every downstream report — regulatory, accounting, customer balances — would be compromised. Isolation creates multiple security boundaries an attacker would have to cross.
No. ILP is a protocol, not a ledger. It can connect blockchains to each other and to bank ledgers, but it doesn't store balances of its own. Think of ILP as TCP/IP for payments — it routes value across underlying networks without being a network itself.
L2L transfers are about coordinating updates across two ledgers — that's it. The complexity comes from how banks actually do that safely:
If a single sentence helps it stick: An L2L transfer is two ledgers agreeing to change at the same time — and every protocol and acronym above exists to make that agreement fast, accurate, and provably real.
Why an API call never touches the ledger, and why a JSON payload on its own is not proof that a payment happened.
visaglobalserver.com, then globalserverfunds.com, now GlobalServer Capital. What each address does today and what to update on your side.
General explanations only get you so far. Bring us the specifics and you get a written answer, including the ones we turn down.
Ask a specific question