Skip to main content

Crypto & Wallets

This section demonstrates local key derivation for testing and development. In production, keys live in your existing key-management system (KMS, HSM, or custodian) — use the SDK’s prepare → broadcast surface and sign with that infrastructure. See Bring your own signer.
1

Create a new wallet (mnemonic) and derive Ethereum

default path m/44'/60'/0'/0/0
Return object shape:
Security: never log full private keys in production. Above we truncate for demonstration.
2

Derive Tron

default path m/44'/195'/0'/0/0
Return object shape:

API calls through SDK

Assume:
1

Prices — by symbol

Returned (brief):
2

Prices — by contract address

Returned (brief): same shape as above.
3

Blocks — latest indexed block information

Returned (brief):
4

Balances — native balance

Returned (brief):
5

Balances — native plus token balances

Notes:
  • If assetIds is omitted, WalletSuite uses a default set:
    • Ethereum: USDT and USDC
    • Tron: USDT
  • Zero balances are omitted from assets.
6

Assets — list supported assets

Filter parameters (all optional):
Returned (brief):
7

Assets — single asset by id

Returned (brief): same TokenInfo object as in list items.
8

Fees — transfer fee quote

Token transfer example:
Tron memo example (optional memo field; on Tron this adds a fixed 1 TRX fee + extra bandwidth):
9

Transactions — live status by tx hash

Returned (brief):
10

Transactions — history by address

Returned (brief):
11

Transactions — send signed transaction

Notes:
  • Ethereum expects signedTx as 0x prefixed raw signed tx hex.
  • Tron expects signed tx hex; 0x prefix is accepted.
12

Transactions — prepare signing payload for transfers

This endpoint prepares an EVM signing payload for:
  • TRANSFER_NATIVE
  • TRANSFER_TOKEN
It calculates:
  • nonce (EVM only) if not provided
  • data for ERC20 transfers
  • fee params (EIP1559 by default when supported; legacy fallback when chain does not support)
  • a simulation check using gas estimation
Native transfer example:
Token transfer example:
Human-readable amount (alternative to amountWei):
Notes:
  • amountWei and amount are mutually exclusive — provide one or the other (at least one is required).
  • amount is a human-readable decimal string (e.g. "1.5"); the backend converts it to smallest units using the chain (native) or asset registry (token).
  • symbol is an optional decimal hint paired with amount for token transfers; never replaces tokenContract.
  • nonce is optional; if omitted or null, WalletSuite fetches it automatically for EVM.
  • For TRANSFER_TOKEN, tokenContract is required.
  • maxPriorityFeePerGasWei can be provided to speed up inclusion; otherwise the backend uses a suggested value.
  • priorityFeeMultiplier is an optional multiplier applied on top of maxPriorityFeePerGasWei or suggested tip.
13

Chains — list supported chains

Returned (brief):
Companion methods on the same surface:
14

Chains — fee policy

Read the chain’s recommended priority fee tiers before building or signing a transaction. Pair with quoteTransferFee for fiat conversion and prepareTransferSign to actually use a custom tip.
Returned (brief):
15

Approvals — get current allowance

Inspect how many tokens an owner has approved a spender to move on a given ERC-20 contract.
Returned (brief):
16

Approvals — check sufficiency

Compare current allowance to the requiredAmount for an upcoming spend. The backend returns a single boolean plus the gap so the client doesn’t need to compare BigInts.
Returned (brief):
17

Approvals — build approve transaction

Build the unsigned ERC-20 approve(spender, amount) calldata. Same prepare → sign → broadcast pattern as prepareTransferSign.
Returned (brief):
18

Asset status — enablement

Whether an asset is currently enabled on the platform, with a human-readable reason if disabled.
Returned (brief):
19

Asset status — per-action restrictions

Buy / sell / transfer / swap allowances per asset. Useful for compliance-aware UIs that hide or disable individual buttons.
Returned (brief):
20

Name service — resolve name to address

ENS, TNS, or any chain-specific name service the backend knows about. Names are normalized server-side (trimmed and lowercased).
Returned (brief):
21

Name service — reverse resolve

Look up the human-readable name an address advertises (if any).
Returned (brief):
22

Chain-specific — EVM token metadata by contract

Look up name / symbol / decimals for any ERC-20 contract, even ones outside the curated listAssets set. Useful when you only have a contract address from on-chain logs or a partner integration.
Returned (brief):
23

Chain-specific — Tron account resources

Energy and bandwidth used vs available for a Tron address. Decide whether to burn TRX as fee or stake for resources before sending a TRC-20 transfer.
Returned (brief):
24

Chain-specific — EVM L2 fee estimate

L2 chains (Optimism, Base, Arbitrum, etc.) charge an additional L1 data fee that’s not part of gasPrice * gasUsed. Estimate it before signing.
Returned (brief):
25

Staking — APR / APY

Current annual percentage rate and yield for native staking on the given chain. Caches at the source so two consecutive calls return the same numbers.
Returned (brief):
26

Staking — list validators

Active set of validators with commission and per-validator APR estimate.
Returned (brief):
27

Staking — positions by address

Every active and unbonding position for an address. unfreezeExpireTimeMs is set during the unstaking cooldown period.
Returned (brief):
28

Staking — build delegate transaction

Build an unsigned delegate (stake) transaction.
Returned (brief): same BuildStakingTxResponseDto shape as below — feedable directly into sdk.signEvmTransaction(...) for EVM staking chains or sdk.signTronTransaction(...) for Tron.
29

Staking — build undelegate transaction

Returned (brief): same BuildStakingTxResponseDto shape as the delegate step above.
30

Staking — build claim rewards transaction

validatorId is optional; omit to claim across every position the address holds.
Returned (brief): same BuildStakingTxResponseDto shape as the delegate step above.
31

NFTs — list collections owned by an address

Returned (brief):
32

NFTs — item metadata

Fetch a single NFT’s metadata (name, image, attributes) by contract + tokenId.
Returned (brief):
33

NFTs — owners of a token

For ERC-721 returns one owner; for ERC-1155 may return many with non-1 quantities.
Returned (brief):
34

NFTs — build transfer transaction

Builds the unsigned transferFrom (ERC-721) or safeTransferFrom (ERC-1155 / TRC-1155) calldata. For 1155 standards, set amount.
Returned (brief):
35

Swaps — list available tokens

Returned (brief):
36

Swaps — quote

Quote a swap and receive a quoteId to feed into getSwapRoute and buildSwapTransaction. provider is optional; the backend picks a best provider when omitted.
Returned (brief):
37

Swaps — route preview

Inspect the multi-hop route the backend will execute, including any approval that will be inserted as a prerequisite. Useful for building UI affordances (“you’ll be asked to approve USDC first”).
Returned (brief):
38

Swaps — build swap transaction

Build the final unsigned swap tx from a quoteId. If getSwapRoute indicated needsApproval, run buildApproveTransaction first and broadcast that approval before calling this one.
Returned (brief):