Background

When I tried to get started using Starknet, I found it difficult to know exactly what to do. While I’ve heard a lot about the wonders of Starknet and how it can save me money in fees while providing security and trustlessness, I’m a blockchain newbie. In my quest to onboard to Starknet and try out some of the applications in the ecosystem, I found a lot of helpful information, but I also didn’t find a lot of information.

So this post provides the information that I couldn’t find and provides links to information that someone else made the effort to provide elsewhere.

What can you do on Starknet? You can swap tokens, invest using financial dApps, play games and build your NFT collection. For more information, visit the dApps page on Starknet.io.

About using MetaMask as a Starknet wallet

MetaMask has support for Starknet in the form of a MetaMask Snap. A Snap is the MetaMask term for a plugin. It’s in Beta, and I wanted to try it out. There’s a special section below just about installing and funding a MetaMask wallet.

Currently you can only send and receive L2 funds (it’s only in Beta!), but other features are in the pipeline, so I’m looking forward to being able to use MetaMask as a full-fledged Starknet wallet for more Starknet activities, such as minting NFTs.

Prerequisites

Although this is a guide for newbies, you will gain more out of using Starknet and this tutorial, if you understand Ethereum basics. You should understand the terms Layer 1 (L1) and Layer 2 (L2), and on-chain and off-chain, and what they mean in the context of Ethereum.

You should also understand what crypto wallets are, the difference between hot and cold wallets, EOAs and contract accounts. You can find this information on the Ethereum website.

Get Started with Starknet

Effortlessly Manage Your Assets and Interact With Hundreds of Starknet dApps

High-Level Steps

Each of these steps is detailed either in other sections of this blog post, or in external documentation on another site.

  1. Set up an Ethereum wallet.
    There are many. For a list, see Ethereum wallets, and for a helpful guide, see How to “create” an Ethereum account. Both are on the Ethereum site. To get started, I decided to use MetaMask. For information on setting up a wallet, see the documentation for the wallet you choose.
  2. Deposit some ETH to your Ethereum wallet. You can use your credit card or your bank account with an exchange such as Binance or Coinbase.
  3. Set up a Starknet wallet, which includes funding the wallet and deploying your account on Starknet. For more information, see Setting up a Starknet wallet below.

NOTE: You can also add funds directly to your Starknet wallet from a credit card or bank by using an on-ramp service, such as Banxa or Ramp. At the moment, Ramp is the only such service that works with the MetaMask Starknet Snap.  If you choose to use an on-ramp service, go directly to step 3

After you complete these procedures, you’ll be ready to start actually doing something.

For example, this tutorial walks you through swapping ETH for another cryptocurrency using Jediswap. There are lots of other things you can do, such as providing liquidity to a pool, buying NFTs, minting your own NFTs, and playing web3 games.

Let’s Get Started – Setting Up a Starknet Wallet

For information on using MetaMask, skip to Using MetaMask as a Starknet wallet below.

Once you have an Ethereum wallet with some ETH, you can install and set up a Starknet wallet.

For more information on a specific wallet, including installation instructions, see that wallet’s site. Whichever one you choose, make sure that you install it as a browser extension

In this blog post, I used wallets by Braavos and Argent.

After you finish installing, you need to set up the wallet by adding funds to it. You can use StarkGate, a bridge that transfers funds between your Ethereum wallet on L1 and your Starknet wallet on L2. StarkGate fully supports Braavos and Argent, and MetaMask support is in active development and should be in place soon. You can go to StarkGate from a link in the wallet, or go to https://starkgate.starknet.io/.

Procedure

  1. Click Connect Wallets, and then Get Started.
    StarkGate prompts you to select an Ethereum wallet.
  2. Click the wallet that you want to use. In this example, click MetaMask, as it is already installed.
  3. When your wallet prompts you to connect, approve the connection.
    StarkGate completes the connection. Your Ethereum wallet is now connected.
  4. StarkGate prompts you to connect a Starknet wallet, showing the wallets that you have connected to your browser. Click the wallet that you want to use.
  5. When the wallet prompts you to approve the connection. For example, this is what appeared when I clicked ArgentX:

and this is what appeared when I clicked Braavos:

StarkGate completes the connection.

Your Starknet wallet is now connected, and it prompts you to add funds. In order to deploy your account on Starknet, you need to add funds.
NOTE: Deploying an account incurs a small gas fee on Ethereum. But don’t worry, you only have to deploy the account once.

  1. Confirm that you’re on the Deposit tab.

  1. StarkGate lets you select from several different types of tokens. This example uses the default token, ETH. Check that the available balance in your Ethereum wallet is enough to transfer funds and pay for the gas required to transfer the funds.
  2. Enter the amount of ETH you want to transfer.
    Your Ethereum wallet prompts you to confirm the transfer. Your wallet might also show you the estimated transaction cost. For example, MetaMask shows approximately how much gas is required to execute the transfer, as well as the cost of the required gas in ETH and USD.
  3. Confirm the transfer in your Ethereum wallet.
  4. StarkGate confirms the transaction and displays its status, including links to Etherscan and StarkScan, so you can view the transaction on both Ethereum and Starknet:

After a short time, typically a few minutes, StarkGate should show updated balances in your Ethereum and Starknet wallets:

Using MetaMask as a Starknet wallet

I wrote this section as I walked through the installation process. It’s actually fairly straightforward, so you might not even need to use these steps, but I know that I find steps like these to be helpful, so you can follow along if you like.

NOTE: Because the Snap is being actively developed, the process you go through might differ from what appears here. But even if it does, this section should give you a general idea of what you need to do.

When I opened MetaMask in my browser, this is what I saw:

I clicked Learn More, and a page opened at https://metamask.io/snaps/ that explains what Snaps are and how they work. Here are the steps I followed to install the Starknet Snap:

  1. Click Discover Snaps in the site header.
  2. Click the Starknet Snap in the list.
    A page opens with information about the Starknet Snap, including its Github repo. I’m a big fan of open source, so…Yay!  The information also includes the developer, Consensys, and the auditors, Cobalt and Consensys Diligence. These are all well-respected Starknet developers, but you should verify that for yourself. (I do work for StarkWare, after all.)
  3. Click Add to MetaMask, and read the Third-party software notice.
  4. Click Accept. A message prompts you to connect the Snap to your wallet.
  5. Click Connect.
  6. After reading everything on this page, click Install.
  7. Click Confirm to proceed with caution.

After the installation finishes, this message appears: Installation completed successfully.

  1. Click the URL to open the Snap.


A message prompts you to connect your wallet.

  1. Click Connect. A screen appears showing your new Starknet account address and your wallet balance.

Now you need to fund your wallet. StarkGate should have support soon, but at the moment, to fund your wallet, you must receive L2 funds from another Starknet wallet or use the onramp service Ramp with a credit card, to fund it.

Once you have funds in your wallet, you can send funds to another Starknet address. Like I said, more features are coming soon.

Swapping ETH for another token using JediSwap

JediSwap is a community-driven Automated Market Maker (AMM) on Starknet that enables you to swap one type of token for another. The JediSwap documentation provides information on swapping and on adding liquidity. This procedure demonstrates swapping ETH for WBTC.

Procedure

  1. Go to JediSwap at https://app.jediswap.xyz.
  2. Connect your wallet by clicking Connect Wallet and then selecting your Starknet wallet.

  1. When your wallet prompts you to approve the connection, click Approve.
    Once JediSwap connects to your wallet, it shows your balance in each token that it supports. For example, my wallet has about 0.05 ETH.
  2. Select the tokens that you want to swap in Swap From and Swap To (est.), and click Swap. I swapped 0.025 ETH for WBTC.
  3. Your wallet prompts you to sign the transaction by clicking Sign. Clicking Sign submits the transaction
  4. JediSwap shows Transaction Submitted. Click Open in browser to view the transaction on StarkScan.
  5. Open your wallet to see your balance and the assets that you own. For example, this is my Braavos wallet after the swap:

What now?

Now that you’ve taken those first steps into Starknet, it’s time to plunge deeper into the ever-expanding Starknet ecosystem. As a permissionless network, Starknet sees new developers constantly creating novel dApps and features

To safely navigate the uncharted waters of Starknet, make sure to:

  • Research new releases. Regularly scan Starknet’s news sites and follow the core community to stay abreast of new dApps. This universe evolves fast.
  • Research before interacting with any dApp on Starknet. As with all permissionless platforms, perform due diligence on the legitimacy and security of any dApp before connecting your wallet.
  • Be wary of scams. Verify URLs, transactions, and addresses – don’t be lured into ambushes.
  • And most importantly, enable wallet protections like 2FA, Hardware Signers, or Wallet Shields. This novel protection level is possible on Starknet because of native account abstraction.

By staying alert and doing thorough research, you can enjoy the full benefits of Starknet’s ever-growing array of dApps and integrations. As with any new technology, educated caution is very important. If something sounds too good to be true, it probably is. With some common sense, you can explore Starknet safely.

FAQs

  • Starknet is a Layer 2 network that scales Ethereum by using zero-knowledge (ZK) proofs to process many more transactions per second at lower costs without sacrificing security. It executes transactions offchain and bundles them into a single ZK proof, known as a STARK proof, that guarantees the transactions were executed properly. That proof is then verified on Ethereum. This reduces congestion on the Ethereum network while inheriting its security.

    Because Starknet moves transaction execution offchain, users and developers benefit from lower gas fees and faster processing times. This makes it a strong option for decentralized applications (dApps) that require speed and cost-efficiency, such as trading platforms and blockchain games. Starknet also supports smart contracts and Ethereum-level composability, meaning developers can build complex dApps that interact smoothly with each other, just like on Ethereum.

  • Start by installing a Starknet-compatible wallet, such as Braavos or Argent, as a browser extension. To get tokens into that wallet, you can use one of the available Starknet onramps to purchase the cryptocurrency of your choice via credit card or a wire transfer from your bank. Just make sure to select Starknet as your network of choice on whichever onramp you choose, and provide the correct wallet address (the address of the Starknet wallet you just downloaded) as the recipient of the cryptocurrency you purchase.

    For more detailed instructions, refer to the following Starknet Documentation.

  • Yes. While MetaMask does not natively support Starknet because Starknet is a non-EVM-compatible Layer 2 network, you can still manage Starknet assets in MetaMask by installing the Starknet/MetaMask Snap. This Snap is a MetaMask customization that enables sending and receiving Layer 2 funds on Starknet. To set it up, visit the MetaMask Snaps directory, search for Starknet Snap, and install it. Once added, connect it to MetaMask, follow the on-screen prompts, and your Starknet account address and balance will appear. Since the Snap is currently in beta, some features may be limited, with more functionality expected in future updates.

    Reach out to MetaMask Support if you need additional help getting started.

  • To move funds from Ethereum to Starknet, use StarkGate, or one of the other bridges available for transferring ETH and ERC-20 tokens between the two networks. Start by connecting your Ethereum wallet (like MetaMask) and Starknet wallet (like Braavos or Argent) on the StarkGate platform. Select the token you want to transfer, enter the amount, and confirm the deposit in your Starknet wallet. This transaction sends the funds to the Starknet-side StarkGate contract, which records the deposit and sends a message to Starknet. After enough Ethereum block confirmations, Starknet processes this message, verifying the deposit and crediting the corresponding amount to your Starknet wallet. Once confirmed, the funds will be available for use on Starknet.

    Watch this tutorial video to see how you can bridge funds to Starknet.

  • Once your Starknet wallet is set up, you can interact with a range of decentralized applications (dApps). Decentralized exchanges (DEXes) like JediSwap allow you to swap tokens directly on Starknet without intermediaries. Decentralized finance (DeFi) platforms, such as Ekubo, enable activities such as asset trading, lending, borrowing, and yield farming. Blockchain-based games let you engage in play-to-earn mechanics and digital-asset trading. And, if you’re interested in non-fungible tokens (NFTs), you can buy, sell, or mint unique digital collectibles within the Starknet ecosystem.