Skip to content
/ sdk Public

A lightweight SDK for integrating token swaps and liquidity management on the TON Blockchain. Easily build TON DEX functionality with TypeScript support.

Notifications You must be signed in to change notification settings

MyTonSwap/sdk

Repository files navigation

MyTonSwap logo

SDK for MyTonSwap DEX aggregator

GitHub package.json version GitHub last commit GitHub Actions Workflow Status NPM Downloads

📃 Docs: https://mytonswap.com/docs/sdk/introduction

Mytonswap SDK

The Mytonswap SDK is a comprehensive JavaScript library for integrating with the TON blockchain, allowing you to access assets, find optimal swap routes, and create swap payloads with ease. This SDK is designed to streamline TON blockchain interactions, making it suitable for DeFi applications, dApps, and wallets.

Features

  • Access to TON Blockchain Assets:

    • Retrieve a specific asset by address or identifier.
    • Fetch a paginated list of assets for browsing and filtering.
    • Search for assets by name, ticker, or other identifying information.
  • Token Swap Optimization:

    • Calculate the best swap route between tokens to minimize fees and maximize returns.
  • Swap Payload Creation:

    • Generate a ready-to-use payload for seamless token swaps on the TON blockchain.
  • Built-in Utility Functions:

    • Easily convert between Ton units using toNano and fromNano functions.

Installation

npm install @mytonswap/sdk

Usage

Here's a basic example of how to use the MyTonSwap SDK:

import { MyTonSwapClient, toNano } from '@mytonswap/sdk';

const client = new MyTonSwapClient();

async function performSwap() {
    const userWallet = 'your-wallet-address';
    const TON = await client.assets.getExactAsset('TON');
    const NOT = await client.assets.getExactAsset('NOT');
    const bestRoute = await client.router.findBestRoute(TON!.address, NOT!.address, toNano(1), 1);

    const swap = await client.swap.createSwap(userWallet, bestRoute);
    console.log(swap);
}

performSwap();

Contributing

We welcome contributions! Please read our contributing guidelines before submitting a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you have any questions or need help, feel free to open an issue on our GitHub repository.