@waiaas/skills 2.10.0-rc.8 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/skills/actions.skill.md +217 -7
- package/skills/admin.skill.md +34 -2
- package/skills/erc8004.skill.md +1 -1
- package/skills/erc8128.skill.md +1 -1
- package/skills/nft.skill.md +1 -1
- package/skills/policies.skill.md +1 -1
- package/skills/polymarket.skill.md +343 -0
- package/skills/quickstart.skill.md +1 -1
- package/skills/session-recovery.skill.md +1 -1
- package/skills/setup.skill.md +1 -1
- package/skills/transactions.skill.md +253 -3
- package/skills/wallet.skill.md +35 -1
- package/skills/x402.skill.md +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@waiaas/core)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
|
-
[](#)
|
|
9
9
|
|
|
10
10
|
A self-hosted wallet daemon that lets AI agents perform on-chain transactions securely -- while the owner keeps full control of funds.
|
|
11
11
|
|
package/package.json
CHANGED
package/skills/actions.skill.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: "WAIaaS Actions"
|
|
3
3
|
description: "Action Provider framework: list providers, execute DeFi actions through the 6-stage transaction pipeline"
|
|
4
4
|
category: "api"
|
|
5
|
-
tags: [wallet, blockchain, defi, actions, waiass, jupiter, 0x, swap, lifi, bridge, cross-chain, lido, jito, staking, liquid-staking, pendle, yield, pt, yt, drift, perp, perpetual, leverage, futures]
|
|
6
|
-
version: "2.10.0
|
|
5
|
+
tags: [wallet, blockchain, defi, actions, waiass, jupiter, 0x, swap, lifi, bridge, cross-chain, lido, jito, staking, liquid-staking, pendle, yield, pt, yt, drift, perp, perpetual, leverage, futures, dcent-swap, dcent, aggregator, across, across-bridge, polymarket, prediction-market, clob, ctf]
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -1589,7 +1589,216 @@ The ERC-8004 provider enables on-chain agent identity registration, reputation m
|
|
|
1589
1589
|
|
|
1590
1590
|
For full action documentation, input schemas, SDK methods, and MCP tools, see **erc8004.skill.md**.
|
|
1591
1591
|
|
|
1592
|
-
## 13.
|
|
1592
|
+
## 13. D'CENT Swap Aggregator -- Built-in Provider (Multi-Chain)
|
|
1593
|
+
|
|
1594
|
+
D'CENT Swap Aggregator aggregates multiple DEX providers to offer optimal swap routes across EVM chains and Solana. Supports same-chain DEX swaps (approve+txdata BATCH), cross-chain swaps (`cross_swap` providerType), and 2-hop auto-routing fallback when direct routes are unavailable.
|
|
1595
|
+
|
|
1596
|
+
- **Provider name:** `dcent_swap`
|
|
1597
|
+
- **Chains:** ethereum, solana (multi-chain via provider network)
|
|
1598
|
+
- **Requires API key:** No
|
|
1599
|
+
- **Feature gate:** `actions.dcent_swap_enabled` (default: true)
|
|
1600
|
+
- **Aggregated providers:** 1inch, SushiSwap, Uniswap Labs, SwapScanner, Rubic, ButterSwap, LI.FI
|
|
1601
|
+
- **Provider types:** `swap` (same-chain DEX), `cross_swap` (cross-chain DEX)
|
|
1602
|
+
|
|
1603
|
+
### Actions (2)
|
|
1604
|
+
|
|
1605
|
+
| Action | Description | Tier | Risk |
|
|
1606
|
+
|--------|-------------|------|------|
|
|
1607
|
+
| `get_quotes` | Get swap quotes with provider comparison — supports same-chain and cross-chain swaps (informational) | INSTANT | low |
|
|
1608
|
+
| `dex_swap` | Execute DEX swap — supports same-chain and cross-chain swaps (approve+txdata BATCH for ERC-20, single CONTRACT_CALL for native) | DELAY | high |
|
|
1609
|
+
|
|
1610
|
+
### Admin Settings Keys (5)
|
|
1611
|
+
|
|
1612
|
+
| Key | Default | Description |
|
|
1613
|
+
|-----|---------|-------------|
|
|
1614
|
+
| `actions.dcent_swap_enabled` | `true` | Enable/disable D'CENT Swap Aggregator |
|
|
1615
|
+
| `actions.dcent_swap_api_url` | `https://agent-swap.dcentwallet.com` | D'CENT Swap API base URL |
|
|
1616
|
+
| `actions.dcent_swap_default_slippage_bps` | `100` | Default slippage (1%) |
|
|
1617
|
+
| `actions.dcent_swap_max_slippage_bps` | `500` | Maximum slippage (5%) |
|
|
1618
|
+
| `actions.dcent_swap_currency_cache_ttl_ms` | `86400000` | Currency list cache TTL (24h) |
|
|
1619
|
+
|
|
1620
|
+
### Example: Get Quotes
|
|
1621
|
+
|
|
1622
|
+
```bash
|
|
1623
|
+
curl -s -X POST http://localhost:3100/v1/actions/dcent_swap/get_quotes \
|
|
1624
|
+
-H 'Content-Type: application/json' \
|
|
1625
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1626
|
+
-d '{
|
|
1627
|
+
"params": {
|
|
1628
|
+
"fromAsset": "eip155:1/slip44:60",
|
|
1629
|
+
"toAsset": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
1630
|
+
"amount": "1000000000000000000",
|
|
1631
|
+
"fromDecimals": 18,
|
|
1632
|
+
"toDecimals": 6
|
|
1633
|
+
},
|
|
1634
|
+
"network": "ethereum-mainnet"
|
|
1635
|
+
}'
|
|
1636
|
+
```
|
|
1637
|
+
|
|
1638
|
+
### Example: DEX Swap
|
|
1639
|
+
|
|
1640
|
+
```bash
|
|
1641
|
+
curl -s -X POST http://localhost:3100/v1/actions/dcent_swap/dex_swap \
|
|
1642
|
+
-H 'Content-Type: application/json' \
|
|
1643
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1644
|
+
-d '{
|
|
1645
|
+
"params": {
|
|
1646
|
+
"fromAsset": "eip155:1/slip44:60",
|
|
1647
|
+
"toAsset": "eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
1648
|
+
"amount": "1000000000000000000",
|
|
1649
|
+
"fromDecimals": 18,
|
|
1650
|
+
"toDecimals": 6,
|
|
1651
|
+
"slippageBps": 100
|
|
1652
|
+
},
|
|
1653
|
+
"network": "ethereum-mainnet"
|
|
1654
|
+
}'
|
|
1655
|
+
```
|
|
1656
|
+
|
|
1657
|
+
### Policy Interaction
|
|
1658
|
+
|
|
1659
|
+
- **DEX Swap (dex_swap):** Resolves to CONTRACT_CALL targeting DEX router address. Subject to CONTRACT_WHITELIST (provider-trust bypass applies when enabled), ALLOWED_TOKENS, APPROVED_SPENDERS, and SPENDING_LIMIT policies.
|
|
1660
|
+
- **2-hop auto-routing:** When direct route unavailable (`fail_no_available_provider`), attempts intermediate token (ETH/USDC/USDT) routing. Multi-step BATCH with cumulative fee/slippage calculation.
|
|
1661
|
+
|
|
1662
|
+
### SDK Methods
|
|
1663
|
+
|
|
1664
|
+
```typescript
|
|
1665
|
+
const quotes = await client.getDcentQuotes({ fromAsset, toAsset, amount, fromDecimals, toDecimals, network });
|
|
1666
|
+
const swap = await client.dcentDexSwap({ fromAsset, toAsset, amount, fromDecimals, toDecimals, network });
|
|
1667
|
+
```
|
|
1668
|
+
|
|
1669
|
+
### MCP Tools
|
|
1670
|
+
|
|
1671
|
+
- `action_dcent_swap_get_quotes` -- Get swap quotes from D'CENT Swap Aggregator
|
|
1672
|
+
- `action_dcent_swap_dex_swap` -- Execute DEX swap via D'CENT Swap Aggregator
|
|
1673
|
+
|
|
1674
|
+
## 14. Across Bridge -- Built-in Provider (EVM)
|
|
1675
|
+
|
|
1676
|
+
Intent-based cross-chain bridge with fast relayer fills (2-10 seconds). Supports Ethereum, Arbitrum, Optimism, Base, Polygon, Linea.
|
|
1677
|
+
|
|
1678
|
+
### Prerequisites (Admin)
|
|
1679
|
+
- Enable via Admin Settings: `actions.across_bridge_enabled = true`
|
|
1680
|
+
- Add SpokePool addresses to CONTRACT_WHITELIST for each chain (or rely on provider-trust bypass)
|
|
1681
|
+
|
|
1682
|
+
### Admin Settings
|
|
1683
|
+
|
|
1684
|
+
| Key | Default | Description |
|
|
1685
|
+
|-----|---------|-------------|
|
|
1686
|
+
| `actions.across_bridge_enabled` | `false` | Enable Across Bridge |
|
|
1687
|
+
| `actions.across_bridge_api_base_url` | `https://app.across.to/api` | API base URL |
|
|
1688
|
+
| `actions.across_bridge_integrator_id` | (empty) | Integrator ID |
|
|
1689
|
+
| `actions.across_bridge_fill_deadline_buffer_sec` | `21600` | Fill deadline buffer (6h) |
|
|
1690
|
+
| `actions.across_bridge_default_slippage_pct` | `0.01` | Default slippage (1%) |
|
|
1691
|
+
| `actions.across_bridge_max_slippage_pct` | `0.03` | Max slippage (3%) |
|
|
1692
|
+
| `actions.across_bridge_request_timeout_ms` | `10000` | Request timeout (ms) |
|
|
1693
|
+
|
|
1694
|
+
### Available Actions
|
|
1695
|
+
|
|
1696
|
+
#### across_bridge / quote -- Get Bridge Quote
|
|
1697
|
+
|
|
1698
|
+
```bash
|
|
1699
|
+
curl -s -X POST http://localhost:3100/v1/actions/across_bridge/quote \
|
|
1700
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1701
|
+
-H 'Content-Type: application/json' \
|
|
1702
|
+
-d '{"params":{"fromChain":"ethereum","toChain":"arbitrum","inputToken":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","outputToken":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","amount":"1000000000"}}'
|
|
1703
|
+
```
|
|
1704
|
+
|
|
1705
|
+
Returns: inputAmount, outputAmount, totalFee, feeBreakdown (lpFee, relayerCapitalFee, relayerGasFee), estimatedFillTimeSec, limits.
|
|
1706
|
+
|
|
1707
|
+
#### across_bridge / execute -- Execute Cross-chain Bridge
|
|
1708
|
+
|
|
1709
|
+
```bash
|
|
1710
|
+
curl -s -X POST http://localhost:3100/v1/actions/across_bridge/execute \
|
|
1711
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1712
|
+
-H 'Content-Type: application/json' \
|
|
1713
|
+
-d '{"params":{"fromChain":"ethereum","toChain":"arbitrum","inputToken":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","outputToken":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","amount":"1000000000"}}'
|
|
1714
|
+
```
|
|
1715
|
+
|
|
1716
|
+
Executes approve+depositV3 BATCH (ERC-20) or single depositV3 with msg.value (native ETH). Bridge status tracked automatically via 2-phase polling.
|
|
1717
|
+
|
|
1718
|
+
#### across_bridge / status -- Check Bridge Status
|
|
1719
|
+
|
|
1720
|
+
```bash
|
|
1721
|
+
curl -s -X POST http://localhost:3100/v1/actions/across_bridge/status \
|
|
1722
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1723
|
+
-H 'Content-Type: application/json' \
|
|
1724
|
+
-d '{"params":{"depositTxHash":"0xabc..."}}'
|
|
1725
|
+
```
|
|
1726
|
+
|
|
1727
|
+
Returns: status (filled/pending/expired/refunded), fillTxHash, depositId.
|
|
1728
|
+
|
|
1729
|
+
#### across_bridge / routes -- List Available Routes
|
|
1730
|
+
|
|
1731
|
+
```bash
|
|
1732
|
+
curl -s -X POST http://localhost:3100/v1/actions/across_bridge/routes \
|
|
1733
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1734
|
+
-H 'Content-Type: application/json' \
|
|
1735
|
+
-d '{"params":{}}'
|
|
1736
|
+
```
|
|
1737
|
+
|
|
1738
|
+
Returns supported chain/token route combinations.
|
|
1739
|
+
|
|
1740
|
+
### MCP Tools (auto-registered)
|
|
1741
|
+
|
|
1742
|
+
- `action_across_bridge_quote` -- Get Across bridge quote
|
|
1743
|
+
- `action_across_bridge_execute` -- Execute cross-chain bridge
|
|
1744
|
+
- `action_across_bridge_status` -- Check bridge deposit status
|
|
1745
|
+
- `action_across_bridge_routes` -- List available routes
|
|
1746
|
+
|
|
1747
|
+
## 15. Polymarket Prediction Market
|
|
1748
|
+
|
|
1749
|
+
Polymarket trades on Polygon using CLOB off-chain orders and CTF on-chain settlement. Two providers: `polymarket_order` (CLOB) and `polymarket_ctf` (on-chain). Requires Polygon wallet.
|
|
1750
|
+
|
|
1751
|
+
### Setup
|
|
1752
|
+
|
|
1753
|
+
```bash
|
|
1754
|
+
curl -s -X POST http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/setup \
|
|
1755
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
1756
|
+
```
|
|
1757
|
+
|
|
1758
|
+
### CLOB Trading Actions (polymarket_order)
|
|
1759
|
+
|
|
1760
|
+
| Action | Tier | Description |
|
|
1761
|
+
|--------|------|-------------|
|
|
1762
|
+
| `pm_buy` | APPROVAL | Buy outcome tokens |
|
|
1763
|
+
| `pm_sell` | DELAY | Sell outcome tokens |
|
|
1764
|
+
| `pm_cancel_order` | INSTANT | Cancel order by ID |
|
|
1765
|
+
| `pm_cancel_all` | INSTANT | Cancel all orders |
|
|
1766
|
+
| `pm_update_order` | DELAY | Update order (cancel+replace) |
|
|
1767
|
+
|
|
1768
|
+
### CTF On-chain Actions (polymarket_ctf)
|
|
1769
|
+
|
|
1770
|
+
| Action | Tier | Description |
|
|
1771
|
+
|--------|------|-------------|
|
|
1772
|
+
| `pm_split_position` | DELAY | Split USDC to outcome tokens |
|
|
1773
|
+
| `pm_merge_positions` | DELAY | Merge outcome tokens to USDC |
|
|
1774
|
+
| `pm_redeem_positions` | INSTANT | Redeem winning tokens |
|
|
1775
|
+
| `pm_approve_collateral` | INSTANT | Approve USDC.e for CTF |
|
|
1776
|
+
| `pm_approve_ctf` | INSTANT | Approve CTF ERC-1155 tokens |
|
|
1777
|
+
|
|
1778
|
+
### Admin Settings
|
|
1779
|
+
|
|
1780
|
+
| Key | Default | Description |
|
|
1781
|
+
|-----|---------|-------------|
|
|
1782
|
+
| `actions.polymarket_enabled` | `false` | Enable Polymarket |
|
|
1783
|
+
| `actions.polymarket_default_fee_bps` | `0` | Default fee (bps) |
|
|
1784
|
+
| `actions.polymarket_order_expiry_seconds` | `86400` | Order expiry |
|
|
1785
|
+
| `actions.polymarket_max_position_usdc` | `1000` | Max position USDC |
|
|
1786
|
+
| `actions.polymarket_proxy_wallet` | `false` | Proxy wallet mode |
|
|
1787
|
+
| `actions.polymarket_neg_risk_enabled` | `true` | Neg risk routing |
|
|
1788
|
+
| `actions.polymarket_auto_approve_ctf` | `true` | Auto approve CTF |
|
|
1789
|
+
|
|
1790
|
+
### Example: Buy on Prediction Market
|
|
1791
|
+
|
|
1792
|
+
```bash
|
|
1793
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_buy \
|
|
1794
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
1795
|
+
-H 'Content-Type: application/json' \
|
|
1796
|
+
-d '{"walletId":"WALLET_ID","params":{"tokenId":"TOKEN_ID","price":"0.65","size":"100"}}'
|
|
1797
|
+
```
|
|
1798
|
+
|
|
1799
|
+
See **polymarket.skill.md** for full reference.
|
|
1800
|
+
|
|
1801
|
+
## 16. Policy Integration
|
|
1593
1802
|
|
|
1594
1803
|
### CONTRACT_WHITELIST
|
|
1595
1804
|
|
|
@@ -1616,7 +1825,7 @@ The swap/bridge input amount is converted to USD via IPriceOracle and evaluated
|
|
|
1616
1825
|
|
|
1617
1826
|
**LI.FI bridge reservation lifecycle:** Bridge amounts are reserved against the spending limit when the transaction is submitted. The reservation is released on terminal states (COMPLETED, FAILED, REFUNDED) but **held** on TIMEOUT to prevent double-spend during manual resolution. This means the spending budget is not freed until the bridge completes or fails definitively.
|
|
1618
1827
|
|
|
1619
|
-
##
|
|
1828
|
+
## 17. Configuration via Admin Settings
|
|
1620
1829
|
|
|
1621
1830
|
Since v28.2, all action provider settings are managed via **Admin UI > DeFi (`#/defi`)** for DeFi providers and **Admin UI > Agent Identity (`#/agent-identity`)** for ERC-8004 (not config.toml). The Admin Settings UI provides:
|
|
1622
1831
|
|
|
@@ -1656,7 +1865,7 @@ Operators can override the default security tier for individual actions. This al
|
|
|
1656
1865
|
|
|
1657
1866
|
**Cross-reference:** Policy tier escalation rules apply on top of action tier. See **policies.skill.md** Section 3.
|
|
1658
1867
|
|
|
1659
|
-
##
|
|
1868
|
+
## 18. Error Reference
|
|
1660
1869
|
|
|
1661
1870
|
| Code | HTTP | Description | Recovery |
|
|
1662
1871
|
|------|------|-------------|----------|
|
|
@@ -1672,7 +1881,7 @@ Operators can override the default security tier for individual actions. This al
|
|
|
1672
1881
|
| `INVALID_INSTRUCTION` | 400 | Chain not supported by LI.FI integration. | Use one of the supported chains: solana, ethereum, polygon, arbitrum, optimism, base. |
|
|
1673
1882
|
| `ACTION_API_ERROR` | 502 | LI.FI API returned an error. | Check LI.FI API status, verify parameters, retry. |
|
|
1674
1883
|
|
|
1675
|
-
##
|
|
1884
|
+
## 19. MCP Auto-Registration
|
|
1676
1885
|
|
|
1677
1886
|
When a provider has `mcpExpose: true` in its metadata, the MCP server automatically registers each action as an MCP tool using the naming convention:
|
|
1678
1887
|
|
|
@@ -1723,10 +1932,11 @@ MCP tool parameters:
|
|
|
1723
1932
|
- `network` (optional string): Target network
|
|
1724
1933
|
- `wallet_id` (optional string): Target wallet ID
|
|
1725
1934
|
|
|
1726
|
-
##
|
|
1935
|
+
## 20. Related Skill Files
|
|
1727
1936
|
|
|
1728
1937
|
- **admin.skill.md** -- API key management, Admin Settings, daemon admin
|
|
1729
1938
|
- **transactions.skill.md** -- 5-type transaction reference (actions execute as CONTRACT_CALL)
|
|
1730
1939
|
- **policies.skill.md** -- Policy management (CONTRACT_WHITELIST, SPENDING_LIMIT, REPUTATION_THRESHOLD)
|
|
1731
1940
|
- **wallet.skill.md** -- Wallet CRUD, sessions, assets
|
|
1732
1941
|
- **erc8004.skill.md** -- ERC-8004 trustless agent identity and reputation
|
|
1942
|
+
- **polymarket.skill.md** -- Polymarket prediction market trading (CLOB + CTF)
|
package/skills/admin.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS Admin"
|
|
|
3
3
|
description: "Admin API: daemon status, kill switch, notifications, settings management, JWT rotation, shutdown, oracle status, API key management, audit logs, backup, webhooks, stats, autostop"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, admin, security, oracle, defi, waiass, audit, backup, webhook, stats, autostop]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -1469,7 +1469,39 @@ Add a provider later with `PUT /v1/wallets/{id}/provider` to enable **Full mode*
|
|
|
1469
1469
|
|
|
1470
1470
|
In Admin UI, the wallet create form defaults to **None (Lite mode)** for the Provider dropdown. Lite/Full mode is shown as badges in the wallet list and detail pages.
|
|
1471
1471
|
|
|
1472
|
-
## 17.
|
|
1472
|
+
## 17. Hyperliquid Settings
|
|
1473
|
+
|
|
1474
|
+
Hyperliquid Perp Trading settings under the `actions` category:
|
|
1475
|
+
|
|
1476
|
+
| Key | Type | Default | Description |
|
|
1477
|
+
|-----|------|---------|-------------|
|
|
1478
|
+
| `actions.hyperliquid_enabled` | boolean | `false` | Enable Hyperliquid Perp trading |
|
|
1479
|
+
| `actions.hyperliquid_network` | string | `mainnet` | `mainnet` or `testnet` |
|
|
1480
|
+
| `actions.hyperliquid_api_url` | string | `` | Custom API URL (overrides network default) |
|
|
1481
|
+
| `actions.hyperliquid_rate_limit_weight_per_min` | number | `600` | Rate limit weight per minute (Hyperliquid max: 1200) |
|
|
1482
|
+
| `actions.hyperliquid_default_leverage` | number | `1` | Default leverage for new positions |
|
|
1483
|
+
| `actions.hyperliquid_default_margin_mode` | string | `CROSS` | Default margin mode: `CROSS` or `ISOLATED` |
|
|
1484
|
+
| `actions.hyperliquid_builder_address` | string | `` | Builder fee recipient address |
|
|
1485
|
+
| `actions.hyperliquid_builder_fee` | number | `0` | Builder fee in basis points |
|
|
1486
|
+
| `actions.hyperliquid_order_status_poll_interval_ms` | number | `2000` | Order status polling interval |
|
|
1487
|
+
|
|
1488
|
+
```bash
|
|
1489
|
+
# Enable Hyperliquid and set default leverage to 3x
|
|
1490
|
+
curl -X PUT http://localhost:3100/v1/admin/settings \
|
|
1491
|
+
-H "X-Master-Password: $PASS" \
|
|
1492
|
+
-H "Content-Type: application/json" \
|
|
1493
|
+
-d '{"settings":{"actions.hyperliquid_enabled":"true","actions.hyperliquid_default_leverage":"3"}}'
|
|
1494
|
+
|
|
1495
|
+
# Switch to testnet
|
|
1496
|
+
curl -X PUT http://localhost:3100/v1/admin/settings \
|
|
1497
|
+
-H "X-Master-Password: $PASS" \
|
|
1498
|
+
-H "Content-Type: application/json" \
|
|
1499
|
+
-d '{"settings":{"actions.hyperliquid_network":"testnet"}}'
|
|
1500
|
+
```
|
|
1501
|
+
|
|
1502
|
+
Admin UI: DeFi > Hyperliquid > Settings tab provides a form editor for all runtime keys.
|
|
1503
|
+
|
|
1504
|
+
## 18. Related Skill Files
|
|
1473
1505
|
|
|
1474
1506
|
- **actions.skill.md** -- Action Provider REST API (DeFi actions)
|
|
1475
1507
|
- **policies.skill.md** -- Policy management (14 policy types for transaction controls)
|
package/skills/erc8004.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS ERC-8004"
|
|
|
3
3
|
description: "ERC-8004 Trustless Agents: identity registration, reputation management, on-chain validation"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, erc-8004, identity, reputation, validation, trust, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
package/skills/erc8128.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS ERC-8128"
|
|
|
3
3
|
description: "ERC-8128 Signed HTTP Requests: RFC 9421 + EIP-191 signature for API authentication"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, erc-8128, signing, rfc9421, http, authentication, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
package/skills/nft.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS NFT Operations"
|
|
|
3
3
|
description: "NFT query, transfer, and approval operations for ERC-721, ERC-1155, and Metaplex standards"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, nft, erc721, erc1155, metaplex, solana, ethereum, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
package/skills/policies.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS Policies"
|
|
|
3
3
|
description: "Policy engine CRUD: 14 policy types for spending limits, whitelists, time restrictions, rate limits, token/contract/approve controls, network restrictions, x402 domain controls, ERC-8128 domain controls, reputation threshold"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, policies, security, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "WAIaaS Polymarket"
|
|
3
|
+
description: "Polymarket prediction market trading: CLOB off-chain orders, CTF on-chain settlement, market data, position tracking"
|
|
4
|
+
category: "api"
|
|
5
|
+
tags: [polymarket, prediction-market, clob, ctf, defi, polygon, usdc]
|
|
6
|
+
version: "2.10.0"
|
|
7
|
+
dispatch:
|
|
8
|
+
kind: "tool"
|
|
9
|
+
allowedCommands: ["curl"]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# WAIaaS Polymarket
|
|
13
|
+
|
|
14
|
+
Polymarket prediction market integration for AI agents. Trade on prediction markets using CLOB (Central Limit Order Book) off-chain orders and CTF (Conditional Token Framework) on-chain settlement. Runs exclusively on Polygon network using USDC.e as collateral.
|
|
15
|
+
|
|
16
|
+
> AI agents must NEVER request the master password. Use only your session token.
|
|
17
|
+
|
|
18
|
+
## Base URL / Authentication
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
http://localhost:3100
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
All endpoints require **sessionAuth** via `Authorization: Bearer <token>` header.
|
|
25
|
+
|
|
26
|
+
## Prerequisites
|
|
27
|
+
|
|
28
|
+
1. **Polygon wallet** -- Polymarket requires a wallet on `polygon-mainnet` network
|
|
29
|
+
2. **Polymarket enabled** -- Admin must set `actions.polymarket_enabled = true` in Admin Settings
|
|
30
|
+
3. **API keys** -- Run setup to create Polymarket CLOB API keys for the wallet
|
|
31
|
+
|
|
32
|
+
## 1. Setup
|
|
33
|
+
|
|
34
|
+
### POST /v1/wallets/{walletId}/polymarket/setup -- Create API Keys
|
|
35
|
+
|
|
36
|
+
Creates Polymarket CLOB API keys for the specified wallet. Required before placing orders.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
curl -s -X POST http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/setup \
|
|
40
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Response (200):**
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"setup": {
|
|
47
|
+
"created": true,
|
|
48
|
+
"apiKey": "...",
|
|
49
|
+
"walletId": "..."
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 2. CLOB Trading Actions (polymarket_order)
|
|
55
|
+
|
|
56
|
+
All CLOB actions are executed via the action provider framework. Orders are placed off-chain on the Polymarket CLOB.
|
|
57
|
+
|
|
58
|
+
### pm_buy -- Buy Outcome Tokens
|
|
59
|
+
|
|
60
|
+
**Default Tier:** APPROVAL (requires owner approval)
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_buy \
|
|
64
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
65
|
+
-H 'Content-Type: application/json' \
|
|
66
|
+
-d '{
|
|
67
|
+
"walletId": "WALLET_ID",
|
|
68
|
+
"params": {
|
|
69
|
+
"tokenId": "TOKEN_ID",
|
|
70
|
+
"price": "0.65",
|
|
71
|
+
"size": "100"
|
|
72
|
+
}
|
|
73
|
+
}'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
| Param | Type | Required | Description |
|
|
77
|
+
|-------|------|----------|-------------|
|
|
78
|
+
| `tokenId` | string | yes | Outcome token ID from market data |
|
|
79
|
+
| `price` | string | yes | Price per token (0-1 range, e.g. "0.65" = 65 cents) |
|
|
80
|
+
| `size` | string | yes | Number of tokens to buy |
|
|
81
|
+
| `feeRateBps` | number | no | Fee rate override (basis points) |
|
|
82
|
+
| `nonce` | string | no | Custom nonce |
|
|
83
|
+
| `expiration` | number | no | Custom expiry (unix timestamp) |
|
|
84
|
+
|
|
85
|
+
### pm_sell -- Sell Outcome Tokens
|
|
86
|
+
|
|
87
|
+
**Default Tier:** DELAY
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_sell \
|
|
91
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
92
|
+
-H 'Content-Type: application/json' \
|
|
93
|
+
-d '{
|
|
94
|
+
"walletId": "WALLET_ID",
|
|
95
|
+
"params": {
|
|
96
|
+
"tokenId": "TOKEN_ID",
|
|
97
|
+
"price": "0.70",
|
|
98
|
+
"size": "50"
|
|
99
|
+
}
|
|
100
|
+
}'
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Same params as pm_buy.
|
|
104
|
+
|
|
105
|
+
### pm_cancel_order -- Cancel Single Order
|
|
106
|
+
|
|
107
|
+
**Default Tier:** INSTANT
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_cancel_order \
|
|
111
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
112
|
+
-H 'Content-Type: application/json' \
|
|
113
|
+
-d '{
|
|
114
|
+
"walletId": "WALLET_ID",
|
|
115
|
+
"params": {
|
|
116
|
+
"orderId": "ORDER_ID"
|
|
117
|
+
}
|
|
118
|
+
}'
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### pm_cancel_all -- Cancel All Orders
|
|
122
|
+
|
|
123
|
+
**Default Tier:** INSTANT
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_cancel_all \
|
|
127
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
128
|
+
-H 'Content-Type: application/json' \
|
|
129
|
+
-d '{
|
|
130
|
+
"walletId": "WALLET_ID",
|
|
131
|
+
"params": {
|
|
132
|
+
"conditionId": "CONDITION_ID"
|
|
133
|
+
}
|
|
134
|
+
}'
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
| Param | Type | Required | Description |
|
|
138
|
+
|-------|------|----------|-------------|
|
|
139
|
+
| `conditionId` | string | no | Filter by market condition ID (omit for all) |
|
|
140
|
+
|
|
141
|
+
### pm_update_order -- Update Order
|
|
142
|
+
|
|
143
|
+
**Default Tier:** DELAY (cancel + replace)
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_order/pm_update_order \
|
|
147
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
148
|
+
-H 'Content-Type: application/json' \
|
|
149
|
+
-d '{
|
|
150
|
+
"walletId": "WALLET_ID",
|
|
151
|
+
"params": {
|
|
152
|
+
"tokenId": "TOKEN_ID",
|
|
153
|
+
"price": "0.70",
|
|
154
|
+
"size": "100",
|
|
155
|
+
"orderId": "EXISTING_ORDER_ID"
|
|
156
|
+
}
|
|
157
|
+
}'
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## 3. CTF On-chain Actions (polymarket_ctf)
|
|
161
|
+
|
|
162
|
+
CTF actions execute on-chain transactions on the Conditional Token Framework contracts.
|
|
163
|
+
|
|
164
|
+
### pm_split_position -- Split USDC to Outcome Tokens
|
|
165
|
+
|
|
166
|
+
**Default Tier:** DELAY
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_ctf/pm_split_position \
|
|
170
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
171
|
+
-H 'Content-Type: application/json' \
|
|
172
|
+
-d '{
|
|
173
|
+
"walletId": "WALLET_ID",
|
|
174
|
+
"params": {
|
|
175
|
+
"conditionId": "CONDITION_ID",
|
|
176
|
+
"amount": "100"
|
|
177
|
+
}
|
|
178
|
+
}'
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### pm_merge_positions -- Merge Outcome Tokens to USDC
|
|
182
|
+
|
|
183
|
+
**Default Tier:** DELAY
|
|
184
|
+
|
|
185
|
+
Same params as pm_split_position.
|
|
186
|
+
|
|
187
|
+
### pm_redeem_positions -- Redeem Winning Tokens
|
|
188
|
+
|
|
189
|
+
**Default Tier:** INSTANT (post-resolution, no risk)
|
|
190
|
+
|
|
191
|
+
```bash
|
|
192
|
+
curl -s -X POST http://localhost:3100/v1/actions/polymarket_ctf/pm_redeem_positions \
|
|
193
|
+
-H 'Authorization: Bearer wai_sess_eyJ...' \
|
|
194
|
+
-H 'Content-Type: application/json' \
|
|
195
|
+
-d '{
|
|
196
|
+
"walletId": "WALLET_ID",
|
|
197
|
+
"params": {
|
|
198
|
+
"conditionId": "CONDITION_ID"
|
|
199
|
+
}
|
|
200
|
+
}'
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### pm_approve_collateral -- Approve USDC.e for CTF
|
|
204
|
+
|
|
205
|
+
**Default Tier:** INSTANT
|
|
206
|
+
|
|
207
|
+
### pm_approve_ctf -- Approve CTF ERC-1155
|
|
208
|
+
|
|
209
|
+
**Default Tier:** INSTANT
|
|
210
|
+
|
|
211
|
+
## 4. Query Endpoints
|
|
212
|
+
|
|
213
|
+
### GET /v1/wallets/{walletId}/polymarket/positions -- List Positions
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
curl -s http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/positions \
|
|
217
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### GET /v1/wallets/{walletId}/polymarket/orders -- List Orders
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
curl -s "http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/orders?status=LIVE" \
|
|
224
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
| Param | Type | Description |
|
|
228
|
+
|-------|------|-------------|
|
|
229
|
+
| `status` | string | Filter: LIVE, MATCHED, CANCELLED |
|
|
230
|
+
|
|
231
|
+
### GET /v1/wallets/{walletId}/polymarket/balance -- Token Balance
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
curl -s http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/balance \
|
|
235
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### GET /v1/wallets/{walletId}/polymarket/pnl -- PnL Summary
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
curl -s http://localhost:3100/v1/wallets/${WALLET_ID}/polymarket/pnl \
|
|
242
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### GET /v1/polymarket/markets -- Browse Markets
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
curl -s "http://localhost:3100/v1/polymarket/markets?keyword=election&limit=10" \
|
|
249
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
| Param | Type | Description |
|
|
253
|
+
|-------|------|-------------|
|
|
254
|
+
| `keyword` | string | Search query |
|
|
255
|
+
| `category` | string | Category filter |
|
|
256
|
+
| `limit` | number | Max results |
|
|
257
|
+
|
|
258
|
+
### GET /v1/polymarket/markets/{conditionId} -- Market Detail
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
curl -s http://localhost:3100/v1/polymarket/markets/${CONDITION_ID} \
|
|
262
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### GET /v1/polymarket/events -- List Events
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
curl -s http://localhost:3100/v1/polymarket/events \
|
|
269
|
+
-H 'Authorization: Bearer wai_sess_eyJ...'
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## 5. Workflow Examples
|
|
273
|
+
|
|
274
|
+
### Workflow 1: Search Market and Buy
|
|
275
|
+
|
|
276
|
+
1. Search markets: `GET /v1/polymarket/markets?keyword=election`
|
|
277
|
+
2. Get market detail: `GET /v1/polymarket/markets/{conditionId}`
|
|
278
|
+
3. Setup (first time): `POST /v1/wallets/{id}/polymarket/setup`
|
|
279
|
+
4. Buy outcome tokens: `POST /v1/actions/polymarket_order/pm_buy`
|
|
280
|
+
5. Check position: `GET /v1/wallets/{id}/polymarket/positions`
|
|
281
|
+
|
|
282
|
+
### Workflow 2: Redeem Resolved Market
|
|
283
|
+
|
|
284
|
+
1. Check positions: `GET /v1/wallets/{id}/polymarket/positions`
|
|
285
|
+
2. Find resolved positions with `resolved: true`
|
|
286
|
+
3. Redeem: `POST /v1/actions/polymarket_ctf/pm_redeem_positions`
|
|
287
|
+
4. Verify balance: `GET /v1/wallets/{id}/polymarket/balance`
|
|
288
|
+
|
|
289
|
+
### Workflow 3: Position Management
|
|
290
|
+
|
|
291
|
+
1. View PnL: `GET /v1/wallets/{id}/polymarket/pnl`
|
|
292
|
+
2. Sell losing position: `POST /v1/actions/polymarket_order/pm_sell`
|
|
293
|
+
3. Cancel pending orders: `POST /v1/actions/polymarket_order/pm_cancel_all`
|
|
294
|
+
|
|
295
|
+
## 6. Admin Settings
|
|
296
|
+
|
|
297
|
+
| Key | Default | Description |
|
|
298
|
+
|-----|---------|-------------|
|
|
299
|
+
| `actions.polymarket_enabled` | `false` | Enable Polymarket integration |
|
|
300
|
+
| `actions.polymarket_default_fee_bps` | `0` | Default maker/taker fee (basis points) |
|
|
301
|
+
| `actions.polymarket_order_expiry_seconds` | `86400` | Order expiry (24h default) |
|
|
302
|
+
| `actions.polymarket_max_position_usdc` | `1000` | Max position size in USDC |
|
|
303
|
+
| `actions.polymarket_proxy_wallet` | `false` | Use proxy wallet for CLOB signing |
|
|
304
|
+
| `actions.polymarket_neg_risk_enabled` | `true` | Auto-route neg risk markets |
|
|
305
|
+
| `actions.polymarket_auto_approve_ctf` | `true` | Auto-approve CTF token allowances |
|
|
306
|
+
|
|
307
|
+
Admin UI: Navigate to `#/polymarket` > Settings tab.
|
|
308
|
+
|
|
309
|
+
## 7. MCP Tools
|
|
310
|
+
|
|
311
|
+
8 query tools registered in MCP server:
|
|
312
|
+
|
|
313
|
+
- `waiaas_pm_get_positions` -- Get wallet positions
|
|
314
|
+
- `waiaas_pm_get_orders` -- Get wallet orders
|
|
315
|
+
- `waiaas_pm_get_markets` -- Search/browse markets
|
|
316
|
+
- `waiaas_pm_get_market_detail` -- Get market detail by condition ID
|
|
317
|
+
- `waiaas_pm_get_events` -- List prediction events
|
|
318
|
+
- `waiaas_pm_get_balance` -- Get CTF token balance
|
|
319
|
+
- `waiaas_pm_get_pnl` -- Get PnL summary
|
|
320
|
+
- `waiaas_pm_setup` -- Create API keys for wallet
|
|
321
|
+
|
|
322
|
+
## 8. SDK Methods
|
|
323
|
+
|
|
324
|
+
15 convenience methods on WAIaaSClient:
|
|
325
|
+
|
|
326
|
+
**Actions:** `pmBuy`, `pmSell`, `pmCancelOrder`, `pmCancelAll`, `pmUpdateOrder`, `pmSplitPosition`, `pmMergePositions`, `pmRedeemPositions`
|
|
327
|
+
|
|
328
|
+
**Queries:** `pmGetPositions`, `pmGetOrders`, `pmGetMarkets`, `pmGetMarketDetail`, `pmGetBalance`, `pmGetPnl`, `pmSetup`
|
|
329
|
+
|
|
330
|
+
## 9. Notes
|
|
331
|
+
|
|
332
|
+
- **Polygon only** -- All Polymarket operations require a wallet on `polygon-mainnet`. Other networks will return INVALID_NETWORK error.
|
|
333
|
+
- **USDC.e collateral** -- Polymarket uses USDC.e (bridged USDC on Polygon) as collateral for all trades.
|
|
334
|
+
- **Neg Risk routing** -- Markets with neg risk flag are automatically routed to the NegRiskCTFExchange contract.
|
|
335
|
+
- **Spending limits** -- `pm_buy` spending (price * size in USDC) is evaluated against SPENDING_LIMIT policies. `pm_sell`, `pm_cancel_*` have zero spending.
|
|
336
|
+
- **connect-info** -- When `actions.polymarket_enabled = true`, the `polymarket` capability is included in `GET /v1/connect-info` for agent self-discovery.
|
|
337
|
+
|
|
338
|
+
## 10. Related Skill Files
|
|
339
|
+
|
|
340
|
+
- **actions.skill.md** -- Action Provider framework, policy integration
|
|
341
|
+
- **wallet.skill.md** -- Wallet CRUD, sessions
|
|
342
|
+
- **policies.skill.md** -- SPENDING_LIMIT, CONTRACT_WHITELIST
|
|
343
|
+
- **admin.skill.md** -- Admin Settings management
|
|
@@ -3,7 +3,7 @@ name: "WAIaaS Quickset"
|
|
|
3
3
|
description: "End-to-end quickset: create wallet, session, check balance, send first transfer"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, solana, ethereum, quickset, quickstart, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -3,7 +3,7 @@ name: "WAIaaS Session Recovery"
|
|
|
3
3
|
description: "Recover from expired or permanently expired session tokens"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, session, recovery, token, expired, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
package/skills/setup.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS Setup"
|
|
|
3
3
|
description: "Zero-state daemon setup: install CLI, initialize, start daemon, create wallet, configure session"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, solana, ethereum, setup, install, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl", "npm", "npx", "waiaas", "which"]
|
|
@@ -3,7 +3,7 @@ name: "WAIaaS Transactions"
|
|
|
3
3
|
description: "All 6 transaction types (TRANSFER, TOKEN_TRANSFER, CONTRACT_CALL, APPROVE, BATCH, NFT_TRANSFER) with lifecycle management"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, solana, ethereum, transactions, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -49,7 +49,7 @@ All transaction types accept a `network` parameter to specify the target network
|
|
|
49
49
|
|
|
50
50
|
## 2. Type 1: TRANSFER (Native SOL/ETH)
|
|
51
51
|
|
|
52
|
-
Transfer native tokens to a recipient address. No policy prerequisite -- subject to SPENDING_LIMIT if configured.
|
|
52
|
+
Transfer native tokens to a recipient address. No policy prerequisite -- subject to SPENDING_LIMIT if configured. DCent Exchange uses TRANSFER to send funds to the exchange service's payInAddress for cross-chain swaps.
|
|
53
53
|
|
|
54
54
|
### Request
|
|
55
55
|
|
|
@@ -274,7 +274,7 @@ Parameters:
|
|
|
274
274
|
|
|
275
275
|
## 6. Type 5: BATCH (Multiple Instructions)
|
|
276
276
|
|
|
277
|
-
Execute multiple instructions in a single transaction. **Solana only** -- EVM returns `BATCH_NOT_SUPPORTED` error.
|
|
277
|
+
Execute multiple instructions in a single transaction. **Solana only** -- EVM returns `BATCH_NOT_SUPPORTED` error. DCent DEX Swap uses BATCH with approve + swap txdata for ERC-20 sell orders (resolved internally by the action provider, not user-facing BATCH).
|
|
278
278
|
|
|
279
279
|
### Request
|
|
280
280
|
|
|
@@ -1284,3 +1284,253 @@ const signed = await client.signUserOp('wallet-id', {
|
|
|
1284
1284
|
userOperation: { ...build, callGasLimit: '0x...', ... },
|
|
1285
1285
|
});
|
|
1286
1286
|
```
|
|
1287
|
+
|
|
1288
|
+
## Hyperliquid Perp Trading
|
|
1289
|
+
|
|
1290
|
+
Hyperliquid perpetual futures trading via the action provider pipeline. Requires `actions.hyperliquid_enabled=true` in Admin Settings.
|
|
1291
|
+
|
|
1292
|
+
> AI agents must NEVER request the master password. Use only your session token.
|
|
1293
|
+
|
|
1294
|
+
### Action Endpoints (through pipeline)
|
|
1295
|
+
|
|
1296
|
+
Actions go through the standard `/v1/actions/hyperliquid_perp/{action}` route with policy evaluation.
|
|
1297
|
+
|
|
1298
|
+
```bash
|
|
1299
|
+
# Open a market long position (10x leverage, 1 ETH)
|
|
1300
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_perp/hl_open_position \
|
|
1301
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1302
|
+
-H "Content-Type: application/json" \
|
|
1303
|
+
-d '{"wallet_id":"wid","market":"ETH","side":"LONG","size":"1","leverage":10,"order_type":"MARKET"}'
|
|
1304
|
+
|
|
1305
|
+
# Place a limit buy order
|
|
1306
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_perp/hl_place_order \
|
|
1307
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1308
|
+
-H "Content-Type: application/json" \
|
|
1309
|
+
-d '{"wallet_id":"wid","market":"ETH","side":"BUY","size":"0.5","price":"2000","order_type":"LIMIT","time_in_force":"GTC"}'
|
|
1310
|
+
|
|
1311
|
+
# Set stop-loss (trigger order)
|
|
1312
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_perp/hl_place_order \
|
|
1313
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1314
|
+
-H "Content-Type: application/json" \
|
|
1315
|
+
-d '{"wallet_id":"wid","market":"ETH","side":"SELL","size":"1","price":"1800","order_type":"STOP","trigger_price":"1810","time_in_force":"GTC","reduce_only":true}'
|
|
1316
|
+
|
|
1317
|
+
# Close a position
|
|
1318
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_perp/hl_close_position \
|
|
1319
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1320
|
+
-H "Content-Type: application/json" \
|
|
1321
|
+
-d '{"wallet_id":"wid","market":"ETH"}'
|
|
1322
|
+
|
|
1323
|
+
# Set leverage for a market
|
|
1324
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_perp/hl_set_leverage \
|
|
1325
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1326
|
+
-H "Content-Type: application/json" \
|
|
1327
|
+
-d '{"wallet_id":"wid","market":"ETH","leverage":5,"is_cross":true}'
|
|
1328
|
+
```
|
|
1329
|
+
|
|
1330
|
+
### Query Endpoints (no pipeline, direct)
|
|
1331
|
+
|
|
1332
|
+
```bash
|
|
1333
|
+
# Get positions
|
|
1334
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/positions \
|
|
1335
|
+
-H "X-Master-Password: $PASS"
|
|
1336
|
+
|
|
1337
|
+
# Get open orders
|
|
1338
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/orders \
|
|
1339
|
+
-H "X-Master-Password: $PASS"
|
|
1340
|
+
|
|
1341
|
+
# Get account state (balances, margins)
|
|
1342
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/account \
|
|
1343
|
+
-H "X-Master-Password: $PASS"
|
|
1344
|
+
|
|
1345
|
+
# Get trade history
|
|
1346
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/fills?limit=50 \
|
|
1347
|
+
-H "X-Master-Password: $PASS"
|
|
1348
|
+
|
|
1349
|
+
# Get market list (no wallet needed)
|
|
1350
|
+
curl http://localhost:3100/v1/hyperliquid/markets \
|
|
1351
|
+
-H "X-Master-Password: $PASS"
|
|
1352
|
+
|
|
1353
|
+
# Get funding rates
|
|
1354
|
+
curl http://localhost:3100/v1/hyperliquid/funding-rates?market=ETH \
|
|
1355
|
+
-H "X-Master-Password: $PASS"
|
|
1356
|
+
```
|
|
1357
|
+
|
|
1358
|
+
### MCP Tools
|
|
1359
|
+
|
|
1360
|
+
Action tools (7, auto-registered via provider):
|
|
1361
|
+
- `hl_open_position`: Open a perp position (market/limit)
|
|
1362
|
+
- `hl_close_position`: Close a perp position
|
|
1363
|
+
- `hl_place_order`: Place an order (limit/stop/take-profit)
|
|
1364
|
+
- `hl_cancel_order`: Cancel an open order
|
|
1365
|
+
- `hl_set_leverage`: Set leverage for a market
|
|
1366
|
+
- `hl_set_margin_mode`: Set margin mode (cross/isolated)
|
|
1367
|
+
- `hl_transfer_usdc`: Transfer USDC between spot and perp
|
|
1368
|
+
|
|
1369
|
+
Query tools (6, manually registered):
|
|
1370
|
+
- `waiaas_hl_get_positions`: Get perp positions
|
|
1371
|
+
- `waiaas_hl_get_open_orders`: Get open orders
|
|
1372
|
+
- `waiaas_hl_get_markets`: Get market list
|
|
1373
|
+
- `waiaas_hl_get_funding_rates`: Get funding rate history
|
|
1374
|
+
- `waiaas_hl_get_account_state`: Get account state
|
|
1375
|
+
- `waiaas_hl_get_trade_history`: Get trade history (fills)
|
|
1376
|
+
|
|
1377
|
+
### SDK Methods
|
|
1378
|
+
|
|
1379
|
+
```typescript
|
|
1380
|
+
// Action methods (through pipeline)
|
|
1381
|
+
await client.hlOpenPosition('wallet-id', { market: 'ETH', side: 'LONG', size: '1', leverage: 10 });
|
|
1382
|
+
await client.hlClosePosition('wallet-id', { market: 'ETH' });
|
|
1383
|
+
await client.hlPlaceOrder('wallet-id', { market: 'ETH', side: 'BUY', size: '0.5', price: '2000', order_type: 'LIMIT' });
|
|
1384
|
+
await client.hlCancelOrder('wallet-id', { market: 'ETH', oid: 12345 });
|
|
1385
|
+
await client.hlSetLeverage('wallet-id', { market: 'ETH', leverage: 5, is_cross: true });
|
|
1386
|
+
|
|
1387
|
+
// Query methods (direct)
|
|
1388
|
+
const positions = await client.hlGetPositions('wallet-id');
|
|
1389
|
+
const orders = await client.hlGetOpenOrders('wallet-id');
|
|
1390
|
+
const markets = await client.hlGetMarkets();
|
|
1391
|
+
const rates = await client.hlGetFundingRates('ETH');
|
|
1392
|
+
const account = await client.hlGetAccountState('wallet-id');
|
|
1393
|
+
const fills = await client.hlGetTradeHistory('wallet-id', 50);
|
|
1394
|
+
```
|
|
1395
|
+
|
|
1396
|
+
## Hyperliquid Spot Trading
|
|
1397
|
+
|
|
1398
|
+
Hyperliquid spot market trading via the action provider pipeline. Requires `actions.hyperliquid_enabled=true` in Admin Settings.
|
|
1399
|
+
|
|
1400
|
+
> AI agents must NEVER request the master password. Use only your session token.
|
|
1401
|
+
|
|
1402
|
+
### Action Endpoints (through pipeline)
|
|
1403
|
+
|
|
1404
|
+
Actions go through the standard `/v1/actions/hyperliquid_spot/{action}` route with policy evaluation.
|
|
1405
|
+
|
|
1406
|
+
```bash
|
|
1407
|
+
# Buy 100 HYPE at market price
|
|
1408
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_spot/hl_spot_buy \
|
|
1409
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1410
|
+
-H "Content-Type: application/json" \
|
|
1411
|
+
-d '{"wallet_id":"wid","market":"HYPE/USDC","size":"100","orderType":"MARKET"}'
|
|
1412
|
+
|
|
1413
|
+
# Place a limit buy order for HYPE at $24.50
|
|
1414
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_spot/hl_spot_buy \
|
|
1415
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1416
|
+
-H "Content-Type: application/json" \
|
|
1417
|
+
-d '{"wallet_id":"wid","market":"HYPE/USDC","size":"100","price":"24.5","orderType":"LIMIT","tif":"GTC"}'
|
|
1418
|
+
|
|
1419
|
+
# Sell 50 HYPE at market price
|
|
1420
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_spot/hl_spot_sell \
|
|
1421
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1422
|
+
-H "Content-Type: application/json" \
|
|
1423
|
+
-d '{"wallet_id":"wid","market":"HYPE/USDC","size":"50","orderType":"MARKET"}'
|
|
1424
|
+
|
|
1425
|
+
# Cancel a specific spot order
|
|
1426
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_spot/hl_spot_cancel \
|
|
1427
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1428
|
+
-H "Content-Type: application/json" \
|
|
1429
|
+
-d '{"wallet_id":"wid","market":"HYPE/USDC","oid":12345}'
|
|
1430
|
+
|
|
1431
|
+
# Cancel all spot orders for a market
|
|
1432
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_spot/hl_spot_cancel \
|
|
1433
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1434
|
+
-H "Content-Type: application/json" \
|
|
1435
|
+
-d '{"wallet_id":"wid","market":"HYPE/USDC"}'
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
### Query Endpoints (no pipeline, direct)
|
|
1439
|
+
|
|
1440
|
+
```bash
|
|
1441
|
+
# Get spot token balances
|
|
1442
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/spot/balances \
|
|
1443
|
+
-H "X-Master-Password: $PASS"
|
|
1444
|
+
|
|
1445
|
+
# Get spot market list
|
|
1446
|
+
curl http://localhost:3100/v1/hyperliquid/spot/markets \
|
|
1447
|
+
-H "X-Master-Password: $PASS"
|
|
1448
|
+
```
|
|
1449
|
+
|
|
1450
|
+
### MCP Tools
|
|
1451
|
+
|
|
1452
|
+
Action tools (3, auto-registered via provider):
|
|
1453
|
+
- `hl_spot_buy`: Buy tokens on Hyperliquid spot (market/limit)
|
|
1454
|
+
- `hl_spot_sell`: Sell tokens on Hyperliquid spot (market/limit)
|
|
1455
|
+
- `hl_spot_cancel`: Cancel spot orders (single or all for a market)
|
|
1456
|
+
|
|
1457
|
+
Query tools (2, manually registered):
|
|
1458
|
+
- `waiaas_hl_get_spot_balances`: Get spot token balances
|
|
1459
|
+
- `waiaas_hl_get_spot_markets`: Get spot market list
|
|
1460
|
+
|
|
1461
|
+
### SDK Methods
|
|
1462
|
+
|
|
1463
|
+
```typescript
|
|
1464
|
+
// Action methods (through pipeline)
|
|
1465
|
+
await client.hlSpotBuy('wallet-id', { market: 'HYPE/USDC', size: '100', orderType: 'MARKET' });
|
|
1466
|
+
await client.hlSpotSell('wallet-id', { market: 'HYPE/USDC', size: '50', orderType: 'MARKET' });
|
|
1467
|
+
await client.hlSpotCancel('wallet-id', { market: 'HYPE/USDC', oid: 12345 });
|
|
1468
|
+
|
|
1469
|
+
// Query methods (direct)
|
|
1470
|
+
const spotBalances = await client.hlGetSpotBalances('wallet-id');
|
|
1471
|
+
const spotMarkets = await client.hlGetSpotMarkets();
|
|
1472
|
+
```
|
|
1473
|
+
|
|
1474
|
+
## Hyperliquid Sub-account Management
|
|
1475
|
+
|
|
1476
|
+
Hyperliquid sub-account management for isolating funds per strategy. Requires `actions.hyperliquid_enabled=true` in Admin Settings.
|
|
1477
|
+
|
|
1478
|
+
> AI agents must NEVER request the master password. Use only your session token.
|
|
1479
|
+
|
|
1480
|
+
### Action Endpoints (through pipeline)
|
|
1481
|
+
|
|
1482
|
+
Actions go through the standard `/v1/actions/hyperliquid_sub/{action}` route with policy evaluation.
|
|
1483
|
+
|
|
1484
|
+
```bash
|
|
1485
|
+
# Create a new sub-account
|
|
1486
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_sub/hl_create_sub_account \
|
|
1487
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1488
|
+
-H "Content-Type: application/json" \
|
|
1489
|
+
-d '{"wallet_id":"wid","name":"Trend Following"}'
|
|
1490
|
+
|
|
1491
|
+
# Transfer USDC: master -> sub-account
|
|
1492
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_sub/hl_sub_transfer \
|
|
1493
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1494
|
+
-H "Content-Type: application/json" \
|
|
1495
|
+
-d '{"wallet_id":"wid","subAccount":"0xSub...","amount":"1000","isDeposit":true}'
|
|
1496
|
+
|
|
1497
|
+
# Transfer USDC: sub-account -> master
|
|
1498
|
+
curl -X POST http://localhost:3100/v1/actions/hyperliquid_sub/hl_sub_transfer \
|
|
1499
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
1500
|
+
-H "Content-Type: application/json" \
|
|
1501
|
+
-d '{"wallet_id":"wid","subAccount":"0xSub...","amount":"500","isDeposit":false}'
|
|
1502
|
+
```
|
|
1503
|
+
|
|
1504
|
+
### Query Endpoints (no pipeline, direct)
|
|
1505
|
+
|
|
1506
|
+
```bash
|
|
1507
|
+
# List sub-accounts
|
|
1508
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/sub-accounts \
|
|
1509
|
+
-H "X-Master-Password: $PASS"
|
|
1510
|
+
|
|
1511
|
+
# Get sub-account positions
|
|
1512
|
+
curl http://localhost:3100/v1/wallets/$WID/hyperliquid/sub-accounts/0xSub.../positions \
|
|
1513
|
+
-H "X-Master-Password: $PASS"
|
|
1514
|
+
```
|
|
1515
|
+
|
|
1516
|
+
### MCP Tools
|
|
1517
|
+
|
|
1518
|
+
Action tools (2, auto-registered via provider):
|
|
1519
|
+
- `hl_create_sub_account`: Create a new Hyperliquid sub-account
|
|
1520
|
+
- `hl_sub_transfer`: Transfer USDC between master and sub-account
|
|
1521
|
+
|
|
1522
|
+
Query tools (2, manually registered):
|
|
1523
|
+
- `waiaas_hl_list_sub_accounts`: List sub-accounts for a wallet
|
|
1524
|
+
- `waiaas_hl_get_sub_positions`: Get positions for a sub-account
|
|
1525
|
+
|
|
1526
|
+
### SDK Methods
|
|
1527
|
+
|
|
1528
|
+
```typescript
|
|
1529
|
+
// Action methods (through pipeline)
|
|
1530
|
+
await client.hlCreateSubAccount('wallet-id', { name: 'Trend Following' });
|
|
1531
|
+
await client.hlSubTransfer('wallet-id', { subAccount: '0xSub...', amount: '1000', isDeposit: true });
|
|
1532
|
+
|
|
1533
|
+
// Query methods (direct)
|
|
1534
|
+
const subAccounts = await client.hlListSubAccounts('wallet-id');
|
|
1535
|
+
const positions = await client.hlGetSubPositions('wallet-id', '0xSubAddress');
|
|
1536
|
+
```
|
package/skills/wallet.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS Wallet Management"
|
|
|
3
3
|
description: "Wallet CRUD, asset queries, session management, token registry, MCP provisioning, owner management"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, solana, ethereum, sessions, tokens, mcp, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|
|
@@ -124,6 +124,9 @@ Response (201):
|
|
|
124
124
|
- `accountType`: `"smart"` -- ERC-4337 smart account
|
|
125
125
|
- `signerKey`: EOA signer (owner) address that controls the smart account
|
|
126
126
|
- `deployed`: `false` until the first transaction (lazy deployment via CREATE2)
|
|
127
|
+
- `factoryAddress`: The factory contract address used to create this smart account
|
|
128
|
+
- `factorySupportedNetworks`: Array of network IDs where the factory contract is deployed (e.g., `["ethereum-mainnet", "base-mainnet", ...]`). `null` for EOA wallets.
|
|
129
|
+
- `factoryVerifiedOnNetwork`: `true` if the factory was verified via `eth_getCode` on the current network, `false` if not found, `null` if verification was skipped or failed
|
|
127
130
|
|
|
128
131
|
**Key differences from EOA:**
|
|
129
132
|
- Gas can be sponsored by a Paymaster (agent needs no ETH for gas)
|
|
@@ -242,6 +245,23 @@ Response (200):
|
|
|
242
245
|
}
|
|
243
246
|
```
|
|
244
247
|
|
|
248
|
+
### DELETE /v1/wallets/{id}/purge -- Permanently Delete Wallet (masterAuth)
|
|
249
|
+
|
|
250
|
+
Permanently removes a terminated wallet and all associated data (transactions, sessions, policies, keys). Only works on wallets in TERMINATED status.
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
curl -s -X DELETE http://localhost:3100/v1/wallets/01958f3a-1234-7000-8000-abcdef123456/purge \
|
|
254
|
+
-H 'X-Master-Password: your-master-password'
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Response (200):
|
|
258
|
+
```json
|
|
259
|
+
{
|
|
260
|
+
"id": "01958f3a-1234-7000-8000-abcdef123456",
|
|
261
|
+
"status": "PURGED"
|
|
262
|
+
}
|
|
263
|
+
```
|
|
264
|
+
|
|
245
265
|
### PUT /v1/wallets/{id}/owner -- Set Owner Address (masterAuth)
|
|
246
266
|
|
|
247
267
|
Register a human owner address for this wallet. Enables owner-based approval workflows.
|
|
@@ -899,6 +919,7 @@ async with WAIaaSClient("http://localhost:3100", "wai_sess_...") as client:
|
|
|
899
919
|
|------|------|-------------|
|
|
900
920
|
| `WALLET_NOT_FOUND` | 404 | Wallet ID does not exist |
|
|
901
921
|
| `WALLET_TERMINATED` | 410 | Wallet has been terminated |
|
|
922
|
+
| `WALLET_NOT_TERMINATED` | 409 | Wallet must be terminated before purging |
|
|
902
923
|
| `SESSION_NOT_FOUND` | 404 | Session ID does not exist |
|
|
903
924
|
| `SESSION_EXPIRED` | 401 | Session JWT has expired |
|
|
904
925
|
| `SESSION_REVOKED` | 401 | Session has been revoked |
|
|
@@ -1423,3 +1444,16 @@ Key capabilities:
|
|
|
1423
1444
|
- **Approve**: `POST /v1/transactions/send` with `type: "APPROVE"` and `nft` field
|
|
1424
1445
|
|
|
1425
1446
|
The Admin UI wallet detail page includes an **NFTs** tab showing NFT grid/list views with metadata modal. NFT indexer API keys (Alchemy for EVM, Helius for Solana) can be configured in **Settings > NFT Indexer**.
|
|
1447
|
+
|
|
1448
|
+
## 18. Hyperliquid Perp Trading
|
|
1449
|
+
|
|
1450
|
+
EVM wallets can trade Hyperliquid perpetual futures when enabled via Admin Settings (`actions.hyperliquid_enabled=true`).
|
|
1451
|
+
|
|
1452
|
+
> AI agents must NEVER request the master password. Use only your session token.
|
|
1453
|
+
|
|
1454
|
+
Key capabilities:
|
|
1455
|
+
- **Trade**: Open/close positions, place/cancel orders via action provider pipeline
|
|
1456
|
+
- **Query**: Get positions, orders, account state, trade history, market data, funding rates
|
|
1457
|
+
- **Configure**: Set leverage, margin mode (cross/isolated), USDC transfers (spot to perp)
|
|
1458
|
+
|
|
1459
|
+
See **transactions.skill.md** for full Hyperliquid REST/MCP/SDK reference and **admin.skill.md** for Hyperliquid Admin Settings.
|
package/skills/x402.skill.md
CHANGED
|
@@ -3,7 +3,7 @@ name: "WAIaaS x402"
|
|
|
3
3
|
description: "x402 auto-payment protocol: fetch URLs with automatic cryptocurrency payments"
|
|
4
4
|
category: "api"
|
|
5
5
|
tags: [wallet, blockchain, x402, payments, waiass]
|
|
6
|
-
version: "2.10.0
|
|
6
|
+
version: "2.10.0"
|
|
7
7
|
dispatch:
|
|
8
8
|
kind: "tool"
|
|
9
9
|
allowedCommands: ["curl"]
|