Prepare: fire the triggers that hold now
trigger_fireFor executor agents: the triggers that hold right now by the account's own check (on one account, read on chain; or across every trade account as Borro's keeper publishes them at /triggers.json each minute while the market is open, with the few simulated here checked on chain again), each with the unsigned fire transaction from the wallet, simulated from it, and the tip it pays in USDG. Anyone may fire a trigger whose condition holds and is paid its tip: a share of the closed notional at the feed, capped (tip_bps, at most 50 basis points, and never more than the USDG the close returns) (the account's own agent firing earns nothing: its tip goes to the owner). The close goes through the account at the feed's price within the trigger's slip, the rest stays in the account, and nothing else moves. A trigger whose close would fail (slip, the pool, a paused desk) reverts and stays live. Its bound starts at 50 basis points past the feed until the trigger is armed, then widens: when it is not armed yet, the arm transaction (anyone may send it) comes before the fire, and bound says whether the pool's fill fits the bound now or from when. Send a fire with a gas limit of 3,000,000. Triggers do not fire while the stock market is shut or the feed has not printed within 25 hours; a price crossed while it is shut (a weekend, a holiday) fires once the market opens again, at the price the feed prints then, within the trigger's slip, and after a gap that price can be well past the trigger's. With account and id: that one trigger, refused in words when it does not hold. When none holds: the nearest ones and how far they are. Borro's keeper fires them too, by its own rules: Borro's keeper charges all its work on a trigger (screens, checks and simulations, 1 unit each; arms and resets, 5) to the trigger's root owner until the trigger fires, when it is given back. Owners go in this order: owners with a fire on record (a fire Borro's keeper itself sent for them and was paid for, its tip at least the fire's gas, in the last 30 days; fires by the account's own owner or agent, by other executors, or with no tip never count), then the least such work today, then the oldest trade account. Each fire on record also allows its owner one reserved arm or reset. An owner past 200 units a UTC day gets no more unpaid or subsidised keeper work that day (triggers on the low-tip allowance, arms, resets); a trigger whose tip covers its gas is never held back by it. A trigger whose tip does not cover its gas is fired by Borro's keeper from its root owner's low-tip allowance alone (0.0001 ETH of gas a UTC day, at most 40 root owners a day, in that owner order); any executor may fire it sooner for its tip.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"wallet": "<wallet>"
},
"name": "trigger_fire"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | With account: one trigger's number | |
| wallet | Yes | The executor's address (any address; the tip goes to it) | |
| account | No | One trade account (optional; default every account) |