Is it possible to create a smart contract which triggerring will be delayed until a special transaction issued by a specific user appears in the chain? If it is possible can data from this transaction be used as an input for the contract?


1 Answer 1


Yes. Smart Contracts can make calls to other contracts to check if a prerequisite of the requested transaction is satisfied.

Refer to interactions between contracts. https://dappsforbeginners.wordpress.com/tutorials/interactions-between-contracts/

Update: I understand, the question is seeking more input that I previously provided. I'll add more clarification. Assuming you have control on only one contract (A) that needs to watch for a trigger transaction on a contract (B) which is beyond your control. If you have control of both contracts, you simply trigger a transaction on (A) through your transaction to (B) as mentioned above.

Contracts cannot trigger by themselves, and need an EOA (Externally Owner Account) to start a transaction. In such a case you will need have an Oracle - an external service that will look for the trigger transaction on (B) and push a transaction to (A) on event. (A) can still do a check on state of (B) to make sure that the Oracle isn't gone rouge.

  • Your comment doesn't address the 'delay' to trigger the transaction.
    – Ismael
    Jul 2, 2017 at 4:00
  • Added clarification. Hope that helps. Jul 2, 2017 at 5:59

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.