Skip to content
Get Started

Quick Start

Get from zero to a working integration in minutes. Pick the path that fits, then follow the steps.

Choose your path

Best ForComplexityFull Guide
Putting a strategy into productionLowRunner guide

Use the Runner to ship a strategy fast. It's a standalone runtime that loads your plugin, signs, and submits, so there's no scheduling or RPC to wire yourself.

Step 1: Scaffold the project

npx create-automark-runner my-vault

Step 2: Make the starter yours

The scaffold ships src/plugins/my-strategy registered. Edit decide(): read vault state, return the actions you want, or a noop with a reason.

export default function createMyStrategy(): StrategyPlugin {
  const vaultId = process.env.PLUGIN_MY_STRATEGY_VAULT_ID;
  if (!vaultId) throw new Error("PLUGIN_MY_STRATEGY_VAULT_ID not set");
  return {
    name: "my-strategy",
    vaultId,
    triggers: [{ kind: "cron", everySeconds: 60 }],
    async decide(ctx) {
      return [{ kind: "noop", reason: "nothing to do yet" }];
    },
  };
}

Step 3: Dry-run, then run

pnpm dry-run my-strategy    # simulate decide() + the tx, print the decision. No gas.
pnpm start                  # start the daemon
Want the full walkthrough? Runner guide