🚀 ICO with Stellar

I should start by convincing you why I choose Stellar over Ethereum for ICO but someone else already did this and that so let’s focus on “how to” instead! :D

Image Credit: NASA, ESA, and The Hubble Heritage Team

Step 1 — Create accounts

  1. Go to Stellar dashboard (on testnet) : https://www.stellar.org/laboratory/#account-creator?network=test
  2. Generate and funding Issuer, Distributor, Investor account
// Issuer
Public Key:
GCYEJSMEEP7VQFFS6WELX3QSJRL3OQFIZ4MGXQL6R56P33TKBFBT2GNZ
Secret Key: SB3AMLXIMVVUIUUR4RAB6PPUU7JLTICLYL5ASUSF5TFK45RVYI2KVN55
// Distributor
Public Key: GCUBEOLQ5DOTG5WMCXRCX4MPNXEXLW6JTVO3KDM53ZZIXIL3L4Z6XEI4
Secret Key:
SCFY4M2KKPIH5FOBQSJ65FKBFVDRVIODD64XKCL76DMBTYLBSPED7FEU
// Investor
Public Key: GAMFA7CV5PE5EIFVK63625LW5LYTXBPJ46U7N5GO5ZLXJXHKOTOJSKRQ
Secret Key:
SD6POO6J5NICX75LJJO2C2LDFJDII7V76XTVGANLDZNWIRZEZ2ENXPKN
So we got Public key and Secret key, do keep Secret key as a secret don’t post it publicly like this!

Step 2— Distributor trust Issuer

// We’ll need to let distribution account trust issue account first.

  1. Go to Stellar dashboard in transaction builder section : https://www.stellar.org/laboratory/#txbuilder?network=test
  2. Use Distributor Public Key for Source Account
  3. Click Fetch next sequence number for account starting with… button

4. Select Change Trust for Operation Type

5. Add your asset code (it’s FOO in my case), Issuer Public Key

6. Click Sign in Transaction Signer button

7. Sign with Distributor Secret Key.

8. click Submit to Post Transaction endpoint button

9. It will navigate to Post Transaction page, Just click Submit button

And you should see… this

Step 3— Create tokens

// We can create token by make a payment from Issuer to Distributor

  1. Go to Stellar dashboard in transaction builder section : https://www.stellar.org/laboratory/#txbuilder?network=test
  2. Use Issuer Public Key for Source account
  3. Click Fetch next sequence number for account starting with… button

4. Select Payment for Operation Type

5. Use Distributor Public Key for Destination

6. Input amount for any number. Let’s try 1000000

7. Click Sign in Transaction Signer button

8. Sign with Issuer Secret Key

9. Click Submit to Post Transaction endpoint button

10. Click Submit button

And you should see… this

Do try explore Distributor account here and you should see

Step 4 — Publish information about your token

// This is optional, and here’s an example from Jed’s post

{
"code": "FOO",
"name": "foo token",
"desc": "1 FOO token entitles you to a bug from katopz.",
"conditions": "You must travel to Bangkok to receive your bug."
}

Step 5 — Limit the supply

// This is optional, please see this post for how to

Step 6 — Distribute your Token

// Let’s set the price to 1 XLM = 1 FOO

  1. Go to Stellar dashboard in transaction builder section : https://www.stellar.org/laboratory/#txbuilder?network=test
  2. Use Distributor Public Key for Source Account
  3. Click Fetch next sequence number for account starting with… button

4. Select Manage Offer for Operation Type

5. Input asset code (FOO in my case) for Selling

6. Input Issuer Public Key

7. Input how much you want to sell (1000 in my case)

8. Input its price against XLM (I choose 1:1)

9. Buying Native

10. Offer ID is 0 for new offer.

11 . Click Sign in Transaction Signer button

12. Sign with your Distributor Secret Key.

8. Click Submit to Post Transaction endpoint button

9. Click Submit button

And you should see… this

Step 7 —Buy token?

// We need to let Investor trust Issuer first

  1. Add FOO to trust line by go to https://www.stellar.org/laboratory/#txbuilder?network=test
  2. Use Investor Public Key as Source Account
  3. Click Fetch next sequence number for account starting with… button

4. Select Change Trust for Operation Type

5. Use FOO as asset code

6. Use Issuer Public Key as Issuer Account ID

7. Sign with your Investor Secret Key, Submit like usual

You should see (result)

8. Buy FOO by go to https://www.stellar.org/laboratory/#txbuilder?network=test

9. Use Investor Public Key as Source Account

10. Click Fetch next sequence number for account starting with… button

11. Manage offer, Selling Native, Buying FOO from Distributor

12. Sign with your Investor Secret Key., Submit like usual

You should see… (result)

To ensure investor got there token do explore their account here and you should see

Recap

  • You created token name FOO on testnet by Issuer.
  • You created Distributor that trust Issuer for FOO token and received payments from Issuer.
  • You let Distributor create offer for selling FOO.
  • You let Investor trust FOO token and buy it with XLM.

Bonus

Trade on day one! Enter here for testnet and follow this link to trade. No need to beg for listed on exchange!

TODO

Credits

Where to buy XLM with fiat? (ref)

Donate if you please

// Here’s my Stellar account, all donation belong to my cats! 🐈

GDI6FBVJSHMF5PF6C7DDM57NAGYTYWMQQW2A6BVA6DTS2ZL7ZDRZBI2S
Like what you read? Give katopz a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.