# Bancor V3 Technical Docs

## Bancor V3 Technical Docs

- [Bancor V3](https://docs.bancor.network/about-bancor-network/bancor-v3.md)
- [Bancor Basics](https://docs.bancor.network/about-bancor-network/faqs.md): Frequently asked questions about Bancor Protocol
- [About Bancor](https://docs.bancor.network/about-bancor-network/faqs/master.md): Bancor is the best DeFi staking protocol for passive income.
- [What Can I Do With Bancor?](https://docs.bancor.network/about-bancor-network/faqs/what-can-i-do-with-bancor.md)
- [Liquidity Pools](https://docs.bancor.network/about-bancor-network/faqs/liquidity-pools.md)
- [Single-Side Liquidity](https://docs.bancor.network/about-bancor-network/faqs/single-side-liquidity.md): Bancor supports Single-Sided Staking for any listed asset.
- [Why Use Bancor?](https://docs.bancor.network/about-bancor-network/faqs/why-use-bancor.md)
- [Resources](https://docs.bancor.network/about-bancor-network/faqs/resources.md): Learn about Bancor, use the protocol and engage with the community
- [Resources for DAOs](https://docs.bancor.network/about-bancor-network/resources-for-daos.md)
- [Token Whitelisting Requirements](https://docs.bancor.network/about-bancor-network/resources-for-daos/token-whitelisting-requirements.md)
- [Liquidity Mining](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining.md)
- [Auto Compounding Rewards](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/auto-compounding-rewards.md)
- [How Auto Compounding Rewards work](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/auto-compounding-rewards/how-auto-compounding-rewards-work.md)
- [How to Create an Auto Compounding Rewards Program](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/auto-compounding-rewards/how-to-create-an-auto-compounding-rewards-program.md)
- [Custom Rewards Programs](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/auto-compounding-rewards/custom-rewards-programs.md)
- [Dual Liquidity Mining](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/dual-liquidity-mining.md)
- [Standard (External) Rewards](https://docs.bancor.network/about-bancor-network/resources-for-daos/liquidity-mining/standard-external-rewards.md)
- [Security & Audits](https://docs.bancor.network/about-bancor-network/security-and-audits.md)
- [Multisig Rights](https://docs.bancor.network/about-bancor-network/security-and-audits/multisig-rights.md)
- [Oracles](https://docs.bancor.network/about-bancor-network/security-and-audits/oracles.md)
- [DAO MSIG Intervention Policy](https://docs.bancor.network/about-bancor-network/security-and-audits/dao-msig-intervention-policy.md)
- [Contracts](https://docs.bancor.network/developer-guides/contracts.md)
- [Write Functions](https://docs.bancor.network/developer-guides/write-functions.md)
- [Transaction Prerequisites](https://docs.bancor.network/developer-guides/write-functions/transaction-prerequisites.md): Before interacting with a blockchain smart contract, you need approval
- [approve() / allowance()](https://docs.bancor.network/developer-guides/write-functions/transaction-prerequisites/approve-allowance.md): Give permission for a contract to access your wallet
- [Trading](https://docs.bancor.network/developer-guides/write-functions/trading.md): 2 function that enable trade flexibility
- [tradeBySourceAmount()](https://docs.bancor.network/developer-guides/write-functions/trading/trading-with-bancor.md): Trade an exact amount of source tokens for as many target tokens as possible
- [tradeByTargetAmount()](https://docs.bancor.network/developer-guides/write-functions/trading/tradebytargetamount.md): Trade target tokens for the least amount of source tokens possible
- [Trading Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/trading/trading-troubleshooting.md): Common errors for trading on Bancor v3
- [Adding Liquidity](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity.md): Provide liquidity with only one asset
- [deposit()](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity/deposit.md): Deposit tokens for ownership in a liquidity pool
- [depositFor()](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity/depositfor.md): Deposit tokens on behalf of a different address
- [Deposit Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity/deposit-troubleshooting.md): Common errors for adding liquidity in Bancor v3
- [depositAndJoin()](https://docs.bancor.network/developer-guides/write-functions/adding-liquidity/depositandjoin.md): This function is in the StandardRewards.sol contract.
- [Removing Liquidity](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity.md): Initiating withdrawal and the withdrawal process
- [Initiating Cooldown](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity/initiating-cooldown.md): Stake pool tokens in withdrawal contracts with Bancor
- [initWithdrawal()](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity/initiating-cooldown/initwithdrawal.md): Functions on the PendingWithdrawals contract
- [withdraw()](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity/withdraw.md): Withdrawing funds
- [cancelWithdrawal()](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity/cancelwithdrawal.md): This function is in the BancorNetwork.sol contract
- [Withdraw Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/removing-liquidity/withdraw-troubleshooting.md): Common errors for removing liquidity in Bancor v3
- [Flashloan](https://docs.bancor.network/developer-guides/write-functions/flashloan.md): In a single block, borrow capital and return it with an additional fee
- [flashLoan()](https://docs.bancor.network/developer-guides/write-functions/flashloan/flashloan.md): Borrow an indicated amount from the liquidity pool
- [Flashloan Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/flashloan/flashloan-troubleshooting.md): Common errors for flash loans in Bancor v3
- [Migrating Liquidity to v3](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3.md)
- [Migrating Bancor positions to v3](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-bancor-positions-to-v3.md): Enable the migration of user liquidity
- [migratePositions()](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-bancor-positions-to-v3/migratepositions.md): Migrate Bancor v2.1 pool tokens to Bancor v3
- [migratePoolTokens()](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-bancor-positions-to-v3/migratepooltokens.md): Migrate Bancor v1 pool tokens to Bancor v3
- [Errors and Troubleshooting](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-bancor-positions-to-v3/errors-and-troubleshooting.md): Common errors for migrating Bancor positions from previous versions
- [Migrating from Uniswap v2](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-from-uniswap-v2.md)
- [migrateUniswapV2Position()](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-from-uniswap-v2/migrateuniswapv2position.md): Common errors for migrating Uniswap v2 positions to Bancor v3
- [Migrating from Sushiswap](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-from-sushiswap.md)
- [migrateSushiSwapV1Position()](https://docs.bancor.network/developer-guides/write-functions/migrating-liquidity-to-v3/migrating-from-sushiswap/migratesushiswapv1position.md): Common errors for migrating SushiSwap positions to Bancor v3
- [Rewards](https://docs.bancor.network/developer-guides/write-functions/rewards.md)
- [join()](https://docs.bancor.network/developer-guides/write-functions/rewards/join.md): This function is in the StandardRewards.sol contract.
- [stakeRewards()](https://docs.bancor.network/developer-guides/write-functions/rewards/stakerewards.md): This function is in the StandardRewards.sol contract.
- [autoProcessRewards()](https://docs.bancor.network/developer-guides/write-functions/rewards/autoprocessrewards.md): This function is in the AutoCompoundingRewards.sol contract.
- [claimRewards()](https://docs.bancor.network/developer-guides/write-functions/rewards/claimrewards.md): This function is in the StandardRewards.sol contract.
- [leave()](https://docs.bancor.network/developer-guides/write-functions/rewards/leave.md): This function is in the StandardRewards.sol contract.
- [Surplus migration](https://docs.bancor.network/developer-guides/write-functions/surplus-migration.md)
- [withdrawPOL()](https://docs.bancor.network/developer-guides/write-functions/surplus-migration/withdrawpol.md)
- [Network Fees](https://docs.bancor.network/developer-guides/write-functions/network-fees.md)
- [burnNetworkFees()](https://docs.bancor.network/developer-guides/write-functions/network-fees/burnnetworkfees.md)
- [Read Functions](https://docs.bancor.network/developer-guides/read-functions.md): Use read functions to simulate an on-chain response
- [Rewards](https://docs.bancor.network/developer-guides/read-functions/rewards.md): Reward programs supported by Bancor v3
- [Standard rewards](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards.md)
- [Identify if a program exists](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/identify-if-a-program-exists.md)
- [Auto Compounding](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/identify-if-a-program-exists/auto-compounding.md): Check if a pool has a rewards program
- [Standard Rewards](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/identify-if-a-program-exists/standard-rewards.md): List reward programs for token pools
- [programIds()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/programids.md): This function is in the StandardRewards.sol contract.
- [programs()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/programs.md): This function is in the StandardRewards.sol contract.
- [providerProgramIds()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/providerprogramids.md): This function is in the StandardRewards.sol contract.
- [pendingRewards()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/pendingrewards.md): This function is in the StandardRewards.sol contract.
- [latestProgramId()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/latestprogramid.md): This function is in the StandardRewards.sol contract.
- [isProgramActive()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/isprogramactive.md): This function is in the StandardRewards.sol contract.
- [isProgramEnabled()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/isprogramenabled.md): This function is in the StandardRewards.sol contract.
- [providerStake()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/providerstake.md): This function is in the StandardRewards.sol contract.
- [programStake()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/programstake.md): This function is in the StandardRewards.sol contract.
- [providerRewards()](https://docs.bancor.network/developer-guides/read-functions/rewards/standard-rewards/providerrewards.md): This function is in the StandardRewards.sol contract.
- [Auto compounding rewards](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards.md)
- [bnToken balance](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/bntoken-balance.md)
- [isProgramActive()](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/isprogramactive.md)
- [isProgramPaused()](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/isprogrampaused.md)
- [pools()](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/pools.md)
- [program()](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/program.md)
- [programs()](https://docs.bancor.network/developer-guides/read-functions/rewards/auto-compounding-rewards/programs.md)
- [Liquidity Pool Details](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details.md): This section includes read functions that provide details about liquidity pools.
- [liquidityPools()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/liquiditypools.md): This function is in the BancorNetwork.sol contract.
- [isPoolValid()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/ispoolvalid.md): This function is in the BancorNetwork.sol contract.
- [isPoolStable()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/ispoolstable.md): This function is in the BancorNetworkInfo.sol contract.
- [tradingLiquidity()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/tradingliquidity.md): This function is in the BancorNetworkInfo.sol contract.
- [depositingEnabled()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/depositingenabled.md): This function is in the BancorNetworkInfo.sol contract.
- [poolFundingLimit()](https://docs.bancor.network/developer-guides/read-functions/liquidity-pool-details/poolfundinglimit.md): Bancor v3 supports infinity pools and deposits
- [Trades](https://docs.bancor.network/developer-guides/read-functions/trades.md): These functions return the expected results of a trade.
- [tradeOutputBySourceAmount()](https://docs.bancor.network/developer-guides/read-functions/trades/tradeoutputbysourceamount.md)
- [tradeInputByTargetAmount()](https://docs.bancor.network/developer-guides/read-functions/trades/tradeinputbytargetamount.md)
- [tradingEnabled()](https://docs.bancor.network/developer-guides/read-functions/trades/tradingenabled.md): This function is in the BancorNetworkInfo.sol contract.
- [tradingFeePMM()](https://docs.bancor.network/developer-guides/read-functions/trades/tradingfeepmm.md): This function is in the BancorNetworkInfo.sol contract.
- [Withdrawals](https://docs.bancor.network/developer-guides/read-functions/withdrawals.md): This section includes withdrawal-related read functions.
- [isReadyForWithdrawal()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/isreadyforwithdrawal.md): This function is in both PendingWithdrawals.sol and BancorNetworkInfo.sol.
- [withdrawalRequest()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/withdrawalrequest.md): This function is in the PendingWithdrawals.sol contract.
- [withdrawalAmounts()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/withdrawalamounts.md): This function is in the BancorNetworkInfo.sol contract.
- [withdrawalRequestIds()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/withdrawalrequestids.md): This function is in the PendingWithdrawals.sol contract.
- [withdrawalRequestCount()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/withdrawalrequestcount.md): This function is in the PendingWithdrawals.sol contract.
- [lockDuration()](https://docs.bancor.network/developer-guides/read-functions/withdrawals/lockduration.md): This function is in the PendingWithdrawals.sol contract.
- [Pool Token Information](https://docs.bancor.network/developer-guides/read-functions/pool-token-information.md): This section includes read functions that return information about pool tokens.
- [poolToken()](https://docs.bancor.network/developer-guides/read-functions/pool-token-information/pooltoken.md): This function is found in the BancorNetworkInfo.sol contract.
- [collectionByPool()](https://docs.bancor.network/developer-guides/read-functions/pool-token-information/collectionbypool.md): This function is found in the BancorNetworkInfo.sol contract.
- [poolTokenToUnderlying()](https://docs.bancor.network/developer-guides/read-functions/pool-token-information/pooltokentounderlying.md)
- [underlyingToPoolToken()](https://docs.bancor.network/developer-guides/read-functions/pool-token-information/underlyingtopooltoken.md): This function is found in the BancorNetworkInfo.sol contract.
- [Vortex](https://docs.bancor.network/developer-guides/read-functions/vortex.md): This section includes read functions related to the Bancor Vortex.
- [pendingNetworkFeeAmount()](https://docs.bancor.network/developer-guides/read-functions/vortex/pendingnetworkfeeamount.md): This function is in the BancorNetwork.sol contract.
- [minNetworkFeeBurn()](https://docs.bancor.network/developer-guides/read-functions/vortex/minnetworkfeeburn.md)
- [Surplus whitelist](https://docs.bancor.network/developer-guides/read-functions/surplus-whitelist.md)
- [protectedTokenWhitelist()](https://docs.bancor.network/developer-guides/read-functions/surplus-whitelist/protectedtokenwhitelist.md)
- [Data & Events](https://docs.bancor.network/developer-guides/data-and-events.md)
- [General Data](https://docs.bancor.network/developer-guides/data-and-events/general-data.md): Using data to trigger events from a smart contract
- [contextId](https://docs.bancor.network/developer-guides/data-and-events/general-data/contextid.md): The unique value contexid logs data events
- [Trading Data](https://docs.bancor.network/developer-guides/data-and-events/trading-data.md): The event to track trades on the Bancor Network
- [event TokensTraded()](https://docs.bancor.network/developer-guides/data-and-events/trading-data/event-tokenstraded.md): This function fires an event after a token is successfully swapped
- [Liquidity Data](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data.md): The events to track liquidity data
- [TotalLiquidityUpdated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/totalliquidityupdated.md)
- [TradingLiquidityUpdated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/tradingliquidityupdated.md)
- [TokensDeposited()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/tokensdeposited.md)
- [TokensWithdrawn()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/tokenswithdrawn.md)
- [WithdrawalInitiated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/withdrawalinitiated.md)
- [WithdrawalCancelled()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/withdrawalcancelled.md)
- [WithdrawalCompleted()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/withdrawalcompleted.md)
- [LockDurationUpdated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/lockdurationupdated.md)
- [Cross AMM Migration Data](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/cross-amm-migration-data.md)
- [UniswapV2PositionMigrated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/cross-amm-migration-data/uniswapv2positionmigrated.md)
- [SushiswapV1PositionMigrated()](https://docs.bancor.network/developer-guides/data-and-events/liquidity-data/cross-amm-migration-data/sushiswapv1positionmigrated.md)
- [Flashloan Data](https://docs.bancor.network/developer-guides/data-and-events/flashloan-data.md)
- [FlashLoanCompleted()](https://docs.bancor.network/developer-guides/data-and-events/flashloan-data/flashloancompleted.md)
- [FlashLoanFeePPMUpdated()](https://docs.bancor.network/developer-guides/data-and-events/flashloan-data/flashloanfeeppmupdated.md)
- [Rewards](https://docs.bancor.network/developer-guides/data-and-events/rewards.md): Events & data points related to rewards
- [Staking and Unstaking](https://docs.bancor.network/developer-guides/data-and-events/rewards/staking-and-unstaking.md)
- [Event ProviderJoined()](https://docs.bancor.network/developer-guides/data-and-events/rewards/staking-and-unstaking/event-providerjoined.md)
- [Event ProviderLeft()](https://docs.bancor.network/developer-guides/data-and-events/rewards/staking-and-unstaking/event-providerleft.md)
- [Claiming and Restaking Rewards](https://docs.bancor.network/developer-guides/data-and-events/rewards/claiming-and-restaking-rewards.md)
- [Event RewardsClaimed()](https://docs.bancor.network/developer-guides/data-and-events/rewards/claiming-and-restaking-rewards/event-rewardsclaimed.md)
- [Event RewardsStaked()](https://docs.bancor.network/developer-guides/data-and-events/rewards/claiming-and-restaking-rewards/event-rewardsstaked.md)
- [Bancor Vortex Burner](https://docs.bancor.network/guides/triggering-the-bancor-vortex-burner.md): How to trigger a vBNT burn via the VortexBurner contract
- [Bancor Etherscan Guide](https://docs.bancor.network/guides/bancor-etherscan-guide.md)
- [Etherscan Basics](https://docs.bancor.network/guides/bancor-etherscan-guide/etherscan-basics.md)
- [Deposit](https://docs.bancor.network/guides/bancor-etherscan-guide/deposit.md)
- [Deposit and Join](https://docs.bancor.network/guides/bancor-etherscan-guide/deposit-and-join.md)
- [Rewards: Joining Standard Rewards](https://docs.bancor.network/guides/bancor-etherscan-guide/rewards-joining-standard-rewards.md)
- [Rewards: Stake & Claim](https://docs.bancor.network/guides/bancor-etherscan-guide/rewards-stake-and-claim.md)
- [Rewards: Leaving the Rewards Contract](https://docs.bancor.network/guides/bancor-etherscan-guide/rewards-leaving-the-rewards-contract.md)
- [Withdrawing Tokens](https://docs.bancor.network/guides/bancor-etherscan-guide/withdrawing-tokens.md)
- [Initiating the Withdrawal](https://docs.bancor.network/guides/bancor-etherscan-guide/withdrawing-tokens/initiating-the-withdrawal.md)
- [Completing the Withdrawal](https://docs.bancor.network/guides/bancor-etherscan-guide/withdrawing-tokens/completing-the-withdrawal.md)
- [Migrating V2.1 Positions](https://docs.bancor.network/guides/bancor-etherscan-guide/migrating-v2.1-positions.md)
- [Rewards: Auto Compounding Rewards Distribution](https://docs.bancor.network/guides/bancor-etherscan-guide/rewards-auto-compounding-rewards-distribution.md)
- [REST API](https://docs.bancor.network/guides/rest-api.md)
- [API Reference](https://docs.bancor.network/guides/rest-api/api-reference.md)
- [DLT Identifier](https://docs.bancor.network/guides/rest-api/dlt-identifier.md)
