@piprail/sdk 2.16.0 → 2.16.2
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 +47 -0
- package/dist/index.cjs +11 -4
- package/dist/index.js +11 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,51 @@ 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
|
+
## [2.16.2] — 2026-09-06 — every facilitator now carries a verifiable receipt
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **All 29 facilitator entries now cite a full, machine-verifiable transaction hash.** Four did
|
|
12
|
+
not: three kept only a truncated prefix (`tx 4dL8jRKH…`) and one recorded a verification with no
|
|
13
|
+
hash at all. A prefix cannot be opened on an explorer and cannot be re-checked by
|
|
14
|
+
`verify-tx.mjs`, so those four entries were claims rather than proofs.
|
|
15
|
+
|
|
16
|
+
Rather than reconstruct old hashes, each was **re-proven with a fresh mainnet payment**: PayAI
|
|
17
|
+
and OpenFacilitator on Solana, PayAI and xpay on Base. Every run asserted the full round trip,
|
|
18
|
+
the merchant balance moving by exactly the amount, the buyer paying **zero** native, and a
|
|
19
|
+
replay being rejected.
|
|
20
|
+
|
|
21
|
+
`verify-tx.mjs` now reports **30 verified, 0 refuted, 0 skipped**. Previously 4 were skipped as
|
|
22
|
+
unverifiable.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **Solana proof hashes never rendered as explorer links on piprail.com.** The site generator
|
|
27
|
+
matched only EVM (`0x…64`) and Algorand (base32) hash shapes, so base58 Solana signatures fell
|
|
28
|
+
through to unlinked text while `solscan.io` sat configured and unused in the chain metadata.
|
|
29
|
+
Every Solana receipt is now a working link. This was invisible because the hash still displayed,
|
|
30
|
+
just without a link.
|
|
31
|
+
|
|
32
|
+
## [2.16.1] — 2026-09-06 — GoPlausible settles Solana, live-proven
|
|
33
|
+
|
|
34
|
+
### Added
|
|
35
|
+
|
|
36
|
+
- **GoPlausible is now seeded as a keyless Solana facilitator.** They told us directly that they
|
|
37
|
+
settle Solana as well as Algorand and Base, and they were right: their `/supported` advertises
|
|
38
|
+
`solana:5eykt4Us…` `exact` with a sponsor fee payer, and PipRail's own `facilitatorCoverage()`
|
|
39
|
+
reads the same.
|
|
40
|
+
|
|
41
|
+
**Live-proven on Solana mainnet 2026-09-06** rather than taken on trust. A real
|
|
42
|
+
`402 → pay → verify → 200` round trip on the `exact` rail: the merchant received exactly
|
|
43
|
+
0.01 USDC, the **buyer paid 0 SOL**, GoPlausible's sponsor `8a8fFNfk…RAYi` paid the
|
|
44
|
+
10,001-lamport fee (confirmed by reading `accountKeys[0]` on the settled transaction), and a
|
|
45
|
+
replay of the same proof was rejected. Tx
|
|
46
|
+
`3DEGg6Lue8471meBH8hbLxV1bLmZGKvmvmSY3tjg7tQFnxzE9GQXUXokjQnZgTqaEU4SaXuY9F7v3m7JsX5xDgrZ`.
|
|
47
|
+
|
|
48
|
+
Solana previously seeded only PayAI and OpenFacilitator, so this is a third keyless option on
|
|
49
|
+
that chain. No default changes: the seed list is a convenience, and the SDK still depends on no
|
|
50
|
+
facilitator.
|
|
51
|
+
|
|
7
52
|
## [2.16.0] — 2026-09-06 — the XRP Ledger `exact` buyer, and paying the 91% of the x402 web we could not
|
|
8
53
|
|
|
9
54
|
### Added — the XRP Ledger `exact` buyer (stage 04, first family)
|
|
@@ -2110,6 +2155,8 @@ straight into your wallet. The API is small and self-contained.
|
|
|
2110
2155
|
to your wallet; PipRail never holds funds.
|
|
2111
2156
|
- `viem ^2.21` is a peer dependency. Node 20+ or a modern browser.
|
|
2112
2157
|
|
|
2158
|
+
[2.16.2]: https://www.npmjs.com/package/@piprail/sdk
|
|
2159
|
+
[2.16.1]: https://www.npmjs.com/package/@piprail/sdk
|
|
2113
2160
|
[2.16.0]: https://www.npmjs.com/package/@piprail/sdk
|
|
2114
2161
|
[2.15.1]: https://www.npmjs.com/package/@piprail/sdk
|
|
2115
2162
|
[2.15.0]: https://www.npmjs.com/package/@piprail/sdk
|
package/dist/index.cjs
CHANGED
|
@@ -5580,14 +5580,14 @@ var KNOWN_FACILITATORS = {
|
|
|
5580
5580
|
keyless: true,
|
|
5581
5581
|
schemes: ["exact"],
|
|
5582
5582
|
settles: ["eip3009"],
|
|
5583
|
-
note: "PayAI: keyless, sponsors gas (Base USDC EIP-3009).
|
|
5583
|
+
note: "PayAI: keyless, sponsors gas (Base USDC EIP-3009). LIVE-settled on Base 2026-09-06 (tx 0x0ca795dc9fec056304b4341bf0378ab4968766bf79a8bcda09c2f36d162efce8): buyer paid 0 ETH, replay rejected."
|
|
5584
5584
|
},
|
|
5585
5585
|
{
|
|
5586
5586
|
url: "https://facilitator.xpay.sh",
|
|
5587
5587
|
keyless: true,
|
|
5588
5588
|
schemes: ["exact"],
|
|
5589
5589
|
settles: ["eip3009"],
|
|
5590
|
-
note: "xpay: keyless, zero-fee, sponsors gas. LIVE-settled on Base 2026-06
|
|
5590
|
+
note: "xpay: keyless, zero-fee, sponsors gas. LIVE-settled on Base 2026-09-06 (tx 0x46d360a20ded889a902d48b38922d3bb5e70ed325ca0eba9d4424454032d532e): buyer paid 0 ETH, replay rejected."
|
|
5591
5591
|
},
|
|
5592
5592
|
{
|
|
5593
5593
|
url: "https://facilitator.ultravioletadao.xyz",
|
|
@@ -5823,14 +5823,21 @@ var KNOWN_FACILITATORS = {
|
|
|
5823
5823
|
keyless: true,
|
|
5824
5824
|
schemes: ["exact"],
|
|
5825
5825
|
settles: ["svm"],
|
|
5826
|
-
note: "PayAI: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled 2026-06
|
|
5826
|
+
note: "PayAI: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled on Solana mainnet 2026-09-06 (tx 2Mcp9eewiRPBeCT5mAJXFtNzbNvXyVfYNb1sbgRcRg5fCMtqdqsYrBLq4L9hUn4rsPk19KrPfWqWXprXCvVAaWP4): buyer paid 0 SOL, replay rejected."
|
|
5827
5827
|
},
|
|
5828
5828
|
{
|
|
5829
5829
|
url: "https://pay.openfacilitator.io",
|
|
5830
5830
|
keyless: true,
|
|
5831
5831
|
schemes: ["exact"],
|
|
5832
5832
|
settles: ["svm"],
|
|
5833
|
-
note: "OpenFacilitator: keyless (no signup), fee-payer sponsor. LIVE-settled on Solana 2026-06
|
|
5833
|
+
note: "OpenFacilitator: keyless (no signup), fee-payer sponsor. LIVE-settled on Solana mainnet 2026-09-06 (tx 2GAjZmvsBsPoTADzwAt65Ys8eW1KKvguqdyK5KDphUsTgb5SxvMpzT7FBVw6Ko4Z9vzB1xj7dbGzZ7KZ96ACiAyb): buyer paid 0 SOL, replay rejected."
|
|
5834
|
+
},
|
|
5835
|
+
{
|
|
5836
|
+
url: "https://facilitator.goplausible.xyz",
|
|
5837
|
+
keyless: true,
|
|
5838
|
+
schemes: ["exact"],
|
|
5839
|
+
settles: ["svm"],
|
|
5840
|
+
note: "GoPlausible: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled on Solana mainnet 2026-09-06 (tx 3DEGg6Lue8471meBH8hbLxV1bLmZGKvmvmSY3tjg7tQFnxzE9GQXUXokjQnZgTqaEU4SaXuY9F7v3m7JsX5xDgrZ): buyer paid 0 SOL, GoPlausible's sponsor 8a8fFNfk\u2026 paid the 10,001-lamport fee, replay rejected."
|
|
5834
5841
|
}
|
|
5835
5842
|
]
|
|
5836
5843
|
// NEAR (near:mainnet) — DELIBERATELY UNSEEDED: no x402 facilitator settles NEAR yet.
|
package/dist/index.js
CHANGED
|
@@ -5580,14 +5580,14 @@ var KNOWN_FACILITATORS = {
|
|
|
5580
5580
|
keyless: true,
|
|
5581
5581
|
schemes: ["exact"],
|
|
5582
5582
|
settles: ["eip3009"],
|
|
5583
|
-
note: "PayAI: keyless, sponsors gas (Base USDC EIP-3009).
|
|
5583
|
+
note: "PayAI: keyless, sponsors gas (Base USDC EIP-3009). LIVE-settled on Base 2026-09-06 (tx 0x0ca795dc9fec056304b4341bf0378ab4968766bf79a8bcda09c2f36d162efce8): buyer paid 0 ETH, replay rejected."
|
|
5584
5584
|
},
|
|
5585
5585
|
{
|
|
5586
5586
|
url: "https://facilitator.xpay.sh",
|
|
5587
5587
|
keyless: true,
|
|
5588
5588
|
schemes: ["exact"],
|
|
5589
5589
|
settles: ["eip3009"],
|
|
5590
|
-
note: "xpay: keyless, zero-fee, sponsors gas. LIVE-settled on Base 2026-06
|
|
5590
|
+
note: "xpay: keyless, zero-fee, sponsors gas. LIVE-settled on Base 2026-09-06 (tx 0x46d360a20ded889a902d48b38922d3bb5e70ed325ca0eba9d4424454032d532e): buyer paid 0 ETH, replay rejected."
|
|
5591
5591
|
},
|
|
5592
5592
|
{
|
|
5593
5593
|
url: "https://facilitator.ultravioletadao.xyz",
|
|
@@ -5823,14 +5823,21 @@ var KNOWN_FACILITATORS = {
|
|
|
5823
5823
|
keyless: true,
|
|
5824
5824
|
schemes: ["exact"],
|
|
5825
5825
|
settles: ["svm"],
|
|
5826
|
-
note: "PayAI: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled 2026-06
|
|
5826
|
+
note: "PayAI: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled on Solana mainnet 2026-09-06 (tx 2Mcp9eewiRPBeCT5mAJXFtNzbNvXyVfYNb1sbgRcRg5fCMtqdqsYrBLq4L9hUn4rsPk19KrPfWqWXprXCvVAaWP4): buyer paid 0 SOL, replay rejected."
|
|
5827
5827
|
},
|
|
5828
5828
|
{
|
|
5829
5829
|
url: "https://pay.openfacilitator.io",
|
|
5830
5830
|
keyless: true,
|
|
5831
5831
|
schemes: ["exact"],
|
|
5832
5832
|
settles: ["svm"],
|
|
5833
|
-
note: "OpenFacilitator: keyless (no signup), fee-payer sponsor. LIVE-settled on Solana 2026-06
|
|
5833
|
+
note: "OpenFacilitator: keyless (no signup), fee-payer sponsor. LIVE-settled on Solana mainnet 2026-09-06 (tx 2GAjZmvsBsPoTADzwAt65Ys8eW1KKvguqdyK5KDphUsTgb5SxvMpzT7FBVw6Ko4Z9vzB1xj7dbGzZ7KZ96ACiAyb): buyer paid 0 SOL, replay rejected."
|
|
5834
|
+
},
|
|
5835
|
+
{
|
|
5836
|
+
url: "https://facilitator.goplausible.xyz",
|
|
5837
|
+
keyless: true,
|
|
5838
|
+
schemes: ["exact"],
|
|
5839
|
+
settles: ["svm"],
|
|
5840
|
+
note: "GoPlausible: keyless fee-payer sponsor (Solana SPL SVM). LIVE-settled on Solana mainnet 2026-09-06 (tx 3DEGg6Lue8471meBH8hbLxV1bLmZGKvmvmSY3tjg7tQFnxzE9GQXUXokjQnZgTqaEU4SaXuY9F7v3m7JsX5xDgrZ): buyer paid 0 SOL, GoPlausible's sponsor 8a8fFNfk\u2026 paid the 10,001-lamport fee, replay rejected."
|
|
5834
5841
|
}
|
|
5835
5842
|
]
|
|
5836
5843
|
// NEAR (near:mainnet) — DELIBERATELY UNSEEDED: no x402 facilitator settles NEAR yet.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@piprail/sdk",
|
|
3
|
-
"version": "2.16.
|
|
3
|
+
"version": "2.16.2",
|
|
4
4
|
"description": "Accept x402 crypto payments across 29 chains — every major EVM chain plus Solana, TON, Tron, NEAR, Sui, Aptos, Algorand, 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",
|