@rozoai/checkout 0.1.19 → 0.1.21
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 +37 -9
- package/docs/QUICKSTART.es.md +14 -6
- package/docs/QUICKSTART.ja.md +8 -3
- package/docs/QUICKSTART.md +13 -5
- package/docs/QUICKSTART.zh.md +6 -4
- package/docs/README.es.md +19 -4
- package/docs/README.ja.md +18 -4
- package/docs/README.zh.md +18 -4
- package/llms.txt +126 -13
- package/package.json +7 -2
- package/scripts/dist/cli.js +1312 -563
- package/scripts/dist/create-order.js +209 -22
- package/scripts/dist/quote.js +107 -5
- package/scripts/dist/receipt.js +84 -13
- package/scripts/dist/resume.js +103 -18
- package/scripts/dist/send-evm.js +31852 -211
- package/scripts/dist/send-sol.js +468 -248
- package/scripts/dist/status.js +87 -13
package/README.md
CHANGED
|
@@ -9,7 +9,8 @@ Base. This skill pays them from whatever you hold instead, and it does three
|
|
|
9
9
|
things the official path cannot:
|
|
10
10
|
|
|
11
11
|
- **Pay from the chain you are already on.** USDT or USDC on Solana, BNB Chain,
|
|
12
|
-
Ethereum or
|
|
12
|
+
Ethereum, Polygon or Arbitrum, USDC on Base or Stellar, BTC over Lightning, or
|
|
13
|
+
a native coin: ETH on Ethereum, Base or Arbitrum, BNB, SOL or POL. Coinbase's
|
|
13
14
|
own direct pay takes USDC on Base.
|
|
14
15
|
- **No Coinbase account.** Pay the deposit address from any wallet or straight
|
|
15
16
|
from an exchange withdrawal. No sign-up, no API key, no browser.
|
|
@@ -61,12 +62,34 @@ npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
|
61
62
|
| Ethereum | `usdt-ethereum` `usdc-ethereum` | `1` | 6 decimals |
|
|
62
63
|
| BNB Chain | `usdt-bnb` `usdc-bnb` | `56` | 18 decimals |
|
|
63
64
|
| Polygon | `usdt-polygon` `usdc-polygon` | `137` | 6 decimals |
|
|
65
|
+
| Arbitrum | `usdt-arbitrum` `usdc-arbitrum` | `42161` | 6 decimals |
|
|
64
66
|
| Base | `usdc-base` | `8453` | 6 decimals |
|
|
65
|
-
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL
|
|
67
|
+
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL |
|
|
66
68
|
| Stellar | `usdc-stellar` | `1500` | `MEMO_TEXT` memo required — shown in the deposit block |
|
|
67
69
|
| Bitcoin Lightning | `btc-lightning` | `lightning` | BOLT11; amounts in satoshis. Any wallet that can pay an invoice works, including Cashu/ecash wallets — the mint melts your ecash into the Lightning payment. |
|
|
68
70
|
|
|
69
|
-
Native
|
|
71
|
+
**Native coins**, each on its own chain:
|
|
72
|
+
|
|
73
|
+
| Coin | `--with` | Chain id | Notes |
|
|
74
|
+
|---|---|---|---|
|
|
75
|
+
| ETH on Ethereum | `eth-ethereum` | `1` | 18 decimals (wei); $1 minimum |
|
|
76
|
+
| ETH on Base | `eth-base` | `8453` | 18 decimals (wei) |
|
|
77
|
+
| ETH on Arbitrum | `eth-arbitrum` | `42161` | 18 decimals (wei) |
|
|
78
|
+
| BNB | `bnb-bnb` or `bnb` | `56` | 18 decimals |
|
|
79
|
+
| SOL | `sol-solana` or `sol` | `900` | 9 decimals (lamports) |
|
|
80
|
+
| POL | `pol-polygon` or `pol` | `137` | 18 decimals |
|
|
81
|
+
|
|
82
|
+
A native coin is offered only when the invoice's quote lists it (`quote` shows
|
|
83
|
+
which), and only for invoices up to $2,000. The order is **exact-out**, like
|
|
84
|
+
Lightning: send exactly the coin amount in the deposit block. Its price is
|
|
85
|
+
locked only until the time shown (about an hour); after that, do not send it,
|
|
86
|
+
let the order expire and start a new one. The coin amount includes an FX spread
|
|
87
|
+
on top of the service fee, and your wallet needs a little more of the same coin
|
|
88
|
+
for the network fee. If you pay from an exchange, the amount that arrives must
|
|
89
|
+
be the full amount: check that the withdrawal fee is not taken out of it.
|
|
90
|
+
`--send` pays native coins too, as a plain transfer of the exact amount.
|
|
91
|
+
|
|
92
|
+
On-chain BTC and Tron are not supported.
|
|
70
93
|
|
|
71
94
|
## Which wallet do I need?
|
|
72
95
|
|
|
@@ -88,8 +111,8 @@ already hold and pay from wherever it already lives.
|
|
|
88
111
|
route settles against ROZO's own Lightning node rather than a third-party
|
|
89
112
|
swap, so no special handling is needed on our side.
|
|
90
113
|
- **Only `--send` needs a private key**, read from `ROZO_CHECKOUT_EVM_KEY` or
|
|
91
|
-
`ROZO_CHECKOUT_SOL_KEY`, and it covers EVM chains and Solana only
|
|
92
|
-
else is keyless.
|
|
114
|
+
`ROZO_CHECKOUT_SOL_KEY`, and it covers EVM chains and Solana only (their
|
|
115
|
+
native coins included). Everything else is keyless.
|
|
93
116
|
|
|
94
117
|
## Use it from your agent
|
|
95
118
|
|
|
@@ -168,7 +191,8 @@ ROZO_CHECKOUT_EVM_KEYSTORE=/replace/me/keystores/my-hot-wallet
|
|
|
168
191
|
# are prompted instead, and nothing is stored.
|
|
169
192
|
ROZO_CHECKOUT_KEYSTORE_PASSPHRASE=REPLACE_ME_not_a_real_passphrase
|
|
170
193
|
|
|
171
|
-
# Optional RPC overrides, one per chain id. 8453 = Base,
|
|
194
|
+
# Optional RPC overrides, one per chain id. 8453 = Base, 42161 = Arbitrum,
|
|
195
|
+
# 900 = Solana.
|
|
172
196
|
ROZO_CHECKOUT_RPC_8453=https://mainnet.base.org
|
|
173
197
|
ROZO_CHECKOUT_RPC_900=https://api.mainnet-beta.solana.com
|
|
174
198
|
```
|
|
@@ -437,10 +461,12 @@ done < links.txt
|
|
|
437
461
|
Lightning: `deposit.lnInvoice` (the BOLT11) for `deposit.amount` sats. Other
|
|
438
462
|
coins: `deposit.receiverAddress` and `deposit.amount`, plus
|
|
439
463
|
`deposit.receiverMemo` on Stellar. `--send` cannot pay Lightning or Stellar.
|
|
464
|
+
A native coin order has `deposit.native: true` and `deposit.exactOut: true`.
|
|
440
465
|
- The deadline to watch is `order.expiry.effectiveDeadlineIso`, not
|
|
441
466
|
`deposit.expiresAt`: it is the earlier of our order expiry and the Coinbase
|
|
442
|
-
link expiry
|
|
443
|
-
|
|
467
|
+
link expiry, and for a native coin also its price lock
|
|
468
|
+
(`deposit.quoteExpiresAt`). Stop paying at least `order.expiry.marginMinutes`
|
|
469
|
+
before it, since settlement needs that much time.
|
|
444
470
|
- If time has passed since you created the order, do not pay saved deposit
|
|
445
471
|
details blindly. Re-run the same `pay` command (same `--with`): while the
|
|
446
472
|
order is still payable it re-checks the link and the deadline and hands back
|
|
@@ -485,7 +511,9 @@ layers. Delivery is always `unknown`: Rozo cannot see your OpenRouter credits.
|
|
|
485
511
|
|
|
486
512
|
With `--send`, the wallet must also hold the chain's fee coin (ETH, BNB, POL or
|
|
487
513
|
SOL). If it does not, the CLI stops with `INSUFFICIENT_GAS` before signing and
|
|
488
|
-
tells you how much is missing; the order is left untouched.
|
|
514
|
+
tells you how much is missing; the order is left untouched. Paying with a native
|
|
515
|
+
coin spends that same coin, so the wallet needs the order amount plus the fee.
|
|
516
|
+
A native order is never sent after its price lock (`QUOTE_EXPIRED`).
|
|
489
517
|
|
|
490
518
|
**Retrying without paying twice.** Running `pay` again on the same link does
|
|
491
519
|
not create a second order while its order is open: you get the same order
|
package/docs/QUICKSTART.es.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[English](QUICKSTART.md) | [简体中文](QUICKSTART.zh.md) | [日本語](QUICKSTART.ja.md) | **Español**
|
|
4
4
|
|
|
5
5
|
Pagar un enlace de pago de Coinbase (Coinbase Payment Link) de OpenRouter con
|
|
6
|
-
USDT/USDC en Solana, BNB Chain, Ethereum, Polygon, Base o Stellar,
|
|
7
|
-
Lightning. Cinco minutos. Para saber cómo funciona y por qué, ver
|
|
6
|
+
USDT/USDC en Solana, BNB Chain, Ethereum, Polygon, Arbitrum, Base o Stellar, con BTC por
|
|
7
|
+
Lightning, o con una moneda nativa (ETH en Ethereum, Base o Arbitrum, BNB, SOL, POL). Cinco minutos. Para saber cómo funciona y por qué, ver
|
|
8
8
|
[README.md](../README.md).
|
|
9
9
|
|
|
10
10
|
## El comando de una sola línea
|
|
@@ -26,9 +26,17 @@ npx @rozoai/checkout pay https://payments.coinbase.com/payment-links/pl_01YOURLI
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Monedas para `--with`: `usdt-solana`, `usdc-solana`, `usdt-bnb`, `usdc-bnb`, `usdt-ethereum`,
|
|
29
|
-
`usdc-ethereum`, `usdt-polygon`, `usdc-polygon`, `
|
|
30
|
-
`btc-lightning
|
|
31
|
-
|
|
29
|
+
`usdc-ethereum`, `usdt-polygon`, `usdc-polygon`, `usdt-arbitrum`, `usdc-arbitrum`,
|
|
30
|
+
`usdc-base`, `usdc-stellar`, `btc-lightning`, y las monedas nativas `eth-ethereum`,
|
|
31
|
+
`eth-base`, `eth-arbitrum`, `bnb-bnb`, `sol-solana`, `pol-polygon`. Los scripts y
|
|
32
|
+
los agentes deben pasar siempre `--with`: el selector solo aparece en una
|
|
33
|
+
terminal y no hay moneda por defecto.
|
|
34
|
+
|
|
35
|
+
Una moneda nativa solo se ofrece cuando la cotización de la factura la incluye,
|
|
36
|
+
para facturas de hasta $2,000 (ETH nativo en Ethereum: mínimo $1). Es exact-out:
|
|
37
|
+
envía exactamente la cantidad indicada antes de que termine el precio fijado
|
|
38
|
+
(alrededor de una hora), y guarda un poco de la misma moneda para el gas. El BTC
|
|
39
|
+
on-chain y Tron no están soportados.
|
|
32
40
|
|
|
33
41
|
Por defecto solo imprime una dirección para pagar desde cualquier billetera: sin
|
|
34
42
|
clave privada y sin configuración. Añadir `--send` únicamente si se quiere que la
|
|
@@ -55,7 +63,7 @@ LINK="https://payments.coinbase.com/payment-links/pl_01YOURLINKID"
|
|
|
55
63
|
```
|
|
56
64
|
|
|
57
65
|
Ids de cadena: `1` Ethereum · `56` BNB Chain · `137` Polygon · `8453` Base ·
|
|
58
|
-
`900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning.
|
|
66
|
+
`42161` Arbitrum · `900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning.
|
|
59
67
|
|
|
60
68
|
## ¿Qué wallet necesito?
|
|
61
69
|
|
package/docs/QUICKSTART.ja.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[English](QUICKSTART.md) | [简体中文](QUICKSTART.zh.md) | **日本語** | [Español](QUICKSTART.es.md)
|
|
4
4
|
|
|
5
5
|
OpenRouter の Coinbase 決済リンク (Payment Link) を、Solana、BNB Chain、
|
|
6
|
-
Ethereum、Polygon、Base、Stellar 上の USDT/USDC
|
|
6
|
+
Ethereum、Polygon、Arbitrum、Base、Stellar 上の USDT/USDC、Lightning 経由の BTC、またはネイティブコイン(Ethereum・Base・Arbitrum の ETH、BNB、SOL、POL)で支払います。所要 5 分。
|
|
7
7
|
仕組みと設計意図については [README.md](../README.md) を参照してください。
|
|
8
8
|
|
|
9
9
|
## ワンライナー
|
|
@@ -25,10 +25,15 @@ npx @rozoai/checkout pay https://payments.coinbase.com/payment-links/pl_01YOURLI
|
|
|
25
25
|
|
|
26
26
|
`--with` に指定できる通貨: `usdt-solana`、
|
|
27
27
|
`usdc-solana`、`usdt-bnb`、`usdc-bnb`、`usdt-ethereum`、`usdc-ethereum`、
|
|
28
|
-
`usdt-polygon`、`usdc-polygon`、`usdc-base`、`usdc-stellar`、`btc-lightning
|
|
28
|
+
`usdt-polygon`、`usdc-polygon`、`usdt-arbitrum`、`usdc-arbitrum`、`usdc-base`、`usdc-stellar`、`btc-lightning`、
|
|
29
|
+
ネイティブコインの `eth-ethereum`、`eth-base`、`eth-arbitrum`、`bnb-bnb`、`sol-solana`、`pol-polygon`。
|
|
29
30
|
スクリプトやエージェントでは必ず `--with` を渡してください。対話式の選択は端末でのみ
|
|
30
31
|
表示され、既定の通貨はありません。
|
|
31
32
|
|
|
33
|
+
ネイティブコインは、インボイスの見積もりに含まれている場合のみ使えます(上限 $2,000、Ethereum の ETH は最低 $1)。
|
|
34
|
+
受取額固定(exact-out)なので、表示された数量を価格固定の期限(約 1 時間)までに正確に送り、ガス代として同じコインを少し残してください。
|
|
35
|
+
オンチェーンの BTC と Tron には対応していません。
|
|
36
|
+
|
|
32
37
|
既定では、任意のウォレットから支払うためのアドレスを表示するだけです — 鍵も設定も
|
|
33
38
|
不要です。CLI にホットウォレットから署名させたい場合にだけ `--send` を、機械可読な
|
|
34
39
|
出力が必要な場合は `--json` を追加してください。
|
|
@@ -52,7 +57,7 @@ LINK="https://payments.coinbase.com/payment-links/pl_01YOURLINKID"
|
|
|
52
57
|
```
|
|
53
58
|
|
|
54
59
|
チェーン id: `1` Ethereum · `56` BNB Chain · `137` Polygon · `8453` Base ·
|
|
55
|
-
`900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning。
|
|
60
|
+
`42161` Arbitrum · `900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning。
|
|
56
61
|
|
|
57
62
|
## どのウォレットが必要ですか?
|
|
58
63
|
|
package/docs/QUICKSTART.md
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
**English** | [简体中文](QUICKSTART.zh.md) | [日本語](QUICKSTART.ja.md) | [Español](QUICKSTART.es.md)
|
|
4
4
|
|
|
5
5
|
Pay an OpenRouter Coinbase Payment Link with USDT/USDC on Solana, BNB Chain,
|
|
6
|
-
Ethereum, Polygon, Base or Stellar,
|
|
6
|
+
Ethereum, Polygon, Arbitrum, Base or Stellar, with BTC over Lightning, or with a
|
|
7
|
+
native coin (ETH on Ethereum, Base or Arbitrum, BNB, SOL, POL). Five minutes.
|
|
7
8
|
For how it works and why, see [README.md](../README.md).
|
|
8
9
|
|
|
9
10
|
## The one-liner
|
|
@@ -25,9 +26,16 @@ npx @rozoai/checkout pay https://payments.coinbase.com/payment-links/pl_01YOURLI
|
|
|
25
26
|
```
|
|
26
27
|
|
|
27
28
|
Coins for `--with`: `usdt-solana`, `usdc-solana`, `usdt-bnb`, `usdc-bnb`,
|
|
28
|
-
`usdt-ethereum`, `usdc-ethereum`, `usdt-polygon`, `usdc-polygon`,
|
|
29
|
-
`usdc-stellar`, `btc-lightning
|
|
30
|
-
|
|
29
|
+
`usdt-ethereum`, `usdc-ethereum`, `usdt-polygon`, `usdc-polygon`,
|
|
30
|
+
`usdt-arbitrum`, `usdc-arbitrum`, `usdc-base`, `usdc-stellar`, `btc-lightning`,
|
|
31
|
+
and the native coins `eth-ethereum`, `eth-base`, `eth-arbitrum`, `bnb-bnb`,
|
|
32
|
+
`sol-solana`, `pol-polygon`. Scripts and agents must pass `--with`: the picker
|
|
33
|
+
only appears on a terminal, and there is no default coin.
|
|
34
|
+
|
|
35
|
+
A native coin is offered only when the invoice's quote lists it, for invoices up
|
|
36
|
+
to $2,000 (native ETH on Ethereum: $1 minimum). It is exact-out: send exactly
|
|
37
|
+
the coin amount shown, before its price lock ends (about an hour), and keep a
|
|
38
|
+
little of the same coin for gas. On-chain BTC and Tron are not supported.
|
|
31
39
|
|
|
32
40
|
By default it just prints an address for you to pay from any wallet — no key
|
|
33
41
|
and no configuration needed. Add `--send` only if you want the CLI to sign
|
|
@@ -52,7 +60,7 @@ LINK="https://payments.coinbase.com/payment-links/pl_01YOURLINKID"
|
|
|
52
60
|
```
|
|
53
61
|
|
|
54
62
|
Chain ids: `1` Ethereum · `56` BNB Chain · `137` Polygon · `8453` Base ·
|
|
55
|
-
`900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning.
|
|
63
|
+
`42161` Arbitrum · `900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning.
|
|
56
64
|
|
|
57
65
|
## Which wallet do I need?
|
|
58
66
|
|
package/docs/QUICKSTART.zh.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[English](QUICKSTART.md) | **简体中文** | [日本語](QUICKSTART.ja.md) | [Español](QUICKSTART.es.md)
|
|
4
4
|
|
|
5
|
-
用 Solana、BNB Chain、Ethereum、Polygon、Base 或 Stellar 上的 USDT/USDC
|
|
6
|
-
Lightning 的 BTC
|
|
5
|
+
用 Solana、BNB Chain、Ethereum、Polygon、Arbitrum、Base 或 Stellar 上的 USDT/USDC,用走
|
|
6
|
+
Lightning 的 BTC,或者用原生币(Ethereum、Base、Arbitrum 上的 ETH,BNB、SOL、POL),去支付一个 OpenRouter Coinbase 收款链接 (Payment Link)。五分钟搞定。
|
|
7
7
|
工作原理与设计理由见 [README.md](../README.md)。
|
|
8
8
|
|
|
9
9
|
## 一行命令搞定
|
|
@@ -20,7 +20,9 @@ npx @rozoai/checkout pay https://payments.coinbase.com/payment-links/pl_01YOURLI
|
|
|
20
20
|
npx @rozoai/checkout pay https://payments.coinbase.com/payment-links/pl_01YOURLINKID --with usdt-solana
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
`--with` 可选的币种有:`usdt-solana`、`usdc-solana`、`usdt-bnb`、`usdc-bnb`、`usdt-ethereum`、`usdc-ethereum`、`usdt-polygon`、`usdc-polygon`、`usdc-base`、`usdc-stellar`、`btc-lightning`。脚本和 agent 必须显式传 `--with`:交互式选择只在终端里出现,而且没有默认币种。
|
|
23
|
+
`--with` 可选的币种有:`usdt-solana`、`usdc-solana`、`usdt-bnb`、`usdc-bnb`、`usdt-ethereum`、`usdc-ethereum`、`usdt-polygon`、`usdc-polygon`、`usdt-arbitrum`、`usdc-arbitrum`、`usdc-base`、`usdc-stellar`、`btc-lightning`,以及原生币 `eth-ethereum`、`eth-base`、`eth-arbitrum`、`bnb-bnb`、`sol-solana`、`pol-polygon`。脚本和 agent 必须显式传 `--with`:交互式选择只在终端里出现,而且没有默认币种。
|
|
24
|
+
|
|
25
|
+
原生币只有在这张账单的报价列出时才能用,账单上限 $2,000(Ethereum 上的 ETH 最低 $1)。原生币是精确到账(exact-out):在币价锁定结束前(约 1 小时)按显示的币数精确发送,并留一点同一种币付 gas。链上 BTC 和 Tron 不支持。
|
|
24
26
|
|
|
25
27
|
默认情况下它只是打印一个地址,让你用任意钱包去付 —— 不需要私钥,也不需要任何配置。只有当你想让 CLI 改从热钱包签名时才加 `--send`;加 `--json` 输出机器可读格式。
|
|
26
28
|
|
|
@@ -42,7 +44,7 @@ LINK="https://payments.coinbase.com/payment-links/pl_01YOURLINKID"
|
|
|
42
44
|
```
|
|
43
45
|
|
|
44
46
|
链 id:`1` Ethereum · `56` BNB Chain · `137` Polygon · `8453` Base ·
|
|
45
|
-
`900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning。
|
|
47
|
+
`42161` Arbitrum · `900` Solana · `1500` Stellar · `lightning` Bitcoin Lightning。
|
|
46
48
|
|
|
47
49
|
## 我需要什么钱包?
|
|
48
50
|
|
package/docs/README.es.md
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
[English](../README.md) | [简体中文](README.zh.md) | [日本語](README.ja.md) | **Español**
|
|
4
4
|
|
|
5
5
|
Pagar un **enlace de pago de Coinbase (Payment Link) de OpenRouter** con una
|
|
6
|
-
moneda que ese enlace no puede aceptar directamente: BTC por Lightning,
|
|
7
|
-
USDT/USDC en Solana, BNB Chain, Ethereum, Polygon, Base o Stellar
|
|
6
|
+
moneda que ese enlace no puede aceptar directamente: BTC por Lightning,
|
|
7
|
+
USDT/USDC en Solana, BNB Chain, Ethereum, Polygon, Arbitrum, Base o Stellar, o
|
|
8
|
+
una moneda nativa: ETH en Ethereum, Base o Arbitrum, BNB, SOL o POL. Un enlace de
|
|
8
9
|
pago de Coinbase solo acepta USDC en Base; esto enruta la moneda que realmente
|
|
9
10
|
se posee a través de un puente, y una billetera fondeadora liquida la factura en
|
|
10
11
|
nombre del usuario. Sin cuenta, sin clave de API, sin navegador.
|
|
@@ -32,12 +33,26 @@ npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
|
32
33
|
| Ethereum | `usdt-ethereum` `usdc-ethereum` | `1` | 6 decimales |
|
|
33
34
|
| BNB Chain | `usdt-bnb` `usdc-bnb` | `56` | 18 decimales |
|
|
34
35
|
| Polygon | `usdt-polygon` `usdc-polygon` | `137` | 6 decimales |
|
|
36
|
+
| Arbitrum | `usdt-arbitrum` `usdc-arbitrum` | `42161` | 6 decimales |
|
|
35
37
|
| Base | `usdc-base` | `8453` | 6 decimales |
|
|
36
|
-
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL
|
|
38
|
+
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL |
|
|
37
39
|
| Stellar | `usdc-stellar` | `1500` | memo `MEMO_TEXT` obligatorio — se muestra en el bloque de depósito |
|
|
38
40
|
| Bitcoin Lightning | `btc-lightning` | `lightning` | BOLT11; importes en satoshis |
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
**Monedas nativas**, cada una en su propia cadena:
|
|
43
|
+
|
|
44
|
+
| Moneda | `--with` | Id de cadena | Notas |
|
|
45
|
+
|---|---|---|---|
|
|
46
|
+
| ETH en Ethereum | `eth-ethereum` | `1` | 18 decimales (wei); mínimo $1 |
|
|
47
|
+
| ETH en Base | `eth-base` | `8453` | 18 decimales (wei) |
|
|
48
|
+
| ETH en Arbitrum | `eth-arbitrum` | `42161` | 18 decimales (wei) |
|
|
49
|
+
| BNB | `bnb-bnb` o `bnb` | `56` | 18 decimales |
|
|
50
|
+
| SOL | `sol-solana` o `sol` | `900` | 9 decimales (lamports) |
|
|
51
|
+
| POL | `pol-polygon` o `pol` | `137` | 18 decimales |
|
|
52
|
+
|
|
53
|
+
Una moneda nativa solo se ofrece cuando la cotización de la factura la incluye (`quote` lo muestra), y solo para facturas de hasta $2,000. La orden es **exact-out**, como Lightning: envía exactamente la cantidad de moneda del bloque de depósito. Su precio queda fijado solo hasta la hora indicada (alrededor de una hora); pasada esa hora, no la envíes: deja que la orden expire y crea una nueva. La cantidad incluye un diferencial cambiario además de la comisión de servicio, y la billetera necesita un poco más de la misma moneda para la comisión de red. Si pagas desde un exchange, debe llegar la cantidad completa: comprueba que la comisión de retiro no se descuente de ella. `--send` también paga monedas nativas, como una transferencia normal de la cantidad exacta.
|
|
54
|
+
|
|
55
|
+
El BTC on-chain y Tron no están soportados.
|
|
41
56
|
|
|
42
57
|
## ¿Qué wallet necesito?
|
|
43
58
|
|
package/docs/README.ja.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[English](../README.md) | [简体中文](README.zh.md) | **日本語** | [Español](README.es.md)
|
|
4
4
|
|
|
5
5
|
**OpenRouter の Coinbase 決済リンク (Payment Link)** を、そのリンクが直接受け取れない
|
|
6
|
-
|
|
7
|
-
Polygon、Base、Stellar 上の USDT/USDC
|
|
6
|
+
通貨で支払います:Lightning 経由の BTC、Solana、BNB Chain、Ethereum、
|
|
7
|
+
Polygon、Arbitrum、Base、Stellar 上の USDT/USDC、またはネイティブコイン(Ethereum・Base・Arbitrum の ETH、BNB、SOL、POL)です。Coinbase の決済リンクは Base 上の USDC しか
|
|
8
8
|
受け付けません。本ツールは、あなたが実際に保有している通貨をブリッジ経由で中継し、
|
|
9
9
|
資金提供ウォレット (funder wallet) があなたに代わってインボイスを決済します。
|
|
10
10
|
アカウントも API キーもブラウザーも不要です。
|
|
@@ -31,12 +31,26 @@ npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
|
31
31
|
| Ethereum | `usdt-ethereum` `usdc-ethereum` | `1` | 小数点以下 6 桁 |
|
|
32
32
|
| BNB Chain | `usdt-bnb` `usdc-bnb` | `56` | 小数点以下 18 桁 |
|
|
33
33
|
| Polygon | `usdt-polygon` `usdc-polygon` | `137` | 小数点以下 6 桁 |
|
|
34
|
+
| Arbitrum | `usdt-arbitrum` `usdc-arbitrum` | `42161` | 小数点以下 6 桁 |
|
|
34
35
|
| Base | `usdc-base` | `8453` | 小数点以下 6 桁 |
|
|
35
|
-
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL
|
|
36
|
+
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL |
|
|
36
37
|
| Stellar | `usdc-stellar` | `1500` | `MEMO_TEXT` のメモが必須 — 入金ブロックに表示されます |
|
|
37
38
|
| Bitcoin Lightning | `btc-lightning` | `lightning` | BOLT11。金額は satoshi 単位 |
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
**ネイティブコイン**(それぞれ自分のチェーン上のみ):
|
|
41
|
+
|
|
42
|
+
| コイン | `--with` | チェーン id | 備考 |
|
|
43
|
+
|---|---|---|---|
|
|
44
|
+
| Ethereum の ETH | `eth-ethereum` | `1` | 小数点以下 18 桁(wei)。最低 $1 |
|
|
45
|
+
| Base の ETH | `eth-base` | `8453` | 小数点以下 18 桁(wei) |
|
|
46
|
+
| Arbitrum の ETH | `eth-arbitrum` | `42161` | 小数点以下 18 桁(wei) |
|
|
47
|
+
| BNB | `bnb-bnb` または `bnb` | `56` | 小数点以下 18 桁 |
|
|
48
|
+
| SOL | `sol-solana` または `sol` | `900` | 小数点以下 9 桁(lamports) |
|
|
49
|
+
| POL | `pol-polygon` または `pol` | `137` | 小数点以下 18 桁 |
|
|
50
|
+
|
|
51
|
+
ネイティブコインは、そのインボイスの見積もりに含まれている場合にのみ使えます(`quote` で確認できます)。上限は 1 件 $2,000 です。注文は Lightning と同じく**exact-out(受取額固定)**で、入金ブロックのコイン数量をそのまま正確に送ってください。価格は表示された時刻(約 1 時間)までしか固定されません。それを過ぎたら送らず、注文の期限切れを待って新しく作り直してください。コイン数量にはサービス手数料に加えて為替スプレッドが含まれます。ウォレットにはネットワーク手数料用に同じコインが少し余分に必要です。取引所から出金する場合は、着金額が全額になるよう、出金手数料が差し引かれないことを確認してください。`--send` もネイティブコインに対応しており、正確な数量の通常送金として送ります。
|
|
52
|
+
|
|
53
|
+
オンチェーンの BTC と Tron には対応していません。
|
|
40
54
|
|
|
41
55
|
## どのウォレットが必要ですか?
|
|
42
56
|
|
package/docs/README.zh.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
[English](../README.md) | **简体中文** | [日本語](README.ja.md) | [Español](README.es.md)
|
|
4
4
|
|
|
5
5
|
用一种 **OpenRouter Coinbase 收款链接 (Payment Link)** 本身收不了的币去付款 —— 走
|
|
6
|
-
闪电网络的 BTC
|
|
7
|
-
USDT/USDC。Coinbase 收款链接只接受 Base 上的 USDC;本工具把你实际持有的币通过
|
|
6
|
+
闪电网络的 BTC,Solana、BNB Chain、Ethereum、Polygon、Arbitrum、Base、Stellar 上的
|
|
7
|
+
USDT/USDC,或者原生币:Ethereum、Base、Arbitrum 上的 ETH,以及 BNB、SOL、POL。Coinbase 收款链接只接受 Base 上的 USDC;本工具把你实际持有的币通过
|
|
8
8
|
一座桥路由过去,再由一个出资钱包代你结清账单。无需账号、无需 API key、无需浏览器。
|
|
9
9
|
|
|
10
10
|
```bash
|
|
@@ -28,12 +28,26 @@ npx @rozoai/checkout pay <coinbase-link> --with usdt-solana
|
|
|
28
28
|
| Ethereum | `usdt-ethereum` `usdc-ethereum` | `1` | 6 位小数 |
|
|
29
29
|
| BNB Chain | `usdt-bnb` `usdc-bnb` | `56` | 18 位小数 |
|
|
30
30
|
| Polygon | `usdt-polygon` `usdc-polygon` | `137` | 6 位小数 |
|
|
31
|
+
| Arbitrum | `usdt-arbitrum` `usdc-arbitrum` | `42161` | 6 位小数 |
|
|
31
32
|
| Base | `usdc-base` | `8453` | 6 位小数 |
|
|
32
|
-
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL
|
|
33
|
+
| Solana | `usdt-solana` `usdc-solana` | `900` | SPL |
|
|
33
34
|
| Stellar | `usdc-stellar` | `1500` | 必须带 `MEMO_TEXT` memo —— 会在充值信息块里给出 |
|
|
34
35
|
| Bitcoin Lightning | `btc-lightning` | `lightning` | BOLT11;金额单位为聪 |
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
**原生币**,各自只在自己的链上:
|
|
38
|
+
|
|
39
|
+
| 币 | `--with` | 链 id | 备注 |
|
|
40
|
+
|---|---|---|---|
|
|
41
|
+
| Ethereum 上的 ETH | `eth-ethereum` | `1` | 18 位小数(wei);最低 $1 |
|
|
42
|
+
| Base 上的 ETH | `eth-base` | `8453` | 18 位小数(wei) |
|
|
43
|
+
| Arbitrum 上的 ETH | `eth-arbitrum` | `42161` | 18 位小数(wei) |
|
|
44
|
+
| BNB | `bnb-bnb` 或 `bnb` | `56` | 18 位小数 |
|
|
45
|
+
| SOL | `sol-solana` 或 `sol` | `900` | 9 位小数(lamports) |
|
|
46
|
+
| POL | `pol-polygon` 或 `pol` | `137` | 18 位小数 |
|
|
47
|
+
|
|
48
|
+
只有当这张账单的报价列出某个原生币时才能用它(`quote` 会显示),且账单不超过 $2,000。原生币订单是**精确到账(exact-out)**,和闪电网络一样:按充值信息块里的币数一分不差地发送。币价只锁定到显示的时间(约 1 小时);过了这个时间就不要再发,让订单过期后重新下单。币数里在服务费之外还含汇率价差,钱包里还需要多留一点同一种币付网络费。从交易所提币时,到账金额必须是完整金额:确认提币手续费没有从中扣除。`--send` 也能付原生币,按精确金额做一笔普通转账。
|
|
49
|
+
|
|
50
|
+
链上 BTC 和 Tron 不支持。
|
|
37
51
|
|
|
38
52
|
## 我需要什么钱包?
|
|
39
53
|
|
package/llms.txt
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
> When your agent needs to pay OpenRouter (or any Coinbase invoice) with the crypto you
|
|
4
4
|
> already hold. Pays a Coinbase Payment Link (payments.coinbase.com/payment-links/pl_* or
|
|
5
5
|
> /payment-sessions/paymentSession_*) with BTC over Lightning, USDT/USDC on Solana,
|
|
6
|
-
> BNB Chain, Ethereum or
|
|
6
|
+
> BNB Chain, Ethereum, Polygon or Arbitrum, USDC on Base or Stellar, or a native coin
|
|
7
|
+
> (ETH on Ethereum, Base or Arbitrum, BNB, SOL, POL). No Coinbase account, public HTTP
|
|
7
8
|
> endpoints, no API key. Crypto payments to OpenRouter are never refundable.
|
|
8
9
|
> The payer funds a one-time deposit address; a bridge and a funder wallet settle the
|
|
9
10
|
> Coinbase link automatically. No discount: you pay the invoice amount, plus the
|
|
@@ -22,8 +23,10 @@ calls with every safety rule already enforced:
|
|
|
22
23
|
npx @rozoai/checkout status <rozoPaymentId | coinbase-link>
|
|
23
24
|
|
|
24
25
|
--with accepts usdt-solana, usdc-solana, usdt-bnb, usdc-bnb, usdt-ethereum,
|
|
25
|
-
usdc-ethereum, usdt-polygon, usdc-polygon,
|
|
26
|
-
|
|
26
|
+
usdc-ethereum, usdt-polygon, usdc-polygon, usdt-arbitrum, usdc-arbitrum, usdc-base,
|
|
27
|
+
usdc-stellar, btc-lightning, and the native coins eth-ethereum, eth-base,
|
|
28
|
+
eth-arbitrum, bnb-bnb (or bnb), sol-solana (or sol), pol-polygon (or pol)
|
|
29
|
+
(or raw: --chain 900 --token USDT, --chain 8453 --token ETH).
|
|
27
30
|
|
|
28
31
|
Optional: --email <addr> stores a contact email with the order so ROZO can reach
|
|
29
32
|
the user if the payment needs attention. Ask the user once if they are present;
|
|
@@ -95,11 +98,23 @@ copy-pastable block. Creating an order moves no money; an unfunded order expires
|
|
|
95
98
|
|
|
96
99
|
## Supported sources
|
|
97
100
|
|
|
98
|
-
chainId "1" Ethereum (USDC, USDT) · "56" BNB Chain (USDC, USDT;
|
|
99
|
-
"137" Polygon (USDC, USDT
|
|
100
|
-
"
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
chainId "1" Ethereum (USDC, USDT, native ETH) · "56" BNB Chain (USDC, USDT;
|
|
102
|
+
18-decimals; native BNB) · "137" Polygon (USDC, USDT, native POL) · "42161" Arbitrum
|
|
103
|
+
(USDC, USDT, native ETH) · "8453" Base (USDC, native ETH) · "900" Solana (USDC, USDT,
|
|
104
|
+
native SOL) · "1500" Stellar (USDC; deposit memo REQUIRED) · "lightning" (BTC;
|
|
105
|
+
BOLT11 invoice, amounts in integer satoshis via source.amountUnit=="sats").
|
|
106
|
+
USDT is not accepted on Base or Stellar. On-chain BTC and Tron are NOT supported.
|
|
107
|
+
Native coins (tokenSymbol "ETH", "BNB", "SOL" or "POL" on the chains above; ETH, BNB
|
|
108
|
+
and POL have 18 decimals, SOL 9): offer one only when quote-invoice lists it in
|
|
109
|
+
supportedSources for that invoice ({"<chainId>": ["USDC", "ETH", ...]}). A native
|
|
110
|
+
order is exact-out like Lightning: source.amount is the exact coin amount to send,
|
|
111
|
+
and the price is locked only until quoteExpiresAt (returned by create-invoice and by
|
|
112
|
+
the payments GET; the order's own expiresAt is later). Never send after
|
|
113
|
+
quoteExpiresAt. The coin amount includes an FX spread on top of the service fee, and
|
|
114
|
+
the payer also needs some of the same coin for gas. Native orders are limited to
|
|
115
|
+
$2,000 per invoice (native ETH on Ethereum: $1 minimum; quote-invoice may report
|
|
116
|
+
per-coin minimums in nativeMinUsd). The CLI enforces all of this, and --send pays a
|
|
117
|
+
native coin as a plain transfer of the exact amount.
|
|
103
118
|
|
|
104
119
|
WALLET: one wallet on one of these chains is enough — not one per chain. Any
|
|
105
120
|
wallet, or an exchange withdrawal, can fund the deposit address; nothing
|
|
@@ -158,9 +173,12 @@ balance once with the coin you hold, then pay many small x402 calls from it.
|
|
|
158
173
|
npx @rozoai/checkout x402 balance
|
|
159
174
|
|
|
160
175
|
Payment leg (what the seller receives): USDC on Base (eip155:8453) only,
|
|
161
|
-
scheme "exact". Solana payment leg is coming later. Topup leg:
|
|
162
|
-
|
|
163
|
-
|
|
176
|
+
scheme "exact". Solana payment leg is coming later. Topup leg: USDT on Solana,
|
|
177
|
+
BNB Chain, Ethereum, Polygon, Arbitrum; USDC on Solana, BNB Chain, Ethereum,
|
|
178
|
+
Polygon, Arbitrum, Base, Stellar. x402 balance top ups accept USDC and USDT only; any other coin
|
|
179
|
+
is answered with 400 X402_TOPUP_SOURCE_UNSUPPORTED. USDT only funds the balance;
|
|
180
|
+
sellers are paid in USDC. Holding a native coin or sats? Use them to top up
|
|
181
|
+
OpenRouter with ROZO Checkout (https://checkout.rozo.ai).
|
|
164
182
|
|
|
165
183
|
Raw HTTP (Authorization: Bearer <agent key ak_...>):
|
|
166
184
|
POST https://apiserver.mpprouter.dev/v1/x402/topup {"amount":"20","token":"USDT","chain":"900"}
|
|
@@ -177,10 +195,105 @@ x402 safety rules:
|
|
|
177
195
|
- Refuse a payment above what the user approved; refuse a payTo on a
|
|
178
196
|
compromised-wallet list.
|
|
179
197
|
- 503 X402_RETRY, X402_PAYER_MODE_CHANGED or X402_LEDGER_UNAVAILABLE: retry
|
|
180
|
-
with the same idempotencyKey. Any other 503 from /v1/x402
|
|
181
|
-
|
|
198
|
+
with the same idempotencyKey. Any other 503 from /v1/x402 means x402 is not
|
|
199
|
+
available for this key right now. Nothing new was charged; stop. Every server
|
|
200
|
+
code is listed below.
|
|
182
201
|
- The agent key owns the balance. Store it 0600, never print or log it.
|
|
183
202
|
|
|
203
|
+
x402 server error codes (returned by https://apiserver.mpprouter.dev/v1/x402/*):
|
|
204
|
+
Every error body looks like
|
|
205
|
+
{"ok":false,"code":"X402_...","error":{"code":"X402_...","message":"..."}},
|
|
206
|
+
sometimes with extra top level fields (limitUsd, balanceUsd, ...).
|
|
207
|
+
These are separate from the codes the CLI raises on its own (X402_UNSUPPORTED,
|
|
208
|
+
X402_OVER_BUDGET, X402_BAD_CHALLENGE, X402_PAYMENT_REJECTED and others). The balance is
|
|
209
|
+
debited only by the ledger commit inside /sign, after signing; every error
|
|
210
|
+
raised before that commit charges nothing. If /sign answers
|
|
211
|
+
X402_LEDGER_UNAVAILABLE or X402_INTERNAL the commit may have landed: retry
|
|
212
|
+
with the same idempotencyKey, and a payment that did land comes back as the
|
|
213
|
+
stored signature (replay:true), never as a second charge.
|
|
214
|
+
The CLI reports every 503 except X402_RETRY, X402_PAYER_MODE_CHANGED and
|
|
215
|
+
X402_LEDGER_UNAVAILABLE as X402_PAYER_DISABLED, with the server code in
|
|
216
|
+
error.details.serverCode. On /sign it retries 429, 500, 502, 504 and those
|
|
217
|
+
three 503 codes itself, with the same idempotencyKey.
|
|
218
|
+
|
|
219
|
+
balance, topup and sign (keys does not read a key):
|
|
220
|
+
- 401 X402_KEY_INVALID: agent key missing, malformed or unknown. Send
|
|
221
|
+
"Authorization: Bearer ak_...". Do not mint a new key to get around it: the
|
|
222
|
+
balance belongs to the old key.
|
|
223
|
+
- 403 X402_KEY_SUSPENDED: the key is not active. Stop; email hi@rozo.ai.
|
|
224
|
+
|
|
225
|
+
Any route:
|
|
226
|
+
- 503 X402_PAYER_DISABLED: the payer is switched off. Stop, tell the user.
|
|
227
|
+
- 503 X402_PAYER_NOT_CONFIGURED: payer not set up on this deployment. Stop.
|
|
228
|
+
- 503 X402_LEDGER_UNAVAILABLE: ledger unreachable. Retry shortly with the same
|
|
229
|
+
idempotencyKey.
|
|
230
|
+
- 500 X402_INTERNAL: unexpected error. Retry with the same idempotencyKey a few
|
|
231
|
+
times, then stop and report it.
|
|
232
|
+
- 405 METHOD_NOT_ALLOWED: wrong HTTP method (keys/topup/sign are POST, balance is GET).
|
|
233
|
+
|
|
234
|
+
POST /v1/x402/keys:
|
|
235
|
+
- 429 X402_KEY_RATE_LIMITED: too many keys created from this IP this hour.
|
|
236
|
+
Reuse the key you have, or retry later.
|
|
237
|
+
- 503 X402_RETRY: key collision. Retry.
|
|
238
|
+
|
|
239
|
+
POST /v1/x402/topup (no deposit address is shown on any error, so nothing can
|
|
240
|
+
be sent to it; only pay an address from a 200 response):
|
|
241
|
+
- 400 X402_INVALID_REQUEST: body is not JSON, or amount is not a USD amount
|
|
242
|
+
with at most 2 decimals.
|
|
243
|
+
- 400 X402_TOPUP_AMOUNT_OUT_OF_RANGE: top up must be between $5 and $500.
|
|
244
|
+
- 400 X402_TOPUP_SOURCE_REQUIRED: say which coin you pay with: chain and
|
|
245
|
+
token. The response lists accepted chains.
|
|
246
|
+
- 400 X402_UNSUPPORTED_CHAIN: unknown chain. Use a CAIP-2 id or a name such as
|
|
247
|
+
solana, base, ethereum, bsc, polygon, arbitrum, stellar.
|
|
248
|
+
- 400 X402_TOPUP_SOURCE_UNSUPPORTED: that coin is not accepted for top ups.
|
|
249
|
+
Use USDC or USDT. May carry a "supported" list.
|
|
250
|
+
- 502 INTENTS_API_FAILED: the top up order could not be created. Retry later.
|
|
251
|
+
- 503 X402_TOPUP_MISCONFIGURED or X402_TOPUP_NOT_REGISTERED: the order was not
|
|
252
|
+
usable, the address was withheld. Retry later; email hi@rozo.ai if it repeats.
|
|
253
|
+
- 503 X402_PAYER_SHADOW, X402_TOPUP_NOT_CONFIGURED or X402_SIGNER_NOT_CONFIGURED:
|
|
254
|
+
top ups are closed right now. Stop.
|
|
255
|
+
|
|
256
|
+
POST /v1/x402/sign:
|
|
257
|
+
- 400 X402_INVALID_REQUEST: body is not JSON, or budget is not a positive USD amount.
|
|
258
|
+
- 400 X402_IDEMPOTENCY_KEY_REQUIRED: send idempotencyKey, 8 to 128 chars of
|
|
259
|
+
[A-Za-z0-9_.:-], one per 402 challenge.
|
|
260
|
+
- 400 X402_UNSUPPORTED_VERSION: only x402Version 2 is accepted.
|
|
261
|
+
- 400 X402_UNSUPPORTED_NETWORK, X402_UNSUPPORTED_SCHEME, X402_UNSUPPORTED_ASSET,
|
|
262
|
+
X402_INVALID_REQUIREMENT or X402_SIGN_UNSUPPORTED: the accepts entry is
|
|
263
|
+
malformed or asks for something not covered (only exact USDC is signed).
|
|
264
|
+
Do not retry the same entry; tell the user.
|
|
265
|
+
- 402 X402_BUDGET_EXCEEDED: the challenge asks more than your budget. Stop and
|
|
266
|
+
ask the user.
|
|
267
|
+
- 402 X402_PER_TX_LIMIT_EXCEEDED: above this key's single-payment limit
|
|
268
|
+
(limitUsd). Stop and ask the user.
|
|
269
|
+
- 402 X402_INSUFFICIENT_BALANCE: balance too low (balanceUsd). Top up, wait
|
|
270
|
+
for the credit, then pay again.
|
|
271
|
+
- 403 X402_PAYTO_NOT_ALLOWED: payTo is not on this key's allowlist. Stop.
|
|
272
|
+
- 403 X402_PAYTO_BLOCKED: this payTo is blocked. Stop, do not retry.
|
|
273
|
+
- 409 X402_IDEMPOTENCY_CONFLICT: this idempotencyKey was already used for a
|
|
274
|
+
different requirement. Nothing new was charged. Use a new key only for a new
|
|
275
|
+
402 challenge.
|
|
276
|
+
- 410 X402_CREDENTIAL_REFUNDED: the stored signature expired unused and its
|
|
277
|
+
amount went back to the balance. Fetch a new 402 and sign it with a new key.
|
|
278
|
+
- 429 X402_DAILY_LIMIT_EXCEEDED: this key's daily limit would be exceeded
|
|
279
|
+
(limitUsd, spentTodayUsd). Wait for the daily
|
|
280
|
+
window to reset, or ask hi@rozo.ai for a higher limit.
|
|
281
|
+
- 429 X402_GLOBAL_DAILY_CAP_REACHED or X402_SIGNER_DAILY_CAP_REACHED: a
|
|
282
|
+
platform-wide daily cap was reached. Retry after 00:00 UTC.
|
|
283
|
+
- 429 X402_SIGNER_CAP_REACHED: the signing service refused this amount. Try a
|
|
284
|
+
smaller payment or later.
|
|
285
|
+
- 503 X402_RETRY or X402_PAYER_MODE_CHANGED: transient. Retry with the same
|
|
286
|
+
idempotencyKey.
|
|
287
|
+
- 503 X402_PAYER_SHADOW: the payer is not live for this key. A fresh request
|
|
288
|
+
was checked and recorded but not signed, and nothing was charged. With
|
|
289
|
+
"replay":true it refers to an earlier payment under this idempotencyKey,
|
|
290
|
+
which may have been charged: check /balance, never pay again with a new key.
|
|
291
|
+
Stop.
|
|
292
|
+
- 503 X402_SIGNER_NOT_CONFIGURED or X402_SIGNER_DISABLED: signing for this
|
|
293
|
+
network is off right now. Stop.
|
|
294
|
+
A 200 with "replay":true is the stored signature for an idempotencyKey that
|
|
295
|
+
was already paid; it is not a second charge.
|
|
296
|
+
|
|
184
297
|
## Safety rules (encode these, they prevent fund loss)
|
|
185
298
|
|
|
186
299
|
- Before paying, require: status == "payment_unpaid" AND source.txHash == null AND
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rozoai/checkout",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Pay OpenRouter, or any Coinbase invoice, with the crypto you already hold: USDT/USDC on Solana, BNB Chain, Ethereum or
|
|
5
|
+
"description": "Pay OpenRouter, or any Coinbase invoice, with the crypto you already hold: USDT/USDC on Solana, BNB Chain, Ethereum, Polygon or Arbitrum, USDC on Base or Stellar, BTC over Lightning, or native ETH, BNB, SOL or POL. No Coinbase account.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "Rozo AI",
|
|
8
8
|
"homepage": "https://github.com/RozoAI/rozo-checkout-skill#readme",
|
|
@@ -24,10 +24,15 @@
|
|
|
24
24
|
"bnb-chain",
|
|
25
25
|
"ethereum",
|
|
26
26
|
"polygon",
|
|
27
|
+
"arbitrum",
|
|
27
28
|
"base",
|
|
28
29
|
"stellar",
|
|
29
30
|
"lightning",
|
|
30
31
|
"bitcoin",
|
|
32
|
+
"eth",
|
|
33
|
+
"bnb",
|
|
34
|
+
"sol",
|
|
35
|
+
"pol",
|
|
31
36
|
"crypto-payments",
|
|
32
37
|
"agent",
|
|
33
38
|
"ai-agent",
|