Verified Signatures Tool

Note: Moonriver (MOVR) on Kusama is a companion network to Moonbeam and provides a permanently incentivized canary network. New code ships to Moonriver first, where it can be tested and verified under real economic conditions. Once proven, the same code ships to Moonbeam on Polkadot.

Polygon PoS (polygonscan.com) is an EVM-compatible environment optimized for high throughput and low transaction fees while Polygon zkEVM (zkevm.polygonscan.com) is an EVM-equivalent ZK rollup designed for security.

Aside from performing transactions and interacting with smart contracts, an EOA (What is an EOA?) is also capable of signing a message. Similarly with the aforementioned activities, signing a message can only be done if you have access to the EOA's private key - which is why signing a message is commonly practiced as a way to verify someone's ownership of an address. It is also how we verify the ownership of a contract address on {{explorer}}!

Signing a message with an EOA results in a signature hash - a string of characters (that looks like the transaction hash, albeit longer in length) that is unique to a specific signed message (like how a transaction hash is unique to one specific transaction). This is why the message signature hash is crucial in verifying that a message was indeed signed by the EOA that the signer claims to own.

Now that we've cleared the basics, let's jump straight to the highlight - our revamped Verified Signatures Tool.

{{img:bscscan}}
{{img:polygonscan}}
{{img:ftmscan}}
{{img:moonscan}}
{{img:zksync}}
{{img:optimistic_etherscan}}
{{img:celoscan}}

Accompanying the sleek UI enhancement is the new feature to sign and publish a message directly on {{explorer}}.

Signing a message

To sign a message, click on the Sign Message button and you will be prompted to connect to our website via either MetaMask or WalletConnect. Once connected, you can enter the message that you want to sign and click Sign Message. Done! You should see the signature hash for your signed message right afterward.

To make it easier to share the signed message elsewhere, you can opt to publish the signed message on our website. Published messages are hosted on our website and its public URL is yours to use. But be mindful of sensitive or personal information in the signed message before publishing it.

{{img:bscscan}}
{{img:polygonscan}}
{{img:ftmscan}}
{{img:moonscan}}
{{img:zksync}}
{{img:optimistic_etherscan}}
{{img:celoscan}}

Verifying a message

Verifying a message means verifying whether a message is really written (signed) by an address. For example, imagine that you're looking to contact the owner of an NFT you'd really like to buy. An anonymous online account approaches you claiming to be that owner. You can ask them to sign a message using the address and provide you with the signed message details. Then you can verify its authenticity using our tool.

If that person signs using MyEtherWallet, the signed message would typically look like this:

{ "address": "0x4a2ea96722b01c1e626fba0f4806257454c24458",
      "msg": "0x49206c6f766520776f726b696e6720776974682045746865727363616e2e2049276d206e6f74206265696e6720666f7263656420746f20777269746520746869732e204e6f2068656c70206e65656465642e",
      "sig": "16b15f88bbd2e0a22d1d0084b8b7080f2003ea83eab1a00f80d8c18446c9c1b6224f17aa09eaf167717ca4f355bb6dc94356e037edf3adf6735a86fc3741f5231b",
  "version": "3",
   "signer": "MEW" }

To verify this signed message, click on the Verify Signature button on our Verified Signatures page and enter the message details into their respective fields.

  • Address = The signer's address
  • Message = The entire message that was signed by the signer's address. Make sure to copy everything between the first and the last "..." and not to leave or add any character from the signed message. An additional or missing character may result in failure to verify.
  • Signature Hash = Usually stylized as "sig". Do take note that some signature hash tools have the first two characters, "0x", missing - like the sample signature hash above. In this case, make sure to add 0x before entering the whole signature hash into the field.
  • Options = Choose to either verify the signed message or publish the signed message upon verification (again, be mindful of sensitive or personal information in the signed message before publishing it).
{{img:bscscan}}
{{img:polygonscan}}
{{img:ftmscan}}
{{img:moonscan}}
{{img:zksync}}
{{img:optimistic_etherscan}}
{{img:celoscan}}

Unpublishing a signed message

If you have accidentally or wrongly published a signed message, you can have it unpublished by signing a message using the same signer address as the one in the published signed message following the template below:

{{div:bscscan}}
[Bscscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Bscscan.com]
{{end}}

Polygon PoS:

[Polygonscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Polygonscan.com]

Polygon zkEVM:

[zkEVM.Polygonscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from zkEVM.Polygonscan.com]

{{div:ftmscan}}
[Ftmscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Ftmscan.com]
{{end}}

{{div:moonscan}}
[Moonscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Moonscan.io]
{{end}}

{{div:zksync}}
[Era.zkSync.network dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Era.zkSync.network]
{{end}}

{{div:optimistic_etherscan}}
[Optimistic.etherscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Optimistic.etherscan.io]
{{end}}

{{div:celoscan}}
[Celoscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Celoscan.io]
{{end}}

{{div:lineascan}}
[Lineascan.build dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Lineascan.build]
{{end}}

{{div:wemixscan}}
[Wemixscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Wemixscan.com]
{{end}}

{{div:bttcscan}}
[BTTCscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from BTTCscan.com]
{{end}}

{{div:gnosisscan}}
[GnosisScan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from GnosisScan.io]
{{end}}

{{div:scrollscan}}
[Scrollscan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Scrollscan.com]
{{end}}

{{div:basescan}}
[BaseScan.org dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from BaseScan.org]
{{end}}

{{div:cronoscan}}
[CronoScan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from CronoScan.com]
{{end}}

{{div:taikoscan}}
[Taikoscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Taikoscan.io]
{{end}}

{{div:fraxscan}}
[FraxScan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from FraxScan.com]
{{end}}

{{div:arbiscan}}
[Arbiscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Arbiscan.io]
{{end}}

{{div:blastscan}}
[Blastscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Blastscan.io]
{{end}}

{{div:kromascan}}
[KromaScan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from KromaScan.com]
{{end}}

{{div:mantlescan}}
[MantleScan.xyz dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from MantleScan.xyz]
{{end}}

{{div:xaiscan}}
[Xaiscan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Xaiscan.io]
{{end}}

{{div:xdcscan}}
[XDCScan.com dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from XDCScan.com]
{{end}}

{{div:apescan}}
[Apescan.io dd/mm/yyyy hh:mm:ss] I, hereby request that the Verified Signature #[InsertSignedMessageIDHere] be removed from Apescan.io]
{{end}}

After signing the above message, send us the signed message details (like the MyEtherWallet sample above) through our {{link3}} page and one of our team members will get back to you as soon as possible.

  • Teck Yuan Lee
Updated