Foundry — EMV L3 Framework by Paying.co
Paying.co · Foundry · Framework Docs

A reusable EMV Level 3 framework: one native C99 core, built once, with a thin processor adapter cast per acquirer.

Roughly 75% of an EMV L3 integration is identical on every engagement. Foundry implements that once and speaks only canonical — never raw TLV or a processor's dialect. The ~25% that varies, the acquirer link, is cast against a function-pointer vtable fdy_processor_adapter_vtbl_t.

foundry · apdu-trace · contactless
live
IDT_NEO2 · ISO 14443-A · Visa VCPS APPROVED · 9000
A representative contactless EMV L3 exchange — PPSE to GENERATE AC — the lifecycle Foundry runs on every device. speaks canonical, not TLV.

Cast today

NABNAB Velocitycast
TSYSTransITcast
SantanderMX · via Prosacast

Scheduled

Global PaymentsGP-APIplanned
ElavonEPGplanned
CybersourceVisa Platform Connectplanned

The nine sections

01
Architecture
The system shape — core, seam, adapter. The reusable/variable split mapped to the 162 real IDT_NEO2 methods.
02
Flow & Hierarchy
Provisioning hierarchy and the universal transaction lifecycle, with the processor boundary drawn hard.
03
Canonical Model
The mold — field by field. What the lifecycle produces and every adapter consumes.
04
Adapter Spec
How a processor casting is built — the native C vtable contract, plus the processors shipped against it.
05
Provisioning & Config Feed
The manifest, the reconcile loop, and check-value verification that keep the kernel correct.
06
Crypto & Key Management
The line between what the kernel computes and what Foundry provisions. DUKPT, CAPK, ARQC/ARPC.
07
API Surface
The REST layer integrators drive — auth, transactions, config, status. Now ships sale, pre-auth, completion, void, and refund.
08
Processor Castings
The living adapter roster — shipped (NAB, TSYS, Santander) and planned targets — plus how to add the next one.
09
Plugins & Loading
How adapters and HAL drivers reach the engine — static, native .so, or APK. The core never changes.
How to read this: the sections run in build order — architecture down to the public API, then the processor castings — but each stands alone. Use the left nav to jump anywhere. The guide tracks the current build: a native C99 engine with a living processor roster — adapters cast against the contract and tracked by status, shipped or planned.