pr-611.ercx-sandbox.runtimeverification.com Open in urlscan Pro
3.130.97.52  Public Scan

URL: https://pr-611.ercx-sandbox.runtimeverification.com/
Submission: On January 29 via automatic, source certstream-suspicious — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Open main menu
About
 * News
 * What ERCx does
 * What's being tested
 * Analytics
 * Quick ERCx introduction
 * Telegram Bot

Developers
 * Test your code
 * Workshop
 * ABI Generator
 * Open API
 * IDE

Tokens
 * Evaluated Tokens
 * * Explorer Top Tokens
      * Ethereum Mainnet
      * Optimism Mainnet
      * BSC Mainnet
      * Polygon Mainnet
      * Linea Mainnet
 * * Uniswap Top Tokens
      * Ethereum Mainnet
      * Optimism Mainnet
      * BSC Mainnet
      * Polygon Mainnet
 * 4626 Alliance Ethereum Vaults
 * OpenZeppelin Wizard Templates

Pricing
Contact
Log in
 * Log In with GitHub
 * Log In with Google




PROPERTY TESTING FOR ERC TOKENS

ERC-20
 * ERC-20
 * ERC-4626
 * ERC-1155

Ethereum Mainnet
 * Ethereum
    * Mainnet
    * Sepolia
    * Holesky

 * Optimism
    * Mainnet
    * Sepolia

 * Polygon
    * Mainnet
    * Mumbai Bor

 * BSC
    * Mainnet
    * Testnet

 * Linea
    * Mainnet

Test
Or check the sample reports of the Etherscan.io Top 20 tokens.
If you develop ERC tokens using Open Zeppelin templates and unit tests, we have
a lot of extras for you. We start by checking EIP compliance, but we add a
custom security test suite for each standard (20, 4626, 721, 1155) so you gain
additional confidence in the behavior of these smart contracts.
DevelopersInvestors


REPORTS

ERCx generates structured and detailed reports about its analysis of the token.
Token properties are organized in categories, reflecting what they evaluate and
their importance. The tool provides you with a comprehensive overview and
detailed information of the token evaluated.
View reports
Summary of test results (by level):
Passed
Failed
Not tested
Optional
ABI
27
1
27/28
minimal
19
19/19
recommended
5
5/5
desirable
37
1
37/38
AddOn Features
No add-on function found.
Fingerprint
Click here for fingerprint properties that the contract possesses.


DESIRABLE PROPERTIES

ERCx goes beyond the requirements prescribed in the standards as described in
the Ethereum Improvement Proposals. ERCx includes important security properties
designed by our security auditors, putting you on top of the standard.
View evaluated tokens

ResultProperty


The zero address SHOULD NOT have any token from the contract.



A msg.sender SHOULD be able to retrieve his/her own balance.



A msg.sender SHOULD be able to retrieve balance of an address different from
his/hers.



A successful call of approve of any amount to the zero address SHOULD NOT be
allowed.



If consecutive calls of approve function of positive-to-positive amounts can be
called, then the allowance is set to the right amount after the second call.



Consecutive calls of approve function of positive-to-zero amounts CAN be called
and the allowance is set to the right amount after the second call.

Start Testing


IDE

ERCx is available as a VSCode plugin, letting you evaluate all properties on
your token while you are still developing it. A violated property? Modify your
token code and check again if the test passes.
Checkout the VSCode plugin



OPEN API

ERCx offers a complete open API, letting you interact with our test suites from
your favorite programming language or web interface. We also provide endpoints
for you to create your lists of tokens and run test suites on the tokens of that
list.
Try it out



GENERATE ABI

ERCx lets you generate the Application Binary Interface of any contract deployed
on mainnet and testnets. The provided JSON ABI lets you automatically interact
with the contract.
Generate ABI for your token
"root"
:
{5 Items
"address"
:
string
"0xac3E018457B222d93114458476f3E3416Abbe38F"
"proxy"
:
[]0 Items
"implementation_address"
:
string
"0xac3E018457B222d93114458476f3E3416Abbe38F"
"source"
:
string
"etherscan-Mainnet"
"abi"
:
[42 Items
0
:
{3 Items
"inputs"
:
[
…
]2 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"constructor"
}
1
:
{3 Items
"inputs"
:
[]0 Items
"name"
:
string
"SyncError"
"type"
:
string
"error"
}
2
:
{4 Items
"anonymous"
:
bool
false
"inputs"
:
[
…
]3 Items
"name"
:
string
"Approval"
"type"
:
string
"event"
}
3
:
{4 Items
"anonymous"
:
bool
false
"inputs"
:
[
…
]4 Items
"name"
:
string
"Deposit"
"type"
:
string
"event"
}
4
:
{4 Items
"anonymous"
:
bool
false
"inputs"
:
[
…
]2 Items
"name"
:
string
"NewRewardsCycle"
"type"
:
string
"event"
}
5
:
{4 Items
"anonymous"
:
bool
false
"inputs"
:
[
…
]3 Items
"name"
:
string
"Transfer"
"type"
:
string
"event"
}
6
:
{4 Items
"anonymous"
:
bool
false
"inputs"
:
[
…
]5 Items
"name"
:
string
"Withdraw"
"type"
:
string
"event"
}
7
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"DOMAIN_SEPARATOR"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
8
:
{5 Items
"inputs"
:
[
…
]2 Items
"name"
:
string
"allowance"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
9
:
{5 Items
"inputs"
:
[
…
]2 Items
"name"
:
string
"approve"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"function"
}
10
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"asset"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
11
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"balanceOf"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
12
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"convertToAssets"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
13
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"convertToShares"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
14
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"decimals"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
15
:
{5 Items
"inputs"
:
[
…
]2 Items
"name"
:
string
"deposit"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"function"
}
16
:
{5 Items
"inputs"
:
[
…
]7 Items
"name"
:
string
"depositWithSignature"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"function"
}
17
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"lastRewardAmount"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
18
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"lastSync"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
19
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"maxDeposit"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
20
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"maxMint"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
21
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"maxRedeem"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
22
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"maxWithdraw"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
23
:
{5 Items
"inputs"
:
[
…
]2 Items
"name"
:
string
"mint"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"function"
}
24
:
{5 Items
"inputs"
:
[]0 Items
"name"
:
string
"name"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
25
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"nonces"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
26
:
{5 Items
"inputs"
:
[
…
]7 Items
"name"
:
string
"permit"
"outputs"
:
[]0 Items
"stateMutability"
:
string
"nonpayable"
"type"
:
string
"function"
}
27
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"previewDeposit"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
28
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"previewMint"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
29
:
{5 Items
"inputs"
:
[
…
]1 Items
"name"
:
string
"previewRedeem"
"outputs"
:
[
…
]1 Items
"stateMutability"
:
string
"view"
"type"
:
string
"function"
}
hidden 12 items…
]
}


BLOG POSTS

No posts found

All Blog Posts
May 2023 (Fake News for testing in sandboxes only)
5/1/2023
 * Added scores to quickly evaluate tokens.
 * New Fingerprint tests.
 * More efficient ABI tests.
 * Detection of tokens behind proxy.

333 North Green Street, Chicago, IL

2024 © all rights reserved | privacy policy | terms of use