GrinMail new feature: one command send grins

GrinMail is a tool to receive coins automatically using the email system for Grin, I introduced it in the previous article, please click here. According to @xiaojay 's suggestion, since the receipt of coins can be automatic, can send coins also reduce the operation steps, with just one command? After continuous hard work and exploration, I finally succeeded. This includes generating Slatpack message, sending it to the receiver’s mailbox, waiting for a reply from the receiver, and receiving slatepack to finalize the transation. The entire process is automatically completed by the program. It no longer requires the user to click, copy, paste and other actions to minimize operations step. If the sender and receiver have installed GrinMail at the same time, then only one command from the sender is needed, others such as receive, finalize will be completed automatically, without manual work, greatly convenient for users. Now GrinMail becomes a terminal tool that can automatically receive coins and send coins with one command.

Configure and useage

It requires Linux system, Python3 environment, official grin-wallet(modify the file .grin/main/grin-wallet.toml find the line: check_node_api_http_addr = “ -this is the remote node of the Goblinpool), Enable email POP3 and SMTP services, clone the code and fill in the config.ini, then cd ~/grinmail/ , finaly, you just simply type in the terminal:

python3 [email] [amount]

[email] option is to fill in the recipient’s email address.

[amount] option is to fill in the amount of coins. For example, sending 1000 grins to

python3 1000

That’s it, you’re done!

Furture improve

GrinMail is currently running well on the Linux system, and the feature of automatic receive coins is also implemented in Win10 system, the next one command send grins can also be done in the Windowns. In general, the configuration environment is troublesome, the setup is cumbersome, not suitable for general users. In the furture, I will gradually improve in this area.

Finally, thanks to @xiaojay and Goblinpool for their sponsorship and support!

GitHub - aixinrock/grinmail: A tool to receive Grin trading and send them back automatically using the email system


Cool @aixinrock. Do you think the code can be easily modified for scanning other media for slate-packs and sending them to your wallet? E.g. would it be much work to modify the code to scan a matrix server for slate-packs, and import the ones that can be decrypted by your wallet (since most likely multiple users will share a server)?

Thanks for working on this :+1: I’m assuming the slatepacks are not encrypted, right? Because you don’t have the grin address to encrypt it.

1 Like

Sorry, I really don’t know what matrix server is. If it has a python API like telegram bot, it should work.

1 Like

You’re right, the slatepacks are not encypted. If you need to encypt, just add a parameter. Future upgrade version will support it.

Good point, it would be nice to add something like an address book to associate name - email - slatepackaddress

Edit: Actually, thinking about it, it would be nice to really build that into the wallet. But for now having contact list as json or tsv of three columns would already be nice.

@aixinrock does this also mean when the receiver respond to the email, the slatepack response will automaticly be passed to your wallet to finalize ?

Yes you are right, the whole process is automatic. You just watch it complete. :laughing:

Nice. I’am selling stuff on and i Always needed to Sync with the buyer to get Paid. Next Time i will try this solution soon.

is this correct @aixinrock ? Thank you


Totally correct! The graphic you made is excellent,it simply and clearly explains the working principle and process of GrinMail. Could I use it furture post about GrinMail? If you have any question or issues when using GrinMail, feel free to ask me.


of course you can use it

@davidtavarez (this thread, the other one is old)
Interesting tool. I added this to:

@aixinrock Do you know it the slatepacks are encrypted? I know they are for Grin++, but not sure if it is the case for grin-wallet.
I am asking for privacy reasons, since if they are, emails with slatepacks are a very nice easy standard for payment processing for web-shops as well as for exchanges. If not, then emails are a bit of privacy risk.

First thanks for adding.
The script is not encrypted by default, and it can also be encrypted with grin address. All operations are the same as grin-wallet. About privacy, since it is associated with an email address, I think there will be some privacy risks.

I think Grin community needs to center around an app URI.

Instead of a bare slatepack value, it could be prefaced with GRIN:// and then the operating system knows to open a Grin wallet and do something with that value

So a friend can send a slatepack in any messenger and I just have to tap it

1 Like