Price: $0.99
(as of Oct 20, 2026 00:36:19 UTC – Details)


After nearly eighteen months at Basgiath War College, Violet Sorrengail knows there’s no more time for lessons. No more time for uncertainty.

Because the battle has truly begun, and with enemies closing in from outside their walls and within their ranks, it’s impossible to know who to trust.

Now Violet must journey beyond the failing Aretian wards to seek allies from unfamiliar lands to stand with Navarre. The trip will test every bit of her wit, luck, and strength, but she will do anything to save what she loves—her dragons, her family, her home, and him.

Even if it means keeping a secret so big, it could destroy everything.

They need an army. They need power. They need magic. And they need the one thing only Violet can find—the truth.

But a storm is coming…and not everyone can survive its wrath.

The Empyrean series is best enjoyed in order.
Listening Order:
Book #1 Fourth Wing
Book #2 Iron Flame
Book #3 Onyx Storm

Book 3 of 3 ‏ : ‎ The Empyrean
Listening Length ‏ : ‎ 23 hours and 52 minutes
Author ‏ : ‎ Rebecca Yarros
Narrator ‏ : ‎ Jasmin Walker, see all
Publication date ‏ : ‎ January 21, 2025
Language ‏ : ‎ English
Publisher ‏ : ‎ Recorded Books
ASIN ‏ : ‎ B0CZF874CW
Version ‏ : ‎ Unabridged
Program Type ‏ : ‎ Audiobook
Best Sellers Rank: #53 in Audible Books & Originals (See Top 100 in Audible Books & Originals) #4 in Romantasy (Books) #7 in Epic Fantasy (Books) #8 in Romantic Fantasy (Books)
Customer Reviews: 4.6 4.6 out of 5 stars (336,214) var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });