Abstract. We propose a type system for a calculus of contracting processes. Processes may stipulate contracts, and then either behave honestly, by keeping the promises made, or not. Type safety guarantees that a typeable process is honest — that is, the process abides by the contract it has stipulated in all possible contexts, even those containing dishonest adversaries