$ -weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "amount": "1000000000", "gasCondition": { "maxPriorityFee": "0.000001", "timeout": 300 } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "amount": "1000000000", "gasCondition": { "maxPriorityFee": "0.000001", "timeout": 300 } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/jupiter-swap/swap \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "inputMint": "So11111111111111111111111111111111111111112", "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "amount": "1000000000", "gasCondition": { "maxPriorityFee": "0.000001", "timeout": 300 } }'
# Open short position on Drift to hedge long spot exposure
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/drift/open-position \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "market": "SOL-PERP", "side": "SHORT", "size": "10", "leverage": "5x", "orderType": "MARKET" }'
# Open short position on Drift to hedge long spot exposure
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/drift/open-position \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "market": "SOL-PERP", "side": "SHORT", "size": "10", "leverage": "5x", "orderType": "MARKET" }'
# Open short position on Drift to hedge long spot exposure
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/drift/open-position \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "market": "SOL-PERP", "side": "SHORT", "size": "10", "leverage": "5x", "orderType": "MARKET" }'
# Execute on specific sub-account for strategy isolation
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/hyperliquid/trade \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "subAccount": "strategy-a", "market": "ETH-USD", "side": "BUY", "quantity": "1.5", "orderType": "LIMIT", "price": "2450" }'
# Execute on specific sub-account for strategy isolation
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/hyperliquid/trade \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "subAccount": "strategy-a", "market": "ETH-USD", "side": "BUY", "quantity": "1.5", "orderType": "LIMIT", "price": "2450" }'
# Execute on specific sub-account for strategy isolation
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/actions/hyperliquid/trade \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "subAccount": "strategy-a", "market": "ETH-USD", "side": "BUY", "quantity": "1.5", "orderType": "LIMIT", "price": "2450" }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "PERP_MAX_POSITION_USD", "rules": { "maxPositionUsd": 50000, "markets": ["ETH-USD", "BTC-USD", "SOL-USD"] } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "PERP_MAX_POSITION_USD", "rules": { "maxPositionUsd": 50000, "markets": ["ETH-USD", "BTC-USD", "SOL-USD"] } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "PERP_MAX_POSITION_USD", "rules": { "maxPositionUsd": 50000, "markets": ["ETH-USD", "BTC-USD", "SOL-USD"] } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "RATE_LIMIT", "rules": { "maxTransactions": 1000, "period": "hourly" } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "RATE_LIMIT", "rules": { "maxTransactions": 1000, "period": "hourly" } }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: my-secret-password" \ -d '{ "walletId": "<wallet-uuid>", "type": "RATE_LIMIT", "rules": { "maxTransactions": 1000, "period": "hourly" } }'
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: process.env.WAIAAS_SESSION_TOKEN,
}); // Step 1: Execute spot buy on Solana via Jupiter
const jupiterSwap = await client.executeAction('jupiter-swap', { inputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC outputMint: 'So11111111111111111111111111111111111111112', // SOL amount: '1000000000' // 1000 USDC
}); // Step 2: Bridge to Ethereum via LI.FI
const bridge = await client.executeAction('lifi', { fromChain: 'solana', toChain: 'ethereum', fromToken: 'SOL', toToken: 'ETH', amount: jupiterSwap.outputAmount
}); // Step 3: Sell on Ethereum via 0x
const zeroXSwap = await client.executeAction('zerox-swap', { sellToken: 'ETH', buyToken: 'USDC', sellAmount: bridge.outputAmount
});
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: process.env.WAIAAS_SESSION_TOKEN,
}); // Step 1: Execute spot buy on Solana via Jupiter
const jupiterSwap = await client.executeAction('jupiter-swap', { inputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC outputMint: 'So11111111111111111111111111111111111111112', // SOL amount: '1000000000' // 1000 USDC
}); // Step 2: Bridge to Ethereum via LI.FI
const bridge = await client.executeAction('lifi', { fromChain: 'solana', toChain: 'ethereum', fromToken: 'SOL', toToken: 'ETH', amount: jupiterSwap.outputAmount
}); // Step 3: Sell on Ethereum via 0x
const zeroXSwap = await client.executeAction('zerox-swap', { sellToken: 'ETH', buyToken: 'USDC', sellAmount: bridge.outputAmount
});
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: process.env.WAIAAS_SESSION_TOKEN,
}); // Step 1: Execute spot buy on Solana via Jupiter
const jupiterSwap = await client.executeAction('jupiter-swap', { inputMint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC outputMint: 'So11111111111111111111111111111111111111112', // SOL amount: '1000000000' // 1000 USDC
}); // Step 2: Bridge to Ethereum via LI.FI
const bridge = await client.executeAction('lifi', { fromChain: 'solana', toChain: 'ethereum', fromToken: 'SOL', toToken: 'ETH', amount: jupiterSwap.outputAmount
}); // Step 3: Sell on Ethereum via 0x
const zeroXSwap = await client.executeAction('zerox-swap', { sellToken: 'ETH', buyToken: 'USDC', sellAmount: bridge.outputAmount
});
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/transactions/send \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "type": "TRANSFER", "to": "recipient-address", "amount": "0.1", "dryRun": true }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/transactions/send \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "type": "TRANSFER", "to": "recipient-address", "amount": "0.1", "dryRun": true }'
-weight: 500;">curl -X POST http://127.0.0.1:3100/v1/transactions/send \ -H "Content-Type: application/json" \ -H "Authorization: Bearer wai_sess_<token>" \ -d '{ "type": "TRANSFER", "to": "recipient-address", "amount": "0.1", "dryRun": true }'
-weight: 500;">git clone https://github.com/minhoyoo-iotrust/WAIaaS.-weight: 500;">git cd WAIaaS -weight: 500;">docker compose up -d
-weight: 500;">git clone https://github.com/minhoyoo-iotrust/WAIaaS.-weight: 500;">git cd WAIaaS -weight: 500;">docker compose up -d
-weight: 500;">git clone https://github.com/minhoyoo-iotrust/WAIaaS.-weight: 500;">git cd WAIaaS -weight: 500;">docker compose up -d
# Install CLI -weight: 500;">npm -weight: 500;">install -g @waiaas/cli # Create Solana wallet for DEX trading waiaas wallet create --name solana-trading --chain solana --environment mainnet # Create Ethereum wallet for perpetuals waiaas wallet create --name eth-trading --chain evm --environment ethereum-mainnet
# Install CLI -weight: 500;">npm -weight: 500;">install -g @waiaas/cli # Create Solana wallet for DEX trading waiaas wallet create --name solana-trading --chain solana --environment mainnet # Create Ethereum wallet for perpetuals waiaas wallet create --name eth-trading --chain evm --environment ethereum-mainnet
# Install CLI -weight: 500;">npm -weight: 500;">install -g @waiaas/cli # Create Solana wallet for DEX trading waiaas wallet create --name solana-trading --chain solana --environment mainnet # Create Ethereum wallet for perpetuals waiaas wallet create --name eth-trading --chain evm --environment ethereum-mainnet
# Spending limits for automated trading -weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: <password>" \ -d '{ "walletId": "<wallet-uuid>", "type": "SPENDING_LIMIT", "rules": { "instant_max_usd": 1000, "daily_limit_usd": 10000 } }'
# Spending limits for automated trading -weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: <password>" \ -d '{ "walletId": "<wallet-uuid>", "type": "SPENDING_LIMIT", "rules": { "instant_max_usd": 1000, "daily_limit_usd": 10000 } }'
# Spending limits for automated trading -weight: 500;">curl -X POST http://127.0.0.1:3100/v1/policies \ -H "Content-Type: application/json" \ -H "X-Master-Password: <password>" \ -d '{ "walletId": "<wallet-uuid>", "type": "SPENDING_LIMIT", "rules": { "instant_max_usd": 1000, "daily_limit_usd": 10000 } }'
waiaas session create --wallet-id <uuid> # Returns: wai_sess_<token>
waiaas session create --wallet-id <uuid> # Returns: wai_sess_<token>
waiaas session create --wallet-id <uuid> # Returns: wai_sess_<token>
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: 'wai_sess_<your-token>', }); // Your trading logic here const balance = await client.getBalance(); console.log(`Available: ${balance.balance} ${balance.symbol}`);
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: 'wai_sess_<your-token>', }); // Your trading logic here const balance = await client.getBalance(); console.log(`Available: ${balance.balance} ${balance.symbol}`);
import { WAIaaSClient } from '@waiaas/sdk'; const client = new WAIaaSClient({ baseUrl: 'http://127.0.0.1:3100', sessionToken: 'wai_sess_<your-token>', }); // Your trading logic here const balance = await client.getBalance(); console.log(`Available: ${balance.balance} ${balance.symbol}`); - Separate wallet infrastructure for each chain
- Gas price monitoring and optimization
- Transaction sequencing and failure handling
- Risk controls to prevent runaway losses
- Real-time position tracking across protocols - Deploy via Docker: - Create trading wallets: - Set up risk policies: - Create session for your bot: - Start trading with the SDK: