# Gas cost of views

**URL:** https://forum.tezosagora.org/t/gas-cost-of-views/6819
**Category:** Research and Development
**Tags:** smart-contracts, michelson
**Created:** [July 20, 2025, 7:15pm UTC](https://forum.tezosagora.org/t/gas-cost-of-views/6819 "2025-07-20T19:15:26Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![mpsp](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/m/3da27b/32.png) [@mpsp](https://forum.tezosagora.org/u/mpsp)
#### Post date: [July 20, 2025, 7:15pm UTC](https://forum.tezosagora.org/t/gas-cost-of-views/6819/1 "2025-07-20T19:15:27Z")

</div>

It seems that currently views are somewhat expensive in terms of gas.

I think that views should be priced similarly or cheaper than lambdas, for the following reasons:

- views are read-only, while lambdas can mutate storage
- views that a contract calls on itself don’t have to load or typecheck an additional contract

---

<div class="post-metadata">

### Author: ![rafoo](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/r/f08c70/32.png) [@rafoo](https://forum.tezosagora.org/u/rafoo)
#### Post date: [September 5, 2025, 9:42am UTC](https://forum.tezosagora.org/t/gas-cost-of-views/6819/2 "2025-09-05T09:42:55Z")

</div>

Michelson lambdas cannot mutate storage, when executing a lambda you cannot access anything more than the argument of the lambda.

Views are more expensive than lambdas because they need to read information about the viewed contract (its storage, its balance, and the view code) and a bit of typechecking (the view code is only typechecked at contract origination and when the view is called). There is certainly room for optimization here but I don’t think we will ever manage to consume as few resources as lambdas.

---

<div class="post-metadata">

### Author: ![mpsp](https://forum.tezosagora.org/letter_avatar_proxy/v4/letter/m/3da27b/32.png) [@mpsp](https://forum.tezosagora.org/u/mpsp)
#### Post date: [September 5, 2025, 12:42pm UTC](https://forum.tezosagora.org/t/gas-cost-of-views/6819/3 "2025-09-05T12:42:53Z")

</div>

I see. Thanks for the explanation.
