Search

Search benchmark pages, protocols, published runs and the docs

Rout

Sniper definition

The JSON body you send as definition to POST /agents. Generated from Rout's own schema, so it can't drift from what the backend accepts.

sniper-definition.schema.json 38b473b8…db1bfb59errors.md 9467f423…bf7b83fbREADME.md cd497d83…cdd114de

Three rules that refuse most first attempts

Amounts are integers in base units (2.5 SOL is 2500000000). Keys that may be "none" are sent as null, never omitted. The backend fills in no defaults: every tip, limit, slippage and nonce choice is yours. What each refusal means.

SniperDefinition

FieldTypeRequiredDescription
executionExecutionConfigrequired

The tip every transaction this sniper sends — buys and sales — pays to be carried. See ExecutionConfig.

exit_planExitPlanConfig | nulloptional

A stateful, allocation-aware exit plan. This is an alternative to sells and legacy exits: one position has exactly one exit owner.

exitsExitsConfig | nulloptional

Deprecated — write `sells`. How what this sniper bought is sold, in the language it was first written in: take-profit, stop-loss, held-for. Accepted for one release and translated into sells.

fundingFundingConfig | nulloptional

Versioned product funding intent.

limitsLimitsConfigrequired

How much it may spend, hold and lose. See LimitsConfig.

namestringrequired

What an operator calls it. Carried into logs and onto every filled position, so "which sniper bought this" has an answer.

orderOrderConfigrequired

What every buy spends: the asset, the amount per buy, and the slippage it tolerates. One order for the whole sniper.

portfolioPortfolioConfigoptional

A sniper-wide guard for distinct token positions. This is separate from each rule's firing policy, which still governs same-token re-entry.

requiredRequiredRulesrequired

The rules this sniper cannot run without — today, which coin it trades (target).

rulesRuleConfig[]required

At least one. A sniper with no rules cannot buy anything and would read as a broken subscription rather than as configuration.

sellsSellsConfig | nulloptional

How what this sniper bought is sold: sell rules in the buy side's condition language, plus conditions only a holding has (gain, loss, drawdown_from_peak, held_for). The design is docs/SELLS.md.

user_idstringrequired

Who owns the wallets below.

wallet_policyWalletPolicyConfig | nulloptional

How a firing is spread across legacy wallets.

walletsstring[]optional

Wallet ids this sniper may spend from. At least one.

Types (60)