Testnet Guidelines
The support for the Goerli test network has been discontinued after December 31, 2023. Please use Sepolia network instead.
Contents
Opening a Dispute in the Decentralized Court
Switching the Dispute Stage in Kleros
Preliminary Stage
The application is launched on the Goerli and Sepolia testnets. You'll need NFTs and tokens from one of these networks to interact with the application.
Resources to Assist You:
Goerli Faucet: https://faucetlink.to/goerli
Sepolia Faucets: https://faucetlink.to/sepolia
Purchase Goerli NFTs on:
Purchase Sepolia NFTs on: https://testnets.opensea.io/collection/nftprotect-ciphervisage/drop
Getting Started
Visit the application page at https://dev.nftprotect.app/
Connecting a Crypto Wallet: NFT Protect operates as a Decentralized Application (DApp). To interact with the platform, you'll need a non-custodial Crypto Wallet. This wallet holds your assets, and every transaction initiated by NFT Protect requires your wallet's confirmation for security reasons.
Supported Wallets: Metamask and Wallet Connect.
Click the "Connect wallet" button.
Choose your preferred wallet (Metamask or Wallet Connect) and network (Goerli or Sepolia), then confirm your choice in the wallet.
Once connected, the application will display all your owned NFTs.
Protecting Your NFT
Select any NFT and protect it by clicking the “Protect NFT” button.
Steps to Protect:
Grant the protocol permission to access and protect your NFT in your wallet.
Pay the protocol and the gas (or transaction) fees.
The Protected NFT (pNFT) will appear in a new application section titled “All your protected assets.”
Remember, you can sell your pNFT on marketplaces, transfer it, or use it in supported protocols.
Restoring the Original NFT
At any time, you can restore your original NFT. In doing so, the pNFT will be burned, and the original NFT will be retrieved from the vault.
Steps to Restore:
Navigate to the “All your protected assets” section, locate your pNFT, and click on the "Restore original" button.
Confirm your intention in the pop-up window, and then confirm and pay for the transaction in your wallet.
Transferring the Original NFT
After selling or transferring the pNFT to a new owner, you can securely transfer the original NFT to them.
Steps to Transfer:
Go to the “Transferred pNFT” section,
Find the pNFT, and
Click on the "Transfer original" button.
Confirm your intention in the pop-up window, and then confirm and pay for the transaction in your wallet.
Requesting the Original NFT
If you've acquired a Protected NFT and the original NFT owner hasn't subsequently transferred the original to you, you can request the original, reminding them of the transfer.
Steps to Request:
Navigate to the “All your protected assets” section, locate your pNFT
Click on the "Request original" button.
Confirm and pay for the transaction in your wallet.
Response Time:
After sending the request, the original NFT owner has 48 hours to respond. If they confirm the transfer of the original, the original NFT will move to your wallet, and the pNFT will be burned. If the original NFT isn't transferred, you can open a dispute in the Kleros decentralized court. To do this, click on the “Open Dispute” button.
Opening a Dispute in the Decentralized Court
In case of any disputes or disagreements, you can seek resolution through the Kleros decentralized court via the NFT Protect application. This might be necessary if, for instance, a pNFT was lost due to a phishing attack, a protocol breach, or an accidental transfer to an incorrect wallet address. Here's how to proceed:
Initiating the Dispute:
Navigate to the digital asset in question within the application.
Click on the “Open Dispute” button.
Reason for Dispute:
In the pop-up window, select the reason for losing the pNFT.
Submitting Evidence:
In the subsequent window, attach all available evidence supporting your claim. This could include:
Chat logs or emails that confirm a phishing attack.
Security reports or Protocol Breach Post-mortem if the loss of pNFT resulted from a protocol breach or hack. Check the Policy for the complete list.
NFT Protect will also provide additional evidence, such as the pNFT movement history and data about the plaintiff and defendant.
Paying for Arbitration:
Cover the arbitration fees to open the case formally.
Evidence Period:
The case is opened once the fees are paid, and jurors are selected. During this phase, you (or anyone else) can submit additional evidence related to the case.
In the mainnet, this phase lasts for a specific duration before automatically moving to the next stage. In the testnet, transitioning from the Evidence Period to the Voting Period must be done manually. (More details in “Switching the Dispute Stage in Kleros”).
Voting Period:
During this phase, the arbitrators review the case materials and cast their votes.
In the mainnet, jurors have a set time to vote, after which the case automatically progresses to the next stage. In the testnet, transitioning from the Voting Period to the Appealing Period must be done manually. (More details in “Switching the Dispute Stage in Kleros”).
Appealing Period:
Any user disagreeing with the court's decision can file an appeal during this phase.
In the mainnet, users have a specific duration to file and pay for an appeal, after which the case automatically moves to the next stage. In the testnet, filing an appeal is not possible. Transitioning from the Appealing Period to the Decision Period must be done manually. (More details in “Switching the Dispute Stage in Kleros”).
Decision Period:
To enforce the court's ruling, click on the “Enforce the Ruling” button. Before this, in the testnet, you need to make manual adjustments at any time. (More details in “Switching the Dispute Stage in Kleros”).
Switching the Dispute Stage in Kleros
Accessing the Contract: Navigate to either:
Reading the Contract:
Click on the "read contract" tab.
Connect to your wallet using the "connect to web3" option.
Check the current value of the
phase
parameter.
Writing to the Contract:
Click on the "write contract" tab.
Again, connect to your wallet using the "connect to web3" option.
Call the
passPhase
function to change thephase
value to 2. Depending on the initial status of the phase, you may need to pay for up to 3 transactions.For transitioning to the voting stage, use the
drawJurors
function. Specify the Kleros dispute number in the_disputeID
field and assign 3 judges in the_iterations
parameter. Confirm and pay for the transaction.Use the
passPeriod
function, specify the Kleros dispute number, and pay for the transaction.
Verifying the Dispute Stage:
Navigate back to the dispute page either in the NFT Protect interface or on the Kleros website.
Ensure that the case has transitioned to the desired stage.
Completing the Dispute:
To finalize the dispute, you need to repeat the above instructions three times to transition the dispute through the following stages:
From the evidence stage to the voting stage.
From the voting stage to the appeal stage.
From the appeal stage to the final decision stage.
Executing the Ruling:
Once all three stages are completed, initiate the
executeRuling
method.Specify the dispute number and confirm the transaction in Metamask.
After this, you can click on the “enforce the ruling” button on the dispute page in the NFT Protect interface.
Last updated