Skip to content

bullpen solana cancel-order

Last updated: October 7, 2026

Cancel a single Jupiter Trigger limit order

Usage

bullpen solana cancel-order [OPTIONS] <ORDER_KEY>

Live Help

Cancel a single Jupiter Trigger limit order

Usage: bullpen solana cancel-order [OPTIONS] <ORDER_KEY>

Arguments:
  <ORDER_KEY>
          Jupiter Trigger order account/key to cancel

Options:
      --output <OUTPUT>
          Output format for command results

          [possible values: table, json]

      --yes
          Skip confirmation prompt

      --env <ENV>
          Target environment to connect to (overrides config.toml)

          [env: BULLPEN_ENV=]
          [possible values: staging, production]

      --preview
          Show the cancel request without signing or submitting

      --config <CONFIG>
          Path to a custom config.toml file (overrides $BULLPEN_CONFIG and the default location).

          Explicit --config and BULLPEN_CONFIG paths fail closed: if the file is missing, the CLI exits validation instead of silently loading defaults. Credentials still resolve via BULLPEN_HOME, so set BULLPEN_HOME too when isolating a session.

      --read-only
          Enable read-only mode: blocks all mutating commands

      --non-interactive
          Suppress interactive prompts; does NOT imply --yes for money-moving commands

          [env: BULLPEN_NON_INTERACTIVE=]

  -h, --help
          Print help (see a summary with '-h')

EXAMPLES:
  # Review active Trigger orders before canceling
  bullpen solana orders --status active

  # Preview one Trigger cancel without signing or submitting
  bullpen solana cancel-order 7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV --preview

  # Export the cancel preview as JSON
  bullpen solana cancel-order 7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV --preview --output json

Example Commands

Live: Run the matching preview first. Submit only when it matches the intended target, size, price guards, and account scope.

bullpen solana orders --status active
bullpen solana cancel-order 7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV --preview
bullpen solana cancel-order 7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV --preview --output json

JSON Output

Contract: JSON Output Contract.

Preview (--preview --output json)

Preview output is a single JSON document emitted only when --preview --output json is passed. Live submit output uses the corresponding Solana Trigger mutation-report schema instead.

Schema version: 2 for Solana limit-order JSON output (ticket 1961 migrated Jupiter Trigger v1 to v2, renaming order to order_id and removing batches).

Top-level Keys

key type nullable notes
action string no cancel_limit_order for previews
order string no Jupiter Trigger v2 order id to cancel
maker string no Bullpen Solana wallet used as maker
request object no Local cancel request plan (order, maker); live success adds cancel_request_id, tx_signature, receipt_status, and landed
landed boolean no true only when Jupiter confirmed the withdrawal with an unreadable response body; JSON output reports this case as status: "landed_unconfirmed" and points at bullpen solana orders --output json instead of a balance refresh

Example

Example output: This non-runnable command-and-response pair documents the JSON shape. Use the preview/live workflow in Example Commands when you intend to submit.

bullpen solana cancel-order 7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV --preview --output json
{
  "action": "cancel_limit_order",
  "order": "7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV",
  "maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
  "request": {
    "order": "7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV",
    "maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e"
  }
}

Live Submit (--yes --output json)

Live submit output is a single JSON document emitted after confirmation or --yes. It initiates the Jupiter Trigger v2 withdrawal, signs it once, confirms it through Jupiter's two-step cancel endpoints, and includes a balance readback hint because cached portfolio reads can lag immediately after a cancel. The CLI never broadcasts the withdrawal transaction itself — Jupiter submits it.

Live Top-level Keys

key type nullable notes
kind string no solana_limit_order_cancel_result
success boolean no true when the cancel receipt is confirmed
status string no Receipt status such as confirmed, timeout, or unknown
order string no Jupiter Trigger v2 order id cancelled
order_key string no Alias of order for automation
signature string yes Solana transaction signature when Jupiter returns one; null when an ambiguous-but-landed outcome could not be confirmed
tx_signature string yes Alias of signature
readback_status string no refresh_recommended after confirmed cancels
balance_refresh_recommended boolean no true after a submitted cancel
next_command string no bullpen solana balance --refresh --output json

Live Example

{
  "action": "cancel_limit_order",
  "kind": "solana_limit_order_cancel_result",
  "success": true,
  "status": "confirmed",
  "order": "7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV",
  "order_key": "7nE9GJoYHNmtaQvTQpota3KV2oz4pQ2dA6nvYK8EUJHV",
  "maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
  "cancel_request_id": "trigger-v2-cancel-request-1",
  "signature": "3zUYh2mJ2QaF9x7Qv5bYk2wFqVQTwZx3qG4oZk6Gm1J9ABx6dD7xVz2yB4mE3cT7s9QeN1rP5aK2mY8hJ6nC4dL",
  "tx_signature": "3zUYh2mJ2QaF9x7Qv5bYk2wFqVQTwZx3qG4oZk6Gm1J9ABx6dD7xVz2yB4mE3cT7s9QeN1rP5aK2mY8hJ6nC4dL",
  "receipt_status": "confirmed",
  "readback_status": "refresh_recommended",
  "balance_refresh_recommended": true,
  "stale_balance_risk": "cached_balance_may_lag_after_cancel",
  "next_command": "bullpen solana balance --refresh --output json",
  "next_commands": [
    "bullpen solana balance --refresh --output json",
    "bullpen solana portfolio --refresh --output json"
  ]
}

Stability

Patch releases may add nullable or optional fields. Minor releases may add required fields or increment schema_version. Major releases may remove or rename fields.

Solana Trigger Notes

  • --preview builds the cancel request without Turnkey signing or Jupiter cancel mutation endpoints.
  • Live cancel initiates a withdrawal with Jupiter Trigger v2, signs it once with the Bullpen Solana wallet, and confirms it through Jupiter's two-step cancel endpoints; the CLI never broadcasts the withdrawal itself.
  • cancel-all-orders has no upstream batch-cancel route: it composes per-order initiate/sign/confirm calls, reports each order's outcome, and stops before finishing the batch if an order's outcome cannot be automatically reconciled.
  • After a live cancel, run bullpen solana balance --refresh --output json before relying on returned funds. Plain balance can briefly show cached balances while Jupiter and Bullpen indexing catch up.
  • Cancel commands do not run JupiterShield and do not expose --skip-shield-check or --slippage-bps.