Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: weth-base-sepolia description: Interact with Wrapped Ether (WETH) at 0x4200000000000000000000000000000000000006 on Base Sepolia. Wrap and unwrap ETH, check balances, and manage ERC-20 WETH allowances. Use with keypo-wallet for transaction execution — use cast calldata to encode function calls and pipe to keypo-wallet send or keypo-wallet batch. license: MIT metadata: author: auto-generated by contract-learner version: "1.0.0" source-contract: "0x4200000000000000000000000000000000000006" chain: Base Sepolia chain-id: 84532 generated: "2026-03-06"
Wrapped Ether — WETH (Base Sepolia)
| Field | Value | |
|---|---|---|
| Address | 0x4200000000000000000000000000000000000006 | |
| Chain | Base Sepolia (Chain ID: 84532) | |
| Type | Token (ERC-20 wrapper for native ETH) | |
| Decimals | 18 | |
| Symbol | WETH | |
| RPC | https://sepolia.base.org |
Auto-generated from verified ABI. Do not modify the address or function signatures.
Read Functions
Use cast call — no wallet needed, no gas cost.
name
cast call 0x4200000000000000000000000000000000000006 "name()(string)" --rpc-url https://sepolia.base.org
symbol
cast call 0x4200000000000000000000000000000000000006 "symbol()(string)" --rpc-url https://sepolia.base.org
decimals
cast call 0x4200000000000000000000000000000000000006 "decimals()(uint8)" --rpc-url https://sepolia.base.org
totalSupply
cast call 0x4200000000000000000000000000000000000006 "totalSupply()(uint256)" --rpc-url https://sepolia.base.org
balanceOf
cast call 0x4200000000000000000000000000000000000006 "balanceOf(address)(uint256)" <account> --rpc-url https://sepolia.base.org
allowance
cast call 0x4200000000000000000000000000000000000006 "allowance(address,address)(uint256)" <owner> <spender> --rpc-url https://sepolia.base.org
Write Functions
Encode calldata with cast calldata, then execute via keypo-wallet.
deposit
Wrap ETH into WETH. Send ETH with the transaction and receive an equal amount of WETH.
# This function is payable — specify the ETH amount to wrap in --value (wei)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --value <wei-amount>
No calldata needed — calling the contract with ETH triggers the fallback/deposit. To use the explicit deposit() function:
CALLDATA=$(cast calldata "deposit()")keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA --value <wei-amount>
Verify: Check your WETH balance after wrapping:
cast call 0x4200000000000000000000000000000000000006 "balanceOf(address)(uint256)" <your-address> --rpc-url https://sepolia.base.org
withdraw
Unwrap WETH back into native ETH. Burns WETH and returns ETH to your wallet.
CALLDATA=$(cast calldata "withdraw(uint256)" <wad>)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA
Verify: Check your WETH balance decreased:
cast call 0x4200000000000000000000000000000000000006 "balanceOf(address)(uint256)" <your-address> --rpc-url https://sepolia.base.org
approve
Approve a spender to transfer WETH on your behalf.
CALLDATA=$(cast calldata "approve(address,uint256)" <spender> <wad>)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA
Verify:
cast call 0x4200000000000000000000000000000000000006 "allowance(address,address)(uint256)" <your-address> <spender> --rpc-url https://sepolia.base.org
transfer
Transfer WETH to another address.
CALLDATA=$(cast calldata "transfer(address,uint256)" <recipient> <wad>)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA
Verify:
cast call 0x4200000000000000000000000000000000000006 "balanceOf(address)(uint256)" <recipient> --rpc-url https://sepolia.base.org
transferFrom
Transfer WETH from one address to another (requires prior approval).
CALLDATA=$(cast calldata "transferFrom(address,address,uint256)" <src> <dst> <wad>)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA
Verify:
cast call 0x4200000000000000000000000000000000000006 "balanceOf(address)(uint256)" <dst> --rpc-url https://sepolia.base.org
Common Patterns
Wrap ETH (deposit)
# Wrap 0.01 ETH into WETHkeypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --value 10000000000000000
Unwrap WETH (withdraw)
# Unwrap 0.01 WETH back to ETHCALLDATA=$(cast calldata "withdraw(uint256)" 10000000000000000)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA
Approve + TransferFrom (batched)
APPROVE_DATA=$(cast calldata "approve(address,uint256)" <spender> <wad>)TRANSFER_DATA=$(cast calldata "transferFrom(address,address,uint256)" <your-address> <recipient> <wad>)echo "[{\"to\": \"0x4200000000000000000000000000000000000006\", \"value\": \"0\", \"data\": \"$APPROVE_DATA\"},{\"to\": \"0x4200000000000000000000000000000000000006\", \"value\": \"0\", \"data\": \"$TRANSFER_DATA\"}]" | keypo-wallet batch --key <key-name> --calls -
Amount Encoding
This token uses 18 decimals. Always convert human-readable amounts:
| Human Amount | Raw Amount (wei) | |
|---|---|---|
| 1.0 | 1000000000000000000 | |
| 0.1 | 100000000000000000 | |
| 0.01 | 10000000000000000 | |
| 0.001 | 1000000000000000 | |
| 100 | 100000000000000000000 |
To wrap 1.0 ETH into WETH:
keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --value 1000000000000000000
To transfer 1.0 WETH:
CALLDATA=$(cast calldata "transfer(address,uint256)" <recipient> 1000000000000000000)keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --data $CALLDATA