> ## Documentation Index
> Fetch the complete documentation index at: https://starkware-9575960b-eitan-accounts-update-0-14-1.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to Starknet's protocol

Starknet is a coordinated system, with each element in its protocol playing a specific yet interconnected role.

## User interactions

As with other blockchains, everything starts with an [account](/learn/protocol/accounts/). On Starknet, accounts are smart contracts, a model which is known as native account abstraction. This allows for flexible authorization logic like multisig, session keys, or passkey-based authentication — all without changes to the protocol itself. When users want to interact with the network, they send [transactions](/learn/protocol/transactions/). These can invoke contract functions, deploy new contracts, or register new classes. Some transactions may involve communication between Ethereum and Starknet, which are handled through [L1↔L2 messaging](/learn/protocol/messaging/) and enable secure bridges such as [StarkGate](/learn/protocol/starkgate/).

## Block production and validation

Periodically, transactions are collected and ordered into [blocks](/learn/protocol/blocks/), which include a [cryptographic](/learn/protocol/cryptography/) commitment the [state](/learn/protocol/state/) of the network after executing them. To ensure that state transitions are valid, Starknet uses [SHARP](/learn/protocol/sharp/) to generate and aggregate proofs of running the [SNOS](/learn/protocol/snos/) program. These proofs compress the entire block's execution into a succinct artifact which are submitted to Ethereum to be verified, so that Starknet's execution can be trusted without re-running it. Starknet also ensures access to the data involved in the computation through [data availability](/learn/protocol/data-availability/), publishing compressed state diffs to Ethereum so the full state can be reconstructed and verified.

## Tokenomics and consensus

All of this — execution, proof generation, and L1 publishing — isn't free, which is where [fees](/learn/protocol/fees/) come in. Users pay fees to cover the cost of using network resources, and these fees are paid in [STRK](/learn/protocol/strk/), Starknet's native token. STRK is also used to power Starknet's [staking protocol](/learn/protocol/staking/), where validators selected from STRK stakers help secure the sequencing layer and validate block production. This mechanism is designed to support decentralization and provide economic guarantees around block inclusion and ordering.

## Summary

All together, these elements form a tightly integrated protocol, enabling scalable and expressive applications with low fees and strong security — all without compromising on decentralization or Ethereum alignment.

Now that you've got the big picture, put on your goggles and deep dive into whichever concept or component that intrigues you most! 🤿
