coinsdeposit

Submit a validator deposit transaction

Send a transparent deposit(...) transaction to the deposit contract.

Signatures

# sync
w3.seismic.deposit(
    *,
    node_pubkey: bytes,
    consensus_pubkey: bytes,
    withdrawal_credentials: bytes,
    node_signature: bytes,
    consensus_signature: bytes,
    deposit_data_root: bytes,
    value: int,
    address: str = DEPOSIT_CONTRACT_ADDRESS,
) -> HexBytes

# async
await w3.seismic.deposit(...same args...) -> HexBytes

Required byte lengths

Parameter
Length

node_pubkey

32

consensus_pubkey

48

withdrawal_credentials

32

node_signature

64

consensus_signature

96

deposit_data_root

32

ValueError is raised on length mismatch.

Example

Notes

  • Uses transparent eth_sendTransaction semantics — deposit data is public, not shielded

  • value is deposit amount in wei (typically 32 * 10**18 for a full validator)

  • All parameters are keyword-only to prevent mix-ups between the many bytes arguments

See Also

Last updated