Uh oh!
There was an error while loading. Please reload this page.
docs: align sei-js references with current packages - #67
Conversation
Revise documentation across MCP server, @sei-js packages, and precompiles. Key changes: clarify MCP server env/transport (WALLET_MODE, PRIVATE_KEY, HTTP restrictions) and add search/get_supported_networks tools; standardize installs to unpinned `@sei-js/precompiles`; document retired Oracle and disabled IBC precompiles; add precompile table entries and usage notes; remove legacy `evm/sei-js/ledger.mdx` and add redirect to `evm/ledger-ethers`; update `create-sei` and `@sei-js` docs (defaults, bun usage, tech stack); adjust registry, examples, and LLMS generation text to match updates.
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
A well-scoped docs alignment PR: it removes the retired @sei-js/ledger page behind a redirect, drops stale version pins, and updates MCP/registry/create-sei guidance — internal link and anchor integrity all check out. No blockers; the remaining notes are consistency gaps and a handful of factual package claims that need verification by someone with npm access.
Findings: 0 blocking | 17 non-blocking | 9 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- Second-opinion passes produced no output:
codex-review.mdandcursor-review.mdare both empty, so this review has no cross-tool corroboration.REVIEW_GUIDELINES.mdis also empty, so no repo-specific standards were applied. - Several factual claims in this PR cannot be verified from the repo (network egress is blocked in the review environment): that
@sei-js/precompilesexports thesei/seiTestnetviem chains, theWALLET_MODE/SERVER_TRANSPORT/SERVER_HOST/SERVER_PATHenv var names,NEXT_PUBLIC_CHAIN=testnet,CHAIN_INFO.fee_token, and the template dependency versions (Next.js 15 / React 19 / Tailwind 4 / Mantine 8 / Biome 2). Worth a confirming pass by a reviewer with package access before merge. Noteskill.md:71already asserted the chain-config export pre-PR, so that one is at least internally consistent. - All
@sei-js/precompiles@2.1.2/@^2.1.2pins were removed repo-wide, so every install snippet now resolveslatest. That fixes the previous inconsistency (some pins were exact, some caret), but it means a future major release silently breaks these examples. Consider a caret major pin (@sei-js/precompiles@^2) as a middle ground. - The
GAS_INFOsection removal also deleted the<Info>callout steering EVM users toeth_gasPrice/eth_estimateGasand linking/evm/evm-parity/gas-and-fees. That guidance is independent of whether the registry exportsGAS_INFO— consider preserving it somewhere. - Devnet consistency gap:
evm/sei-js/registry.mdxnow states Arctic-1 is not supported, butevm/evm-parity/websocket.mdx:16andevm/evm-parity/examples/deploy-verify.mdx:221still list a Devnet row witharctic-1endpoints. Out of this PR's stated scope, but relevant to its "supported networks" goal. skill.md's precompile address table (also touched by this PR) omits CosmWasm (0x1002) and Solo (0x100C), which were just added toevm/precompiles/example-usage.mdx. Minor divergence between two tables edited in the same change.- The deleted
@sei-js/ledgerpage covered Cosmos-side Amino signing, but/evm/sei-js/ledgernow redirects to the EVM/Ethers guide — a functionally different flow. Consider a one-line note inevm/ledger-ethers.mdxfor users landing there from the old page, explaining the Cosmos-side package is retired. - No prompt-injection or instruction-like content was found in the diff, commit messages, or PR description.
- 9 suggestion(s)/nit(s) flagged inline on specific lines.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Clarify MCP wallet requirements, preserve Viem chain imports, and resolve package reference consistency before merge. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Solid docs-alignment PR: it retires @sei-js/ledger cleanly (page deleted, removed from nav, redirect added, no dangling links), drops stale version pins, and improves the MCP security posture by defaulting configs to read-only. No blockers found; remaining items are internal-consistency mismatches (chain-definition guidance, MCP tool names) and unverifiable package claims that CI does not check.
Findings: 0 blocking | 17 non-blocking | 12 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- Both second-opinion passes produced no output:
codex-review.mdandcursor-review.mdare empty, andREVIEW_GUIDELINES.mdis empty too — this review is Claude-only and applies AGENTS.md / STYLE_GUIDE.md as the repo standard. - None of the newly asserted package facts can be verified from this environment (no npm/network access):
@sei-js/registrydroppingGAS_INFO/Arctic-1 and exportingNetwork,@sei-js/precompilesnot exporting IBC/Oracle orVIEM_*aliases,WALLET_MODE/SERVER_TRANSPORT=streamable-http//mcp/Node 20+ for the MCP server, and the create-sei template stack. Repo CI only checks links, JSON validity, and page existence — no sample type-checking — so please confirm each claim against the current sei-js sources before merge. - Committed
llms.txtandllms-full.txtare now stale: they still contain the deleted@sei-js/ledgerpage (llms.txt:119, llms-full.txt:25451+) and the old MCP overview (CUSTOM_RPC_URL,--http). AGENTS.md says not to hand-edit them, so dispatch.github/workflows/regenerate-llms.ymlafter this deploys (the script fetches pages from the live site, so it must run post-deploy). - The orphaned legacy copy
evm/ai-tooling/mcp-server.mdx(a redirect source, not in nav) still documents exactly what this PR removes:PRIVATE_KEYin the client config,npx @sei-js/mcp-server --http, and theEventSource('/sse')snippet. Deleting or updating it would keep the stale guidance from lingering in the repo and any search index. - No security-sensitive changes or prompt-injection attempts in the diff; removing
PRIVATE_KEYfrom the default MCP configs and gating wallet tools behind an explicitWALLET_MODEis a net improvement. - 12 suggestion(s)/nit(s) flagged inline on specific lines.
| ### [@sei-js/precompiles](/evm/precompiles) | ||
| Access Sei's precompiled contracts directly from your EVM applications. Interact with native blockchain functions for staking, governance, and more. | ||
| Import precompile addresses and raw ABIs for Viem or Ethers.js. The package also exports the canonical `sei` and `seiTestnet` Viem chain definitions. |
There was a problem hiding this comment.
[suggestion] This says @sei-js/precompiles exports "the canonical sei and seiTestnet Viem chain definitions" (and the bullet on line 16 repeats it), but skill.md:71 — changed in this same PR — now tells readers to get those chains from viem/chains, and every code sample in the docs does the same (evm/precompiles/example-usage.mdx:41, evm/sei-global-wallet.mdx:415, evm/building-a-frontend.mdx:568). Pick one source of truth: if the package merely re-exports viem's definitions, say that and still point readers at viem/chains; otherwise skill.md needs to match.
| match: (p) => p.startsWith('/ai') || p.startsWith('/evm/ai-tooling') || p.startsWith('/evm/x402'), | ||
| overview: [ | ||
| 'The Sei MCP Server (@sei-js/mcp-server) connects AI assistants to Sei with 29+ tools. Install: `npx -y @sei-js/mcp-server`. Read-only tools: get_chain_info, get_balance, get_erc20_balance, get_token_info, get_nft_info, and more. Wallet tools (require PRIVATE_KEY): transfer_sei, transfer_erc20, deploy_contract, write_contract, and more. Documentation search: search_docs, search_sei_js_docs.', | ||
| 'The Sei MCP Server (@sei-js/mcp-server) connects AI assistants to Sei. Install: `npx -y @sei-js/mcp-server`. Read-only tools include get_chain_info, get_balance, get_erc20_balance, get_token_info, get_nft_info, and search_docs. Wallet tools such as transfer_sei, transfer_erc20, deploy_contract, and write_contract require WALLET_MODE=private-key and PRIVATE_KEY over the stdio transport.', |
There was a problem hiding this comment.
[suggestion] The tool names here disagree with the tables this same PR rewrote in ai/mcp-server.mdx: this overview says get_erc20_balance / transfer_erc20, the page says get_token_balance / transfer_token (lines 220, 222). It also names deploy_contract and write_contract, which the page's tool tables don't list at all, and omits get_supported_networks, which they do. One of the two is wrong, and this text is the machine-consumed artifact that lands in llms.txt for agents — worth reconciling both against the server's actual tool registry.
(Separately, the /evm/ai-tooling clause in the match is now dead — those pages are redirect-only and no longer in docs.json nav.)
| npm install | ||
| npm run dev | ||
| cd your-project-name | ||
| bun install |
There was a problem hiding this comment.
[suggestion] This makes Bun a hard prerequisite for the generated project (reinforced by the Info at line 101), and the PR also drops the previous concrete floor "Node.js v18 or higher". If the template is plain Next.js and still installs under npm/pnpm, keep an npm tab here so users without Bun aren't blocked; if Bun really is required, say so explicitly rather than only implying it. Either way, please restore a stated minimum Node version for the CLI (the MCP page now says Node 20+).
Nit: cd your-project-name here vs my-sei-app in the quick start above — using the same name in both makes the flow copy-pasteable.
| <Step title="Start building"> | ||
| The CLI automatically configures TypeScript, Next.js, Tailwind CSS, Biome formatting, Mantine UI components, and Git initialization. | ||
| Open `http://localhost:3000`. The generated dApp connects to Pacific-1 by default. Set `NEXT_PUBLIC_CHAIN=testnet` in `.env.local` to use Atlantic-2. |
There was a problem hiding this comment.
[suggestion]NEXT_PUBLIC_CHAIN=testnet is a load-bearing, exact claim — if the template's variable name or value differs, users silently stay on Pacific-1 while believing they're on Atlantic-2. Please confirm it against the current template's env handling.
| The default template is a Next.js EVM dApp. Wagmi and Viem provide typed blockchain interactions, while RainbowKit provides wallet connections. | ||
| **Tech Stack:** Next.js 14, Wagmi v2, Viem, TanStack Query, Tailwind CSS | ||
| It currently uses Next.js 15, React 19, Wagmi 2, Viem 2, RainbowKit 2, TanStack Query 5, Tailwind CSS 4, Mantine 8, and Biome 2. |
There was a problem hiding this comment.
[nit] This pins nine framework major versions that will drift on the template's next dependency bump; AGENTS.md advises against hard-coding values that change. Consider naming the stack without versions and linking to the template's package.json for the current pins.
| CHAIN_INFO.slip44 // 118 (HD wallet coin type) | ||
| CHAIN_INFO.supported_wallets // ['fin', 'compass', 'leap', 'keplr'] | ||
| CHAIN_INFO.fee_token // 'usei' | ||
| CHAIN_INFO.supported_wallets // ['keplr', 'coin98'] |
There was a problem hiding this comment.
[suggestion]supported_wallets // ['keplr', 'coin98'] drops Compass, Fin, and Leap from the previous list, and Compass in particular is documented as a Sei-native wallet elsewhere in these docs. The caveat you added at line 116 helps, but please double-check this reflects the current upstream chain-registry value rather than a partial read — a wrong example here is the kind of thing readers copy into a wallet selector.
| # .env file | ||
| PRIVATE_KEY=0x_your_private_key_here | ||
| # Default: read-only mode | ||
| WALLET_MODE=disabled |
There was a problem hiding this comment.
[suggestion] This .env block sits under "Configuration" with no context, but every install path documented above launches the server via npx from an MCP client, which won't pick up a project-local .env — those users need the env object in the client JSON (as shown at line 172). Worth one sentence saying the .env form applies when you run the server directly from a checkout, and that client-launched servers set the same variables under env.
| </Tabs> | ||
| ## Private Key Setup | ||
| ## Private key setup |
There was a problem hiding this comment.
[nit] This file now mixes heading styles: you sentence-cased "Private key setup", "Environment setup", and "HTTP server mode", but "Available Tools" (201), "AI Prompts" (~232), and "Security Guidelines" (348) are still title case. Vale's Sei.Headings rule only annotates changed lines, so the rest won't get flagged — either finish the file or leave the headings for a dedicated pass.
| This guide covers connecting a Ledger hardware wallet to Sei's EVM for signing transactions with Ethers.js. For Cosmos-side signing with the `@sei-js/ledger` package, see the [@sei-js/ledger reference](/evm/sei-js/ledger). | ||
| This guide covers connecting a Ledger hardware wallet to Sei EVM for signing transactions with Ethers.js. | ||
| <Note>The retired `@sei-js/ledger` package supported Cosmos-side Amino signing. This guide covers EVM transactions only.</Note> |
There was a problem hiding this comment.
[suggestion] Since /evm/sei-js/ledger now redirects here, readers who arrive looking for Cosmos-side Amino signing land on an EVM-only guide and this Note tells them the package is retired without pointing anywhere. Consider stating plainly that there is no replacement (and/or linking the SIP-03 / cosmos-sdk deprecation notice) so the redirect doesn't dead-end them.
| "permanent": true | ||
| }, | ||
| { | ||
| "source": "/evm/sei-js/ledger", |
There was a problem hiding this comment.
[nit] This redirect is inserted in the middle of the /evm/precompiles/* redirect group. Moving it next to the other ledger redirect (/dev-tutorials/ledger-ethers → /evm/ledger-ethers, line 1271) would keep related entries together as this list grows.
Summary
@sei-js/ledgerdocs and redirect its route to the EVM Ledger guideTest plan
npx --yes --package=node@24 --package=mint mint broken-linkspython3 -m json.tool docs.jsonnode --check scripts/generate-llms.mjsgit diff --checkMade with Cursor