chore: retire the @sei-js x402 fork packages - #1
Open
alexander-sei wants to merge 1 commit into
Open
Conversation
Sei is now supported natively in the upstream x402 SDK, so this fork has no remaining purpose. Upstream also resolves a correctness problem this fork carries: it defaults Sei mainnet to an IBC-bridged USDC with no EIP-3009 support, which is what the exact scheme relies on to settle. Adds MIGRATION.md mapping all seven packages to their v2 @x402/* replacements, marks each package private and disables the release automation so nothing can republish, and adds a script to deprecate the packages on npm. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Sei is now supported natively in the upstream x402 SDK, so this fork has no remaining purpose. x402-foundation/x402#3227 landed the Sei default stablecoins upstream in the v2 line, and the v1 legacy line already carried them.
This retires all seven
@sei-js/*x402 packages and points users at the upstream v2@x402/*packages.Why this is a correctness fix, not just housekeeping
The fork defaults Sei mainnet (chain 1329) to an IBC-bridged USDC that does not implement EIP-3009. Since the
exactscheme settles viatransferWithAuthorization, payments cannot settle against that asset. The code has carried aTODOabout this since it was written:Upstream uses native USDC
0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392(mainnet) and0x4fCF1784B31630811181f670Aea7A7bEF803eaED(testnet), both of which do implement EIP-3009.What changed
MIGRATION.mdmapping every package to its v2 replacement, with before/after code for the four breaking changes users will hit: CAIP-2 network identifiers ("sei"becomes"eip155:1329"), the restructuredpaymentMiddlewareplusx402ResourceServersetup, the new client wrapper config shape, and the USDC address swap.private: trueon all seven packages, sonpm publishrefuses outright.release.ymlno longer triggers on push tomain(it previously auto-published on any change undertypescript/**), and all eight release/publish workflows now fail fast with an explanatory error.scripts/deprecate-sei-x402-packages.shto apply the npm deprecations, supportingDRY_RUN=1.Package mapping
@sei-js/x402@x402/core+@x402/evm@sei-js/x402-fetch@x402/fetch@sei-js/x402-axios@x402/axios@sei-js/x402-express@x402/express@sei-js/x402-hono@x402/hono@sei-js/x402-next@x402/next@sei-js/coinbase-x402@coinbase/x402Follow-ups after merge
./scripts/deprecate-sei-x402-packages.shwith npm publish rights on the@sei-jsscope.sei-protocol/x402andsei-protocol/sei-x402-obsolete.Test plan
private: true.npm publish --dry-runreportsSkipping workspace @sei-js/x402-fetch, marked as private.DRY_RUN=1 ./scripts/deprecate-sei-x402-packages.shprints the expected message for all seven packages.Notes
Scope check: the
@sei-jsnpm scope has 12 packages, but only these seven are x402-related.create-sei,mcp-server,precompiles,registry, andsei-global-walletare actively maintained and untouched. Thepython/,go/, andjava/trees in this repo contain no Sei-specific code and were never customised.Made with Cursor
Made with Cursor
Tracking
PLT-1062, a follow-up to PLT-1046 which tracked the upstream Sei default stablecoin work in x402-foundation/x402#3227.