Gang leader Kaz Brekker is offered the job of a lifetime by Mr. Jan Van Eck. He wants him to break Bo Yul-Bayur, a well-known scientist, out of a nearly impenetrable prison in the center of the castle complex in Fjerda. Yul-Bayur was captured because he helped develop a powerful variation on a street drug called jurda parem. This change allows the new drug to enhance a Grisha’s magical abilities and is highly addictive after just one dose. Kaz is offered a hefty paycheck and negotiates it up even higher…to 30 million kruge. He assembles a team of infamous, noteworthy criminals, each with a different skill set, to make the heist.
Kaz recruits Inej, Nina, Jesper, and Wylan, but there is one more person they need. They break Matthias out of Hellgate prison, where he has been held since Nina turned him in with false testimony about him being a slave trader. Every person in the group has secrets and a backstory that slowly unfolds throughout the book [some of which I have already spelled out above in the character descriptions].
Kaz thinks his team needs to move quickly against their target, and they plan as they travel. He secretly books passage to Fjerda for his team on a ship called the Ferolind. They are ambushed the night they are at the docks to board, and Inej is stabbed. They snag the stabber, and Kaz rips one of his eyes out of socket to get him to talk. They discover that Pekka Rollins is the one behind the attack and might also be on his way to Fierda to try to rescue Yul-Bayur. This makes Kaz feel even more urgency to get there and get the job done soon. Wylan draws a map of the castle, prison, and other areas of the compound based on Matthias’ knowledge. Nina uses her magic to help heal Inej’s wound.
Kaz is a smart leader who doesn’t reveal all of his plans to anyone. He keeps all of his cards close to his chest and just passes information to people on a need-to-know basis. The Ferolind docks at Fjerda, and the group begins the cold, icy trek on foot to the Ice Court. Kaz is planning and plotting as they travel. Matthias is begrudgingly impressed by the plan Kaz has developed but hopes at some point to separate from the group and kill Yul-Bayur so the Grisha he was raised to hate will never have enhanced powers again. On their hike, they come across three Grisha witches some Fjerdan have burned on stakes on a pyre. Kaz recognizes one of the three as one of Pekka’s men. Nina is horrified, and Matthias stays behind to help her bury the dead. They plan to catch up with the others soon. Matthias and Nina strike a deal while they’re alone. Neither one wants Yul-Bayur to live. Matthias doesn’t want Grisha to have the power jurda parem can give them, and Nina doesn’t want her people to suffer the harm of its side effects.
They finally arrive in the beautiful, colorful city of Djerholm. They can see the majestic Ice Court castle on distant cliffs. They stay at an old tavern while in the city. From there they can see the castle gate and guards. They watch wagons come and go from the castle complex. Kaz says their way in is as prisoners in one of these wagons. They fell a tree, and it covers the road a wagon is taking. They quickly switch places with the prisoners in the wagon, even assuming their shackles, while the drivers try to remove the tree from their path. They make it through the checkpoints and into the castle complex. The male and female prisoners are sent to separate parts of the castle prison, so the group is divided for the time being. They will time their movements to the chimes of the Elderclock.
Kaz has two lock picks taken from him by the guards (as a ploy), and Jesper reveals he is a Grisha when he forms two new picks from the iron on the prison bars. The guys escape, and Jesper and Matthias go in search of rope while Kaz and Wylan go to break the girls out of their cells. They are supposed to meet in the incinerator room, but Kaz and Nina go searching for Yul-Bayur. Nina doesn’t find him but comes across a Grisha torture room and flips out a little and runs. She bumps into two guards and has to magically strangle them. One falls down the stairs, and his gun discharges.
The incinerator was used in the afternoon instead of in the morning like Matthias remembered, so it is still hot when Inej climbs it. It even melts the soles of her slippers. Inej makes it to the top and drops the rope down. Everyone scrambles up except Jesper, who is waiting for Kaz.
Kaz is late getting back to the group because he’s been searching for Pekka Rollins. He thought Pekka was also in pursuit of Yul-Bayur, and this was confirmed when they saw Pekka’s men dead on the pyres. So Kaz assumed he must have been captured and in a cell somewhere at the Fjerdan castle. He thinks it’s finally time for his long-awaited revenge. Just as Jesper begins to climb up the incinerator, Kaz appears, covered in blood.
Fjerdan Yellow Protocol has set in because of the gunshots the guards took at Nina. It’s all really Kaz’s fault since he went after Pekka instead of sticking with the plan. Nina encountered the guards when she went looking for Kaz. The code black resets the plan, and Kaz decides the girls will sneak in the palace as guests and revelers arriving for the Fjerdan holiday called Hringkalla.
Inej and Nina go up through ventilation to drop into a holding room for Menagerie girls. They steal the girls’ clothes and papers, and Nina hastily gives herself and Inej the M tattoo. When they emerge, they try to get past the guards who are scrutinizing each guest. Nina flirts her way through, but the guard thinks Inej’s tattoo over the scar of her old one looks suspicious. So she gets sent to another line for people who need a second check. Nina must proceed on her own.
Kaz and Matthias are taking another route in, across the ice moat. Matthias knows the secret to crossing at water level thanks to his druskelle initiation. Once they walk cross on the glass bridge hidden just beneath the surface, Kaz picks a lock and they’re in. There are several guards in the hallway, and they disable them and take their uniforms and guns.
Meanwhile, Jesper and Wylan are entering from the roof. Jesper does a daring descent right above a group of guards’ heads. Wylan has to cause a distraction when they almost spot his friend, so he starts singing the Fjerden national anthem, which he learned from his tutors back home. This distracts the guards enough that they can blindside them with an attack. Then Jesper and Wylan hurry into position. Their mission is to cut the rope on the wench controlling the main gate into the ice palace. It is tough because instead of a strong rope like they were expecting, the wench holds a metal chain. They have to find metal files and work as quickly as possible.
Nina gets to the party with the other Menagerie girls, and she is relieved to see Kaz and Matthias have made it, too. She is hit on by a couple Fjerdan men but sidesteps them, trying to find her perfect target. She is looking for a high ranking official who will most likely know where Yul-Bayur is being held and who is also tipsy enough to maybe spill the information. But she is surprised to turn and see the latest Fjerdan trying to get her attention, Yaro Brum. He is the leader who supposedly drowned over a year ago in the shipwreck she and Matthias survived.
It has been slow going for Jesper and Wylan, and their hands are covered with blisters. Jesper hears the Elderclock chime and knows they should already be done. Not long after, they almost saw through the chain and begin to raise the gate. Jesper wonders whether the alarms are really going to go off as Matthias promised, and then suddenly they do. The bells of Black Protocol boom everywhere. After much struggle, the chain finally breaks completely.
Inej is still trying to get cleared through the new set of guards when the Menagerie madam and her old boss, Heleen Van Houden, spots and identifies her. Just as Heleen explains that she now works for the criminal Kaz Brekker and that he must be here, too, they all hear the Black Protocol bells boom. The guards tell them no one is getting out of the complex tonight because the gate will be lowered according to Black Protocol.
Nina wonders if Brum recognizes her from over a year ago. She feels like he doesn’t because she looks so different in this garb than she did as a dirty prisoner on the ship. She decides to take a chance and see if he’s the one who will reveal Yul-Bayur’s location to her. She acts like she wants to see a Grisha in person, and he offers to escort her away to show her one. He takes her to a very secure location, the treasury, and she can’t help but wonder if this is where Yul-Bayur is. It doesn’t seem like it’s a place for normal Grisha prisoners.
Brum says this is a former vault area that is now used as a laboratory. The hallway in the lab is filled with cells sealed with white doors with a window on each. Each cell holds a young Grisha obviously dosed up on jurda parem. Brum calls them “the future.” She asks him to take her somewhere private, insinuating he’ll get his reward for showing her this. She plans on torturing him for info on Yul-Bayur’s location. He leads her to a secluded room, but it’s actually just another cell. He locks her inside and calls her by name. He has known who she is all along. He threatens to push the button to release jurda parem in gaseous form but then says there’s someone else with much more reason than he to take vengeance on her. Then Matthias’ face appears in the window on the door. He says he found Brum as soon as he was able. And he’s anxious to see Nina dosed with jurda parem so she will betray her own people and crave her next fix.
Matthias asks Brum about the scientist creating the jurda parem as they walk away from Nina’s cell. Brum says as long as he cooperates, he will live. Matthias is very troubled by all of the Grisha being held there and finds out this has secretly been done to all convicted Grisha even before jurda parem because the Ice Court uses them for various purposes. And even though he had hoped for Nina to be locked up for a long time, Matthias is surprised by the pain that he feels now that it’s done. He asks about Yul-Bayur, and Brum reveals he is held here in the lab, too, behind a door opened only by the key around his neck.
Brum says he’ll show him to Matthias soon, but he must first make sure the Black Protocol was properly administered. He promises he will get Matthias reinstated as a druskelle. Matthias thinks back over how Brum took him in when he was an orphan and trained him to be the dutiful, loyal druskelle he used to be. Then he thinks about how that all changed when he met Nina. After spending time with her, his hate for Grisha vanished when he realized how human and good she is. Matthias embraces his mentor and then uses a sleeper hold to render him unconscious. This new plan had formed in the ballroom when Matthias saw Brum recognize and then approach Nina. Kaz thought they could save Nina and at the same time use Brum to get Yul-Bayur. Matthias drags Brum into a cell, takes the key from around his neck, and locks the door behind him. He leaves to go rescue Nina.
Jesper and Wylan encounter guards just as several Shu materialize out of thin air and basically vaporize the guards. They turn to Jesper and Wylan, and then Jesper calls on his magic with all of his might to defeat them.
Matthias and Nina make it to the vault and find Yul-Bayur’s son, Kuwei Yul-Bo, who says his father is dead. He was killed in a battle between the Fjerdans and the Kerch. They intended to kill him but can’t bring themselves to harm this innocent boy who has been held captive based on his father’s crimes. They ask him to destroy the lab, which he is happy to do. They discover he’s a fire Grisha as he incinerates the lab. His father, who was also Grisha, accidentally developed jurda parem when he was trying to develop a potion to hide their abilities and keep them safe.
Kaz is there waiting for Matthias and Nina to exit the vault facility. Just when he sees them in the doorway with a young boy, an explosion knocks them all over the edge. Kaz grabs the boy and shoves a baleen pellet into his mouth as they fall into the icy moat. He bites down on his pellet and moves the boy’s jaws to do the same. He’s sure Matthias and Nina are doing the same. They have around ten minutes to breathe underwater thanks to this invention. Kaz hopes he has figured out the castle complex correctly…that it’s built on a spring and the spring will carry them into the gorge below. As his ten minutes runs out and he’s still underwater, his thoughts go to Inej. He wants to live to tell her that he wants to be a better man for her.
Inej is being whisked along a corridor by two guards. She sees two more coming toward them and decides to try to overtake them before it’s four on one. But the two guards approaching are Jesper and Wylan in disguise, and they easily take down the two guards who were escorting her. The three of them work to drill their way through Grisha- made glass using a drill built by Wylan and a diamond Inej stole from Heleen back at the celebration. Guards are banging on the doors trying to get in. When they make a small hole, Inej gets through and swings trapeze-like on a chandelier to land on their prize…a tank. She shoots a cannon at the glass to break the rest. Wylan and Jesper swing on ropes through the hole and onto the tank. Jesper takes over driving, and Wylan takes over the guns with Inej’s help. They’re being fired on the whole time as they roll through the enclosure and then break through the wall.
Nina and Matthias emerge from the water and pull themselves onto the shore. Kuwei and Kaz wash up, too, but Kaz is unconscious. They have to revive him. They hear something coming in the distance and hope it’s their friends in the tank. It is, but they are being pursued by many more tanks. They take out the bridge with a cannon so the other tanks can’t follow.
When they crest the hill by the harbor, they are met by row after row of Fjerdan troops. And they have one Grisha with them, a Heartrender high on jurda parem. They say they will attack Kaz and his friends if they don’t release Kuwei to them. Nina thinks their only chance is for her to take jurda parem and fight fire with fire. Most Grisha are hopelessly addicted and never the same after just one dose, so her friends try to talk her out of it. But she knows it’s the only way and takes the dose Kuwei pulls from a pouch at his belt.
Nina attacks the Heartrender first and then takes control of all the Fjerdan soldiers at once. A group of druskelle show up wearing clothing protecting them from Grisha. They shoot Matthias in the chest, and Nina immediately heals him. They shoot Nina repeatedly, and she heals herself over and over. She uses the soldiers under her control to take off all of the druskelle’s protective clothing, leaving them vulnerable to her. She is now able to harm them but doesn’t at Matthias’ request. The group boards the Ferolind and take off out of the harbor.
They make it safely to the open sea, and the group anxiously watches Nina to see if the effects of the jurda parem will set in. Nina tells Inej that with her current enhanced senses, she can hear Kaz’s breath catch every time he looks at her. Kaz arrives and gets some time alone with Inej. He asks what she will do with her share of the money. She says she will buy a boat, get a crew, and learn how to sail. He asks her to stay with him instead. She says he has to shed his armor or she won’t have him at all. He doesn’t respond.
The withdrawals and aches set in for Nina, and Matthias is by her side the whole time. Jesper is feeling a little guilty that he didn’t offer to take jurda parem, too. He wonders why he hasn’t seen Wylan since they boarded the ship. He is happy when they spot the Ketterdam shore and gets in the longboat with Kaz to paddle to shore. They have a runner take a message to Van Eck and soon meet him at Vellgeluk, a small nearby island. He has the money for them but tries to double cross them. He has brought a group of flying Grisha high on jurda parem with him. He says none of them will leave the island, and he will destroy the Ferolind, which is docked nearby. Kaz says that Wylan stayed behind on the ship to care for Nina. He thinks that Van Eck won’t want to harm his own son. Van Eck says he has always been ashamed of his son and his illiteracy and was not upset when he recently left the family.
Van Eck has the Grisha destroy the ship anyway. But Kaz has a trick up his sleeve, too. The prisoner with them is not Kuwei but is Wylan magically tailored to look like Yul-Bayur’s son. Van Eck is insistent that they tell him where the real Kuwei Yul-Bo is. Kaz says only if they let them safely off the island with their money. Van Eck says to kill everyone but Kaz. And then he sees the crucial mistake that Kaz makes…His eyes cut to Inej for just a second. Van Eck knows he’s discovered Kaz’s weakness. He commands his Grisha to grab the money and the girl, and they all fly away. Kaz and the whole group fight for her, but in the end Van Eck and his crew escape with Inej in tow.
Before he leaves, Van Eck says they have one week to bring him the real Kuwei or Inej will be tortured. Jesper is mad that Kaz asked Wylan to transform and mad at Wylan for following through with it. Kaz chastises Jesper for being the one who gave their heist attempt away to Pekka Rollins when he mentioned it during a card game before they left town. It was an innocent mistake but stupid at the same time. He kept this tailoring from him as punishment. Then all of a sudden Kaz’s scheming face returns, and he says he’s going to teach Van Eck a new trick that he’ll never forget. He says he’ll need the right crew to do it. Jesper, Wylan, and Matthias all agree to help.
HOW IT ENDED?
The crew (including Nina and Kuwei, who had been in hiding during the exchange with Van Eck) pays Pekka Rollins a visit at his Emerald Palace Casino. Pekka owes Kaz a favor since Kaz let him escape instead of killing him back at the Fjerdan prison. And Kaz has come to collect. Kaz gives a vague summary of their situation and asks for two things…He needs to get a message to the Ravkan capital fast, and he needs 200,000 kruges to fund their next heist. Kaz will even give Pekka his shares in the Crow Club and Fifth Harbor in return. Pekka complies. Before he leaves, Kaz mentions that he doesn’t think Pekka remembers him at all. Pekka says he doesn’t but asks if he should. Kaz says not yet, and Pekka can see the hatred in his eyes for just a second. Pekka watches the crew leave his casino, and once they are out the door he realizes that he is missing everything valuable that was on his person…his pocketwatch, his wallet, his tie pin, his coin pendant, and the gold buckles on his shoes. Pekka vows to kill Kaz if Van Eck doesn’t do it.