Two-Factor Bitcoin

The only way to do a two-party transaction between untrusted peers (an implementation of BIP38)

If you're looking for to do Bitcoin Escrow, checkout

Two-Party Escrow

An intermediate code allows the other party to generate an encrypted private key based on your passphrase without them actually knowing the passphrase.

Typically the person receiving the coins is the person to generate the intermediate code.

Provide the other party the intermediate code once it has been generated.

Generate the encrypted private key using the intermediate code that you were given by the other party.

You will lose access to the coins unless the other party provides you with the passphrase to the encrypted private key.

Provide the address and confirmation code to the other party once they have been generated. Once the other party had verified the address using the confirmation code, you can send the coins to the address without fear of the other party getting access to the coins before the trade is complete.

Do not give the other party the encypted key until you are ready to release the coins.

Use your original passphrase and the confirmation code provided by the other party to verify that the address generated was based on your passphrase.

Once verified, the other party can send coins to the address. You will not have access to the coins until the other party sends you the encrypted private key.

Decrypt an encrypted private key using a passphrase.

Encrypted Private Keys