How do I create ICRC-1 token

I am trying to create an ICRC-1 token using Motoko but can’t find any resources online. I have seen some no-code solutions but my use case has specific needs thus I need to do it programmatically.

Are there any examples I can look up?

There is a reference implementation in the ICRC repo: ICRC-1/ref/ at main · dfinity/ICRC-1 · GitHub

1 Like

Here are some active repos that people have used:

^forking sneed will also give you access to fork list, and the sneed block explorer. It is based on the nat labs icrc1 implementation,

^here is my sneed fork, with some differences in the code to change the “inclusive fee” to a normal fee and some other changes requested by Openchat and sonic

^ I also believe @Bugslayer and Sonic team just published an implementation which I would assume is the one needed to interact with sonic swap; though I am not certain if anybody has used it yet, you could be the first!

No code solution would be launching DRC20 from the token tool.

I hope this helps!


Thank you for your support. I have taken a look at the code. I can’t find any way to deploy this on a testnet. I can run this offline but I can’t seem to find the testnet.

It seems the sodium testnet is no longer online.

Testnets have not existed for at least two years now. I’m not sure there existed any post launch…


I believe there are ways to deploy local canisters from the command line.

Also, you can always deploy them live and just not make the canister Id public as you “test”

I can tell you that these three implementations are ready to go, and already have had some significant “trial by fire” so once you change some of the information like your token name and image and set your variables they will work.

1 Like