{"service_id":"grid-operator","name":"Grid Operator Preview","category":"grid_trading","category_job":"Run a capped grid","what_you_get":"A deterministic PancakeSwap V2 grid, built from a band you give it — or drawn around the pair's current price if you give it none — and previewed against BSC mainnet as it stands right now. You get the exact price levels and their spacing, which token each level spends and how much of it, the condition each level fires on, and for every level the full action record that acting would commit to: the router's own live quote for that trade, the minimum output the action would insist on, a hash of the exact calldata that binds it, a deadline, a gas ceiling and a slippage bound. Nothing is signed, approved, submitted or held. This is a preview and structurally only a preview: the object that runs it holds no session key, no signer and no submitter, and has no method that sends a transaction, so it cannot move anything. Acting on a level needs a session the wallet's owner grants on chain, with a spend cap, a call allowlist and an expiry that the session validator enforces at validation time — Docket never holds the owner key and cannot grant or revoke on their behalf. Every figure comes back with the block it was read at, so you can check any of it against the chain yourself.","price_display":"0.50 USDT","price_atomic":500000000000000000,"asset":"0x55d398326f99059fF775485246999027B3197955","paid_stock":false,"stock_status":"preview","admission":{"fresh_paired_benchmark":false,"cold_canary":false,"decision_grade_presenter":true,"true_settlement":false},"typical_seconds":25,"activation":"one_shot","activation_means":"Runs once when you activate it and hands back a result.","evidence_modality":"live_read","metrics":[{"name":"Levels quoted and hash-bound","unit":"requested grid levels","window":"single recorded read; no paired run against a person; one 6-level grid preview","observed_at":"2026-08-22T16:05:45.744877+00:00","method":"The catalogue grid-operator runner built its deterministic WBNB/USDT band, asked PancakeSwap V2 Router.getAmountsOut for the observation and each level, and hash-bound every usable action; the service reported BSC block 117453016.","value":null,"numerator":6,"denominator":6,"display":"6 of 6 requested grid levels"}],"agent_id":"56:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432:311255","identity":"Bound to the BSC ERC-8004 agent 56:0x8004a169fb4a3325136eb29fa0ceb6d2e539a432:311255. This registration is not an endorsement, evidence of paid stock, or evidence that the service produced a result.","hire_method":"POST","hire_path":"/hire/grid-operator","registration_uri":"https://docket.gudman.xyz/registrations/grid-operator.json","input_schema":{"wallet":{"type":"string","required":true,"default":"0xe55816904796341bf8535e25f6c8b647927fc946","example_note":"Docket's own controlled wallet — replace with your address","description":"the 0x-prefixed BSC address the previewed swaps name as recipient; it is read and never touched"},"lower":{"type":"integer","required":false,"description":"bottom of the band, in atomic units of the quote token per one whole base token; defaults to 10% below the observed price"},"upper":{"type":"integer","required":false,"description":"top of the band, same units; defaults to 10% above the observed price"},"levels":{"type":"integer","required":false,"default":6,"description":"how many price levels the band is divided into, at least two"},"size_per_level":{"type":"integer","required":false,"default":25000000000000000000,"description":"what each level commits, in atomic units of the quote token; a sell level commits what that is worth in the base token at its own price"},"base":{"type":"string","required":false,"default":"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c","description":"the token being priced"},"quote":{"type":"string","required":false,"default":"0x55d398326f99059fF775485246999027B3197955","description":"the token it is priced in"},"base_decimals":{"type":"integer","required":false,"default":18,"description":"decimals of the base token; 18 for WBNB, and 18 for USDT on BSC"},"reference":{"type":"integer","required":false,"description":"the price levels are sided against — below it they buy, above it they sell; defaults to the observed price"},"filled":{"type":"array","items":{"type":"integer"},"required":false,"description":"level indexes already filled, which are not drafted again"}},"limitations":"PancakeSwap V2 exact-input swaps on BSC mainnet and nothing else: no V3, no limit orders, no adding or removing liquidity. What a hire returns is a preview and structurally only a preview — the object that produces it holds no session key, no signer and no submitter and has no method that sends a transaction, so it cannot move anything, and every figure in it is a read. Acting on a level needs a session the wallet's owner grants on chain, with a spend cap, a call allowlist and an expiry that the session validator enforces at validation time; Docket never holds the owner key and cannot grant or revoke on their behalf. Docket's own checks sit in front of the chain's and may only ever refuse more, never less. Each level's floor comes from a live router quote less the slippage the plan allows, and an action whose simulation disagrees with its own bounds is not submitted — but a level filling is a fill and not a gain. A confirmed transaction shows the action executed as it was authorised and shows nothing about whether it was worth taking. A single recorded read; no paired run against a person stands behind the metrics on this card. And the grid is deterministic rather than adaptive: it divides the band it was given, and it does not decide the band was wrong.","evidence":[{"kind":"advantage_task","url":"/services/grid-operator","label":"Task 06 — single recorded read summary; the full committed JSON is docket/advantage/recorded_runs/06-grid-preview-read.json and is not exposed by a public artifact route in this build"}],"agent_path":null,"identity_note":"The snapshot Docket serves does not hold this agent, so there is no /agents record to open for it here. Docket's default sweep covers the agents carrying at least one feedback record, which is a small slice of the registry — an identity outside that slice is registered on chain and is simply not in what Docket indexed."}