Install
openclaw skills install @nansen-devops/nansen-limit-ordersGuide users through native limit orders on Solana via nansen trade limit-order create|list|cancel|update, and the alert-based settlement-signal fallback for chains without native support. Use when a user wants a price-triggered buy or sell.
openclaw skills install @nansen-devops/nansen-limit-ordersNansen account API calls accept a selected nansen:api browser session or conventional API key with the same permissions. NANSEN_API_KEY takes precedence; optional primaryEnv preserves configured-key injection. Run nansen auth status for offline selection. Cached access expiry alone permits automatic renewal during an authorized task. Stop on anonymous selection, invalid state, blocked/uncertain renewal or actual auth failure; never drop a credential or fall back to anonymous x402 payment. Browser login does not grant wallet signing, privileged service identity or a persistent MCP integration key. Preserve all confirmation, signing, sanctions and geographic checks below. Browser login is available in CLI 2.0.0 within the macOS arm64 preview scope.
Use this skill when the user wants a price-triggered order. There are two distinct paths — pick the one that matches the user's chain:
nansen trade limit-order create|list|cancel|update
places real resting orders through the Nansen trading API. Use these for
anything on Solana.nansen-cli does not yet place
native limit orders on EVM chains. Place the resting order on the venue that
supports it (CEX, DEX limit-order product) and create a companion
common-token-transfer smart alert on the settlement wallet as a best-effort
fill signal.nansen-cli: nansen wallet show <name> (or
nansen wallet create if none exists). Local, Privy, and WalletConnect
wallets are all supported for trade limit-order.trade limit-order create auto-registers a trading vault and
caches a JWT at ~/.nansen/limit-order-auth.json for ~23h.Two mechanisms, not one. The limit order itself is price-triggered — it executes when the market price crosses the target. A companion smart alert is a settlement confirmation — it fires after the trade settles on-chain (i.e. when the bought token actually arrives in the wallet). They are independent: the order handles the trigger, the alert tells the user the fill landed.
# --amount is always in token units (e.g. 1 = 1 SOL, 80 = 80 USDC)
nansen trade limit-order create \
--from SOL --to USDC \
--amount 1 \
--trigger-mint SOL --trigger-condition below --trigger-price 80
# with explicit slippage and expiry
nansen trade limit-order create \
--from SOL --to USDC \
--amount 1.5 \
--trigger-mint SOL --trigger-condition above --trigger-price 200 \
--slippage-bps 300 \
--expires 7d
Required flags: --from, --to, --amount, --trigger-mint,
--trigger-condition (above or below), --trigger-price (USD).
Key options:
--amount is always in token units (human-readable). 1.5 means 1.5 SOL,
80 means 80 USDC. There is no base-unit mode and no amount-unit override flag —
do not pass one.--slippage-bps <bps> — basis points, integer 0–10000 (300 = 3%, 100 = 1%).
Omit for auto.--expires accepts 24h, 7d, 30d (default), or an epoch-ms timestamp.--wallet <name> or --wallet walletconnect (alias wc) to pick a non-default
wallet.Constraints (all enforced server-side — surface errors to the user as-is):
--from and --to must be valid Solana mint addresses or supported symbols
(SOL, USDC, USDT, etc.). Resolve unknown tokens with nansen research search.nansen trade limit-order list # default
nansen trade limit-order list --state active # only open
nansen trade limit-order list --state past # filled or cancelled
nansen trade limit-order list --mint <mintAddr> # filter by token
nansen trade limit-order list --limit 50 --offset 0 --dir desc
Options: --state active|past, --mint <addr>, --limit <n> (default 20),
--offset <n>, --sort <field>, --dir asc|desc (default desc),
--wallet <name>.
nansen trade limit-order cancel --order <orderId>
Cancelling submits a withdrawal transaction; surface the tx signature from the CLI output so the user can verify on Solscan.
nansen trade limit-order update --order <orderId> --trigger-price 85
nansen trade limit-order update --order <orderId> --slippage-bps 100
Only --trigger-price and --slippage-bps can be updated. To change size or
the token pair, cancel and re-create. Auto slippage can only be set at creation
time (by omitting --slippage-bps from create); update cannot revert a
fixed slippage back to auto.
nansen-cli does not currently place native limit orders on EVM chains. The
supported approximation is:
common-token-transfer smart alert scoped to wallet + chain +
token + side. The alert fires after the trade settles — i.e. once the
bought/sold token actually moves on-chain — as a fill-detected signal.How the two mechanisms compose:
nansen-cli is not involved.This is a best-effort settlement signal, not authoritative order tracking. It
does not expose order-state polling, partial-fill progress, triggeredAt,
fillPercent, remaining size, or canonical filled/cancelled history.
nansen alerts create \
--name 'Settlement signal: buy PEPE on trading wallet' \
--type common-token-transfer \
--chains ethereum \
--events buy \
--subject address:0xYourWallet \
--token 0x6982508145454ce325ddbe47a25d4ec3d2311933:ethereum \
--telegram 5238612255
nansen alerts create \
--name 'Settlement signal: sell USDC on trading wallet' \
--type common-token-transfer \
--chains base \
--events sell \
--subject address:0xYourWallet \
--token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913:base \
--telegram 5238612255
--usd-min <amount> to suppress dust fills.--description '<limit price / venue / notes>' so the alert records intent.buy/sell, a narrow alert may miss it. Only widen to
--events buy,receive or --events sell,send if the user accepts broader
matching and the risk of unrelated matches.For Solana native limit orders, a companion common-token-transfer alert on
the settlement wallet is optional but useful. It is a settlement
confirmation, not a price trigger. The limit order itself handles the price
trigger; the alert fires when the bought token actually arrives in the wallet
(or, for sells, when the sold token leaves) — proof the on-chain fill landed,
delivered via Telegram/webhook independently of trade limit-order list
polling.
Some venues route fills through programs that the alerting backend may not
classify as buy/sell, so this is still a best-effort settlement signal,
not authoritative fill detection. Pair with the same common-token-transfer
alert shape shown above.
When suggesting a companion alert, be explicit that two different mechanisms are at work — users routinely conflate them:
Suggested phrasing: "When your order fills and the token arrives in your wallet, you'll get a Telegram ping. The price trigger is handled by the limit order itself — the alert just confirms the fill landed."
Avoid wording that implies the alert "triggers" the order or that the alert itself watches price. It does neither.
hyperevm, BSC = bnb.$ or special characters.nansen-trading skill.nansen-alerts-webhook-listener.