Beans app
SCF #21 Community Award Soroban Enabled Wallet $73,780 View in SCF
Beans is a super simple, free p2p payments app built for people that don't nescessarily know about blockchain.
Team

wouter1986

Total Expected Roadmap

In the near future, these are some of the features that are needed to make DeFi on Beans and Beans recurring payments API a success:

Q2 2024

- Complete integration of lending pools

- Recurring payments UI

- Merchant portal (get and manage API keys)

- In-app calculator (taking into account anchor fees, dex rate and anchor fx rates)
 

Q3 2024

- ​​​​​​Add monetization option for projects building on Pay with Beans

- Add more recovery options (such as biometric)

- Debitcards through anchors

Q4 2024
- Optimizing UI/UX 

- Integrating new lending pools, creditlines

Revenue model

To offer free payments, we will build our business model on savings and premium accounts. By providing a great user experience, we hope to take a small cut on savings rates or in the future yield from DeFi protocols. Beans will be free to use, while premium accounts will have access to premium features. At the moment we are focusing on building a customer base that provides a large enough volume to monetize on. We believe we are well on track to realize the ambitious mission to bring a web2 audience to non-custodial wallets on Stellar.

Partnerships

We have integrated with the following partners:

- Monegram (cash on/off)

- Stably (USD bank on/off)

- Anclap (ARS & PEN bank on/off)

- Mykobo (EUR bank on/off)

- Ntokens (BRL bank on/off)

- Ultrastellar (yield earning BTC, ETH, XLM and USDC)

- Banxa (deposit in 32 currency via Creditcard and/or local rails)
 

Marketing

We ran marketing campaigns focused on senders/receives between Europe and Argentina. Especially influencer marketing has turned out to do really well, with some of our video’s being watched over 4 million times. 


 

Technical Architecture Doc

www.beansapp.com

Project URL

www.beansapp.com

Code URL

Video URL

https://www.youtube.com/watch?v=-VNCxoAmOtY

Pitch Deck URL

Project Categories

Progress on Previous (Awarded) Submissions

Thanks to the community support we have made significant progress in building a non-custodial wallet that targets the general public. 

We have built a Beans check-out API which allows other projects to generate QR codes and payment links that work with Beans. This is different than sep 7, where the link will have info on the amount, currency, destination address, webhook callback and optional memo. The user can then pay in their own preferred currency, which means the Beans app will build the corresponding transaction. When done, this will trigger the call-back, telling the merchant that the payment is completed. We have finished building the API that generates the links. This feature will be released in the coming 2 weeks. 

We have worked on SEP 6 and have integrated Coinqvest succesfully and have nearly completed the complete flow for Anclap and MYKOBO as well. Additionally we have worked on the option to send to phone numbers of non-Beans users. This feature is nearly finished, but needs a bit of work as we have devoted the time that was initially planned for this towards the integration of SDP and a rehaul of the deposit/withdraw flow to add support for Banxa. We are therefore requesting a bit more time for this. 

As mentioned we have spent some time on things that were not planned in our previous entry. While this change of focus during development did impact the pace of some of the work above, we feel the work done has contributed a lot to the network and experience in Beans. Two big things we worked on were the integration of the Stellar Disbursement Platform, as well as a complete rehaul of the deposit and withdrawal flow. This final piece allowed us to seamlessly integrate Banxa for credit card payments. Users that want to deposit, now go through this flow: Currency -> Method -> Anchor. This means it's more clear that users can for example deposit COP and get USDC. Before users had to find out by clicking on deposit inside their dollar balance. Finally, we have been working on an in-app referral and promotions program. This rewards users with a first deposit, send, request and referrals automatically and onchain. This work has been completed, but we need a change in how to handle deposit statuses before we can release it. With regard to user acquisition we have grown to over 40,000 users, Which is over 1,000% growth since Q2.


 

Section

read

Product & Architecture

Recurring merchant payments

  • What it is: Set recurring payments to outside stellar accounts.
  • Problem & Solution: Projects on Stellar might want to offer subscriptions to users, but would need to do a lot of work to integrate all anchors into their platform. We want to offer Beans as a solution there. Outside projects can request recurring payments from Beans users via a link or QR.
  • How it Works & Uses Stellar: The user will scan a QR that works with the merchant check-out API we have built. This deeplinks the user to the app, here the user should confirm the proposed recurring payment. Next the app will invoke a smart contract that sets the payments.  

Smart wallet infrastructure

  • What is is: Back-end change to better support future Soroban & DeFi integrations. 
  • Problem & solution: As some might have seen we have done a PoC on a Blend lending pool integration into Beans. This PoC has been done in a separate environment where we cut out our current savings balance and replaced it with Blend lending pools. During this PoC, we have realized that we need to update the back-end to be better suited for integrations with Soroban. One of the key elements is that we now have currencies that are either spendable or savings currencies. However, when working with Soroban, spendable currencies like USDC, actually go into a smart contract and thus are also a savings currency. This is not how the current back-end is set-up.
  • Hot it works & uses Stellar: We will update the back-end to smoothen integrations with protocols like Blend. In the future, this will allow us to support multiple savings protocols at the same time, while that is not the case right now. 

   

Country based recommendation

  • What it is: Recommend the best deposit currency and method based on location. 
  • Problem & Solution: We’d like to incorporate location to determine the best currency/method to deposit with. 
  • How it Works & Uses Stellar: We will fetch the users location and use that to recommend a specific deposit currency. In a future iteration we will use the location to determine the best method and anchor as well.


Send to any phonenumber

  • What it is: Send money to any phonenumber, even if it’s not a beans user yet.
  • Problem & Solution: Users want to send money to friends that do not necessarily have the app installed yet. We want to provide a way to send money to any phonenumber in a decentralized way, so that users don’t have to first ask their friends to download the app.
  • How it Works & Uses Stellar: We are using SEP 30 for this and have completed most of the work needed, we just need to create a flow that merges the funded account back into the original account as well as some UI changes. This work was scheduled during our previous entry, but because of the shift of focus isn’t completed yet.
 

QR/link check-out public API

  • What it is: Allow other companies to generate pay with Beans links/QR codes.
  • Problem & Solution: We have done a lot of work to make on/offramping very easy and accessible. We want to offer this to other ecosystem companies as well. 
  • How it Works & Uses Stellar: We are building a public API that generates a link or QR that includes amount, currency, destination addres and a webhook callback + optional memo. A Beans user scans the QR and pays with their preferred currency. The webshop now never has to know what type of transaction they have to set-up, they just generate the link and Beans will generate the corresponding transaction. Webhooks will allow the merchant to move on with the payment flow when the transactions was completed. The API is ready, next we will build a javascript SDK and set-up the documentation.

Project Type [If End-User Applications]

Section

read

Deliverables List

Beans API recurring QR payments

  • Brief description

Enhancing our app and API to support recurring payments, enabling subscription-like functionality for our merchants SDK.

  • How to measure completion

Present relevant documentation as well as a live demo of the feature.

  • Estimated date of completion

10-02-2024

  • Budget

$19.600

Beans Merchant SDK recurring payments

  • Brief description

Enhancing our merchant SDK to support recurring payments, enabling subscription-like functionality for merchants.

  • How to measure completion

Present relevant documentation as well as a live demo of the feature.

  • Estimated date of completion

10-02-2024

  • Budget

$6,720

Setup webpage for recurring merchant payments

  • Brief description

Enhancing our app and merchant solution to support recurring payments, enabling subscription-like functionality for merchants.

  • How to measure completion

Present relevant documentation as well as a live demo of the feature.

  • Estimated date of completion

10-02-2024

  • Budget

$1.680

Smart wallet infrastructure

  • Brief description

Establishing the foundation for multiple integrations with various savings products like UltraStellar, Blend, etc., necessitating significant backend architecture changes.

  • How to measure completion

Present a comparison between the old and new database architecture alongside a functional Beans app.

  • Estimated date of completion

04-01-2024

  • Budget

$12.600

Merge funded account back into original for phone payments

  • Brief description

Finalize the tasks to enable users to send money to a phone number without requiring the recipient to install the Beans App. 

  • How to measure completion

Demonstrate the completed feature.

  • Estimated date of completion

04-12-2023

  • Budget

$4.200

Merchant QR Javascript SDK 

  • Brief description

Build a javascript SDK and corresponding documentation around the public merchant API.

  • How to measure completion

Present relevant documentation as well as a live demo of the feature.

  • Estimated date of completion

18-12-2023

  • Budget

$10.080


Country based recommendations

  • Brief description

By adding a country to a user profile we can guide more accurately in our deposit and withdrawal flows.

  • How to measure completion

Live demo of setting the country during onboarding, changing it in the profile and giving a recommended deposit option based on location.

  • Estimated date of completion

30-01-2024

  • Budget

$9.800

App start without internet

  • Brief description

We need to rebuild the way we handle the config so our user can start the app even if he/she has no internet connection.

  • How to measure completion

Showcase the app starting without internet connection.

  • Estimated date of completion

20-11-2023

  • Budget

$2.800

Better feedback about required internet connection

  • Brief description

We need to update the app so that our user gets feedback that certain actions require an internet connection in the case they have no internet .

  • How to measure completion

Demonstrate the completed feature.

  • Estimated date of completion

04-12-2023

  • Budget

$2.800

Improve API Swagger output

  • Brief description

The API needs to output a more complete Swagger version so the app can generate the API client.

  • How to measure completion

Showcasing the before and after Swagger.json file.

  • Estimated date of completion

16-12-2023

  • Budget

$2.800


 

Requested Budget in USD ($)

73780

Section

read

Public Entity Name

Beans B.V.

Entity Description

Non-custodial wallet.

Team bio

Beans is a pre-seed start-up. Wouter, one of the founders, has been involved in Stellar since 2017. The rest of the team are a mix of experienced app developers, a back-end developer, product-owner and a UX designer.

Jop (Jop#2143) - Co-Founder and CTO

Jop has steadily built a 10-year IT career, progressing from a Sitecore developer to a full-stack app developer. He has worked for companies like Heineken, Mariott Hotels and GDF Suez. Jop has worked at Baseflow, a Google partner that is maintaining some of the Flutter SDK's. Jop brings a strong expertise in flutter and .net as well as first-hand experience in the problems of sending money internationally during the years he worked remote from Asia.

Yusuf (Ydag#3387) - Senior Flutter developer

Yusuf is an experienced mobile app developer with a thoughtful perspective on various aspects of software development. As an expert in Flutter and good back-end skills he is an invaluable addition to the team. Yusuf roots lay in Turkey, which means he also has first-hand experience with the troubles of sending money back home.

Paul - Senior Flutter/.NET developer

Paul is an experience full-stack developer. Paul has previously been working on our SEP 30 integration, making key-recovery a breeze.

Wouter (Wouter#9961)- General management and operations)

Wouter has been involved with Stellar since 2014 and founder of Beans. Ever since the release of Bitcoin, Wouter has been enthusiastic about the use of blockchain for international payments. Until releasing Beans, he saw how a lack of good UX and interoperability were a hurdle to mass adoption. Wouter has built projects on Stellar like a Stellar day, the Stellar torch and has contributed to the abolishment of inlflation in the Stellar protocol.

Gerwin - Lead architect

As an expert in mobile app development and back-end architecture, Gerwin contributes as a lead architect.

Marlou UI/UX designer

Marlou is our UI/UX designer. She made some of the beautifull designs you can see attached.

Matthijs - Community/junior Flutter developer

Arne - Marketing