Hi @bayram,
Welcome to the community
OpenZeppelin provides a highly configurable Crowdsale base contract that can be combined with various other functionalities to construct a bespoke crowdsale.
You could include a manual rate adjustment. I would think of this as the equivalent of a vending machine for laundry or arcade tokens, where the owner could change the price of tokens.
I would recommend clearly advising participants under what circumstances the rate could be changed and who could change it, including by how much and how frequently.
You may want to code these types of restrictions on the rate change into your crowdsale. Such as limiting the frequency of a change (e.g. can only be changed after X time since the last change) and/or the amount (e.g. can only be adjusted up or down by Y%).
Your solution should also have appropriate testing and auditing:
- Regards testing, the testing guide is a good place to start: Test smart contracts like a rockstar
- Prior to an audit it is worth going through the checklist before an audit.
- To organize an audit, you would need to engage a third party auditor such as OpenZeppelin, see https://openzeppelin.com/security-audits/ for details.