The WeCharg P2P Lending Platform - Coming Soon!

Introducing WeCharg P2P Loan, the innovative decentralized platform that revolutionizes the electric vehicle charging industry! With our cutting-edge smart contract, borrowers, lenders, and land owners can all benefit from seamless transactions and lucrative opportunities. Let us present the enticing benefits of WeCharg to each of these key stakeholders:

For Borrowers:

  • Access to affordable and convenient electric vehicle charging infrastructure.
  • Transparent and secure transactions through our smart contract technology.
  • Flexible repayment options and adjustable penalty rates, ensuring a borrower-friendly experience.
  • The opportunity to be part of a sustainable ecosystem that promotes green transportation and reduces carbon emissions.

For Lenders:

  • Lucrative investment opportunities with attractive returns.
  • Automated profit distribution mechanism that ensures fair and efficient earnings.
  • Reduced risk through borrower verification and approval by multiple trusted parties.
  • Peace of mind knowing that transactions are protected by a secure and immutable blockchain.

For Land Owners:

  • A chance to monetize idle land by hosting WeCharg charging stations.
  • Passive income through profit sharing from the charging station operations.
  • Enhanced property value and reputation as a sustainable and eco-friendly location.
  • Contribution to the growth of electric vehicle adoption and environmental preservation.

Join WeCharg today and experience the future of electric vehicle charging! Our smart contract provides a reliable, transparent, and efficient platform for borrowers, lenders, and land owners alike. Together, let’s drive the transition to clean energy and shape a greener tomorrow.

Contract Documentation

WeChargLoan Contract

The WeChargLoan contract enables lending and repayment of loans for WeCharg charging stations. It incorporates a distributed crowdfunding system where multiple lenders can contribute to a loan, and profits are distributed among various stakeholders. The contract also includes an (optional) penalty mechanism for late repayments, but a loan is not manually defaulted except in cases of abuse.

Charging station use pays the lender directly until the loan is paid off. This combination creates incentive to place charging stations in profitable locations while encouraging borrowers to pay off the loan early so that they can have a greater stake in the profits.

Land owners or rightful land tenants bestow permission to utilize the land for commercial charging station use for a period of time. This promise in combination with the charging station hardware and rights to the machine’s automated proceeds is offered up as collateral and in this way a traditional signed contract is utilized to map and bind two contracts, traditional and smart contract merged into one bundle.

MLM is also programmed into the platform with manual override control over distribution rates and addresses.

Contract Address: [Contract_Address]

Contract Owner

The contract owner is responsible for managing the contract and has the authority to change the penalty rate. The contract owner is controlled by the CHGControl contract.

Functions

lend()

Function to lend funds for a loan.

Parameters
  • epoch: The loan epoch number.
  • mlmTiers: An array of MLM tier addresses.
  • weChargAddress: The address of WeCharg.
  • chargingStationOwnerAddress: The address of the charging station owner.
  • landOwnerProfitPercentBeforeEpoch: The percentage of profit allocated to the land owner before the epoch.
  • weChargProfitPercentBeforeEpoch: The percentage of profit allocated to WeCharg before the epoch.
  • chargingStationOwnerProfitPercentBeforeEpoch: The percentage of profit allocated to the charging station owner before the epoch.
  • landOwnerProfitPercentAfterEpoch: The percentage of profit allocated to the land owner after the epoch.
  • weChargProfitPercentAfterEpoch: The percentage of profit allocated to WeCharg after the epoch.
  • chargingStationOwnerProfitPercentAfterEpoch: The percentage of profit allocated to the charging station owner after the epoch.
Expected Behavior
  • The function calculates the loan repayment amount based on the specified profit percentages and the total lent amount.
  • The lent amount is distributed among WeCharg, the charging station owner, MLM tiers, and the land owner, based on the specified profit percentages.
  • The function emits the LoanLended event with the loan details.
Events
  • LoanLended: Emitted when a loan is successfully lended.
Error Codes
  • InvalidEpochNumber: The specified epoch number is invalid.
  • InvalidProfitPercentages: The sum of profit percentages does not equal 100.
  • InsufficientFunds: The sent amount does not cover the loan repayment amount.

repay()

Function to repay a loan.

Parameters
  • epoch: The loan epoch number.
  • totalRepayment: The total repayment amount.
Expected Behavior
  • The function checks if the loan has been approved by all MLM tiers.
  • If the loan is approved, the repayment amount is distributed among the stakeholders (WeCharg, charging station owner, MLM tiers, and land owner) based on the specified profit percentages.
  • If the repayment amount exceeds the total repayment, the excess amount is returned to the lender.
  • The function emits the LoanRepaid event with the repayment details.
Events
  • LoanRepaid: Emitted when a loan is successfully repaid.
Error Codes
  • LoanNotApproved: The loan has not been approved by all MLM tiers.
  • InsufficientRepaymentAmount: The sent repayment amount is less than the total repayment amount.

setPenaltyRate()

Function to set the penalty rate.

Parameters
  • rate: The new penalty rate.
Expected Behavior
  • The function allows the contract owner to update the penalty rate at any time.
  • The new penalty rate is stored in the penaltyRate variable.
Error Codes
  • NotContractOwner: The caller is not the contract owner.

withdrawProceeds()

Function to withdraw the available proceeds from the contract.

Expected Behavior
  • The function allows the contract owner to withdraw the available proceeds from the contract.

Error Codes

  • InvalidEpochNumber: The specified epoch number is invalid.
  • InvalidProfitPercentages: The sum of profit percentages does not equal 100.
  • InsufficientFunds: The sent amount does not cover the loan repayment amount.
  • LoanNotApproved: The loan has not been approved by all MLM tiers.
  • InsufficientRepaymentAmount: The sent repayment amount is less than the total repayment amount.
  • NotContractOwner: The caller is not the contract owner.

Events

  • LoanLended: Emitted when a loan is successfully lended.
    • epoch: The loan epoch number.
    • lender: The address of the lender.
    • amount: The lent amount.
  • LoanRepaid: Emitted when a loan is successfully repaid.
    • epoch: The loan epoch number.
    • repayer: The address of the repayer.
    • amount: The repaid amount.