
Company News
Socket Joins New OpenJS Program to Fund Node.js Security Work
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.
@epsilon-exchange/sdk
Advanced tools
TypeScript SDK for Epsilon on Robinhood Chain — /v1 API client and non-custodial EIP-712 order signing (limit, stop-loss, DCA)
TypeScript SDK for Epsilon on Robinhood Chain
(id 4663): a thin client for the /v1 REST API
plus non-custodial EIP-712 order signing for limit, stop-loss, and DCA orders.
Orders are signed locally with your wallet and executed on-chain by keepers — funds stay in the wallet until fill. The API key is attribution and rate limiting; authorization is the maker's signature.
npm install @epsilon-exchange/sdk viem
import { privateKeyToAccount } from 'viem/accounts'
import {
apiPost, fetchOrderRoute, buildAndSignOrder,
calculateTriggerPrice, parseUnits, makePublicClient, tokenMeta,
DEFAULT_RPC_URL, type ApiConfig,
} from '@epsilon-exchange/sdk'
const cfg: ApiConfig = {
baseUrl: 'https://api.epsilon.exchange',
apiKey: process.env.EPSILON_API_KEY!, // eps_… — developers.epsilon.exchange
}
const account = privateKeyToAccount(process.env.WALLET_KEY as `0x${string}`)
const pub = makePublicClient(DEFAULT_RPC_URL)
const tokenIn = '0x5fc5360d0400a0fd4f2af552add042d716f1d168' // USDG
const tokenOut = '0x0bd7d308f8e1639fab988df18a8011f41eacad73' // WETH
const inMeta = await tokenMeta(pub, tokenIn)
const outMeta = await tokenMeta(pub, tokenOut)
const amountIn = parseUnits('25', inMeta.decimals)
// 1. Fetch the route — request it with the orderType you will submit; its
// feeLegs carry that fee cell (order kind × token class), which the
// indexer exact-matches on submit.
const route = await fetchOrderRoute(cfg, {
tokenIn, tokenOut,
amountIn: amountIn.toString(),
slippagePpm: 10_000, // 1%
wallet: account.address,
orderType: 'limit',
})
// 2. Sign locally (EIP-712, domain EpsilonRouter v7).
const signed = await buildAndSignOrder({
account, tokenIn, tokenOut, amountIn,
triggerPrice: calculateTriggerPrice('0.0004', outMeta.decimals),
tokenInDecimals: inMeta.decimals,
deadline: Math.floor(Date.now() / 1000) + 7 * 24 * 3600,
slippagePpm: 10_000,
kind: 'limit',
feeLegs: route.feeLegs,
})
// 3. Submit the signed payload.
const res = await apiPost<{ orderHash: string }>(cfg, '/v1/orders', {
orderType: 'limit',
...signed,
})
console.log('placed:', res.orderHash)
Remember the one-time ERC-20 approval of the router for tokenIn
(approveRouter in this package) before the first order.
api.ts — /v1 client (apiGet/apiPost/apiDelete, fetchOrderRoute)order.ts — buildAndSignOrder, signCancel, trigger-price math, unit helpersmakerTraits.ts — the v7 makerTraits bit layout encoderwallet.ts — viem chain definition, token metadata/balances/allowance, router approvalchain.ts — chain id, router address, EIP-712 domain and typesThe signing implementation is cross-verified byte-for-byte against the Go
indexer via a shared fixture — the same code path the
@epsilon-exchange/mcp
server uses.
MIT
FAQs
TypeScript SDK for Epsilon on Robinhood Chain — /v1 API client and non-custodial EIP-712 order signing (limit, stop-loss, DCA)
The npm package @epsilon-exchange/sdk receives a total of 0 weekly downloads. As such, @epsilon-exchange/sdk popularity was classified as not popular.
We found that @epsilon-exchange/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Company News
Socket is joining the OpenJS Security Stewardship Program to fund Node.js vulnerability research, maintainer remediation, and security releases.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.