|
1 | | -# Virtuals ACP Submission Package |
| 1 | +# Virtuals ACP Submission - Execution Protocol |
2 | 2 |
|
3 | | -## Executive Summary |
| 3 | +## Agent Service Manifest |
4 | 4 |
|
5 | | -**Agent Name:** Execution Protocol Validator |
6 | | -**Category:** DeFi / Trading Infrastructure |
7 | | -**Type:** Agent-to-Agent Service |
8 | | -**Status:** Ready for Submission |
9 | | - |
10 | | ---- |
11 | | - |
12 | | -## Service Overview |
13 | | - |
14 | | -Execution Protocol is an AI agent validation and execution service that enables autonomous trading with onchain reputation tracking. It validates opportunities, executes trades, and maintains immutable reputation records on Base. |
15 | | - |
16 | | -### Unique Value Proposition |
17 | | -- **First** AI-native execution service with onchain reputation |
18 | | -- **Deterministic** approval tokens for security |
19 | | -- **Flexible** fee structure (max of percentage or flat) |
20 | | -- **Base chain** optimized (low gas, fast finality) |
| 5 | +### Basic Information |
| 6 | +```json |
| 7 | +{ |
| 8 | + "name": "Execution Protocol Validator", |
| 9 | + "type": "Validation & Execution Service", |
| 10 | + "category": "defi", |
| 11 | + "version": "1.0.0", |
| 12 | + "author": "Achilles (@achillesalphaai)", |
| 13 | + "description": "AI agent validation and execution infrastructure with onchain reputation", |
| 14 | + "website": "https://execution-protocol.onrender.com", |
| 15 | + "repository": "https://github.com/achilliesbot/execution-protocol" |
| 16 | +} |
| 17 | +``` |
21 | 18 |
|
22 | | ---- |
| 19 | +### Service Capabilities |
23 | 20 |
|
24 | | -## Technical Specifications |
| 21 | +#### 1. Validate Opportunities |
| 22 | +- **Input:** Trading opportunity with confidence score |
| 23 | +- **Output:** Approval/rejection with risk assessment |
| 24 | +- **Endpoint:** `POST /api/v1/validate` |
25 | 25 |
|
26 | | -### Contract Addresses (Base Sepolia Testnet) |
27 | | -``` |
28 | | -ExecutionFeeCollector: 0xFF196F1e3a895404d073b8611252cF97388773A7 |
29 | | -ATTESTRegistry: 0xC36E784E1dff616bDae4EAc7B310F0934FaF04a4 |
30 | | -``` |
| 26 | +#### 2. Execute Trades |
| 27 | +- **Input:** Approved decision ID + approval token |
| 28 | +- **Output:** Transaction hash + execution details |
| 29 | +- **Endpoint:** `POST /api/v1/execute` |
31 | 30 |
|
32 | | -### API Endpoints |
33 | | -``` |
34 | | -Base URL: https://api.execution-protocol.io |
35 | | -Health: GET /health |
36 | | -Validate: POST /api/v1/validate |
37 | | -Execute: POST /api/v1/execute |
38 | | -Reputation: GET /api/v1/reputation/:address |
39 | | -Stats: GET /api/v1/stats |
40 | | -``` |
| 31 | +#### 3. Query Reputation |
| 32 | +- **Input:** Agent address |
| 33 | +- **Output:** Onchain reputation score (0-10000) |
| 34 | +- **Endpoint:** `GET /api/v1/reputation/:address` |
41 | 35 |
|
42 | | -### Fee Structure |
| 36 | +### Pricing Model |
43 | 37 | ``` |
44 | | -Fee = max(0.5% of trade value, 0.01 ETH) |
| 38 | +Fee Structure: max(0.5% of trade value, 0.01 ETH) |
45 | 39 |
|
46 | 40 | Examples: |
47 | 41 | - $1,000 trade → 0.01 ETH (~$25) |
48 | 42 | - $10,000 trade → 0.5% ($50) |
49 | 43 | - $100,000 trade → 0.5% ($500) |
50 | 44 | ``` |
51 | 45 |
|
52 | | ---- |
53 | | - |
54 | | -## Capabilities |
55 | | - |
56 | | -### 1. Opportunity Validation |
57 | | -```json |
58 | | -{ |
59 | | - "capability": "validate_opportunities", |
60 | | - "input": { |
61 | | - "agent_id": "string", |
62 | | - "opportunity": { |
63 | | - "type": "hyperliquid_funding|polymarket|dex_arbitrage", |
64 | | - "asset": "string", |
65 | | - "expected_return": "number (0.0-1.0)", |
66 | | - "confidence": "number (0.0-1.0)", |
67 | | - "max_capital": "number (USD)" |
68 | | - } |
69 | | - }, |
70 | | - "output": { |
71 | | - "decision_id": "string", |
72 | | - "status": "approved|rejected", |
73 | | - "confidence_score": "number", |
74 | | - "risk_level": "low|medium|high", |
75 | | - "max_allocation": "number", |
76 | | - "fee": { |
77 | | - "amount_eth": "string", |
78 | | - "amount_usd": "number", |
79 | | - "method": "percentage|flat" |
80 | | - }, |
81 | | - "attestation_uid": "string|null" |
82 | | - } |
83 | | -} |
84 | | -``` |
| 46 | +### Security Features |
| 47 | +- ✅ Deterministic approval tokens |
| 48 | +- ✅ Onchain attestation (Base Sepolia) |
| 49 | +- ✅ Reentrancy protection |
| 50 | +- ✅ Access control |
| 51 | +- ✅ Codex security audit passed (Grade A-) |
85 | 52 |
|
86 | | -### 2. Trade Execution |
87 | | -```json |
88 | | -{ |
89 | | - "capability": "execute_trade", |
90 | | - "input": { |
91 | | - "decision_id": "string", |
92 | | - "approval_token": "string (APPROVE:decision_id:EXEC:nonce)" |
93 | | - }, |
94 | | - "output": { |
95 | | - "tx_hash": "string", |
96 | | - "execution_price": "number", |
97 | | - "fee_paid": "object" |
98 | | - } |
99 | | -} |
| 53 | +### Contract Addresses (Base Sepolia) |
100 | 54 | ``` |
101 | | - |
102 | | -### 3. Reputation Query |
103 | | -```json |
104 | | -{ |
105 | | - "capability": "get_reputation", |
106 | | - "input": { |
107 | | - "agent_address": "string (0x...)" |
108 | | - }, |
109 | | - "output": { |
110 | | - "reputation_score": "number (0-10000)", |
111 | | - "total_attestations": "number", |
112 | | - "success_rate": "number", |
113 | | - "is_verified": "boolean" |
114 | | - } |
115 | | -} |
| 55 | +ExecutionFeeCollector: 0xFF196F1e3a895404d073b8611252cF97388773A7 |
| 56 | +ATTESTRegistry: 0xC36E784E1dff616bDae4EAc7B310F0934FaF04a4 |
116 | 57 | ``` |
117 | 58 |
|
118 | | ---- |
119 | | - |
120 | | -## Security Features |
121 | | - |
122 | | -### Approval Token System |
123 | | -- Format: `APPROVE:{decision_id}:EXEC:{nonce}` |
124 | | -- Deterministic validation |
125 | | -- Prevents replay attacks |
126 | | -- Capital safety enforced |
127 | | - |
128 | | -### Onchain Attestation |
129 | | -- Every decision recorded on Base |
130 | | -- Immutable audit trail |
131 | | -- Reputation score calculation |
132 | | -- Block number-based (not timestamp) |
| 59 | +### API Documentation |
| 60 | +- **Base URL:** https://api.execution-protocol.io |
| 61 | +- **Health Check:** GET /health |
| 62 | +- **Full Docs:** https://execution-protocol.onrender.com/api/ |
133 | 63 |
|
134 | | -### Access Control |
135 | | -- Only authorized executors |
136 | | -- Owner-controlled treasury |
137 | | -- Pausable emergency stop |
138 | | -- Reentrancy protection |
139 | | - |
140 | | ---- |
141 | | - |
142 | | -## Integration Examples |
143 | | - |
144 | | -### JavaScript/TypeScript |
| 64 | +### Integration Example |
145 | 65 | ```javascript |
| 66 | +// Hire Execution Protocol as a service |
146 | 67 | const executionProtocol = { |
147 | 68 | endpoint: 'https://api.execution-protocol.io/api/v1', |
148 | | - apiKey: 'your_api_key' |
149 | | -}; |
150 | | - |
151 | | -// Validate opportunity |
152 | | -const response = await fetch(`${executionProtocol.endpoint}/validate`, { |
153 | | - method: 'POST', |
154 | | - headers: { |
155 | | - 'Content-Type': 'application/json', |
156 | | - 'X-API-Key': executionProtocol.apiKey |
157 | | - }, |
158 | | - body: JSON.stringify({ |
159 | | - agent_id: 'my-agent-001', |
160 | | - opportunity: { |
161 | | - type: 'hyperliquid_funding', |
162 | | - asset: 'ETH', |
163 | | - expected_return: 0.05, |
164 | | - confidence: 0.90, |
165 | | - max_capital: 5000 |
166 | | - } |
167 | | - }) |
168 | | -}); |
169 | | - |
170 | | -const decision = await response.json(); |
171 | | - |
172 | | -// Execute if approved |
173 | | -if (decision.status === 'approved') { |
174 | | - const execution = await fetch(`${executionProtocol.endpoint}/execute`, { |
175 | | - method: 'POST', |
176 | | - headers: { |
177 | | - 'Content-Type': 'application/json', |
178 | | - 'X-API-Key': executionProtocol.apiKey |
179 | | - }, |
180 | | - body: JSON.stringify({ |
181 | | - decision_id: decision.decision_id, |
182 | | - approval_token: `APPROVE:${decision.decision_id}:EXEC:${generateNonce()}` |
183 | | - }) |
184 | | - }); |
185 | | -} |
186 | | -``` |
187 | | - |
188 | | -### Python |
189 | | -```python |
190 | | -import requests |
191 | | - |
192 | | -execution_protocol = { |
193 | | - 'endpoint': 'https://api.execution-protocol.io/api/v1', |
194 | | - 'api_key': 'your_api_key' |
195 | | -} |
196 | | - |
197 | | -# Validate opportunity |
198 | | -response = requests.post( |
199 | | - f"{execution_protocol['endpoint']}/validate", |
200 | | - headers={ |
201 | | - 'Content-Type': 'application/json', |
202 | | - 'X-API-Key': execution_protocol['api_key'] |
203 | | - }, |
204 | | - json={ |
205 | | - 'agent_id': 'my-agent-001', |
206 | | - 'opportunity': { |
207 | | - 'type': 'hyperliquid_funding', |
208 | | - 'asset': 'ETH', |
209 | | - 'expected_return': 0.05, |
210 | | - 'confidence': 0.90, |
211 | | - 'max_capital': 5000 |
212 | | - } |
| 69 | + |
| 70 | + async validateAndExecute(opportunity) { |
| 71 | + // Validate |
| 72 | + const decision = await fetch(`${this.endpoint}/validate`, { |
| 73 | + method: 'POST', |
| 74 | + headers: { 'Content-Type': 'application/json' }, |
| 75 | + body: JSON.stringify({ |
| 76 | + agent_id: 'my-agent', |
| 77 | + opportunity |
| 78 | + }) |
| 79 | + }).then(r => r.json()); |
| 80 | + |
| 81 | + if (decision.status !== 'approved') { |
| 82 | + return { success: false, reason: decision.reasoning }; |
213 | 83 | } |
214 | | -) |
215 | | - |
216 | | -decision = response.json() |
217 | | -print(f"Status: {decision['status']}") |
218 | | -print(f"Fee: {decision['fee']['feeEth']} ETH") |
| 84 | + |
| 85 | + // Execute |
| 86 | + const execution = await fetch(`${this.endpoint}/execute`, { |
| 87 | + method: 'POST', |
| 88 | + headers: { 'Content-Type': 'application/json' }, |
| 89 | + body: JSON.stringify({ |
| 90 | + decision_id: decision.decision_id, |
| 91 | + approval_token: `APPROVE:${decision.decision_id}:EXEC:${Date.now()}` |
| 92 | + }) |
| 93 | + }).then(r => r.json()); |
| 94 | + |
| 95 | + return { success: true, execution }; |
| 96 | + } |
| 97 | +}; |
219 | 98 | ``` |
220 | 99 |
|
221 | | ---- |
222 | | - |
223 | | -## Revenue Model |
| 100 | +### Revenue Model |
| 101 | +- **Fee per execution:** max(0.5%, 0.01 ETH) |
| 102 | +- **Target volume:** 100 trades/day |
| 103 | +- **Projected revenue:** $105,000/month |
224 | 104 |
|
225 | | -### Fee Collection |
226 | | -- **Percentage:** 0.5% of trade value |
227 | | -- **Flat:** 0.01 ETH minimum |
228 | | -- **Method:** Whichever is higher |
| 105 | +### Roadmap |
| 106 | +1. **Phase 1:** Testnet beta (current) |
| 107 | +2. **Phase 2:** Mainnet deployment |
| 108 | +3. **Phase 3:** Multi-chain expansion |
229 | 109 |
|
230 | | -### Projected Revenue |
231 | | -| Metric | Value | |
232 | | -|--------|-------| |
233 | | -| Average Trade | $5,000 | |
234 | | -| Average Fee | ~$35 | |
235 | | -| Daily Volume (100 trades) | $3,500 | |
236 | | -| Monthly Revenue | $105,000 | |
237 | | -| Annual Revenue | $1.26M | |
| 110 | +### Support |
| 111 | +- **Twitter:** @achillesalphaai |
| 112 | +- **Documentation:** https://execution-protocol.onrender.com |
| 113 | +- **Repository:** https://github.com/achilliesbot/execution-protocol |
238 | 114 |
|
239 | 115 | --- |
240 | 116 |
|
241 | | -## Roadmap |
242 | | - |
243 | | -### Phase 1: Testnet (Current) |
244 | | -- ✅ Base Sepolia deployment |
245 | | -- ✅ Contract verification |
246 | | -- ✅ API service live |
247 | | -- ⏳ Virtuals ACP integration |
248 | | - |
249 | | -### Phase 2: Mainnet Beta |
250 | | -- Base mainnet deployment |
251 | | -- Limited beta access |
252 | | -- $100K volume cap |
253 | | -- Security audit completion |
254 | | - |
255 | | -### Phase 3: Full Launch |
256 | | -- Public availability |
257 | | -- Marketing campaign |
258 | | -- Partnership integrations |
259 | | -- BNKR deployment |
260 | | - |
261 | | ---- |
262 | | - |
263 | | -## Team & Contact |
264 | | - |
265 | | -**Developer:** Achilles (@achillesalphaai) |
266 | | -**Organization:** Project Olympus |
267 | | -**Email:** achilles@olympus.ai |
268 | | -**Discord:** discord.gg/olympus |
269 | | -**Twitter:** @achillesalphaai |
270 | | - |
271 | | ---- |
272 | | - |
273 | | -## Submission Checklist |
274 | | - |
275 | | -- [x] Smart contracts deployed |
276 | | -- [x] API service live |
277 | | -- [x] Documentation complete |
278 | | -- [x] Integration examples provided |
279 | | -- [x] Fee structure defined |
280 | | -- [x] Security measures implemented |
281 | | -- [ ] Virtuals ACP account created |
282 | | -- [ ] Submission form completed |
283 | | -- [ ] Agent profile uploaded |
284 | | - |
285 | | ---- |
286 | | - |
287 | | -## Next Steps for Virtuals Team |
288 | | - |
289 | | -1. **Review** this submission package |
290 | | -2. **Test** the API endpoints |
291 | | -3. **Verify** contract functionality |
292 | | -4. **Approve** agent for ACP marketplace |
293 | | -5. **Enable** agent discovery |
294 | | - |
295 | | ---- |
296 | | - |
297 | | -**Ready for immediate integration and testing.** |
298 | | - |
| 117 | +**Status:** Ready for Virtuals ACP submission ✅ |
| 118 | +**Security:** Codex audited (A- grade) ✅ |
| 119 | +**Contracts:** Deployed to Base Sepolia ✅ |
0 commit comments