DeFi For You. Token Logo

DFY [DeFi For You.] Token

About DFY

Listings

Token 18 months
CoinGecko 15 months
CoinMarketCap 14 months
white paper

DeFi For You is a crypto pawnbroking platform that facilitates lending by securing crypto and NFT collateral packages in smart contracts which are released when the loan is repaid or a liquidation threshold is met.

The project is positioning itself as the leading pawnbroking platform in the crypto and NFT world.

We have also developed a system for 'Evaluators' - most of whom are licensed pawnbrokers - to connect with borrowers in DeFi and offer them crypto loans against digital or physical assets. These pawnbrokers are uniquely positioned in that they have a licensed and secure premises to store hard assets. They store the asset, issue an NFT representing it to the borrower, and then burn the NFT when the asset is reclaimed. Our dev team took inspiration from the UI of Booking.com to design the layout of featured crypto pawnshops on the platform. They also designed an on-chain reputation system for lenders and borrowers, which denotes how many transactions they have had and their record of integrity when using the platform.

We have developed an NFT marketplace with a special NFT Pawn Market integrated into it. This allows people to list NFTs for sale, auction, or pawn. It also means buyers can get great deals on NFTs that have been repossessed by lenders, who are now looking to cash in on the digital asset they have gained.

DeFi For You will be launching lending pools in Q1 2022 to increase the value of its DeFi platform. This will allow users to quickly lend and borrow from pools with interest rates determined algorithmically.

DeFi For You was founded by Adam Christopher Chaplin, who was a co-founder of Travala.com (AVA). The project is in the process of inking partnerships with major pawnbroking companies and banks to expand its reach and bring the world of pawnbroking into the crypto space.

DeFi For You is built on Binance Smart Chain and the native DFY token is a BE20 - BEP2 bridge. It is used for fees on the platform, as well as loan currency, repayment currency, and collateral for loans.

Social

Laser Scorebeta Last Audit: 9 April 2022

report
Token seems to be legit.

TokenRecover.recoverERC20(address,uint256) (#1395-1397) ignores return value by IERC20(tokenAddress).transfer(owner(),tokenAmount) (#1396)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.

Additional information: link


Contract ownership is not renounced (belongs to a wallet)

name() should be declared external:
- ERC20.name() (#471-473)
symbol() should be declared external:
- ERC20.symbol() (#479-481)
decimals() should be declared external:
- ERC20.decimals() (#496-498)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#510-512)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#576-579)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#595-598)
cap() should be declared external:
- ERC20Capped.cap() (#739-741)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#778-780)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#793-798)
supportsInterface(bytes4) should be declared external:
- ERC165.supportsInterface(bytes4) (#1124-1126)
transferAndCall(address,uint256) should be declared external:
- ERC1363.transferAndCall(address,uint256) (#1206-1208)
transferFromAndCall(address,address,uint256) should be declared external:
- ERC1363.transferFromAndCall(address,address,uint256) (#1230-1232)
approveAndCall(address,uint256) should be declared external:
- ERC1363.approveAndCall(address,uint256) (#1254-1256)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#1361-1364)
recoverERC20(address,uint256) should be declared external:
- TokenRecover.recoverERC20(address,uint256) (#1395-1397)
getRoleMemberCount(bytes32) should be declared external:
- AccessControl.getRoleMemberCount(bytes32) (#1737-1739)
getRoleMember(bytes32,uint256) should be declared external:
- AccessControl.getRoleMember(bytes32,uint256) (#1753-1755)
getRoleAdmin(bytes32) should be declared external:
- AccessControl.getRoleAdmin(bytes32) (#1763-1765)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (#1812-1816)
mintingFinished() should be declared external:
- ERC20Base.mintingFinished() (#1972-1974)
transferEnabled() should be declared external:
- ERC20Base.transferEnabled() (#1979-1981)
mint(address,uint256) should be declared external:
- ERC20Base.mint(address,uint256) (#1988-1990)
finishMinting() should be declared external:
- ERC20Base.finishMinting() (#2016-2020)
rewardPawnReputationEnabled() should be declared external:
- DFY.rewardPawnReputationEnabled() (#2177-2179)
enableRewardPawnReputation() should be declared external:
- DFY.enableRewardPawnReputation() (#2188-2192)
disableRewardPawnReputation() should be declared external:
- DFY.disableRewardPawnReputation() (#2194-2198)
pawnReputationOf(address) should be declared external:
- DFY.pawnReputationOf(address) (#2200-2202)
rewardPawnReputation(address,uint256) should be declared external:
- DFY.rewardPawnReputation(address,uint256) (#2204-2207)
reducePawnReputation(address,uint256) should be declared external:
- DFY.reducePawnReputation(address,uint256) (#2209-2212)
Use the external attribute for functions never called from the contract.

Additional information: link

Contract name (DeFi For You.) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.

ERC20.constructor(string,string).name (#462) shadows:
- ERC20.name() (#471-473) (function)
ERC20.constructor(string,string).symbol (#462) shadows:
- ERC20.symbol() (#479-481) (function)
ERC20Capped.constructor(uint256).cap (#731) shadows:
- ERC20Capped.cap() (#739-741) (function)
ERC1363.constructor(string,string).name (#1194) shadows:
- ERC20.name() (#471-473) (function)
ERC1363.constructor(string,string).symbol (#1194) shadows:
- ERC20.symbol() (#479-481) (function)
ERC20Base.constructor(string,string,uint8,uint256,uint256,bool).name (#1948) shadows:
- ERC20.name() (#471-473) (function)
ERC20Base.constructor(string,string,uint8,uint256,uint256,bool).symbol (#1949) shadows:
- ERC20.symbol() (#479-481) (function)
ERC20Base.constructor(string,string,uint8,uint256,uint256,bool).decimals (#1950) shadows:
- ERC20.decimals() (#496-498) (function)
ERC20Base.constructor(string,string,uint8,uint256,uint256,bool).cap (#1951) shadows:
- ERC20Capped.cap() (#739-741) (function)
ERC20Base.constructor(string,string,uint8,uint256,uint256,bool).transferEnabled (#1953) shadows:
- ERC20Base.transferEnabled() (#1979-1981) (function)
Rename the local variables that shadow another component.

Additional information: link

Address.isContract(address) (#290-299) uses assembly
- INLINE ASM (#297)
Address._functionCallWithValue(address,bytes,uint256,string) (#383-404) uses assembly
- INLINE ASM (#396-399)
Do not use evm assembly.

Additional information: link

AccessControl._setRoleAdmin(bytes32,bytes32) (#1843-1846) is never used and should be removed
AccessControl._setupRole(bytes32,address) (#1834-1836) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#383-404) is never used and should be removed
Address.functionCall(address,bytes) (#343-345) is never used and should be removed
Address.functionCall(address,bytes,string) (#353-355) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#368-370) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#378-381) is never used and should be removed
Address.sendValue(address,uint256) (#317-323) is never used and should be removed
Context._msgData() (#21-24) is never used and should be removed
ERC165Checker._callERC165SupportsInterface(address,bytes4) (#1079-1088) is never used and should be removed
ERC165Checker._supportsERC165Interface(address,bytes4) (#1063-1069) is never used and should be removed
ERC165Checker.supportsAllInterfaces(address,bytes4[]) (#1035-1050) is never used and should be removed
ERC165Checker.supportsERC165(address) (#1007-1012) is never used and should be removed
ERC165Checker.supportsInterface(address,bytes4) (#1020-1024) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#1601-1603) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#1639-1641) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#1618-1620) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#1625-1627) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#1611-1613) is never used and should be removed
Pausable._pause() (#2111-2114) is never used and should be removed
Pausable._unpause() (#2123-2126) is never used and should be removed
SafeMath.div(uint256,uint256) (#207-209) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#223-229) is never used and should be removed
SafeMath.mod(uint256,uint256) (#243-245) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#259-262) is never used and should be removed
SafeMath.mul(uint256,uint256) (#181-193) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version^0.7.0 (#4) allows old versions
Pragma version^0.7.0 (#29) allows old versions
Pragma version^0.7.0 (#107) allows old versions
Pragma version^0.7.0 (#267) allows old versions
Pragma version^0.7.0 (#409) allows old versions
Pragma version^0.7.0 (#716) allows old versions
Pragma version^0.7.0 (#761) allows old versions
Pragma version^0.7.0 (#803) allows old versions
Pragma version^0.7.0 (#828) allows old versions
Pragma version^0.7.0 (#919) allows old versions
Pragma version^0.7.0 (#953) allows old versions
Pragma version^0.7.0 (#986) allows old versions
Pragma version^0.7.0 (#1093) allows old versions
Pragma version^0.7.0 (#1147) allows old versions
Pragma version^0.7.0 (#1311) allows old versions
Pragma version^0.7.0 (#1379) allows old versions
Pragma version^0.7.0 (#1402) allows old versions
Pragma version^0.7.0 (#1646) allows old versions
Pragma version^0.7.0 (#1863) allows old versions
Pragma version^0.7.0 (#1890) allows old versions
Pragma version^0.7.0 (#2041) allows old versions
Pragma version^0.7.0 (#2131) allows old versions
solc-0.7.0 is not recommended for deployment
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.

Additional information: link

Low level call in Address.sendValue(address,uint256) (#317-323):
- (success) = recipient.call{value: amount}() (#321)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#383-404):
- (success,returndata) = target.call{value: weiValue}(data) (#387)
Low level call in ERC165Checker._callERC165SupportsInterface(address,bytes4) (#1079-1088):
- (success,result) = account.staticcall{gas: 30000}(encodedParams) (#1085)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Redundant expression "this (#22)" inContext (#16-25)
Remove redundant statements if they congest code but offer no value.

Additional information: link

Holders:


Token is deployed only at one blockchain


Unable to find Discord account


Unable to find audit link on the website


Young tokens have high risks of scam / price dump / death

Price for DFY

News for DFY