@piprail/sdk 1.1.1 → 1.2.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@ All notable changes to `@piprail/sdk` are documented here. The format
4
4
  follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the
5
5
  versions follow [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [1.2.0] — 2026-06-04
8
+
9
+ Two new EVM presets — **HyperEVM (Hyperliquid)** and **Monad** — bringing the built-in count to
10
+ **26 chains across 8 families (19 EVM)**. Both reuse the existing EVM driver: one row of
11
+ on-chain-verified data each, no new code path and no new peer dep. Fully backward-compatible.
12
+
13
+ ### Added
14
+ - **HyperEVM (Hyperliquid), `chain: 'hyperevm'`, chainId 999** — native Circle USDC
15
+ (`0xb88339CB7199b77E23DB6E890353E22632Ba630f`, 6 dp; CCTP V2). The highest-activity EVM venue
16
+ of 2025–26 (perps DEX + on-chain agent vaults). Pay in USDC or native HYPE. HyperEVM's USDT is
17
+ USDT0 (LayerZero), not Tether-native, so it's omitted (pass it as a custom `{ address, decimals }`).
18
+ - **Monad, `chain: 'monad'`, chainId 143** — native Circle USDC
19
+ (`0x754704Bc059F8C67012fEd69BC8A327a5aafb603`, 6 dp; CCTP V2). The biggest new EVM L1 of 2025
20
+ (parallel EVM, ~10k TPS). Pay in USDC or native MON. USDT0 omitted, as above.
21
+
22
+ Both addresses were verified on-chain (live `eth_chainId` + `symbol()`/`decimals()`) before
23
+ shipping; `chain: 'hyperevm'` / `chain: 'monad'` work with no setup call.
24
+
7
25
  ## [1.1.1] — 2026-06-03
8
26
 
9
27
  Docs + examples only — **no code change**; the API and every chain behave exactly as 1.1.0.
package/README.md CHANGED
@@ -160,6 +160,8 @@ Every token address below was verified on-chain (symbol + decimals) before shipp
160
160
  | `'worldchain'` | World Chain | USDC |
161
161
  | `'sei'` | Sei | USDC |
162
162
  | `'injective'` | Injective | USDC, USDT |
163
+ | `'hyperevm'` | HyperEVM (Hyperliquid) | USDC |
164
+ | `'monad'` | Monad | USDC |
163
165
  | `'solana'` | Solana | USDC, USDT |
164
166
  | `'ton'` | TON | USDT |
165
167
  | `'tron'` | Tron | USDT |
package/dist/index.cjs CHANGED
@@ -82,6 +82,8 @@ var _viem = require('viem');
82
82
 
83
83
 
84
84
 
85
+
86
+
85
87
 
86
88
  var _chains = require('viem/chains');
87
89
  var CHAINS = {
@@ -210,6 +212,28 @@ var CHAINS = {
210
212
  USDC: { address: "0xa00C59fF5a080D2b954d0c75e46E22a0c371235a", decimals: 6, symbol: "USDC" },
211
213
  USDT: { address: "0x88f7F2b685F9692caf8c478f5BADF09eE9B1Cc13", decimals: 6, symbol: "USDT" }
212
214
  }
215
+ },
216
+ // HyperEVM (Hyperliquid, chainId 999) — native Circle USDC, verified on-chain
217
+ // 2026-06-04 (eth_chainId 0x3e7; USDC symbol "USDC", decimals 6). HyperEVM's
218
+ // "USDT" is USDT0 (LayerZero/omnichain), not Circle/Tether-native, so it's
219
+ // intentionally omitted; pass it as a custom { address, decimals } if needed.
220
+ // The highest-activity EVM venue of 2025–26 (perps DEX + on-chain agent vaults).
221
+ hyperevm: {
222
+ chain: _chains.hyperEvm,
223
+ tokens: {
224
+ USDC: { address: "0xb88339CB7199b77E23DB6E890353E22632Ba630f", decimals: 6, symbol: "USDC" }
225
+ }
226
+ },
227
+ // Monad (chainId 143) — native Circle USDC, verified on-chain 2026-06-04
228
+ // (eth_chainId 0x8f; USDC symbol "USDC", decimals 6; CCTP V2). Monad's "USDT"
229
+ // is USDT0 (LayerZero/omnichain), not Circle/Tether-native, so it's
230
+ // intentionally omitted; pass it as a custom { address, decimals } if needed.
231
+ // The biggest new EVM L1 of 2025 (parallel EVM, ~10k TPS).
232
+ monad: {
233
+ chain: _chains.monad,
234
+ tokens: {
235
+ USDC: { address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603", decimals: 6, symbol: "USDC" }
236
+ }
213
237
  }
214
238
  };
215
239
  function isViemChain(input) {
package/dist/index.d.cts CHANGED
@@ -838,7 +838,7 @@ declare const CHAINS: {
838
838
  gasPrice: bigint;
839
839
  maxFeePerBlobGas?: undefined | undefined;
840
840
  maxFeePerGas?: undefined | undefined;
841
- maxPriorityFeePerGas?: undefined | undefined;
841
+ maxPriorityFeePerGas? /** Native coin metadata. Defaults to 18-decimal ETH. */: undefined | undefined;
842
842
  isSystemTx?: undefined | undefined;
843
843
  mint?: undefined | undefined;
844
844
  sourceHash?: undefined | undefined;
@@ -1580,7 +1580,7 @@ declare const CHAINS: {
1580
1580
  yParity: number;
1581
1581
  accessList: viem.AccessList;
1582
1582
  authorizationList?: undefined | undefined;
1583
- blobVersionedHashes? /** EVM chain id, e.g. 5000 for Mantle. */: undefined | undefined;
1583
+ blobVersionedHashes?: undefined | undefined;
1584
1584
  chainId: number;
1585
1585
  type: "eip1559";
1586
1586
  gasPrice?: undefined | undefined;
@@ -2982,7 +2982,7 @@ declare const CHAINS: {
2982
2982
  } | {
2983
2983
  blockHash: `0x${string}` | null;
2984
2984
  blockNumber: bigint | null;
2985
- blockTimestamp? /** JSON-RPC endpoint. */: bigint | undefined;
2985
+ blockTimestamp?: bigint | undefined;
2986
2986
  from: abitype.Address;
2987
2987
  gas: bigint;
2988
2988
  hash: viem.Hash;
@@ -3340,7 +3340,9 @@ declare const CHAINS: {
3340
3340
  value: bigint;
3341
3341
  yParity: number;
3342
3342
  accessList: viem.AccessList;
3343
- authorizationList?: undefined | undefined;
3343
+ authorizationList
3344
+ /** JSON-RPC endpoint. */
3345
+ ? /** JSON-RPC endpoint. */: undefined | undefined;
3344
3346
  blobVersionedHashes?: undefined | undefined;
3345
3347
  chainId: number;
3346
3348
  type: "eip2930";
@@ -3614,6 +3616,122 @@ declare const CHAINS: {
3614
3616
  };
3615
3617
  };
3616
3618
  };
3619
+ hyperevm: {
3620
+ chain: {
3621
+ blockExplorers: {
3622
+ readonly default: {
3623
+ readonly name: "HyperEVMScan";
3624
+ readonly url: "https://hyperevmscan.io";
3625
+ };
3626
+ };
3627
+ blockTime?: number | undefined | undefined;
3628
+ contracts: {
3629
+ readonly multicall3: {
3630
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
3631
+ readonly blockCreated: 13051;
3632
+ };
3633
+ };
3634
+ ensTlds?: readonly string[] | undefined;
3635
+ id: 999;
3636
+ name: "HyperEVM";
3637
+ nativeCurrency: {
3638
+ readonly name: "HYPE";
3639
+ readonly symbol: "HYPE";
3640
+ readonly decimals: 18;
3641
+ };
3642
+ experimental_preconfirmationTime?: number | undefined | undefined;
3643
+ rpcUrls: {
3644
+ readonly default: {
3645
+ readonly http: readonly ["https://rpc.hyperliquid.xyz/evm"];
3646
+ };
3647
+ };
3648
+ sourceId?: number | undefined | undefined;
3649
+ testnet: false;
3650
+ custom?: Record<string, unknown> | undefined;
3651
+ extendSchema?: Record<string, unknown> | undefined;
3652
+ fees?: viem.ChainFees<undefined> | undefined;
3653
+ formatters?: undefined;
3654
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
3655
+ client: viem.Client;
3656
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3657
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
3658
+ client: viem.Client;
3659
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3660
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
3661
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
3662
+ }] | undefined;
3663
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
3664
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
3665
+ };
3666
+ tokens: {
3667
+ USDC: {
3668
+ address: "0xb88339CB7199b77E23DB6E890353E22632Ba630f";
3669
+ decimals: number;
3670
+ symbol: string;
3671
+ };
3672
+ };
3673
+ };
3674
+ monad: {
3675
+ chain: {
3676
+ blockExplorers: {
3677
+ readonly default: {
3678
+ readonly name: "MonadVision";
3679
+ readonly url: "https://monadvision.com";
3680
+ };
3681
+ readonly monadscan: {
3682
+ readonly name: "Monadscan";
3683
+ readonly url: "https://monadscan.com";
3684
+ readonly apiUrl: "https://api.monadscan.com/api";
3685
+ };
3686
+ };
3687
+ blockTime: 400;
3688
+ contracts: {
3689
+ readonly multicall3: {
3690
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
3691
+ readonly blockCreated: 9248132;
3692
+ };
3693
+ };
3694
+ ensTlds?: readonly string[] | undefined;
3695
+ id: 143;
3696
+ name: "Monad";
3697
+ nativeCurrency: {
3698
+ readonly name: "Monad";
3699
+ readonly symbol: "MON";
3700
+ readonly decimals: 18;
3701
+ };
3702
+ experimental_preconfirmationTime?: number | undefined | undefined;
3703
+ rpcUrls: {
3704
+ readonly default: {
3705
+ readonly http: readonly ["https://rpc.monad.xyz", "https://rpc1.monad.xyz"];
3706
+ readonly webSocket: readonly ["wss://rpc.monad.xyz", "wss://rpc1.monad.xyz"];
3707
+ };
3708
+ };
3709
+ sourceId?: number | undefined | undefined;
3710
+ testnet: false;
3711
+ custom?: Record<string, unknown> | undefined;
3712
+ extendSchema?: Record<string, unknown> | undefined;
3713
+ fees?: viem.ChainFees<undefined> | undefined;
3714
+ formatters?: undefined;
3715
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
3716
+ client: viem.Client;
3717
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3718
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
3719
+ client: viem.Client;
3720
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3721
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
3722
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
3723
+ }] | undefined;
3724
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
3725
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
3726
+ };
3727
+ tokens: {
3728
+ USDC: {
3729
+ address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603";
3730
+ decimals: number;
3731
+ symbol: string;
3732
+ };
3733
+ };
3734
+ };
3617
3735
  };
3618
3736
  /** A built-in EVM chain name. */
3619
3737
  type ChainName = keyof typeof CHAINS;
package/dist/index.d.ts CHANGED
@@ -838,7 +838,7 @@ declare const CHAINS: {
838
838
  gasPrice: bigint;
839
839
  maxFeePerBlobGas?: undefined | undefined;
840
840
  maxFeePerGas?: undefined | undefined;
841
- maxPriorityFeePerGas?: undefined | undefined;
841
+ maxPriorityFeePerGas? /** Native coin metadata. Defaults to 18-decimal ETH. */: undefined | undefined;
842
842
  isSystemTx?: undefined | undefined;
843
843
  mint?: undefined | undefined;
844
844
  sourceHash?: undefined | undefined;
@@ -1580,7 +1580,7 @@ declare const CHAINS: {
1580
1580
  yParity: number;
1581
1581
  accessList: viem.AccessList;
1582
1582
  authorizationList?: undefined | undefined;
1583
- blobVersionedHashes? /** EVM chain id, e.g. 5000 for Mantle. */: undefined | undefined;
1583
+ blobVersionedHashes?: undefined | undefined;
1584
1584
  chainId: number;
1585
1585
  type: "eip1559";
1586
1586
  gasPrice?: undefined | undefined;
@@ -2982,7 +2982,7 @@ declare const CHAINS: {
2982
2982
  } | {
2983
2983
  blockHash: `0x${string}` | null;
2984
2984
  blockNumber: bigint | null;
2985
- blockTimestamp? /** JSON-RPC endpoint. */: bigint | undefined;
2985
+ blockTimestamp?: bigint | undefined;
2986
2986
  from: abitype.Address;
2987
2987
  gas: bigint;
2988
2988
  hash: viem.Hash;
@@ -3340,7 +3340,9 @@ declare const CHAINS: {
3340
3340
  value: bigint;
3341
3341
  yParity: number;
3342
3342
  accessList: viem.AccessList;
3343
- authorizationList?: undefined | undefined;
3343
+ authorizationList
3344
+ /** JSON-RPC endpoint. */
3345
+ ? /** JSON-RPC endpoint. */: undefined | undefined;
3344
3346
  blobVersionedHashes?: undefined | undefined;
3345
3347
  chainId: number;
3346
3348
  type: "eip2930";
@@ -3614,6 +3616,122 @@ declare const CHAINS: {
3614
3616
  };
3615
3617
  };
3616
3618
  };
3619
+ hyperevm: {
3620
+ chain: {
3621
+ blockExplorers: {
3622
+ readonly default: {
3623
+ readonly name: "HyperEVMScan";
3624
+ readonly url: "https://hyperevmscan.io";
3625
+ };
3626
+ };
3627
+ blockTime?: number | undefined | undefined;
3628
+ contracts: {
3629
+ readonly multicall3: {
3630
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
3631
+ readonly blockCreated: 13051;
3632
+ };
3633
+ };
3634
+ ensTlds?: readonly string[] | undefined;
3635
+ id: 999;
3636
+ name: "HyperEVM";
3637
+ nativeCurrency: {
3638
+ readonly name: "HYPE";
3639
+ readonly symbol: "HYPE";
3640
+ readonly decimals: 18;
3641
+ };
3642
+ experimental_preconfirmationTime?: number | undefined | undefined;
3643
+ rpcUrls: {
3644
+ readonly default: {
3645
+ readonly http: readonly ["https://rpc.hyperliquid.xyz/evm"];
3646
+ };
3647
+ };
3648
+ sourceId?: number | undefined | undefined;
3649
+ testnet: false;
3650
+ custom?: Record<string, unknown> | undefined;
3651
+ extendSchema?: Record<string, unknown> | undefined;
3652
+ fees?: viem.ChainFees<undefined> | undefined;
3653
+ formatters?: undefined;
3654
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
3655
+ client: viem.Client;
3656
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3657
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
3658
+ client: viem.Client;
3659
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3660
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
3661
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
3662
+ }] | undefined;
3663
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
3664
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
3665
+ };
3666
+ tokens: {
3667
+ USDC: {
3668
+ address: "0xb88339CB7199b77E23DB6E890353E22632Ba630f";
3669
+ decimals: number;
3670
+ symbol: string;
3671
+ };
3672
+ };
3673
+ };
3674
+ monad: {
3675
+ chain: {
3676
+ blockExplorers: {
3677
+ readonly default: {
3678
+ readonly name: "MonadVision";
3679
+ readonly url: "https://monadvision.com";
3680
+ };
3681
+ readonly monadscan: {
3682
+ readonly name: "Monadscan";
3683
+ readonly url: "https://monadscan.com";
3684
+ readonly apiUrl: "https://api.monadscan.com/api";
3685
+ };
3686
+ };
3687
+ blockTime: 400;
3688
+ contracts: {
3689
+ readonly multicall3: {
3690
+ readonly address: "0xcA11bde05977b3631167028862bE2a173976CA11";
3691
+ readonly blockCreated: 9248132;
3692
+ };
3693
+ };
3694
+ ensTlds?: readonly string[] | undefined;
3695
+ id: 143;
3696
+ name: "Monad";
3697
+ nativeCurrency: {
3698
+ readonly name: "Monad";
3699
+ readonly symbol: "MON";
3700
+ readonly decimals: 18;
3701
+ };
3702
+ experimental_preconfirmationTime?: number | undefined | undefined;
3703
+ rpcUrls: {
3704
+ readonly default: {
3705
+ readonly http: readonly ["https://rpc.monad.xyz", "https://rpc1.monad.xyz"];
3706
+ readonly webSocket: readonly ["wss://rpc.monad.xyz", "wss://rpc1.monad.xyz"];
3707
+ };
3708
+ };
3709
+ sourceId?: number | undefined | undefined;
3710
+ testnet: false;
3711
+ custom?: Record<string, unknown> | undefined;
3712
+ extendSchema?: Record<string, unknown> | undefined;
3713
+ fees?: viem.ChainFees<undefined> | undefined;
3714
+ formatters?: undefined;
3715
+ prepareTransactionRequest?: ((args: viem.PrepareTransactionRequestParameters, options: {
3716
+ client: viem.Client;
3717
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3718
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | [fn: ((args: viem.PrepareTransactionRequestParameters, options: {
3719
+ client: viem.Client;
3720
+ phase: "beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters";
3721
+ }) => Promise<viem.PrepareTransactionRequestParameters>) | undefined, options: {
3722
+ runAt: readonly ("beforeFillTransaction" | "beforeFillParameters" | "afterFillParameters")[];
3723
+ }] | undefined;
3724
+ serializers?: viem.ChainSerializers<undefined, viem.TransactionSerializable> | undefined;
3725
+ verifyHash?: ((client: viem.Client, parameters: viem.VerifyHashActionParameters) => Promise<viem.VerifyHashActionReturnType>) | undefined;
3726
+ };
3727
+ tokens: {
3728
+ USDC: {
3729
+ address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603";
3730
+ decimals: number;
3731
+ symbol: string;
3732
+ };
3733
+ };
3734
+ };
3617
3735
  };
3618
3736
  /** A built-in EVM chain name. */
3619
3737
  type ChainName = keyof typeof CHAINS;
package/dist/index.js CHANGED
@@ -71,10 +71,12 @@ import {
71
71
  base,
72
72
  bsc,
73
73
  celo,
74
+ hyperEvm,
74
75
  injective,
75
76
  linea,
76
77
  mainnet,
77
78
  mantle,
79
+ monad,
78
80
  optimism,
79
81
  polygon,
80
82
  scroll,
@@ -210,6 +212,28 @@ var CHAINS = {
210
212
  USDC: { address: "0xa00C59fF5a080D2b954d0c75e46E22a0c371235a", decimals: 6, symbol: "USDC" },
211
213
  USDT: { address: "0x88f7F2b685F9692caf8c478f5BADF09eE9B1Cc13", decimals: 6, symbol: "USDT" }
212
214
  }
215
+ },
216
+ // HyperEVM (Hyperliquid, chainId 999) — native Circle USDC, verified on-chain
217
+ // 2026-06-04 (eth_chainId 0x3e7; USDC symbol "USDC", decimals 6). HyperEVM's
218
+ // "USDT" is USDT0 (LayerZero/omnichain), not Circle/Tether-native, so it's
219
+ // intentionally omitted; pass it as a custom { address, decimals } if needed.
220
+ // The highest-activity EVM venue of 2025–26 (perps DEX + on-chain agent vaults).
221
+ hyperevm: {
222
+ chain: hyperEvm,
223
+ tokens: {
224
+ USDC: { address: "0xb88339CB7199b77E23DB6E890353E22632Ba630f", decimals: 6, symbol: "USDC" }
225
+ }
226
+ },
227
+ // Monad (chainId 143) — native Circle USDC, verified on-chain 2026-06-04
228
+ // (eth_chainId 0x8f; USDC symbol "USDC", decimals 6; CCTP V2). Monad's "USDT"
229
+ // is USDT0 (LayerZero/omnichain), not Circle/Tether-native, so it's
230
+ // intentionally omitted; pass it as a custom { address, decimals } if needed.
231
+ // The biggest new EVM L1 of 2025 (parallel EVM, ~10k TPS).
232
+ monad: {
233
+ chain: monad,
234
+ tokens: {
235
+ USDC: { address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603", decimals: 6, symbol: "USDC" }
236
+ }
213
237
  }
214
238
  };
215
239
  function isViemChain(input) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@piprail/sdk",
3
- "version": "1.1.1",
4
- "description": "Accept x402 crypto payments across 24 chains — every major EVM chain plus Solana, TON, Tron, NEAR, Sui, Stellar & XRPL — in a couple of lines. No backend, no database, no fee; payments settle straight to your wallet.",
3
+ "version": "1.2.0",
4
+ "description": "Accept x402 crypto payments across 26 chains — every major EVM chain plus Solana, TON, Tron, NEAR, Sui, Stellar & XRPL — in a couple of lines. No backend, no database, no fee; payments settle straight to your wallet.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",