You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
x402: foolproof deps + correct mac/Linux tunnel requirement in manifest
The manifest claimed macOS/Linux need nothing for the tunnel ("WireGuard
ships with the OS"). Tracing sentinel-go-sdk shows the CLI does NOT bundle
a tunnel -- it shells out: WireGuard nodes run `wg-quick up` (needs system
wireguard-tools), V2Ray nodes run `v2ray run --config` (needs a v2ray
binary on PATH). Corrected /manifest tldr, platforms, and connectMacLinux
to state the real native deps (Go 1.24+, wireguard-tools, v2ray), and
added an explicit `install` block + viem to packages so a zero-experience
agent has the complete npm set (`npm install @x402/fetch @x402/evm viem
blue-js-sdk`) and the out-of-npm native deps spelled out.
Also normalize e2e-maclinux.sh to LF / no-BOM / ASCII separators (a prior
PowerShell round-trip had reintroduced CRLF and mojibake'd the box-drawing
dashes), and surface wg-quick/v2ray as explicit STEP 0 checks in the runner.
command -v v2ray >/dev/null 2>&1&& say " v2ray: $(command -v v2ray)"|| say " [note] v2ray binary not on PATH -- only needed if a V2Ray node is selected."
description: 'Pay USDC, get a Sentinel dVPN subscription. One HTTP request, one EIP-3009 signature.',
300
300
tldr: [
301
301
'You need: (a) an EVM wallet with USDC on Base, (b) a Sentinel wallet from `createWallet()` in `blue-js-sdk/ai-path`.',
302
+
'Install (agent side only — you do NOT clone this repo): `npm install @x402/fetch @x402/evm viem blue-js-sdk`. That is the complete dependency set for paying and connecting. The express/@x402/express/dotenv packages are operator-only — ignore them.',
302
303
`POST ${network==='eip155:8453' ? 'https://x402.sentinel.co' : '/'}/vpn/connect/{1day|7days|30days} with { sentinelAddr } using @x402/fetch to auto-sign the 402. Tiers cost $0.033 / $0.233 / $1.00 USDC — pick the smallest that covers your need; $0.033 is enough to start. Add { country: "DE" } to get a node in a specific country (GET /nodes lists what is available). Payment is identical on every OS.`,
303
-
'Connecting differs by OS. macOS & Linux (easiest): WireGuard ships with the OS — use the native CLI `sentinel-dvpncli` (go install github.com/sentinel-official/sentinel-dvpncli@latest), then import the key (`printf \'%s\\n\\n\' "$MNEMONIC" | sentinel-dvpncli keys add agent --keyring.backend test`), `tx session-start <nodeAddress> --subscription-id <id> --tx.fee-granter-addr <feeGranter> --tx.from-name agent --keyring.backend test`, resolve the id with `query sessions --account-addr <sent1...> --subscription-id <id> --output-format json`, then `connect <sessionId>`. See sentinel.connectMacLinux. Only Fedora is unsupported (SELinux blocks VPNs).',
304
+
'Connecting differs by OS. macOS & Linux: use the native CLI `sentinel-dvpncli` (go install github.com/sentinel-official/sentinel-dvpncli@latest — needs Go 1.24+). The CLI shells out to the system tunnel binary, so install `wireguard-tools` (provides `wg-quick`; most nodes are WireGuard) and, for V2Ray nodes, a `v2ray` binary on PATH. Then import the key (`printf \'%s\\n\\n\' "$MNEMONIC" | sentinel-dvpncli keys add agent --keyring.backend test`), `tx session-start <nodeAddress> --subscription-id <id> --tx.fee-granter-addr <feeGranter> --tx.from-name agent --keyring.backend test`, resolve the id with `query sessions --account-addr <sent1...> --subscription-id <id> --output-format json`, then `connect <sessionId>` (sudo to bring the interface up). See sentinel.connectMacLinux. Only Fedora is unsupported (SELinux blocks VPNs).',
304
305
'Windows (heavier): run `await setup()` from `blue-js-sdk/ai-path` first — it auto-downloads V2Ray (no admin) and installs WireGuard — then `connect({ mnemonic, subscriptionId, feeGranter, nodeAddress })`. See sentinel.connectWindows.',
305
306
'Tunnel is up. You paid as little as $0.033 USDC (1day) up to $1.00 (30day), zero gas on Base, zero gas on Sentinel.',
note: 'Agent side only — you do NOT clone this repo. The four packages above are the complete set for paying + connecting on every OS. express / @x402/express / dotenv are operator-only; do not install them.',
457
+
nativeMacLinux: 'The macOS/Linux connect path also needs, OUTSIDE npm: Go 1.24+ (to `go install` sentinel-dvpncli), wireguard-tools (provides `wg-quick`, for WireGuard nodes), and a `v2ray` binary on PATH (for V2Ray nodes). The Windows path needs none of these — setup() fetches them.',
returns: {address: 'sent1... (use this as sentinelAddr)',mnemonic: 'string (persist this)'},
518
525
note: 'Generate once per agent. The address goes in the request body; the mnemonic signs MsgStartSession.',
519
526
},
520
-
platforms: 'Payment is identical on every OS; only the connect step differs. macOS & Linux are the easiest path (native CLI, WireGuard ships with the OS — see connectMacLinux). Windows uses the heavier JS-SDK path (see connectWindows / connect). Only Fedora is unsupported: its SELinux blocks VPN interfaces and cannot be bypassed programmatically.',
527
+
platforms: 'Payment is identical on every OS; only the connect step differs. macOS & Linux use the native CLI (sentinel-dvpncli + a system tunnel binary — see connectMacLinux). Windows uses the JS-SDK path where setup() fetches the tunnel binaries for you (see connectWindows / connect). Only Fedora is unsupported: its SELinux blocks VPN interfaces and cannot be bypassed programmatically.',
why: 'Easiest path — WireGuard ships with macOS and mainstream Linux, so nothing to install for the tunnel. Flag-driven, non-interactive.',
531
+
nativeDeps: 'The CLI does NOT bundle a tunnel — it shells out. WireGuard nodes run `wg-quick up` (install wireguard-tools: `apt install wireguard-tools` / `brew install wireguard-tools` / `pacman -S wireguard-tools`). V2Ray nodes run `v2ray run --config` (install a `v2ray` binary on PATH). Most nodes are WireGuard; install wireguard-tools at minimum. Bringing the interface up needs sudo.',
532
+
why: 'Flag-driven, non-interactive — good for agents. Trade-off vs Windows: you install the tunnel binary yourself (Windows setup() auto-fetches it).',
525
533
steps: [
526
534
'keys add: printf \'%s\\n\\n\' "$MNEMONIC" | sentinel-dvpncli keys add agent --keyring.backend test (import the SAME wallet whose sentinelAddr you sent to x402. keys add is INTERACTIVE — no --recover flag: line 1 answers the mnemonic prompt, the blank line 2 accepts the default empty BIP-39 passphrase. A single-line echo would hang on the passphrase prompt.)',
0 commit comments