We propose a new mechanism for a task allocation prob-lem among self-interested agents. This paper focuses on the process after the task is allocated as well as the task allocation process itself. That is, in the former pro-cess, a contractor is not necessarily motivated to attain the task at a sufficient level if the outcome partially de-pends on factors outside the contractor’s behavior. Al-though this problem may happen, e.g., in content deliv-ery services in peer-to-peer networks, previous research efforts have not given attention to this problem. To keep the quality of a task achievement at a sufficient level, we have to find an efficient allocation of tasks and induce each contractor’s effort. However, solving this problem is difficult because the contractee cannot ascertain each contractor’s effort or the contractor’s capabilities in hun-tiling the task. To solve this problem, we propose a new mechanism that auctions contracts. More specifically, the mechanism first finds an efficient allocation of the tasks and then calculates a contract based on the result of the auction. We theoretically analyze the mechanism and prove that the mechanism guarantees that each con-tractor reveals its true information in a single-task case. Moreover, we show that our method can reduce the con-tractee’s operation costs by using computer simulation.