Documentation Index
Fetch the complete documentation index at: https://dev-docs.multihopper.com/llms.txt
Use this file to discover all available pages before exploring further.
What is a Keeper?
A keeper is any off-chain process that monitors pending MultiHopper hops and orchestrator steps, then submits the corresponding on-chain transaction when the scheduled time arrives. Keepers are the “automation layer” of the protocol — they bridge the gap between on-chain timelock enforcement and real-world execution timing.What Keepers Execute
Keepers interact with two programs:MultiHopper Core — Hop Execution
Orchestrator — Step Execution
Permissionless Execution
Execution is permissionless: any wallet can submit a valid step or hop execution. The programs validate correctness independently of who submits.Keeper Incentives
TheOrchestratorConfig account includes a keeper_share_bps field (basis points). When a keeper successfully executes an orchestrator step, they earn a proportional share of the lamports deposited for that step.
This creates an open, competitive market for route deployment execution — anyone can run a keeper and earn fees for timely execution.
Current Keeper Infrastructure
MultiHopper operates a scheduler service (a Node.js cron process) that automatically monitors all active routes and orchestrators and submits executions at the scheduled time. This scheduler is:- Non-custodial — it can trigger steps and hops but cannot redirect funds
- Redundant — execution remains possible without it since any keeper can act
- Observable — execution history is indexed and queryable via the API
Failure Recovery
If an orchestrator step fails on-chain:refund_failed_step— returns deposited funds to the route creatorrescue_step— admin escape hatch for permanently stuck steps (requires privileged authority)close_step— closes a completed or refunded step account to reclaim rent
close_orchestrator reclaims the OrchestratorConfig account rent.
Orchestrator
Learn how the Orchestrator program coordinates multi-step route deployment.