Article I, Section 10, Clause 3 (I-10-3) of the Constitution forbids states from imposing any “Duty of Tonnage” without the consent of Congress.
During the Founding Era, tonnage was a levy imposed on the cargo capacity of ships entering or leaving harbors. As the Constitution’s words indicate, it was a species in a larger class of financial exactions known as duties.
If tonnage was imposed to raise money for government, it was (by usage prevalent in America) an indirect tax. If imposed only to, say, pay for harbor upkeep or inspection fees, it was a regulation of commerce but not a tax.
Several states, including Virginia and Massachusetts, imposed tonnage duties during the Confederation Era. They lost that right when the Constitution was adopted. Instead, tonnage was levied by the federal government pursuant to its power under I-8-1 to “lay and collect Taxes, Duties, Imposts and Excises.” Because, however, Congress was forbidden to tax exports (I-9-5), it could lay tonnage on ships engaged in international trade only if those ships were entering (not leaving) an American harbor.
Pursuant also to I-9-6, tonnage duties had to be uniform throughout the United States. Congress could not discriminate among harbors by imposing heavier rates in some places than others.