Logo

Elektroscrow

How does Elektroscrow work?

Elektroscrow's Ethos

Elektroscrow stands as the first fully decentralized escrow service across blockchain networks, with a strong emphasis on privacy, decentralization, and security. Distinct from its competitors, Elektroscrow achieves an unparalleled level of decentralization, bolstering trustworthiness by automating dispute resolution without human intervention. This approach terminates the risk of human errors while solving disputes, ensuring fair and unbiased outcomes. Traditional escrow services often rely on intermediaries to resolve disputes, which introduces a level of centralization and potentially diminishes user confidence in their platforms. Elektroscrow, however, revolutionizes dispute resolution by necessitating mutual reconciliation between parties to reach a mutually satisfactory resolution by leveraging smart contracts. The escrow transaction is executed only when both the recipient and provider reach a consensus, thus creating a self-governed and automated process ensuring transparency and trust. Unlike many competitors, Elektroscrow does not require users to share their wallet secret phrases, maintaining the integrity and security of user assets. The process is remarkably user-friendly; users simply connect their wallets to the protocol, streamlining the experience while ensuring maximum security.
In terms of privacy, Elektroscrow sets a high standard by not retaining any logs or requiring more information than the user’s wallet address. The nature of the escrow transaction remains confidential, as the protocol does not inquire about the purpose of the escrow, reflecting our deep commitment to user privacy. This policy reinforces the core tenets of Web3, focusing on decentralization and self-governance, and establishes Elektroscrow as a trust-centric and privacy-focused platform. Users can engage in transactions with the assurance of transparency and trust, knowing that their privacy is respected and their transactions are secure.

What to do step by step in order to do an escrow transaction

(from buyer's perspective)
Step 1: Find a seller/provider for the service you would like to purchase. Communicate with the provider to specify the type and amount of the token to be used for payment.
Step 2: Connect your wallet to Elektroscrow, then press the buyer button to switch to buyer view. Type the seller's wallet address, then fill the remaining input fields with the predetermined values that you have set with seller. After you input the adequate information, press the button below and create a new escrow.
Step 3: Approve the tokens for protocol to use, then fund the contract with the required amount of tokens by pressing fund button. After that, inform the seller that you deposited the amount and now its his turn to deposit the safety-deposit.
Step 4: Seller connects to Elektroscrow, then presses the seller button to switch to seller view. Seller can automatically see the escrow contracts created with his wallet address. Then, seller deposits the safety-deposit to contract, confirming the escrow address and the buyer's wallet address by communicating with you.
Step 5: At this step, the escrow is initialized and both users are prompted with three decision buttons. These are; "Accept", "Decline" and "Refund". Both users have a right to decide the outcome of this escrow. These decisions are set to "Decline" for start. Mutual decision are needed to come to either "Accept" or "Refund" decision for the outcome.
After the seller successfully provides what he promised to you, he informs you about it. After you are satisfied with it, either users press the "Accept" button to transfer the funds and recieve their safety-deposits back. If you are not satisfied, contact the seller and try to figure the problem out between yourselves by asking for a revision or returning the product back to get a new one, according what the product is.
If nothing works and you can not solve the problem, reconciliate with the seller to decide for a refund, then return the product or do whatever you need to according to the scenario. After that, you both press the "Refund" button, then both parties gets their deposits back.

Decentralization logic

Escrow Process Illustration
Initiating the Escrow Process:
To initiate an escrow, the buyer is required to establish a new escrow contract by submitting accurate data. Subsequently, both parties must transfer the required amounts into the newly created contract. A pivotal feature of this system is the safety deposit, which is mandatory for both parties prior to activating the escrow. This mechanism is integral to enforcing the protocol’s reconciliation rule. The safety deposit amount is equivalent to the transaction value within the escrow. Consequently, the receiver is obligated to deposit a sum double the value of the escrow, while the provider deposits an amount equal to the escrow value. This process ensures enhanced security and commitment from both parties, aligning with the core principles of decentralized finance and fostering trust in the transaction.
Example: Lets say the escrow amount is x amount of tokens and fee is the protocol fee:
Required amounts to deposit:
Transfered amounts after successfull escrow:
Refunded amounts after mutual refund decision:
Buyer: 2x
(Safety deposit + escrow amount)
Buyer: (x - fee/2)
Buyer: (2x - fee/2)
Seller: x
(Safety deposit)
Seller: (2x - fee/2)
Seller: (x - fee/2)
*Safety deposit is always = escrow amount
Safety deposits are refunded upon the conclusion of the escrow. The protocol fee is equally divided and deducted from these safety deposits. The funds are always withdrawable and not subject to the protocol fee prior to the contract initializing. The contract is initialized when both parties have contributed the necessary amounts, including safety deposits. Once initialized, withdrawals are disabled. However, if one party has not funded the contract, the other party can always withdraw their funds without incurring a protocol fee. The only way to end an escrow contract after initialization and full funding by both parties is, through a mutual decision regarding the escrow's outcome.
Post-Initialization:
After funding and initialization of the contract, there are three potential outcomes. If both participants approve the escrow, the transaction is successfully completed and funds are transferred. If both request a refund, the contract concludes, and each party retrieves their initial deposits, minus the protocol fee. The last scenario involves the escrow tokens remaining in the contract until one of the aforementioned outcomes occurs. Should either or both parties opt to decline, the contract persists, safeguarding the assets until a consensus is reached. This structure compels parties to collaborate towards an optimal resolution, as their assets remain locked until an agreement is made. Elektroscrow achieves full decentralization by obliging participants to resolve disputes autonomously, governed by smart contracts, thereby eliminating the need for a third-party moderator.
All possible scenarios after decisions are made:
Decisions:
Buyer: Accept
Buyer: Refund
Buyer: Accept
Buyer: Refund
Buyer: Decline
Buyer: Accept
Buyer: Refund
Buyer: Decline
Buyer: Decline
Seller: Accept
Seller: Refund
Seller: Refund
Seller: Accept
Seller: Accept
Seller: Decline
Seller: Decline
Seller: Refund
Seller: Decline
Outcomes:
Successfull transfer
Refund
Safekeeping*
Safekeeping*
Safekeeping*
Safekeeping*
Safekeeping*
Safekeeping*
Safekeeping*
Safekeeping*= Funds are securely kept inside the contract until either refund or transfer outcomes occur

Starting a New Escrow

Escrow Process Illustration
The creation of an escrow contract is exclusively initiated by the buyer. This means it can only be initialized if you are the party requesting a service or purchasing an asset. Providers or sellers must inform the buyer to commence this process.
To establish an escrow contract between the receiver and the provider, the buyer must input the seller’s contract address into the designated field. Subsequently, the buyer specifies the amount of tokens to be transferred upon the contract's completion. The next step involves selecting a token contract for the escrow, either from Elektroscrow's listed tokens or by entering a custom token. (Always conduct due diligence when using custom tokens) Once all fields are populated with correct data, the buyer finalizes the process by clicking the Start Escrow button to create the contract.

Approving Tokens

Token Approval Process
Once an escrow contract is established, the next step involves authorizing the contract to access your tokens for the escrow transaction. To do this, click the Approve button, followed by confirming the transaction in your wallet. This approval is a crucial step to ensure the secure and authorized usage of your tokens in the escrow process, aligning with the principles of decentralized finance and smart contract operations.

Funding the Contract

Contract Funding Process
Once the escrow contract has been approved, the next crucial step is funding it. The specific deposit amount required from you is displayed in the Deposit section, located at the bottom right of the interface. By pressing the Fund button, the token amount indicated under the "Deposit" section will be transferred from your wallet to the escrow contract. It is essential that both parties fund the contract for it to be successfully initialized, ensuring a secure and equitable transaction process.

Withdrawing Funded Assets

Asset Withdrawal Process
You have the option to withdraw your funded assets prior to the initialization of the contract. Assets withdrawn at this stage are exempt from the protocol fee. Upon clicking the Withdraw button, your initial deposit will be transferred back to your wallet in full, with no deductions. This feature is to ensure trust and flexibility for users.

Escrow Decisions

Decision Making Process in Escrow
Once the contract is initialized, both parties are presented with three decision buttons. Initially, the default decision for both parties is set to Decline. Upon reaching a reconciliation of decisions, the contract will either refund the initial deposits or transfer the escrow amount to the seller/provider, after the protocol fee deduction. No action is taken if at least one party continues to decline, with the protocol securely safeguarding the assets until an agreement is reached. This mechanism ensures a fair and secure transaction process, adhering to the decentralized ethos of trustless transactions.

Ending of an Escrow

Escrow Completion Process
Once the parties reach a mutual decision regarding the escrow outcome, the contract concludes and becomes inoperative for future use. Each escrow contract is designed for a single use; following its conclusion, a new contract must be established for any subsequent escrow transactions. At the end of a contract, its balance is depleted to zero, and the assets are either refunded to the participants or the escrow amount is transferred to the seller/provider. Additionally, safety deposits are returned to both parties. This process ensures a clear, secure, and final resolution to each escrow transaction.

Past Escrow Contracts

Reviewing Past Escrow Contracts
Users have the ability to review their previous escrow contracts by clicking the button located beneath the Current Escrow section. The displayed list varies based on whether the user's wallet participated as a Buyer or a Seller in a contract. Additionally, each contract in the list is accompanied by its status, distinctly marked as either Live or Ended. This feature enhances transparency and enables users to easily track and manage their escrow transactions.
Escrow
Guide