PREVIEW Contracts are not deployed yet. Numbers are example data and no transaction is sent.
Start

Quickstart

Create your first task in about two minutes.

Gnomon runs a function on your contract for you: on a schedule, when a condition turns true, or when an event is emitted. You prepay gas in HYPE and every run is recorded on-chain.

1. Fund your gas tank

Open the app, connect a wallet on Elysium and deposit HYPE. Each run takes its gas plus, after your free runs, a 0.0003 HYPE fee. You can withdraw the rest at any time.

2. Create a task

In the app, pick the contract and the function, choose a trigger and set the most a run may cost. Or use the SDK:

TypeScript
import { gnomon } from "@gnomon/automate";

const g = gnomon({ wallet });           // a viem wallet client on Elysium
const task = await g.createTask({
  target: "0xYourVault",
  call: "harvest()",
  every: "1h",                          // or { condition: resolver } / { event: ... }
  maxCostPerRun: "0.01 HYPE",
  deposit: "2 HYPE",
});
console.log(task.id, task.sender);

3. Allow your sender

Gnomon calls your contract from a sender address that belongs only to your wallet. Allow it in the function you automate:

Solidity
address public constant GNOMON_SENDER = 0x...; // shown after you create the task

function harvest() external {
    require(msg.sender == GNOMON_SENDER, "not keeper");
    // ...
}

That’s it. Watch the runs on your task page, or set up alerts for failures.