STORY
Pitch: SmartSats ๐Ÿš€
AUTHOR
Joined 2022.09.21
PROJECT
DATE
VOTES
sats
COMMENTS

Pitch: SmartSats ๐Ÿš€

SmartSats ๐Ÿš€

SmartSats, a non custodial mobile lightning wallet that allows you to conveniently allocate sats for AI agents, enabling task execution within predefined budgets, with the agent having the ability to withdraw funds as needed.

The pitch ๐ŸŽค

Loom link

<iframe class="remirror-iframe remirror-iframe-youtube" src="https://www.youtube-nocookie.com/embed/6jjMU4gI2_A?" data-embed-type="youtube" allowfullscreen="true" frameborder="0"></iframe>

Who built it

My name is Jason. Iโ€™m a software developer at Synonym. Iโ€™ve been working on lightning on mobile full time for a few years now and building mobile apps for many more.

Problems ๐Ÿšจ

Using your credit card on various websites poses significant risks. Currently, you have only two options: providing your payment details to a site or prepaying and allowing the site to hold your funds in a credit balance.

Lightning payments on Bitcoin offer an obvious solution, but the user experience can be improved. Dealing with the hassle of preloading funds on multiple platforms can be challenging and opening your wallet for each agent task or a few chat messages can be time-consuming and might deter users.

Due to the AI boom, users often find themselves signing up for many agents and general AI services, making it difficult to keep track of where funds have been loaded or, worse, where credit card details have been shared.

However, there exists a third and much-improved option...

SmartSats

Solution ๐Ÿ“ฒ

A wallet that allows the user to fully control what theyโ€™re spending and where theyโ€™re spending. Users simply scan a QR or tap a link to preauthorise a budget for an agent.

All keys and funds stay fully in control of the user, while allowing the agent to easily deduct what they need and when they need it so theyโ€™re still able to operate on auto pilot without user intervention.

Any of the neat projects submitted to the hackathon could implement this to charge their users.

Benefits โœ…

  • Agents cannot run up billing accounts

  • Agents can operate autonomously without needing to wait for manual payments. Funds can be automatically deducted from the agentโ€™s budget in the app.

  • Agent providers donโ€™t need to hold user funds in credit. Not your keys, not your cheese.

  • Simple and easy to cut off agents, no searching through multiple logins and sites for cancel buttons. Users can cancel agents they donโ€™t find useful, and up the budgets of ones they find have value.

Easy budgeting for agents

How does it work? ๐Ÿ‘จโ€๐Ÿ’ป

  1. User scans a QR or taps an authorisation link

  2. Allocates a budget locallyย 

  3. Requests a push notification hook from the wallets notification server. This allows whoever has this hook to wake the app up in the background when it needs to make a payment. The hook can be revoked once an agent is unlinked.

  4. The wallet then calls a registration endpoint provided in the QR which sends the hook and the authorised amount to the agent.

  5. The agent can create bolt11 invoices and post them to that hook as and when they need the wallet to make payments.

Agents deducting funds without user interaction

How was it built? ๐Ÿ› 

  • Wallet uses Breez SDK (Blockstream Greenlight). By using the Breez LSP and this approach, the development time for the wallet was significantly faster. There was no need for building a lightning wallet from scratch so was able to get this up and running in less than a month part time.

  • Swift/SwiftUI for the wallet. Because of the need for background tasks for payments to happen asynchronously, without user interaction, the fastest way to build this was just natively and only iOS for now.

  • The demo web site builder agent was done pretty simply and Iโ€™ve been using that more to test and demo the wallet. Using ReactJS, NodeJS, GPT3.5 (for the HTML), Stable-Diffusion hosted on Hugging Face (for the site image), ZBD for creating charge requests.

Blockers & Issues โœ‹

Ran into constant routing issues accepting payments to my own node for the demo. Replacing demo agent's LND node with ZBD got me up and running again quickly.

Next steps ๐Ÿชœ

If there is demand for something like this, I would like to build all the agent charge logic into a library, making it easy for other agents to add support for these payments to their projects.

Try it out ๐Ÿ”—

TestFlight: https://testflight.apple.com/join/U4Zqn7Ae

Demo Agent: https://cheap-web-dev-agent.surge.sh

GitHub: https://github.com/Jasonvdb/smart-sats