Frequently asked questions
Common questions
The Starknet token will be used for paying transaction fees, participation in the Starknet protocol, and participation in governance. The rationale for each of these utilities is presented in our decentralization proposal, in the section titled “What will the tokens be used for?”
Starknet Appchains are instances of Starknet that power a specific application (or a host of applications). Setting up a Starknet appchain can be done in several ways using the Starknet Stack.
Operating an app-specific Starknet appchain allows configuring the network’s block size, latency, data availability mode, fees, consensus mechanism, and more, according to the unique requirements of the application. Appchains also enable the implementation of unique features and logic that are not available on the public Starknet network.
In addition to the adjusted configuration and unique features, appchains benefit from Starknet’s technology, including massive throughput, native Account Abstraction, and Ethereum level of security, as well as the tools and infrastructure that are part of the public network.
A good place to start is the Hello Starknet tutorial, which guides the developer step by step through writing and deploying a simple contract. The Starknet Playground offers an environment for learning how to write Starknet contracts and test them.
You can become part of the developers’ community, and support it, by joining the Starknet Discord server.
SHARP (shared prover) is a service for computing proofs of the correct execution of Cairo programs. It can be used to prove the correct execution of a particular Cairo program which enforces the validity of Starknet state transitions – the Starknet OS (operating system). Currently, Starknet uses SHARP alongside many other customers to amortize proof costs. In the future, Starknet throughput may justify a dedicated prover layer..
Currently not. STARKs are defined as Validity proofs, meaning they prove computational integrity. With Validity proofs (STARKs included), one party can prove to another that a certain computation was performed correctly. Zero-Knowledge is an additional property asserting that the prover does not have to reveal any information included in the computation.
Most ZK-Rollups are not really Zero-Knowledge. The mistake comes from the confusion between Validity proofs (assures computational integrity) and Zero-Knowledge proofs (assures no information is revealed).
Starknet uses STARK Validity proofs. It is worth noting that extracting information from the proof is extremely hard – almost impossible in practice.
Currently, Starknet transactions and their payloads are visible to the network in the same way that they are visible on Ethereum.
It is possible to deploy various privacy protocols on Starknet, which will offer full privacy from all network participants. Since those protocols usually require a lot of computation, they will benefit greatly from Starknet scalability.
Cairo
Cairo is an overloaded term which stands for three different things. First, Cairo is a CPU architecture. Second, “Cairo” is shorthand for CPU AIR which is an algebraic representation of this CPU architecture. Lastly, Cairo is a Turing complete programming language that enables blockchain developers to harness the power of STARKs. The first two aspects, alongside the instruction set of the language, are outlined in the whitepaper. For the language, see the github repo.
STARK is a proof system. It uses cutting-edge cryptography to provide polylogarithmic verification complexity and proof size, quasilinear proof complexity, and minimal assumptions which are post-quantum-secure. More information here.
Cairo is a Turing-complete language designed for succinctly proving the correct execution of Cairo programs. A Cairo program is stateless, meaning you do not have native access to storage, other Cairo programs, or the L1 state (although you can access those, as explained below).
Starknet contracts, on the other hand, live in the Starknet VM, which has a persistent state that smart contracts can access and modify. These smart contracts can store variables, communicate with other contracts, and send/receive messages to/from L1 (read more).
No. You have several options for writing a contract, each with its own benefits.
Cairo is the native language for a Starknet contract, which most fully realizes the scaling potential of Starknet. On the other hand, several teams are developing transpilers from other programming languages (notably Solidity) to Cairo. Such transpilers facilitate quick deployment of existing contracts on Starknet.See our latest development tooling.
Operating on Starknet
Starknet is evolving to become fully permissionless, allowing anyone to operate on the network:
- Sequencers – Anyone will be able to operate a sequencer, i.e., batch transactions and propose new blocks (somewhat analogous to Ethereum miners, without the Proof of Work part).
- Provers – Anyone will be able to set up a prover and create proofs for the validity of new blocks.
- Developers – Developers will be able to deploy their smart contracts – permissionlessly.
- Users – Users will be able to send transactions permissionlessly. As the system will be decentralized, the possibility of censorship will be eliminated.
Any dApp can be deployed on Starknet. As Cairo allows general computation, any business logic can be implemented and processed over StarkNet.
Anyone can interact with Starknet and deploy contracts.
During the Alpha phase, developers need to make sure they are aware of the network status as part of the onboarding process.
The decentralization of the network has two aspects:
- The permissionless layer of Sequencers and Provers ensures that the network will be censorship-resistant.
- The usage of STARK-proofs ensures that the state is correct, allows everyone to verify the entire Starknet chain with low hardware requirements – regardless of the network’s throughput, and without trusting any external entity.
Yes!
You can take a look at this tutorial.
The Warp team at Nethermind is developing a Solidity to Cairo transpiler: Warp.
Starknet does not natively support EVM.
Starknet and StarkEx
StarkEx is a standalone, customizable Layer-2 SAAS for exchanges that uses the STARK proof system in order to provide massive scaling. Several significant exchanges are already using StarkEx in production on Ethereum Mainnet (read more about StarkEx).
Starknet is a general-purpose network where you can write and deploy your own smart contracts, interact with other contracts, and so on, just like Ethereum.
Once Starknet is ready, StarkEx apps may migrate to StarkNet if they so choose.
Starknet Token - STRK
Vision
The Starknet Provisions Program (“Provisions”) is the distribution of Starknet's native token (STRK) to eligible users, builders, and community members who have contributed to Starknet. Making Starknet’s native token available for the community will enable the community to pay fees in STRK, and engage in the decentralization of the network by participating in governance votes and in the decentralized proof-of-stake (PoS) model that will be implemented in later stages.
The Provisions blog post details the purpose of Provisions, the guiding principles for its distribution, and the criteria for its allocation.
STRK will play an important role in the decentralization of the Starknet network in two ways:
- STRK will be used to allow the community to participate in governance votes, either by voting directly, or by delegating their voting power. Allocating STRK to the broader community will allow it to shape Starknet’s future through these votes.
- In the future, the community will be able to stake STRK within a proof-of-stake (PoS) model, ensuring Starknet’s decentralized operation.
STRK will be used for several functions:
- Network fees: Starting with Provisions, users will be able to pay transaction fees using STRK. Fees on Starknet are currently paid in ETH, and following Provisions, users will have the choice of paying fees in ETH or STRK.
- Governance: Following Provisions, recipients of STRK will be able to participate in governance related to a range of matters that will shape Starknet’s future. More information on Starknet’s governance can be found in the Starknet Governance Hub.
- Staking: In the future, STRK will be used for staking within a proof-of-stake (PoS) model that will enable stakers to choose among a decentralized network of sequencers, ensuring Starknet’s decentralized operation.
You can find more information in the Starknet Token Announcement post.
The Provisions program is one of the first steps planned for distributing STRK to the community.
During the first round of Provisions, the Starknet Foundation will distribute more than 700 million out of 900 million STRK dedicated to the program. Tokens not claimed within 4 months (until June 20th, 2024) of this initial phase of Provisions will be reallocated for future distribution.
The total amount dedicated to the Starknet community is 1.8 billion STRK. Future plans for STRK distribution to the community include rebates, and initiatives of various special community committees dedicated to DeFi, gaming, and more. Details of future plans for the distribution of tokens beyond the first round of Provisions will be announced in due course.
Note: The Starknet Foundation is the sole body leading distributions of STRK. Anyone claiming to be leading parallel distributions is running a scam.
For more information about the entire allocation plan of the STRK token, see here.
Distribution and Eligibility
The initial phase of the Provisions program will distribute 726 million STRK out of 900 million designated for the Provisions program as a whole. Tokens not claimed within 4 months (until June 20th, 2024) of this first phase will be reallocated for future distribution rounds. Zooming out, the amount designated for Provisions is part of a total of 1.8 billion STRK dedicated to the community overall.
A total of 1,297,738 addresses are eligible for Provisions. In addition to recipients who are eligible to claim STRK directly to their accounts via Provisions, Ethereum stakers who staked through liquidity pools will be able to receive their allocations through those pools.
Yes, you can find it here.
The number of tokens allocated to each eligible recipient varies between 111.1 STRK and 200,000 STRK, depending on the category.
The size of the Provisions allocation is determined by the effort exerted by the category’s members to contribute to the network’s robustness (e.g. contributing code to the infrastructure of the network requires significant effort and skill). The number allocated is tied to the impact of the contribution on Starknet, as well as the resources spent to make it. Contribution to Starknet is rewarded with more tokens than a contribution to Ethereum, which is rewarded with more tokens than a contribution to non-crypto projects.
See the below diagram for the breakdown of each category’s allocation.
Recipients can check their eligibility for Provisions in the Provisions portal at https://provisions.starknet.io.
The guiding principles for the allocation of Provisions were as follows:
- Contribution: Allocation is aimed at those who have contributed substantially to the advancement of Starknet, STARK-tech infrastructure, Ethereum, and some non-crypto open-source software projects.
- Broad distribution: The Starknet Foundation aims to distribute Provisions to the largest possible number and variety of individuals who have had an impact, directly or indirectly, on Starknet. The Foundation will allocate STRK to nearly 1.3 million addresses, with Starknet users receiving more than 50% of the STRK dedicated to this round of Provisions.
- Transparency: Criteria for distribution can be found in the Provisions blog post, and the resulting recipients and their token allocation will be made public.
- Expanding Ethereum adoption: Allocation will aim to expand Ethereum and blockchain to new audiences, including those outside the blockchain ecosystem. This aligns with Starknet’s vision of facilitating the mass adoption of Ethereum and decentralized protocols more broadly.
- Sybil resistance: The Provisions program aims, as much as possible, to avoid rewarding gamification and achieve Sybil resistance. The objective of this is to ensure the influence that comes with STRK governance votes correlates with the contribution of individuals and projects.
Provisions allocations are available to groups and individuals who have made genuine contributions to Starknet, by enhancing the quality and features of the Starknet stack and ecosystem, of Ethereum, and of select open-source software projects.
Below are the groups of those who are considered to have made meaningful contributions:
-
Starknet stack & ecosystem contributors - The Starknet Foundation is committed to recognizing individuals or groups who have engaged with and battle-tested the Starknet stack. For this reason, the following groups are eligible for Provisions:
- Starknet Users
- Starknet Ecosystem Contributors (approved members of the ECMP plan)
- Starknet Developers
-
StarkEx users - The users of StarkEx-powered dApps contributed to testing the robustness of certain components that are part of the Starknet stack, including the STARK proof system and Cairo, Starknet’s native programming language. Their interactions with early-stage STARK technology helped to fortify the foundations of Starknet.
-
Ethereum developers and stakers - In an industry first, the Starknet Provisions program will distribute tokens to Ethereum stakers—solo stakers and those who staked through liquidity pools—for their contribution to Ethereum’s security. Starknet uses Ethereum for settlement and data availability thanks to the decentralization and security it provides. Starknet and its Ethereum-level security are possible thanks to the pioneering work of Ethereum's community. For this reason, members of the following groups are eligible for Provisions:
- Ethereum Protocol Guild members
- Ethereum PoS stakers: Solo stakers & those who staked through liquidity pools
- Ethereum developers
- Authors of Ethereum Improvement Proposals (including ERCs)
-
Open-source developers - Blockchain infrastructure, including Ethereum and Starknet, emerged as a result of previous science and engineering advances that were built by developers of projects that are now public goods. For this reason, the following group is eligible.
A more detailed review of the groups mentioned above and the criteria that qualify members of these groups to be eligible for Provisions can be found in the Provisions blog post.
Ethereum stakers are the reason Ethereum, and by extension Starknet, are as secure as they are today. Those who staked before the Merge took a considerable risk and leap of faith in the Ethereum network, as the successful launch of Ethereum 2.0 was not yet a certainty. This risk was even more substantial for solo stakers.
Starknet stands on the shoulders of giants, among them a myriad of open-source projects that have become the public goods of cyberspace. It is not only fair, but also critical to the open-source ecosystem, that the individuals behind these projects are supported.
The snapshot date differs between categories:
- For Ethereum stakers, the snapshot date is the date of the Merge (September 15th, 2022). The Merge was a turning point in Ethereum’s maturity, and stakers that staked prior to the Merge showed significantly more faith in Ethereum compared with stakers that began staking only when the protocol was mature.
- For Starknet users, the snapshot date is in the recent past: November 15th, 2023.
- For StarkEx users, the snapshot date is June 1st, 2022, as was determined and communicated in part 3 of the Starknet Decentralization Roadmap.
Recipients who are eligible for Provisions in more than one category can receive tokens for each category in which they qualify.
Allocation to Starknet users comes in different tiers, all aimed at rewarding users whose feedback helped to harden Starknet going forward. Those tiers were determined by their level of activity on the network. The Starknet Foundation checked three metrics for eligible users:
- Months of use - Users who engaged with Starknet actively participated in improving the network by providing vital feedback during its early stages.
- Contract interactions - Users who interacted with a greater number of contracts can provide a wider breadth of feedback.
- Cumulative transaction volume - Users who transacted at higher volumes show greater commitment to the network.
More concretely we use the the following points system:
- All eligible addresses get one point.
- Further points are allocated as follows:
Then, each address gets allocation according to the following mapping:
The evaluation committee evaluated individuals and projects for the Early Community Member Program (ECMP) based on four essential criteria:
- Reach/impact: Refers to the extent to which the contributor’s work has spread throughout the community. It may encompass things like the number of people using or relying on their code, engaging with their content, or following their thought leadership.
- Importance: Evaluates the significance of a contributor’s work within the community or a specific project. This means focusing on how essential a contributor’s work is to the success of a project or how influential they are in shaping the direction and development of the ecosystem.
- Effort: Assesses the amount of time and energy a contributor has put into their contributions. This is not limited to coding. It may also include community support, mentoring, and engaging with others to share knowledge.
- Originality: Looks at how unique or innovative a contributor’s work is. This can include creating new algorithms, methods, or tools that haven’t been seen before, or approaching existing problems in a novel way.
For more information on ECMP criteria, click here.
Starknet Foundation
Starknet is a permissionless, decentralized Layer 2 (L2) Validity Rollup intended to scale Ethereum while retaining Ethereum’s security and decentralization. In keeping with that mission, the Foundation was established as an independent entity to advance the shared technology that is Starknet. Additionally, as a not-for-profit entity with a narrow mission: to advance Starknet as a public good for all, and maintain it as such for years to come.
The Foundation launches with 50.1% of the initial Token supply to ensure the network’s resources are effectively deployed towards the following goals: the maintenance and security of Starknet as a public good; the continued development and expansion of the network; and support for a culture of constructive collaboration between developers.
For more information on the Foundation’s mission, first steps, and board, see the Foundation’s “Hello World” post and StarkWare’s complementary post.
General information
If you are excited about StarkNet and its decentralization and wish to participate in the process, please join the builders on StarkNet Discord and Starknet community forum
You can report scams and check for other reports of scams in the scam-report channel on the Starknet Discord server.