While Otim’s core contracts handle general protocol logic, Action contracts are modular snippets of execution logic that define specific features. This separation allows the core protocol to be general and versatile, while Action contracts are focused and feature-specific.