# \[PROPOSAL\] Latest L1 Blockhash syscall

**URL:** <https://community.starknet.io/t/proposal-latest-l1-blockhash-syscall/1403>\
**Category:** Starknet Technical Development\
**Tags:** tooling\
**Created:** [June 1, 2022, 1:29pm UTC](https://community.starknet.io/t/proposal-latest-l1-blockhash-syscall/1403 "2022-06-01T13:29:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![marcellobardus](https://dub1.discourse-cdn.com/flex005/user_avatar/community.starknet.io/marcellobardus/32/185_2.png) [@marcellobardus](https://community.starknet.io/u/marcellobardus)\
**Post date:** [June 1, 2022, 1:29pm UTC](https://community.starknet.io/t/proposal-latest-l1-blockhash-syscall/1403/1 "2022-06-01T13:29:25Z")

</div>

Currently smart contracts on Starknet can access the following L2 parameters through these syscalls:

- `get_sequencer_address`
- `get_block_number`
- `get_block_timestamp`  
Nevertheless these parameters relate to L2 only.  
Currently any external data can be sent as a message originated from L1.  
These messages in many cases can be sent multiple times especially in systems like [fossil](https://github.com/OilerNetwork/fossil). That obviously is very inefficient as multiple actors will send the same multiple times wasting gas and introducing additional latency.

**Proposal**

1. The sequencer after each L2 batch submission on L1 should relay the L1 `blockhash(latest_block - reorg_bufer)` to L2.
2. Such message should be accessible through a new syscall called: `get_latest_l1_blockhash`.
