Standing Orders
Persistent rules that modify how agents behave. Unlike tasks (one-shot) or cron (scheduled), standing orders are constraints the agent must respect on every reply.
Two kinds
- constraint โ injected into the agent's system prompt. E.g. "Never recommend tokens with less than $50k liquidity"
- trigger โ background watch that fires when a condition is met. E.g. "Tell me when BTC crosses $100k"
Adding
curl -X POST http://127.0.0.1:18789/standing-orders \
-d '{
"kind": "constraint",
"agent": "bags-hunter",
"rule": "Never recommend tokens with less than $50k 24h liquidity"
}'For global rules (apply to all agents):
{
"kind": "constraint",
"agent": "*",
"rule": "Always disclose 'Not financial advice' on any token-related answer"
}Listing & toggling
curl http://127.0.0.1:18789/standing-orders?agent=bags-hunter
curl -X POST http://127.0.0.1:18789/standing-orders/so_123/toggle
curl -X DELETE http://127.0.0.1:18789/standing-orders/so_123How constraints inject
The Context Engine appends a "Standing orders from the user" section to the system prompt at priority 20:
## Standing orders from the user
These are persistent rules the user has set. Follow them in every response:
- Never recommend tokens with less than $50k 24h liquidity
- Always disclose 'Not financial advice' on token-related answersStorage
~/.openvesper/standing-orders.json (mode 0600).
Source
Implementation: apps/gateway/src/standing-orders.ts