Harpers Ferry National Historical Park does not accept cash. Not at the entrance station beside the visitor center, not at Bolivar Heights, not at Maryland Heights, not at the train station and not at the river access lot. Card only, or a pass bought online before you arrive.
This catches people out constantly, and there is no fallback: no cash lane, no note machine, no honesty box.
At the time of writing the published rates are $20 for a private vehicle, $15 for a motorcycle, and $10 per person aged 16 and over arriving on foot or by bicycle. Under-16s are free. Each pass is valid for three consecutive days from the date of purchase. A Harpers Ferry annual pass is $35, and America the Beautiful interagency passes are accepted.
The three-day validity is the detail worth acting on. It is unusual, and it quietly changes what a second visit is worth. One $20 vehicle pass covers a Friday, a Saturday and a Sunday, so a weekend based in Shepherdstown or Charles Town costs the same in entrance fees as a single afternoon. It also covers the heights: walk Maryland Heights one day and Bolivar Heights the next on the same ticket.
For a family arriving by car it is among the cheapest days out in the region. The $20 covers everyone in the vehicle, the shuttle bus, every exhibit building in the lower town, the trails, the footbridge and the towpath.
For two adults arriving on foot from the train, the maths runs the other way: $10 each, and the fee is payable at the Harpers Ferry train station itself. A rail ticket does not include park admission and arriving without a car does not exempt you.
Buying online before you travel is the sensible move on any busy weekend, because the entrance station queue on an October Saturday is the slowest part of the morning.
Fee schedules are revised periodically. Check current rates with the National Park Service before you travel, and bring the physical pass and photo identification if you already hold an interagency pass.