ATM Contracts
Integrate the Teller protocol liquidity pool into your application
Last updated
Integrate the Teller protocol liquidity pool into your application
Last updated
As part of the Teller protocol, depositors provide liquidity to decentralized, non-custodial markets within the Teller ATM to earn passive income or interest. Teller's non-custodial markets are, in essence, liquidity pools designated to an underlying asset. Assets within the ATM's liquidity pools can be borrowed through unsecured loans by connecting a bank account, or secured loans, by providing 20% collateral or more.
Developers can build applications that integrate with these liquidity pools. In order to allow users to deposit or withdraw their assets into a pool, the developer's application must call the functions located in the lending pool smart contract.
function deposit( uint256 amount )
amount
represents the amount of an asset that a user wishes to deposit into the liquidity pool.
Please note, the contract call should be made from the depositors' wallet address, as the minted tokens will be transferred tomsg.sender
Upon depositing assets to the protocol, tTokens representing proof of deposit are minted and given to the depositor in exchange.
Deposit process flow
function withdraw( uint256 amount )
Contrary to the deposit() method, and as the function's name suggests, amount
here represents the amount of an asset that a user wishes to withdraw from the liquidity pool.
Similar to the deposit() method, the contract call needs to be made from the depositors' address as the assets will be sent tomsg.sender
When a user initiates a withdrawal of their asset, their tTokens will be burned and their assets subsequently sent to their wallet address. Withdrawal process flow
Parameter Name
Type
Description
amount
uint256
The amount to be withdrawn
Parameter Name
Type
Description
amount
uint256
The amount to be deposited