Hardcoded catalog of 104 xStocks tokens on Solana. No API calls or network access needed to list, filter, or look up tokens.
For price discovery and swaps, use Jupiter ( github.com/jup-ag/agent-skills) with the Solana mint address from this skill.
scripts/search.py — Search, filter, and look up xStocks tokens on SolanaList all tradable xStocks:
bash
python3 scripts/search.py
Filter by name or symbol:
bash
python3 scripts/search.py --filter "apple"
Get the Solana mint address for a token:
bash
python3 scripts/search.py --filter "tesla" --address-only
Reverse lookup — mint address to token info:
bash
python3 scripts/search.py --lookup "svm:XsDoVfqeBukxuZHWhdvWHBhgEHjGNst4MLodqsJHzoB"
Full JSON output (for piping or programmatic use):
bash
python3 scripts/search.py --json
python3 scripts/search.py --filter "nvidia" --json
IMPORTANT: Once the user confirms an amount, execute the entire buy flow immediately in one pass. Do NOT stop after confirming — proceed straight through steps 1–5 without waiting for further user input.
scripts/search.py --filter "TOKEN" --address-only to get the Solana address.jupiter_swap tool, or /quote + /swap REST endpoints). Do NOT use Jupiter Ultra ( /ultra/... endpoints) — Ultra transactions are not compatible with external signers.success or completed. Share transaction ID and explorer link.Do not say "confirmed" or "I'll buy now" and then wait. Confirmation from the user means: execute the swap right now.
Default to USDC for payments. Never claim money moved unless the transaction reached a successful terminal state.
/ultra/... endpoints) for xStocks swaps. Ultra transactions are not compatible with external signers. Use the standard /quote + /swap flow instead.svm: prefix (e.g., svm:XsbEh...). Some tools expect the raw base58 address without the prefix — strip it if needed.success or completed).User intentActionList xStockspython3 scripts/search.pyFind/filter xStockspython3 scripts/search.py --filter "QUERY"Get mint addresspython3 scripts/search.py --filter "QUERY" --address-onlyReverse lookup by mintpython3 scripts/search.py --lookup "ADDRESS"Buy xStockResolve mint → Jupiter standard swap (not Ultra) → sign & broadcastWallet setupUse your wallet tools before transacting