Article I Section 6

The Senators and Representatives shall receive a Compensation for their
Services, to be ascertained by Law, and paid out of the Treasury of the
United States. They shall in all Cases, except Treason, Felony and Breach of
the Peace, be privileged from Arrest during their Attendance at the Session
of their respective Houses, and in going to and returning from the same; and
for any Speech or Debate in either House, they shall not be questioned in any
other Place. 

No Senator or Representative shall, during the Time for which he was elected,
be appointed to any civil Office under the Authority of the United States
which shall have been created, or the Emoluments whereof shall have been
increased during such time; and no Person holding any Office under the United
States, shall be a Member of either House during his Continuance in Office.

