fast-sdk
Fast SDK (@fastxyz/sdk) — TypeScript SDK for building on the Fast payment network. Provides FastProvider, Signer, and TransactionBuilder for transactions, account queries, and token management.
GitHub: fastxyz/fast-sdk
What You Can Do
The Fast SDK is the core interface for building applications on the Fast payment network. Use it to:
Authorize and submit payments — construct transfers and other supported Fast operations, then authorize them with Ed25519 keys
Query the network — look up account balances, sequence numbers, token metadata, and network state
Manage tokens — transfer, create, issue, and release tokens on Fast
Sign and verify messages — use Ed25519 signatures for off-network messages alongside Fast network payments
Address conversion — convert between hex, bytes, and bech32m address formats seamlessly
Installation
Install from npm as @fastxyz/sdk. For the exact install command and current examples, use the package README on GitHub.
Architecture
The SDK is built around three composable primitives:
FastProvider
JSON-RPC client that connects to the Fast proxy API. Handles all network queries (balance checks, account info, token lookups) and transaction submission.
Signer
Holds an Ed25519 private key and produces signatures for payments and messages. Keys never leave the Signer — you control your secrets.
TransactionBuilder
Fluent builder API for constructing operations. Chains methods like addTokenTransfer(), addTokenCreation(), addMint(), addBurn() and produces a signed envelope ready for submission.
All three compose together: create a FastProvider pointing at an RPC endpoint, pair it with a Signer holding your key, and pass both to a TransactionBuilder to build and sign operations.
Core Concepts
The Fast payment network is a high-performance payment network. Unlike a blockchain, it is optimized for fast finality and low-cost payment operations. Payments confirm in seconds, not minutes.
Accounts on Fast are identified by bech32m addresses (prefix fast). An account must be funded before it can submit transactions — there is no mining or staking mechanism.
Operations are the building blocks of every payment. Each operation has a sequence number to prevent reuse. Operations can be batched into a single payment for atomic execution.
Token types on Fast include fungible tokens (ERC20-like) and native token (FAST). Token addresses are bech32m-encoded on Fast, unlike the hex addresses used on EVM chains. Tokens can be issued or released by authorized accounts.
Key Workflows
Initialize and Query
Create a FastProvider pointing at the desired RPC endpoint. Use it to query account info (balances, next nonce, token holdings) and token metadata. This is the first step before building any transaction.
Authorize and Submit a Payment
Create a TransactionBuilder with your Signer and FastProvider. Chain operation methods to build the transaction, then call .sign() to produce a signed envelope. The builder handles nonce management, BCS serialization, and Ed25519 signing.
Submit and Confirm
Pass the signed envelope to FastProvider.submitTransaction(). The proxy handles broadcasting to validators, collecting quorum signatures, and assembling a certificate. Settlement is final — typically under one second.
For complete method signatures, supported operation builders, error handling, and runnable examples, see the fast-sdk README on GitHub.
RPC Endpoints
Mainnet
https://api.fast.xyz/proxy
Production — real tokens and payments
Testnet
https://testnet.api.fast.xyz/proxy
Development — test tokens, no real value
Tip: Use testnet first to validate your integration before touching mainnet.
Address Format
Fast uses bech32m addresses with the fast prefix. You may also encounter hex format (for raw bytes) and byte arrays (for RPC payloads). The SDK provides conversion utilities (toHex, fromHex, toFastAddress, fromFastAddress) to handle all formats.
For complete API documentation, all method signatures, supported operations, and runnable examples, see the fast-sdk README on GitHub.
Last updated
Was this helpful?