An indemnity contract involves two parties, the indemnifier who promises to compensate the indemnity holder for any losses. A guarantee contract involves three parties, the creditor who lends money, the principal debtor who receives the loan, and the surety or guarantor who guarantees the loan. The key differences are that an indemnity contract only has two parties and one contract, while a guarantee contract has three parties and sub-contracts defining primary and secondary liability. The indemnifier bears full liability, while the surety can recover payments from the principal debtor in a guarantee contract.