Custom Strategy Builder
"Build your own" lets you write a token screen from the indexer's live parameters, choose how the survivors are ranked, and set your own position rules, all checked against hard bounds before launch.
"Build your own (advanced)" is the last option on /create. It runs the same token-filter engine as the Uniswap V4 launches template, but every filter, the ranking and all six position rules are yours. Like every token-filter agent, it paper-trades real Robinhood Chain tokens tracked by the Blockchain Indexer and reports results to its testnet vault.
What you start with
Picking "Build your own" loads a deliberately neutral rule set: liquid tokens with real volume and small positions, because price impact eats large ones.
| Part | Default |
|---|---|
| Filters | Liquidity (lp_usd) at least $25,000; 1h volume (volume_1h_usd) at least $5,000 |
| Ranking | 1h volume, highest first |
| Position size | 10% of the vault |
| Take profit / stop loss | +50% / -30% |
| Hold while in top | 3 |
| Min hold | 30 minutes |
| Max round-trip cost | 5% |
Using the editor
On /create, the first step shows three key inputs (position size, take profit, stop loss). Open Advanced strategy settings to get the full editor (RulesEditor):
- 1Position rules. Six tiles, one per rule. Each shows its allowed range, and any value you type is clamped to it.
- 2Buy tokens when. A list of conditions, each read as "If ..." then "And ...". Pick a parameter from a searchable list grouped by category, pick a comparison, enter a value. The counter shows how many of the 24 allowed conditions you use. Durations are entered in minutes; USD, percent, bps and multiples in their own units. Roadmap parameters appear greyed out as "Soon".
- 3Then pick. "The one with the [parameter] [Highest or Lowest]". Only numeric parameters can rank.
- 4Matching right now. A live preview from the indexer: how many tokens pass and the top five with market cap, 1h volume, 1h change, Jev's rug probability and your ranking value. Each token links to its GeckoTerminal page.
- 5Tools. Chips for the tools this strategy can use: Smart-money wallets, DexScreener, X social momentum, Security scan and AI pre-trade check.
If anything is invalid, the launch button lists the problem (for example "Strategy: Description needs text (1-100 characters)" for an empty text condition) and you cannot continue until it is fixed.
Operators
Which comparisons you can use depends on the parameter's type:
| Parameter type | Operators | Notes |
|---|---|---|
| Number | <, <=, >, >=, =, !=, is set, is empty | Integer parameters need whole numbers |
| Yes/no | is, is not, is set, is empty | Value is true or false |
| Text | is, is not, contains, doesn't contain, is set, is empty | Case-insensitive; 1 to 100 characters |
Three rules decide what passes:
- All conditions must hold. There is no OR. To express alternatives, run a second agent.
- An empty value never passes a comparison. A token with no recorded
mcfailsmc > 8000and also failsmc < 8000. Use "is set" or "is empty" to test for missing data on purpose. - Ranking puts empty values last. Ties are broken by the newest launch first.
Position rules and their bounds
These are RULE_BOUNDS in src/lib/agents/rules.ts. A value outside the range is rejected outright, not rounded.
| Rule | Range | What it does in the loop |
|---|---|---|
| Position size | 5% to 50% | Share of the vault put into the one token held |
| Take profit | +5% to +500% | Sell once the position is up this much from entry |
| Stop loss | -90% to -2% | Sell once it is down this much |
| Hold while in top | 0 to 10 | Keep the token while it still ranks in the top N; 0 means rank never protects it |
| Min hold | 0 to 240 min | No rotation before this; take profit and stop loss still fire |
| Max round-trip cost | 1% to 30% | Skip tokens whose fee, creator tax, price impact at this size and gas, in and out, cost more |
The agent holds one token at a time. Each tick (every 30 seconds) it asks the indexer for at least 8 ranked candidates, drops the ones too expensive to round-trip, checks take profit, stop loss and rotation on the held token, and buys the best remaining pick when it has no position. With guard tools connected, the top three picks are checked in order before a buy.
Limits
- 24 conditions at most.
- 4,096 bytes of rules JSON. Rules live on-chain in the agent's governor contract, which rejects anything longer.
- Unknown keys are errors. A misspelled rule or parameter name is rejected, not ignored.
- Last valid rules win. If a stored rule set ever fails validation, the engine keeps trading on the last valid one rather than on something unbounded.
Example rule set
This is the canonical JSON the governor stores. It screens liquid tokens with a real crowd, no dominant buyer, a creator tax of 3% or less and a Jev rug probability under 70%, and runs the Security scan and AI pre-trade check before each buy. It is 578 bytes.
{
"v": 2,
"positionSize": 0.1,
"takeProfit": 0.6,
"stopLoss": -0.25,
"holdWhileTopN": 3,
"minHoldMinutes": 20,
"maxRoundTripPct": 6,
"filters": [
{ "param": "lp_usd", "op": ">=", "value": 20000 },
{ "param": "volume_1h_usd", "op": ">=", "value": 5000 },
{ "param": "volume_to_lp_1h", "op": "<=", "value": 8 },
{ "param": "maker_count", "op": ">=", "value": 60 },
{ "param": "top_maker_pct", "op": "<=", "value": 40 },
{ "param": "creator_tax_bps", "op": "<=", "value": 300 },
{ "param": "jev_rug_prob", "op": "<", "value": 70 },
{ "param": "change_1h", "op": ">", "value": 0 }
],
"rankBy": { "param": "volume_1h_usd", "dir": "desc" },
"tools": ["security", "ai-check"]
}Fractions are stored as decimals (0.1 is 10%, -0.25 is -25%), while maxRoundTripPct is already a percent.
Writing a screen that trades
- Check the live count. If "Matching right now" shows zero tokens most of the time, the agent will sit in cash most of the time.
- Mind coverage. Lifetime trade statistics (buyers, makers, top buyer share) are empty for tokens launched before the indexer followed trades, and curve parameters are empty for non-Pons launches. An empty value fails your condition, so these tokens are silently excluded.
- Price in costs. Many tokens charge a creator tax (up to 700 bps) on every trade. The max round-trip cost catches this, but a tighter
creator_tax_bpsfilter makes the intent explicit. - Tool parameters need data. Smart-money, DexScreener, X and GoPlus values are only filled for active tokens and on their own refresh schedules, so early in a token's life they can be empty.
Start from the defaults, add one condition at a time and watch the live count. A screen that matches five to twenty tokens usually leaves room to rank.
Related
Neuron is on Robinhood Chain testnet. Testnet performance is not evidence of real-money profitability.
