I want to request to add a network to the metamask using QR code. Is it possible? I found these services but doesnt eip681-link
No, as of right now it is not possible to make a QR code that directly adds a chain natively.
What you can do is create a QR code to a data: URL containing a code that calls wallet_addEthereumChain.
The HTML code:
<script>
ethereum.request({
method: "wallet_addEthereumChain",
params: [
{
chainId: "0x64",
chainName: "Gnosis Chain",
rpcUrls: ["https://rpc.gnosischain.com/"],
nativeCurrency: { name: "xDAI", symbol: "xDAI" },
blockExplorerUrls: ["https://blockscout.com/xdai/mainnet/"],
},
],
});
</script>
The data URI (made with https://dopiaza.org/tools/datauri/index.php):
data:text/html;charset=utf-8;base64,PHNjcmlwdD4NCiAgICBldGhlcmV1bS5yZXF1ZXN0KHsNCiAgICAgICAgbWV0aG9kOiAid2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW4iLA0KICAgICAgICBwYXJhbXM6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBjaGFpbklkOiAiMHg2NCIsDQogICAgICAgICAgICAgICAgY2hhaW5OYW1lOiAiR25vc2lzIENoYWluIiwNCiAgICAgICAgICAgICAgICBycGNVcmxzOiBbImh0dHBzOi8vcnBjLmdub3Npc2NoYWluLmNvbS8iXSwNCiAgICAgICAgICAgICAgICBuYXRpdmVDdXJyZW5jeTogeyBuYW1lOiAieERBSSIsIHN5bWJvbDogInhEQUkiIH0sDQogICAgICAgICAgICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFsiaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS94ZGFpL21haW5uZXQvIl0sDQogICAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgIH0pOw0KPC9zY3JpcHQ+
And then made into a QR code: