Getting started with the Gas Station Network

The Gas Station Network (GSN for short) is a decentralized solution for solving user onboarding to Ethereum applications. It allows dapps to pay for their users' transactions in a secure way, so users don’t need to hold ETH to pay for their gas or even set up an account.

The GSN was originally designed by Tabookey, and then further developed by OpenZeppelin. Today, it is backed by the Gas Station Network Alliance, a group of companies that adhere to and push the GSN standard.

The OpenZeppelin Platform provides full GSN support across the entire stack, so you can easily start developing a GSN-capable application. But before going through the components below, make sure you go check out our GSN introductory guide.


OpenZeppelin Contracts provides the base utilities to make your contracts GSN-capable, by allowing them to receive meta-transactions using the GSN standard, and providing some payment strategies out of the box.


The OpenZeppelin CLI can be used to compile and manage your GSN-capable contracts. In addition, we have built a set of GSN-specific helpers to make local development simple, and a front-end library so applications can easily send meta-transactions via the GSN.

Starter kit

The preconfigured OpenZeppelin Starter Kits are an easy way to learn and bootstrap your dapps. We have added a new GSN Starter Kit that ships with full GSN support, and a small demo to understand how the pieces fit together.