I'm trying to create a contract where where PartyA and PartyB had to trade. PartyA sends money to a contract and PartyB sends goods to partyA. After partyA receives the goods it allows PartyB to retrieve it's money from the contract. In any case possible a third party is needed. I'm I wrong?

2 Answers 2


Your biggest problem is that a contract can only receive assets which are inside the blockchain. You can't send regular money ($, €, any fiat) in blockchain and you can't send goods in blockchain.

What you'd basically need is some way for an external party to tell the contract about the state of the assets (money and goods) outside blockchain. But it's really difficult to do this in a trustless way as you have to trust some entity which inputs the data to the blockchain.

So, yes, most likely a third party is needed.


It could be the Oracle that traces the delivery - many DHL-type delivery networks provide APIs to their information systems. Although there are certain subtleties with determining the identifier of the tracked "package".

  • yeap in anyway. 3rd party is needed. Jan 12, 2021 at 19:34
  • A particular concern would be the "Oops, Wrong Package" scam where one sends a product of little value in order to make it look like the right product has been delivered.
    – Cort Ammon
    Jan 13, 2021 at 4:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.