skills/keypo-us/keypo-wallet/weth-base-sepolia

weth-base-sepolia

SKILL.md

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 WETH
keypo-wallet send --key <key-name> --to 0x4200000000000000000000000000000000000006 --value 10000000000000000

Unwrap WETH (withdraw)

# Unwrap 0.01 WETH back to ETH
CALLDATA=$(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
Weekly Installs
1
GitHub Stars
169
First Seen
13 days ago
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1