Creates an instance of the Aptos client with the provided configuration.
The configuration settings for the Aptos client.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
async function runExample() {
// Initialize the Aptos client with testnet configuration
const config = new AptosConfig({ network: Network.TESTNET }); // specify your own network if needed
const aptos = new Aptos(config);
console.log("Aptos client initialized:", aptos);
}
runExample().catch(console.error);
Derives an account by providing a private key. This function resolves the provided private key type and derives the public key from it.
If the privateKey is a Secp256k1 type, it derives the account using the derived public key and auth key using the SingleKey scheme locally. If the privateKey is an ED25519 type, it looks up the authentication key on chain to determine whether it is a Legacy ED25519 key or a Unified ED25519 key, and then derives the account based on that.
The arguments for deriving the account.
OptionalminimumLedgerVersion?: AnyNumberOptionaloptions?: { throwIfNoAccountFound?: boolean }An account private key.
The derived Account type.
import { Aptos, AptosConfig, Network, Ed25519PrivateKey } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Deriving an account from a private key
const account = await aptos.deriveAccountFromPrivateKey({
privateKey: new Ed25519PrivateKey("0x123") // replace with a real private key
});
console.log(account);
}
runExample().catch(console.error);
Derives all accounts owned by a signer. This function takes a signer (either an Account or PrivateKey) and returns all accounts that can be derived from it, ordered by the most recently used account first.
Note, this function will not return accounts that require more than one signer to be used.
The arguments for deriving owned accounts
OptionalminimumLedgerVersion?: AnyNumberThe minimum ledger version to wait for before querying
Optionaloptions?: { includeUnverified?: boolean; noMultiKey?: boolean }OptionalincludeUnverified?: booleanWhether to include unverified accounts in the results. Unverified accounts are accounts that can be authenticated with the signer, but there is no history of the signer using the account. Default is false.
OptionalnoMultiKey?: booleanIf true, do not include multi-key accounts in the results. Default is false.
The signer to derive accounts from (Account or PrivateKey)
Promise resolving to an array of derived Account objects
import { Aptos, AptosConfig, Network, Ed25519Account } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function getOwnedAccounts() {
const signer = Ed25519Account.generate();
const accounts = await aptos.deriveOwnedAccountsFromSigner({
signer
});
const account = accounts[0];
console.log(account);
}
Retrieves the current amount of APT for a specified account. If the account does not exist, it will return 0.
The arguments for the account query.
The account address for which to retrieve the APT amount.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
The current amount of APT for the specified account.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the APT amount for a specific account
const accountAPTAmount = await aptos.getAccountAPTAmount({ accountAddress: "0x1" }); // replace with a real account address
console.log("Account APT Amount:", accountAPTAmount);
}
runExample().catch(console.error);
Queries the current amount of a specified coin held by an account.
The parameters for querying the account's coin amount.
The account address to query for the coin amount.
OptionalcoinType?: `${string}::${string}::${string}`The coin type to query. Note: If not provided, it may be automatically populated if faMetadataAddress
is specified.
OptionalfaMetadataAddress?: AccountAddressInputThe fungible asset metadata address to query. Note: If not provided, it may be automatically
populated if coinType is specified.
The current amount of the specified coin held by the account.
Use getBalance({ accountAddress, asset }) instead.
This method is slated for removal in a future release.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Prefer the new API
const amount = await aptos.getBalance({ accountAddress: "0x1", asset: "0x1::aptos_coin::AptosCoin" });
console.log(`Balance: ${amount}`);
}
runExample().catch(console.error);
Retrieves the current count of an account's coins aggregated across all types.
The parameters for the account coins count query.
The account address we want to get the total count for.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
The current count of the aggregated coins for the specified account.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Getting the account coins count for a specific account
const accountCoinsCount = await aptos.getAccountCoinsCount({ accountAddress: "0x1" }); // replace with a real account address
console.log("Account Coins Count:", accountCoinsCount);
}
runExample().catch(console.error);
Retrieves the coins data for a specified account.
The account address for which to retrieve the coin's data.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optionaloptions?: PaginationArgs & OrderByArg<An array containing the coins data for the specified account.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetching coins data for a specific account
const accountCoinsData = await aptos.getAccountCoinsData({
accountAddress: "0x1", // replace with a real account address
options: {
limit: 10, // specify the number of results to return
orderBy: { asset_type: "asc" }, // specify the order of results
},
});
console.log(accountCoinsData);
}
runExample().catch(console.error);
Queries for all collections that an account currently has tokens for, including NFTs, fungible tokens, and soulbound tokens. If you want to filter by a specific token standard, you can pass an optional tokenStandard parameter.
The account address we want to get the collections for.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optionaloptions?: TokenStandardArg & PaginationArgs & OrderByArg<Collections array with the collections data.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get account collections with owned tokens for a specific account
const accountCollectionsWithOwnedTokens = await aptos.getAccountCollectionsWithOwnedTokens({
accountAddress: "0x1", // replace with a real account address
options: {
tokenStandard: "NFT", // specify the token standard if needed
limit: 10, // specify the number of results to return
},
});
console.log(accountCollectionsWithOwnedTokens);
}
runExample().catch(console.error);
Queries the current state for an Aptos account given its account address.
The arguments for retrieving account information.
The Aptos account address to query.
The account data.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Retrieve account information for a specific address
const accountInfo = await aptos.getAccountInfo({ accountAddress: "0x1" }); // replace with a real account address
console.log(accountInfo);
}
runExample().catch(console.error);
Queries for a specific account module given an account address and module name.
The Aptos account address.
The name of the module.
Optionaloptions?: LedgerVersionArgThe account module associated with the specified account address and module name.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the account module for a specific account address and module name
const module = await aptos.getAccountModule({
accountAddress: "0x1", // replace with a real account address
moduleName: "MyModule" // specify the module name
});
console.log(module);
}
runExample().catch(console.error);
Queries for all modules in an account given an account address. This function may call the API multiple times to auto paginate through results.
The Aptos account address to query modules for.
Optionaloptions?: { limit?: number } & LedgerVersionArgimport { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetching account modules for a specific account
const accountModules = await aptos.getAccountModules({
accountAddress: "0x1", // replace with a real account address
options: {
limit: 10, // limiting to 10 modules
},
});
console.log(accountModules);
}
runExample().catch(console.error);
Queries for a page of modules in an account given an account address.
The Aptos account address to query modules for.
Optionaloptions?: CursorPaginationArgs & LedgerVersionArgimport { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetching account modules for a specific account
const {modules, cursor} = await aptos.getAccountModulesPage({
accountAddress: "0x1", // replace with a real account address
options: {
cursor: undefined, // starting from the first module
limit: 10, // limiting to 10 modules
},
});
console.log(modules);
console.log(`More to fetch: ${cursor !== undefined}`);
}
runExample().catch(console.error);
Queries an account's owned objects.
The account address we want to get the objects for.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optionaloptions?: PaginationArgs & OrderByArg<Objects array with the object data.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the objects owned by the specified account
const accountOwnedObjects = await aptos.getAccountOwnedObjects({
accountAddress: "0x1", // replace with a real account address
minimumLedgerVersion: 1, // optional, specify if needed
options: {
offset: 0, // optional, specify if needed
limit: 10, // optional, specify if needed
orderBy: "created_at", // optional, specify if needed
},
});
console.log(accountOwnedObjects);
}
runExample().catch(console.error);
Queries the tokens currently owned by a specified account, including NFTs and fungible tokens. If desired, you can filter the results by a specific token standard.
The account address for which to retrieve owned tokens.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optionaloptions?: TokenStandardArg & PaginationArgs & OrderByArg<An array of tokens with their respective data.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the tokens owned by a specific account
const accountOwnedTokens = await aptos.getAccountOwnedTokens({
accountAddress: "0x1", // replace with a real account address
options: {
limit: 10, // specify how many tokens to return
orderBy: "created_at", // specify the order of the results
},
});
console.log(accountOwnedTokens);
}
runExample().catch(console.error);
Queries all current tokens of a specific collection that an account owns by the collection address. This query returns all tokens (v1 and v2 standards) an account owns, including NFTs, fungible, soulbound, etc. If you want to get only the token from a specific standard, you can pass an optional tokenStandard parameter.
The account address we want to get the tokens for.
The address of the collection being queried.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to, before querying.
Optionaloptions?: TokenStandardArg & PaginationArgs & OrderByArg<Tokens array with the token data.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get tokens owned by a specific account in a specific collection
const accountOwnedTokens = await aptos.getAccountOwnedTokensFromCollectionAddress({
accountAddress: "0x1", // replace with a real account address
collectionAddress: "0x2", // replace with a real collection address
});
console.log(accountOwnedTokens);
}
runExample().catch(console.error);
Queries a specific account resource given an account address and resource type.
The typed output of the resource.
The Aptos account address to query.
Optionaloptions?: LedgerVersionArgThe string representation of an on-chain Move struct type, e.g., "0x1::aptos_coin::AptosCoin".
The account resource of the specified type.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the account resource for a specific account address and resource type
const resource = await aptos.getAccountResource({
accountAddress: "0x1", // replace with a real account address
resourceType: "0x1::aptos_coin::AptosCoin"
});
console.log(resource);
}
runExample().catch(console.error);
Queries all account resources given an account address. This function may call the API multiple times to auto paginate through results.
The Aptos account address to query resources for.
Optionaloptions?: PaginationArgs & LedgerVersionArgAccount resources.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetching account resources for a specific account address
const resources = await aptos.getAccountResources({ accountAddress: "0x1" }); // replace with a real account address
console.log(resources);
}
runExample().catch(console.error);
Queries a page of account resources given an account address.
The Aptos account address to query resources for.
Optionaloptions?: CursorPaginationArgs & LedgerVersionArgAccount resources.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetching account resources for a specific account address
const resources = await aptos.getAccountResourcesPage({
accountAddress: "0x1", // replace with a real account address
options: {
cursor: undefined, // starting from the first resource
limit: 10, // limiting to 10 resources
},
});
console.log(resources);
console.log(`More to fetch: ${resources.cursor !== undefined}`);
}
runExample().catch(console.error);
Gets all account info (address, account public key, last transaction version) that have are associated with a public key and related public keys
For a given public key, it will query all multikeys that the public key is part of. Then for the provided public key and any multikeys found in the previous step, it will query for any accounts that have an auth key that matches any of the public keys.
Note: If an Ed25519PublicKey or an AnyPublicKey that wraps Ed25519PublicKey is passed in, it will query for both legacy and single singer cases.
The arguments for getting accounts for a public key
OptionalminimumLedgerVersion?: AnyNumberThe minimum ledger version to wait for before querying
Optionaloptions?: { includeUnverified?: boolean; noMultiKey?: boolean }OptionalincludeUnverified?: booleanWhether to include unverified accounts in the results. Unverified accounts are accounts that can be authenticated with the signer, but there is no history of the signer using the account. Default is false.
OptionalnoMultiKey?: booleanWhether to exclude multi-key accounts in the results. Default is false.
The public key to look up accounts for
Promise resolving to an array of account addresses and their associated public keys
import { Aptos, AptosConfig, Network, Ed25519PrivateKey } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function getAccounts() {
const privateKey = Ed25519PrivateKey.generate();
const publicKey = privateKey.publicKey();
const accounts = await aptos.getAccountsForPublicKey({
publicKey
});
console.log(accounts);
}
Queries the current count of tokens owned by a specified account.
The parameters for the query.
The account address to query the token count for.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
The current count of tokens owned by the account.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the count of tokens owned by the account
const tokensCount = await aptos.getAccountTokensCount({ accountAddress: "0x1" }); // replace with a real account address
console.log(`Tokens Count: ${tokensCount}`);
}
runExample().catch(console.error);
Queries account transactions given an account address. This function may call the API multiple times to auto paginate and retrieve all account transactions.
The Aptos account address to query transactions for.
Optionaloptions?: PaginationArgsOptional pagination arguments.
The account transactions.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Fetch transactions for a specific account
const transactions = await aptos.getAccountTransactions({
accountAddress: "0x1", // replace with a real account address
options: {
offset: 0, // starting from the first transaction
limit: 10, // limiting to 10 transactions
},
});
console.log(transactions);
}
runExample().catch(console.error);
Queries the current count of transactions submitted by an account.
The parameters for the query.
The account address we want to get the total count for.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Current count of transactions made by an account.
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Get the count of transactions for a specific account
const accountTransactionsCount = await aptos.getAccountTransactionsCount({
accountAddress: "0x1", // replace with a real account address
minimumLedgerVersion: 1, // specify your own minimum ledger version if needed
});
console.log(accountTransactionsCount);
}
runExample().catch(console.error);
Retrieves the balance for an account and asset.
The parameters for the balance query.
The account address to query.
The asset to query: Move struct ID (e.g., 0x1::aptos_coin::AptosCoin) or FA metadata address.
The balance as a number.
Looks up the account address for a given authentication key, handling both rotated and non-rotated keys.
The authentication key for which to look up the account address.
OptionalminimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optionaloptions?: LedgerVersionArgPromise
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
const config = new AptosConfig({ network: Network.TESTNET });
const aptos = new Aptos(config);
async function runExample() {
// Look up the original account address for a given authentication key
const accountAddress = await aptos.lookupOriginalAccountAddress({
authenticationKey: "0x1", // replace with a real authentication key
});
console.log("Original Account Address:", accountAddress);
}
runExample().catch(console.error);
A class to query all
Accountrelated queries on Aptos.