Testnet Guidelines
Last updated
Was this helpful?
Last updated
Was this helpful?
The support for the Goerli test network has been discontinued after December 31, 2023. Please use Sepolia network instead.
Opening a Dispute in the Decentralized Court
Switching the Dispute Stage in Kleros
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.
Goerli Faucet:
Sepolia Faucets:
Purchase Goerli NFTs on:
Purchase Sepolia NFTs on:
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.
Select any NFT and protect it by clicking the “Protect NFT” button.
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.”
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.
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.
After selling or transferring the pNFT to a new owner, you can securely transfer the original NFT to them.
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.
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.
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.
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.
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.
Voting Period:
During this phase, the arbitrators review the case materials and cast their votes.
Appealing Period:
Any user disagreeing with the court's decision can file an appeal during this phase.
Decision Period:
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 the phase
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.
Visit the application page at
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 “”).
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 “”).
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 “”).
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 “”).