In my blockchain application, I would like to have an event triggered at a later time, hours or perhaps even days after the application has most recently received a transaction from a user. How can I create an "event" that will trigger after a certain amount of time has passed?
Welcome to Ethereum Stack Exchange

Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It's built and run by you as part of the Stack Exchange network of Q&A sites. With your help, we're working together to build a library of detailed answers to every question about Ethereum, its blockchain, smart contracts, decentralized applications, including the Swarm and Whisper protocols.
We're a little bit different from other sites. Here's how:
Ask questions, get answers, no distractions
This site is all about getting answers. It's not a discussion forum. There's no chit-chat.
Just questions...
...and answers.
Good answers are voted up and rise to the top.
The best answers show up first so that they are always easy to find.
The person who asked can mark one answer as "accepted".
Accepting doesn't mean it's the best answer, it just means that it worked for the person who asked.
How can a contract run itself at a later time?
2 Answers
You could use the Ethereum Alarm Clock as previously mentioned, but you could also change your programming style to a "must call to execute" paradigm.
For instance, if you want to lock up money for a month until it gets returned, instead of actually having the money be sent after a month, you could have the user call a function that then returns the money.
There is no formal way to schedule events via the protocol itself.
However somebody already wrote an Ethereum Alarm Clock-contract that supports scheduling events at a later moment in time. It's decentralized as well as far as I could tell, anybody can fire scheduled events and get paid for doing so.
Get answers to practical, detailed questions
Focus on questions about an actual problem you have faced. Include details about what you have tried and exactly what you are trying to do.
Ask about...
- Specific issues with Ethereum, the smart contract enabled blockchain based consensus network, including Swarm and Whisper protocols
- Specific issues with Solidity, Serpent programming languages and the Ethereum Virtual Machine (EVM)
- Specific issues with smart contracts, decentralized applications and the web 3.0
- Open-source Ethereum clients, wallets, browsers, or other related tools and libraries
- Real problems or questions that you’ve encountered
Not all questions work well in our format. Avoid questions that are primarily opinion-based, or that are likely to generate discussion rather than answers.
Questions that need improvement may be closed until someone fixes them.
Don't ask about...
- Anything not directly related to the Ethereum, Swarm or Whisper protocols
- Investment advices and speculation on the technological and financial future
- Sites, tools, libraries, or software recommendations
- Politics, governance, and philosophical questions
- Questions that are primarily opinion-based
- Questions that are likely to generate discussion rather than answers
- Questions with too many possible answers or that would require an extremely long answer
You earn reputation when people vote on your posts
Your reputation score goes up when others vote up your questions, answers and edits.
As you earn reputation, you'll unlock new privileges like the ability to vote, comment, and even edit other people's posts.
Reputation | Privilege |
---|---|
15 | Vote up |
50 | Leave comments |
125 | Vote down (costs 1 rep on answers) |
At the highest levels, you'll have access to special moderation tools. You'll be able to work alongside our community moderators to keep the site focused and helpful.
500 | Vote to close, reopen, or migrate questions |
---|---|
1000 | Edit other people's posts |
2000 | Access to moderation tools |
Improve posts by editing or commenting
Our goal is to have the best answers to every question, so if you see questions or answers that can be improved, you can edit them.
Use edits to fix mistakes, improve formatting, or clarify the meaning of a post.
You could use the Ethereum Alarm Clock as previously mentioned, but you could also change your programming style to a "must call to execute" paradigm.
For instance, if you want to lock up money for a month until it gets returned, instead of actually having the money be sent after a month, you could have the user call a function that then returns the money.
Unlock badges for special achievements
Badges are special achievements you earn for participating on the site. They come in three levels: bronze, silver, and gold.
Student | First question with score of 1 or more |
Editor | First edit |
Good Answer | Answer score of 25 or more |
Civic Duty | Vote 300 or more times |
Famous Question | Question with 10,000 views |
Sign up to get started
Signing up allows you to:
- Earn reputation when you help others with questions, answers and edits.
- Select favorite tags to customize your home page.
- Claim your first badge: Informed
Ethereum Stack Exchange is part of the Stack Exchange network
Like this site? Stack Exchange is a network of 176 Q&A sites just like it. Check out the full list of sites.
Use comments to ask for more information or clarify a question or answer.
You can always comment on your own questions and answers. Once you earn 50 reputation, you can comment on anybody's post.
Remember: we're all here to learn, so be friendly and helpful!