The "gate" is one long output strand whose central reporter domain is kept quenched because both flanks are locked down by short protector strands, each anchored only by a branch-migration domain — the strand itself exposes a single-stranded toehold at each end that the protector cannot reach.
An invader strand (Input A or B) is complementary to a toehold plus the branch-migration domain behind it. It first nucleates at the toehold, then displaces the protector one base pair at a time via a random-walk branch migration — a three-way junction sliding along the duplex:
Toehold binding: I + T·P ⇌ I·T·P (fast, reversible)
Branch migration: I·T·P → I·T·I + P (≈ 1D random walk, 1 step ≈ 1 µs)
Overall rate: d[IT]/dt = k(b)·[I]·[T·P]
The bimolecular rate constant k rises steeply with toehold length b then saturates near the diffusion limit — the qualitative trend measured by Zhang & Winfree (2009, JACS, "Control of DNA Strand Displacement Kinetics Using Toehold Exchange"). This sim uses a sigmoidal fit to that trend:
k(b) ≈ k_max / (1 + exp(-(b - 3) / 1.1)), k_max ≈ 3×10⁶ M⁻¹s⁻¹
t½ = ln(2) / (k(b)·[input])
Because the output strand only releases its reporter domain once both protectors have been displaced — regardless of which invader arrives first — the two-toehold design implements a two-input AND gate: signal ON requires Input A and Input B. This dual-toehold protection scheme is the same design principle used in enzyme-free DNA logic circuits (Seelig et al. 2006; Qian & Winfree seesaw gates; Zhang & Seelig 2011). The branch-migration animation here is time-lapsed for clarity — real strand displacement completes in milliseconds once nucleated, while the toehold-length-dependent binding time (t½ above) is the true rate-limiting, concentration-dependent step.