Guides/EVM/Precompiles

Balance transfer

Reference for the deployed BalanceTransferPrecompile.

View as Markdown
PropertyValue
Rust implementationBalanceTransferPrecompile
Solidity interfaceISubtensorBalanceTransfer
Address0x0000000000000000000000000000000000000800
StatusDeployed

Transfers the EVM call value to the Substrate account supplied as a 32-byte public key.

Functions

FunctionMutability
transfer(bytes32)payable

Added operations

FunctionSource extrinsic
transferKeepAliveBalances.transfer_keep_alive
transferAllBalances.transfer_all

The existing transfer(bytes32) semantically covers Balances.transfer_allow_death by taking the amount from attached EVM value. The added functions use explicit typed arguments where attached value does not express the complete source operation. They dispatch the highest-level Balances call as the mapped signer. force_transfer requires Root and the feature-gated development faucet is not part of the production interface.

Source: balanceTransfer.sol