Managed Signing
Get Wallet Balance

Get Wallet Balance

GET
https://api-prod.useknit.io/api/v1/managed-signing/wallets/{walletId}/balance
Scopemanaged-signing:readAuthBearer token

This endpoint fetches the balance of a single token for an EVM wallet. This is a live query to the blockchain — no balance data is stored locally.

Path Parameters

ParameterTypeRequiredDescription
walletIdstringYesThe local wallet ID returned by create/list endpoints

Query Parameters

ParameterTypeRequiredDescription
networkstringYesTarget network (e.g., ETH_MAINNET, MATIC_MAINNET)
contractAddressstringNoERC20 token contract address
tokenSymbolstringNoToken symbol (e.g., USDC, USDT)

Note: If both contractAddress and tokenSymbol are provided, contractAddress takes precedence. If only tokenSymbol is provided, the token is resolved from the supported tokens for that network.

Request

curl "https://api-prod.useknit.io/api/v1/managed-signing/wallets/<local-wallet-id>/balance?network=ETH_MAINNET&tokenSymbol=USDC" \
  -H "Authorization: Bearer $KNIT_ACCESS_TOKEN" \
  -H "Accept: application/json"

Response

Response
{
  "statusCode": 200,
  "message": "Wallet balance fetched",
  "data": {
    "tokenAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
    "tokenSymbol": "USDC",
    "decimals": 6,
    "balanceRaw": "1200000",
    "balanceFormatted": "1.2"
  },
  "success": true
}

Response Fields

FieldTypeDescription
tokenAddressstringERC20 token contract address
tokenSymbolstringToken symbol
decimalsnumberToken decimal places
balanceRawstringRaw balance in base units (e.g., wei)
balanceFormattedstringHuman-readable balance

Common Errors

StatusMessageDescription
400network is requiredMissing required network query parameter
400Unsupported network ...Network not in supported list
400Wallet is not active on network ...Wallet not configured for the requested network
400Provide contractAddress, or provide tokenSymbol...Missing token identifier
404Wallet not foundInvalid or non-existent wallet ID