agentwallet-sdk 3.0.0 → 3.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.
Files changed (130) hide show
  1. package/README.md +214 -1
  2. package/dist/fiat/index.d.ts +10 -0
  3. package/dist/fiat/index.d.ts.map +1 -0
  4. package/dist/fiat/index.js +9 -0
  5. package/dist/fiat/index.js.map +1 -0
  6. package/dist/fiat/onramp.d.ts +101 -0
  7. package/dist/fiat/onramp.d.ts.map +1 -0
  8. package/dist/fiat/onramp.js +155 -0
  9. package/dist/fiat/onramp.js.map +1 -0
  10. package/dist/fiat/providers/index.d.ts +16 -0
  11. package/dist/fiat/providers/index.d.ts.map +1 -0
  12. package/dist/fiat/providers/index.js +30 -0
  13. package/dist/fiat/providers/index.js.map +1 -0
  14. package/dist/fiat/providers/moonpay.d.ts +22 -0
  15. package/dist/fiat/providers/moonpay.d.ts.map +1 -0
  16. package/dist/fiat/providers/moonpay.js +107 -0
  17. package/dist/fiat/providers/moonpay.js.map +1 -0
  18. package/dist/fiat/providers/stripe.d.ts +26 -0
  19. package/dist/fiat/providers/stripe.d.ts.map +1 -0
  20. package/dist/fiat/providers/stripe.js +135 -0
  21. package/dist/fiat/providers/stripe.js.map +1 -0
  22. package/dist/fiat/providers/transak.d.ts +26 -0
  23. package/dist/fiat/providers/transak.d.ts.map +1 -0
  24. package/dist/fiat/providers/transak.js +119 -0
  25. package/dist/fiat/providers/transak.js.map +1 -0
  26. package/dist/fiat/types.d.ts +106 -0
  27. package/dist/fiat/types.d.ts.map +1 -0
  28. package/dist/fiat/types.js +13 -0
  29. package/dist/fiat/types.js.map +1 -0
  30. package/dist/gas/index.d.ts +4 -0
  31. package/dist/gas/index.d.ts.map +1 -0
  32. package/dist/gas/index.js +3 -0
  33. package/dist/gas/index.js.map +1 -0
  34. package/dist/gas/sponsor.d.ts +70 -0
  35. package/dist/gas/sponsor.d.ts.map +1 -0
  36. package/dist/gas/sponsor.js +193 -0
  37. package/dist/gas/sponsor.js.map +1 -0
  38. package/dist/gas/types.d.ts +76 -0
  39. package/dist/gas/types.d.ts.map +1 -0
  40. package/dist/gas/types.js +21 -0
  41. package/dist/gas/types.js.map +1 -0
  42. package/dist/index.d.ts +72 -62
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +11 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/settlement/index.d.ts +4 -0
  47. package/dist/settlement/index.d.ts.map +1 -0
  48. package/dist/settlement/index.js +3 -0
  49. package/dist/settlement/index.js.map +1 -0
  50. package/dist/settlement/types.d.ts +66 -0
  51. package/dist/settlement/types.d.ts.map +1 -0
  52. package/dist/settlement/types.js +37 -0
  53. package/dist/settlement/types.js.map +1 -0
  54. package/dist/settlement/verifier.d.ts +75 -0
  55. package/dist/settlement/verifier.d.ts.map +1 -0
  56. package/dist/settlement/verifier.js +354 -0
  57. package/dist/settlement/verifier.js.map +1 -0
  58. package/dist/swap/index.d.ts +1 -0
  59. package/dist/swap/index.d.ts.map +1 -1
  60. package/dist/swap/index.js +2 -0
  61. package/dist/swap/index.js.map +1 -1
  62. package/dist/swap/router/cache.d.ts +13 -0
  63. package/dist/swap/router/cache.d.ts.map +1 -0
  64. package/dist/swap/router/cache.js +30 -0
  65. package/dist/swap/router/cache.js.map +1 -0
  66. package/dist/swap/router/flashbots.d.ts +10 -0
  67. package/dist/swap/router/flashbots.d.ts.map +1 -0
  68. package/dist/swap/router/flashbots.js +43 -0
  69. package/dist/swap/router/flashbots.js.map +1 -0
  70. package/dist/swap/router/health.d.ts +17 -0
  71. package/dist/swap/router/health.d.ts.map +1 -0
  72. package/dist/swap/router/health.js +38 -0
  73. package/dist/swap/router/health.js.map +1 -0
  74. package/dist/swap/router/index.d.ts +10 -0
  75. package/dist/swap/router/index.d.ts.map +1 -0
  76. package/dist/swap/router/index.js +10 -0
  77. package/dist/swap/router/index.js.map +1 -0
  78. package/dist/swap/router/providers/cowswap.d.ts +11 -0
  79. package/dist/swap/router/providers/cowswap.d.ts.map +1 -0
  80. package/dist/swap/router/providers/cowswap.js +79 -0
  81. package/dist/swap/router/providers/cowswap.js.map +1 -0
  82. package/dist/swap/router/providers/index.d.ts +20 -0
  83. package/dist/swap/router/providers/index.d.ts.map +1 -0
  84. package/dist/swap/router/providers/index.js +32 -0
  85. package/dist/swap/router/providers/index.js.map +1 -0
  86. package/dist/swap/router/providers/jupiter.d.ts +12 -0
  87. package/dist/swap/router/providers/jupiter.d.ts.map +1 -0
  88. package/dist/swap/router/providers/jupiter.js +73 -0
  89. package/dist/swap/router/providers/jupiter.js.map +1 -0
  90. package/dist/swap/router/providers/lifi.d.ts +11 -0
  91. package/dist/swap/router/providers/lifi.d.ts.map +1 -0
  92. package/dist/swap/router/providers/lifi.js +123 -0
  93. package/dist/swap/router/providers/lifi.js.map +1 -0
  94. package/dist/swap/router/providers/oneinch.d.ts +13 -0
  95. package/dist/swap/router/providers/oneinch.d.ts.map +1 -0
  96. package/dist/swap/router/providers/oneinch.js +71 -0
  97. package/dist/swap/router/providers/oneinch.js.map +1 -0
  98. package/dist/swap/router/providers/paraswap.d.ts +11 -0
  99. package/dist/swap/router/providers/paraswap.d.ts.map +1 -0
  100. package/dist/swap/router/providers/paraswap.js +73 -0
  101. package/dist/swap/router/providers/paraswap.js.map +1 -0
  102. package/dist/swap/router/providers/uniswap.d.ts +31 -0
  103. package/dist/swap/router/providers/uniswap.d.ts.map +1 -0
  104. package/dist/swap/router/providers/uniswap.js +116 -0
  105. package/dist/swap/router/providers/uniswap.js.map +1 -0
  106. package/dist/swap/router/providers/zerox.d.ts +13 -0
  107. package/dist/swap/router/providers/zerox.d.ts.map +1 -0
  108. package/dist/swap/router/providers/zerox.js +94 -0
  109. package/dist/swap/router/providers/zerox.js.map +1 -0
  110. package/dist/swap/router/router.d.ts +86 -0
  111. package/dist/swap/router/router.d.ts.map +1 -0
  112. package/dist/swap/router/router.js +224 -0
  113. package/dist/swap/router/router.js.map +1 -0
  114. package/dist/swap/router/rsi/engine.d.ts +60 -0
  115. package/dist/swap/router/rsi/engine.d.ts.map +1 -0
  116. package/dist/swap/router/rsi/engine.js +483 -0
  117. package/dist/swap/router/rsi/engine.js.map +1 -0
  118. package/dist/swap/router/rsi/index.d.ts +3 -0
  119. package/dist/swap/router/rsi/index.d.ts.map +1 -0
  120. package/dist/swap/router/rsi/index.js +3 -0
  121. package/dist/swap/router/rsi/index.js.map +1 -0
  122. package/dist/swap/router/rsi/types.d.ts +106 -0
  123. package/dist/swap/router/rsi/types.d.ts.map +1 -0
  124. package/dist/swap/router/rsi/types.js +3 -0
  125. package/dist/swap/router/rsi/types.js.map +1 -0
  126. package/dist/swap/router/types.d.ts +120 -0
  127. package/dist/swap/router/types.d.ts.map +1 -0
  128. package/dist/swap/router/types.js +16 -0
  129. package/dist/swap/router/types.js.map +1 -0
  130. package/package.json +1 -1
package/README.md CHANGED
@@ -16,7 +16,7 @@ Agent spent $490 today → 🛑 Next tx queued ($500/day limit hit)
16
16
  |---|---|---|---|
17
17
  | **Custody** | Non-custodial (keys on device) | Semi-custodial (TEE) | Non-custodial (claimed) |
18
18
  | **Spend Limits** | On-chain (smart contract) | API-enforced | Not documented |
19
- | **Chains** | 5 (Base, ETH, Arb, Polygon, Sepolia) | Base only | Unclear |
19
+ | **Chains** | **17** (Base, ETH, Arb, Polygon + 12 EVM + **Solana**) | Base only | Unclear |
20
20
  | **Agent Identity** | ERC-8004 + ERC-6551 | None | None |
21
21
  | **Open Source** | MIT | Partial | Closed |
22
22
  | **x402 Payments** | Native | Supported | "Compatible" |
@@ -611,6 +611,219 @@ const devnet = getSolanaConfig('solana-devnet');
611
611
 
612
612
  ---
613
613
 
614
+ ## Gas Sponsorship (v3.1.0)
615
+
616
+ Agents don't need to hold native gas tokens. Alchemy's ERC-4337 Gas Manager sponsors gas on their behalf.
617
+
618
+ **Requires:**
619
+ - An Alchemy API key with Gas Manager enabled
620
+ - A Gas Manager policy ID (create at [dashboard.alchemy.com/gas-manager](https://dashboard.alchemy.com/gas-manager))
621
+ - An ERC-4337 smart account for the agent (plain EOAs cannot use paymasters)
622
+
623
+ **Supported chains (6 of 17 CCTP chains):** `ethereum`, `base`, `arbitrum`, `optimism`, `polygon`, `worldchain`
624
+
625
+ ```typescript
626
+ import { GasSponsor } from 'agentwallet-sdk';
627
+
628
+ const sponsor = new GasSponsor({
629
+ alchemyApiKey: process.env.ALCHEMY_API_KEY!,
630
+ policyId: process.env.ALCHEMY_GAS_POLICY_ID!, // from Alchemy dashboard
631
+ });
632
+
633
+ // Check support before attempting
634
+ if (sponsor.isSupported('base')) {
635
+ const sponsored = await sponsor.sponsorTransaction({
636
+ chain: 'base',
637
+ from: agentSmartAccountAddress, // must be ERC-4337 smart account
638
+ to: usdcContract,
639
+ data: transferCalldata,
640
+ });
641
+ // Submit sponsored.userOperation to an ERC-4337 bundler
642
+ // e.g. via eth_sendUserOperation
643
+ }
644
+
645
+ // Sponsor a bridge transaction
646
+ const sponsoredBridge = await sponsor.sponsorBridge({
647
+ chain: 'optimism',
648
+ from: agentSmartAccountAddress,
649
+ bridgeTx: {
650
+ to: TOKEN_MESSENGER_V2['optimism'],
651
+ data: depositForBurnCalldata,
652
+ value: 0n,
653
+ },
654
+ });
655
+
656
+ // List all supported chains
657
+ const chains = sponsor.getSupportedChains();
658
+ // ['ethereum', 'base', 'arbitrum', 'optimism', 'polygon', 'worldchain']
659
+ ```
660
+
661
+ ---
662
+
663
+ ## Settlement Verification (v3.1.0)
664
+
665
+ Verify that bridge transfers and x402 payments actually settled on-chain. Useful for agents that need to confirm receipt before proceeding.
666
+
667
+ ```typescript
668
+ import { SettlementVerifier } from 'agentwallet-sdk';
669
+
670
+ const verifier = new SettlementVerifier({
671
+ alchemyApiKey: process.env.ALCHEMY_API_KEY, // optional — falls back to public RPCs
672
+ });
673
+
674
+ // Verify any EVM transaction
675
+ const evmResult = await verifier.verifyEvmTransaction({
676
+ chain: 'base',
677
+ txHash: '0xabc123...',
678
+ confirmations: 1, // default: 1
679
+ });
680
+ // { status: 'confirmed', blockNumber: 12345n, confirmations: 5, gasUsed: 21000n, success: true }
681
+
682
+ // Verify a Solana transaction
683
+ const solResult = await verifier.verifySolanaTransaction({
684
+ signature: 'base58sig...',
685
+ commitment: 'finalized', // 'confirmed' | 'finalized', default: 'confirmed'
686
+ });
687
+
688
+ // Verify a CCTP bridge transfer end-to-end
689
+ const bridgeResult = await verifier.verifyBridgeSettlement({
690
+ sourceTxHash: '0xburntx...',
691
+ sourceChain: 'base', // or 'solana'
692
+ destinationChain: 'arbitrum',
693
+ expectedAmount: 1_000_000n, // 1 USDC (6 decimals)
694
+ });
695
+ // { status: 'attestation_complete_awaiting_mint', sourceTx: {...}, attestationStatus: 'complete' }
696
+
697
+ // Verify an x402 payment via ERC20 Transfer event logs
698
+ const paymentResult = await verifier.verifyX402Payment({
699
+ chain: 'base',
700
+ txHash: '0xpaymenttx...',
701
+ expectedPayee: '0xMerchantAddress',
702
+ expectedAmount: 1_000_000n, // 1 USDC
703
+ });
704
+ // { status: 'confirmed', payeeVerified: true, amountVerified: true, actualAmount: 1000000n }
705
+ ```
706
+
707
+ ### Settlement Status Types
708
+
709
+ | Status | Meaning |
710
+ |--------|---------|
711
+ | `confirmed` | Transaction mined with required confirmations |
712
+ | `pending` | Transaction in mempool or not enough confirmations |
713
+ | `failed` | Transaction reverted (status=0) |
714
+ | `not_found` | Transaction not found or RPC error |
715
+
716
+ Bridge-specific statuses:
717
+
718
+ | Status | Meaning |
719
+ |--------|---------|
720
+ | `source_confirmed_awaiting_attestation` | Burn tx confirmed, Circle attestation pending |
721
+ | `attestation_complete_awaiting_mint` | Attestation ready, destination mint not yet verified |
722
+ | `complete` | Full bridge cycle confirmed |
723
+ | `source_failed` | Source burn transaction reverted |
724
+
725
+ ---
726
+
727
+ ## Fiat Onramp (Optional — v3.2.0)
728
+
729
+ > **This module is entirely opt-in. The core SDK is fully anonymous and non-custodial.**
730
+ > Users who fund their agent wallet via direct crypto transfer, bridge, or any other method
731
+ > **never encounter KYC** and remain completely anonymous.
732
+ > KYC only occurs when you explicitly choose to use the fiat onramp feature.
733
+
734
+ The `FiatOnramp` class aggregates multiple fiat-to-crypto providers (MoonPay, Stripe, Transak)
735
+ into a single interface. It returns a `purchaseUrl` — opening this URL takes the user to the
736
+ provider's hosted KYC + payment page. **The SDK never sees, stores, or transmits any KYC data.**
737
+
738
+ ### Install
739
+
740
+ No additional packages needed — `FiatOnramp` is included in `agentwallet-sdk`.
741
+
742
+ Get API keys from the provider dashboards:
743
+
744
+ - **MoonPay:** https://dashboard.moonpay.com (publishable key)
745
+ - **Stripe:** https://dashboard.stripe.com (secret key — server-side only)
746
+ - **Transak:** https://dashboard.transak.com (API key)
747
+
748
+ ### Usage
749
+
750
+ ```typescript
751
+ import { FiatOnramp } from 'agentwallet-sdk';
752
+
753
+ // Only configure the providers you have keys for.
754
+ // Omitting all keys is valid — returns empty provider list with zero friction.
755
+ const onramp = new FiatOnramp({
756
+ moonpayApiKey: process.env.MOONPAY_API_KEY,
757
+ transakApiKey: process.env.TRANSAK_API_KEY,
758
+ });
759
+
760
+ // Get quotes from all configured providers that support base/USDC
761
+ const quotes = await onramp.getQuotes({
762
+ amount: 100,
763
+ currency: 'USD',
764
+ token: 'USDC',
765
+ chain: 'base',
766
+ walletAddress: '0xYourAgentWalletAddress',
767
+ });
768
+
769
+ // quotes[0].kycRequired is always true — KYC happens on the provider's hosted page
770
+ console.log(quotes[0].purchaseUrl); // Open this URL in a browser to complete purchase
771
+
772
+ // Or target a specific provider
773
+ const session = await onramp.createSession({
774
+ amount: 100,
775
+ currency: 'USD',
776
+ token: 'USDC',
777
+ chain: 'base',
778
+ walletAddress: '0xYourAgentWalletAddress',
779
+ provider: 'moonpay',
780
+ redirectUrl: 'https://yourapp.com/done', // optional
781
+ });
782
+
783
+ console.log(session.purchaseUrl); // MoonPay hosted KYC + payment page
784
+ console.log(session.feeAmount); // e.g., 2.50
785
+ console.log(session.feePercent); // e.g., 2.5
786
+ ```
787
+
788
+ ### Supported Chains & Tokens
789
+
790
+ | Provider | Chains | Tokens |
791
+ |----------|--------|--------|
792
+ | MoonPay | ethereum, base, solana, polygon, arbitrum, optimism | ETH, USDC, USDT, SOL, MATIC |
793
+ | Stripe | ethereum, base, solana, polygon, arbitrum, optimism | ETH, USDC, SOL, MATIC |
794
+ | Transak | ethereum, base, solana, polygon, arbitrum, optimism, avalanche, bsc | ETH, USDC, USDT, SOL, MATIC, AVAX, BNB |
795
+
796
+ ### API
797
+
798
+ ```typescript
799
+ // Get quotes from all configured providers
800
+ getQuotes(params: OnrampParams): Promise<FiatQuote[]>
801
+
802
+ // Create a session with a specific provider
803
+ createSession(params: OnrampParams & { provider: string }): Promise<FiatQuote>
804
+
805
+ // Check if a provider supports a chain/token combo
806
+ isSupported(provider: string, chain: string, token: string): boolean
807
+
808
+ // Get configured provider names
809
+ getProviders(): string[]
810
+
811
+ // Get supported chains for a provider
812
+ getSupportedChains(provider: string): string[]
813
+
814
+ // Get supported tokens on a chain for a provider
815
+ getSupportedTokens(provider: string, chain: string): string[]
816
+ ```
817
+
818
+ ### Privacy Guarantee
819
+
820
+ - The SDK **never** collects, stores, or transmits KYC data
821
+ - The SDK **never** stores payment info (no card numbers, no bank accounts)
822
+ - KYC + payment happen entirely on the provider's hosted page
823
+ - Direct crypto funding (transfer, bridge, swap) = fully anonymous, no KYC, ever
824
+
825
+ ---
826
+
614
827
  ## License
615
828
 
616
829
  MIT
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
3
+ *
4
+ * This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
5
+ * fiat onramp capability. The core SDK is fully anonymous and non-custodial.
6
+ */
7
+ export { FiatOnramp } from './onramp.js';
8
+ export type { FiatOnrampConfig, FiatQuote, OnrampParams, FiatProvider } from './types.js';
9
+ export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
3
+ *
4
+ * This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
5
+ * fiat onramp capability. The core SDK is fully anonymous and non-custodial.
6
+ */
7
+ export { FiatOnramp } from './onramp.js';
8
+ export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * FiatOnramp — optional fiat-to-crypto onramp module for agentwallet-sdk.
3
+ *
4
+ * ╔══════════════════════════════════════════════════════════════════════╗
5
+ * ║ KYC NOTICE — IMPORTANT ║
6
+ * ║ ║
7
+ * ║ This module is entirely OPT-IN. Users who fund their agent wallet ║
8
+ * ║ via direct crypto transfer, bridge, or any other method NEVER ║
9
+ * ║ encounter KYC and remain fully anonymous. ║
10
+ * ║ ║
11
+ * ║ KYC only occurs when a user explicitly chooses to use this fiat ║
12
+ * ║ onramp feature. KYC is handled entirely by the third-party ║
13
+ * ║ provider (MoonPay, Stripe, Transak) on their hosted page. ║
14
+ * ║ The SDK never collects, stores, or transmits any KYC data. ║
15
+ * ╚══════════════════════════════════════════════════════════════════════╝
16
+ */
17
+ import type { FiatOnrampConfig, FiatQuote, OnrampParams } from './types.js';
18
+ /**
19
+ * FiatOnramp — aggregates multiple fiat onramp providers into a single interface.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { FiatOnramp } from 'agentwallet-sdk';
24
+ *
25
+ * // Only configure providers you have API keys for
26
+ * const onramp = new FiatOnramp({
27
+ * moonpayApiKey: process.env.MOONPAY_API_KEY,
28
+ * transakApiKey: process.env.TRANSAK_API_KEY,
29
+ * });
30
+ *
31
+ * // Get quotes from all configured providers
32
+ * const quotes = await onramp.getQuotes({
33
+ * amount: 100,
34
+ * currency: 'USD',
35
+ * token: 'USDC',
36
+ * chain: 'base',
37
+ * walletAddress: '0xYourWalletAddress',
38
+ * });
39
+ *
40
+ * // Open the purchaseUrl in a browser to complete KYC + payment on the provider's page
41
+ * console.log(quotes[0].purchaseUrl);
42
+ * ```
43
+ */
44
+ export declare class FiatOnramp {
45
+ private providers;
46
+ private config;
47
+ /**
48
+ * Create a FiatOnramp instance.
49
+ *
50
+ * @param config - Provider API keys and defaults. All fields are optional.
51
+ * Passing no config (or an empty object) is valid — it returns
52
+ * an empty provider list, causing zero friction for users who
53
+ * don't want fiat onramp.
54
+ */
55
+ constructor(config?: FiatOnrampConfig);
56
+ /**
57
+ * Get quotes from all configured providers that support the given chain/token.
58
+ * Failed providers are silently skipped (logged to console.warn).
59
+ *
60
+ * @returns Array of FiatQuote — may be empty if no providers are configured
61
+ * or if none support the requested chain/token combination.
62
+ */
63
+ getQuotes(params: OnrampParams): Promise<FiatQuote[]>;
64
+ /**
65
+ * Create a purchase session with a specific provider.
66
+ * Returns a FiatQuote containing a purchaseUrl — open this in a browser
67
+ * to complete KYC + payment on the provider's hosted page.
68
+ *
69
+ * @throws Error if the provider is not configured or doesn't support the chain/token.
70
+ */
71
+ createSession(params: OnrampParams & {
72
+ provider: string;
73
+ }): Promise<FiatQuote>;
74
+ /**
75
+ * Check if a provider supports a given chain/token combination.
76
+ *
77
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
78
+ * @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
79
+ * @param token - Token symbol: 'USDC', 'ETH', 'SOL', etc.
80
+ */
81
+ isSupported(provider: string, chain: string, token: string): boolean;
82
+ /**
83
+ * Get the names of all configured providers.
84
+ * Returns an empty array if no API keys were provided.
85
+ */
86
+ getProviders(): string[];
87
+ /**
88
+ * Get the chains supported by a given provider.
89
+ *
90
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
91
+ */
92
+ getSupportedChains(provider: string): string[];
93
+ /**
94
+ * Get the tokens supported by a given provider on a given chain.
95
+ *
96
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
97
+ * @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
98
+ */
99
+ getSupportedTokens(provider: string, chain: string): string[];
100
+ }
101
+ //# sourceMappingURL=onramp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onramp.d.ts","sourceRoot":"","sources":["../../src/fiat/onramp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAgB,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAmB;IAEjC;;;;;;;OAOG;gBACS,MAAM,GAAE,gBAAqB;IAKzC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2B3D;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA8BpF;;;;;;OAMG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAOpE;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAM9C;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAK9D"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * FiatOnramp — optional fiat-to-crypto onramp module for agentwallet-sdk.
3
+ *
4
+ * ╔══════════════════════════════════════════════════════════════════════╗
5
+ * ║ KYC NOTICE — IMPORTANT ║
6
+ * ║ ║
7
+ * ║ This module is entirely OPT-IN. Users who fund their agent wallet ║
8
+ * ║ via direct crypto transfer, bridge, or any other method NEVER ║
9
+ * ║ encounter KYC and remain fully anonymous. ║
10
+ * ║ ║
11
+ * ║ KYC only occurs when a user explicitly chooses to use this fiat ║
12
+ * ║ onramp feature. KYC is handled entirely by the third-party ║
13
+ * ║ provider (MoonPay, Stripe, Transak) on their hosted page. ║
14
+ * ║ The SDK never collects, stores, or transmits any KYC data. ║
15
+ * ╚══════════════════════════════════════════════════════════════════════╝
16
+ */
17
+ import { buildProviders } from './providers/index.js';
18
+ /**
19
+ * FiatOnramp — aggregates multiple fiat onramp providers into a single interface.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { FiatOnramp } from 'agentwallet-sdk';
24
+ *
25
+ * // Only configure providers you have API keys for
26
+ * const onramp = new FiatOnramp({
27
+ * moonpayApiKey: process.env.MOONPAY_API_KEY,
28
+ * transakApiKey: process.env.TRANSAK_API_KEY,
29
+ * });
30
+ *
31
+ * // Get quotes from all configured providers
32
+ * const quotes = await onramp.getQuotes({
33
+ * amount: 100,
34
+ * currency: 'USD',
35
+ * token: 'USDC',
36
+ * chain: 'base',
37
+ * walletAddress: '0xYourWalletAddress',
38
+ * });
39
+ *
40
+ * // Open the purchaseUrl in a browser to complete KYC + payment on the provider's page
41
+ * console.log(quotes[0].purchaseUrl);
42
+ * ```
43
+ */
44
+ export class FiatOnramp {
45
+ /**
46
+ * Create a FiatOnramp instance.
47
+ *
48
+ * @param config - Provider API keys and defaults. All fields are optional.
49
+ * Passing no config (or an empty object) is valid — it returns
50
+ * an empty provider list, causing zero friction for users who
51
+ * don't want fiat onramp.
52
+ */
53
+ constructor(config = {}) {
54
+ this.config = config;
55
+ this.providers = buildProviders(config);
56
+ }
57
+ /**
58
+ * Get quotes from all configured providers that support the given chain/token.
59
+ * Failed providers are silently skipped (logged to console.warn).
60
+ *
61
+ * @returns Array of FiatQuote — may be empty if no providers are configured
62
+ * or if none support the requested chain/token combination.
63
+ */
64
+ async getQuotes(params) {
65
+ const resolvedParams = {
66
+ ...params,
67
+ currency: params.currency ?? this.config.defaultCurrency ?? 'USD',
68
+ };
69
+ const supportedProviders = this.providers.filter((p) => this.isSupported(p.name, resolvedParams.chain, resolvedParams.token));
70
+ const results = await Promise.allSettled(supportedProviders.map((p) => p.getQuote(resolvedParams)));
71
+ const quotes = [];
72
+ for (let i = 0; i < results.length; i++) {
73
+ const result = results[i];
74
+ if (result.status === 'fulfilled') {
75
+ quotes.push(result.value);
76
+ }
77
+ else {
78
+ console.warn(`[FiatOnramp] ${supportedProviders[i].name} quote failed:`, result.reason);
79
+ }
80
+ }
81
+ return quotes;
82
+ }
83
+ /**
84
+ * Create a purchase session with a specific provider.
85
+ * Returns a FiatQuote containing a purchaseUrl — open this in a browser
86
+ * to complete KYC + payment on the provider's hosted page.
87
+ *
88
+ * @throws Error if the provider is not configured or doesn't support the chain/token.
89
+ */
90
+ async createSession(params) {
91
+ const { provider: providerName, ...onrampParams } = params;
92
+ const resolvedParams = {
93
+ ...onrampParams,
94
+ currency: onrampParams.currency ?? this.config.defaultCurrency ?? 'USD',
95
+ };
96
+ const provider = this.providers.find((p) => p.name === providerName);
97
+ if (!provider) {
98
+ const configuredNames = this.providers.map((p) => p.name);
99
+ if (configuredNames.length === 0) {
100
+ throw new Error(`No fiat providers configured. Add an API key for '${providerName}' in FiatOnrampConfig.`);
101
+ }
102
+ throw new Error(`Provider '${providerName}' is not configured. Configured providers: ${configuredNames.join(', ')}`);
103
+ }
104
+ if (!this.isSupported(providerName, resolvedParams.chain, resolvedParams.token)) {
105
+ throw new Error(`Provider '${providerName}' does not support ${resolvedParams.token} on ${resolvedParams.chain}. ` +
106
+ `Supported tokens: ${(provider.supportedAssets[resolvedParams.chain] ?? []).join(', ')}`);
107
+ }
108
+ return provider.createSession(resolvedParams);
109
+ }
110
+ /**
111
+ * Check if a provider supports a given chain/token combination.
112
+ *
113
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
114
+ * @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
115
+ * @param token - Token symbol: 'USDC', 'ETH', 'SOL', etc.
116
+ */
117
+ isSupported(provider, chain, token) {
118
+ const p = this.providers.find((pr) => pr.name === provider);
119
+ if (!p)
120
+ return false;
121
+ const tokens = p.supportedAssets[chain.toLowerCase()];
122
+ return Array.isArray(tokens) && tokens.includes(token.toUpperCase());
123
+ }
124
+ /**
125
+ * Get the names of all configured providers.
126
+ * Returns an empty array if no API keys were provided.
127
+ */
128
+ getProviders() {
129
+ return this.providers.map((p) => p.name);
130
+ }
131
+ /**
132
+ * Get the chains supported by a given provider.
133
+ *
134
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
135
+ */
136
+ getSupportedChains(provider) {
137
+ const p = this.providers.find((pr) => pr.name === provider);
138
+ if (!p)
139
+ return [];
140
+ return Object.keys(p.supportedAssets);
141
+ }
142
+ /**
143
+ * Get the tokens supported by a given provider on a given chain.
144
+ *
145
+ * @param provider - Provider name: 'moonpay', 'stripe', 'transak'
146
+ * @param chain - Blockchain name: 'ethereum', 'base', 'solana', etc.
147
+ */
148
+ getSupportedTokens(provider, chain) {
149
+ const p = this.providers.find((pr) => pr.name === provider);
150
+ if (!p)
151
+ return [];
152
+ return p.supportedAssets[chain.toLowerCase()] ?? [];
153
+ }
154
+ }
155
+ //# sourceMappingURL=onramp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onramp.js","sourceRoot":"","sources":["../../src/fiat/onramp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Provider registry — assembles configured providers from FiatOnrampConfig.
3
+ */
4
+ import type { FiatOnrampConfig, FiatProvider } from '../types.js';
5
+ export { MoonPayProvider } from './moonpay.js';
6
+ export { StripeProvider } from './stripe.js';
7
+ export { TransakProvider } from './transak.js';
8
+ /**
9
+ * Build the list of configured providers from the given config.
10
+ * Providers without an API key are excluded gracefully.
11
+ */
12
+ export declare function buildProviders(config: FiatOnrampConfig): FiatProvider[];
13
+ /** All known provider names */
14
+ export declare const ALL_PROVIDER_NAMES: readonly ["moonpay", "stripe", "transak"];
15
+ export type ProviderName = (typeof ALL_PROVIDER_NAMES)[number];
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fiat/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKlE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAevE;AAED,+BAA+B;AAC/B,eAAO,MAAM,kBAAkB,2CAA4C,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Provider registry — assembles configured providers from FiatOnrampConfig.
3
+ */
4
+ import { MoonPayProvider } from './moonpay.js';
5
+ import { StripeProvider } from './stripe.js';
6
+ import { TransakProvider } from './transak.js';
7
+ export { MoonPayProvider } from './moonpay.js';
8
+ export { StripeProvider } from './stripe.js';
9
+ export { TransakProvider } from './transak.js';
10
+ /**
11
+ * Build the list of configured providers from the given config.
12
+ * Providers without an API key are excluded gracefully.
13
+ */
14
+ export function buildProviders(config) {
15
+ const providers = [];
16
+ const testMode = config.testMode ?? false;
17
+ if (config.moonpayApiKey) {
18
+ providers.push(new MoonPayProvider(config.moonpayApiKey, testMode));
19
+ }
20
+ if (config.stripeApiKey) {
21
+ providers.push(new StripeProvider(config.stripeApiKey, testMode));
22
+ }
23
+ if (config.transakApiKey) {
24
+ providers.push(new TransakProvider(config.transakApiKey, testMode));
25
+ }
26
+ return providers;
27
+ }
28
+ /** All known provider names */
29
+ export const ALL_PROVIDER_NAMES = ['moonpay', 'stripe', 'transak'];
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fiat/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;IAE1C,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * MoonPay Provider
3
+ *
4
+ * Creates buy quotes and purchase URLs via MoonPay's REST API.
5
+ * KYC + payment happen on MoonPay's hosted page — we never see KYC data.
6
+ *
7
+ * API reference: https://dev.moonpay.com/reference/buy-quote
8
+ * Dashboard: https://dashboard.moonpay.com
9
+ */
10
+ import type { FiatProvider, FiatQuote, OnrampParams } from '../types.js';
11
+ export declare class MoonPayProvider implements FiatProvider {
12
+ readonly name = "moonpay";
13
+ readonly supportedAssets: Record<string, string[]>;
14
+ private apiKey;
15
+ private baseUrl;
16
+ constructor(apiKey: string, testMode?: boolean);
17
+ get isConfigured(): boolean;
18
+ getQuote(params: OnrampParams): Promise<FiatQuote>;
19
+ createSession(params: OnrampParams): Promise<FiatQuote>;
20
+ private buildPurchaseUrl;
21
+ }
22
+ //# sourceMappingURL=moonpay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moonpay.d.ts","sourceRoot":"","sources":["../../../src/fiat/providers/moonpay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAuCzE,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,eAAe,2BAAoB;IAE5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ;IAK5C,IAAI,YAAY,IAAI,OAAO,CAE1B;IAEK,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAoDlD,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAK7D,OAAO,CAAC,gBAAgB;CAazB"}