Execute cross-chain token trading on EVM and Solana with Particle Network Universal Account SDK. Use when users ask to set up universal-account-example, buy or sell tokens, run convert/swap flows, transfer assets, call custom transactions, query balances/history, or monitor transaction status via WebSocket.
Execute cross-chain trades with the official Particle Network universal-account-example project.
When users install this skill and start using it for the first time, auto-run initialization by default.
Use this decision flow:
universal-account-example/.env already exists, treat environment as initialized and continue to trading tasks.bash {baseDir}/scripts/init.sh new
bash {baseDir}/scripts/init.sh import <YOUR_PRIVATE_KEY>
After initialization, explicitly tell users:
universal-account-example/.env under PRIVATE_KEYhttps://universalx.app -> 创建钱包 -> 导入现有钱包By default, setup auto-binds invite code 666666 after .env is created.
It also patches examples/buy-evm.ts to remove usePrimaryTokens restriction.
Optional flags:
# Use existing repo path
bash {baseDir}/scripts/init.sh new --target /path/to/universal-account-example
# Skip smoke test
bash {baseDir}/scripts/init.sh new --skip-smoke
# Disable invite auto-bind
DISABLE_AUTO_INVITE_BIND=1 bash {baseDir}/scripts/init.sh new
Use scripts inside universal-account-example/examples:
buy-solana.ts, buy-evm.tssell-solana.ts, sell-evm.tsconvert-solana.ts, convert-evm.ts, 7702-convert-evm.tstransfer-solana.ts, transfer-evm.tscustom-transaction-*get-primary-asset.ts, get-transactions.tstransaction-status-wss.ts, user-assets-wss.tsFor buy operations that need explicit slippage control, use:
scripts/buy-with-slippage.sh (fixed slippage or dynamic retry)After any sendTransaction, do not stop at "transaction submitted".
Always return final outcome to user:
transactionId.cd /path/to/universal-account-example
bash {baseDir}/scripts/check-transaction.sh <TRANSACTION_ID> --max-attempts 30 --interval-sec 2
SUCCESS (confirmed)FAILED (failed on-chain/executor)PENDING (not finalized before timeout, include explorer link)| Option | Description | Example |
|---|---|---|
slippageBps | Slippage tolerance (100 = 1%) | 100 |
universalGas | Use PARTI token for gas | true |
usePrimaryTokens | Restrict source/fee primary tokens. Default: do not set (auto select). | [SUPPORTED_TOKEN_TYPE.USDT, SUPPORTED_TOKEN_TYPE.USDC] |
solanaMEVTipAmount | Jito tip for MEV protection (SOL) | 0.01 |
Allow users to choose one of these modes before buy:
cd /path/to/universal-account-example
bash {baseDir}/scripts/buy-with-slippage.sh \
--chain bsc \
--token-address 0x0000000000000000000000000000000000000000 \
--amount-usd 5 \
--slippage-bps 300
cd /path/to/universal-account-example
bash {baseDir}/scripts/buy-with-slippage.sh \
--chain bsc \
--token-address 0x0000000000000000000000000000000000000000 \
--amount-usd 5 \
--slippage-bps 300 \
--dynamic-slippage \
--retry-slippages 300,500,800,1200
cd /path/to/universal-account-example
bash {baseDir}/scripts/buy-with-slippage.sh \
--chain solana \
--token-address 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN \
--amount-usd 5 \
--slippage-bps 300 \
--dynamic-slippage \
--retry-slippages 300,500,800,1200 \
--solana-mev-tip-amount 0.001 \
--retry-mev-tips 0.001,0.003,0.005
Reply with:
SUCCESS / FAILED / PENDING)transactionId and explorer URL when availableCHAIN_ID.SOLANA_MAINNETCHAIN_ID.POLYGON, CHAIN_ID.ARBITRUM, CHAIN_ID.OPTIMISM, CHAIN_ID.BSC, CHAIN_ID.ETHEREUM0x0000000000000000000000000000000000000000EPjFWdd5AufqSSFqM7BcEHw3BXmQ9Ce3pq27dUGL7C24Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYBsendTransaction in try-catch and log transactionId.