This package is not published to npm yet (
"private": true in its package.json). Use it from a local checkout of the repository, as shown below. There is no separate @scienter/sdk package — this is the real, working package name.@scienter/sdk-execution builds and signs the EIP-712 TradeOrder message covered in Non-custodial execution, relays it through ScopedExecutor on Base, and exposes the preflight checks that catch a dead order before it ever reaches a wallet prompt.
Install
Usage
createSignedOrder validates locally and throws before prompting the wallet — a user should never be asked to approve a signature that’s already dead.
The fields that are not what they look like
pair, direction, and sizeUSD are signed but unverifiable — the chain can’t know that (WETH, USDC) “is” HL:ETH-PERP, or that $250 was the real notional. Treat them as attributed claims, not proofs. quotedAmountOut is not decoration: it’s the exact reference maxSlippageBps is measured against on-chain, so a stale quote means a stale floor.
Development / testing it end-to-end
TradingScope carries address[] fields, and EIP-712 hashes a dynamic array differently than the tempting abi.encodePacked implementation would. A mismatch there produces no error anywhere — the wallet signs happily, the contract recovers a different address, and the user just sees BadSignature. Only comparing two independent implementations over a real chain catches it.
Related package: @scienter/alpha-ledger
A second, separate TypeScript package handles the Verifiable Alpha Ledger side — canonical payload hashing, Merkle proof construction, and the outcome-binder that submits realized P&L. Also unpublished; seesrc/alpha-ledger/README.md in the repository for its own usage and test commands.
Scienter publishes impersonal market signals of general and regular circulation. Nothing here is investment, legal, or tax advice, or a recommendation to buy, sell, or hold any asset. Scienter is not a registered investment adviser or broker-dealer. Trading digital assets can result in the total loss of your funds — see Disclaimers for the full text.