@zkp2p/cash 0.6.2 → 0.6.3-rc.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/AGENTS.md +6 -0
- package/README.md +7 -0
- package/dist/index.cjs +3 -0
- package/dist/index.js +3 -0
- package/dist/tools.cjs +1 -1
- package/dist/tools.js +1 -1
- package/examples/node-cashout.ts +2 -0
- package/llms.txt +5 -0
- package/package.json +2 -2
- package/skills/peer-cash-integration/SKILL.md +6 -0
package/AGENTS.md
CHANGED
|
@@ -61,6 +61,12 @@ deposit-level integration share instead of applying maker L1/L2.
|
|
|
61
61
|
- **Cash App is non-chargebackable.** Cash App cash-outs stay public, do not
|
|
62
62
|
attach a Peer Pay merchant policy, and never require dispute-protection stake.
|
|
63
63
|
|
|
64
|
+
- **X Money supports USD.** Use `platform: 'xmoney'` and a receiving X username
|
|
65
|
+
with X Money enabled. Raw string payees accept a leading `@` and normalize to
|
|
66
|
+
the bare lowercase handle; structured `offchainId` values must already be
|
|
67
|
+
normalized. Curator does not verify account existence or X Money enrollment.
|
|
68
|
+
No identity attestation or Peer Pay merchant policy is required.
|
|
69
|
+
|
|
64
70
|
- **Wise, PayPal, and Alipay** carry `requiresIdentityAttestation: true`. A new curator
|
|
65
71
|
registration needs a signed maker identity attestation this SDK cannot mint
|
|
66
72
|
(first-party Peer web obtains it through the Peer TEE browser extension).
|
package/README.md
CHANGED
|
@@ -323,10 +323,17 @@ See the [full appearance options](https://www.npmjs.com/package/@zkp2p/sdk#popup
|
|
|
323
323
|
| Venmo | Peer Pay merchant policy attaches for that payment method | Curator validates the live handle |
|
|
324
324
|
| PayPal | Same method-scoped Peer Pay follow-up | Requires a Peer TEE browser-extension identity attestation |
|
|
325
325
|
| Cash App | No access-policy follow-up; non-chargebackable and no stake required | Curator validates the live handle |
|
|
326
|
+
| X Money (USD) | No access-policy follow-up | Bare lowercase X username; X Money must be enabled on the receiving account |
|
|
326
327
|
| Wise | No access-policy follow-up | Requires a Peer TEE browser-extension identity attestation |
|
|
327
328
|
| UPI | No access-policy follow-up | Any valid UPI ID; no account connection or identity attestation |
|
|
328
329
|
| Other supported rails | No access-policy follow-up; use `capabilities()` for currencies and format | Follow the `payeeHint`; live-validation behavior is described in the integration guide |
|
|
329
330
|
|
|
331
|
+
Use `receive: { platform: 'xmoney', currency: 'USD', payee: '@YourHandle' }`
|
|
332
|
+
for X Money. Raw handles are trimmed, lowercased, and stripped of a leading `@`;
|
|
333
|
+
structured payee data must already use `offchainId: 'yourhandle'`. Registration
|
|
334
|
+
normalizes the handle but does not verify that the X account exists or can receive
|
|
335
|
+
X Money. Confirm that the receiving account has X Money enabled before cashing out.
|
|
336
|
+
|
|
330
337
|
No platform requires an atomic access-policy flow. `cashout()` and `prepare()`
|
|
331
338
|
work with any viem `WalletClient`, including a local or externally connected
|
|
332
339
|
EOA; no Privy wallet or signer API is required. The deprecated
|
package/dist/index.cjs
CHANGED
|
@@ -618,6 +618,7 @@ var PAYEE_HINTS = {
|
|
|
618
618
|
mercadopago: "Mercado Pago alias or CVU",
|
|
619
619
|
monzo: "Monzo.me username",
|
|
620
620
|
chime: "ChimeSign (e.g. $andrew)",
|
|
621
|
+
xmoney: "X username with X Money enabled, with or without the leading @ (e.g. @andrew)",
|
|
621
622
|
luxon: "Luxon Pay ID or account email",
|
|
622
623
|
n26: "MoneyBeam email or phone number",
|
|
623
624
|
alipay: "Email address linked to your Alipay account",
|
|
@@ -1893,6 +1894,8 @@ function normalizeCashPayee(platform, payee) {
|
|
|
1893
1894
|
switch (platform) {
|
|
1894
1895
|
case "venmo":
|
|
1895
1896
|
return { offchainId: trimmed.replace(/^@+/, "") };
|
|
1897
|
+
case "xmoney":
|
|
1898
|
+
return { offchainId: trimmed.replace(/^@/, "").toLowerCase() };
|
|
1896
1899
|
case "cashapp":
|
|
1897
1900
|
return { offchainId: trimmed.replace(/^\$+/, "") };
|
|
1898
1901
|
case "chime":
|
package/dist/index.js
CHANGED
|
@@ -597,6 +597,7 @@ var PAYEE_HINTS = {
|
|
|
597
597
|
mercadopago: "Mercado Pago alias or CVU",
|
|
598
598
|
monzo: "Monzo.me username",
|
|
599
599
|
chime: "ChimeSign (e.g. $andrew)",
|
|
600
|
+
xmoney: "X username with X Money enabled, with or without the leading @ (e.g. @andrew)",
|
|
600
601
|
luxon: "Luxon Pay ID or account email",
|
|
601
602
|
n26: "MoneyBeam email or phone number",
|
|
602
603
|
alipay: "Email address linked to your Alipay account",
|
|
@@ -1400,6 +1401,8 @@ function normalizeCashPayee(platform, payee) {
|
|
|
1400
1401
|
switch (platform) {
|
|
1401
1402
|
case "venmo":
|
|
1402
1403
|
return { offchainId: trimmed.replace(/^@+/, "") };
|
|
1404
|
+
case "xmoney":
|
|
1405
|
+
return { offchainId: trimmed.replace(/^@/, "").toLowerCase() };
|
|
1403
1406
|
case "cashapp":
|
|
1404
1407
|
return { offchainId: trimmed.replace(/^\$+/, "") };
|
|
1405
1408
|
case "chime":
|
package/dist/tools.cjs
CHANGED
package/dist/tools.js
CHANGED
package/examples/node-cashout.ts
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* no Privy wallet is required. Venmo and PayPal attach their access
|
|
17
17
|
* policy in a confirmed follow-up transaction. Override the demo corridor with:
|
|
18
18
|
* CASH_PLATFORM=revolut CASH_CURRENCY=EUR CASH_PAYEE=your-revtag
|
|
19
|
+
* CASH_PLATFORM=xmoney CASH_CURRENCY=USD CASH_PAYEE=@your-x-username
|
|
20
|
+
* X Money requires an enrolled receiving account; registration does not check enrollment.
|
|
19
21
|
*/
|
|
20
22
|
import { createWalletClient, http } from 'viem';
|
|
21
23
|
import { privateKeyToAccount } from 'viem/accounts';
|
package/llms.txt
CHANGED
|
@@ -56,6 +56,11 @@ Key facts:
|
|
|
56
56
|
fillStats() separately.
|
|
57
57
|
- capabilities() exposes one Zelle platform. A zelle cashout attaches only the
|
|
58
58
|
generic Zelle payment method to the on-chain deposit.
|
|
59
|
+
- X Money supports USD with `platform: 'xmoney'`. Raw payees such as
|
|
60
|
+
'@YourHandle' become 'yourhandle'; structured offchainId values must already
|
|
61
|
+
be normalized. The receiving account must have X Money enabled; registration
|
|
62
|
+
does not verify account existence or enrollment. No identity attestation or
|
|
63
|
+
Peer Pay merchant policy is required.
|
|
59
64
|
- UPI/INR is available without feature flags. For example, use
|
|
60
65
|
`createCashClient({ environment: 'preproduction' })`.
|
|
61
66
|
Any valid UPI ID from any bank can receive without a seller login,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zkp2p/cash",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.3-rc.1",
|
|
4
4
|
"description": "Peer Cash - offramp-only SDK for routing Relay or NEAR Intents assets to Base USDC, then cashing out to fiat at zero-spread Chainlink market rates.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Peer (https://peer.xyz)",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
},
|
|
109
109
|
"dependencies": {
|
|
110
110
|
"@relayprotocol/relay-sdk": "^7.0.1",
|
|
111
|
-
"@zkp2p/sdk": "0.14.
|
|
111
|
+
"@zkp2p/sdk": "0.14.5-rc.1",
|
|
112
112
|
"zod": "^4.4.3"
|
|
113
113
|
},
|
|
114
114
|
"peerDependencies": {
|
|
@@ -188,6 +188,12 @@ UPI ID from any bank; do not add a seller bank-login, extension, identity
|
|
|
188
188
|
attestation, or pre-registration step. Buyers pay and verify through Amazon Pay using standard UPI; UPI Lite and
|
|
189
189
|
merchant payments are unsupported.
|
|
190
190
|
|
|
191
|
+
X Money accepts `receive: { platform: 'xmoney', currency: 'USD', payee: '@YourHandle' }`.
|
|
192
|
+
Raw handles normalize to the bare lowercase username. Structured payee data must
|
|
193
|
+
already use `offchainId: 'yourhandle'`. Confirm that the receiving account has
|
|
194
|
+
X Money enabled: registration does not verify account existence or enrollment.
|
|
195
|
+
No identity attestation or Peer Pay merchant policy is required.
|
|
196
|
+
|
|
191
197
|
## 4. Order management - indexer-native
|
|
192
198
|
|
|
193
199
|
- A cash order IS a deposit; the chain is the database. No storage layer.
|