Open Source

Open where it earns trust,
closed where we compete

The Blitz platform is built so you can read it, prove it, and build on it. One block stays ours — the K1 engine that makes it fast. Everything that lets you check our work is in the open.

One socket, two cores

The Blitz card's design is an open platform around a swappable compute core. A single fixed interface joins the core to the platform — a tagged AXI-Stream pair carrying verification records through the throttle and auditor interposer. Everything else belongs to the open-source Blitz controller and its AXI-Lite bus, never to the core — so the open reference core and the K1 core drop into the same socket, on the same PCIe transport. Toggle between them.

Core

Product build — the closed K1 core in the open platform.

Blitz platformsame seams, either coreprimary data pathcontrol / statushost softwareopen (GPL-2.0 / MIT)closed (licensable IP)host driveruniversal ABI: /dev/blitz/*DMAMMIOPCIe transportDMA rings . doorbells . MSIOPEN . GPL-2.0the transport seamproducerconsumerAXI-Litethrottleinput valve + rate/thermal limitsrecordsverdictsAXI-Stream interposerpass-through + fabric comparatorthe core seam -- the socketAXI-Stream (tagged)RISC-V auditorsoftware: libsecp256k1out-only: no bus, no readbackaudit portvectors + expected verdictsself-test done -- opens the input valveAXI-Lite decoderidentityserial numberproduct id . hw revversions: bitstream . mapcapabilitiesverify pathstream statusverdict counterserror countersthrottle status (ro)audit evidenceAUDIT_CHECKS . AUDIT_FAILSsticky fail-stop statushealthtemperaturepower monitorhealth log . FRAMbitstream & bootboot statusbitstream accessreconfiguremiscinterruptsuptime / ticksscratchaudit evidence is counted in fabric --append-only; the auditor never holds the penK1 coreverify_fabric: demux -> N cores -> muxCLOSED . build-selectopen verify coreschoolbook Nexa-Schnorr, 1 coreOPEN . MIT . build-select
Fig. 4 The seams don’t move. Swap the core and every interface stays identical — only the build-select block changes. That invariance is the platform.

Two blocks in the diagram have pages of their own: the K1 engine, and the RISC-V auditor — an independent processor that keeps putting K1 to the test against libsecp256k1 for as long as the card runs. The runtime auditor →

Copyleft on the machinery, permissive on the contracts

Two licenses, one principle. The machinery that moves and checks your signatures is GPL-2.0: read it, prove it, improve it — and if you build a product on it, your product is open too, or licensed from us. The interface contracts, the reference core, and the auditor SoC are MIT, so anything — closed cores included — can implement or embed them.

The platform — GPL-2.0

The controller that hosts the cores — valves, throttle, interposer, the fabric that enforces the audit — and the PCIe transport: DMA rings, doorbells, MSI. The same blocks the product runs, not a demo edition.

The host stack — GPL-2.0 + MIT

The kernel driver (GPL-2.0), the frozen two-file ABI, the GUI with its card daemon (MIT), and the virtual card that lets you develop and test with no hardware at all.

The software page →

The reference core — MIT

A working verification core that drops into the same socket as K1. Run our published test vectors through it, study it, or use it as the starting point for a core of your own.

The auditor SoC — MIT

The card's resident second opinion — the RISC-V core, the firmware running libsecp256k1, the injection machinery. Not a black box auditing a black box.

How the auditor works →

One closed block

The K1 engine — the optimized point-multiplier and modular-multiplier architectures that make it fast — is our competitive advantage: closed-source, licensable IP. The platform's seams exist precisely so the open and closed pieces can coexist — swap our core out, or build against it, without ever needing to see inside it. And the one block you can't read is the one block the card audits continuously, in your machine, with open code.

Browse our repositories on GitLab →