Contract Addresses

withdrawals to contract addresses

Finrock does not allow withdrawals to smart contract addresses by design. This policy helps protect your funds, keep costs predictable, and support compliance obligations.

Security

  • Smart contracts are not normal wallets and often require specific functions to receive funds. If you send funds directly from your wallet to a contract, they can become stuck and unrecoverable.
  • Many contracts can be upgraded, paused, or exploited. Blocking direct withdrawals to them reduces the chance your payout ends up in a vulnerable or malicious contract.

Gas fees and failed transactions

  • Sending to contracts usually costs more gas than sending to regular wallets because the contract code must run on-chain. This can make withdrawals unexpectedly expensive.
  • Contract calls can also fail due to incorrect or inadequate parameters or logic, but you still pay gas. By only allowing simple transfers, you can keep fees clearer and reduce failed, chargeable transactions.

Compliance and transparency

  • Regulations increasingly require businesses to know who they are sending funds to and from. Smart contracts typically do not represent identified customers or businesses.
  • Once funds go into complex DeFi contracts or mixers, they are harder to trace and monitor. Restricting withdrawals to regular wallets helps Finrock and its clients maintain stronger AML, sanctions, and audit controls.

General Advice

  • If your customers want to interact with smart contracts, they can first withdraw from your wallet to their wallet, then connect that wallet to DeFi apps or other contracts under their own policies and risk controls.
  • If you still wish to send funds to contract addresses, you can change this setting from your Finrock Account as shown below.