> For the complete documentation index, see [llms.txt](https://docs.tokensfarm.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tokensfarm.com/for-developers/tokensfarmsdk/deposit.md).

# Deposit

* There is two way to make a deposit on contracts, depends if warmup is enabled or not
* If `warmupPeriod == 0` contract admin needs to make a deposit through function called `ISDK(farmAddress).deposit()`

  ```solidity
  function deposit(address _user, uint256 amount)
  ```

  &#x20;After that stake is remembered and user starts earning immediately
* If `warmupPeriod > 0` contract admin needs to make deposit through function called `ISDK(farmAddress).makeDepositRequest`

  ```solidity
  function makeDepositRequest(
     address _user,
     uint256 amount
  )
  ```

  &#x20;After that `warmupPeriod` needs to pass in order for BE or contract admin to call function `ISDK(farmAddress).finaliseDeposit`&#x20;

  ```solidity
  function finaliseDeposit(
      address _user,    
      uint256 stakeId
  )
  ```

  once that function is executed user can start earning rewards and his stakes i acknowledged&#x20;
