The US House of Representatives has voted in favour of legislation to stop banks paying bonuses that encourage excessive risk taking. The vote on Friday was passed by 237-185.
It followed a report on Thursday which suggested that Wall Street banks that were bailed out by the government gave executives bonuses regardless of performance.
The report, issued by the office of New York Attorney Andrew Cuomo, said there was "no clear rhyme or reason" for pay.
Top US banks paid huge bonuses despite gaining taxpayer bail-outs.
The House bill will now go to the Senate. However, the Senate is not expected to act on the measure before leaving for a summer recess on 7 August for a month.
The BBC reports 10 banks were given money as part of the federal government's $US700 billion financial stimulus plan.
In 2008, Goldman Sachs paid $US4.8 billion in bonuses, representing more than twice its income.
Similarly, Morgan Stanley awarded bonuses of $US4.5 billion while earning just $US1.7 billion.
The government provided both companies with $US10 billion as part of a relief programme. Goldman recently reported a net profit of $US3.44 billion for the three months to June.
According to the report, Citigroup and Merrill Lynch paid bonuses of $US5.33 billion and $US3.6 billion respectively while seeing losses of more than $US27 million each.