INVESTO is a blockchain-based platform designed to provide a secure and transparent P2P lending and invoice discounting solution for Small and Medium Enterprises (SMEs). Leveraging the power of Solidity, EtherJs, NodeJs, and NextJs within a monorepo architecture, we aim to revolutionize traditional financing processes by introducing smart contracts that manage lending and invoice discounting, with the additional benefits of transparency, automation, and trust.
The platform also includes dashboards for companies, investors, and admins to manage, analyze, and track transactions and collaterals efficiently.
Traditional invoice discounting processes are inefficient, leading to prolonged payment cycles and cash-flow issues for businesses. Lack of transparency and trust between involved parties often results in disputes and delays. Blockchain technology addresses these issues by creating a secure, transparent, and automated platform for invoice discounting, improving operational efficiency and trust in financial transactions.
Invoice Discounting is a process where businesses (specifically targeting mid-sized companies) can receive upfront cash by selling their unpaid invoices to lenders or investors. Instead of waiting for customers to pay, businesses can secure funding quickly, though at a slightly discounted rate. Our platform helps businesses find investors, manage the paperwork securely, and keep everything transparent and organized.
Using blockchain technology adds an extra layer of security and efficiency.
- Decentralized Invoice Discounting: Businesses sell their unpaid invoices to investors in exchange for upfront liquidity.
- Blockchain-powered Smart Contracts: These ensure automatic execution of transactions and secure the process for both businesses and investors.
- NFT as Collateral: NFTs can be pledged as collateral for loans, with smart contracts managing liquidation in the case of defaults. If a borrower defaults, the NFT collateral is automatically converted into monetary value and distributed among investors, reducing risks.
- Blockchain: Solidity, EtherJs
- Frontend: NextJs
- Backend: NodeJs
- Database: Supabase, PostgreSQL
- Monorepo: A unified codebase structure for streamlined development and deployment
Our platform follows a commission-based revenue model, earning a percentage from each successful investment or invoice discounting transaction. This model has already led to a 25% increase in user engagement by providing seamless investment opportunities to individual investors.
- Businesses upload their invoices to the platform.
- Investors browse available deals and invest in invoices, receiving a return once the invoices are paid.
- Smart Contracts handle the entire process, ensuring transparency, security, and automation of the payments.
- In case of a loan default, NFTs pledged as collateral are automatically liquidated and distributed to investors.
pnpm i
pnpm db:generate
pnpm db:push
pnpm dev
docker-compose up
Run the following command:
npx create-turbo@latest
This Turborepo includes the following packages/apps:
docs
: a Next.js appweb
: another Next.js app@repo/ui
: a stub React component library shared by bothweb
anddocs
applications@repo/eslint-config
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)@repo/typescript-config
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
To build all apps and packages, run the following command:
cd my-turborepo
pnpm build
To develop all apps and packages, run the following command:
cd my-turborepo
pnpm dev
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
npx turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
npx turbo link
Learn more about the power of Turborepo: