# @across-protocol/sdk

> Across is a system that quickly moves tokens across chains. This repository contains shareable code and libraries for Across.

Latest version **4.4.22** (published 2026-09-21) · AGPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install @across-protocol/sdk
pnpm add @across-protocol/sdk
yarn add @across-protocol/sdk
bun add @across-protocol/sdk
```

## Health

**Score 75/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score.

Warnings: low downloads; large bundle.

## Facts

| | |
|---|---|
| Version | 4.4.22 |
| Published | 2026-09-21 |
| First published | 2024-05-31 |
| Weekly downloads | 0 |
| License | AGPL-3.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22.18.0 |
| Dependencies | 24 |
| Unpacked size | 55.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| Author | UMA Team |
| Maintainers | chrismaree, mrice32, nicholaspai, evaldofelipe |

## Links

- npm: https://www.npmjs.com/package/@across-protocol/sdk
- Repository: https://github.com/across-protocol/sdk
- Homepage: https://docs.across.to/reference/sdk
- Issues: https://github.com/across-protocol/sdk/issues
- npm.io page: https://npm.io/package/@across-protocol/sdk

## Dependencies (24)

- [bs58](https://npm.io/package/bs58.md) ^6.0.0
- [viem](https://npm.io/package/viem.md) ^2.56.3
- [async](https://npm.io/package/async.md) ^3.2.5
- [tslib](https://npm.io/package/tslib.md) ^2.6.2
- [ethers](https://npm.io/package/ethers.md) ^5.7.2
- [lodash](https://npm.io/package/lodash.md) ^4.18.1
- [arweave](https://npm.io/package/arweave.md) ^1.14.4
- [tronweb](https://npm.io/package/tronweb.md) ^6.2.2
- [winston](https://npm.io/package/winston.md) ^3.17.0
- [decimal.js](https://npm.io/package/decimal.js.md) ^10.3.1
- [@solana/kit](https://npm.io/package/@solana/kit.md) ^8.3.0
- [superstruct](https://npm.io/package/superstruct.md) ^1.0.3
- [@coral-xyz/anchor](https://npm.io/package/@coral-xyz/anchor.md) ^0.30.1
- [@eth-optimism/sdk](https://npm.io/package/@eth-optimism/sdk.md) ^3.3.1
- [winston-transport](https://npm.io/package/winston-transport.md) ^4.9.0
- [@nktkas/hyperliquid](https://npm.io/package/@nktkas/hyperliquid.md) ^0.25.9
- [@uma/contracts-node](https://npm.io/package/@uma/contracts-node.md) ^0.4.0
- [@solana-program/token](https://npm.io/package/@solana-program/token.md) ^0.16.1
- [@solana-program/system](https://npm.io/package/@solana-program/system.md) ^0.14.1
- [@ethersproject/bignumber](https://npm.io/package/@ethersproject/bignumber.md) ^5.7.0
- [@across-protocol/constants](https://npm.io/package/@across-protocol/constants.md) ^3.1.126
- [@across-protocol/contracts](https://npm.io/package/@across-protocol/contracts.md) 5.0.26
- [@solana-program/token-2022](https://npm.io/package/@solana-program/token-2022.md) ^0.17.0
- [@solana-program/compute-budget](https://npm.io/package/@solana-program/compute-budget.md) ^0.18.1

## Recent versions

- 4.4.22 (latest) — 2026-09-21
- 5.0.0-svm-clients.1 (svm-clients) — 2026-10-16
- 4.4.19-alpha.0 (alpha) — 2026-08-06
- 4.3.165-beta.1 (beta) — 2026-06-03
- 4.1.32-hotfix.1 (hotfix) — 2025-03-28
- 5.0.0-svm-clients.0 — 2026-10-16
- 4.4.21 — 2026-09-16
- 4.4.20 — 2026-09-16
- 4.4.19 — 2026-09-10
- 4.4.18 — 2026-08-06
- 4.4.17 — 2026-08-04
- 4.4.16 — 2026-07-28
- 4.4.15 — 2026-07-23
- 4.4.14 — 2026-07-21
- 4.4.13 — 2026-07-17
- … 527 more at https://npm.io/package/@across-protocol/sdk/versions

## README

# Across SDK

Across is a system that quickly moves tokens across chains. This repository contains shareable code and libraries for Across.

## Modules
| Name | Description | README | Source Code |
|---|---|---|---|
| **LP Fee Calculator** | Calculate LP fee for transfers | [README](./src/lpFeeCalculator/README.md) | [Source Code](./src/lpFeeCalculator/) |
| **Merkle Distributor** | ACX token distribution | [README](./src/merkleDistributor/README.md) | [Source Code](./src/merkleDistributor/) |

## TSDX User Guide

**This project was bootstrapped with [tsdx](https://github.com/jaredpalmer/tsdx). Read below for more instructions or check out the [repository](https://github.com/jaredpalmer/tsdx)**

Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it.

> This TSDX setup is meant for developing libraries (not apps!) that can be published to NPM. If you’re looking to build a Node app, you could use `ts-node-dev`, plain `ts-node`, or simple `tsc`.

> If you’re new to TypeScript, checkout [this handy cheatsheet](https://devhints.io/typescript)

## Commands

TSDX scaffolds your new library inside `/src`.

To run TSDX, use:

```bash
npm start # or yarn start
```

This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`.

To do a one-off build, use `npm run build` or `yarn build`.

To run tests, use `npm test` or `yarn test`.

## Configuration

Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly.

### Jest

Jest tests are set up to run with `npm test` or `yarn test`.

### Bundle Analysis

[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`.

#### Setup Files

This is the folder structure we set up for you:

```txt
/src
  index.tsx       # EDIT THIS
/test
  blah.test.tsx   # EDIT THIS
.gitignore
package.json
README.md         # EDIT THIS
tsconfig.json
```

### Rollup

TSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details.

### TypeScript

`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs.

## Continuous Integration

### GitHub Actions

Two actions are added by default:

- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix
- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit)

## Optimizations

Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations:

```js
// ./types/index.d.ts
declare var __DEV__: boolean;

// inside your code...
if (__DEV__) {
  console.log('foo');
}
```

You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions.

## Module Formats

CJS, ESModules, and UMD module formats are supported.

The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found.

## Named Exports

Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library.

## Including Styles

There are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like.

For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader.

## Publishing a new version
1. Bump version in package.json and merge to master. Example: https://github.com/across-protocol/sdk/pull/67
2. Create a new release with a new tag (version number should be incremented): https://github.com/across-protocol/sdk/releases
3. Update any upstream repos/binaries that depend on the sdk such as https://github.com/across-protocol/frontend. Example: https://github.com/across-protocol/frontend/pull/202

---
_Source: https://npm.io/package/@across-protocol/sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
