Summary
The Solidity documentation does not specify the unit of block.timestamp on Ritual Chain. Standard EVM chains return Unix time in seconds, but in my testing, block.timestamp on Ritual Chain appears to return a value consistent with milliseconds.
Steps to reproduce
- Deployed a contract on Ritual testnet (chain ID 1979) that logs
block.timestamp
- Compared the on-chain value against the block's actual wall-clock time from the explorer
Expected behavior
block.timestamp follows standard EVM convention (seconds since Unix epoch), consistent with tooling built for Foundry/Hardhat/viem.
Actual behavior
The returned value is consistent with milliseconds, which silently breaks any time-based logic (e.g. auction deadlines, TTLs) written with standard EVM assumptions.
Ask
Could the team confirm whether this is intentional? If so, it would be very helpful to document this explicitly, since it's a common source of silent bugs for developers porting EVM logic. Happy to provide more test transactions if useful.
Summary
The Solidity documentation does not specify the unit of
block.timestampon Ritual Chain. Standard EVM chains return Unix time in seconds, but in my testing,block.timestampon Ritual Chain appears to return a value consistent with milliseconds.Steps to reproduce
block.timestampExpected behavior
block.timestampfollows standard EVM convention (seconds since Unix epoch), consistent with tooling built for Foundry/Hardhat/viem.Actual behavior
The returned value is consistent with milliseconds, which silently breaks any time-based logic (e.g. auction deadlines, TTLs) written with standard EVM assumptions.
Ask
Could the team confirm whether this is intentional? If so, it would be very helpful to document this explicitly, since it's a common source of silent bugs for developers porting EVM logic. Happy to provide more test transactions if useful.