The Two Dipoles
The CMB dipole says we move through the substrate at 370 km/s. The quasar sky is lopsided by twice what that motion explains, the deep bulk flow refuses to decay, and the cluster sky leans — three anomalies in ΛCDM, which permits exactly one cosmic vector. A fluid still draining the last wave carries three: our velocity, the medium’s tilt, and its drift.
There is one anisotropy in the sky that nobody calls an anomaly. The cosmic microwave background is 3.36 mK hotter toward one point in Leo and colder by the same amount behind us, and the textbook reading is serene: we are moving. The Doppler shift of a 369.82 \pm 0.11 km/s velocity toward galactic coordinates (\ell, b) = (264.0°, 48.3°), imprinted on an otherwise isotropic screen.1 The substrate framework agrees, and says something sharper: this is not a velocity relative to a convenient coordinate choice but through a medium — the CMB is a screen at rest in the substrate’s own frame, and the dipole is the one clean local readout of our motion through it (Special Relativity).
The trouble starts when you check that reading against a second screen — and the second screen disagrees. This chapter is about the disagreement, why it is a genuine crisis for standard cosmology, and why a fluid universe that has just been through a moraine encounter not only tolerates it but needs something like it to be there.
One velocity, two screens
In 1984, Ellis and Baldwin pointed out that the kinematic reading of the CMB dipole is testable.2 If we really move at 370 km/s, the same motion must imprint every distant screen, not just the microwave one. Point a survey at millions of faint quasars spread over the whole sky, count them per unit solid angle, and our velocity shows up twice over: aberration crowds sources toward our direction of motion, and Doppler boosting lifts faint sources over the survey’s flux limit ahead of us and drops them below it behind. For a population with flux-count slope x and spectral index \alpha, the number-count dipole must come out
D_\text{kin} = \left[\,2 + x(1+\alpha)\,\right]\beta,
with \beta = v/c. Feed in the measured properties of the mid-infrared quasar population (x = 1.7, \alpha = 1.26) and the CMB velocity (\beta = 1.23\times10^{-3}), and the prediction is D_\text{kin} \approx 7.2\times10^{-3} — a 0.7% crowding of the quasar sky toward Leo, both in amplitude and in direction fixed in advance by the CMB. One velocity, two screens: a plasma screen at z \approx 1100, and a quasar screen at z \sim 1\text{–}2. In standard cosmology the two must agree, because after recombination matter and radiation share a single comoving frame. The Ellis–Baldwin test has no free parameters. It is a pure consistency check on the cosmological principle — which is exactly why its failure would matter.
The quasar sky is twice as lopsided
It fails. Secrest et al. counted 1.36 million quasars from the CatWISE2020 catalog and found a dipole of D = 15.5\times10^{-3} — a bit more than twice the kinematic expectation — pointing toward (\ell,b) = (238°, +29°), offset 27.8° from the CMB dipole direction, with a nominal significance of 4.9\sigma.3 Read naively as a velocity, the quasar sky says we move at $$800 km/s — more than double what the CMB says. And this was not a bolt from the blue: radio surveys had been reporting number-count dipoles two to four times the kinematic expectation, roughly aligned with the CMB direction, for two decades before the quasar measurement sharpened the significance.4
The honest state of the number is a decade-long tug of war, and it is worth reporting as one because the trajectory is the evidence:
- Clustering. Quasars are not sprinkled at random; large-scale structure contributes its own intrinsic dipole. Tiwari et al. measured the CatWISE clustering and found it contributes D_\text{clus} \approx 0.8\times10^{-3} — real, but an order of magnitude short of the 8\times10^{-3} excess.5
- The mask. Half the sky is thrown away around the Galactic plane, and a cut sky leaks power between multipoles — an octopole can masquerade as extra dipole. Abghari et al. argued this coupling could inflate the measurement enough to blur the verdict.6
- The full error budget. Bashir, Chingangbam & Appleby redid the significance with lognormal mock skies carrying the kinematic dipole, shot noise, the measured clustering power, the clustering dipole, and the exact survey mask. The 4.9\sigma softens to 3.6\sigma with no clustering dipole, 3.4\sigma with a randomly oriented one, 3.3\sigma with one aligned with the CMB — and they show the answer depends uncomfortably on which multipoles you fit: including the octopole in the fit inflates the dipole’s variance through the mask coupling and drags the significance toward 2.4\sigma, a bias–variance trade-off, not a resolution.7
- Other catalogs cut both ways. The Gaia–unWISE quasar sample (Quaia), with conservative sky cuts, comes out consistent with the CMB expectation — though at the cost of most of the statistics — while a different treatment of the same data finds a velocity four to five times the CMB value. Tomographic SDSS work broadly agrees with the CMB.8
So: not 4.9\sigma, and not zero. After the most adversarial error budget yet assembled, the quasar sky remains lopsided beyond our motion at roughly 3.3–3.6\sigma, the radio sky agrees in sign, the excess has survived every proposed astrophysical explanation — and the field’s own colloquium-level summary now presents the combined anomaly as a serious, \sim5\sigma-class challenge to FLRW cosmology. Rubin/LSST and the SKA will settle the amplitude within the decade; both sides of the argument agree on that.
The dipole does not come alone
Three other measurements crowd the same quadrant of the sky, and one of them is already on this paper’s books.
The bulk flow grows when it should decay. Averaging the peculiar motions of galaxies in ever-larger spheres, ΛCDM demands convergence: on small scales we ride local attractors, but by 200\,h^{-1} Mpc the rms expected flow is down to $$120 km/s, and it must keep falling as gravity’s influence averages out. CosmicFlows-4 finds the opposite — 395\pm29 km/s in a 150\,h^{-1} Mpc sphere and 427\pm37 km/s at 200\,h^{-1} Mpc, toward (\ell,b) \approx (298°, -7°): the flow rises with depth, with a ΛCDM probability of 0.0015% at the largest scale.9
The cluster sky leans. Migkas et al. found the X-ray luminosity–temperature relation of 313 galaxy clusters anisotropic at \gtrsim4\sigma: read as an expansion-rate anisotropy, a $$9% H_0 dipole toward roughly (\ell,b) \approx (280°, -15°); read kinematically, a bulk flow of \sim900\pm200 km/s coherent out to at least 500 Mpc.10 This is the same measurement the framework already reads as the density dipole — c \propto \rho^{1/3} leaning across the sky.
The CMB’s own asymmetry. The hemispherical power asymmetry — $$7% more fluctuation power on one side of the sky than the other, persistent from WMAP through Planck at \sim3\sigma — has its axis near (\ell,b) \approx (225°, -20°), in the same neighborhood again.11
Honesty requires the counterweight: at very low redshift (z < 0.05), a careful 2026 reanalysis of Tully–Fisher and supernova distances finds the apparent anisotropy there fully captured by known local flows, consistent with ΛCDM.12 Whatever is leaning, it is not leaning much inside our immediate neighborhood — a constraint the substrate reading will have to respect, and, as it turns out, naturally does.
The bind
Standard cosmology has exactly one cosmic vector to spend: our peculiar velocity. After recombination, matter and radiation share a single comoving frame; every dipole in every screen must be that one velocity read through different optics, and every volume-averaged flow must decay with scale toward the frame the CMB defines. So each measurement above is booked as a separate anomaly — a quasar-dipole task force, a bulk-flow tension, a cluster-anisotropy debate, a CMB-asymmetry literature — because the theory has no second vector to assign any of them to. Relativists have begun building “tilted” cosmologies in which the matter frame and the radiation frame are allowed to differ, precisely to give these measurements somewhere to live;13 but within GR the tilt is a boundary condition — you may posit it, not explain it. What the formalism is missing is a fluid that does the tilting.
What the substrate says: three vectors
The substrate is that fluid, and this chapter now assembles machinery the paper already built. Three facts, each established elsewhere:
- The CMB frame is the medium’s rest frame, and our 370 km/s is a real velocity through it (Special Relativity). The CMB dipole is kinematic — the substrate sides with the textbook here, and Planck’s own aberration measurement supports it.14
- The medium around us is not in equilibrium. We sit inside the downstream tail of the moraine encounter — a dispersive shock wave launched when our bubble wall decelerated through the previous cycle’s crust, its harmonic edge still in our future (z_\text{harm} = -0.25), its local enhancement f(0) = 1.25, its wave train chirping through crests at z \approx 1.30, 0.80, 0.45, 0.23, 0.07 (A Universe That Boils).
- Nothing requires that wash to be centered on us. If \mathcal{B}^0 nucleated off-center within \mathcal{B}^{-1}, the moraine contact was not simultaneous across our sky, and the crust energy was laid down with a directional gradient — breadcrumb 5 of the boil chapter, carried for exactly this occasion (A Universe That Boils § Breadcrumbs).
Put the three together and the fluid carries three independent vectors where ΛCDM is allowed one:
- our velocity through the medium — read by the CMB dipole;
- the medium’s tilt — the directional gradient of the wash’s density and energy across the observable volume, read by anything that measures distances and fluxes directionally;
- the medium’s drift — the residual flow field of the wave train itself, read by anything that measures matter’s motion in bulk. A wave train in a real fluid is not just a density pattern; it transports momentum, and matter embedded in it is carried.
The picture to hold: you are treading water in the surf after a big wave has passed. Your speed through the water around you is one number — that is the CMB dipole, and it is exact. Your speed judged from the distant shore is another, because the water you float in is itself still moving with the wash. Standard cosmology assumes the ocean is still, so the two speeds must match, and their mismatch is an “anomaly.” In the substrate the mismatch is not an error to explain away. It is the current, measured.
The excess vector
Subtract the vector the CMB motion predicts from the vector the quasars show:
\mathbf{D}_\text{excess} = \mathbf{D}_\text{obs} - \mathbf{D}_\text{kin} \;\approx\; 9.8\times10^{-3} \ \text{toward}\ (\ell, b) \approx (226°, +13°).
In ΛCDM this vector must be consistent with zero once clustering (\sim0.8\times10^{-3}) and shot noise are budgeted — that is the whole content of the anomaly. In the substrate it is a measurement of the tilt: the leftover after our motion is accounted for is the medium’s own lopsidedness, read on a flux-limited count. Read naively as a velocity it is $$500 km/s; but the substrate’s claim is precisely that it is not a velocity — it is the gradient term, the same class of object as the cluster sky’s H_0 lean, which is why its direction need not coincide with the CMB dipole’s. The observed 27.8° offset between the quasar and CMB dipoles is then just the angle by which the tilt drags the vector sum away from our motion — in ΛCDM an embarrassment, here a decomposition.
The mechanism is the one Special Relativity already priced: c \propto \rho^{1/3} makes a density gradient a gradient in signal speed, hence in effective luminosity distance, hence in which sources clear a fixed flux cut — and the steep count slope amplifies it, \delta N/N = x\,\delta S/S with x = 1.7. The scale works without tuning: a percent-class tilt in distances confined to the innermost cycle of the wash (z \lesssim 0.1 is $$10% of the line of sight to a z \approx 1.3 quasar) yields a count dipole of order 1\text{–}3\times10^{-2} against an observed excess of 1.0\times10^{-2}. That is a scaling estimate, honest to a factor of a few, not a fit — the real line-of-sight integral is owed below. But note what the same estimate rules in: if the full 9% cluster-scale lean extended to the quasars’ depth, the count dipole would be tens of times larger than observed. The quasar excess therefore caps the tilt’s depth — the lean must be a low-redshift, wash-local structure, which is exactly what a directional gradient in the DSW tail is, and roughly what the low-z null results demand from the other side.
The drift: matter surfing the wave train
The bulk-flow measurements read the third vector. Two numbers land close enough to notice:
- CosmicFlows-4 finds the flow refusing to decay out to 200\,h^{-1} Mpc — which is z \approx 0.068.
- The crust fit — to entirely different data (BAO distances and H_0(z)) — places the innermost crest of the DSW wave train at z \approx 0.07.
The sphere within which matter stubbornly moves together is, to current precision, the innermost oscillation of the wave train we are embedded in. In a fluid this is not a coincidence to apologize for: the velocity field under a wave crest is coherent across the crest, so a survey averaging over a sphere smaller than the local wave structure sees a common drift that does not average away — while gravity-sourced ΛCDM flows, built from ever-smaller density contrasts, must decay. A flow amplitude that grows with depth is what sampling progressively more of an organized wave looks like from inside it. Migkas’ $900 km/s coherent flow beyond 500 Mpc (z $, out toward the first trough) extends the same reading. And the low-redshift null results fit rather than fight: within a crest’s coherence volume everything co-moves, so local distance anchors are carried along with the sources they calibrate and see nothing — the drift, like the frame itself, is invisible on any baseline short of the structure’s own scale. It is the Michelson–Morley logic one level up: a common motion hides; only a gradient shows.
The ceiling
The substrate refuses one thing loudly, and it is worth registering as a bound. Coherent bulk flow of the medium cannot exceed the Landau critical speed v_L \approx 751 km/s — past it, the flow shreds the lattice and coherence is destroyed (Quiet Majority, Outer Rim Onset). So wash-driven flows should crowd up to but not through $$750 km/s on any volume-averaged, Gpc-coherent scale. CF4’s 427\pm37 sits comfortably below; Migkas’ 900\pm200 brushes the ceiling within its error bar. A future confirmed coherent, volume-averaged flow at \gtrsim1200 km/s would break this reading outright — pairwise collision speeds like the Bullet Cluster’s are exempt (that is infall, not coherent drift), but a Gpc-scale conveyor faster than v_L has no substrate mechanism. ΛCDM offers no particular ceiling here; the substrate offers a hard one, sitting suspiciously close to where the data already is.
The geometry, honestly
Lay the five vectors on the sky and score the picture plainly:
| Signal | Reads | Direction (\ell, b) | Amplitude |
|---|---|---|---|
| CMB dipole | our velocity | (264°, +48°) | 370 km/s |
| Quasar dipole (total) | velocity + tilt | (238°, +29°) | 15.5\times10^{-3} |
| Excess \mathbf{D}_\text{obs}-\mathbf{D}_\text{kin} | tilt | (226°, +13°) | 9.8\times10^{-3} |
| Cluster H_0 axis | tilt (distances) | \sim(280°, -15°) \pm 30° | \delta H_0/H_0 \approx 9\% |
| CF4 bulk flow | drift | (298°, -7°) | 427\pm37 km/s |
| CMB hemispheric asymmetry | candidate tilt relic | \sim(225°, -20°), loose | A \approx 0.07 |
Everything crowds one quadrant of the sky — that much the tilt picture requires and gets. But the picture demands more, and does not yet get it: if a single off-center-nucleation gradient sources the tilt, then the excess vector, the cluster axis, and the deep-flow direction should converge on one axis as errors shrink. Today the excess sits \sim60° from the cluster axis and \sim75° from the CF4 flow (the cluster axis and the flow agree with each other at 19°, and the excess sits 33° from the hemispheric-asymmetry axis). With direction uncertainties of tens of degrees on the axes this is strained-but-alive, roughly a 1.5\sigma discomfort — and it is the right kind of discomfort: a specific, improvable geometric prediction rather than a retrofitted amplitude.
So the fork is registered:
- If the next-generation counts (Rubin/LSST, SKA) hold the excess at \sim10^{-2} with a stable direction, and the excess, cluster, and deep-flow axes converge toward a common direction while the CMB dipole stays where our velocity points — the substrate’s three-vector reading is doing real work, and ΛCDM has no mechanism to imitate it.
- If the excess dissolves under better systematics (the 4.9\to3.3\sigma trajectory continuing to zero), or the axes scatter apart as the error circles shrink — the tilt reading fails, and the framework loses one of its cosmological signatures. The CMB dipole itself would revert to being the whole story, which the substrate can live with; the predicted misalignment structure would not have appeared.
What this buys, and what it owes
Buys. Four separately-booked anomalies — the quasar/radio dipole excess, the non-decaying bulk flow, the cluster H_0 anisotropy, and (as a candidate) the CMB hemispheric asymmetry — become one object: the directional structure of the moraine wash the framework has already fitted to DESI BAO and H_0(z) data on independent grounds. Breadcrumb 5’s off-center nucleation stops being an unfalsifiable garnish and acquires its observable. The “tilted cosmology” that relativists reach for gets its fluid. And the growing-with-scale bulk flow — structurally impossible in ΛCDM, where flows must converge to the CMB frame — gets a mechanism that produces exactly the growth, with a built-in ceiling at v_L.
Owes. Four calculations, none optional:
- The wash’s velocity field. The Grimshaw–Smyth/El–Hoefer solution that fits f(z) also determines the fluid velocity under the wave train (its Stokes drift). Solving it should output a bulk-flow profile v(R) — amplitude and turnover scale — to lay directly over CF4 and the cluster flow. The z \approx 0.07 crest coincidence graduates from cute to load-bearing, or dies.
- The count-dipole integral. The factor-of-few scaling estimate above must become a proper line-of-sight integral: a tilted f(z, \hat n) propagated through c \propto \rho^{1/3} into flux, aberration, and volume modulation of the CatWISE dN/dz. Only that computation can say whether the observed 9.8\times10^{-3}, the cluster sky’s 9%, and the low-z nulls are jointly consistent with one tilt profile.
- One offset vector, three axes. A single nucleation-offset direction should simultaneously fit the excess vector, the cluster axis, and the hemispheric-asymmetry axis, within their (large) error circles. This is a three-observable fit with two free parameters (offset direction) plus a profile — it can fail, which is its virtue.
- The alignment budget. Even in the substrate reading, part of the 27.8° offset is shot noise and clustering scatter; Bashir et al.’s mocks quantify how much. The tilt only owns what noise cannot — the decomposition should be run through their simulation suite, not around it.
The story, in one sentence
The CMB dipole tells us how fast we move through the substrate; the quasar sky, the deep bulk flow, and the leaning cluster sky tell us the substrate itself is tilted and still drifting — three vectors from one fluid still draining the last wave, where standard cosmology, having promised that the water is still, must call every current an anomaly.
Footnotes
Planck Collaboration, “Planck 2018 results. I. Overview,” Astronomy & Astrophysics 641, A1, 2020. The dipole direction is (\ell,b) = (264.021°, 48.253°); the inferred solar velocity is 369.82\pm0.11 km/s.↩︎
Ellis, G.F.R. & Baldwin, J.E., “On the expected anisotropy of radio source counts,” MNRAS 206, 377–381, 1984.↩︎
Secrest, N.J., von Hausegger, S., Rameez, M., Mohayaee, R., Sarkar, S. & Colin, J., “A test of the cosmological principle with quasars,” Astrophysical Journal Letters 908, L51, 2021. The follow-up with 1.6 million sources: Secrest et al., ApJL 937, L31, 2022 (4.4\sigma).↩︎
The radio lineage runs from Blake & Wall’s NVSS analysis (Nature 416, 150, 2002) through Singal (2011), Rubart & Schwarz (2013), and Siewert, Schmidt-Rubart & Schwarz (A&A 653, A9, 2021). For the field’s own synthesis, see Secrest, von Hausegger, Rameez, Mohayaee & Sarkar, “Colloquium: The Cosmic Dipole Anomaly,” arXiv:2505.23526, 2025, and the broader anomaly review of Aluri et al., Class. Quantum Grav. 40, 094001, 2023.↩︎
Tiwari, P., Kothari, R. & Jain, P., “Robustness of the quasar dipole,” ApJL 924, L36, 2022; and the FLASK-based clustering analysis of Tiwari et al. 2023 used as input by Bashir et al. below. A 2025 reassessment of the larger catalog finds the clustering dipole “marginal” and reaffirms the anomaly: von Hausegger, Secrest, Desmond, Rameez, Mohayaee & Sarkar, arXiv:2510.23769, 2025.↩︎
Abghari, S. et al., “Reassessment of the dipole in the distribution of quasars,” JCAP, 2024; challenged in turn by Secrest et al., 2025.↩︎
Bashir, M., Chingangbam, P. & Appleby, S., “The CatWISE2020 Quasar dipole: A Reassessment of the Cosmic Dipole Anomaly,” arXiv:2511.00822, 2025. Their Table 1 and Appendix C are the source for every number in this bullet.↩︎
Consistent: Mittal, V., Oayda, O.T. & Lewis, G.F., MNRAS 527, 8497, 2024. Discrepant: Singal, A., 2024–2025 (Quaia, peculiar velocity 4–5× CMB). SDSS tomography: Ferreira & Quartin 2024; Tiwari 2024. Improved estimators for the next generation of surveys: Mittal & Lewis, arXiv:2605.27520, 2026.↩︎
Watkins, R., Allen, T., Bradford, C.J., et al., “Analysing the large-scale bulk flow using CosmicFlows-4: increasing tension with the standard cosmological model,” MNRAS 524, 1885, 2023.↩︎
Migkas, K. et al., A&A 636, A15, 2020, and A&A 649, A151, 2021. The direction carries an uncertainty of a few tens of degrees. The framework already carries this measurement as the hemispheric-H_0 readout of the density dipole, \delta c/c = \tfrac13\,\delta\rho/\rho — see Special Relativity § Where the frame reappears.↩︎
Eriksen, H.K. et al., ApJ 605, 14, 2004; Planck Collaboration, “Planck 2015 results. XVI. Isotropy and statistics,” A&A 594, A16, 2016. Axis uncertainties are tens of degrees. This is the same feature A Universe That Boils flags as a candidate sibling-wall or off-center-nucleation signal (breadcrumbs 4 and 5).↩︎
Stiskalek, R., Desmond, H. & Lavaux, G., “No evidence for local H_0 anisotropy from Tully–Fisher or supernova distances,” MNRAS 546, 2026.↩︎
Krishnan, C., Mondol, R. & Sheikh-Jabbari, M.M., “Dipole cosmology: the Copernican paradigm beyond FLRW,” JCAP 07, 020, 2023.↩︎
Planck Collaboration, “Planck 2013 results. XXVII. Doppler boosting of the CMB,” A&A 571, A27, 2014 — the aberration and modulation of the small-scale CMB independently confirm a boost consistent with the dipole velocity.↩︎