@xona-labs/xpay 0.2.15 → 0.2.17

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.
Files changed (42) hide show
  1. package/README.md +30 -1
  2. package/dist/cli/balance.d.ts.map +1 -1
  3. package/dist/cli/balance.js +20 -2
  4. package/dist/cli/balance.js.map +1 -1
  5. package/dist/cli/index.js +22 -0
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/trade.d.ts +22 -0
  8. package/dist/cli/trade.d.ts.map +1 -0
  9. package/dist/cli/trade.js +148 -0
  10. package/dist/cli/trade.js.map +1 -0
  11. package/dist/index.d.ts +32 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +8 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/profile/index.d.ts.map +1 -1
  16. package/dist/profile/index.js +11 -1
  17. package/dist/profile/index.js.map +1 -1
  18. package/dist/profile/types.d.ts +8 -0
  19. package/dist/profile/types.d.ts.map +1 -1
  20. package/dist/signers/raw-evm.d.ts.map +1 -1
  21. package/dist/signers/raw-evm.js +11 -0
  22. package/dist/signers/raw-evm.js.map +1 -1
  23. package/dist/tools/index.d.ts.map +1 -1
  24. package/dist/tools/index.js +74 -0
  25. package/dist/tools/index.js.map +1 -1
  26. package/dist/trading/discovery.d.ts +57 -0
  27. package/dist/trading/discovery.d.ts.map +1 -0
  28. package/dist/trading/discovery.js +159 -0
  29. package/dist/trading/discovery.js.map +1 -0
  30. package/dist/trading/index.d.ts +93 -0
  31. package/dist/trading/index.d.ts.map +1 -0
  32. package/dist/trading/index.js +348 -0
  33. package/dist/trading/index.js.map +1 -0
  34. package/dist/types.d.ts +8 -0
  35. package/dist/types.d.ts.map +1 -1
  36. package/dist/wallet/index.d.ts.map +1 -1
  37. package/dist/wallet/index.js +2 -0
  38. package/dist/wallet/index.js.map +1 -1
  39. package/dist/x402/evm-payment.d.ts.map +1 -1
  40. package/dist/x402/evm-payment.js +1 -0
  41. package/dist/x402/evm-payment.js.map +1 -1
  42. package/package.json +1 -1
@@ -105,6 +105,14 @@ export interface ProfileConfig {
105
105
  /** Jupiter API base override. Falls back to env XPAY_JUPITER_ENDPOINT. */
106
106
  endpoint?: string;
107
107
  };
108
+ /**
109
+ * Robinhood Chain token-trading settings (NOXA Fun / Uniswap V3). Optional —
110
+ * trades work with sensible defaults; the RPC override lives in `rpcs.robinhood`.
111
+ */
112
+ trading?: {
113
+ /** Default max slippage in bps (100 = 1%). Memecoin pools move fast. */
114
+ slippageBps?: number;
115
+ };
108
116
  /**
109
117
  * MagicBlock Private Ephemeral Rollup integration.
110
118
  * Platform-level config — set once by the xpay operator via `xpay magicblock configure`.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,aAAa,CAAC;QACtB,GAAG,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,yCAAyC;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,wEAAwE;IACxE,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,gDAAgD;IAChD,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,6FAA6F;QAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,uFAAuF;QACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;OAGG;IACH,IAAI,CAAC,EAAE;QACL,iFAAiF;QACjF,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iFAAiF;QACjF,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,0EAA0E;QAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,qDAAqD;QACrD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,kDAAkD;QAClD,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"raw-evm.d.ts","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,EAAgB,MAAM,aAAa,CAAC;AAyDrF,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAmF9D"}
1
+ {"version":3,"file":"raw-evm.d.ts","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,EAAgB,MAAM,aAAa,CAAC;AAgErF,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAwF9D"}
@@ -8,6 +8,7 @@ const NATIVE_TOKEN = {
8
8
  ethereum: { symbol: "ETH", name: "Ether" },
9
9
  arbitrum: { symbol: "ETH", name: "Ether" },
10
10
  optimism: { symbol: "ETH", name: "Ether" },
11
+ robinhood: { symbol: "ETH", name: "Ether" },
11
12
  };
12
13
  const KNOWN_ERC20S = {
13
14
  base: [
@@ -34,6 +35,11 @@ const KNOWN_ERC20S = {
34
35
  { symbol: "WETH", name: "Wrapped Ether", contract: "0x4200000000000000000000000000000000000006", decimals: 18 },
35
36
  { symbol: "OP", name: "Optimism", contract: "0x4200000000000000000000000000000000000042", decimals: 18 },
36
37
  ],
38
+ // Robinhood Chain (Arbitrum Orbit L2, chain 4663) is ETH-native; no canonical
39
+ // USDC exists there yet, so no USDC entry — `balance()` reports 0 by design.
40
+ robinhood: [
41
+ { symbol: "WETH", name: "Wrapped Ether", contract: "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73", decimals: 18 },
42
+ ],
37
43
  };
38
44
  /** Per-network USDC contract addresses. */
39
45
  const USDC_CONTRACTS = {
@@ -47,6 +53,7 @@ const DEFAULT_RPCS = {
47
53
  ethereum: "https://eth-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ",
48
54
  arbitrum: "https://arb-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ",
49
55
  optimism: "https://opt-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ",
56
+ robinhood: "https://rpc.mainnet.chain.robinhood.com",
50
57
  };
51
58
  const ERC20_ABI = [
52
59
  "function transfer(address to, uint256 amount) returns (bool)",
@@ -71,6 +78,10 @@ export function rawEvmSigner(opts) {
71
78
  async signEvmTypedData({ domain, types, message }) {
72
79
  return wallet.signTypedData(domain, types, message);
73
80
  },
81
+ // Underlying ethers Wallet (provider-connected) for on-chain DEX trades.
82
+ getEvmWallet() {
83
+ return wallet;
84
+ },
74
85
  async balance() {
75
86
  const usdc = USDC_CONTRACTS[opts.network];
76
87
  if (!usdc)
@@ -1 +1 @@
1
- {"version":3,"file":"raw-evm.js","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw-evm.js","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAiBxC,MAAM,WAAW,UAAU,CAAC,IAAI;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAmavF;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;;qCArbD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAkc9E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;qCArcD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAmd9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAiBxC,MAAM,WAAW,UAAU,CAAC,IAAI;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAqfvF;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;;qCAvgBD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAohB9E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;qCAvhBD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAqiB9E"}
@@ -179,6 +179,64 @@ export function forClaude(xpay, opts = {}) {
179
179
  required: ["amount", "from", "to"],
180
180
  },
181
181
  },
182
+ {
183
+ name: "xpay_trending_tokens",
184
+ description: "List tokens trending on Robinhood Chain (Robinhood's Arbitrum L2, home of the NOXA Fun / " +
185
+ "fun.noxa.fi memecoin scene) right now, with price, market cap, 24h volume, and the token's " +
186
+ "contract address. FREE, read-only, no wallet. Use this to answer 'what's hot on Robinhood " +
187
+ "Chain' and to get the exact contract address to pass to xpay_trade. Pass newOnly:true for " +
188
+ "the freshest launches (higher risk). This is Robinhood *Chain* on-chain data — unrelated to " +
189
+ "the Robinhood brokerage app or stock trading.",
190
+ input_schema: {
191
+ type: "object",
192
+ properties: {
193
+ newOnly: { type: "boolean", description: "Show newest pools instead of trending. Default false." },
194
+ limit: { type: "number", description: "Max results. Default 10." },
195
+ },
196
+ },
197
+ },
198
+ {
199
+ name: "xpay_trade_quote",
200
+ description: "Quote a Robinhood Chain trade WITHOUT executing — no signing, no funds moved, no guardrail. " +
201
+ "Buy a token with native ETH or sell it back to ETH, routed through Uniswap V3 (NOXA Fun " +
202
+ "pools). Returns expected output, min output after slippage, pool fee, USD estimate, and " +
203
+ "whether the token is a verified NOXA launch. Use this to preview a trade before calling " +
204
+ "xpay_trade. `from`/`to` are 'ETH' or an ERC-20 contract address (or a trending symbol); " +
205
+ "exactly one side must be ETH.",
206
+ input_schema: {
207
+ type: "object",
208
+ properties: {
209
+ amount: { type: "number", description: "Amount of the input token, human units (e.g. 0.01)." },
210
+ from: { type: "string", description: "Input: 'ETH' or an ERC-20 contract address / trending symbol." },
211
+ to: { type: "string", description: "Output: 'ETH' or an ERC-20 contract address / trending symbol." },
212
+ slippageBps: { type: "number", description: "Max slippage in bps (100 = 1%). Default 100." },
213
+ },
214
+ required: ["amount", "from", "to"],
215
+ },
216
+ },
217
+ {
218
+ name: "xpay_trade",
219
+ description: "Trade tokens on Robinhood Chain (Arbitrum L2) via Uniswap V3 — quotes, signs, and executes " +
220
+ "in ONE call from the user's own xpay wallet. Buy a memecoin with native ETH, or sell it back " +
221
+ "to ETH (v1 supports ETH↔token only). This is distinct from xpay_swap, which is Solana/Jupiter. " +
222
+ "NEVER write code or call DEX/router contracts yourself — custom code bypasses the guardrail and " +
223
+ "has no wallet key. Trades are IRREVERSIBLE; guardrail caps are enforced before signing. Before " +
224
+ "calling: show the user the input amount + USD value, expected output, the token's contract " +
225
+ "address, and whether it's a verified NOXA launch (unverified tokens can be scams reusing a " +
226
+ "ticker) — and get explicit approval. Prefer passing the exact contract address from " +
227
+ "xpay_trending_tokens over a symbol (memecoin tickers aren't unique). Fund the wallet with ETH " +
228
+ "on Robinhood Chain first (bridge via Across or Uniswap) — the wallet pays its own gas here.",
229
+ input_schema: {
230
+ type: "object",
231
+ properties: {
232
+ amount: { type: "number", description: "Amount of the input token, human units (e.g. 0.01)." },
233
+ from: { type: "string", description: "Input: 'ETH' or an ERC-20 contract address / trending symbol." },
234
+ to: { type: "string", description: "Output: 'ETH' or an ERC-20 contract address / trending symbol." },
235
+ slippageBps: { type: "number", description: "Max slippage in bps (100 = 1%). Default 100." },
236
+ },
237
+ required: ["amount", "from", "to"],
238
+ },
239
+ },
182
240
  {
183
241
  name: "xpay_x_user",
184
242
  description: "Realtime X (Twitter) profile lookup — followers, bio, verification status. This is a PAID " +
@@ -352,6 +410,22 @@ export function forClaude(xpay, opts = {}) {
352
410
  to: input.to,
353
411
  slippageBps: input.slippageBps,
354
412
  }),
413
+ xpay_trending_tokens: async (input) => {
414
+ const opts = { limit: input.limit ?? 10 };
415
+ return input.newOnly ? xpay.newTokens(opts) : xpay.trendingTokens(opts);
416
+ },
417
+ xpay_trade_quote: async (input) => xpay.tradeQuote({
418
+ amount: input.amount,
419
+ from: input.from,
420
+ to: input.to,
421
+ slippageBps: input.slippageBps,
422
+ }),
423
+ xpay_trade: async (input) => xpay.trade({
424
+ amount: input.amount,
425
+ from: input.from,
426
+ to: input.to,
427
+ slippageBps: input.slippageBps,
428
+ }),
355
429
  xpay_x_user: async (input) => xpay.useByUrl(`${XDATA_BASE}/x/user`, {
356
430
  method: "POST",
357
431
  body: { handle: input.handle },
@@ -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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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Robinhood Chain token discovery — GeckoTerminal public API.
3
+ *
4
+ * GeckoTerminal indexes Robinhood Chain under the network id "robinhood"
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 —
7
+ * the trade path itself never depends on it.
8
+ */
9
+ export interface DiscoveredToken {
10
+ symbol: string;
11
+ name: string;
12
+ /** ERC-20 contract address on Robinhood Chain. */
13
+ address: string;
14
+ priceUsd?: number;
15
+ marketCapUsd?: number;
16
+ fdvUsd?: number;
17
+ volume24hUsd?: number;
18
+ priceChange24hPct?: number;
19
+ /** Liquidity pool: 20-byte address (Uniswap v3) or 32-byte id (v4). */
20
+ pool: string;
21
+ /** True for v4 pool ids — xpay_trade only routes v3 pools today. */
22
+ poolIsV4: boolean;
23
+ dex?: string;
24
+ poolCreatedAt?: string;
25
+ }
26
+ /** Tokens from pools trending on Robinhood Chain right now. */
27
+ export declare function trendingTokens(opts?: {
28
+ limit?: number;
29
+ }): Promise<DiscoveredToken[]>;
30
+ /** Tokens from the most recently created pools (fresh launches — high risk). */
31
+ export declare function newTokens(opts?: {
32
+ limit?: number;
33
+ }): Promise<DiscoveredToken[]>;
34
+ /** Spot USD price for a token (e.g. WETH → effective ETH price). Best-effort. */
35
+ export declare function tokenPriceUsd(address: string): Promise<number | undefined>;
36
+ export interface TokenHolding {
37
+ symbol: string;
38
+ name: string;
39
+ address: string;
40
+ decimals: number;
41
+ /** Human-unit balance. */
42
+ balance: number;
43
+ }
44
+ /**
45
+ * All ERC-20 balances a wallet holds on Robinhood Chain, via the chain's
46
+ * Blockscout explorer API (keyless). This is what surfaces memecoins bought
47
+ * through `xpay trade` — the on-chain signer only knows a hardcoded token list.
48
+ * Best-effort: returns [] if the explorer is unreachable.
49
+ */
50
+ export declare function robinhoodHoldings(address: string): Promise<TokenHolding[]>;
51
+ /**
52
+ * Resolve a token symbol to its contract address via trending + new pools.
53
+ * Throws when the symbol is unknown or matches several distinct contracts
54
+ * (memecoin symbols are not unique — pass the address instead).
55
+ */
56
+ export declare function resolveTokenBySymbol(symbol: string): Promise<DiscoveredToken>;
57
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/trading/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAsDD,+DAA+D;AAC/D,wBAAsB,cAAc,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAG9F;AAED,gFAAgF;AAChF,wBAAsB,SAAS,CAAC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAGzF;AAED,iFAAiF;AACjF,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQhF;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BhF;AASD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAwBnF"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Robinhood Chain token discovery — GeckoTerminal public API.
3
+ *
4
+ * GeckoTerminal indexes Robinhood Chain under the network id "robinhood"
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 —
7
+ * the trade path itself never depends on it.
8
+ */
9
+ const DEFAULT_ENDPOINT = "https://api.geckoterminal.com/api/v2";
10
+ const GT_NETWORK = "robinhood";
11
+ const BLOCKSCOUT = "https://robinhoodchain.blockscout.com";
12
+ function endpoint() {
13
+ return process.env.XPAY_GECKOTERMINAL_ENDPOINT ?? DEFAULT_ENDPOINT;
14
+ }
15
+ async function gtFetch(path) {
16
+ const res = await fetch(`${endpoint()}${path}`, {
17
+ headers: { accept: "application/json" },
18
+ });
19
+ if (!res.ok) {
20
+ throw new Error(`GeckoTerminal ${path}: HTTP ${res.status} ${await res.text().catch(() => "")}`.trim());
21
+ }
22
+ return (await res.json());
23
+ }
24
+ function num(v) {
25
+ const n = Number(v);
26
+ return Number.isFinite(n) ? n : undefined;
27
+ }
28
+ /** Map a GeckoTerminal pools payload to per-token entries. */
29
+ function poolsToTokens(payload, limit) {
30
+ const data = (payload.data ?? []);
31
+ const out = [];
32
+ for (const pool of data) {
33
+ const attrs = pool.attributes ?? {};
34
+ // base_token id looks like "robinhood_0x020b…" — address after the prefix.
35
+ const baseId = pool.relationships?.base_token?.data?.id ?? "";
36
+ const address = baseId.includes("_") ? baseId.slice(baseId.indexOf("_") + 1) : "";
37
+ if (!address.startsWith("0x"))
38
+ continue;
39
+ // Pool name looks like "CASHCAT / WETH 1%".
40
+ const name = attrs.name ?? "";
41
+ const symbol = name.split("/")[0]?.trim() ?? "";
42
+ const poolAddress = attrs.address ?? "";
43
+ out.push({
44
+ symbol,
45
+ name,
46
+ address,
47
+ priceUsd: num(attrs.base_token_price_usd),
48
+ marketCapUsd: num(attrs.market_cap_usd) ?? undefined,
49
+ fdvUsd: num(attrs.fdv_usd),
50
+ volume24hUsd: num(attrs.volume_usd?.h24),
51
+ priceChange24hPct: num(attrs.price_change_percentage?.h24),
52
+ pool: poolAddress,
53
+ poolIsV4: poolAddress.length > 42,
54
+ dex: pool.relationships?.dex?.data?.id,
55
+ poolCreatedAt: attrs.pool_created_at,
56
+ });
57
+ if (out.length >= limit)
58
+ break;
59
+ }
60
+ return out;
61
+ }
62
+ /** Tokens from pools trending on Robinhood Chain right now. */
63
+ export async function trendingTokens(opts = {}) {
64
+ const payload = await gtFetch(`/networks/${GT_NETWORK}/trending_pools?page=1`);
65
+ return poolsToTokens(payload, opts.limit ?? 10);
66
+ }
67
+ /** Tokens from the most recently created pools (fresh launches — high risk). */
68
+ export async function newTokens(opts = {}) {
69
+ const payload = await gtFetch(`/networks/${GT_NETWORK}/new_pools?page=1`);
70
+ return poolsToTokens(payload, opts.limit ?? 10);
71
+ }
72
+ /** Spot USD price for a token (e.g. WETH → effective ETH price). Best-effort. */
73
+ export async function tokenPriceUsd(address) {
74
+ try {
75
+ const payload = await gtFetch(`/networks/${GT_NETWORK}/tokens/${address.toLowerCase()}`);
76
+ const attrs = payload.data?.attributes ?? {};
77
+ return num(attrs.price_usd);
78
+ }
79
+ catch {
80
+ return undefined;
81
+ }
82
+ }
83
+ /**
84
+ * All ERC-20 balances a wallet holds on Robinhood Chain, via the chain's
85
+ * Blockscout explorer API (keyless). This is what surfaces memecoins bought
86
+ * through `xpay trade` — the on-chain signer only knows a hardcoded token list.
87
+ * Best-effort: returns [] if the explorer is unreachable.
88
+ */
89
+ export async function robinhoodHoldings(address) {
90
+ const base = process.env.XPAY_ROBINHOOD_EXPLORER ?? BLOCKSCOUT;
91
+ try {
92
+ const res = await fetch(`${base}/api/v2/addresses/${address}/token-balances`, {
93
+ headers: { accept: "application/json" },
94
+ });
95
+ if (!res.ok)
96
+ return [];
97
+ const rows = (await res.json());
98
+ if (!Array.isArray(rows))
99
+ return [];
100
+ const out = [];
101
+ for (const row of rows) {
102
+ const t = row.token ?? {};
103
+ // Only fungible ERC-20s (skip NFTs / ERC-1155).
104
+ if (t.type && t.type !== "ERC-20")
105
+ continue;
106
+ const addr = t.address ?? t.address_hash ?? "";
107
+ const decimals = Number(t.decimals ?? 18);
108
+ const raw = String(row.value ?? "0");
109
+ if (!addr || raw === "0")
110
+ continue;
111
+ out.push({
112
+ symbol: t.symbol ?? addr.slice(0, 6) + "…",
113
+ name: t.name ?? "",
114
+ address: addr,
115
+ decimals,
116
+ balance: atomsToHuman(raw, decimals),
117
+ });
118
+ }
119
+ // Biggest holdings first.
120
+ return out.sort((a, b) => b.balance - a.balance);
121
+ }
122
+ catch {
123
+ return [];
124
+ }
125
+ }
126
+ function atomsToHuman(atoms, decimals) {
127
+ const s = atoms.padStart(decimals + 1, "0");
128
+ const whole = s.slice(0, s.length - decimals);
129
+ const frac = s.slice(s.length - decimals);
130
+ return Number(`${whole}.${frac}`);
131
+ }
132
+ /**
133
+ * Resolve a token symbol to its contract address via trending + new pools.
134
+ * Throws when the symbol is unknown or matches several distinct contracts
135
+ * (memecoin symbols are not unique — pass the address instead).
136
+ */
137
+ export async function resolveTokenBySymbol(symbol) {
138
+ const wanted = symbol.trim().toUpperCase();
139
+ const [trending, fresh] = await Promise.all([
140
+ trendingTokens({ limit: 20 }),
141
+ newTokens({ limit: 20 }).catch(() => []),
142
+ ]);
143
+ const matches = new Map();
144
+ for (const t of [...trending, ...fresh]) {
145
+ if (t.symbol.toUpperCase() === wanted)
146
+ matches.set(t.address.toLowerCase(), t);
147
+ }
148
+ if (matches.size === 0) {
149
+ throw new Error(`xpay.trade: unknown token "${symbol}" — not in Robinhood Chain trending/new pools. ` +
150
+ "Pass the token's contract address instead.");
151
+ }
152
+ if (matches.size > 1) {
153
+ const list = [...matches.values()].map((t) => `${t.symbol} ${t.address}`).join(", ");
154
+ throw new Error(`xpay.trade: symbol "${symbol}" is ambiguous on Robinhood Chain (${list}). ` +
155
+ "Pass the contract address of the one you mean.");
156
+ }
157
+ return [...matches.values()][0];
158
+ }
159
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/trading/discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Robinhood Chain token trading — direct Uniswap V3 (NOXA Fun launchpad).
3
+ *
4
+ * NOXA Fun tokens (fun.noxa.fi) launch straight into Uniswap V3 pools quoted
5
+ * in WETH, so trading them is plain V3: quote via QuoterV2, execute via
6
+ * SwapRouter02. No third-party API or key — everything is on-chain against the
7
+ * chain's own RPC. GMGN was ruled out (no chain-4663 support, gated API).
8
+ *
9
+ * Scope v1: ETH ⇄ token only (buy with native ETH, sell back to native ETH).
10
+ * The router auto-wraps ETH on buys; sells unwrap WETH → ETH via multicall.
11
+ *
12
+ * A trade is irreversible and risks wallet value, so — exactly like `swap` —
13
+ * it runs through the guardrail *before* signing.
14
+ */
15
+ import type { Network } from "../types.js";
16
+ import type { Wallet as XPayWallet } from "../wallet/index.js";
17
+ import type { Guardrail } from "../guardrail/index.js";
18
+ export declare const ROBINHOOD_NETWORK = "robinhood";
19
+ /** Verified Robinhood Chain (chain 4663) contracts. */
20
+ export declare const RH_CONTRACTS: {
21
+ readonly swapRouter02: "0xcaf681a66d020601342297493863e78c959e5cb2";
22
+ readonly quoterV2: "0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7";
23
+ readonly factory: "0x1f7d7550b1b028f7571e69a784071f0205fd2efa";
24
+ readonly weth: "0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73";
25
+ readonly noxaLauncher: "0xD9eC2db5f3D1b236843925949fe5bd8a3836FCcB";
26
+ };
27
+ /** Trading settings — profile `config.trading`, overridable per call. */
28
+ export interface TradeConfig {
29
+ /** Default max slippage in bps (100 = 1%). */
30
+ slippageBps?: number;
31
+ }
32
+ export interface TradeArgs {
33
+ /** Human amount of the input token (e.g. 0.01 ETH, or 1000 MEME). */
34
+ amount: number;
35
+ /** Input: "ETH" or an ERC-20 contract address / known trending symbol. */
36
+ from: string;
37
+ /** Output: "ETH" or an ERC-20 contract address / known trending symbol. */
38
+ to: string;
39
+ /** Only Robinhood Chain is supported today; defaults to "robinhood". */
40
+ network?: Network;
41
+ slippageBps?: number;
42
+ wallet: XPayWallet;
43
+ guardrail: Guardrail;
44
+ config?: TradeConfig;
45
+ }
46
+ export interface TradeTokenInfo {
47
+ symbol: string;
48
+ /** Contract address, or "ETH" for the native gas token. */
49
+ address: string;
50
+ decimals: number;
51
+ }
52
+ export interface TradeRestriction {
53
+ endBlock: number;
54
+ currentBlock: number;
55
+ maxWalletAtoms?: string;
56
+ maxTxAtoms?: string;
57
+ }
58
+ export interface TradeQuote {
59
+ network: "robinhood";
60
+ from: TradeTokenInfo;
61
+ to: TradeTokenInfo;
62
+ /** Input in human / atomic units. */
63
+ inAmount: number;
64
+ inAtoms: string;
65
+ /** Expected output before slippage, human / atomic. */
66
+ outAmount: number;
67
+ outAtoms: string;
68
+ /** Min output after slippage (what the swap enforces on-chain), atomic. */
69
+ minOutAtoms: string;
70
+ /** Pool fee tier used (10000 = 1%). */
71
+ poolFee: number;
72
+ /** Uniswap V3 pool address the route goes through. */
73
+ pool: string;
74
+ slippageBps: number;
75
+ /** Input-side USD estimate (GeckoTerminal spot). Best-effort. */
76
+ usdValue?: number;
77
+ /**
78
+ * True when the counterparty token was NOT confirmed as a NOXA Fun launch —
79
+ * it may still be tradeable, but treat the pool/price with more suspicion.
80
+ */
81
+ unverified: boolean;
82
+ /** Present when the token is still inside its NOXA launch-restriction window. */
83
+ restriction?: TradeRestriction;
84
+ }
85
+ export interface TradeResult extends TradeQuote {
86
+ /** Transaction hash on Robinhood Chain. */
87
+ txHash: string;
88
+ }
89
+ /** Quote a trade without executing — no guardrail, no signing, no funds moved. */
90
+ export declare function tradeQuote(args: Omit<TradeArgs, "guardrail">): Promise<TradeQuote>;
91
+ /** Execute a trade on Robinhood Chain. Guardrail runs before signing. */
92
+ export declare function trade(args: TradeArgs): Promise<TradeResult>;
93
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trading/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,uDAAuD;AACvD,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAoCX,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,cAAc,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kFAAkF;AAClF,wBAAsB,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAExF;AAED,yEAAyE;AACzE,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CA6EjE"}