Skip to main content

Overview

This guide shows you how to sign TON transactions using Dynamic’s Node SDK. You build your transaction cell using @ton/ton, serialize it to a base64 string, and pass it to signTransaction(). The method returns a base64-encoded Ed25519 signature that you then attach to the cell before broadcasting.

Prerequisites

Step 1: Install Dependencies

Step 2: Build, Sign, and Send a Transaction

The approach for signing transactions depends on how you created your wallet: If you created your wallet with backUpToDynamic: true, you can sign directly without retrieving key shares:

With Manual Backup

If you created your wallet with backUpToDynamic: false, you must retrieve and provide external key shares:
Password Handling Notes:
  • If your wallet was created without a password, omit the password parameter
  • If your wallet was created with a password, you must provide it for all operations
  • The password parameter is always optional in the API, but required if the wallet is password-protected

Step 3: Broadcast the Transaction

After signing, attach the signature to the cell and broadcast via the TON HTTP API:

Common Transaction Bodies

Simple TON Transfer (no comment)

TON Transfer with Comment

Next Steps

Last modified on May 21, 2026