# Anonsats: Payments Without Borders **Welcome** to the explainer site. Currently, you can play with the experimental [whitelabel] (https://nimo.cash), which is under development, and,soon, will be available as beta ![](https://i.imgur.com/aSGVZeG.jpg) *Anonsats uses the peace symbol as its logo, to extend its meaning to peaceful payments accepted* **TLDR;** Anonsats is a payment and settlement system built on [Bitcoin](https://bitcoin.org/en/), [Lightning](https://lightning.network/), and [Cashu](https://github.com/cashubtc/cashu). Cashu is the final piece of the puzzle, a [Chaumian mint](https://bitcoinmagazine.com/technical/chaumian-mints-distribute-trust-among-bitcoin-users) component, that, together with custodial wallets, Lightning and Bitcoin, has the promise of becoming an *unstoppable and untraceable global digital cash payment and settlement network*. And, yes, it is also possible to do offline digital payments with the cryptographic capabilities provided by Cashu. * A technical prototype is now available for experimental testing. To get started, check out the "jump start" methods of the [anonsats API alpha version](https://asats.io/anonsats/docs). User app to come soon. * This system is being built to support the [Framework for Facilitating Small Value Digital Payments in Offline Mode](https://www.rbi.org.in/Scripts/NotificationUser.aspx?Id=12215&Mode=0)* * This system is being built for native integration into the NOSTR protocol. Names [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md) and Lightning Zaps [NIP-57](https://github.com/nostr-protocol/nips/blob/master/57.md) have been implemented, including Zap Splits, proposed as [Lighting Prisms](https://dergigi.com/2023/03/12/lightning-prisms/) as proposed by [Gigi](https://dergigi.com/) * Finally, after a field trip to SE Asia and seeing how payments are conducted in the real world, we are implementing the [LUD-21](https://github.com/ethanrose/lnurl-rfc/blob/LUD-21/pouchph/pay-local-currency/21.md) for transacting in local currency. ## The Anonsats Project *"With true money, it should be yours to spend as you please; with full control and privacy. It should be backed fully backed by an open settlement system. There should be no compromise."* ~ Anonymous User This quote sums it up. Anonsats is an experimental attempt to give you better (almost perfect) financial privacy in the digital world. By giving you better financial privacy, anonsats tries to protect your thoughts, relationships and intentions from being subject to arbitrary rules and sanctions. Some might say that this approach is a recipe for criminality, but others believe it is a fundamental element of human freedom and dignity. Anonsats does not make any judgment call or moral statements. This project exists to prove what is technically possible. If anything, these effort will inform policymaking, and government will figure out what the rules might be, once they realize that digital money can exist and be used in nearly perfect privacy. Presently, the project is available intermittently through transient and ephemeral deployment instances. But as things progress anonsats will be deployed as a production service. In the meantime: * Watch the [Technical Demo Video](https://youtu.be/XQelH_2g7YA) (Warning video is very early days, much has changed, but you can get the general idea.). More videos coming soon! * Play with the [api](https://asats.io/anonsats/docs). Experimental. Alpha. No guarantees! ## So what's the big idea? It's not really a big idea. It's getting to where we once were before the rise of all things digital. Somewhere along the way, we forgot that we crossed a line toward total informational and financial surveillance. Many are ok with this, more are not. It's not about being a criminal or hiding illicit activity, it's about how our behaviour has changed due to ongoing surveillance. ## What's the secret sauce? Let's step back for a moment. Anonsats is built on the shoulders of giants and fundamental concepts: * Bitcoin uses unspent transactions, known as **UTXOs** * Traditional financial systems (including Ethereum) use **Account Balances** * Anonsats, with the help of Cashu, used **Blinded Promises** *Blinded promises represent the major next advance toward total financial privacy. Although in existence for decades, blinded promises combined with Bitcoin/Lightning payment/settlement network enable global scalability* What's fundamentally different about blinded promises, is that while they are in circulation (as tokens, coins, whatever), there is ABSOLUTELY NO RECORD OF THEIR EXISTENCE!! Only when a blinded promise is presented for redemption, the mint can cryptographically confirm that they are good for the money. If you don't believe this, it does take a while to understand; there is a repl.it implementation further along in the page if you want to work through the proof. Anonstats tries to combine everything to give the use best of all worlds: 1) a custodial wallet for newbies who only care about having a Lightning address; 2) a method for more sophisticated users to easily convert online sats into negotiable tokens (Cashu tokens), and finally 3) a way to conduct offline payments (they are actually deferred redemptions) where either the payer or payee don't have access to reliable internet. So in the end, whether you call them 'tokens' or 'coins' (techically, they are signed blinded secrets that represent a promise from the mint), they can be stored and circulated INDEPENDENTLY of the issuing mint. There does come a time when the token or coin needs to be redeemed or paid out to Lightning, and that can easily be done with the /withdraw or /burn methods. ## Why should I care? It's about financial privacy and freedom. You should care about that. Many do care, and this project is about those who care. ## How anonsats adds value for the user and the Lightning Network. It's important to understand that anonsats is not a replacement for Bitcoin or Lightning (it is built on Bitcoin/Lightning, after all). It provides some important advantages for widescale adoption: * An anonsats user requires nothing more than a browser, paper and pencil (or a really good memory) to get started. * As the user gets more sophisticated, they can have their own personal wallet on the device of their choice (currently a only command-line Python client, but hey, it's early days)! * The tokens, are like physical bank notes, they have an independent, self-contained and UNTRACEABLE existence. They are a BEARER instrument. In fact, through the magic of cryptography, there is no NO RECORD of their existence while they are in circulation. Only when they are redeemed are they checked for a double-spend condition, and another UNTRACEABLE token is issued. * Unlike, Lightning, where both parties are online, the anonsats token holder *does not have to be online.* It's low-tech, too. An anonsat token can be simple text file, stored via NOTEPAD.exe. It can be QR code jpg file that is stored and scanned when it is used. It can be on a printed piece of paper, JUST LIKE A BANK NOTE! Only when the receiver redeems the coin, is there a secure blinded transaction back to the mint to redeem and to issue a new token to the subsequent holder (e.g., merchant) * Each Cashu mint, is its own independence instance. This is not a federation, but rather a competitive participant in a standards-based adverse clearing and settlement system (like what used to be the Canadian and Scottish banking systems, before central banks became the fashion). Anonsats abstracts the multi-mint instances away from the user to make it seamless. If a user gets nervous about a particular Cashu mint, they can immediately withdraw their sats to Lightning/Bitcoin and/or transfer them to a more trustworthy Cashu mint instance. * Every managed Cashu wallet automatically supports all of the mints that are a member of the [trusted keyset](https://asats.io/anonsats/docs#/public/anonsats_info_anonsats_info_get) * Finally, anonsats is ultimately backed by Bitcoin. If a user wishes, they can clear out their anonsats tokens via a Lightning invoice, and do final settlement on the Bitcoin blockchain. ## How much should I trust anonsats? Anonsats is built on Lighting Layer 2, so there is some trust. It is a custodial wallet, yet it can be cleared out in a moment's notice. What you get in return is an increase in privacy and a custodial wallet that works across many trusted mints and can be openly cleared out via Lightning. * Before the system goes into the production (still in alpha, for now), the code will be audited and certified and you will be able to verify the running code of the service using the anonsats code base. * Anonsats does not collect any personal information. The only thing stored on the server is a uuid that is generated salted and hashed values. There is no way to back-reference the uuid to the `wallet_key` or the `wallet_name`. * Anonsats, in turn, has to trust a set of Chaumian mints that have promised to stay available online and willing to redeem Cashu tokens. A list of [trusted keysets](https://asats.io/anonsats/docs#/public/anonsats_info_anonsats_info_get) is being maintained, which reflects the set of trusted mints within the ecosystem. ## What's the tech? It is being built on the shoulders of [Cashu](https://github.com/cashubtc/cashu), a Chaumian Ecash wallet and mint with Bitcoin Lightning support. It is also built as a mounted app on [Fastlogin](https://fastlogin.io), an authentication service based on [lnurl-auth](https://github.com/lnurl/luds/blob/luds/04.md). ## Where's the code? Still in a private GitHub repo, until it's ready to be released under an appropriate license. ## Why the name anonsats? Well, we thought it was a pretty cool name, and nobody had taken it, so here we are. The name is catchy and self-explanatory (we hope). ## What's primary the use case? It's for those who get sats for very first time. We envision that this first-time event would be inside the context of a super-simple browser app, where there is a opportunity to get some anonsats which are true sats/LN/BTC under the hood. This is a technical detail for the user, they only thing they need to know, is that the sats are real, not some stand-in s###coin (or, for that matter, someone's stablecoin or CBDC). The real power is when the user realizes that they can clear out these sats howevever they wish,to a BTC wallet or to a fiat currency of their own choosing. Even better, if another app is using anonsats, they will be able to easiy transact their sats to another anonsatsn app for use and redemption without penalty or restrictions. ## What about privacy? Nothing is ever perfect privacy, but anonsats, if they are used within an app context or between anonsat holders, never touch a chain or channel. Of course, there risk for surveillance within the app itself, but when transacting outside of an app, there is an extra layer of privacy afforded by the Chaumian mints (blinded signatures). Think of anonsats as your personal secret stash of sats for fully anonymous transactions that, when the time is right, can be cashed out on the open settlement networks (i.e., BTC/LN). ## What's the technical architecture? Diagram coming soon, but in the meantime, here is a simple layered architecture list. * Layer 4: Anonsats, Browser * Layer 3: LNBits, Cashu * Layer 2: Lightning Network, [Voltage.cloud](https://voltage.cloud) (for node hosting) * Layer 1: Bitcoin - the base layer The illustration, below, shows the layers of privacy protection: ![](https://i.imgur.com/KGVQFLL.png) ## What about the anonsats ecosystem? We believe the technology now exists to be a viable substitute to the global financial settlement and clearance systems. Anonsats can play a substantial role. It doesn't need to be 'money', but rather a standardized unit of account that is permissionless and not subject to the whims of a monopolistic or centralized issuer. It should be remembered that, prior to the rise of central banks, a viable free banking and competitive issuance system existed in countries like Canada and Scotland based on **competitive issuance** and **adverse clearing** of bank notes. This is laid out in [Free Banking in Britain](https://www.iea.org.uk/sites/default/files/publications/files/upldbook115pdf.pdf) by Larry White. Chapter 5 provides the theoretical basis on how **competitive issuance** and **adverse clearing** provide the natural, moderating feedback loops that maintain an overall currency equilibrium without central bank intervention. Anonsats attempts to replicate this ecosystem: each mint is independent (not federated) but the specie is common (bitcoin) and the currency denomination is standardized (sats). For the Harvard, types, anonsats can used to jumpstart [Ecosystems of Shared Value](https://hbr.org/2016/10/the-ecosystem-of-shared-value). If anything, anonsats can be used as the neutral unit of account to enable these ecosystems to span across different economic sectors and jurisdictions. ## Experimental Sandbox This is not vapourware. There is a real system with real working code being engineered behind the scenes. We have validated that it works and it is based in large part on proven prior art in the world of cryptography. These ideas have been around since 1982. * You can read the seminal e-cash [typewritten paper](https://chaum.com/wp-content/uploads/2022/01/Chaum-blind-signatures.pdf) by [David Chaum](https://chaum.com/) * If you really want the gnarly detail on the more recent developments on Chaumian mints, watch this [video](https://youtu.be/VwMzNE1D3so) and read this [gist](https://gist.github.com/AdamISZ/28c3475734becf031c9924f0b50d1bed). Props to [Adam Gibson](https://gist.github.com/AdamISZ) for this amazing material. * A recent presentation from [Adopting Bitcoin](https://www.youtube.com/watch?v=zVMZGmEg8JM&t=5100s) explaining Chaumian ecash. So create your own hosted wallet by using the [OpenAPI REST API](https://asats.io/anonsats/docs#/jump%20start). Instructions to come soon. ## Latest Updates * May 5, 2023: LUD-21 currency conversion. Updates to latest CashuBTC * Mar 31, 2023: Implemented NOSTR zap splits, LUD-21 Pay in Local Unit of Account and Proof of Payment Code. Plus a bunch more engineering stuff, under the hood, the Cashu mint now supports Postgres database for massive scalability. We're hoping of going into production in early Q4 2023. * Mar 6, 2023: A whole bunch of engineering improvements too boring to talk about plus [NOSTR](https://github.com/nostr-protocol) INTEGRATION!! Specifically [NIP-05](https://github.com/nostr-protocol/nips/blob/master/05.md) names and [NIP-57](https://github.com/nostr-protocol/nips/blob/master/57.md) Lighting zaps. * Jan 2, 2023: Added the ability to send anonymous messages. * Nov 30, 2022: We are live, folks! * Nov 28, 2022: Lots of cool updates, including support for Lightning Wallets * Nov 16, 2022: Added lock capability to wallets (/setlock, /getlocks) * Nov 15, 2022: Anonsats now has a stable instance * Nov 14, 2022: Anonsats now supports Cashu mints that are managed by the LNbits Cashu extension. If the token has been issued by a mint that is a member of the [trusted keyset](https://asats.io/anonsats/docs#/public/anonsats_info_anonsats_info_get), it is an honoured e-cash token anywhere in the anonsats trusted mint ecosytem * Nov 13, 2022: Anonsats now has multi-mint support http://asats.io/anonsats/anonsats/info. What does that mean? Not much from the user point of view, but a big deal for any operator that wants to work seamlessly across multiple trusted mint instances. * Nov 12, 2022: Adding multi-mint support. When a cashu token is received, anonsats inspects the token and looks up the right mint to redeem the token to the wallet. * Nov 11, 2022: Added tags to the [api](https://app.anonsats.io/anonsats/docs) for easier understandability * Nov 9, 2022: Major improvements to API documentation. You can see the latest [here](https://app.anonsats.io/anonsats/docs) * Nov 8, 2022: Resolved some deployment issues. Now running on Heroku as an ephemeral instance. * Nov 6, 2022: Have proven that all of the pieces needed can work together.Now building the service. ## API Tour Videos Minute-sized snippets of videos showing the key tasks of what you gotta do. * Videos to come! In the meantime, the [API](https://asats.io) is pretty self-explanatory. If you want to get into the jugular vein and get going, check out the [jump start methods](https://asats.io/anonsats/docs#/jump%20start) ## User Stories These are simple user stories that explain how anonsats will be used. [User Stories have moved to this page](https://hackmd.io/N6EHvtIlQC68CY-axNPJVA) --- ## Awesome Resources * Blind Signature explained in Python code in this [REPL IT repo](https://replit.com/@trbouma/BlindSignatures#main.py). --- *Wow, you've made it all the way to the bottom. If you are interested in discussing further, [DM](https://twitter.com/anonsats) us.*