The seid q evm subcommands let you read EVM state — token data, address associations, and transactions — without sending a transaction or running your own node.
Prerequisites
If your machine is not running a Sei node, append the --node flag to every seid q evm command, pointing at a Sei Cosmos RPC endpoint (the same kind used by seid status):
The one exception is seid q evm tx, which uses --evm-rpc to point at an EVM JSON-RPC endpoint (port 8545 by convention). See Transaction Lookup below.
Refer to the
RPC endpoints page for a list of available RPC endpoints.
Output format. Most commands print YAML by default. Pass -o json for JSON. ERC20 read methods (name, balanceOf, …) return a bare value with no formatting — the result below is the raw stdout.
Address Mapping
Sei addresses (sei1…) and EVM addresses (0x…) are linked via an on-chain association set the first time an account signs an EVM transaction or calls the address-association precompile. Until then, the two address spaces are independent.
Get Sei Address from EVM Address
Example:
Output:
Get EVM Address from Sei Address
Example:
Output:
If the account hasn’t been associated yet, associated is false and the other field is empty. This is normal for accounts that have only ever transacted on one side of the chain.
ERC20 Contract Queries
Call standard view methods on any ERC20 contract:
Example — query Wrapped Sei (WSEI):
Output:
Example — balance:
Output (raw integer, in smallest unit):
Supported methods:
name — token name
symbol — token symbol
decimals — token decimals
totalSupply — total supply
balanceOf [address] — balance of an address
allowance [owner] [spender] — current allowance
For arbitrary methods or non-standard contracts, use payload with the contract ABI.
Payload Generation
Generate ABI-encoded call data without sending a transaction. Useful for crafting seid tx evm call-contract calls or inspecting expected calldata.
ERC20
ERC721
ERC1155
Custom ABI
ERC20 Payload Generation
Transfer tokens (1 token, 18 decimals):Output:Approve spender:Output:Transfer from (pulls tokens from from to to, using a prior approve):Output:Supported methods:
transfer [to] [amount]
approve [spender] [amount]
transferFrom [from] [to] [amount]
Amounts are in the token’s smallest unit (e.g., wei for an 18-decimal token; 1000000 for 1 USDC with 6 decimals). ERC721 Payload Generation
Approve a token ID:Output:Transfer a token:Output:Set operator approval:Output:Supported methods:
approve [spender] [tokenId]
transferFrom [from] [to] [tokenId]
setApprovalForAll [operator] [true|false]
ERC1155 Payload Generation
Safe transfer:Output:Safe batch transfer:Set operator approval:Supported methods:
safeTransferFrom [from] [to] [tokenId] [amount] [data]
safeBatchTransferFrom [from] [to] [tokenIds] [amounts] [data]
setApprovalForAll [operator] [true|false]
For batch operations, pass arrays as quoted bracketed strings: "[123,456]". The trailing data field is a hex string (use 0x for empty). Custom ABI Payload Generation
Encode a call against any contract by supplying its ABI:Example:The ABI file must be a JSON array of function definitions, in the same shape Hardhat/Foundry emit (the abi field of an artifact, not the whole artifact).
Pointer System
Pointers bridge the EVM and CosmWasm sides of Sei: a CW20 can be exposed as an ERC20 (via an EVM pointer at a 0x address) and an ERC20 can be exposed as a CW20 (via a CW pointer at a sei1… address). The same applies to NFTs (CW721/ERC721) and multi-token contracts (CW1155/ERC1155).
Transaction Lookup
Query Transaction by Hash
Equivalent to eth_getTransactionByHash:
Example:
Output:
This is the only seid q evm command that takes --evm-rpc (an EVM JSON-RPC endpoint, typically port 8545) instead of --node (a Cosmos RPC). The default if you omit the flag is http://0.0.0.0:8545, which only works if you’re running a local node. See RPC endpoints for hosted EVM RPCs.
Common Use Cases
Check Token Balance and Info
Prepare and Send a Transaction