bullpen solana limit-sell¶
Last updated: May 29, 2026
Place a Jupiter Trigger limit sell for a Solana token into USDC
Usage¶
Live Help¶
Place a Jupiter Trigger limit sell for a Solana token into USDC
Usage: bullpen solana limit-sell [OPTIONS] --price <PRICE> <MINT> <AMOUNT>
Arguments:
<MINT>
Input SPL token mint address
<AMOUNT>
Token amount to sell in token units for this mint; NOT USD
Options:
--output <OUTPUT>
Output format for command results
[possible values: table, json]
--price <PRICE>
Limit price in USD per input token
--env <ENV>
Target environment to connect to (overrides config.toml)
[env: BULLPEN_ENV=]
[possible values: staging, production]
--expiry <EXPIRY>
Expiry duration such as 1h, 24h, 7d, or never. Default is never
--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.
--yes
Skip confirmation prompt
--preview
Show the Trigger order request without signing or submitting
--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:
bullpen solana limit-sell --help
Show options for this command without signing, submitting, or changing state.
Example Commands¶
bullpen solana limit-sell [OPTIONS] --price <PRICE> <MINT> <AMOUNT>
bullpen solana limit-sell --help
bullpen solana limit-sell So11111111111111111111111111111111111111112 2.5 --price 200 --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: 1 when a command emits schema_version; otherwise treat the current command shape as contract version 1.
Top-level Keys¶
| key | type | nullable | notes |
|---|---|---|---|
action |
string | no | limit_buy or limit_sell |
side |
string | no | buy or sell |
maker |
string | no | Bullpen Solana wallet used as the Trigger maker |
payer |
string | no | Bullpen Solana wallet used as the transaction payer |
input |
object | no | Input mint, symbol, decimal amount, and atomics |
output |
object | no | Output mint, symbol, decimal amount, and atomics |
price_usd |
string | no | Limit price in USD per token |
expires_at |
integer | yes | Unix expiry timestamp, omitted/null for never |
request |
object | no | Jupiter Trigger createOrder request preview |
Example¶
bullpen solana limit-sell So11111111111111111111111111111111111111112 2.5 --price 200 --preview --output json
{
"action": "limit_sell",
"side": "sell",
"maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"payer": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"input": {
"mint": "So11111111111111111111111111111111111111112",
"symbol": "USDC",
"amount": "500",
"amount_atomics": 500000000
},
"output": {
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "SOL",
"amount": "2.5",
"amount_atomics": 2500000000
},
"price_usd": "200",
"expires_at": 1780000000,
"request": {
"maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"payer": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"params": {
"makingAmount": "500000000",
"takingAmount": "2500000000",
"expiredAt": 1780000000
}
}
}
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¶
--previewbuilds the Jupiter Trigger create-order request without Turnkey signing, Jupiter/execute, orTxService.SubmitV4submission.- The CLI intentionally does not expose a Solana limit-order
--slippage-bpsflag; the limit price is the user-facing protection. - Limit orders do not run JupiterShield and do not expose
--skip-shield-check. - Live create submits the signed transaction through Jupiter Trigger
/trigger/v1/executeafter confirmation.