uvd-x402-sdk 2.16.2 → 2.17.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 (57) hide show
  1. package/README.md +70 -5
  2. package/dist/adapters/index.js +103 -0
  3. package/dist/adapters/index.js.map +1 -1
  4. package/dist/adapters/index.mjs +103 -0
  5. package/dist/adapters/index.mjs.map +1 -1
  6. package/dist/backend/index.d.mts +392 -2
  7. package/dist/backend/index.d.ts +392 -2
  8. package/dist/backend/index.js +448 -0
  9. package/dist/backend/index.js.map +1 -1
  10. package/dist/backend/index.mjs +445 -1
  11. package/dist/backend/index.mjs.map +1 -1
  12. package/dist/{index-oE4dj05k.d.mts → index-BDLgm-Sg.d.mts} +3 -2
  13. package/dist/{index-B2cQzyKa.d.ts → index-DDrvK4em.d.ts} +3 -2
  14. package/dist/index.d.mts +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +103 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +103 -0
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/providers/algorand/index.js +103 -0
  21. package/dist/providers/algorand/index.js.map +1 -1
  22. package/dist/providers/algorand/index.mjs +103 -0
  23. package/dist/providers/algorand/index.mjs.map +1 -1
  24. package/dist/providers/evm/index.js +103 -0
  25. package/dist/providers/evm/index.js.map +1 -1
  26. package/dist/providers/evm/index.mjs +103 -0
  27. package/dist/providers/evm/index.mjs.map +1 -1
  28. package/dist/providers/near/index.js +103 -0
  29. package/dist/providers/near/index.js.map +1 -1
  30. package/dist/providers/near/index.mjs +103 -0
  31. package/dist/providers/near/index.mjs.map +1 -1
  32. package/dist/providers/solana/index.js +103 -0
  33. package/dist/providers/solana/index.js.map +1 -1
  34. package/dist/providers/solana/index.mjs +103 -0
  35. package/dist/providers/solana/index.mjs.map +1 -1
  36. package/dist/providers/stellar/index.js +103 -0
  37. package/dist/providers/stellar/index.js.map +1 -1
  38. package/dist/providers/stellar/index.mjs +103 -0
  39. package/dist/providers/stellar/index.mjs.map +1 -1
  40. package/dist/providers/sui/index.js +103 -0
  41. package/dist/providers/sui/index.js.map +1 -1
  42. package/dist/providers/sui/index.mjs +103 -0
  43. package/dist/providers/sui/index.mjs.map +1 -1
  44. package/dist/react/index.d.mts +1 -1
  45. package/dist/react/index.d.ts +1 -1
  46. package/dist/react/index.js +103 -0
  47. package/dist/react/index.js.map +1 -1
  48. package/dist/react/index.mjs +103 -0
  49. package/dist/react/index.mjs.map +1 -1
  50. package/dist/utils/index.js +103 -0
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/index.mjs +103 -0
  53. package/dist/utils/index.mjs.map +1 -1
  54. package/package.json +9 -3
  55. package/src/backend/index.ts +695 -1
  56. package/src/chains/index.ts +102 -2
  57. package/src/types/index.ts +3 -0
package/README.md CHANGED
@@ -1,17 +1,19 @@
1
1
  # uvd-x402-sdk
2
2
 
3
- Gasless crypto payments across 17 blockchain networks using the x402 protocol.
3
+ Gasless crypto payments across 21 blockchain networks using the x402 protocol.
4
4
 
5
5
  Users sign a message or transaction, and the Ultravioleta facilitator handles on-chain settlement. No gas fees for users.
6
6
 
7
7
  ## Features
8
8
 
9
- - **17 Networks**: EVM (10), Solana, Fogo, Stellar, NEAR, Algorand, Sui
9
+ - **21 Networks**: EVM (13 including Scroll, SKALE), Solana, Fogo, Stellar, NEAR, Algorand, Sui
10
10
  - **Multi-Stablecoin**: USDC, EURC, AUSD, PYUSD, USDT
11
11
  - **x402 v1 & v2**: Both protocol versions with auto-detection
12
12
  - **Gasless**: Facilitator pays all network fees
13
13
  - **Type-Safe**: Full TypeScript support
14
14
  - **React & Wagmi**: First-class integrations
15
+ - **ERC-8004 Trustless Agents**: On-chain reputation and identity
16
+ - **Escrow & Refunds**: Hold payments with dispute resolution
15
17
 
16
18
  ## Installation
17
19
 
@@ -432,7 +434,7 @@ const header = svm.encodePaymentHeader(payload, chainConfig);
432
434
 
433
435
  ## Supported Networks
434
436
 
435
- ### EVM (10)
437
+ ### EVM (13)
436
438
 
437
439
  | Network | Chain ID | Tokens |
438
440
  |---------|----------|--------|
@@ -440,12 +442,15 @@ const header = svm.encodePaymentHeader(payload, chainConfig);
440
442
  | Ethereum | 1 | USDC, EURC, AUSD, PYUSD, USDT |
441
443
  | Polygon | 137 | USDC, AUSD |
442
444
  | Arbitrum | 42161 | USDC, AUSD, USDT |
443
- | Optimism | 10 | USDC |
445
+ | Optimism | 10 | USDC, USDT |
444
446
  | Avalanche | 43114 | USDC, EURC, AUSD |
445
- | Celo | 42220 | USDC |
447
+ | Celo | 42220 | USDC, USDT |
446
448
  | HyperEVM | 999 | USDC |
447
449
  | Unichain | 130 | USDC |
448
450
  | Monad | 143 | USDC, AUSD |
451
+ | Scroll | 534352 | USDC |
452
+ | SKALE | 1187947933 | USDC |
453
+ | SKALE Testnet | 324705682 | USDC |
449
454
 
450
455
  ### SVM (2)
451
456
 
@@ -584,6 +589,66 @@ try {
584
589
  }
585
590
  ```
586
591
 
592
+ ## ERC-8004 Trustless Agents
593
+
594
+ Build verifiable on-chain reputation for AI agents and services.
595
+
596
+ ```typescript
597
+ import { Erc8004Client } from 'uvd-x402-sdk/backend';
598
+
599
+ const erc8004 = new Erc8004Client();
600
+
601
+ // Get agent identity
602
+ const identity = await erc8004.getIdentity('ethereum', 42);
603
+ console.log(identity.agentUri);
604
+
605
+ // Get agent reputation
606
+ const reputation = await erc8004.getReputation('ethereum', 42);
607
+ console.log(`Score: ${reputation.summary.summaryValue}`);
608
+
609
+ // Submit feedback after payment
610
+ const result = await erc8004.submitFeedback({
611
+ x402Version: 1,
612
+ network: 'ethereum',
613
+ feedback: {
614
+ agentId: 42,
615
+ value: 95,
616
+ valueDecimals: 0,
617
+ tag1: 'quality',
618
+ proof: settleResponse.proofOfPayment,
619
+ },
620
+ });
621
+
622
+ // Respond to feedback (agents only)
623
+ await erc8004.appendResponse('ethereum', 42, 1, 'Thank you for your feedback!');
624
+ ```
625
+
626
+ ## Escrow & Refunds
627
+
628
+ Hold payments in escrow with dispute resolution.
629
+
630
+ ```typescript
631
+ import { EscrowClient } from 'uvd-x402-sdk/backend';
632
+
633
+ const escrow = new EscrowClient();
634
+
635
+ // Create escrow payment
636
+ const escrowPayment = await escrow.createEscrow({
637
+ paymentHeader: req.headers['x-payment'],
638
+ requirements: paymentRequirements,
639
+ escrowDuration: 86400, // 24 hours
640
+ });
641
+
642
+ // Release after service delivery
643
+ await escrow.release(escrowPayment.id);
644
+
645
+ // Or request refund if service failed
646
+ await escrow.requestRefund({
647
+ escrowId: escrowPayment.id,
648
+ reason: 'Service not delivered',
649
+ });
650
+ ```
651
+
587
652
  ## Links
588
653
 
589
654
  - [x402 Protocol](https://x402.org)
@@ -407,6 +407,106 @@ var SUPPORTED_CHAINS = {
407
407
  enabled: true
408
408
  }
409
409
  },
410
+ scroll: {
411
+ chainId: 534352,
412
+ chainIdHex: "0x82750",
413
+ name: "scroll",
414
+ displayName: "Scroll",
415
+ networkType: "evm",
416
+ rpcUrl: "https://rpc.scroll.io",
417
+ explorerUrl: "https://scrollscan.com",
418
+ nativeCurrency: {
419
+ name: "Ethereum",
420
+ symbol: "ETH",
421
+ decimals: 18
422
+ },
423
+ usdc: {
424
+ address: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
425
+ decimals: 6,
426
+ name: "USD Coin",
427
+ version: "2"
428
+ },
429
+ tokens: {
430
+ usdc: {
431
+ address: "0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
432
+ decimals: 6,
433
+ name: "USD Coin",
434
+ version: "2"
435
+ }
436
+ },
437
+ x402: {
438
+ facilitatorUrl: DEFAULT_FACILITATOR_URL,
439
+ enabled: true
440
+ }
441
+ },
442
+ skale: {
443
+ chainId: 1187947933,
444
+ chainIdHex: "0x46cea59d",
445
+ name: "skale",
446
+ displayName: "SKALE",
447
+ networkType: "evm",
448
+ rpcUrl: "https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague",
449
+ explorerUrl: "https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com",
450
+ nativeCurrency: {
451
+ name: "sFUEL",
452
+ symbol: "sFUEL",
453
+ decimals: 18
454
+ },
455
+ usdc: {
456
+ address: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
457
+ decimals: 6,
458
+ name: "USDC",
459
+ // SKALE uses "USDC"
460
+ version: "2"
461
+ },
462
+ tokens: {
463
+ usdc: {
464
+ address: "0x85889c8c714505E0c94b30fcfcF64fE3Ac8FCb20",
465
+ decimals: 6,
466
+ name: "USDC",
467
+ // SKALE uses "USDC"
468
+ version: "2"
469
+ }
470
+ },
471
+ x402: {
472
+ facilitatorUrl: DEFAULT_FACILITATOR_URL,
473
+ enabled: true
474
+ }
475
+ },
476
+ "skale-testnet": {
477
+ chainId: 324705682,
478
+ chainIdHex: "0x135a9d92",
479
+ name: "skale-testnet",
480
+ displayName: "SKALE Testnet",
481
+ networkType: "evm",
482
+ rpcUrl: "https://testnet.skalenodes.com/v1/lanky-ill-funny-testnet",
483
+ explorerUrl: "https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com",
484
+ nativeCurrency: {
485
+ name: "sFUEL",
486
+ symbol: "sFUEL",
487
+ decimals: 18
488
+ },
489
+ usdc: {
490
+ address: "0x2e08028E3C4c2356572E096d8EF835cD5C6030bD",
491
+ decimals: 6,
492
+ name: "USDC",
493
+ // SKALE testnet uses "USDC"
494
+ version: "2"
495
+ },
496
+ tokens: {
497
+ usdc: {
498
+ address: "0x2e08028E3C4c2356572E096d8EF835cD5C6030bD",
499
+ decimals: 6,
500
+ name: "USDC",
501
+ // SKALE testnet uses "USDC"
502
+ version: "2"
503
+ }
504
+ },
505
+ x402: {
506
+ facilitatorUrl: DEFAULT_FACILITATOR_URL,
507
+ enabled: true
508
+ }
509
+ },
410
510
  // ============================================================================
411
511
  // SVM CHAINS (2 networks) - Solana Virtual Machine
412
512
  // ============================================================================
@@ -710,6 +810,9 @@ var CAIP2_IDENTIFIERS = {
710
810
  hyperevm: "eip155:999",
711
811
  unichain: "eip155:130",
712
812
  monad: "eip155:143",
813
+ scroll: "eip155:534352",
814
+ skale: "eip155:1187947933",
815
+ "skale-testnet": "eip155:324705682",
713
816
  // SVM chains
714
817
  solana: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
715
818
  fogo: "svm:fogo",