Getting started with Gitstore

We’ve built Gitstore with a singular focus and purpose – to help you make money making the things you love to make. Here's how to get set up and selling your code with Gitstore.

Creating a Gitstore account

I’m assuming you’re interested in selling something, or at least want to learn how and why you’d want to. We imagine the majority of maintainers will sell code, but we’ve designed Gitstore to work with anything you can put on GitHub.

You can create an email-based account, but to sell you’ll have to connect to Github anyway. After you’ve created an account, you’ll see the dashboard. We have short-term plans to make this much better. In the meantime, you’ll see the wizard...

Each of those things is a step between you and your first sale. If you signed in with GitHub, then the first should be green.

  • If you opted for an email account, but you still want to sell; click “Settings” → “Connect GitHub”.
  • Next, you’ll need to add your Stripe account details. Go to
  • Next, click “Developers” → “API keys”. On the Gitstore “Settings” screen, you’ll see matching “Publishable key” and “Secret key” fields.

We recommend you use testing keys, first; until you’ve tested that everything is set up as you want it to be. You can jump straight to using “live” keys, but we don’t recommend it.

No Stripe? No problem!

A few of the people we’ve spoken to, during beta testing, have mentioned they can’t easily get a Stripe account. If you’re one of those people, we would like to help. Get in contact with us.

Now, it’s time to activate a repository! Click “Repositories”...

If this is the first time you’re clicking “Add a repository”, you’ll see another button; “Give us those permissions”. As the text above it points out, the initial connection to GitHub was the quickest and easiest way to sign up.

It’s also the way that asked for the least amount of permissions. The majority of people signing into Gitstore will be the people who buy your code. They won’t want to allow Gitstore deep access into their account. But, if we’re going to automate all the things, we do still need those permissions.Clicking “Give us those permissions” just allows us to add webhooks and deploy keys to your repositories. If we could ask for exactly those OAuth scopes, we would.

Sync your Repos

Then, you’ll see a “Sync with GitHub” button. This is so that we can fetch your repositories. Note that we will only allow (and show) repositories that have at least 1 tagged release.

Due to the expensive process of inspecting each repository you give us access to, to find the repositories you want to sell, we only allow you to sync once every 10 minutes. As we improve the sync algorithm, that timeout is likely to decrease to the point where you don’t even notice it.

The “sync” process will take a bit of time, especially if you have access to many repositories.

There’s no limit to the number of repositories you’re allowed to activate, but you’ll need to upgrade your account as sell from more of them. Our soft-limits policy means you’ll always be able to activate repositories and make sales.

Even though we don’t put the brakes on, we will use the soft-limits as an invitation to talk to you as you grow into bigger plans. We’ll talk more about plans in a bit.When you click on “Repositories”, again, you’ll see some new UI:

Now you can add plans!

Creating plans

You can create multiple, personalised payment plans; for each repository. For example, I’ve chosen to make the following plans for my attempt-promise repository:

“Supporter” – this plan is for people who want to show their support for my open source work. The code isn’t private (although you can add private and public repositories in exactly the same way), but this plan is a low monthly subscription. This is similar to if they were paying me a few bucks on Patreon, but it’s specific to this repository. Subscribers will get a specific and professional invoice for their subscription.

“Maintainer” – this plan is for people who want to invest in future development. Using options on the “Create plan” page, I can indicate that subscribers to this plan will pay slightly more for the benefit of being able to ask support questions and the assurance that the library will be maintained in future.

“Thanks” – this plan is a once-off “thank you” for the library, if it has helped them improve their work or meet a deadline.

As a maintainer, you can choose what you want each of the plans to mean. We’ll work with you personally (but also in future blog posts) to figure out what plans work best for your digital goods.

You can choose:

  • what currency each plan users
  • how much it costs
  • whether it is billed monthly or yearly or once-off
  • whether it includes maintenance and/or support

Once that’s set up, you can take a look at your maintainer pages. Click “Sell”:

  • “Maintainer” pages show all your repositories
  • “Repository” pages show the plans for the repository

You can share these links with your customers and supporters. Additionally, you can find badges to these pages, back in your profile. Click “Repositories” →“How to share this repository”:

Selling Your Code

If you hover one of those badges, you’ll see an option to “Copy code”. This will put a linked image into your clipboard, so you can paste it in a readme or on your site.You may have also noticed that “Embed code” block. Copy and paste the code you find, in there, into your site. You’ll be able to sell code without your customers even knowing they’ve done so through Gitstore.

Speaking of subscribing: Gitstore works by generating and adding unique deploy keys to your repositories. I’ve mentioned you can add public and private repositories in exactly the same way. That’s because we add the deploy keys to both, so you can decide to turn a public repository into a private one, and all your subscribers will still have access.

Furthermore, when you activate a repository, Gitstore will download ZIP archives of each release; so your subscribers will have access even if GitHub goes down. SSH (deploy) keys and ZIP downloads become available after a customer has subscribed. If they cancel their subscription, they’ll still have access for the duration they’ve paid for.

Ok, enough details.

The final thing to do is subscribe to a payment plan, so your customer can see your stuff. Click on “Plan” and pick a payment plan. If we’ve spoken to you about becoming a partner, get in touch (once you’ve created your account) and we’ll flip some switches so you get the benefits of being a partner.

That’s all for now. Thanks for taking this step, with us, and starting something great.