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.
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);
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.
Optional
minimumLedgerVersion?: 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.
Optional
coinType?: `${string}::${string}::${string}`The coin type to query. Note: If not provided, it may be automatically populated if faMetadataAddress
is specified.
Optional
faMetadataAddress?: AccountAddressInputThe fungible asset metadata address to query. Note: If not provided, it may be automatically
populated if coinType
is specified.
Optional
minimumLedgerVersion?: AnyNumberNot used anymore, here for backward compatibility see https://github.com/aptos-labs/aptos-ts-sdk/pull/519, will be removed in the near future. Optional ledger version to sync up to before querying.
The current amount of the specified coin held 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() {
// Query the account's coin amount for a specific coin type
const accountCoinAmount = await aptos.getAccountCoinAmount({
accountAddress: "0x1", // replace with a real account address
coinType: "0x1::aptos_coin::AptosCoin" // specify the coin type
});
console.log(`Account coin amount: ${accountCoinAmount}`);
}
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.
Optional
minimumLedgerVersion?: 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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optional
options?: 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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optional
options?: 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.
Optional
options?: 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.
Optional
options?: { 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.
Optional
options?: 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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optional
options?: 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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optional
options?: 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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to, before querying.
Optional
options?: 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 Aptos account address to query.
Optional
options?: 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.
Optional
options?: 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.
Optional
options?: 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);
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.
Optional
minimumLedgerVersion?: 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.
Optional
options?: 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.
Optional
minimumLedgerVersion?: 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);
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.
Optional
minimumLedgerVersion?: AnyNumberOptional ledger version to sync up to before querying.
Optional
options?: 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
Account
related queries on Aptos.