Posts

From Qubits to NFTs: The Quantum Genesis Architecture

Image
Quantum Genesis is 100 NFTs where every pixel traces back to a measurement on a real quantum computer. No pseudorandom fallbacks, no simulated qubits — actual quantum hardware on two continents feeding a deterministic art pipeline that ends on the Polygon blockchain. People often ask how the whole thing fits together, so this post breaks down every layer with the code from each stage. If you've ever wondered what it takes to go from a qubit measurement to a minted NFT, this is the blueprint — including the architectural decisions we made along the way and the inevitable mistakes a first version taught us. Architecture overview The pipeline is five layers, each feeding the next deterministically. Given the same quantum seed, the same NFT art is always produced — which is what makes every piece independently verifiable. QUANTUM GENESIS — Full Pipeline Architecture +---------------------+ | QUANTUM COMPUTER | Origin WK_C180 (180q) / IBM ibm_fez (156q) | H + CNOT circuit ...

Origin Quantum vs IBM Quantum: the same circuit, two very different workdays

Image
My plan for the Quantum Genesis collection was one chip, start to finish. I picked Origin Quantum because their WK_C180 processor offers 180 superconducting qubits through a pyqpanda3 SDK that looked simple enough to drop into our pipeline. We minted NFTs #1 through #18 on it without a hitch. Then the chip went into maintenance. Queue times became unpredictable — sometimes nothing, sometimes hours. We still had 82 pieces to go, and they weren't going to wait. So I walked over to IBM Quantum with the exact same circuit, and the comparison wrote itself. This is the developer-level side-by-side I wish I'd had before starting. No vendor benchmarks, no marketing — just the two SDKs, the errors that cost me time, and the numbers from shipping 100 seed generations in production. The setup: same circuitry, two clouds Every seed in the collection came from a 12-qubit max-entropy circuit — Hadamard gates to create superposition, alternating CNOT layers to entangle the qubits, then ...

Connecting real IBM hardware to your Python art pipeline

Image
This is the exact method that seeded NFTs #19–100 in the Quantum Genesis collection — 82 pieces, each one grounded in a measurement from a real IBM Quantum processor. When I got it working I was mildly annoyed at how short the script ended up being, because the journey to it was not. The whole thing fits in under 50 lines of Python. If you follow along, you'll end with a working quantum random seed generator: a job submitted to real hardware, a 12-qubit circuit, and a deterministic hex seed on the other side, ready to drive any generative art system. Should I set expectations? The code is the easy part. What actually costs you time is the moving parts around it — the channel name that changed, the SamplerV2 result format that isn't meas anymore, and a queue that doesn't care about your evening plans. I've flagged each one where it bites. What you need before starting Python 3.9+ A free IBM Quantum account at quantum.ibm.com Basic Python fluency (functions, import...

Nine circuit topologies, nine flavors of probability art

Image
Every piece in the Quantum Genesis collection starts life as a quantum circuit that runs on a real processor. The chips give us the randomness; the circuit gives us the shape of that randomness. Change how the gates are arranged and you change the probability distribution — which, in a pipeline where the distribution becomes the seed, changes the art. I went through nine basic topologies before one stuck. Some were dead ends, some were fascinating in ways I didn't want in a collection, and one became the exact circuit behind all 100 pieces. Here's what each one does to the maths, and what that does to the visuals. Spoiler for the ending: the topology that won is not the one I expected when I started. What a topology actually controls A quantum circuit topology is just the specific arrangement of gates over the qubits: which gates, where, in what order, and how qubits connect to one another through entanglement. Two circuits with the same qubit count but different gate arra...

What a measured qubit can do that Math.random() never will

Image
When I started telling people that the Quantum Genesis seeds came from "quantum randomness," the first question was always the same: "So... like Math.random() but with extra steps?" Fair question. On the surface the outputs look identical — a stream of numbers with no obvious pattern. But the moment you dig into where the numbers come from , the difference stops being academic. Math.random() produces a value by computation. A measured qubit produces one by physics. This post is the long-form version of the answer I kept giving. I'll explain both sides, the hybrid approach we ended up using, the code, and — because "trust me, it's quantum" is not a methodology — the statistical tests we ran on 100 of these seeds. What your code calls "random" Every call to Math.random() in JavaScript, or random.random() in Python, runs a deterministic algorithm. The most common implementation is the Mersenne Twister (MT19937), which produces 2^199...

I generated 100 artworks from real quantum measurements: what happened

Image
Every generative art project you've seen uses pseudorandom numbers. Algorithms that look random but aren't — deterministic sequences that a sufficiently motivated person could predict and reconstruct. I wanted something different. I wanted art generated from real quantum measurements: outcomes that are fundamentally unpredictable, not just practically unpredictable. Outcomes that did not exist until the moment a qubit was measured. So I connected to two real quantum computers — Origin Quantum's WK_C180 (180 qubits) and IBM Quantum's ibm_fez (156 qubits) — and used their measurement outputs to make 100 unique pieces. No simulators, no classical fallbacks. Every pixel trace traces back to an actual quantum measurement that didn't exist until the circuit ran. This is the story of that run. Why quantum randomness matters for art When you call Math.random() in JavaScript, you get a number from a deterministic algorithm. Same internal state, same output, always. Pse...