Credit Suisse has said it takes the matter seriously
Swiss banking group Credit Suisse has agreed to pay a $536m (£329m) fine for violating US sanctions against Iran.
Settlement papers say Credit Suisse systematically hid the identity of its Iranian clients when moving millions of dollars on their behalf.
The bank is also accused of helping Libya, Sudan and Burma evade sanctions.
The bank said it took the matter seriously and was committed to the highest standards of integrity and regulatory compliance.
Credit Suisse is the second bank to pay hundreds of millions of dollars for helping its clients bypass US laws.
In January, British bank Lloyds-TSB paid a fine of $350m to US authorities after prosecutors accused it of faking records so clients in Iran, Libya and Sudan could do business with US institutions.
The US government has the power to take proceedings against foreign financial institutions - even for actions involving other countries - if they do some of their business in America.
US government papers filed in the latest case said: "Credit Suisse's internal communications showed a continuous dialogue about evading US sanctions spanning approximately a decade."
The court papers said that when Lloyds ceased its involvement in 2003, the Iranian banks moved their business to Credit Suisse.
That led to the Swiss bank quadrupling its Iranian transactions in US dollars. Between 2002 and 2005, they increased from about 50,000 to some 200,000.
According to the US government, by 2006 the bank had begun winding up its sanctions-breaking business.