Goblin is a Nostr- and Tor-powered peer-to-peer Grin wallet built on Grim. The UX is styled after Cash App - mobile-first, and it works with pretty much any Nostr relay in the wild that supports the NIPs Goblin uses. Usernames are handled by our own lightweight name-authority relays called Floonet Relays (https://floonet.dev) (which anyone can run if they have a valid domain). Neither the relays nor the name server ever see your IP because everything routes through Tor first.
What is Nostr?
Nostr is a dead simple, open protocol that enables truly decentralized censorship-resistant and global value-for-value publishing on the web.
As anynomous puts it:
Why Tor?
Goblin ships with Tor built in, the same embedded arti engine Grim uses, so there is no separate daemon and nothing to install. All relay traffic leaves your device over Tor, so relays see a Tor exit instead of your IP. Tor’s low-latency design keeps payments fast while still hiding who you are from every server in the path. Earlier builds routed through the Nym mixnet instead; that experiment is retired and Tor is the transport now.
How does this work?
Basically like an end-to-end encrypted nostr direct message traveling over Tor with Goblin auto-handling slatepacks. Because of our NIP implementations a receiver’s relay cannot see the sender and the timing of the message is fuzzed, greatly improving privacy.
The best part is that your identity is in no way tied to your wallet publicly. Technically you could have many identities for 1 wallet!
Full documentation of the Goblin transport layer lives at https://docs.goblin.st
Plans:
- Improvements to UI/UX
- following Grim’s public release upstream
Download:
Support:
- Telegram: View @goblinfamily
- Documentation: https://docs.goblin.st
- https://bbs.goblin.st // TOR (onion link)
If anyone feels like tipping me through Goblin here's my Goblin QR (the data is a simple nostr profile!)
And of course, disclaimer: Goblin is still in early development.
Crates Goblin adds to Grim
nostr (the messaging layer: how a slatepack becomes a DM):
- nostr-sdk with NIP-06/44/49/59/98 (encryption, seal/gift-wrap, key storage, HTTP auth)
- nostr-relay-pool : relay connection management
- nip44 + secp256k1 : our NIP-44 v3 encryption crate for the NIP-17 backward-compat extension
- async-wsocket + tokio-tungstenite : the relay WebSocket transport
- regex, base64, hex : parsing + NIP-98 payload encoding
TLS glue:
- rustls (ring provider pinned) + tokio-rustls + webpki-roots : TLS for the relay sockets with bundled roots, so nothing depends on the platform cert store
Transport: Goblin keeps Grim’s proven built-in Tor engine (arti), so there is nothing extra to add there. The old Nym mixnet path is retired and its crates are gone from the build.
Crates Goblin removes from Grim
Grim hosts a Tor onion service to RECEIVE slatepacks. Goblin receives over Nostr instead, so it keeps only Tor’s dialing half and drops the whole hosting stack:
- arti-client : kept, but without the onion-service-service and pt-client features (we dial out, we do not host)
- tor-hsservice : hosts the onion (hidden) service
- tor-hsrproxy : reverse-proxies inbound onion traffic to the wallet
- tor-hscrypto : onion-service crypto
- tor-keymgr : manages the onion-service keys
- tor-config, tor-llcrypto : config plumbing and low-level crypto for the hosted service
- fs-mistrust, safelog : arti’s file-permission checker and log-redaction helper
- ed25519-dalek, curve25519-dalek : the onion identity key crates
Major Update 7/2/26:
I’m really grateful for the community’s feedback since this announcement and was surprised as most of it has been positive so far. I’m excited to talk about the future of Goblin and there is a new build with some important changes (changelog below) but this is also an important announcement about the Goblin+Grin ecosystem.
Today, I’m announcing 4 new members of the Goblin ecosystem. All connect you to GRIN in new ways. All are optimized for paying and receiving GRIN over nostr, and all are shipping this week.
Floonet Relays:
Floonet relays are self-hostable Grin-native relay stacks that carry Grin payments and names as sealed, end-to-end encrypted messages over nostr, private by default through the nym mixnet, and anyone can run one. By hosting your own floonet relay you strengthen and build out the network, and you can charge GRIN for other Nostr services, such as file uploads for a hypothetical GRIN powered chat service.
Charging GRIN for certain relay usage is a great way to support yourself for hosting infrastructure and is easily integrated with the new GoblinPay!
GoblinPay:
GoblinPay is a self-hostable, receive-only payment server for Grin. Your shop or service shows a code, the customer scans with Goblin, and GRIN lands in your wallet. Customers can also complete transactions manually with slatepacks. With GoblinPay, you can immediately start charging GRIN for products and services, Floonet Relays can become a paid service for other nostr services, or you can spend your GRIN on the GRIN-only nostr-powered Magick Market:
Magick Market:
The Magick Market is a nostr-powered GRIN marketplace that allows you to login with Goblin (or use popular extensions like Alby to login) and sell, or anonymously buy. Run your own instance and it federates with existing magick market instances!
Building a circular community economy is great for GRIN and to get new people interested in GRIN, but so is potentially helping and changing lives in positive ways with GRIN. That’s why I’m also lastly introducing:
Eranos:
Eranos is GRIN crowdfunding powered by nostr. With Eranos, anyone can crowdfund important fundraisers globally and privately and empower more people with GRIN. Every donation settles straight to your wallet, with no middlemen, no chargebacks, and no platform holding your funds.
With all that, I’m wrapping it up here so I don’t spam the forums, but we can continue discussion here, in the Telegram group and anonymously at the goblin bbs.














