{"id":"zero-mfe-timeout","card_id":"card_zero_mfe_timeout","name":"ZeroMFETimeout","description":"Evaluates whether a position with near-zero favorable excursion should timeout.","stage":1,"safety_level":"data_only_read_only","auth":{"type":"hmac-sha256","required_headers":["x-apex-tool-timestamp","x-apex-tool-nonce","x-apex-tool-content-sha256","x-apex-tool-signature"],"canonical_payload":"APEX-TOOL-V1\\n{tool_id}\\n{timestamp}\\n{nonce}\\n{sha256(canonical_json(body))}"},"permissionless":{"enabled":true,"tier":"bounded_public","rate_limit":"Shared 20 calls per IP per hour across permissionless bounded tools plus global agent-write protection","review_required":false,"note":"Anonymous bounded execution is allowed because this is a deterministic DATA ONLY timeout rule over caller-supplied excursion numbers. It never releases source, keys, orders, wallets, private balances, or raw datasets."},"input_schema":{"type":"object","properties":{"seconds_open":{"type":"number"},"mfe_bps":{"type":"number"},"timeout_sec":{"type":"number"},"mfe_threshold_bps":{"type":"number"}}},"output_schema":{"type":"object","properties":{"decision":{"type":"string"}}},"sample_input":{"seconds_open":70,"mfe_bps":0.4,"timeout_sec":60,"mfe_threshold_bps":1},"test_vectors":[{"input":{"seconds_open":70,"mfe_bps":0.4,"timeout_sec":60,"mfe_threshold_bps":1},"expected":{"result":{"decision":"EXIT_TIMEOUT","seconds_open":70,"mfe_bps":0.4}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"},{"input":{"seconds_open":30,"mfe_bps":2,"timeout_sec":60,"mfe_threshold_bps":1},"expected":{"result":{"decision":"HOLD","seconds_open":30,"mfe_bps":2}},"match":"subset","verified_at":"2026-07-04T06:30:00.000Z"}]}