uvd-x402-sdk 2.1.0 → 2.2.1
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/README.md +280 -15
- package/dist/adapters/index.d.mts +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.js +138 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/index.mjs +138 -0
- package/dist/adapters/index.mjs.map +1 -1
- package/dist/{index-MTBgC_SL.d.mts → index-BG738nMY.d.mts} +43 -4
- package/dist/{index-MTBgC_SL.d.ts → index-BG738nMY.d.ts} +43 -4
- package/dist/{index-Db8dWNam.d.ts → index-I60aHxwu.d.mts} +33 -2
- package/dist/{index-D0N_SYpK.d.mts → index-OZTSi1rJ.d.ts} +33 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +180 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +177 -1
- package/dist/index.mjs.map +1 -1
- package/dist/providers/evm/index.d.mts +19 -3
- package/dist/providers/evm/index.d.ts +19 -3
- package/dist/providers/evm/index.js +198 -12
- package/dist/providers/evm/index.js.map +1 -1
- package/dist/providers/evm/index.mjs +198 -12
- package/dist/providers/evm/index.mjs.map +1 -1
- package/dist/providers/near/index.d.mts +1 -1
- package/dist/providers/near/index.d.ts +1 -1
- package/dist/providers/near/index.js.map +1 -1
- package/dist/providers/near/index.mjs.map +1 -1
- package/dist/providers/solana/index.d.mts +1 -1
- package/dist/providers/solana/index.d.ts +1 -1
- package/dist/providers/solana/index.js +138 -0
- package/dist/providers/solana/index.js.map +1 -1
- package/dist/providers/solana/index.mjs +138 -0
- package/dist/providers/solana/index.mjs.map +1 -1
- package/dist/providers/stellar/index.d.mts +1 -1
- package/dist/providers/stellar/index.d.ts +1 -1
- package/dist/providers/stellar/index.js.map +1 -1
- package/dist/providers/stellar/index.mjs.map +1 -1
- package/dist/react/index.d.mts +3 -3
- package/dist/react/index.d.ts +3 -3
- package/dist/react/index.js +138 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +138 -0
- package/dist/react/index.mjs.map +1 -1
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +138 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +138 -0
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +5 -2
- package/src/chains/index.ts +225 -1
- package/src/index.ts +9 -0
- package/src/providers/evm/index.ts +64 -16
- package/src/types/index.ts +44 -3
package/README.md
CHANGED
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
> Gasless crypto payments across 14 blockchain networks using the x402 protocol.
|
|
4
4
|
|
|
5
|
-
The x402 SDK enables any application to accept
|
|
5
|
+
The x402 SDK enables any application to accept stablecoin payments (USDC, EURC, AUSD, PYUSD) without requiring users to pay gas fees. Users sign a message or transaction, and the Ultravioleta facilitator handles on-chain settlement.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
9
|
- **14 Supported Networks**: EVM chains, Solana, Fogo, Stellar, and NEAR
|
|
10
|
+
- **Multi-Stablecoin**: USDC, EURC, AUSD, PYUSD support on EVM chains
|
|
10
11
|
- **x402 v1 & v2**: Full support for both protocol versions with automatic detection
|
|
11
12
|
- **Gasless Payments**: Users never pay gas - the facilitator covers all network fees
|
|
12
13
|
- **Multi-Network**: Accept payments on multiple networks simultaneously
|
|
13
14
|
- **Type-Safe**: Comprehensive TypeScript definitions
|
|
14
15
|
- **Framework Agnostic**: Works with any JavaScript framework
|
|
15
16
|
- **React Hooks**: First-class React integration
|
|
17
|
+
- **Wagmi/RainbowKit**: Dedicated adapter for wagmi-based apps
|
|
16
18
|
- **Modular**: Import only what you need
|
|
17
19
|
|
|
18
20
|
## Quick Start
|
|
@@ -126,6 +128,117 @@ const result = await client.createPayment({
|
|
|
126
128
|
|
|
127
129
|
---
|
|
128
130
|
|
|
131
|
+
## Wagmi / RainbowKit Integration
|
|
132
|
+
|
|
133
|
+
If you're using wagmi with RainbowKit, ConnectKit, or other wagmi-based wallet libraries, use the dedicated wagmi adapter:
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import { useWalletClient } from 'wagmi';
|
|
137
|
+
import { createPaymentFromWalletClient } from 'uvd-x402-sdk/wagmi';
|
|
138
|
+
|
|
139
|
+
function PayButton() {
|
|
140
|
+
const { data: walletClient } = useWalletClient();
|
|
141
|
+
|
|
142
|
+
const handlePay = async () => {
|
|
143
|
+
const paymentHeader = await createPaymentFromWalletClient(walletClient, {
|
|
144
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
145
|
+
amount: '10.00',
|
|
146
|
+
chainName: 'base', // optional, defaults to 'base'
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// Use in your API request
|
|
150
|
+
await fetch('/api/purchase', {
|
|
151
|
+
headers: { 'X-PAYMENT': paymentHeader },
|
|
152
|
+
method: 'POST',
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
return <button onClick={handlePay}>Pay $10 USDC</button>;
|
|
157
|
+
}
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### With the Helper Hook
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import { useWalletClient } from 'wagmi';
|
|
164
|
+
import { useX402Wagmi } from 'uvd-x402-sdk/wagmi';
|
|
165
|
+
|
|
166
|
+
function PayButton() {
|
|
167
|
+
const { data: walletClient } = useWalletClient();
|
|
168
|
+
const { createPayment, isReady } = useX402Wagmi(walletClient);
|
|
169
|
+
|
|
170
|
+
const handlePay = async () => {
|
|
171
|
+
const paymentHeader = await createPayment({
|
|
172
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
173
|
+
amount: '10.00',
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
await fetch('/api/purchase', {
|
|
177
|
+
headers: { 'X-PAYMENT': paymentHeader },
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
return (
|
|
182
|
+
<button onClick={handlePay} disabled={!isReady}>
|
|
183
|
+
Pay $10 USDC
|
|
184
|
+
</button>
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Full Example with RainbowKit
|
|
190
|
+
|
|
191
|
+
```tsx
|
|
192
|
+
import { ConnectButton } from '@rainbow-me/rainbowkit';
|
|
193
|
+
import { useWalletClient, useAccount } from 'wagmi';
|
|
194
|
+
import { createPaymentFromWalletClient } from 'uvd-x402-sdk/wagmi';
|
|
195
|
+
|
|
196
|
+
function App() {
|
|
197
|
+
const { data: walletClient } = useWalletClient();
|
|
198
|
+
const { isConnected } = useAccount();
|
|
199
|
+
|
|
200
|
+
const handlePurchase = async () => {
|
|
201
|
+
if (!walletClient) return;
|
|
202
|
+
|
|
203
|
+
try {
|
|
204
|
+
const paymentHeader = await createPaymentFromWalletClient(walletClient, {
|
|
205
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
206
|
+
amount: '5.00',
|
|
207
|
+
chainName: 'base',
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
const response = await fetch('/api/purchase', {
|
|
211
|
+
method: 'POST',
|
|
212
|
+
headers: {
|
|
213
|
+
'Content-Type': 'application/json',
|
|
214
|
+
'X-PAYMENT': paymentHeader,
|
|
215
|
+
},
|
|
216
|
+
body: JSON.stringify({ item: 'premium-feature' }),
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
if (response.ok) {
|
|
220
|
+
alert('Purchase successful!');
|
|
221
|
+
}
|
|
222
|
+
} catch (error) {
|
|
223
|
+
console.error('Payment failed:', error);
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
return (
|
|
228
|
+
<div>
|
|
229
|
+
<ConnectButton />
|
|
230
|
+
{isConnected && (
|
|
231
|
+
<button onClick={handlePurchase}>
|
|
232
|
+
Buy Premium ($5 USDC)
|
|
233
|
+
</button>
|
|
234
|
+
)}
|
|
235
|
+
</div>
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
129
242
|
## Network Examples
|
|
130
243
|
|
|
131
244
|
### EVM Chains (10 Networks)
|
|
@@ -557,6 +670,116 @@ const options = generatePaymentOptions(chains, '10.00');
|
|
|
557
670
|
|
|
558
671
|
---
|
|
559
672
|
|
|
673
|
+
## Multi-Stablecoin Support (EVM)
|
|
674
|
+
|
|
675
|
+
EVM chains support multiple stablecoins beyond USDC. Token availability varies by chain.
|
|
676
|
+
|
|
677
|
+
### Supported Tokens
|
|
678
|
+
|
|
679
|
+
| Token | Description | Decimals | Chains |
|
|
680
|
+
|-------|-------------|----------|--------|
|
|
681
|
+
| USDC | USD Coin (Circle) | 6 | All EVM chains |
|
|
682
|
+
| EURC | Euro Coin (Circle) | 6 | Ethereum, Base, Avalanche |
|
|
683
|
+
| AUSD | Agora USD | 6 | Ethereum, Avalanche, Polygon, Arbitrum, Monad |
|
|
684
|
+
| PYUSD | PayPal USD | 6 | Ethereum |
|
|
685
|
+
|
|
686
|
+
### Basic Usage
|
|
687
|
+
|
|
688
|
+
```typescript
|
|
689
|
+
import { X402Client } from 'uvd-x402-sdk';
|
|
690
|
+
|
|
691
|
+
const client = new X402Client({ defaultChain: 'base' });
|
|
692
|
+
await client.connect('base');
|
|
693
|
+
|
|
694
|
+
// Pay with EURC instead of USDC
|
|
695
|
+
const result = await client.createPayment({
|
|
696
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
697
|
+
amount: '10.00',
|
|
698
|
+
tokenType: 'eurc', // 'usdc' | 'eurc' | 'ausd' | 'pyusd'
|
|
699
|
+
});
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
### Check Token Availability
|
|
703
|
+
|
|
704
|
+
```typescript
|
|
705
|
+
import {
|
|
706
|
+
getSupportedTokens,
|
|
707
|
+
isTokenSupported,
|
|
708
|
+
getTokenConfig,
|
|
709
|
+
getChainsByToken,
|
|
710
|
+
} from 'uvd-x402-sdk';
|
|
711
|
+
|
|
712
|
+
// Get all tokens supported on a chain
|
|
713
|
+
const tokens = getSupportedTokens('ethereum');
|
|
714
|
+
// Returns: ['usdc', 'eurc', 'ausd', 'pyusd']
|
|
715
|
+
|
|
716
|
+
const baseTokens = getSupportedTokens('base');
|
|
717
|
+
// Returns: ['usdc', 'eurc']
|
|
718
|
+
|
|
719
|
+
// Check if a specific token is supported
|
|
720
|
+
if (isTokenSupported('base', 'eurc')) {
|
|
721
|
+
console.log('EURC available on Base');
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
// Get token configuration (address, decimals, name)
|
|
725
|
+
const eurcConfig = getTokenConfig('ethereum', 'eurc');
|
|
726
|
+
// Returns: { address: '0x1aBa...', decimals: 6, name: 'EURC', version: '2' }
|
|
727
|
+
|
|
728
|
+
// Find all chains that support a token
|
|
729
|
+
const eurcChains = getChainsByToken('eurc');
|
|
730
|
+
// Returns: [baseConfig, ethereumConfig, avalancheConfig]
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
### Check Token Balance
|
|
734
|
+
|
|
735
|
+
```typescript
|
|
736
|
+
import { EVMProvider } from 'uvd-x402-sdk';
|
|
737
|
+
import { getChainByName } from 'uvd-x402-sdk';
|
|
738
|
+
|
|
739
|
+
const evm = new EVMProvider();
|
|
740
|
+
await evm.connect();
|
|
741
|
+
|
|
742
|
+
const chainConfig = getChainByName('ethereum')!;
|
|
743
|
+
|
|
744
|
+
// Check USDC balance (default)
|
|
745
|
+
const usdcBalance = await evm.getBalance(chainConfig);
|
|
746
|
+
|
|
747
|
+
// Check EURC balance
|
|
748
|
+
const eurcBalance = await evm.getBalance(chainConfig, 'eurc');
|
|
749
|
+
|
|
750
|
+
// Check PYUSD balance
|
|
751
|
+
const pyusdBalance = await evm.getBalance(chainConfig, 'pyusd');
|
|
752
|
+
```
|
|
753
|
+
|
|
754
|
+
### Wagmi/RainbowKit with Multi-Token
|
|
755
|
+
|
|
756
|
+
```typescript
|
|
757
|
+
import { useWalletClient } from 'wagmi';
|
|
758
|
+
import { createPaymentFromWalletClient } from 'uvd-x402-sdk/wagmi';
|
|
759
|
+
|
|
760
|
+
function PayWithEURC() {
|
|
761
|
+
const { data: walletClient } = useWalletClient();
|
|
762
|
+
|
|
763
|
+
const handlePay = async () => {
|
|
764
|
+
const paymentHeader = await createPaymentFromWalletClient(walletClient, {
|
|
765
|
+
recipient: '0xD3868E1eD738CED6945A574a7c769433BeD5d474',
|
|
766
|
+
amount: '10.00',
|
|
767
|
+
chainName: 'base',
|
|
768
|
+
tokenType: 'eurc', // Pay with EURC
|
|
769
|
+
});
|
|
770
|
+
|
|
771
|
+
await fetch('/api/purchase', {
|
|
772
|
+
headers: { 'X-PAYMENT': paymentHeader },
|
|
773
|
+
method: 'POST',
|
|
774
|
+
});
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
return <button onClick={handlePay}>Pay 10 EURC</button>;
|
|
778
|
+
}
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
560
783
|
## React Integration
|
|
561
784
|
|
|
562
785
|
```tsx
|
|
@@ -612,18 +835,18 @@ function PaymentPage() {
|
|
|
612
835
|
|
|
613
836
|
### EVM Networks (10)
|
|
614
837
|
|
|
615
|
-
| Network | Chain ID |
|
|
616
|
-
|
|
617
|
-
|
|
|
618
|
-
|
|
|
619
|
-
|
|
|
620
|
-
| Arbitrum | 42161 |
|
|
621
|
-
|
|
|
622
|
-
|
|
|
623
|
-
|
|
|
624
|
-
|
|
|
625
|
-
|
|
|
626
|
-
|
|
|
838
|
+
| Network | Chain ID | Tokens | Status |
|
|
839
|
+
|---------|----------|--------|--------|
|
|
840
|
+
| Ethereum | 1 | USDC, EURC, AUSD, PYUSD | Enabled |
|
|
841
|
+
| Base | 8453 | USDC, EURC | Enabled |
|
|
842
|
+
| Avalanche | 43114 | USDC, EURC, AUSD | Enabled |
|
|
843
|
+
| Arbitrum | 42161 | USDC, AUSD | Enabled |
|
|
844
|
+
| Polygon | 137 | USDC, AUSD | Enabled |
|
|
845
|
+
| Monad | 143 | USDC, AUSD | Enabled |
|
|
846
|
+
| Optimism | 10 | USDC | Enabled |
|
|
847
|
+
| Celo | 42220 | USDC | Enabled |
|
|
848
|
+
| HyperEVM | 999 | USDC | Enabled |
|
|
849
|
+
| Unichain | 130 | USDC | Enabled |
|
|
627
850
|
|
|
628
851
|
### SVM Networks (2)
|
|
629
852
|
|
|
@@ -667,8 +890,8 @@ interface X402ClientConfig {
|
|
|
667
890
|
| `connect(chainName?)` | Connect wallet to specified chain |
|
|
668
891
|
| `disconnect()` | Disconnect current wallet |
|
|
669
892
|
| `switchChain(chainName)` | Switch to different EVM chain |
|
|
670
|
-
| `createPayment(paymentInfo)` | Create payment authorization |
|
|
671
|
-
| `getBalance()` | Get
|
|
893
|
+
| `createPayment(paymentInfo)` | Create payment authorization (supports `tokenType` in paymentInfo) |
|
|
894
|
+
| `getBalance(tokenType?)` | Get token balance on current chain (defaults to USDC) |
|
|
672
895
|
| `getState()` | Get current wallet state |
|
|
673
896
|
| `isConnected()` | Check if wallet is connected |
|
|
674
897
|
| `on(event, handler)` | Subscribe to events |
|
|
@@ -686,9 +909,23 @@ import {
|
|
|
686
909
|
isSVMChain,
|
|
687
910
|
getExplorerTxUrl,
|
|
688
911
|
getExplorerAddressUrl,
|
|
912
|
+
// Multi-token utilities
|
|
913
|
+
getTokenConfig,
|
|
914
|
+
getSupportedTokens,
|
|
915
|
+
isTokenSupported,
|
|
916
|
+
getChainsByToken,
|
|
689
917
|
} from 'uvd-x402-sdk';
|
|
690
918
|
```
|
|
691
919
|
|
|
920
|
+
### Token Utilities
|
|
921
|
+
|
|
922
|
+
| Function | Description |
|
|
923
|
+
|----------|-------------|
|
|
924
|
+
| `getTokenConfig(chain, tokenType)` | Get token config (address, decimals, name, version) |
|
|
925
|
+
| `getSupportedTokens(chain)` | Get array of supported token types for a chain |
|
|
926
|
+
| `isTokenSupported(chain, tokenType)` | Check if token is available on chain |
|
|
927
|
+
| `getChainsByToken(tokenType)` | Get all chains that support a specific token |
|
|
928
|
+
|
|
692
929
|
### x402 Utilities
|
|
693
930
|
|
|
694
931
|
```typescript
|
|
@@ -705,6 +942,34 @@ import {
|
|
|
705
942
|
} from 'uvd-x402-sdk';
|
|
706
943
|
```
|
|
707
944
|
|
|
945
|
+
### Wagmi Adapter
|
|
946
|
+
|
|
947
|
+
```typescript
|
|
948
|
+
import {
|
|
949
|
+
createPaymentFromWalletClient,
|
|
950
|
+
createPaymentWithResult,
|
|
951
|
+
useX402Wagmi,
|
|
952
|
+
} from 'uvd-x402-sdk/wagmi';
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
| Function | Description |
|
|
956
|
+
|----------|-------------|
|
|
957
|
+
| `createPaymentFromWalletClient(walletClient, options)` | Create payment header using wagmi's WalletClient |
|
|
958
|
+
| `createPaymentWithResult(walletClient, options)` | Same as above but returns full PaymentResult |
|
|
959
|
+
| `useX402Wagmi(walletClient)` | Helper hook returning `{ createPayment, isReady }` |
|
|
960
|
+
|
|
961
|
+
#### Options
|
|
962
|
+
|
|
963
|
+
```typescript
|
|
964
|
+
interface WagmiPaymentOptions {
|
|
965
|
+
recipient: string; // Recipient address
|
|
966
|
+
amount: string; // Amount in token (e.g., "10.00")
|
|
967
|
+
chainName?: string; // Chain name (default: 'base')
|
|
968
|
+
tokenType?: TokenType; // Token type (default: 'usdc')
|
|
969
|
+
validitySeconds?: number; // Signature validity window (default: 300)
|
|
970
|
+
}
|
|
971
|
+
```
|
|
972
|
+
|
|
708
973
|
---
|
|
709
974
|
|
|
710
975
|
## Error Handling
|
package/dist/adapters/index.d.ts
CHANGED
package/dist/adapters/index.js
CHANGED
|
@@ -25,6 +25,20 @@ var SUPPORTED_CHAINS = {
|
|
|
25
25
|
name: "USD Coin",
|
|
26
26
|
version: "2"
|
|
27
27
|
},
|
|
28
|
+
tokens: {
|
|
29
|
+
usdc: {
|
|
30
|
+
address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
31
|
+
decimals: 6,
|
|
32
|
+
name: "USD Coin",
|
|
33
|
+
version: "2"
|
|
34
|
+
},
|
|
35
|
+
eurc: {
|
|
36
|
+
address: "0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42",
|
|
37
|
+
decimals: 6,
|
|
38
|
+
name: "EURC",
|
|
39
|
+
version: "2"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
28
42
|
x402: {
|
|
29
43
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
30
44
|
enabled: true
|
|
@@ -49,6 +63,26 @@ var SUPPORTED_CHAINS = {
|
|
|
49
63
|
name: "USD Coin",
|
|
50
64
|
version: "2"
|
|
51
65
|
},
|
|
66
|
+
tokens: {
|
|
67
|
+
usdc: {
|
|
68
|
+
address: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
|
|
69
|
+
decimals: 6,
|
|
70
|
+
name: "USD Coin",
|
|
71
|
+
version: "2"
|
|
72
|
+
},
|
|
73
|
+
eurc: {
|
|
74
|
+
address: "0xC891EB4cbdEFf6e073e859e987815Ed1505c2ACD",
|
|
75
|
+
decimals: 6,
|
|
76
|
+
name: "EURC",
|
|
77
|
+
version: "2"
|
|
78
|
+
},
|
|
79
|
+
ausd: {
|
|
80
|
+
address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
81
|
+
decimals: 6,
|
|
82
|
+
name: "Agora USD",
|
|
83
|
+
version: "1"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
52
86
|
x402: {
|
|
53
87
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
54
88
|
enabled: true
|
|
@@ -73,6 +107,32 @@ var SUPPORTED_CHAINS = {
|
|
|
73
107
|
name: "USD Coin",
|
|
74
108
|
version: "2"
|
|
75
109
|
},
|
|
110
|
+
tokens: {
|
|
111
|
+
usdc: {
|
|
112
|
+
address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
113
|
+
decimals: 6,
|
|
114
|
+
name: "USD Coin",
|
|
115
|
+
version: "2"
|
|
116
|
+
},
|
|
117
|
+
eurc: {
|
|
118
|
+
address: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",
|
|
119
|
+
decimals: 6,
|
|
120
|
+
name: "EURC",
|
|
121
|
+
version: "2"
|
|
122
|
+
},
|
|
123
|
+
ausd: {
|
|
124
|
+
address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
125
|
+
decimals: 6,
|
|
126
|
+
name: "Agora USD",
|
|
127
|
+
version: "1"
|
|
128
|
+
},
|
|
129
|
+
pyusd: {
|
|
130
|
+
address: "0x6c3ea9036406852006290770BEdFcAbA0e23A0e8",
|
|
131
|
+
decimals: 6,
|
|
132
|
+
name: "PayPal USD",
|
|
133
|
+
version: "1"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
76
136
|
x402: {
|
|
77
137
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
78
138
|
enabled: true
|
|
@@ -97,6 +157,20 @@ var SUPPORTED_CHAINS = {
|
|
|
97
157
|
name: "USD Coin",
|
|
98
158
|
version: "2"
|
|
99
159
|
},
|
|
160
|
+
tokens: {
|
|
161
|
+
usdc: {
|
|
162
|
+
address: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
|
|
163
|
+
decimals: 6,
|
|
164
|
+
name: "USD Coin",
|
|
165
|
+
version: "2"
|
|
166
|
+
},
|
|
167
|
+
ausd: {
|
|
168
|
+
address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
169
|
+
decimals: 6,
|
|
170
|
+
name: "Agora USD",
|
|
171
|
+
version: "1"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
100
174
|
x402: {
|
|
101
175
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
102
176
|
enabled: true
|
|
@@ -121,6 +195,20 @@ var SUPPORTED_CHAINS = {
|
|
|
121
195
|
name: "USD Coin",
|
|
122
196
|
version: "2"
|
|
123
197
|
},
|
|
198
|
+
tokens: {
|
|
199
|
+
usdc: {
|
|
200
|
+
address: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
201
|
+
decimals: 6,
|
|
202
|
+
name: "USD Coin",
|
|
203
|
+
version: "2"
|
|
204
|
+
},
|
|
205
|
+
ausd: {
|
|
206
|
+
address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
207
|
+
decimals: 6,
|
|
208
|
+
name: "Agora USD",
|
|
209
|
+
version: "1"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
124
212
|
x402: {
|
|
125
213
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
126
214
|
enabled: true
|
|
@@ -145,6 +233,14 @@ var SUPPORTED_CHAINS = {
|
|
|
145
233
|
name: "USD Coin",
|
|
146
234
|
version: "2"
|
|
147
235
|
},
|
|
236
|
+
tokens: {
|
|
237
|
+
usdc: {
|
|
238
|
+
address: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
239
|
+
decimals: 6,
|
|
240
|
+
name: "USD Coin",
|
|
241
|
+
version: "2"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
148
244
|
x402: {
|
|
149
245
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
150
246
|
enabled: true
|
|
@@ -170,6 +266,15 @@ var SUPPORTED_CHAINS = {
|
|
|
170
266
|
// Celo uses "USDC" not "USD Coin" for EIP-712
|
|
171
267
|
version: "2"
|
|
172
268
|
},
|
|
269
|
+
tokens: {
|
|
270
|
+
usdc: {
|
|
271
|
+
address: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
|
|
272
|
+
decimals: 6,
|
|
273
|
+
name: "USDC",
|
|
274
|
+
// Celo uses "USDC" not "USD Coin" for EIP-712
|
|
275
|
+
version: "2"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
173
278
|
x402: {
|
|
174
279
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
175
280
|
enabled: true
|
|
@@ -195,6 +300,15 @@ var SUPPORTED_CHAINS = {
|
|
|
195
300
|
// HyperEVM uses "USDC" not "USD Coin"
|
|
196
301
|
version: "2"
|
|
197
302
|
},
|
|
303
|
+
tokens: {
|
|
304
|
+
usdc: {
|
|
305
|
+
address: "0xb88339CB7199b77E23DB6E890353E22632Ba630f",
|
|
306
|
+
decimals: 6,
|
|
307
|
+
name: "USDC",
|
|
308
|
+
// HyperEVM uses "USDC" not "USD Coin"
|
|
309
|
+
version: "2"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
198
312
|
x402: {
|
|
199
313
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
200
314
|
enabled: true
|
|
@@ -220,6 +334,15 @@ var SUPPORTED_CHAINS = {
|
|
|
220
334
|
// Unichain uses "USDC" not "USD Coin"
|
|
221
335
|
version: "2"
|
|
222
336
|
},
|
|
337
|
+
tokens: {
|
|
338
|
+
usdc: {
|
|
339
|
+
address: "0x078d782b760474a361dda0af3839290b0ef57ad6",
|
|
340
|
+
decimals: 6,
|
|
341
|
+
name: "USDC",
|
|
342
|
+
// Unichain uses "USDC" not "USD Coin"
|
|
343
|
+
version: "2"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
223
346
|
x402: {
|
|
224
347
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
225
348
|
enabled: true
|
|
@@ -245,6 +368,21 @@ var SUPPORTED_CHAINS = {
|
|
|
245
368
|
// Monad uses "USDC" not "USD Coin"
|
|
246
369
|
version: "2"
|
|
247
370
|
},
|
|
371
|
+
tokens: {
|
|
372
|
+
usdc: {
|
|
373
|
+
address: "0x754704bc059f8c67012fed69bc8a327a5aafb603",
|
|
374
|
+
decimals: 6,
|
|
375
|
+
name: "USDC",
|
|
376
|
+
// Monad uses "USDC" not "USD Coin"
|
|
377
|
+
version: "2"
|
|
378
|
+
},
|
|
379
|
+
ausd: {
|
|
380
|
+
address: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a",
|
|
381
|
+
decimals: 6,
|
|
382
|
+
name: "Agora USD",
|
|
383
|
+
version: "1"
|
|
384
|
+
}
|
|
385
|
+
},
|
|
248
386
|
x402: {
|
|
249
387
|
facilitatorUrl: DEFAULT_FACILITATOR_URL,
|
|
250
388
|
enabled: true
|