Investy no-code app template offers you the functionality of an investment platform. Use it to manage investors & investments. Suitable for cryptocurrency payments and withdrawals. The template is suitable for treasury bills, fixed deposits, lending investments, cryptocurrency investments, etc. It has a variety of features and could be used in different ways.
Fully responsive pages and user dashboard
Admin Dashboard for Management
Social sign-up via Facebook & Google
Cryptocurrency Payments and Withdrawal powered by Coinbase Commerce and Coinbase.
Card Payments Powered by Stripe (Paystack & Voguepay are disabled features now but you can activate them if needed)
Supports multiple investment plans
Automated returns settlement
Due returns forecast for planning
Referral system with sustainability built in.
User’s data contains the usual profile info (Photo, Name, Email Address) and also contains additional fields relating to investments, payments, referrals etc.
Users can make multiple concurrent investments with varying plans (Percentage returns) and terms (Contract length). The template comes with two plans which have hard-coded variables.
Users get returns on their investment based on their plan and invested amount. Currently returns are generated monthly by an API workflow.
Users can withdraw their earnings in BTC. Withdrawal amounts are immediately frozen and removed from their wallets and then the admin will manually approve the transfer.
This datatype contains information about transactions made by the admin. He can either add funds to a user account or remove them. When doing so a transaction object will be created in the database.
This datatype contains information about fundings made by users to their account. More specifically when a user adds fund to his account, either using a credit card or crypto, this object will be created in the database.
Referrals are created when a new user signs up with an invite link. It has field for the referral, the referred and the amount of money gained from the first investment of the referred user. A user can find a list of referrals they made under promotions in their dashboard.
This datatype stores information about some existing banks. It is used by Voguepay only which is a feature that is disabled but can be set if there is such a need.
This datatype stores information about a bank account. It is used by Voguepay only which is a feature that is disabled but can be set if there is such a need.
Config datatype contains information used across the app. It contains all kinds of links as well as the logo of the template. All this information can be modified on the admin page.
This datatype contain a list of frequently asked question as well as the answers to them.
This is the main landing page of the template and contains basic information for new users to learn more about the platform. It has a header, hero, benefits section, basic instructions and call to action to become an investor, plans presentation, potential earnings calculator, testimonials section, FAQ and footer.
This page is where users sign up. They can sign up using email or via social media like Facebook or Google.
This contains the login form and allows users to login using email or social media like Facebook or Google.
This is the core of the template at least from the user's perspective. Here the user will make all his investments and manage them, will fund his account, make withdrawals and will find a referral link as well as the list of people who signed up using that link.
The admin page provides a set of well put in place dashboards and tools to manage the app. Here the admin can manage users, investments, returns, user withdrawals and app settings.
In the Users tab admin can view information about each user and make changes to their wallet balance.
In the Investments tab the admin can view information about every investment and make changes like: adjust the investment, pause/activate the investment or delete the investment.
The Returns tab displays the information about returns on existing investments.
The Settings tab gives the admin the ability to change the logo across the app as well as useful links.
This page gives an overall description of how the platform works and what are its goals and who are its owners.
The invite page is the page where the user lands when accessing a referral link. From there he can go to the signup page and will be linked to the user that has referred him. The referrer will receive a bonus from the first investment of his referees.
This page is used to resend the confirmation email.
This is the page where the user lands when accessing the confirmation link from his email.
This page displays the terms of service of the platform.
This page is where users can set a new password for their account.
This page tells your site viewers the requested page is unavailable or, in some cases, doesn't exist.
This element is used at the top of the page and offers overall navigation through the platform.
The footer is at the bottom of the page. Its main purpose is basic navigation through the platform.
This reusable element is used to link the referrer with the person that registered using a referral link (referee). It involves the use of local storage in order to do so.
This element is used on the admin page giving the admin the option to edit a user's wallet balance.
This element is used as well on the admin page and is facilitating the approval and marking a payment as paid.
This reusable element is used on the admin page giving the admin the option to pause/activate an investment as well as adjust its amount and delete it.
After a user signs up, the social network they used is stored to their object and they are forwarded to the dashboard.
You would need to create an app/project in the developer console of each social network:
Ensure that you add all live & test URLs for these pages:
/dashboard as authorized redirect URLs.
You can check the Bubble forum or the developer guides of the social networks if you’re having trouble.
Navigation is straightforward on all pages but dashboard, that features some AJAX-style navigation.
Navigation in this case makes use of custom states and conditions.
Users can make investments by clicking "New investment" button on the dashboard. They can then:
Add amount of their investment
Choose a plan (Custom state on Group Plan Switch): the button for switching between plans validates the value of investment amount input and shows alerts if they don’t meet the hard-coded minimums.
Choose a term (Custom state on Group Term Switch)
Then proceed to make payment via wallet (the wallet can be funded using credit cards or crypto).
Returns are handled by the return_settlement API workflow which is set to run monthly after a successful investment. A new return is created every month until the tenure is finished. The returns are calculated from return_percentage and return_naira fields on the related investment object.
Each user has a referral code created upon sign up.
The referral system makes use of HTML5 local storage. Existing users can invite their friends with their referral link which includes their code. When their friends visit this link loads a dedicated page that grabs & stores the referral code to HTML5 storage.
If the visitor proceeds to sign up, a condition is true workflow will retrieve the stored referral code and a custom event will create a new referral object and add the referrer to the newly signed up user.
When this newly signed up user (referee) makes an investment, within the investment payment confirmation workflow, the referral object created earlier is given value and the referrer’s total balance is increased.
Note: The referral system is built such that referral gains are only added to the referring user's total balance. The wallet_balance remains the same. This means the referring user cannot immediately withdraw referral earnings but can only use them to make investments. You are free to change this behavior. To do so go to step 8 under cb_confirmation API workflow and you can add value to the referrer’s wallet balance as well.
Change referral reward: This is hard-coded within the cb_confirmation API workflow and to change it you simply need to change 0.05 value on Step 7. So, a 10% reward will become 0.1.
Payouts/Withdrawals of earnings are made in Bitcoin using the OpenNode API.
Steps to set it up:
- Visit https://dev.opennode.co/ to create a development account - Create an API Key with the needed permissions on https://dev.opennode.co/settings/api - Insert the API key in the plugins tab - Use available API calls as required - When you are ready to go live sign up for live API keys at https://app.opennode.co/signup - Replace the live API key in the plugins tab
Note: Use API calls in conjunction with the Environment element in other to dynamically change the API URLs so that it works in the dev environment when you are testing in dev mode and works in the production environment in the live mode of your app.
OpenNode has minimum withdrawal amount of 0.002 BTC Check https://developers.opennode.co/ for more information
Setup The withdrawal fee is hard-coded to 5% and can be changed in step 2 of the confirm withdrawal workflow. You need to change 0.05 and 0.95. If you want your fee to be 8%, you will change 0.05 to 0.08 and 0.95 to 0.92.
This template uses Coinbase commerce for cryptocurrency payments and Voguepay for Card Payments
Coinbase Commerce Setup:
Visit https://commerce.coinbase.com/ and sign up. You will be give a mnemonic seed to use to create a new crypto wallet. Do that and be sure to backup the seed.
Go to settings in your Coinbase commerce, scroll to whitelisted domains and add your root domain. Example https://myinvest.bubbleapps.io Be sure to add your live domain when you go live.
Copy your API key and use it for the Coinbase Commerce API connector call in plugins.
Go to Settings> API in Bubble to generate an API token to use below
Go back to Coinbase Commerce and under Webhook subscriptions add two endpoints for your dev and live version like so
Visit https://voguepay.com/ and sign up for a business account
Locate the merchant ID in your settings
Under the dashboard page in your Bubble app search for the element HTML Voguepay and replace the merchant ID parameter with yours. You can also change your preferred currency here
Visit https://paystack.com/ and sign up as developer
Go to Settings > Developer
Under API Keys and Webhooks get your Test and Live keys respectively.
This template uses one webhook for Coinbase commerce to confirm cryptocurrency payments. They are handled by the cb_confirmation API workflow.
You will find over notes for this template in Bubble. They are for workflows and fields that need explaining. Mostly in User data fields, dashboard workflows and API workflows.
For security purposes the template has limited rights for potential customers. It means that users will not be able to use the admin features at full until this template is purchased and the editing features (delete or edit) are enabled.
If you already bought the template you can enable these features by following the next steps:
Under Data tab in the Editor, you could find the Data Type
USER which has permission field of text type with admin and readadmin . When user permission is set to admin the Admin rights are enabled and user can edit, delete or approve from Admin page, however if readadmin permission is set the Admin rights are disabled for users.
The workflow with conditions for page load which will set state to load page depending on
USER permission type regarding the security measure for when a User has access to editing features or not.
There are two groups on the homepage called Group VS and Group VS Mobile. They overlap each other. Be sure to make changes to both of them when customizing.