Proof Carrying Code is a methodology developed to establish trust between code consumer and producer. The latter formally proves that the code he sents to the former satisfies some safety properties. That proof is received by the consumer together with the code, that is under inspection. Next the consumer verifies the proof before authorizing the execution of the code. While PCC is a powerful approach, some issues like reusability and the difficulty of the producer to produce the formal proofs, hinder its wide use. In this paper we propose an alternative schema for proof carrying code using tools from the fields of algebraic specifications and design by contract to counter some of these problems.