bullpen solana limit-buy¶
Last updated: July 13, 2026
Place a Jupiter Trigger limit buy for a Solana token with USDC
Usage¶
Live Help¶
Place a Jupiter Trigger limit buy for a Solana token with USDC
Usage: bullpen solana limit-buy [OPTIONS] --price <PRICE> <MINT> <USD_AMOUNT>
Arguments:
<MINT>
Output SPL token mint address
<USD_AMOUNT>
USD/USDC amount to spend when the limit order fills
Options:
--output <OUTPUT>
Output format for command results
[possible values: table, json]
--price <PRICE>
Limit price in USD per output 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:
# Preview a Trigger limit buy without signing or submitting
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --preview
# Export the Trigger limit-buy preview as JSON
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --preview --output json
# Submit a confirmed Trigger limit buy after reviewing the preview
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --yes
Example Commands¶
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --preview
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --preview --output json
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --yes
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¶
Example JSON output
bullpen solana limit-buy DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 50 --price 0.00003 --expiry 24h --preview --output json
{
"action": "limit_buy",
"side": "buy",
"maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"payer": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"input": {
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "USDC",
"amount": "50",
"amount_atomics": 50000000
},
"output": {
"mint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"symbol": "BONK",
"amount": "1666666.66666",
"amount_atomics": 166666666666
},
"price_usd": "0.00003",
"expires_at": 1780000000,
"request": {
"maker": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"payer": "7qRkWTrM4DLpmeSnB8xT8p8mpqLQ9JdYatYczS4u1G8e",
"inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"outputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
"params": {
"makingAmount": "50000000",
"takingAmount": "166666666666",
"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 implements exact Trigger orders and intentionally does not expose a Solana limit-order
--slippage-bpsflag. - Limit orders do not run JupiterShield and do not expose
--skip-shield-check. - Trigger referral fees are not currently forwarded. Trigger uses an output-mint
feeAccountplusparams.feeBps; the CLI does not reuse UltrareferralAccount/referralFeesettings for limit orders. - Live create submits the signed transaction through Jupiter Trigger
/trigger/v1/executeafter confirmation.