The drone attack on St. Petersburg began at 2:50 a.m. on Sunday, and by morning the city’s oil terminal and the Ruchi oil depot were burning, one person was dead and five were hurt.
What is established so far:
- Gov. Alexander Beglov said one person was killed and five injured in the city, with 12 apartment buildings and two houses damaged. Firefighters fought blazes at the terminal, the Ruchi depot and warehouses in the Kolpino district, and a VK data center and an Ozon logistics center were also hit.
- Russia’s Defense Ministry said it destroyed 1,015 Ukrainian drones over 15 regions, plus Crimea and the Black Sea. About 20,000 people lost power in the surrounding Leningrad region, its governor said, and the city’s airport restricted flights.
- Not established: the Kyiv Independent could not independently verify the targets or the extent of the damage, and every Russian figure above is Russia’s own.
The Number Nobody Put Next to the Week
Every account of the night is a battlefield account. None lays it beside the nine days of Washington decisions that came before it, and those decisions are why 1,015 drones went up on a Sunday. Zelenskyy supplied the other side of the ledger in the same hours: Russia fired nearly 2,700 strike drones, 1,700 guided bombs and 66 missiles at Ukraine over the past seven days, he said, and has hit Ukraine’s energy and oil-and-gas sector 76 times since Trump announced his energy ceasefire.
Put Russia’s count of Ukraine’s one night, 1,015, against Zelenskyy’s count of Russia’s whole week, about 2,700, and it comes to 38 percent. The two figures come from opposite belligerents and cover different spans, so read the ratio as scale and not as a score. At that scale Ukraine spent more than a third of a week of Russian drone output in a single night, much of it aimed at Russian oil, the target the energy ceasefire had put off limits.
Three Instruments, One Beneficiary
Here is what Moscow was handed, and what it was asked for, between Oct. 9 and the strike.
| Date | Instrument | What Moscow got | What Moscow was asked for |
|---|---|---|---|
| Fri., Oct. 9 | Treasury’s General License 135 | Legal sale and import of Russian diesel through April 7, 2027 | Nothing in the text |
| Sun., Oct. 11 | Trump’s “ENERGY CEASEFIRE” post | Kyiv’s refinery strikes, paused | Nothing; Moscow had confirmed nothing when it was posted |
| Fri., Oct. 16 | Executive order waiving the Graham sanctions act | Relief for its biggest oil and gas buyers from the law’s tariffs, for 60 days | No condition reported |
Three instruments in eight days, and each one gives the counterparty something while asking nothing back. The only party asked to give anything up was the one nobody had consulted: Zelenskyy said the truce was news to him, and Kyiv suspended its refinery strikes anyway. Russia answered, by Zelenskyy’s count, with 76 strikes on Ukrainian energy sites, and sent more than 850 drones at Ukraine in a single night. The same week, the administration’s line on sharing intelligence with Kyiv contradicted itself inside four days, as our ledger on the Starlink speed cap laid out.
Trump’s reason for leaning on Kyiv is his own. After the strikes resumed he called them “a disgrace,” said Ukraine had “plenty of other targets” and said the attacks were “making the world oil price higher.” He added: “I find Zelenskyy to be more difficult to deal with than Putin.” That is a president describing a fuel-price problem 16 days before the midterms, with American diesel averaging $6.28 a gallon when he signed the license, and solving it by asking the invaded country to stop.
The waiver is the part that should embarrass his own party. The law it sets aside cleared the Senate 86-11. Sen. Thom Tillis, a Republican, wrote, “Beyond irresponsible. What part of enforcing a law passed 86-11 by the Senate does the President and his advisors not understand?” Trump’s answer was “It’s a very good decision.” Moscow was the only party in any of the three documents above to receive anything.
What Kyiv Has Left
We think Kyiv has read the week correctly. Washington gave up the diesel pressure on the first Friday and the tariff pressure on the second, and the drones are the one lever on Russian oil sales that Ukraine holds. Zelenskyy made the case for why in the same statement as the 76-strike count: Moscow, he said, treats “every signal of an opportunity to earn revenue as proof that their bet on war is working and that they can continue fighting.” A truce that bound only one side was always going to end the way this one did, and responsibility for that sits with the president who announced it as agreed when Moscow had confirmed nothing.
The waiver runs 60 days from Oct. 16, to about Dec. 15 by our count, and Secretary of State Marco Rubio said Trump wants the time “to analyze their impact on the U.S. and global economy.” Sixty days is the window in which Moscow keeps what it was handed. Zelenskyy had already said Kyiv was done with the truce, and Sunday’s 1,015 is what done looks like.
Did Ukraine say it carried out the St. Petersburg strike?
The reports we read quote Russian officials on what was hit and carry no Ukrainian General Staff statement on the St. Petersburg targets. AP and Al Jazeera attribute the attack to Ukraine, and the Kyiv Independent said it could not verify the targets or the damage.
Is the energy ceasefire over?
Kyiv says so. Zelenskyy told the Financial Times this week that strikes on Russian refineries would resume and that Ukraine was finished with the truce. Russia sent more than 850 drones at Ukraine in the hours before that Thursday morning.
How long does the sanctions waiver last?
Sixty days from the Oct. 16 order. The law it sets aside, the Lindsey O. Graham Sanctioning Russia and Iran Act of 2026, would have put tariffs on goods from the countries that buy the most Russian oil and gas.