Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Swarm City High Level Roadmap

How to use this document

Every Episode is a development sprint. Each Episode consists of a set of Epics devs must work through in order to create the functionalities highlighted in the Episode.

After each sprint the dev team will show a functioning DApp demo in which the scenario described by the Episode is played out.

Once an Episode is completed, devs are free to move on to the ensuing Episode.


Check out these articles to learn more about the general concepts of Swarm City.

Supporting documentation

Season 0 (Pilot) [DONE]

S00 E01: All beginnings are hard

In Episode 1 of the pilot-season: Terminal is born!

User stories:

Season 1

S01 E01: First Request

In episode 1, Frank is really excited to start using Swarm City. Whenever he gets excited by something, Frank throws himself whole hog into it. And so without delay he creates and posts his first request.

Frank would like someone to translate his "Decentralise Now!" manifesto in exchange for 20 SWT. He posts this request in the marketplace known as #Settler, because #Settler is a place where early adopters go to do such things.

Frank is on /new-request, filling in the description: "Translate my 1 page manifesto from English to Dutch." and the amount: "20 SWT". Frank sets the request's location to "Worldwide".

After submitting his request, he sees it on page /hashtag (of #Settler). Frank taps on his item to see the detail. In the detail, he finds and then grabs the shareable link and posts it on Facebook.

Who, oh who, will respond to Frank's request?

New epics in this episode:

  • As a Seeker, I can share the relevant location range of my request so providers can choose if it’s relevant to them. #18

  • As a seeker, I can post a new request in a hashtag, describing what I am asking for and how much SWT I am offering, so providers can see what my need is. #7

  • As a user, I can see all the items in a hashtag, so I know the activity of myself and other people. #8

  • As a user, I see the detail-view of a request/deal I’m active in so I can verify all the details of this request/deal. #9

S01 E02: Request Replies

In episode 2, two people reply to Frank's request.

Alice sees Frank's request on Facebook. She taps it, and gets transported by way of the internet to Here Alice can see the details of the request, and she decides to reply.

Tom is already on Swarm City, specifically on page /hashtag of #Settler. He also is intrigued by Frank's request, and taps it to see the detail. Tom decides to reply as well.

Frank sees the two replies. Who will he choose?

New epics in this episode:

  • As a provider, I can reply to a request so I can express my interest in entering into this deal. #10

  • As a user, I can see the replies to a request. #11

S01 E03: The Burden of Choice

In episode 3, Frank has to decide who he wants to choose as a provider for his request.

Frank gets to know the reputation of the repliers, Alice and Tom. Alice's reputation is sketchy, so he chooses Tom to become the Provider.

Tom is very happy, and agrees to the deal.

Will they successfully complete this deal, or is there a conflict waiting around the corner?

New epics in this episode:

  • As a user, I see another user’s reputation so I can interpret it to decide on the trustworthiness of the other user. #12

  • As a seeker, I choose one of the repliers to become my provider so we can enter in a deal. #13

  • As a Provider, I accept and fund the deal, so the Seeker and I are engaged in a deal. #15

S01 E04: The Successful Deal

In episode 4, Frank and Tom successfully complete a deal.

When a deal is successfully completed both users gain reputation. Frank can view his new reputation, while Tom verifies that he received his SWT.

Finally Tom's got his SWT. He knows it opens up a whole new world of possibilities. What will he do with his newly gained capital?

New epics in this episode:

  • As a seeker, I payout the deal, so the provider gets the funds and reputation tokens are created for me and the provider. #14

  • As a user, I can see my reputation balances so I can check how other users perceive me. #17

S01 E05: Going Sour

In episode 5 Tom tries to make up his mind about where to post his first request. There are so many possibilities to choose from!

In order to decide, Tom checks out the information display for several different hashtags.

He chooses #SCCommShare.

Tom makes a new request and selects Brenda as a provider, which results in a deal between Brenda and Tom.

Although Brenda agreed to the deal, she never delivers. Tom wonders where she is so he sends her a chat message in their shared deal.

Brenda replies "Damn, it's just too hard for me, Ton! You want it in what langwage?", which of course makes Tom seriously pissed off, as he is quite anal with spelling. He has to resort to his last option: initiating conflict resolution with the hashtag maintainer. Will Tom get justice?

New epics in this episode:

  • As a user I can find the details for a hashtag, so I can learn more about it. #21

  • As a user, I can chat so I can communicate about the deal. #22

  • As a user I can start a conflict about the deal, so I can express I do not agree to the deal anymore. #23

S01 E06: Finding Peace

In episode 6 we meet Crystal, the Hashtag maintainer. She is responsible for resolving the conflict between Tom and Brenda.

Crystal checks the details of their deal. She joins the chat with Tom and Brenda, and starts communicating with them. She hears both sides of the argument.

Crystal resolves the conflict in favor of Tom. Brenda realizes it was her own fault. (For one thing, spelling your customer's name right is important.) Will she do a better job next time?

New epics in this episode:

  • As a hashtagmaintainer I can resolve conflicts so users have a safe and fair marketplace. #24

S01 E07: Searching New Horizons

In episode 7, Brenda tries to reply to a request on a different hashtag.

Brenda sees the hashtaglist and chooses a different hashtag she's interested in. She learned from her previous mistake, and this time filters the list to only see requests nearby. She concludes she'll have a better chance of fulfilling requests that occur in her general neighborhood.

Brenda sees Gary's request. It's nearby, and it's the amount she's looking for, so she responds to Gary's request. Gary picks Brenda as the provider, but by that time Brenda is passed out on the couch.

Gary loses his patience with Brenda, so he deselects her and picks someone else.

New epics in this episode:

  • As a user, I can see all hashtags with the number of completed deals for each hashtag, so I can see the activity in Swarm City. #25

  • As a user, I can filter a hashtag’s items by my geo-range of choice so I can see items in my area. #26

  • As seeker, I can deselect the replier I previously selected, so I can choose another one. #27

S01 E08: Bad Luck Gary

In episode 8, Gary has no luck with his deal, so he just gives up.

After deselecting Brenda, Gary selects Pepe as a Provider. Unfortunately, Pepe declines which leaves Gary's deal without a Provider. This makes Gary totally fed up with Swarm City, cancelling his deal. Will Gary ever do a new request in Swarm City?

New epics in this episode:

  • As a provider, I decline the selection, so I can express I'm no longer interested in fullfilling the request. #28

  • As a seeker, I can cancel my request, so the request is no longer on the hashtag. #29

  • As a user, I get notified so I can quickly navigate to the actionnable items. #30

S01 Bonus Episode: The Bridge

In this bonus Episode, Frank has been letting all his friends know that Swarm City is a great place to transact with peers in a decentralized way.

But Frank, who is more crypto-savvy than most, understands that Swarm City exists on the Kovan network, where transaction costs are free. And in order to give the Swarm City ecosystem on Kovan real value, Swam City on Ethereum mainnet will need to be bridged to Kovan.

Frank badly wants his friends to use Swarm City, and receive the benefit of having an account linked to mainnet Ethereum.

Luckily the Kovan-mainnet bridge has been developed! When Frank logs into Swarm City, and heads on over to his wallet, he now sees two accounts, “Cash” and “Reserves”. The SWT in his cash account can be used in the Swarm City ecosystem.

Whenever he wishes to bring his Swarm Tokens to the Ethereum ecosystem, Frank transfers them from his Cash account to his Reserves account.

Will Frank and his friends have an easy time working with both networks?

New epics in this episode:

  • As a user, I can shift my SWT between two Ethereum networks, so I can do transactions without worrying about gas prices and Ethereum’s scaling problem. #32


This is the high level description of what needs to be built






No releases published


No packages published