Taken from https://hades.fandom.com/wiki/Charon
A sack of 300 Charon's Obol randomly appears behind him under some circumstances. It only appears at shops mid-way through biomes, not ones immediately preceding a boss fight, and requires that you have beaten the final boss at least once. It has a 22% chance of appearing. If the player steals the sack, Charon will send Zagreus into a room in Erebus filled with his treasures and four tall, golden jars. Initiating a fight with the player, the boatman has the following attacks.
Ghost Charge: Charon hovers to the sides of the field, sending a wave from the west or east side of the room. Throughout the battle, the pattern changes depending on his health (he also hovers to the center of the room instead), sending waves from the top and bottom, both east and west sides in a V-shaped pattern, or in a full room rotation counter-clockwise.
Floor Wave: Charon pushes a small wave that bounces once around the room towards the player. As the battle progresses, Charon will send up to three waves.
Oar Swipe: Moving to the player, Charon swipes his oar twice in a wide range, dealing heavy damage if caught.
Stun Wave: If too close to Charon, he will pulse a wave that deals knockback and a brief stun to the player.
At 75% max HP and 45% max HP, Charon will shatter two of the golden jars, destroying the player's cover from his attacks.
At 20% max HP, Charon will call off the fight, granting Zagreus a Loyalty Card for his troubles, and you also get to keep the 300 Charon's Obol "borrowed" from him.
The fight has the same difficulty regardless of the biome, so players will have the best chance of defeating Charon if they initiate the fight in Elysium, after they've received some boons. However, defeating him in Tartarus or Asphodel will give the player more opportunities to use the Loyalty Card.