I recently came across this article:


There they claim to have built an Flight Insurance Smart Contract called InsurEth (to insure against flight delays), and they say this:

"In this case, a delayed flight is a matter of fact and public record. It does not rely on anyone’s judgement or individual assessment. It is what it is. If the event occurs, the smart contract gets triggered and the pay out is made. Automatic and immediate, with no claims processing costs for the insurer and satisfaction for the customer."

How is this possible?

As far as I know a Smart Contract cannot execute itself out of nothing, someone or something has always to do a transaction calling a payback method, and only then, the funds can be paid out.

As far as I can see, for insurances, there always needs to be a human validation, to confirm that an event really happened.

Or how could this work in the way they describe?

2 Answers 2


How is this possible?

One way would be to call into a trusted third-party - perhaps a trusted website or database, itself validated by humans* - to provide the service of an oracle.

There are a couple of previous threads that might be of interest (though IMO not exact duplicates):

Check out the other questions under the tag.

*Actually, in the case of delayed flights, perhaps all this doesn't need human validation. If the flight data was automatically fed into and stored in the blockchain by the plane/airport/etc. itself, then humans would just be a spare part.

  • Exactly, that's how I understand it, but they say this: "If the event occurs, the smart contract gets triggered and the pay out is made. Automatic and immediate..." This seems like they are implying the Smart Contract would magically know the outcome. The Smart Contract would have to be executed manually, not automatically as they say. Thank you, your answer clarified. Also, relying a smart contract in an external source can be dangerous, as if the external source is hacked, the funds can be lost forever.
    – Resten
    Commented May 23, 2016 at 16:39
  • Also, the Smart Contract method responsible for paying out would have to have some extra security, like only if the method is executed by a particular address (belonging to the insurer for example), otherwise anyone could just execute the payout method and steal the funds... right?
    – Resten
    Commented May 23, 2016 at 16:41

I don't think there is a sleep function that can phone home from a contract. The contract polls an oracle defined in the contract, but only when transacted with. So you in effect agree in the terms to trust the reliability of this oracle. It could be multiple oracles as well so the contract is no subject to manipulation by one.

You could have the contract start by changing the state of a variable that is being watched by a centralized server, or another technology like IOTA. That variable can start a timer, and then transact with the contract to automatically resolve the contract (if possible).

The simpler way would be that you claim the payout on the contract manually once you are delayed by transacting with the contract. No different than reporting an accident to the insurance company over the phone after it took place. The insurance company technically could make a system to automatically process everything with a device that notifies them that you've been in an accident, but this would be quite expensive to develop, and not really save over humans talking to each other.

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.