@xona-labs/xpay 0.2.23 → 0.2.25
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/CHANGELOG.md +133 -76
- package/README.md +95 -71
- package/SKILL.md +29 -22
- package/dist/agenc/api.d.ts +8 -8
- package/dist/agenc/api.js +11 -11
- package/dist/agenc/hire.d.ts +4 -4
- package/dist/agenc/hire.js +17 -17
- package/dist/agenc/price.d.ts +1 -1
- package/dist/agenc/price.js +1 -1
- package/dist/biometric/index.d.ts +3 -3
- package/dist/biometric/index.js +6 -6
- package/dist/cli/accounts.d.ts +1 -1
- package/dist/cli/accounts.js +1 -1
- package/dist/cli/agenc.d.ts +2 -2
- package/dist/cli/agenc.js +4 -4
- package/dist/cli/balance.d.ts +1 -1
- package/dist/cli/balance.d.ts.map +1 -1
- package/dist/cli/balance.js +11 -10
- package/dist/cli/balance.js.map +1 -1
- package/dist/cli/bento.d.ts +3 -3
- package/dist/cli/bento.js +8 -8
- package/dist/cli/bento.js.map +1 -1
- package/dist/cli/biometric.d.ts +1 -1
- package/dist/cli/biometric.js +8 -8
- package/dist/cli/common.js +6 -6
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/discover.d.ts +2 -2
- package/dist/cli/discover.js +10 -4
- package/dist/cli/discover.js.map +1 -1
- package/dist/cli/guardrail.d.ts +1 -1
- package/dist/cli/guardrail.js +3 -3
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +12 -12
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.js +2 -2
- package/dist/cli/magicblock.d.ts +1 -1
- package/dist/cli/magicblock.js +4 -4
- package/dist/cli/mcp-server.d.ts +2 -2
- package/dist/cli/mcp-server.js +21 -21
- package/dist/cli/pay.d.ts +1 -1
- package/dist/cli/pay.js +1 -1
- package/dist/cli/report.d.ts +2 -2
- package/dist/cli/report.js +4 -4
- package/dist/cli/report.js.map +1 -1
- package/dist/cli/sana.d.ts +1 -1
- package/dist/cli/sana.js +3 -3
- package/dist/cli/shop.d.ts +1 -1
- package/dist/cli/shop.js +1 -1
- package/dist/cli/swap.d.ts +1 -1
- package/dist/cli/swap.js +3 -3
- package/dist/cli/token.d.ts +2 -2
- package/dist/cli/token.js +2 -2
- package/dist/cli/trade.d.ts +2 -2
- package/dist/cli/trade.js +8 -8
- package/dist/cli/trade.js.map +1 -1
- package/dist/cli/transfer.d.ts +1 -1
- package/dist/cli/transfer.js +1 -1
- package/dist/cli/x.d.ts +1 -1
- package/dist/cli/x.js +1 -1
- package/dist/cli/zauth.d.ts +1 -1
- package/dist/cli/zauth.js +5 -5
- package/dist/discover/cache.js +1 -1
- package/dist/discover/index.d.ts +2 -2
- package/dist/discover/index.d.ts.map +1 -1
- package/dist/discover/index.js +21 -7
- package/dist/discover/index.js.map +1 -1
- package/dist/discover/orbitx402.d.ts +2 -2
- package/dist/discover/orbitx402.js +1 -1
- package/dist/discover/payai.js +1 -1
- package/dist/do/index.d.ts +2 -2
- package/dist/do/index.js +1 -1
- package/dist/guardrail/index.d.ts +4 -4
- package/dist/guardrail/index.js +14 -14
- package/dist/guardrail/index.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +2 -2
- package/dist/magicblock/client.d.ts +2 -2
- package/dist/magicblock/client.js +4 -4
- package/dist/profile/index.d.ts +3 -3
- package/dist/profile/index.d.ts.map +1 -1
- package/dist/profile/index.js +13 -4
- package/dist/profile/index.js.map +1 -1
- package/dist/profile/storage.d.ts +1 -1
- package/dist/profile/storage.js +4 -4
- package/dist/profile/types.d.ts +6 -6
- package/dist/profile/types.js +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/report/index.js +2 -2
- package/dist/sana/tools.js +8 -8
- package/dist/signers/raw-evm.d.ts +1 -1
- package/dist/signers/raw-evm.d.ts.map +1 -1
- package/dist/signers/raw-evm.js +22 -7
- package/dist/signers/raw-evm.js.map +1 -1
- package/dist/signers/raw-solana.d.ts +1 -1
- package/dist/signers/raw-solana.js +4 -4
- package/dist/swap/index.d.ts +6 -6
- package/dist/swap/index.js +12 -12
- package/dist/token/index.d.ts +8 -8
- package/dist/token/index.js +14 -14
- package/dist/token/rwa.d.ts +3 -3
- package/dist/token/rwa.js +3 -3
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +46 -41
- package/dist/tools/index.js.map +1 -1
- package/dist/trading/discovery.d.ts +6 -6
- package/dist/trading/discovery.js +7 -7
- package/dist/trading/index.d.ts +6 -6
- package/dist/trading/index.js +13 -13
- package/dist/transfer/index.d.ts +6 -5
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +41 -21
- package/dist/transfer/index.js.map +1 -1
- package/dist/types.d.ts +10 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/use/index.d.ts +5 -5
- package/dist/use/index.js +24 -20
- package/dist/use/index.js.map +1 -1
- package/dist/wallet/index.d.ts +2 -2
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +5 -3
- package/dist/wallet/index.js.map +1 -1
- package/dist/x402/evm-payment.d.ts +4 -4
- package/dist/x402/evm-payment.d.ts.map +1 -1
- package/dist/x402/evm-payment.js +7 -6
- package/dist/x402/evm-payment.js.map +1 -1
- package/dist/x402/extract.d.ts +1 -1
- package/dist/x402/extract.js +1 -1
- package/dist/x402/svm-payment.d.ts +2 -2
- package/dist/x402/svm-payment.js +2 -2
- package/dist/zauth/index.d.ts +4 -4
- package/dist/zauth/index.js +5 -5
- package/package.json +6 -3
package/dist/tools/index.js
CHANGED
|
@@ -27,7 +27,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
27
27
|
name: "xpay_discover",
|
|
28
28
|
description: "Find paid HTTP services across the agentic-commerce catalog (PayAI + others). " +
|
|
29
29
|
"Returns ranked candidates with price, network, and payment recipient. " +
|
|
30
|
-
"Results may include AgenC marketplace agent listings (metadata.source === 'agenc')
|
|
30
|
+
"Results may include AgenC marketplace agent listings (metadata.source === 'agenc') - " +
|
|
31
31
|
"those are priced in SOL lamports and execute as on-chain escrow hires, not HTTP calls. " +
|
|
32
32
|
"When the user asks specifically about the AgenC marketplace, pass sources: ['agenc'] " +
|
|
33
33
|
"(optionally with no query) to list ALL its listings instead of the few slots it gets " +
|
|
@@ -49,12 +49,12 @@ export function forClaude(xpay, opts = {}) {
|
|
|
49
49
|
{
|
|
50
50
|
name: "xpay_use",
|
|
51
51
|
description: "Call a specific resource from the catalog. Handles x402 payment automatically. " +
|
|
52
|
-
"Prefer passing the full `resource` object returned by xpay_discover
|
|
52
|
+
"Prefer passing the full `resource` object returned by xpay_discover - it includes " +
|
|
53
53
|
"pre-fetched payment requirements so payment goes through without a probe round-trip. " +
|
|
54
54
|
"Fall back to `resourceUrl` only when you have a URL but no catalog entry. " +
|
|
55
55
|
"If the resource is an AgenC marketplace listing it executes as a Solana escrow hire " +
|
|
56
56
|
"instead: SOL is escrowed on-chain and the result is a hire receipt (task PDA + tx " +
|
|
57
|
-
"signature), NOT an HTTP response
|
|
57
|
+
"signature), NOT an HTTP response - the provider works asynchronously; poll progress " +
|
|
58
58
|
"with xpay_agenc_status.",
|
|
59
59
|
input_schema: {
|
|
60
60
|
type: "object",
|
|
@@ -91,7 +91,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
91
91
|
name: "xpay_transfer",
|
|
92
92
|
description: "Send tokens directly to an address (no x402, no provider). Subject to the user's guardrail. " +
|
|
93
93
|
"Solana supports any SPL token: USDC, USDT, wSOL, mSOL, JitoSOL, BONK, JUP, PYTH, or any mint address. " +
|
|
94
|
-
"EVM supports USDC
|
|
94
|
+
"EVM supports the network's stablecoin only: USDC, or USDT0 on Stable (network \"stable\", chain 988). " +
|
|
95
95
|
"Pass private:true on Solana to route through MagicBlock's Private Ephemeral Rollup, " +
|
|
96
96
|
"which obscures the amount and recipient via delayed execution + fund splitting.",
|
|
97
97
|
input_schema: {
|
|
@@ -108,17 +108,18 @@ export function forClaude(xpay, opts = {}) {
|
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
name: "xpay_balance",
|
|
111
|
-
description: "
|
|
111
|
+
description: "Token balances on each configured network, plus a stablecoin total. " +
|
|
112
|
+
"Covers Solana, Base and the other EVM chains, Robinhood Chain, and Stable (USDT0).",
|
|
112
113
|
input_schema: {
|
|
113
114
|
type: "object",
|
|
114
115
|
properties: {
|
|
115
|
-
network: { type: "string", description: "Restrict to one network." },
|
|
116
|
+
network: { type: "string", description: "Restrict to one network (solana, base, stable, robinhood, ...)." },
|
|
116
117
|
},
|
|
117
118
|
},
|
|
118
119
|
},
|
|
119
120
|
{
|
|
120
121
|
name: "xpay_report",
|
|
121
|
-
description: "Comprehensive USDC activity report for the wallet
|
|
122
|
+
description: "Comprehensive USDC activity report for the wallet - totals, net flow, daily timeline, top counterparties, and biggest transactions. " +
|
|
122
123
|
"Powered by OrbitX402 (on-chain data fetched server-side, no RPC exposed). " +
|
|
123
124
|
"Use this instead of history for a full picture of spending and income.",
|
|
124
125
|
input_schema: {
|
|
@@ -143,10 +144,10 @@ export function forClaude(xpay, opts = {}) {
|
|
|
143
144
|
},
|
|
144
145
|
{
|
|
145
146
|
name: "xpay_token_find",
|
|
146
|
-
description: "Find Solana tokens by ticker, name, or mint address (Jupiter registry). Read-only
|
|
147
|
+
description: "Find Solana tokens by ticker, name, or mint address (Jupiter registry). Read-only - no " +
|
|
147
148
|
"wallet, no spending. Returns mint, price, market cap, liquidity, and a `verified` flag. " +
|
|
148
149
|
"ALWAYS check `verified` before suggesting a swap: unverified tokens can be scams reusing a " +
|
|
149
|
-
"real token's ticker. This tool alone answers price/info questions
|
|
150
|
+
"real token's ticker. This tool alone answers price/info questions - only proceed to a swap " +
|
|
150
151
|
"if the user explicitly asked to trade, and then use the xpay_swap tool with the chosen mint " +
|
|
151
152
|
"(do NOT write code or call DEX APIs yourself).",
|
|
152
153
|
input_schema: {
|
|
@@ -160,17 +161,17 @@ export function forClaude(xpay, opts = {}) {
|
|
|
160
161
|
},
|
|
161
162
|
{
|
|
162
163
|
name: "xpay_swap",
|
|
163
|
-
description: "THE ONLY way to swap tokens
|
|
164
|
+
description: "THE ONLY way to swap tokens - a single tool call that quotes, signs, and executes inside the " +
|
|
164
165
|
"user's own xpay wallet via Jupiter (Solana only). NEVER write code or scripts (Python/JS/curl) " +
|
|
165
166
|
"to swap, and never call Jupiter or DEX APIs directly: custom code bypasses the user's guardrail " +
|
|
166
167
|
"caps and token-verification safety, and has no access to the wallet key anyway. When the user " +
|
|
167
|
-
"actually wants to swap, this one tool call does everything (quote + sign + execute)
|
|
168
|
+
"actually wants to swap, this one tool call does everything (quote + sign + execute) - but " +
|
|
168
169
|
"xpay_token_find alone answers informational questions; do NOT follow it with a swap unless the " +
|
|
169
170
|
"user asked to trade. Swaps are irreversible and guardrail caps are enforced before signing. Before calling, show the " +
|
|
170
171
|
"user: the input amount + USD value, the expected output amount, and the output token's mint + " +
|
|
171
|
-
"verification status
|
|
172
|
+
"verification status - and get their explicit approval. Never swap unprompted, and never swap " +
|
|
172
173
|
"into an unverified token without the user confirming the exact mint. Ambiguous tickers return " +
|
|
173
|
-
"an error listing candidate mints
|
|
174
|
+
"an error listing candidate mints - pass the exact mint to disambiguate.",
|
|
174
175
|
input_schema: {
|
|
175
176
|
type: "object",
|
|
176
177
|
properties: {
|
|
@@ -188,7 +189,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
188
189
|
"fun.noxa.fi memecoin scene) right now, with price, market cap, 24h volume, and the token's " +
|
|
189
190
|
"contract address. FREE, read-only, no wallet. Use this to answer 'what's hot on Robinhood " +
|
|
190
191
|
"Chain' and to get the exact contract address to pass to xpay_trade. Pass newOnly:true for " +
|
|
191
|
-
"the freshest launches (higher risk). This is Robinhood *Chain* on-chain data
|
|
192
|
+
"the freshest launches (higher risk). This is Robinhood *Chain* on-chain data - unrelated to " +
|
|
192
193
|
"the Robinhood brokerage app or stock trading.",
|
|
193
194
|
input_schema: {
|
|
194
195
|
type: "object",
|
|
@@ -200,7 +201,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
200
201
|
},
|
|
201
202
|
{
|
|
202
203
|
name: "xpay_trade_quote",
|
|
203
|
-
description: "Quote a Robinhood Chain trade WITHOUT executing
|
|
204
|
+
description: "Quote a Robinhood Chain trade WITHOUT executing - no signing, no funds moved, no guardrail. " +
|
|
204
205
|
"Buy a token with native ETH or sell it back to ETH, routed through Uniswap V3 (NOXA Fun " +
|
|
205
206
|
"pools). Returns expected output, min output after slippage, pool fee, USD estimate, and " +
|
|
206
207
|
"whether the token is a verified NOXA launch. Use this to preview a trade before calling " +
|
|
@@ -219,16 +220,16 @@ export function forClaude(xpay, opts = {}) {
|
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
222
|
name: "xpay_trade",
|
|
222
|
-
description: "Trade tokens on Robinhood Chain (Arbitrum L2) via Uniswap V3
|
|
223
|
+
description: "Trade tokens on Robinhood Chain (Arbitrum L2) via Uniswap V3 - quotes, signs, and executes " +
|
|
223
224
|
"in ONE call from the user's own xpay wallet. Buy a memecoin with native ETH, or sell it back " +
|
|
224
225
|
"to ETH (v1 supports ETH↔token only). This is distinct from xpay_swap, which is Solana/Jupiter. " +
|
|
225
|
-
"NEVER write code or call DEX/router contracts yourself
|
|
226
|
+
"NEVER write code or call DEX/router contracts yourself - custom code bypasses the guardrail and " +
|
|
226
227
|
"has no wallet key. Trades are IRREVERSIBLE; guardrail caps are enforced before signing. Before " +
|
|
227
228
|
"calling: show the user the input amount + USD value, expected output, the token's contract " +
|
|
228
229
|
"address, and whether it's a verified NOXA launch (unverified tokens can be scams reusing a " +
|
|
229
|
-
"ticker)
|
|
230
|
+
"ticker) - and get explicit approval. Prefer passing the exact contract address from " +
|
|
230
231
|
"xpay_trending_tokens over a symbol (memecoin tickers aren't unique). Fund the wallet with ETH " +
|
|
231
|
-
"on Robinhood Chain first (bridge via Across or Uniswap)
|
|
232
|
+
"on Robinhood Chain first (bridge via Across or Uniswap) - the wallet pays its own gas here.",
|
|
232
233
|
input_schema: {
|
|
233
234
|
type: "object",
|
|
234
235
|
properties: {
|
|
@@ -242,8 +243,8 @@ export function forClaude(xpay, opts = {}) {
|
|
|
242
243
|
},
|
|
243
244
|
{
|
|
244
245
|
name: "xpay_x_user",
|
|
245
|
-
description: "Realtime X (Twitter) profile lookup
|
|
246
|
-
"call (~$0.01 USDC from the wallet via x402, at cost
|
|
246
|
+
description: "Realtime X (Twitter) profile lookup - followers, bio, verification status. This is a PAID " +
|
|
247
|
+
"call (~$0.01 USDC from the wallet via x402, at cost - no markup); guardrail caps apply. " +
|
|
247
248
|
"Great for due diligence on a token's or project's X account before a swap. Don't spam it: " +
|
|
248
249
|
"results barely change minute to minute, so one call per account per conversation is enough.",
|
|
249
250
|
input_schema: {
|
|
@@ -257,7 +258,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
257
258
|
{
|
|
258
259
|
name: "xpay_x_posts",
|
|
259
260
|
description: "Recent posts from an X (Twitter) account (up to 10, excludes retweets/replies) with " +
|
|
260
|
-
"engagement metrics. PAID call (~$0.06 USDC from the wallet via x402, at cost
|
|
261
|
+
"engagement metrics. PAID call (~$0.06 USDC from the wallet via x402, at cost - no markup); " +
|
|
261
262
|
"guardrail caps apply. Use for checking what a project/account is actually saying right now " +
|
|
262
263
|
"(e.g. before swapping into their token). One call per account per conversation is enough.",
|
|
263
264
|
input_schema: {
|
|
@@ -271,11 +272,11 @@ export function forClaude(xpay, opts = {}) {
|
|
|
271
272
|
},
|
|
272
273
|
{
|
|
273
274
|
name: "xpay_zauth_reposcan",
|
|
274
|
-
description: "Repository security scan via zauth (partner)
|
|
275
|
+
description: "Repository security scan via zauth (partner) - scans a git repo for code provenance and " +
|
|
275
276
|
"vulnerabilities. PAID call (~$0.05 USDC from the wallet via x402; guardrail caps apply). " +
|
|
276
277
|
"Scans can take a while: if the response still says status \"scanning\", check later with " +
|
|
277
278
|
"xpay_zauth_scan_status using the returned sessionToken (the long JWT string, NOT the short " +
|
|
278
|
-
"scanId
|
|
279
|
+
"scanId - the token is valid ~1 hour). Do NOT call this tool again for the same repo, that " +
|
|
279
280
|
"pays for a second scan. Results are informational: report them to the user, never " +
|
|
280
281
|
"auto-remediate or trigger further payments based on findings.",
|
|
281
282
|
input_schema: {
|
|
@@ -289,15 +290,15 @@ export function forClaude(xpay, opts = {}) {
|
|
|
289
290
|
{
|
|
290
291
|
name: "xpay_zauth_scan_status",
|
|
291
292
|
description: "Check a running zauth repo scan by sessionToken (returned by xpay_zauth_reposcan). " +
|
|
292
|
-
"FREE, read-only, no wallet
|
|
293
|
+
"FREE, read-only, no wallet - always use this to follow up on a pending scan instead of " +
|
|
293
294
|
"re-calling xpay_zauth_reposcan, which would pay again. Pass the sessionToken (the long " +
|
|
294
|
-
"JWT starting with \"eyJ\"), NOT the scanId
|
|
295
|
+
"JWT starting with \"eyJ\"), NOT the scanId - the scanId is rejected with a 401.",
|
|
295
296
|
input_schema: {
|
|
296
297
|
type: "object",
|
|
297
298
|
properties: {
|
|
298
299
|
sessionToken: {
|
|
299
300
|
type: "string",
|
|
300
|
-
description: "sessionToken from a pending xpay_zauth_reposcan result
|
|
301
|
+
description: "sessionToken from a pending xpay_zauth_reposcan result - the long JWT string " +
|
|
301
302
|
"(starts with \"eyJ\"), not the scanId. Valid ~1 hour after the scan started.",
|
|
302
303
|
},
|
|
303
304
|
},
|
|
@@ -496,7 +497,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
496
497
|
const sources = input.sources;
|
|
497
498
|
return xpay.discover({
|
|
498
499
|
query: input.query,
|
|
499
|
-
// Browsing a single catalog implies "show me what's there"
|
|
500
|
+
// Browsing a single catalog implies "show me what's there" - don't
|
|
500
501
|
// truncate to the mixed-results default.
|
|
501
502
|
limit: input.limit ?? (sources?.length === 1 ? 50 : 5),
|
|
502
503
|
networks: input.network ? [input.network] : undefined,
|
|
@@ -504,7 +505,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
504
505
|
});
|
|
505
506
|
},
|
|
506
507
|
xpay_use: async (input) => {
|
|
507
|
-
// Prefer the full resource object from xpay_discover
|
|
508
|
+
// Prefer the full resource object from xpay_discover - it carries
|
|
508
509
|
// pre-fetched accepts[] so we take the catalog path (no probe round-trip).
|
|
509
510
|
if (input.resource && typeof input.resource === "object") {
|
|
510
511
|
const parsed = ResourceSchema.safeParse(input.resource);
|
|
@@ -512,7 +513,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
512
513
|
return xpay.use(parsed.data, { body: input.body });
|
|
513
514
|
}
|
|
514
515
|
}
|
|
515
|
-
// Fallback: only a URL was provided
|
|
516
|
+
// Fallback: only a URL was provided - probe the resource for a 402 challenge.
|
|
516
517
|
const url = input.resourceUrl;
|
|
517
518
|
if (!url)
|
|
518
519
|
throw new Error("xpay_use: provide either `resource` (full object from xpay_discover) or `resourceUrl`");
|
|
@@ -522,19 +523,20 @@ export function forClaude(xpay, opts = {}) {
|
|
|
522
523
|
xpay_transfer: async (input) => xpay.transfer({
|
|
523
524
|
amount: input.amount,
|
|
524
525
|
to: input.to,
|
|
525
|
-
|
|
526
|
+
// Left undefined, transfer() picks the network's stablecoin: USDC on
|
|
527
|
+
// most EVM chains, USDT0 on Stable, USDC on Solana.
|
|
528
|
+
token: input.token,
|
|
526
529
|
network: input.network,
|
|
527
530
|
private: input.private,
|
|
528
531
|
}),
|
|
529
532
|
xpay_balance: async (input) => {
|
|
530
|
-
// Robinhood Chain always
|
|
531
|
-
//
|
|
533
|
+
// Robinhood Chain and Stable always have a signer (see
|
|
534
|
+
// signersFromProfile) even when they're not in the profile's `networks`,
|
|
535
|
+
// so include them in the default view.
|
|
532
536
|
const configured = xpay.wallet.networks;
|
|
533
537
|
const networks = input.network
|
|
534
538
|
? [input.network]
|
|
535
|
-
: configured
|
|
536
|
-
? configured
|
|
537
|
-
: [...configured, "robinhood"];
|
|
539
|
+
: [...configured, ...["robinhood", "stable"].filter((n) => !configured.includes(n))];
|
|
538
540
|
const perNetwork = {};
|
|
539
541
|
let stablecoinTotal = 0;
|
|
540
542
|
for (const n of networks) {
|
|
@@ -542,13 +544,13 @@ export function forClaude(xpay, opts = {}) {
|
|
|
542
544
|
continue;
|
|
543
545
|
const signer = xpay.wallet.signer(n);
|
|
544
546
|
if (typeof signer.tokenBalances === "function") {
|
|
545
|
-
// Full token breakdown
|
|
547
|
+
// Full token breakdown - same path as the CLI. Solana balances are
|
|
546
548
|
// enriched via Jupiter: unknown mints get real symbols/names, and
|
|
547
549
|
// priceable tokens carry usdPrice/usdValue.
|
|
548
550
|
const raw = await signer.tokenBalances().catch(() => []);
|
|
549
551
|
let tokens = n === "solana" ? await enrichTokenBalances(raw) : raw;
|
|
550
552
|
// Robinhood Chain: the signer only knows a hardcoded token list, so
|
|
551
|
-
// pull the wallet's full ERC-20 holdings from the chain explorer
|
|
553
|
+
// pull the wallet's full ERC-20 holdings from the chain explorer -
|
|
552
554
|
// this is how memecoins bought via xpay_trade show up. Native ETH
|
|
553
555
|
// still comes from the signer.
|
|
554
556
|
if (n === "robinhood") {
|
|
@@ -570,8 +572,11 @@ export function forClaude(xpay, opts = {}) {
|
|
|
570
572
|
})),
|
|
571
573
|
};
|
|
572
574
|
for (const t of tokens) {
|
|
573
|
-
|
|
575
|
+
// USDT0 is Stable's USDT (an ERC-20 OFT); its native gas coin
|
|
576
|
+
// reports as USDT. Both are dollars, so both count.
|
|
577
|
+
if (t.symbol === "USDC" || t.symbol === "USDT" || t.symbol === "USDT0") {
|
|
574
578
|
stablecoinTotal += t.balance;
|
|
579
|
+
}
|
|
575
580
|
}
|
|
576
581
|
}
|
|
577
582
|
else {
|
|
@@ -630,7 +635,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
630
635
|
});
|
|
631
636
|
if (!isScanPending(result.data))
|
|
632
637
|
return { ...result, data: compactScanReport(result.data) };
|
|
633
|
-
// Paid + scan kicked off
|
|
638
|
+
// Paid + scan kicked off - poll the free status endpoint for a while.
|
|
634
639
|
// Poll responses don't echo the sessionToken, so keep the kickoff's
|
|
635
640
|
// copy and re-attach it if the scan outlives our window.
|
|
636
641
|
const sessionToken = result.data.sessionToken;
|
|
@@ -641,7 +646,7 @@ export function forClaude(xpay, opts = {}) {
|
|
|
641
646
|
data: {
|
|
642
647
|
...data,
|
|
643
648
|
sessionToken,
|
|
644
|
-
note: "Scan still running
|
|
649
|
+
note: "Scan still running - check later with xpay_zauth_scan_status, passing this " +
|
|
645
650
|
"sessionToken (the long JWT, NOT the scanId). Do not re-run xpay_zauth_reposcan " +
|
|
646
651
|
"for this repo; that pays again.",
|
|
647
652
|
},
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Robinhood Chain token discovery
|
|
2
|
+
* Robinhood Chain token discovery - GeckoTerminal public API.
|
|
3
3
|
*
|
|
4
4
|
* GeckoTerminal indexes Robinhood Chain under the network id "robinhood"
|
|
5
5
|
* (keyless, ~30 req/min). Used for the trending/new token tools and for the
|
|
6
|
-
* USD pricing attached to trade quotes. Discovery is read-only market data
|
|
6
|
+
* USD pricing attached to trade quotes. Discovery is read-only market data -
|
|
7
7
|
* the trade path itself never depends on it.
|
|
8
8
|
*/
|
|
9
9
|
export interface DiscoveredToken {
|
|
@@ -18,7 +18,7 @@ export interface DiscoveredToken {
|
|
|
18
18
|
priceChange24hPct?: number;
|
|
19
19
|
/** Liquidity pool: 20-byte address (Uniswap v3) or 32-byte id (v4). */
|
|
20
20
|
pool: string;
|
|
21
|
-
/** True for v4 pool ids
|
|
21
|
+
/** True for v4 pool ids - xpay_trade only routes v3 pools today. */
|
|
22
22
|
poolIsV4: boolean;
|
|
23
23
|
dex?: string;
|
|
24
24
|
poolCreatedAt?: string;
|
|
@@ -27,7 +27,7 @@ export interface DiscoveredToken {
|
|
|
27
27
|
export declare function trendingTokens(opts?: {
|
|
28
28
|
limit?: number;
|
|
29
29
|
}): Promise<DiscoveredToken[]>;
|
|
30
|
-
/** Tokens from the most recently created pools (fresh launches
|
|
30
|
+
/** Tokens from the most recently created pools (fresh launches - high risk). */
|
|
31
31
|
export declare function newTokens(opts?: {
|
|
32
32
|
limit?: number;
|
|
33
33
|
}): Promise<DiscoveredToken[]>;
|
|
@@ -44,14 +44,14 @@ export interface TokenHolding {
|
|
|
44
44
|
/**
|
|
45
45
|
* All ERC-20 balances a wallet holds on Robinhood Chain, via the chain's
|
|
46
46
|
* Blockscout explorer API (keyless). This is what surfaces memecoins bought
|
|
47
|
-
* through `xpay trade`
|
|
47
|
+
* through `xpay trade` - the on-chain signer only knows a hardcoded token list.
|
|
48
48
|
* Best-effort: returns [] if the explorer is unreachable.
|
|
49
49
|
*/
|
|
50
50
|
export declare function robinhoodHoldings(address: string): Promise<TokenHolding[]>;
|
|
51
51
|
/**
|
|
52
52
|
* Resolve a token symbol to its contract address via trending + new pools.
|
|
53
53
|
* Throws when the symbol is unknown or matches several distinct contracts
|
|
54
|
-
* (memecoin symbols are not unique
|
|
54
|
+
* (memecoin symbols are not unique - pass the address instead).
|
|
55
55
|
*/
|
|
56
56
|
export declare function resolveTokenBySymbol(symbol: string): Promise<DiscoveredToken>;
|
|
57
57
|
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Robinhood Chain token discovery
|
|
2
|
+
* Robinhood Chain token discovery - GeckoTerminal public API.
|
|
3
3
|
*
|
|
4
4
|
* GeckoTerminal indexes Robinhood Chain under the network id "robinhood"
|
|
5
5
|
* (keyless, ~30 req/min). Used for the trending/new token tools and for the
|
|
6
|
-
* USD pricing attached to trade quotes. Discovery is read-only market data
|
|
6
|
+
* USD pricing attached to trade quotes. Discovery is read-only market data -
|
|
7
7
|
* the trade path itself never depends on it.
|
|
8
8
|
*/
|
|
9
9
|
const DEFAULT_ENDPOINT = "https://api.geckoterminal.com/api/v2";
|
|
@@ -31,7 +31,7 @@ function poolsToTokens(payload, limit) {
|
|
|
31
31
|
const out = [];
|
|
32
32
|
for (const pool of data) {
|
|
33
33
|
const attrs = pool.attributes ?? {};
|
|
34
|
-
// base_token id looks like "robinhood_0x020b…"
|
|
34
|
+
// base_token id looks like "robinhood_0x020b…" - address after the prefix.
|
|
35
35
|
const baseId = pool.relationships?.base_token?.data?.id ?? "";
|
|
36
36
|
const address = baseId.includes("_") ? baseId.slice(baseId.indexOf("_") + 1) : "";
|
|
37
37
|
if (!address.startsWith("0x"))
|
|
@@ -64,7 +64,7 @@ export async function trendingTokens(opts = {}) {
|
|
|
64
64
|
const payload = await gtFetch(`/networks/${GT_NETWORK}/trending_pools?page=1`);
|
|
65
65
|
return poolsToTokens(payload, opts.limit ?? 10);
|
|
66
66
|
}
|
|
67
|
-
/** Tokens from the most recently created pools (fresh launches
|
|
67
|
+
/** Tokens from the most recently created pools (fresh launches - high risk). */
|
|
68
68
|
export async function newTokens(opts = {}) {
|
|
69
69
|
const payload = await gtFetch(`/networks/${GT_NETWORK}/new_pools?page=1`);
|
|
70
70
|
return poolsToTokens(payload, opts.limit ?? 10);
|
|
@@ -83,7 +83,7 @@ export async function tokenPriceUsd(address) {
|
|
|
83
83
|
/**
|
|
84
84
|
* All ERC-20 balances a wallet holds on Robinhood Chain, via the chain's
|
|
85
85
|
* Blockscout explorer API (keyless). This is what surfaces memecoins bought
|
|
86
|
-
* through `xpay trade`
|
|
86
|
+
* through `xpay trade` - the on-chain signer only knows a hardcoded token list.
|
|
87
87
|
* Best-effort: returns [] if the explorer is unreachable.
|
|
88
88
|
*/
|
|
89
89
|
export async function robinhoodHoldings(address) {
|
|
@@ -132,7 +132,7 @@ function atomsToHuman(atoms, decimals) {
|
|
|
132
132
|
/**
|
|
133
133
|
* Resolve a token symbol to its contract address via trending + new pools.
|
|
134
134
|
* Throws when the symbol is unknown or matches several distinct contracts
|
|
135
|
-
* (memecoin symbols are not unique
|
|
135
|
+
* (memecoin symbols are not unique - pass the address instead).
|
|
136
136
|
*/
|
|
137
137
|
export async function resolveTokenBySymbol(symbol) {
|
|
138
138
|
const wanted = symbol.trim().toUpperCase();
|
|
@@ -146,7 +146,7 @@ export async function resolveTokenBySymbol(symbol) {
|
|
|
146
146
|
matches.set(t.address.toLowerCase(), t);
|
|
147
147
|
}
|
|
148
148
|
if (matches.size === 0) {
|
|
149
|
-
throw new Error(`xpay.trade: unknown token "${symbol}"
|
|
149
|
+
throw new Error(`xpay.trade: unknown token "${symbol}" - not in Robinhood Chain trending/new pools. ` +
|
|
150
150
|
"Pass the token's contract address instead.");
|
|
151
151
|
}
|
|
152
152
|
if (matches.size > 1) {
|
package/dist/trading/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Robinhood Chain token trading
|
|
2
|
+
* Robinhood Chain token trading - direct Uniswap V3 (NOXA Fun launchpad).
|
|
3
3
|
*
|
|
4
4
|
* NOXA Fun tokens (fun.noxa.fi) launch straight into Uniswap V3 pools quoted
|
|
5
5
|
* in WETH, so trading them is plain V3: quote via QuoterV2, execute via
|
|
6
|
-
* SwapRouter02. No third-party API or key
|
|
6
|
+
* SwapRouter02. No third-party API or key - everything is on-chain against the
|
|
7
7
|
* chain's own RPC. GMGN was ruled out (no chain-4663 support, gated API).
|
|
8
8
|
*
|
|
9
9
|
* Scope v1: ETH ⇄ token only (buy with native ETH, sell back to native ETH).
|
|
10
10
|
* The router auto-wraps ETH on buys; sells unwrap WETH → ETH via multicall.
|
|
11
11
|
*
|
|
12
|
-
* A trade is irreversible and risks wallet value, so
|
|
12
|
+
* A trade is irreversible and risks wallet value, so, exactly like `swap`,
|
|
13
13
|
* it runs through the guardrail *before* signing.
|
|
14
14
|
*/
|
|
15
15
|
import type { Network } from "../types.js";
|
|
@@ -24,7 +24,7 @@ export declare const RH_CONTRACTS: {
|
|
|
24
24
|
readonly weth: "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
|
|
25
25
|
readonly noxaLauncher: "0xD9eC2db5f3D1b236843925949fe5bd8a3836FCcB";
|
|
26
26
|
};
|
|
27
|
-
/** Trading settings
|
|
27
|
+
/** Trading settings - profile `config.trading`, overridable per call. */
|
|
28
28
|
export interface TradeConfig {
|
|
29
29
|
/** Default max slippage in bps (100 = 1%). */
|
|
30
30
|
slippageBps?: number;
|
|
@@ -75,7 +75,7 @@ export interface TradeQuote {
|
|
|
75
75
|
/** Input-side USD estimate (GeckoTerminal spot). Best-effort. */
|
|
76
76
|
usdValue?: number;
|
|
77
77
|
/**
|
|
78
|
-
* True when the counterparty token was NOT confirmed as a NOXA Fun launch
|
|
78
|
+
* True when the counterparty token was NOT confirmed as a NOXA Fun launch -
|
|
79
79
|
* it may still be tradeable, but treat the pool/price with more suspicion.
|
|
80
80
|
*/
|
|
81
81
|
unverified: boolean;
|
|
@@ -86,7 +86,7 @@ export interface TradeResult extends TradeQuote {
|
|
|
86
86
|
/** Transaction hash on Robinhood Chain. */
|
|
87
87
|
txHash: string;
|
|
88
88
|
}
|
|
89
|
-
/** Quote a trade without executing
|
|
89
|
+
/** Quote a trade without executing - no guardrail, no signing, no funds moved. */
|
|
90
90
|
export declare function tradeQuote(args: Omit<TradeArgs, "guardrail">): Promise<TradeQuote>;
|
|
91
91
|
/** Execute a trade on Robinhood Chain. Guardrail runs before signing. */
|
|
92
92
|
export declare function trade(args: TradeArgs): Promise<TradeResult>;
|
package/dist/trading/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Robinhood Chain token trading
|
|
2
|
+
* Robinhood Chain token trading - direct Uniswap V3 (NOXA Fun launchpad).
|
|
3
3
|
*
|
|
4
4
|
* NOXA Fun tokens (fun.noxa.fi) launch straight into Uniswap V3 pools quoted
|
|
5
5
|
* in WETH, so trading them is plain V3: quote via QuoterV2, execute via
|
|
6
|
-
* SwapRouter02. No third-party API or key
|
|
6
|
+
* SwapRouter02. No third-party API or key - everything is on-chain against the
|
|
7
7
|
* chain's own RPC. GMGN was ruled out (no chain-4663 support, gated API).
|
|
8
8
|
*
|
|
9
9
|
* Scope v1: ETH ⇄ token only (buy with native ETH, sell back to native ETH).
|
|
10
10
|
* The router auto-wraps ETH on buys; sells unwrap WETH → ETH via multicall.
|
|
11
11
|
*
|
|
12
|
-
* A trade is irreversible and risks wallet value, so
|
|
12
|
+
* A trade is irreversible and risks wallet value, so, exactly like `swap`,
|
|
13
13
|
* it runs through the guardrail *before* signing.
|
|
14
14
|
*/
|
|
15
15
|
import { Contract, MaxUint256, getAddress, isAddress } from "ethers";
|
|
@@ -25,7 +25,7 @@ export const RH_CONTRACTS = {
|
|
|
25
25
|
};
|
|
26
26
|
/** Fee tiers probed (in bps*100) when the pool fee isn't known up front. NOXA uses 10000 (1%). */
|
|
27
27
|
const FEE_TIERS = [10000, 3000, 500, 100];
|
|
28
|
-
const DEFAULT_SLIPPAGE_BPS = 100; // 1%
|
|
28
|
+
const DEFAULT_SLIPPAGE_BPS = 100; // 1% - memecoin pools with a 1% fee move fast.
|
|
29
29
|
const MAX_SLIPPAGE_BPS = 5000; // 50% hard ceiling.
|
|
30
30
|
const QUOTER_ABI = [
|
|
31
31
|
"function quoteExactInputSingle((address tokenIn,address tokenOut,uint256 amountIn,uint24 fee,uint160 sqrtPriceLimitX96)) returns (uint256 amountOut,uint160 sqrtPriceX96After,uint32 initializedTicksCrossed,uint256 gasEstimate)",
|
|
@@ -42,7 +42,7 @@ const ERC20_ABI = [
|
|
|
42
42
|
"function allowance(address owner,address spender) view returns (uint256)",
|
|
43
43
|
"function approve(address spender,uint256 amount) returns (bool)",
|
|
44
44
|
];
|
|
45
|
-
// NOXA Fun token surface
|
|
45
|
+
// NOXA Fun token surface - non-standard getters a plain ERC-20 lacks.
|
|
46
46
|
const NOXA_TOKEN_ABI = [
|
|
47
47
|
"function liquidityPool() view returns (address)",
|
|
48
48
|
"function pairToken() view returns (address)",
|
|
@@ -54,14 +54,14 @@ const NOXA_TOKEN_ABI = [
|
|
|
54
54
|
// SwapRouter02 recipient constant: keep output in the router for a follow-up unwrap.
|
|
55
55
|
const ROUTER_ADDRESS_THIS = "0x0000000000000000000000000000000000000002";
|
|
56
56
|
const NATIVE_ETH = { symbol: "ETH", decimals: 18 };
|
|
57
|
-
/** Quote a trade without executing
|
|
57
|
+
/** Quote a trade without executing - no guardrail, no signing, no funds moved. */
|
|
58
58
|
export async function tradeQuote(args) {
|
|
59
59
|
return (await prepare(args)).quote;
|
|
60
60
|
}
|
|
61
61
|
/** Execute a trade on Robinhood Chain. Guardrail runs before signing. */
|
|
62
62
|
export async function trade(args) {
|
|
63
63
|
const { quote, ethersWallet, side, token } = await prepare(args);
|
|
64
|
-
// Guardrail *before* signing
|
|
64
|
+
// Guardrail *before* signing - same security boundary as swap/pay/transfer.
|
|
65
65
|
// Reuse the "swap" scheme so host-whitelist is skipped and the USD estimate
|
|
66
66
|
// is priced from `extra.usdEstimate` (see Guardrail.estimateUsd).
|
|
67
67
|
await args.guardrail.check({
|
|
@@ -140,7 +140,7 @@ async function prepare(args) {
|
|
|
140
140
|
throw new Error(`xpay.trade: only Robinhood Chain ("robinhood") is supported (got "${network}")`);
|
|
141
141
|
}
|
|
142
142
|
if (!args.wallet.has(ROBINHOOD_NETWORK)) {
|
|
143
|
-
throw new Error('xpay.trade: no "robinhood" signer configured
|
|
143
|
+
throw new Error('xpay.trade: no "robinhood" signer configured - add it to your profile networks');
|
|
144
144
|
}
|
|
145
145
|
if (!Number.isFinite(args.amount) || args.amount <= 0) {
|
|
146
146
|
throw new Error("xpay.trade: amount must be a positive number");
|
|
@@ -180,7 +180,7 @@ async function prepare(args) {
|
|
|
180
180
|
// A buy that would breach a cap is failed up front with a clear message
|
|
181
181
|
// rather than reverting opaquely on-chain. The cap info is surfaced on the
|
|
182
182
|
// quote only when this trade is actually within striking distance of a cap
|
|
183
|
-
// (>25% of it)
|
|
183
|
+
// (>25% of it) - established tokens leave a far-future endBlock set with wide
|
|
184
184
|
// caps, so reporting it unconditionally would be misleading noise.
|
|
185
185
|
let boundRestriction;
|
|
186
186
|
if (restriction && side === "buy") {
|
|
@@ -232,7 +232,7 @@ function isEth(ref) {
|
|
|
232
232
|
async function resolveToken(wallet, ref) {
|
|
233
233
|
let address = ref.trim();
|
|
234
234
|
if (!isAddress(address)) {
|
|
235
|
-
// Treat as a symbol
|
|
235
|
+
// Treat as a symbol - resolve via GeckoTerminal trending/new pools.
|
|
236
236
|
const found = await resolveTokenBySymbol(address);
|
|
237
237
|
address = found.address;
|
|
238
238
|
}
|
|
@@ -244,7 +244,7 @@ async function resolveToken(wallet, ref) {
|
|
|
244
244
|
]);
|
|
245
245
|
return { address, symbol, decimals };
|
|
246
246
|
}
|
|
247
|
-
/** Probe a token's NOXA Fun surface
|
|
247
|
+
/** Probe a token's NOXA Fun surface - pool, fee tier, launch restrictions. */
|
|
248
248
|
async function inspectToken(wallet, address) {
|
|
249
249
|
const t = new Contract(address, NOXA_TOKEN_ABI, wallet);
|
|
250
250
|
try {
|
|
@@ -277,7 +277,7 @@ async function inspectToken(wallet, address) {
|
|
|
277
277
|
return meta;
|
|
278
278
|
}
|
|
279
279
|
catch {
|
|
280
|
-
// Not a NOXA token (getters reverted)
|
|
280
|
+
// Not a NOXA token (getters reverted) - still tradeable if a V3 pool exists.
|
|
281
281
|
return { isNoxa: false };
|
|
282
282
|
}
|
|
283
283
|
}
|
|
@@ -287,7 +287,7 @@ async function quoteBestFee(wallet, tokenIn, tokenOut, amountIn, fees) {
|
|
|
287
287
|
let lastErr;
|
|
288
288
|
for (const fee of fees) {
|
|
289
289
|
try {
|
|
290
|
-
// QuoterV2 quote fns are non-view (revert-to-return)
|
|
290
|
+
// QuoterV2 quote fns are non-view (revert-to-return) - must use staticCall.
|
|
291
291
|
const res = await quoter.quoteExactInputSingle.staticCall({
|
|
292
292
|
tokenIn,
|
|
293
293
|
tokenOut,
|