Skip to main content
Most ERC-20 tokens require an allowance before the Boring Vault contract can pull funds. prepareApproveDepositToken and prepareDepositTransactionData combine into the standard two-transaction flow.

Sequence Overview

  • approval returns { abi, address, functionName: 'approve', args }. args[0] is the vault spender.
  • deposit returns { abi, address, functionName: 'deposit', args, chainId }.
  • Skip the approval if the allowance is already ≥ deposit.args[1].

React with Privy

React with wagmi

React with viem

Prefer a permit flow to skip approvals? Jump to Deposit with Permit.***