Skip to content
Sign in
← All help articles

Crypto wallets

FullFi tracks a wallet by its public address alone. What it reads, from where, on which networks, and what it can't read yet.

A public address is all it takes

To track a wallet, paste its public address on the Wallets page: 0x… on EVM networks, or a Solana address. FullFi never asks for a signature or a private key, and it can't move anything. It only reads.

A wallet you sign in with isn't tracked automatically. FullFi offers to track it too, and tracking it is still read-only.

Each tracked wallet is an account in your ledger, so its balances count in your net worth and its activity lands in the same ledger as your bank accounts. Stop tracking keeps its history in your ledger, and adding the address again picks it back up.

What FullFi reads, and from where

  • Balances and token transfers come from the network itself, through the RPC provider this server uses for that network.
  • Transfers of a network's own coin (such as ETH or BNB) and gas fees on EVM networks come from Etherscan, when this server has it set up. Etherscan then sees the addresses of the wallets you track. Without it, they show up as a balance adjustment.
  • On Solana, every transaction is read from the network: SOL and token transfers, network fees, and stake accounts.
  • Prices come from CoinGecko, once a day, only if this server has the feed set up and you turn it on in Settings. See multiple currencies.

FullFi reads the chain when you select Sync now, right after you add a wallet, and once a day if you turn on daily sync in Settings. A network this server has no RPC provider for doesn't appear in the list when you add a wallet.

How activity is recorded

  • Only listed tokens are counted. Transfers of tokens FullFi doesn't list yet are kept, but not counted, and the wallet says how many there are.
  • Gas is its own expense under Network fees, failed transactions included. It's never folded into the transfer it paid for.
  • Moves between your own wallets are transfers, never income or spending. Bridges are covered in transfers and card payments.
  • Unknown contract interactions are never dropped. Something FullFi can't read yet is imported as an "Unknown contract interaction" with every change it made, waiting for you to classify it.
  • Not final until the chain says so. Activity in a block the network hasn't finalized yet is pending. It settles once the block is final, and is cancelled if the network drops it.

Positions and rewards

  • Uniswap v3 liquidity positions are investments inside the wallet. Fees earned but not collected count as accrued income, and collecting them never counts them twice. See Realized and Total.
  • Aave v3 and Compound v3: what you supply is an investment, what you borrow is a loan, and interest accrues on each until you withdraw or repay.
  • Lido stETH rewards count as income as they arrive. wstETH doesn't rebase, so its gain shows as a price change.
  • Solana stake accounts: staking and unstaking are transfers, and each epoch's reward is income when it's credited. JitoSOL and mSOL don't pay rewards out, so their gain shows as a price change.

Supported networks

This list is generated from the same configuration FullFi's sync uses, so it's always current. Each network is read only when this server has an RPC provider for it.

Chains and the tokens read on each

  • Ethereum: ETH, USDC, USDT, DAI, WETH, stETH, wstETH, COMP
  • Base: ETH, USDC, WETH, wstETH, COMP
  • Arbitrum One: ETH, USDC, WETH, wstETH, COMP
  • OP Mainnet: ETH, USDC, WETH, wstETH
  • Polygon: POL, USDC, WETH, wstETH, COMP
  • zkSync Era: ETH, USDC, WETH, wstETH
  • BNB Smart Chain: BNB, USDC, USDT, WBNB
  • Avalanche C-Chain: AVAX, USDC, USDt, WAVAX
  • Linea: ETH, USDC, USDT, WETH
  • Scroll: ETH, USDC, USDT, WETH
  • Gnosis: xDAI, USDC.e, USDT, WETH, WXDAI
  • Solana: SOL, USDC, USDT, PYUSD, JitoSOL, mSOL, JUP, BONK, wSOL

Protocols

  • Uniswap v3 liquidity positions: Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, zkSync Era, BNB Smart Chain, Avalanche C-Chain, and Linea
  • Aave v3 lending and borrowing: Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, zkSync Era, BNB Smart Chain, Avalanche C-Chain, Linea, Scroll, and Gnosis
  • Compound v3 lending and borrowing: Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, Linea, and Scroll
  • Lido stETH staking rewards: Ethereum
  • Native staking (stake accounts): Solana

Bridges

  • Across, sent from Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, zkSync Era, BNB Smart Chain, Avalanche C-Chain, Linea, and Scroll
  • Circle CCTP, sent from Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, Avalanche C-Chain, and Linea
  • Stargate, sent from Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, BNB Smart Chain, Avalanche C-Chain, Scroll, and Gnosis
  • The Arbitrum bridge, sent from Ethereum
  • Lido's wstETH bridge, sent from Ethereum
  • The OP Stack standard bridge, sent from Ethereum

Coin transfers and gas on EVM networks

When this server reads Etherscan, transfers of a network's own coin and gas fees are read on Ethereum, Base, Arbitrum One, OP Mainnet, Polygon, BNB Smart Chain, Avalanche C-Chain, Linea, and Gnosis. On zkSync Era and Scroll, Etherscan doesn't serve them, so they show up as a balance adjustment.

Known limits

  • zkSync Era and Scroll: Etherscan doesn't serve them, so coin transfers, coin bridged in or out, and gas there show up as a balance adjustment rather than as their own transactions. Each wallet there says so.
  • Bridges are recognized when you send from an EVM network. The Solana side of a bridge isn't read yet.
  • Plain coin bridges (ETH rather than a token) are seen only when this server reads Etherscan.
  • Polygon has no recognized wrapping: its native coin is POL, and its WETH is a bridged token.
  • Token-for-token swaps FullFi doesn't recognize yet show as money out and money in against unknown addresses, waiting for you to classify them.