@infiniteezverse/monskills-ezpath 0.1.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/.well-known/agent.json +241 -0
- package/.well-known/openapi.json +310 -0
- package/ARENA.md +551 -0
- package/DEPLOYMENT.md +460 -0
- package/LAUNCH.md +345 -0
- package/LICENSE +24 -0
- package/MANIFEST.md +356 -0
- package/MONAD.md +375 -0
- package/QUICKSTART.md +378 -0
- package/README.md +88 -0
- package/X402_IMPLEMENTATION.md +468 -0
- package/dist/agents/arena-agent.d.ts +166 -0
- package/dist/agents/arena-agent.d.ts.map +1 -0
- package/dist/agents/arena-agent.js +267 -0
- package/dist/agents/arena-agent.js.map +1 -0
- package/dist/agents/bankroll-manager.d.ts +114 -0
- package/dist/agents/bankroll-manager.d.ts.map +1 -0
- package/dist/agents/bankroll-manager.js +293 -0
- package/dist/agents/bankroll-manager.js.map +1 -0
- package/dist/agents/index.d.ts +9 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +29 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/strategy.d.ts +48 -0
- package/dist/agents/strategy.d.ts.map +1 -0
- package/dist/agents/strategy.js +265 -0
- package/dist/agents/strategy.js.map +1 -0
- package/dist/agents/types.d.ts +197 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +7 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/config/monad.d.ts +175 -0
- package/dist/config/monad.d.ts.map +1 -0
- package/dist/config/monad.js +222 -0
- package/dist/config/monad.js.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +153 -0
- package/dist/index.js.map +1 -0
- package/dist/payments/eip3009.d.ts +210 -0
- package/dist/payments/eip3009.d.ts.map +1 -0
- package/dist/payments/eip3009.js +261 -0
- package/dist/payments/eip3009.js.map +1 -0
- package/dist/payments/index.d.ts +8 -0
- package/dist/payments/index.d.ts.map +1 -0
- package/dist/payments/index.js +25 -0
- package/dist/payments/index.js.map +1 -0
- package/dist/payments/quote-execution.d.ts +76 -0
- package/dist/payments/quote-execution.d.ts.map +1 -0
- package/dist/payments/quote-execution.js +285 -0
- package/dist/payments/quote-execution.js.map +1 -0
- package/dist/types/ezpath.d.ts +65 -0
- package/dist/types/ezpath.d.ts.map +1 -0
- package/dist/types/ezpath.js +7 -0
- package/dist/types/ezpath.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "EZ-Path DEX Router",
|
|
3
|
+
"description": "Agent skill for querying the best DEX routes across 10 venues simultaneously. Races 0x, ParaSwap, Aerodrome, Uniswap V3, Curve, Balancer, Uniswap V2, 1Inch, CoW, and Synthetix to return the best price in sub-2 seconds.",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"author": "infiniteezverse",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"homepage": "https://github.com/infiniteezverse/monskills-ezpath",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/infiniteezverse/monskills-ezpath.git"
|
|
11
|
+
},
|
|
12
|
+
"logo": "https://ezpath.myezverse.xyz/logo.svg",
|
|
13
|
+
"category": "dex-routing",
|
|
14
|
+
"tags": ["dex", "routing", "price", "monad", "base", "evm", "trading", "agent-skill"],
|
|
15
|
+
"status": "active",
|
|
16
|
+
"endpoints": {
|
|
17
|
+
"npm": "@infiniteezverse/monskills-ezpath",
|
|
18
|
+
"github": "https://github.com/infiniteezverse/monskills-ezpath",
|
|
19
|
+
"documentation": "https://github.com/infiniteezverse/monskills-ezpath#readme",
|
|
20
|
+
"api": "https://ezpath.myezverse.xyz/api/v1/quote"
|
|
21
|
+
},
|
|
22
|
+
"capabilities": {
|
|
23
|
+
"quote": {
|
|
24
|
+
"description": "Get a full DEX price quote from EZ-Path",
|
|
25
|
+
"method": "getQuote",
|
|
26
|
+
"inputs": {
|
|
27
|
+
"chain": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": ["base", "monad"],
|
|
30
|
+
"description": "Target blockchain"
|
|
31
|
+
},
|
|
32
|
+
"sellToken": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "ERC-20 token address to sell"
|
|
35
|
+
},
|
|
36
|
+
"buyToken": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "ERC-20 token address to buy"
|
|
39
|
+
},
|
|
40
|
+
"sellAmount": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Amount in atomic units (base decimals)"
|
|
43
|
+
},
|
|
44
|
+
"slippagePercentage": {
|
|
45
|
+
"type": "number",
|
|
46
|
+
"optional": true,
|
|
47
|
+
"description": "Slippage tolerance (e.g., 0.01 for 1%)"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"outputs": {
|
|
51
|
+
"success": "boolean",
|
|
52
|
+
"data": {
|
|
53
|
+
"status": "ok | payment_required | error",
|
|
54
|
+
"request_id": "string",
|
|
55
|
+
"sellToken": "string",
|
|
56
|
+
"buyToken": "string",
|
|
57
|
+
"sellAmount": "string",
|
|
58
|
+
"buyAmount": "string",
|
|
59
|
+
"price": "string",
|
|
60
|
+
"sources": [
|
|
61
|
+
{
|
|
62
|
+
"name": "string (venue name)",
|
|
63
|
+
"buyAmount": "string"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"routingEngine": "string (best venue)",
|
|
67
|
+
"tier": "basic | resilient | institutional",
|
|
68
|
+
"settlement_tx": "string (optional)"
|
|
69
|
+
},
|
|
70
|
+
"error": "string (if success=false)"
|
|
71
|
+
},
|
|
72
|
+
"pricing": {
|
|
73
|
+
"basic": {
|
|
74
|
+
"cost": 0.03,
|
|
75
|
+
"currency": "USDC",
|
|
76
|
+
"description": "Direct 0x routing"
|
|
77
|
+
},
|
|
78
|
+
"resilient": {
|
|
79
|
+
"cost": 0.1,
|
|
80
|
+
"currency": "USDC",
|
|
81
|
+
"description": "4-venue racing"
|
|
82
|
+
},
|
|
83
|
+
"institutional": {
|
|
84
|
+
"cost": 0.5,
|
|
85
|
+
"currency": "USDC",
|
|
86
|
+
"description": "Full 10-venue racing"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"price": {
|
|
91
|
+
"description": "Quick price lookup (convenience wrapper)",
|
|
92
|
+
"method": "getPrice",
|
|
93
|
+
"inputs": {
|
|
94
|
+
"chain": "string (base|monad)",
|
|
95
|
+
"sellToken": "string (address)",
|
|
96
|
+
"buyToken": "string (address)",
|
|
97
|
+
"amount": "string (atomic units)"
|
|
98
|
+
},
|
|
99
|
+
"outputs": {
|
|
100
|
+
"price": "string (decimal)",
|
|
101
|
+
"sources": ["string (venue names)"]
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"batchQuotes": {
|
|
105
|
+
"description": "Get quotes for multiple pairs in parallel",
|
|
106
|
+
"method": "batchQuotes",
|
|
107
|
+
"inputs": {
|
|
108
|
+
"requests": [
|
|
109
|
+
{
|
|
110
|
+
"chain": "string",
|
|
111
|
+
"sellToken": "string",
|
|
112
|
+
"buyToken": "string",
|
|
113
|
+
"sellAmount": "string"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"outputs": "QuoteResult[]"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"supportedChains": [
|
|
121
|
+
{
|
|
122
|
+
"id": "base",
|
|
123
|
+
"name": "Base",
|
|
124
|
+
"status": "live",
|
|
125
|
+
"venues": [
|
|
126
|
+
"0x",
|
|
127
|
+
"ParaSwap",
|
|
128
|
+
"Aerodrome",
|
|
129
|
+
"Uniswap V3",
|
|
130
|
+
"Curve",
|
|
131
|
+
"Balancer",
|
|
132
|
+
"Uniswap V2",
|
|
133
|
+
"1Inch",
|
|
134
|
+
"CoW",
|
|
135
|
+
"Synthetix"
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": "monad",
|
|
140
|
+
"name": "Monad",
|
|
141
|
+
"status": "live",
|
|
142
|
+
"venues": [
|
|
143
|
+
"0x",
|
|
144
|
+
"ParaSwap",
|
|
145
|
+
"Aerodrome",
|
|
146
|
+
"Uniswap V3",
|
|
147
|
+
"Curve",
|
|
148
|
+
"Balancer",
|
|
149
|
+
"Uniswap V2",
|
|
150
|
+
"1Inch",
|
|
151
|
+
"CoW",
|
|
152
|
+
"Synthetix"
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"id": "arbitrum",
|
|
157
|
+
"name": "Arbitrum",
|
|
158
|
+
"status": "coming-soon"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "optimism",
|
|
162
|
+
"name": "Optimism",
|
|
163
|
+
"status": "coming-soon"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"id": "polygon",
|
|
167
|
+
"name": "Polygon",
|
|
168
|
+
"status": "coming-soon"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"authentication": {
|
|
172
|
+
"required": false,
|
|
173
|
+
"type": "x402",
|
|
174
|
+
"description": "Optional X402 EIP-3009 payment for institutional tier. Free basic tier available."
|
|
175
|
+
},
|
|
176
|
+
"rateLimit": {
|
|
177
|
+
"free": "120 requests per minute",
|
|
178
|
+
"authenticated": "1000 requests per minute per address"
|
|
179
|
+
},
|
|
180
|
+
"performance": {
|
|
181
|
+
"latency": "sub-2 seconds",
|
|
182
|
+
"availability": "99.9%",
|
|
183
|
+
"updateFrequency": "real-time"
|
|
184
|
+
},
|
|
185
|
+
"useCases": [
|
|
186
|
+
"Agent token swaps with optimal routing",
|
|
187
|
+
"Portfolio valuation and monitoring",
|
|
188
|
+
"Arbitrage opportunity detection",
|
|
189
|
+
"Arena agent bankroll management",
|
|
190
|
+
"DEX aggregation and comparison",
|
|
191
|
+
"Cross-venue price discovery"
|
|
192
|
+
],
|
|
193
|
+
"examples": {
|
|
194
|
+
"quick_price": {
|
|
195
|
+
"description": "Get price for a token pair",
|
|
196
|
+
"code": "const result = await getPrice('base', '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', '0x4200000000000000000000000000000000000006', '1000000');"
|
|
197
|
+
},
|
|
198
|
+
"full_quote": {
|
|
199
|
+
"description": "Get full quote with venue details",
|
|
200
|
+
"code": "const result = await getQuote({ chain: 'base', sellToken: '0x833...', buyToken: '0x420...', sellAmount: '1000000' });"
|
|
201
|
+
},
|
|
202
|
+
"batch_valuation": {
|
|
203
|
+
"description": "Valuate multiple token pairs",
|
|
204
|
+
"code": "const results = await batchQuotes([{chain: 'base', sellToken: '0x833...', buyToken: '0x420...', sellAmount: '1000000'}, ...]);"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"integration": {
|
|
208
|
+
"monskills": {
|
|
209
|
+
"compatible": true,
|
|
210
|
+
"installCommand": "npx skills add @infiniteezverse/monskills-ezpath",
|
|
211
|
+
"npmPackage": "@infiniteezverse/monskills-ezpath"
|
|
212
|
+
},
|
|
213
|
+
"arena": {
|
|
214
|
+
"compatible": true,
|
|
215
|
+
"useCase": "Bankroll management and real-time stake valuation",
|
|
216
|
+
"template": "https://github.com/infiniteezverse/monskills-ezpath/blob/main/examples/arena-agent.ts"
|
|
217
|
+
},
|
|
218
|
+
"coinbase_bazaar": {
|
|
219
|
+
"discoverable": true,
|
|
220
|
+
"catalogPath": "https://community.iamstarchild.com/5172-monskills-ezpath"
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"analytics": {
|
|
224
|
+
"totalRequests": 0,
|
|
225
|
+
"activeAgents": 0,
|
|
226
|
+
"lastUpdated": "2026-06-06T00:00:00Z"
|
|
227
|
+
},
|
|
228
|
+
"support": {
|
|
229
|
+
"documentation": "https://github.com/infiniteezverse/monskills-ezpath#readme",
|
|
230
|
+
"issues": "https://github.com/infiniteezverse/monskills-ezpath/issues",
|
|
231
|
+
"discord": "https://discord.gg/monad",
|
|
232
|
+
"twitter": "https://twitter.com/infiniteezverse"
|
|
233
|
+
},
|
|
234
|
+
"security": {
|
|
235
|
+
"auditStatus": "pending",
|
|
236
|
+
"openSourced": true,
|
|
237
|
+
"license": "MIT",
|
|
238
|
+
"privacyPolicy": "No data collection. Queries are stateless and ephemeral.",
|
|
239
|
+
"paymentProcessing": "X402 EIP-3009 USDC (agent manages private keys)"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.0",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "EZ-Path MONSKILLS Skill API",
|
|
5
|
+
"description": "DEX price routing skill for agents. Query the best prices across 10 venues simultaneously.",
|
|
6
|
+
"version": "0.1.0",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "infiniteezverse",
|
|
9
|
+
"url": "https://github.com/infiniteezverse/monskills-ezpath",
|
|
10
|
+
"email": "hello@infiniteezverse.com"
|
|
11
|
+
},
|
|
12
|
+
"license": {
|
|
13
|
+
"name": "MIT"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"servers": [
|
|
17
|
+
{
|
|
18
|
+
"url": "https://ezpath.myezverse.xyz",
|
|
19
|
+
"description": "Production EZ-Path API"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"paths": {
|
|
23
|
+
"/api/v1/quote": {
|
|
24
|
+
"get": {
|
|
25
|
+
"summary": "Get DEX price quote",
|
|
26
|
+
"description": "Query the best price across 10 DEX venues. Returns the best routing engine and all venue quotes.",
|
|
27
|
+
"operationId": "getQuote",
|
|
28
|
+
"parameters": [
|
|
29
|
+
{
|
|
30
|
+
"name": "chain",
|
|
31
|
+
"in": "query",
|
|
32
|
+
"required": true,
|
|
33
|
+
"schema": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["base", "monad", "arbitrum", "optimism", "polygon"]
|
|
36
|
+
},
|
|
37
|
+
"description": "Target blockchain"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "sellToken",
|
|
41
|
+
"in": "query",
|
|
42
|
+
"required": true,
|
|
43
|
+
"schema": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"pattern": "^0x[a-fA-F0-9]{40}$"
|
|
46
|
+
},
|
|
47
|
+
"description": "Token address to sell (ERC-20)"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "buyToken",
|
|
51
|
+
"in": "query",
|
|
52
|
+
"required": true,
|
|
53
|
+
"schema": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"pattern": "^0x[a-fA-F0-9]{40}$"
|
|
56
|
+
},
|
|
57
|
+
"description": "Token address to buy (ERC-20)"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "sellAmount",
|
|
61
|
+
"in": "query",
|
|
62
|
+
"required": true,
|
|
63
|
+
"schema": {
|
|
64
|
+
"type": "string"
|
|
65
|
+
},
|
|
66
|
+
"description": "Amount in atomic units (wei, smallest denomination)"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "slippagePercentage",
|
|
70
|
+
"in": "query",
|
|
71
|
+
"required": false,
|
|
72
|
+
"schema": {
|
|
73
|
+
"type": "number",
|
|
74
|
+
"example": 0.5
|
|
75
|
+
},
|
|
76
|
+
"description": "Slippage tolerance as percentage (e.g., 0.5 for 0.5%)"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"responses": {
|
|
80
|
+
"200": {
|
|
81
|
+
"description": "Successful quote",
|
|
82
|
+
"content": {
|
|
83
|
+
"application/json": {
|
|
84
|
+
"schema": {
|
|
85
|
+
"$ref": "#/components/schemas/QuoteResponse"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"402": {
|
|
91
|
+
"description": "Payment required for this tier",
|
|
92
|
+
"content": {
|
|
93
|
+
"application/json": {
|
|
94
|
+
"schema": {
|
|
95
|
+
"$ref": "#/components/schemas/PaymentRequired"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"400": {
|
|
101
|
+
"description": "Bad request (invalid parameters)",
|
|
102
|
+
"content": {
|
|
103
|
+
"application/json": {
|
|
104
|
+
"schema": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"error": { "type": "string" }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"429": {
|
|
114
|
+
"description": "Rate limit exceeded"
|
|
115
|
+
},
|
|
116
|
+
"500": {
|
|
117
|
+
"description": "Server error"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"x-tier": "basic",
|
|
121
|
+
"x-cost": 0.03,
|
|
122
|
+
"x-cost-currency": "USDC"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"components": {
|
|
127
|
+
"schemas": {
|
|
128
|
+
"QuoteResponse": {
|
|
129
|
+
"type": "object",
|
|
130
|
+
"required": [
|
|
131
|
+
"status",
|
|
132
|
+
"request_id",
|
|
133
|
+
"sellToken",
|
|
134
|
+
"buyToken",
|
|
135
|
+
"sellAmount",
|
|
136
|
+
"buyAmount",
|
|
137
|
+
"price",
|
|
138
|
+
"sources",
|
|
139
|
+
"routingEngine",
|
|
140
|
+
"tier"
|
|
141
|
+
],
|
|
142
|
+
"properties": {
|
|
143
|
+
"status": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": ["ok", "payment_required", "error"],
|
|
146
|
+
"description": "Response status"
|
|
147
|
+
},
|
|
148
|
+
"request_id": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "Unique request identifier for tracking"
|
|
151
|
+
},
|
|
152
|
+
"sellToken": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"pattern": "^0x[a-fA-F0-9]{40}$",
|
|
155
|
+
"description": "Token address being sold"
|
|
156
|
+
},
|
|
157
|
+
"buyToken": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"pattern": "^0x[a-fA-F0-9]{40}$",
|
|
160
|
+
"description": "Token address being bought"
|
|
161
|
+
},
|
|
162
|
+
"sellAmount": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"description": "Input amount in atomic units"
|
|
165
|
+
},
|
|
166
|
+
"buyAmount": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"description": "Output amount in atomic units (best available)"
|
|
169
|
+
},
|
|
170
|
+
"price": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "Human-readable price (buyAmount per sellAmount unit)"
|
|
173
|
+
},
|
|
174
|
+
"sources": {
|
|
175
|
+
"type": "array",
|
|
176
|
+
"description": "All venue quotes",
|
|
177
|
+
"items": {
|
|
178
|
+
"$ref": "#/components/schemas/VenueQuote"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"routingEngine": {
|
|
182
|
+
"type": "string",
|
|
183
|
+
"description": "Best venue name (winner of the race)"
|
|
184
|
+
},
|
|
185
|
+
"tier": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"enum": ["basic", "resilient", "institutional"],
|
|
188
|
+
"description": "Service tier used"
|
|
189
|
+
},
|
|
190
|
+
"settlement_tx": {
|
|
191
|
+
"type": "string",
|
|
192
|
+
"nullable": true,
|
|
193
|
+
"description": "Transaction hash if settled on-chain"
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"VenueQuote": {
|
|
198
|
+
"type": "object",
|
|
199
|
+
"required": ["name", "buyAmount"],
|
|
200
|
+
"properties": {
|
|
201
|
+
"name": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"enum": [
|
|
204
|
+
"0x",
|
|
205
|
+
"ParaSwap",
|
|
206
|
+
"Aerodrome",
|
|
207
|
+
"Uniswap V3",
|
|
208
|
+
"Curve",
|
|
209
|
+
"Balancer",
|
|
210
|
+
"Uniswap V2",
|
|
211
|
+
"1Inch",
|
|
212
|
+
"CoW",
|
|
213
|
+
"Synthetix"
|
|
214
|
+
],
|
|
215
|
+
"description": "DEX venue"
|
|
216
|
+
},
|
|
217
|
+
"buyAmount": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"description": "Output amount from this venue"
|
|
220
|
+
},
|
|
221
|
+
"gasEstimate": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"nullable": true,
|
|
224
|
+
"description": "Estimated gas cost in ETH"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"PaymentRequired": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"required": ["status", "x402Version", "accepts", "unlock_fee_usd", "request_id"],
|
|
231
|
+
"properties": {
|
|
232
|
+
"status": {
|
|
233
|
+
"type": "string",
|
|
234
|
+
"enum": ["payment_required"]
|
|
235
|
+
},
|
|
236
|
+
"x402Version": {
|
|
237
|
+
"type": "integer",
|
|
238
|
+
"description": "X-402 protocol version"
|
|
239
|
+
},
|
|
240
|
+
"accepts": {
|
|
241
|
+
"type": "array",
|
|
242
|
+
"description": "Payment methods accepted",
|
|
243
|
+
"items": {
|
|
244
|
+
"type": "object",
|
|
245
|
+
"properties": {
|
|
246
|
+
"scheme": { "type": "string" },
|
|
247
|
+
"network": { "type": "string" },
|
|
248
|
+
"maxAmountRequired": { "type": "string" },
|
|
249
|
+
"asset": { "type": "string" }
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"unlock_fee_usd": {
|
|
254
|
+
"type": "number",
|
|
255
|
+
"description": "Cost in USD for next tier"
|
|
256
|
+
},
|
|
257
|
+
"request_id": {
|
|
258
|
+
"type": "string"
|
|
259
|
+
},
|
|
260
|
+
"tiers": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"properties": {
|
|
263
|
+
"basic": {
|
|
264
|
+
"$ref": "#/components/schemas/Tier"
|
|
265
|
+
},
|
|
266
|
+
"resilient": {
|
|
267
|
+
"$ref": "#/components/schemas/Tier"
|
|
268
|
+
},
|
|
269
|
+
"institutional": {
|
|
270
|
+
"$ref": "#/components/schemas/Tier"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
"Tier": {
|
|
277
|
+
"type": "object",
|
|
278
|
+
"properties": {
|
|
279
|
+
"min_atomic": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"description": "Minimum payment in atomic USDC"
|
|
282
|
+
},
|
|
283
|
+
"min_usdc": {
|
|
284
|
+
"type": "number",
|
|
285
|
+
"description": "Minimum payment in USDC"
|
|
286
|
+
},
|
|
287
|
+
"description": {
|
|
288
|
+
"type": "string"
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"securitySchemes": {
|
|
294
|
+
"x402Payment": {
|
|
295
|
+
"type": "apiKey",
|
|
296
|
+
"in": "header",
|
|
297
|
+
"name": "X-Payment",
|
|
298
|
+
"description": "EIP-3009 TransferWithAuthorization signature for X402 payment"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"x-agent-metadata": {
|
|
303
|
+
"skillName": "ez-path",
|
|
304
|
+
"skillVersion": "0.1.0",
|
|
305
|
+
"npmPackage": "@infiniteezverse/monskills-ezpath",
|
|
306
|
+
"handlers": ["getQuote", "getPrice", "batchQuotes"],
|
|
307
|
+
"supportedChains": ["base", "monad"],
|
|
308
|
+
"category": "dex-routing"
|
|
309
|
+
}
|
|
310
|
+
}
|