Skip to content

sec: x402 payer key sealed, operator unlock, payments pause while locked - #255

Merged
sh1pt-actions-fleet[bot] merged 1 commit into
mainfrom
sec/sealed-x402-key
Oct 28, 2026
Merged

sh1pt-actions-fleet[bot] merged 1 commit into
mainfrom
sec/sealed-x402-key

Conversation

@sh1pt-actions-fleet

@sh1pt-actions-fleet sh1pt-actions-fleet Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Operator rule (fleet 2026-10-28). The poller and the web reader paid x402 offers with the shared crawler key in plaintext env. Now packages/feed/src/paid.js uses payerFromEnv from @profullstack/x402-client 0.4.0:

  • X402_SEALED_KEY set: sealed payer, locked at boot; operator unlocks with x402 vault unlock http://127.0.0.1:3921 (poller control port, 7d). Locked = plain fetch, 402 returned, one [alert] rssamplifier.com: operator keys locked, unlock to resume line.
  • No sealed key yet: the plaintext X402_PRIVATE_KEY keeps working with a [warn] line, until X402_LEGACY_PLAINTEXT_KEY=off (the cutover switch).
  • Only the poller pays from now on: the web reader runs 4 cluster workers (one unlock could not reach them all), so web.env gets no key at all and gated sites answer 402 there.

Operator step (Anthony): x402 vault seal -> put X402_SEALED_KEY in ~/www/rssamplifier.com/poller.env, delete X402_PRIVATE_KEY there (and the .bak env copies), redeploy, x402 vault unlock http://127.0.0.1:3921. Not rotated.

Tests: feed 345/345 incl. sealed-locked test. db/ingest/notify/auth/web failures are the local Postgres (127.0.0.1:5439 ECONNREFUSED), unrelated.

🤖 Generated with Claude Code

X402_SEALED_KEY (ciphertext) via @profullstack/x402-client 0.4.0 sealed
payer; control server on X402_UNLOCK_PORT for `x402 vault unlock`; one
[alert] line per lock. Plaintext X402_PRIVATE_KEY only while no sealed key
is set and X402_LEGACY_PLAINTEXT_KEY != off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​profullstack/​x402-client@​0.3.0 ⏵ 0.4.077 +1100100 +192 +2100

View full report

@sh1pt-actions-fleet
sh1pt-actions-fleet Bot merged commit a913c65 into main Oct 28, 2026
3 checks passed
@sh1pt-actions-fleet
sh1pt-actions-fleet Bot deleted the sec/sealed-x402-key branch October 28, 2026 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant