BEP-706 introduces a precompile for millisecond block timestamps on BNB Smart Chain, while block.timestamp remains in seconds.
BNB Smart Chain has added a way for smart contracts to read block timestamps in milliseconds through BEP-706, while preserving the existing second-based behavior of block.timestamp. The change is designed to give applications finer timing detail for use cases such as quote expiry, auction cutoffs and recent price-feed checks, according to the BNB Chain blog post published on Nov. 2, 2026.
Under the proposal, contracts can make a read-only static call to a new precompile at address 0x70 and receive a 32-byte unsigned integer representing milliseconds since the Unix epoch, the blog said. The precompile takes no arguments, ignores calldata and carries a computation charge of 20 gas, with the calling contract also paying the applicable call and memory costs.
The blog said existing block.timestamp values remain in seconds, so current contracts continue to behave as before. That means applications that want sub-second precision must explicitly opt into the new read path, rather than relying on Solidity’s built-in timestamp field.
The post used two blocks timestamped 12:00:00.200 and 12:00:00.800 as an example of how whole-second reads can mask a 600-millisecond difference. It said this can matter for signed quotes or auctions with deadlines shorter than one second, where rounding can cause a settlement contract to accept a quote longer than intended or reject it earlier than planned.
The blog also said the feature is additive: the chain already records millisecond precision in block headers under BEP-520, but that information was previously unavailable to contracts.
Source link







