Transferring Multiple Bean Deposits

Last edited by
Last edited time
Oct 21, 2022 5:36 AM

Per BIP-22, Beanstalk Farms contributors are compensated with Deposits.

  1. Use the Payroll Calculator tab in the Payroll Spreadsheet to determine contributor pay for a given period. The calculated payment amounts and Seasons to Transfer Deposits from will be recorded in the Payment Record tab and shared with the BFM. See
    Using the BF Payroll Spreadsheet
    for additional details.
  2. Please wait for confirmation that Operations has verified the correctness of payroll amounts prior to proceeding.
  3. Go to the Apps page in Gnosis Safe and search for Transaction Builder, and select it.
  4. Enter the Beanstalk contract address and ABI:
    1. Contract address: 0xC1E088fC1323b20BCBee9bd1B9fC9546db5624C5
    2. ABI (paste the raw JSON from this link): https://raw.githubusercontent.com/BeanstalkFarms/Beanstalk/master/protocol/abi/Beanstalk.json
  5. Fill in the form fields for the first Deposit transfer
    1. image
    2. To Address: 0xC1E088fC1323b20BCBee9bd1B9fC9546db5624C5 (should be auto-populated as the Beanstalk contract address)
    3. ETH value: set to 0
    4. Contract Method Selector: select transferDeposit
    5. sender (address): 0x21DE18B6A8f78eDe6D16C50A167f6B222DC08DF7 (the BFM address)
    6. recipient: the contributor’s address
    7. token: 0xBEA0000029AD1c77D3d5D23Ba2D8893dB9d1Efab (the Bean token address)
    8. season: the Season of the Deposit being transferred (you can check this using WalletConnect)
    9. amount: the amount of Deposited Beans to transfer, with six zeroes at the end. That is, if 1000 Beans need to be transferred, enter 1000000000.
  6. Select Add Transaction and repeat for all active contributor addresses/amounts.
  7. After adding all transactions, select Create Batch.
  8. Select Simulate to see whether or not the transaction can be successfully simulated.
  9. On this screen, take screenshots of each transaction (without the address obscured) and drop them in the BFM chat along with a screenshot from the Payroll Spreadsheet with the address/amount pairs for someone else to verify as well.
    1. Alternatively, you can download the transaction batch JSON which contains the same information. Remove the extraneous sections and use a JSON formatter prior to sharing with the BFM.
    2. "contractInputsValues": {
          "sender": "0x21DE18B6A8f78eDe6D16C50A167f6B222DC08DF7",
          "recipient": "0x0000000000000000000000000000000000000000",
          "token": "0xBEA0000029AD1c77D3d5D23Ba2D8893dB9d1Efab",
          "season": "7562",
          "amount": "10000000000"
      "contractInputsValues": {
          "sender": "0x21DE18B6A8f78eDe6D16C50A167f6B222DC08DF7",
          "recipient": "0x0000000000000000000000000000000000000000",
          "token": "0xBEA0000029AD1c77D3d5D23Ba2D8893dB9d1Efab",
          "season": "7562",
          "amount": "10000000000"
  10. Select Send Batch.
  11. Select Submit and sign the messages.
  12. The transaction will now appear in the transaction queue.