clodds 1.2.9 → 1.4.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/dist/skills/bundled/acp/SKILL.md +188 -0
- package/dist/skills/bundled/acp/index.d.ts +0 -3
- package/dist/skills/bundled/acp/index.js +1 -1
- package/dist/skills/bundled/acp/index.js.map +1 -1
- package/dist/skills/bundled/agentbets/SKILL.md +19 -0
- package/dist/skills/bundled/agentbets/index.js +1 -1
- package/dist/skills/bundled/agentbets/index.js.map +1 -1
- package/dist/skills/bundled/ai-strategy/SKILL.md +111 -0
- package/dist/skills/bundled/ai-strategy/index.js +1 -1
- package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
- package/dist/skills/bundled/alerts/SKILL.md +87 -0
- package/dist/skills/bundled/analytics/SKILL.md +252 -0
- package/dist/skills/bundled/analytics/index.js +2 -2
- package/dist/skills/bundled/analytics/index.js.map +1 -1
- package/dist/skills/bundled/arbitrage/SKILL.md +287 -0
- package/dist/skills/bundled/arbitrage/index.js +6 -1
- package/dist/skills/bundled/arbitrage/index.js.map +1 -1
- package/dist/skills/bundled/auto-reply/SKILL.md +285 -0
- package/dist/skills/bundled/auto-reply/index.js +2 -2
- package/dist/skills/bundled/auto-reply/index.js.map +1 -1
- package/dist/skills/bundled/automation/SKILL.md +242 -0
- package/dist/skills/bundled/automation/index.js +2 -2
- package/dist/skills/bundled/automation/index.js.map +1 -1
- package/dist/skills/bundled/backtest/SKILL.md +225 -0
- package/dist/skills/bundled/bags/SKILL.md +131 -0
- package/dist/skills/bundled/bankr/SKILL.md +114 -0
- package/dist/skills/bundled/betfair/SKILL.md +113 -0
- package/dist/skills/bundled/binance-futures/SKILL.md +84 -0
- package/dist/skills/bundled/binance-futures/index.d.ts +0 -3
- package/dist/skills/bundled/binance-futures/index.js +1 -2
- package/dist/skills/bundled/binance-futures/index.js.map +1 -1
- package/dist/skills/bundled/botchan/SKILL.md +66 -0
- package/dist/skills/bundled/botchan/index.d.ts +0 -3
- package/dist/skills/bundled/botchan/index.js +0 -1
- package/dist/skills/bundled/botchan/index.js.map +1 -1
- package/dist/skills/bundled/bridge/SKILL.md +215 -0
- package/dist/skills/bundled/bridge/index.js +6 -0
- package/dist/skills/bundled/bridge/index.js.map +1 -1
- package/dist/skills/bundled/bybit-futures/SKILL.md +84 -0
- package/dist/skills/bundled/bybit-futures/index.d.ts +0 -3
- package/dist/skills/bundled/bybit-futures/index.js +0 -1
- package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
- package/dist/skills/bundled/clanker/SKILL.md +125 -0
- package/dist/skills/bundled/clanker/index.d.ts +0 -3
- package/dist/skills/bundled/clanker/index.js +0 -1
- package/dist/skills/bundled/clanker/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading/SKILL.md +285 -0
- package/dist/skills/bundled/copy-trading/index.js +15 -8
- package/dist/skills/bundled/copy-trading/index.js.map +1 -1
- package/dist/skills/bundled/copy-trading-solana/SKILL.md +66 -0
- package/dist/skills/bundled/credentials/SKILL.md +261 -0
- package/dist/skills/bundled/credentials/index.js +4 -0
- package/dist/skills/bundled/credentials/index.js.map +1 -1
- package/dist/skills/bundled/crypto-hft/SKILL.md +121 -0
- package/dist/skills/bundled/crypto-hft/index.js +18 -3
- package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
- package/dist/skills/bundled/dca/SKILL.md +27 -0
- package/dist/skills/bundled/dex/SKILL.md +92 -0
- package/dist/skills/bundled/dex/index.js +77 -29
- package/dist/skills/bundled/dex/index.js.map +1 -1
- package/dist/skills/bundled/divergence/SKILL.md +83 -0
- package/dist/skills/bundled/doctor/SKILL.md +267 -0
- package/dist/skills/bundled/doctor/index.js +2 -8
- package/dist/skills/bundled/doctor/index.js.map +1 -1
- package/dist/skills/bundled/drift/SKILL.md +53 -0
- package/dist/skills/bundled/drift-sdk/SKILL.md +103 -0
- package/dist/skills/bundled/drift-sdk/index.d.ts +0 -3
- package/dist/skills/bundled/drift-sdk/index.js +0 -1
- package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
- package/dist/skills/bundled/edge/SKILL.md +84 -0
- package/dist/skills/bundled/embeddings/SKILL.md +244 -0
- package/dist/skills/bundled/endaoment/SKILL.md +65 -0
- package/dist/skills/bundled/endaoment/index.d.ts +0 -3
- package/dist/skills/bundled/endaoment/index.js +0 -1
- package/dist/skills/bundled/endaoment/index.js.map +1 -1
- package/dist/skills/bundled/ens/SKILL.md +63 -0
- package/dist/skills/bundled/ens/index.d.ts +0 -3
- package/dist/skills/bundled/ens/index.js +0 -1
- package/dist/skills/bundled/ens/index.js.map +1 -1
- package/dist/skills/bundled/erc8004/SKILL.md +79 -0
- package/dist/skills/bundled/erc8004/index.d.ts +0 -3
- package/dist/skills/bundled/erc8004/index.js +0 -1
- package/dist/skills/bundled/erc8004/index.js.map +1 -1
- package/dist/skills/bundled/execution/SKILL.md +278 -0
- package/dist/skills/bundled/farcaster/SKILL.md +80 -0
- package/dist/skills/bundled/farcaster/index.js +12 -0
- package/dist/skills/bundled/farcaster/index.js.map +1 -1
- package/dist/skills/bundled/features/SKILL.md +20 -0
- package/dist/skills/bundled/feeds/SKILL.md +288 -0
- package/dist/skills/bundled/harden/SKILL.md +74 -0
- package/dist/skills/bundled/history/SKILL.md +257 -0
- package/dist/skills/bundled/hyperliquid/SKILL.md +200 -0
- package/dist/skills/bundled/hyperliquid/index.d.ts +0 -3
- package/dist/skills/bundled/hyperliquid/index.js +0 -1
- package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
- package/dist/skills/bundled/identity/SKILL.md +228 -0
- package/dist/skills/bundled/identity/index.js +2 -2
- package/dist/skills/bundled/identity/index.js.map +1 -1
- package/dist/skills/bundled/integrations/SKILL.md +321 -0
- package/dist/skills/bundled/integrations/index.js +2 -2
- package/dist/skills/bundled/integrations/index.js.map +1 -1
- package/dist/skills/bundled/jupiter/SKILL.md +163 -0
- package/dist/skills/bundled/jupiter/index.js +2 -2
- package/dist/skills/bundled/kamino/SKILL.md +69 -0
- package/dist/skills/bundled/ledger/SKILL.md +20 -0
- package/dist/skills/bundled/lighter/SKILL.md +83 -0
- package/dist/skills/bundled/lighter/index.d.ts +0 -3
- package/dist/skills/bundled/lighter/index.js +0 -1
- package/dist/skills/bundled/lighter/index.js.map +1 -1
- package/dist/skills/bundled/marginfi/SKILL.md +62 -0
- package/dist/skills/bundled/market-index/SKILL.md +242 -0
- package/dist/skills/bundled/market-index/index.js +1 -3
- package/dist/skills/bundled/market-index/index.js.map +1 -1
- package/dist/skills/bundled/markets/SKILL.md +49 -0
- package/dist/skills/bundled/mcp/SKILL.md +235 -0
- package/dist/skills/bundled/mcp/index.js +1 -3
- package/dist/skills/bundled/mcp/index.js.map +1 -1
- package/dist/skills/bundled/memory/SKILL.md +209 -0
- package/dist/skills/bundled/metaculus/SKILL.md +62 -0
- package/dist/skills/bundled/metaculus/index.js +4 -1
- package/dist/skills/bundled/metaculus/index.js.map +1 -1
- package/dist/skills/bundled/meteora/SKILL.md +28 -0
- package/dist/skills/bundled/meteora-dbc/SKILL.md +25 -0
- package/dist/skills/bundled/metrics/SKILL.md +338 -0
- package/dist/skills/bundled/mev/SKILL.md +239 -0
- package/dist/skills/bundled/mev/index.js +2 -2
- package/dist/skills/bundled/mev/index.js.map +1 -1
- package/dist/skills/bundled/mexc-futures/SKILL.md +86 -0
- package/dist/skills/bundled/mexc-futures/index.d.ts +0 -3
- package/dist/skills/bundled/mexc-futures/index.js +0 -1
- package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
- package/dist/skills/bundled/mm/SKILL.md +142 -0
- package/dist/skills/bundled/mm/index.js +28 -27
- package/dist/skills/bundled/mm/index.js.map +1 -1
- package/dist/skills/bundled/monitoring/SKILL.md +249 -0
- package/dist/skills/bundled/news/SKILL.md +95 -0
- package/dist/skills/bundled/news/index.js +1 -2
- package/dist/skills/bundled/news/index.js.map +1 -1
- package/dist/skills/bundled/onchainkit/SKILL.md +83 -0
- package/dist/skills/bundled/opinion/SKILL.md +87 -0
- package/dist/skills/bundled/opportunity/SKILL.md +308 -0
- package/dist/skills/bundled/orca/SKILL.md +28 -0
- package/dist/skills/bundled/orca/index.js +11 -7
- package/dist/skills/bundled/orca/index.js.map +1 -1
- package/dist/skills/bundled/pairing/SKILL.md +275 -0
- package/dist/skills/bundled/pancakeswap/SKILL.md +93 -0
- package/dist/skills/bundled/pancakeswap/index.d.ts +0 -3
- package/dist/skills/bundled/pancakeswap/index.js +0 -1
- package/dist/skills/bundled/pancakeswap/index.js.map +1 -1
- package/dist/skills/bundled/percolator/SKILL.md +22 -0
- package/dist/skills/bundled/permissions/SKILL.md +269 -0
- package/dist/skills/bundled/permissions/index.js +2 -2
- package/dist/skills/bundled/permissions/index.js.map +1 -1
- package/dist/skills/bundled/plugins/SKILL.md +263 -0
- package/dist/skills/bundled/plugins/index.js +2 -2
- package/dist/skills/bundled/plugins/index.js.map +1 -1
- package/dist/skills/bundled/portfolio/SKILL.md +161 -0
- package/dist/skills/bundled/portfolio/index.js +1 -1
- package/dist/skills/bundled/portfolio/index.js.map +1 -1
- package/dist/skills/bundled/portfolio-sync/SKILL.md +466 -0
- package/dist/skills/bundled/positions/SKILL.md +262 -0
- package/dist/skills/bundled/predictfun/SKILL.md +109 -0
- package/dist/skills/bundled/predictfun/index.js +1 -1
- package/dist/skills/bundled/predictfun/index.js.map +1 -1
- package/dist/skills/bundled/predictit/SKILL.md +66 -0
- package/dist/skills/bundled/predictit/index.js +4 -1
- package/dist/skills/bundled/predictit/index.js.map +1 -1
- package/dist/skills/bundled/presence/SKILL.md +217 -0
- package/dist/skills/bundled/presence/index.js +2 -2
- package/dist/skills/bundled/presence/index.js.map +1 -1
- package/dist/skills/bundled/processes/SKILL.md +254 -0
- package/dist/skills/bundled/pump-swarm/SKILL.md +309 -0
- package/dist/skills/bundled/pumpfun/SKILL.md +145 -0
- package/dist/skills/bundled/pumpfun/index.js +82 -8
- package/dist/skills/bundled/pumpfun/index.js.map +1 -1
- package/dist/skills/bundled/qmd/SKILL.md +129 -0
- package/dist/skills/bundled/qrcoin/SKILL.md +60 -0
- package/dist/skills/bundled/qrcoin/index.d.ts +0 -3
- package/dist/skills/bundled/qrcoin/index.js +0 -1
- package/dist/skills/bundled/qrcoin/index.js.map +1 -1
- package/dist/skills/bundled/raydium/SKILL.md +198 -0
- package/dist/skills/bundled/remote/SKILL.md +201 -0
- package/dist/skills/bundled/research/SKILL.md +83 -0
- package/dist/skills/bundled/research/index.js +2 -2
- package/dist/skills/bundled/research/index.js.map +1 -1
- package/dist/skills/bundled/risk/SKILL.md +323 -0
- package/dist/skills/bundled/router/SKILL.md +233 -0
- package/dist/skills/bundled/routing/SKILL.md +258 -0
- package/dist/skills/bundled/sandbox/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/SKILL.md +257 -0
- package/dist/skills/bundled/search-config/index.js +2 -2
- package/dist/skills/bundled/search-config/index.js.map +1 -1
- package/dist/skills/bundled/sessions/SKILL.md +251 -0
- package/dist/skills/bundled/sessions/index.js +1 -1
- package/dist/skills/bundled/sessions/index.js.map +1 -1
- package/dist/skills/bundled/setup/SKILL.md +53 -0
- package/dist/skills/bundled/shield/SKILL.md +21 -0
- package/dist/skills/bundled/signals/SKILL.md +106 -0
- package/dist/skills/bundled/signals/index.d.ts +0 -3
- package/dist/skills/bundled/signals/index.js +3 -4
- package/dist/skills/bundled/signals/index.js.map +1 -1
- package/dist/skills/bundled/sizing/SKILL.md +238 -0
- package/dist/skills/bundled/slippage/SKILL.md +306 -0
- package/dist/skills/bundled/smarkets/SKILL.md +107 -0
- package/dist/skills/bundled/smarkets/index.js +3 -3
- package/dist/skills/bundled/smarkets/index.js.map +1 -1
- package/dist/skills/bundled/solend/SKILL.md +63 -0
- package/dist/skills/bundled/strategy/SKILL.md +266 -0
- package/dist/skills/bundled/streaming/SKILL.md +150 -0
- package/dist/skills/bundled/streaming/index.js +2 -2
- package/dist/skills/bundled/streaming/index.js.map +1 -1
- package/dist/skills/bundled/tailscale/SKILL.md +249 -0
- package/dist/skills/bundled/tailscale/index.js +2 -2
- package/dist/skills/bundled/tailscale/index.js.map +1 -1
- package/dist/skills/bundled/ticks/SKILL.md +61 -0
- package/dist/skills/bundled/token-security/SKILL.md +18 -0
- package/dist/skills/bundled/trading-evm/SKILL.md +329 -0
- package/dist/skills/bundled/trading-futures/SKILL.md +865 -0
- package/dist/skills/bundled/trading-kalshi/SKILL.md +629 -0
- package/dist/skills/bundled/trading-kalshi/index.js +2 -0
- package/dist/skills/bundled/trading-kalshi/index.js.map +1 -1
- package/dist/skills/bundled/trading-manifold/SKILL.md +387 -0
- package/dist/skills/bundled/trading-polymarket/SKILL.md +1080 -0
- package/dist/skills/bundled/trading-polymarket/index.js +28 -19
- package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
- package/dist/skills/bundled/trading-solana/SKILL.md +418 -0
- package/dist/skills/bundled/trading-solana/index.js +1 -1
- package/dist/skills/bundled/trading-solana/index.js.map +1 -1
- package/dist/skills/bundled/trading-system/SKILL.md +290 -0
- package/dist/skills/bundled/triggers/SKILL.md +433 -0
- package/dist/skills/bundled/tts/SKILL.md +220 -0
- package/dist/skills/bundled/tweet-ideas/SKILL.md +77 -0
- package/dist/skills/bundled/usage/SKILL.md +239 -0
- package/dist/skills/bundled/usage/index.js +2 -2
- package/dist/skills/bundled/usage/index.js.map +1 -1
- package/dist/skills/bundled/veil/SKILL.md +76 -0
- package/dist/skills/bundled/veil/index.d.ts +0 -3
- package/dist/skills/bundled/veil/index.js +0 -1
- package/dist/skills/bundled/veil/index.js.map +1 -1
- package/dist/skills/bundled/verify/SKILL.md +199 -0
- package/dist/skills/bundled/verify/index.d.ts +0 -3
- package/dist/skills/bundled/verify/index.js +0 -1
- package/dist/skills/bundled/verify/index.js.map +1 -1
- package/dist/skills/bundled/virtuals/SKILL.md +82 -0
- package/dist/skills/bundled/voice/SKILL.md +217 -0
- package/dist/skills/bundled/voice/index.js +2 -2
- package/dist/skills/bundled/voice/index.js.map +1 -1
- package/dist/skills/bundled/weather/SKILL.md +80 -0
- package/dist/skills/bundled/weather/index.js +3 -0
- package/dist/skills/bundled/weather/index.js.map +1 -1
- package/dist/skills/bundled/webhooks/SKILL.md +297 -0
- package/dist/skills/bundled/webhooks/index.js +2 -2
- package/dist/skills/bundled/webhooks/index.js.map +1 -1
- package/dist/skills/bundled/whale-tracking/SKILL.md +287 -0
- package/dist/skills/bundled/whale-tracking/index.js +2 -2
- package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
- package/dist/skills/bundled/yoink/SKILL.md +54 -0
- package/dist/skills/bundled/yoink/index.d.ts +0 -3
- package/dist/skills/bundled/yoink/index.js +0 -1
- package/dist/skills/bundled/yoink/index.js.map +1 -1
- package/dist/skills/executor.js +5 -3
- package/dist/skills/executor.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verify
|
|
3
|
+
description: "Verify agent identity using ERC-8004 on-chain registry"
|
|
4
|
+
emoji: "🔐"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Verify - Agent Identity Verification
|
|
8
|
+
|
|
9
|
+
Verify any agent's on-chain identity using ERC-8004. Prevents impersonation attacks.
|
|
10
|
+
|
|
11
|
+
## Why This Matters
|
|
12
|
+
|
|
13
|
+
On January 29, 2026, an agent named "samaltman" attempted to hijack bots via prompt injection. Anyone can claim to be anyone. ERC-8004 provides cryptographic proof of identity.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Chat Commands
|
|
18
|
+
|
|
19
|
+
### Verify Agent
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/verify 1234 # Verify agent by ID
|
|
23
|
+
/verify 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7 # Verify by address
|
|
24
|
+
/verify eip155:8453:0x7177...Dd09A:1234 # Full format
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Check Before Copy Trading
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/verify trader 0x123... # Verify trader before copying
|
|
31
|
+
/verify whale 0xabc... # Verify whale identity
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Register Clodds
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
/verify register # Register this Clodds instance
|
|
38
|
+
/verify register --name "MyBot" # With custom name
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Stats
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
/verify stats # Show total registered agents
|
|
45
|
+
/verify reputation 1234 # Get agent's reputation score
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## TypeScript API
|
|
51
|
+
|
|
52
|
+
### Quick Verification
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
import { verifyAgent, hasIdentity } from 'clodds/identity';
|
|
56
|
+
|
|
57
|
+
// Verify by agent ID
|
|
58
|
+
const result = await verifyAgent(1234);
|
|
59
|
+
if (result.verified) {
|
|
60
|
+
console.log(`Verified: ${result.name}`);
|
|
61
|
+
console.log(`Owner: ${result.owner}`);
|
|
62
|
+
console.log(`Reputation: ${result.reputation?.averageScore}/100`);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Check if address has identity
|
|
66
|
+
const hasId = await hasIdentity('0x742d35Cc...');
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Full Client
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
import { createERC8004Client } from 'clodds/identity';
|
|
73
|
+
|
|
74
|
+
const client = createERC8004Client('base-sepolia');
|
|
75
|
+
|
|
76
|
+
// Get agent details
|
|
77
|
+
const agent = await client.getAgent(1234);
|
|
78
|
+
console.log(agent?.card?.name);
|
|
79
|
+
console.log(agent?.card?.description);
|
|
80
|
+
|
|
81
|
+
// Verify ownership
|
|
82
|
+
const isOwner = await client.verifyOwnership(1234, '0x742...');
|
|
83
|
+
|
|
84
|
+
// Get reputation
|
|
85
|
+
const rep = await client.getReputation(1234);
|
|
86
|
+
console.log(`Score: ${rep?.averageScore}/100 (${rep?.feedbackCount} reviews)`);
|
|
87
|
+
|
|
88
|
+
// Give feedback
|
|
89
|
+
const txHash = await client.giveFeedback(1234, 85, 'Great trading signals');
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Register Agent
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
import { createERC8004Client, buildAgentCard } from 'clodds/identity';
|
|
96
|
+
|
|
97
|
+
const client = createERC8004Client('base', process.env.PRIVATE_KEY);
|
|
98
|
+
|
|
99
|
+
// Build agent card
|
|
100
|
+
const card = buildAgentCard({
|
|
101
|
+
name: 'Clodds Trading Bot',
|
|
102
|
+
description: 'AI-powered prediction market assistant',
|
|
103
|
+
walletAddress: '0x742d35Cc...',
|
|
104
|
+
apiEndpoint: 'https://api.cloddsbot.com/agent',
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Upload to IPFS (use Pinata, web3.storage, etc.)
|
|
108
|
+
const ipfsUri = await uploadToIPFS(card);
|
|
109
|
+
|
|
110
|
+
// Register on-chain
|
|
111
|
+
const { agentId, txHash } = await client.register(ipfsUri);
|
|
112
|
+
console.log(`Registered as agent #${agentId}`);
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Contract Addresses
|
|
118
|
+
|
|
119
|
+
Same on all EVM chains (CREATE2 deterministic):
|
|
120
|
+
|
|
121
|
+
| Contract | Address |
|
|
122
|
+
|----------|---------|
|
|
123
|
+
| Identity Registry | `0x7177a6867296406881E20d6647232314736Dd09A` |
|
|
124
|
+
| Reputation Registry | `0xB5048e3ef1DA4E04deB6f7d0423D06F63869e322` |
|
|
125
|
+
| Validation Registry | `0x662b40A526cb4017d947e71eAF6753BF3eeE66d8` |
|
|
126
|
+
|
|
127
|
+
**Live on:** Ethereum, Base, Optimism, Arbitrum, Polygon (and testnets)
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Supported Networks
|
|
132
|
+
|
|
133
|
+
| Network | Status | Default |
|
|
134
|
+
|---------|--------|---------|
|
|
135
|
+
| Base | Live | ✓ |
|
|
136
|
+
| Ethereum | Live | |
|
|
137
|
+
| Optimism | Live | |
|
|
138
|
+
| Arbitrum | Live | |
|
|
139
|
+
| Polygon | Live | |
|
|
140
|
+
| Sepolia (testnet) | Live | |
|
|
141
|
+
| Base Sepolia | Live | |
|
|
142
|
+
|
|
143
|
+
Mainnet launched **January 29, 2026**. 19,000+ agents already registered.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Use Cases
|
|
148
|
+
|
|
149
|
+
### Copy Trading Verification
|
|
150
|
+
|
|
151
|
+
Before copying a trader, verify their identity:
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
const result = await verifyAgent(traderAgentId);
|
|
155
|
+
if (!result.verified) {
|
|
156
|
+
console.warn('UNVERIFIED TRADER - Proceed with caution');
|
|
157
|
+
}
|
|
158
|
+
if (result.reputation?.averageScore < 50) {
|
|
159
|
+
console.warn('LOW REPUTATION - Consider skipping');
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Whale Tracking
|
|
164
|
+
|
|
165
|
+
Verify whale identity claims:
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
const isVerified = await hasIdentity(whaleAddress);
|
|
169
|
+
// Only trust signals from verified whales
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Bot-to-Bot Communication
|
|
173
|
+
|
|
174
|
+
Verify other agents before interaction:
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
const agent = await client.getAgent(otherAgentId);
|
|
178
|
+
if (agent?.card?.endpoints?.find(e => e.name === 'A2A')) {
|
|
179
|
+
// Safe to communicate via A2A protocol
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Best Practices
|
|
186
|
+
|
|
187
|
+
1. **Always verify before copy trading** - Don't trust unverified traders
|
|
188
|
+
2. **Check reputation scores** - Low scores indicate potential issues
|
|
189
|
+
3. **Verify on the right network** - Use same network as trading
|
|
190
|
+
4. **Register your bot** - Build trust with verified identity
|
|
191
|
+
5. **Give feedback** - Help build the trust graph
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Links
|
|
196
|
+
|
|
197
|
+
- [ERC-8004 Spec](https://eips.ethereum.org/EIPS/eip-8004)
|
|
198
|
+
- [Reference Implementation](https://github.com/nuwa-protocol/nuwa-8004)
|
|
199
|
+
- [Awesome ERC-8004](https://github.com/sudeepb02/awesome-erc8004)
|
|
@@ -151,7 +151,6 @@ exports.default = {
|
|
|
151
151
|
name: 'verify',
|
|
152
152
|
description: 'ERC-8004 on-chain agent identity verification to prevent impersonation',
|
|
153
153
|
commands: ['/verify'],
|
|
154
|
-
requires: { env: ['PRIVATE_KEY'] },
|
|
155
154
|
handle: execute,
|
|
156
155
|
};
|
|
157
156
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/verify/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/verify/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: virtuals
|
|
3
|
+
description: "Virtuals Protocol AI Agent marketplace (Base chain)"
|
|
4
|
+
emoji: "🤖"
|
|
5
|
+
commands:
|
|
6
|
+
- /virt
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Virtuals Protocol
|
|
10
|
+
|
|
11
|
+
Integration with Virtuals Protocol, an AI Agent marketplace on Base chain. View agents, prices, and bonding curve data.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Search agents
|
|
17
|
+
/virt search luna
|
|
18
|
+
|
|
19
|
+
# Get agent details
|
|
20
|
+
/virt agent <id>
|
|
21
|
+
|
|
22
|
+
# Trending agents
|
|
23
|
+
/virt trending
|
|
24
|
+
|
|
25
|
+
# New agents
|
|
26
|
+
/virt new
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Commands
|
|
30
|
+
|
|
31
|
+
| Command | Description |
|
|
32
|
+
|---------|-------------|
|
|
33
|
+
| `/virt search [query]` | Search agents |
|
|
34
|
+
| `/virt agent <id>` | Get agent details |
|
|
35
|
+
| `/virt agents` | List all agents |
|
|
36
|
+
| `/virt trending` | Trending agents (by volume) |
|
|
37
|
+
| `/virt new` | Recently launched agents |
|
|
38
|
+
| `/virt price <tokenAddress>` | Get bonding curve price |
|
|
39
|
+
| `/virt graduation <tokenAddress>` | Check graduation progress |
|
|
40
|
+
|
|
41
|
+
**Examples:**
|
|
42
|
+
```bash
|
|
43
|
+
/virt search gaming # Search gaming agents
|
|
44
|
+
/virt agent abc123 # Get specific agent
|
|
45
|
+
/virt trending # Top volume agents
|
|
46
|
+
/virt graduation 0x... # Check if graduated
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Features
|
|
50
|
+
|
|
51
|
+
- **AI Agents** - Discover AI agents with unique personalities
|
|
52
|
+
- **Bonding Curves** - Price discovery via bonding curves
|
|
53
|
+
- **Graduation** - Track agents graduating to Uniswap
|
|
54
|
+
- **Categories** - Gaming, social, utility, etc.
|
|
55
|
+
|
|
56
|
+
## Agent Status
|
|
57
|
+
|
|
58
|
+
| Status | Description |
|
|
59
|
+
|--------|-------------|
|
|
60
|
+
| prototype | New, on bonding curve |
|
|
61
|
+
| sentient | Active, growing community |
|
|
62
|
+
| graduated | Migrated to Uniswap |
|
|
63
|
+
|
|
64
|
+
## Bonding Curve
|
|
65
|
+
|
|
66
|
+
Agents start on bonding curves:
|
|
67
|
+
- Price increases with demand
|
|
68
|
+
- ~42K VIRTUAL triggers graduation
|
|
69
|
+
- Graduation creates Uniswap pair
|
|
70
|
+
- LP tokens sent to creator vault
|
|
71
|
+
|
|
72
|
+
## Configuration
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Optional - custom RPC
|
|
76
|
+
export BASE_RPC_URL="https://mainnet.base.org"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Resources
|
|
80
|
+
|
|
81
|
+
- [Virtuals Protocol](https://virtuals.io/)
|
|
82
|
+
- [Base Chain](https://base.org/)
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: voice
|
|
3
|
+
description: "Voice recognition, wake words, and voice-controlled trading"
|
|
4
|
+
emoji: "🎤"
|
|
5
|
+
gates:
|
|
6
|
+
envs:
|
|
7
|
+
anyOf:
|
|
8
|
+
- OPENAI_API_KEY
|
|
9
|
+
- WHISPER_MODEL_PATH
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Voice - Complete API Reference
|
|
13
|
+
|
|
14
|
+
Voice-controlled interface with wake word detection, speech-to-text, and text-to-speech.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Chat Commands
|
|
19
|
+
|
|
20
|
+
### Voice Control
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/voice start Start voice listening
|
|
24
|
+
/voice stop Stop voice listening
|
|
25
|
+
/voice status Check voice status
|
|
26
|
+
/voice wake "hey clodds" Set wake word
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Settings
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
/voice language en-US Set language
|
|
33
|
+
/voice sensitivity high Wake word sensitivity
|
|
34
|
+
/voice timeout 30 Silence timeout (seconds)
|
|
35
|
+
/voice continuous on Enable continuous mode
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## TypeScript API Reference
|
|
41
|
+
|
|
42
|
+
### Create Voice Assistant
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import { createVoiceAssistant } from 'clodds/voice';
|
|
46
|
+
|
|
47
|
+
const voice = createVoiceAssistant({
|
|
48
|
+
// Wake word
|
|
49
|
+
wakeWord: 'hey clodds',
|
|
50
|
+
wakeWordSensitivity: 0.5, // 0-1
|
|
51
|
+
|
|
52
|
+
// Speech-to-text
|
|
53
|
+
stt: {
|
|
54
|
+
provider: 'whisper', // 'whisper' | 'vosk' | 'google'
|
|
55
|
+
model: 'base', // 'tiny' | 'base' | 'small' | 'medium' | 'large'
|
|
56
|
+
language: 'en',
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
// Text-to-speech
|
|
60
|
+
tts: {
|
|
61
|
+
provider: 'elevenlabs', // 'elevenlabs' | 'say' | 'espeak'
|
|
62
|
+
voice: 'rachel',
|
|
63
|
+
speed: 1.0,
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
// Timeouts
|
|
67
|
+
silenceTimeoutMs: 3000,
|
|
68
|
+
maxRecordingMs: 30000,
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Start/Stop Listening
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// Start listening for wake word
|
|
76
|
+
await voice.start();
|
|
77
|
+
|
|
78
|
+
// Check if listening
|
|
79
|
+
const isListening = voice.isListening();
|
|
80
|
+
|
|
81
|
+
// Stop listening
|
|
82
|
+
await voice.stop();
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Event Handlers
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// Wake word detected
|
|
89
|
+
voice.on('wake', () => {
|
|
90
|
+
console.log('Wake word detected!');
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// Speech recognized
|
|
94
|
+
voice.on('speech', (text: string) => {
|
|
95
|
+
console.log(`User said: ${text}`);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
// Transcription complete
|
|
99
|
+
voice.on('transcript', (result) => {
|
|
100
|
+
console.log(`Final: ${result.text}`);
|
|
101
|
+
console.log(`Confidence: ${result.confidence}`);
|
|
102
|
+
console.log(`Duration: ${result.durationMs}ms`);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Error handling
|
|
106
|
+
voice.on('error', (error) => {
|
|
107
|
+
console.error('Voice error:', error);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
// Silence detected
|
|
111
|
+
voice.on('silence', () => {
|
|
112
|
+
console.log('User stopped speaking');
|
|
113
|
+
});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Speak (TTS)
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
// Speak text
|
|
120
|
+
await voice.speak('Your order has been placed');
|
|
121
|
+
|
|
122
|
+
// Speak with options
|
|
123
|
+
await voice.speak('Market is up 5%', {
|
|
124
|
+
voice: 'josh',
|
|
125
|
+
speed: 1.2,
|
|
126
|
+
pitch: 1.0,
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
// Cancel speaking
|
|
130
|
+
voice.cancelSpeech();
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Manual Transcription
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
// Transcribe audio buffer
|
|
137
|
+
const result = await voice.transcribe(audioBuffer, {
|
|
138
|
+
language: 'en',
|
|
139
|
+
prompt: 'Trading commands', // Context hint
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
console.log(`Text: ${result.text}`);
|
|
143
|
+
console.log(`Language: ${result.language}`);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Voice Activity Detection
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// Check if user is speaking
|
|
150
|
+
const vad = voice.getVAD();
|
|
151
|
+
|
|
152
|
+
vad.on('speechStart', () => {
|
|
153
|
+
console.log('User started speaking');
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
vad.on('speechEnd', (audio) => {
|
|
157
|
+
console.log('User stopped speaking');
|
|
158
|
+
// audio contains the recorded speech
|
|
159
|
+
});
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Wake Word Configuration
|
|
165
|
+
|
|
166
|
+
| Setting | Values | Description |
|
|
167
|
+
|---------|--------|-------------|
|
|
168
|
+
| `wakeWord` | Any phrase | Trigger phrase |
|
|
169
|
+
| `sensitivity` | 0.0 - 1.0 | Detection threshold |
|
|
170
|
+
|
|
171
|
+
**Built-in wake words:**
|
|
172
|
+
- "hey clodds"
|
|
173
|
+
- "okay clodds"
|
|
174
|
+
- "clodds"
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## STT Providers
|
|
179
|
+
|
|
180
|
+
| Provider | Quality | Speed | Offline |
|
|
181
|
+
|----------|---------|-------|---------|
|
|
182
|
+
| **Whisper** | Excellent | Medium | Yes |
|
|
183
|
+
| **Vosk** | Good | Fast | Yes |
|
|
184
|
+
| **Google** | Excellent | Fast | No |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## TTS Providers
|
|
189
|
+
|
|
190
|
+
| Provider | Quality | Voices | API Key |
|
|
191
|
+
|----------|---------|--------|---------|
|
|
192
|
+
| **ElevenLabs** | Premium | 30+ | Required |
|
|
193
|
+
| **say** (macOS) | Good | System | None |
|
|
194
|
+
| **espeak** | Basic | Many | None |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Voice Commands Examples
|
|
199
|
+
|
|
200
|
+
Once voice is active, speak naturally:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
"Hey Clodds, what's my portfolio value?"
|
|
204
|
+
"Hey Clodds, buy 100 dollars of Trump YES"
|
|
205
|
+
"Hey Clodds, what are the top arbitrage opportunities?"
|
|
206
|
+
"Hey Clodds, set a price alert for Bitcoin at 100k"
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Best Practices
|
|
212
|
+
|
|
213
|
+
1. **Quiet environment** — Background noise affects accuracy
|
|
214
|
+
2. **Clear speech** — Speak clearly for best recognition
|
|
215
|
+
3. **Short commands** — Keep voice commands concise
|
|
216
|
+
4. **Confirmation** — Enable confirmations for trades
|
|
217
|
+
5. **Fallback** — Text input always available
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/voice/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,KAAK,UAAU,OAAO,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,EACJ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,oBAAoB,GACrB,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAEzC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,uBAAuB;gBACvB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,SAAS,IAAI,CAAC;oBAAE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,OAAO,IAAI,CAAC;oBAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAEvD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAE/C,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;oBACxB,OAAO,mCAAmC;wBACxC,eAAe,MAAM,CAAC,SAAS,IAAI,SAAS,IAAI;wBAChD,aAAa,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI;wBAC3C,6BAA6B;wBAC7B,oDAAoD,CAAC;gBACzD,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,OAAO,6BAA6B,GAAG,2EAA2E,CAAC;gBACrH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBAC3C,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC5B,OAAO,4BAA4B,CAAC;YACtC,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;gBACrD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBAE7C,OAAO,sBAAsB;oBAC3B,kBAAkB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,IAAI;oBAC3E,kBAAkB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B,IAAI;oBACzE,+BAA+B;oBAC/B,2BAA2B;oBAC3B,iBAAiB,CAAC;YACtB,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAExC,mCAAmC;gBACnC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC7F,MAAM,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;oBAC3C,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;oBAErD,OAAO,sBAAsB;wBAC3B,uBAAuB,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,IAAI;wBACvE,mBAAmB;wBACnB,2BAA2B;wBAC3B,mBAAmB;wBACnB,yBAAyB;wBACzB,oBAAoB;wBACpB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,2BAA2B;wBAC3B,gCAAgC;wBAChC,4CAA4C,CAAC;gBACjD,CAAC;gBAED,0BAA0B;gBAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;gBACjC,IAAI,YAAY,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClF,IAAI,YAAY,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClF,IAAI,OAAO,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,cAAc,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvF,IAAI,OAAO,IAAI,CAAC;oBAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEzF,OAAO,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ;oBAAE,OAAO,wEAAwE,CAAC;gBAE/F,uDAAuD;gBACvD,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;gBAErD,OAAO,2BAA2B;oBAChC,eAAe,QAAQ,KAAK;oBAC5B,kBAAkB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM;oBACnD,mCAAmC,CAAC;YACxC,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,+FAA+F,CAAC;gBACzG,CAAC;gBAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,+BAA+B,CAAC;gBAC/E,MAAM,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5B,OAAO,6BAA6B,UAAU,GAAG,CAAC;YACpD,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,gDAAgD,CAAC;gBAC1D,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,OAAO,uCAAuC,CAAC;gBACjD,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,OAAO,oBAAoB,MAAM,CAAC,MAAM,UAAU,MAAM,GAAG,IAAI,EAAE,CAAC;YACpE,CAAC;YAED;gBACE,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/skills/bundled/voice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: weather
|
|
3
|
+
description: "Weather betting - NOAA data for Polymarket weather markets"
|
|
4
|
+
command: weather
|
|
5
|
+
emoji: "🌤️"
|
|
6
|
+
gates:
|
|
7
|
+
envs:
|
|
8
|
+
- POLY_API_KEY
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Weather Betting
|
|
12
|
+
|
|
13
|
+
Use NOAA weather forecasts to find edge on Polymarket weather markets.
|
|
14
|
+
|
|
15
|
+
## Commands
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
/weather scan Scan all weather markets for edge
|
|
19
|
+
/weather forecast <city> Get NOAA forecast for a city
|
|
20
|
+
/weather markets List active weather markets
|
|
21
|
+
/weather edge <market-id> Calculate edge for specific market
|
|
22
|
+
/weather bet <market-id> <amount> Execute bet
|
|
23
|
+
/weather auto [--threshold 10] Auto-bet on high-edge markets
|
|
24
|
+
/weather history View bet history
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/weather forecast "New York"
|
|
31
|
+
/weather scan
|
|
32
|
+
/weather edge abc123
|
|
33
|
+
/weather bet abc123 10
|
|
34
|
+
/weather auto --threshold 15
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## How It Works
|
|
38
|
+
|
|
39
|
+
1. **Fetch NOAA Forecast**: Get official NWS weather data (free, no API key)
|
|
40
|
+
2. **Match to Markets**: Find Polymarket weather markets for the same location/date
|
|
41
|
+
3. **Calculate Edge**: Compare NOAA probability to market YES price
|
|
42
|
+
4. **Bet if Edge**: If NOAA probability differs significantly from market, bet
|
|
43
|
+
|
|
44
|
+
## Edge Calculation
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
Edge = NOAA Probability - Market Price
|
|
48
|
+
|
|
49
|
+
Example:
|
|
50
|
+
NOAA says 80% chance of rain in NYC tomorrow
|
|
51
|
+
Polymarket "Will it rain in NYC?" YES price: 0.65 (65%)
|
|
52
|
+
Edge = 80% - 65% = +15% -> Bet YES
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Supported Market Types
|
|
56
|
+
|
|
57
|
+
- **Temperature**: "Will NYC exceed 90°F on Saturday?"
|
|
58
|
+
- **Precipitation**: "Will it rain in LA tomorrow?"
|
|
59
|
+
- **Snow**: "Will Chicago get 6+ inches of snow?"
|
|
60
|
+
- **Record**: "Will Phoenix hit a record high this week?"
|
|
61
|
+
|
|
62
|
+
## Confidence Levels
|
|
63
|
+
|
|
64
|
+
- **High**: Edge >= 15%, reliable forecast data
|
|
65
|
+
- **Medium**: Edge 10-15%, some uncertainty
|
|
66
|
+
- **Low**: Edge 5-10%, more speculative
|
|
67
|
+
|
|
68
|
+
## Position Sizing
|
|
69
|
+
|
|
70
|
+
Uses quarter-Kelly criterion for conservative sizing:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Bet Size = Bankroll * (Edge / Odds) * 0.25
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Capped at 10% of bankroll per bet.
|
|
77
|
+
|
|
78
|
+
## Supported Cities
|
|
79
|
+
|
|
80
|
+
Major US cities including: New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, San Antonio, San Diego, Dallas, San Jose, Austin, Jacksonville, San Francisco, Seattle, Denver, Washington DC, Boston, Nashville, Detroit, and more.
|
|
@@ -272,6 +272,9 @@ Minimum recommended: 5%`;
|
|
|
272
272
|
// Calculate shares from dollar amount
|
|
273
273
|
// shares = amount / price
|
|
274
274
|
const price = side === 'YES' ? edge.marketPrice : (1 - edge.marketPrice);
|
|
275
|
+
if (price <= 0) {
|
|
276
|
+
return `Cannot calculate shares: market price is ${(edge.marketPrice * 100).toFixed(1)}%.`;
|
|
277
|
+
}
|
|
275
278
|
const shares = Math.floor(amount / price);
|
|
276
279
|
if (shares < 1) {
|
|
277
280
|
return `Amount too small. Minimum bet is $${price.toFixed(2)} for 1 share.`;
|