Architecture
Blockchain Software Architecture
Table of contents
Introduction 4
Overview 4
Architecture 5
Use-Case View 6
Use-Case Realizations 7
System workflow 9
Deployment View 9
Implementation View 10
Make, buy or re-use Consideration 10
1. Introduction
This document provides a comprehensive architectural overview of the OODLZ Earn and web3 system, using a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions that have been made on the system.
2. Overview
OODLZ cashback (fiat only)
OODLZ Cashback today is a traditional cashback system (Affiliate Marketing) where retailers reward users with a percentage of the user's spend.
User makes purchases at retail stores using affiliate link, retailer pays OODLZ via Affiliate-Network the commission and the user can then withdraw that commission to their bank account or PayPal account.
OODLZ current tech-stack
The backend of the OODLZ application is an off the shelf existing 3rd party cashback application (Enacton) which was selected for its well structured back end integrations, billing, reporting and API capabilities which allowed OODLZ to completely re-write the front end UI/UX for its desktop. mobile and browser extensions.
OODLZ Earn (web3)
The OODLZ-Earn product will be an entirely new feature that will give users the ability to invest their cashback into DeFi based portfolios that generate yield. OODLZ-Earn feature can be accessed via the product icons at the top of the application. This will display a screen of all the data points and metrics.
The OODLZ-Earn-Report functionality can be accessed by the same Action "+" icon used today for withdraw. As seen below the user can now
The OODLZ-Earn-Withdraw product will extend the wallet-functionality to include three main token-based functions for funds/token transfer and one for getting updates:
Deposit funds: deposit (fiat), convert to stable coin, and earn interest via Defi.
Withdraw funds: stop earning, convert stable coin to fiat, and withdraw to fiat money.
Transfer funds: sending funds to other OODLZ-Products such as OODLZ-Invest or OODLZ-Lend, or in/out of FIAT-based accounts such as VISA/MASTERCARD Debit or Credit accounts. *Transfer features can only be worked on once new products and card integrations are approved.
Get earning updates: Retrieve interests and current balance.
OODLZ tiers
OODLZ uses a tiered LEVEL system by which the more $OODLZ token the user has staked, the bigger the yield returns when the funds users have in their balance, the higher the user level and the more rewards and discounts they receive from all other products/modules offered via the OODLZ App. Once the Affiliate Networks (The Retailers) pay OODLZ the user's commission, OODLZ will pass on: >Pre-$OODLZ-token: 100% of this commission to the users via the OODLZ App. >Post-$OODLZ-token: 90% of this commission to the users via the OODLZ App. >>The remaining 10% will be paid to the user in $OODLZ token via the OODLZ App.
OODLZ Token Concept
OODLZ will reward users with the OODLZ Token (OODLZ) when cashback is received.
The OODLZ application will convert 10% of the users Approved-Cashback into the OODLZ token and auto-stake the OODLZ token in the users app as an added reward that also generated yield for the user.
Staked OODLZ can be withdrawn at any time with a 30 day lock period. If user wants instant withdraw, they can do this with a 20% tax imposed. This discourages withdrawing their OODLZ token rewards too quickly.
The more OODLZ token staked, the higher the users "Level", the higher the level, the higher the APY/Yield for all oodlz-Earn deposits.
This model creates two (2) token demand drivers, the auto-allocation from all cashback earnt by users and the incentive to get higher returns from the oodlz-Earn product.
OODLZ Earn
We have two (2) distinct choices in our approach to providing yield generating products to our customers. We have broken down the two approaches below.
Key considerations when selecting our initial go to market product approach.
security >we have a zero tolerance to risk for our users balances. >profit and speed to market must and will take a back seat to security. >our objective is a solution where any smart contracts have been double or triple audited and survived several years of usage by consumers.
speed to market >need to start generating profits for users and oodlz. :)
flexibility >we want to be able to expand with other products/solutions easily. >does this approach limit us in any way and if so, does the pay-off make initial sense.
Approach 1 - Single 3rd Party DEFI Partner
A single DEFI partner makes allot of sense and can certainly help support our objectives and meet our key considerations above.
The largest concern, assuming all key considerations are met, is control and security.
Control: We would in effect be passing our users funds to a 3rd party to control where our second approach allows us to direct funds as per our own high level of mandates Vs anothers.
Security: Even banks get hacked and like all things, having one single partner means a potential single point of failure.
That said, a single partner does allow for speed to market, reduction in MVP cost and if the right partner is selected with the right redundancies in their own fund management mechanics, this solution seems like the easiest and most efficient day one.
Approach 2 - In House Build
The below image visually explains what this approach would look like.
We would look to push user funds into a mix of top AMM (Automated Market Maker), Money Market and Lending Pool to Market Makers in Orderbook applications.
It would be relatively easy to implement a low-code AI (artificial intelligence) engine (script) that would calculate the best returns and apportion funds hourly/daily/weekly.
By working with only top tier applications, our key considerations on security can be met and due to the number of parties we have de-risked our users funds.
This approach is by far the most appealing for the OODLZ team as it gives us control and flexibility. The only negative is the potential cost. Which is why we are investigating what the bare minimum MVP solution for this would look like.
NOTE THE BELOW IS BEING REVIEWED AND UPDATED.
3. Web3 Architecture
This document has several sections:
Architectural Representation This section describes what software architecture is for the current system, and how it is represented.
Architectural Summary This section describes the software requirements and objectives that have some significant impact on the architecture.
Use-case View This section lists user cases or scenarios from the use-case model if they represent some significant, central functionality of the final system.
System Workflow This section describes the system's sequence of tasks that processes a set of data, providing the required functionalities.
Deployment View This section describes one or more physical network (hardware) configurations on which the software is deployed and run.
Implementation View This section describes the overall structure of the implementation model, organization of static software modules, the decomposition of the software into source files and subsystems in the implementation model, and any architecturally significant components.
Make, Buy, or Reuse Considerations This section provides an evaluation whether the product components should be developed, purchased, or reused based on established criteria.
3.1 Architectural Representation
OODLZ Earn
The OODLZ-Earn product will be entirely new feature that will allow users more based on what the user wishes to do with their cashback-balance.
Today a user can withdraw their balance to their bank-account or PayPal account.
The OODLZ-Earn product will extend the wallet-functionality to include three main token-based functions for funds/token transfer and one for getting updates:
Deposit funds: deposit (fiat), convert to stable coin, and earn interest via Defi.
Withdraw funds: stop earning, convert stable coin to fiat, and withdraw to fiat money.
Transfer funds: sending funds to other OODLZ-Products such as OODLZ-Invest or OODLZ-Lend, or in/out of FIAT-based accounts such as VISA/MASTERCARD Debit or Credit accounts. *Transfer features can only be worked on once new products and card integrations are approved.
Get earning updates: Retrieve interests and current balance.
Constraints
Securities of the software must be held at maximum, follow all rules and principles of the blockchain. Stored data must be decentralized, no centralized storage or generation of user’s private keys.
3.2 Use-case View
3.3 Use-Case Realizations
3.4 System Workflow
3.5 Deployment View
3.5 Implementation View
3.6 Make, Buy or Re-Use Consideration
1
OODLZ Token Smart Contract
X
3
Auto Market Maker
X
4
FIAT - Stable Coin Conversion
X
Last updated