# Ethereum Intent URI (EI-URI): A Universal Action URI format for Ethereum

**URL:** <https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345>\
**Category:** Feature Requests\
**Created:** [April 15, 2025, 2:44am UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345 "2025-04-15T02:44:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![frani](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/frani/32/38458_2.png) [@frani](https://community.metamask.com/u/frani)\
**Post date:** [April 15, 2025, 2:44am UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/1 "2025-04-15T02:44:40Z")

</div>

### **Description:**

Support parsing and handling of extended `ethereum:` URLs with RPC-style method calls, including optional chain identification and parameters, using the following syntax:

```txt
ethereum:<rpc_method>[:<chain_id>]?<rpc_method_params>

```

#### 📌 Example (single request):

```txt
ethereum:eth_sendTransaction:324?from=0x8082da67710c14e7f668efc73ac27ad6b2d7cafe&to=0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238&gas=0x76c0&gasPrice=0x4a817c800&value=0x0&data=0xa9059cbb000000000000000000000000ffce4d191cb5007ee9ad7226581f7e217b68cafe00000000000000000000000000000000000000000000000000000000000f4240636166656369746f

```

#### 📦 Example (multi-request, base64-encoded payload):

```txt
ethereum:multi-request:324?requests_b64=BASE64_ENCODED_JSON_ARRAY

```

This structure builds upon **EIP-681** and **EIP-4804** , enabling advanced capabilities such as batched transactions and chain-specific context in a URL or QR code format.

* * *

### **Purpose:**

To enhance MetaMask’s compatibility with modern wallet invocation flows via deep links and QR codes, and allow:

- ✅ Flexible, RPC-style invocation via URLs
- ✅ Embedded `chainId` for chain-aware requests
- ✅ Multi-request support with base64 payloads
- ✅ Seamless integration into physical-world interactions (e.g. POS, ticketing, dApps)
- ✅ Add a new chain to MetaMask dynamically, just by scanning a QR (e.g. via `wallet_addEthereumChain`)

This format would be especially useful in real-world Web3 applications, where users scan a single QR code to switch chains, approve multiple transactions, or interact with a contract directly.

* * *

### **Extension/Mobile/Both:**

**Both**  
(With significant utility in **mobile** use cases involving QR code scanning.)

---

<div class="post-metadata">

**Author:** ![\_Star](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/_star/32/36316_2.png) [@\_Star](https://community.metamask.com/u/_Star)\
**Post date:** [April 15, 2025, 5:10am UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/2 "2025-04-15T05:10:28Z")

</div>

Hi @frani thank you so much for sharing, I will pass your message to the team 🦊

---

<div class="post-metadata">

**Author:** ![frani](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/frani/32/38458_2.png) [@frani](https://community.metamask.com/u/frani)\
**Post date:** [April 28, 2025, 1:48pm UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/3 "2025-04-28T13:48:19Z")

</div>

hey @puddi I saw you have some similiar problem like me, would you like to push it together ?

I think we need a change on deep link so it can be flexible in parameteres.

please take a look of what I wrote and let me know what you think.

regrads

---

<div class="post-metadata">

**Author:** ![puddi](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/puddi/32/33400_2.png) [@puddi](https://community.metamask.com/u/puddi)\
**Post date:** [April 29, 2025, 6:22pm UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/4 "2025-04-29T18:22:19Z")

</div>

hey @frani I had the similar problem for ERC-681, team looked into it, opened and merged a pull request but the issue was still present.

I would love to contribute!

---

<div class="post-metadata">

**Author:** ![frani](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/frani/32/38458_2.png) [@frani](https://community.metamask.com/u/frani)\
**Post date:** [April 29, 2025, 7:53pm UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/5 "2025-04-29T19:53:28Z")

</div>

> Happy to hear your answer!

> Based on what I’ve seen in the MetaMask Mobile architecture, it essentially acts as a complex interface that communicates with RPC endpoints—similar to other wallet implementations. This got me thinking about how we can evolve the interaction between RPCs and smart contracts to enable faster releases of new methods and contract functions.

> I believe a simple “scan & execute” approach could be a game-changer. EI-URI, or perhaps an improved version of it, seems like the right kind of solution to explore for this.

> Right now, mobile experiences still depend heavily on WalletConnect, which often feels unnecessary or overly complicated. If we can simplify the process to just scanning and invoking RPC methods directly, it could significantly enhance the overall user experience.

---

<div class="post-metadata">

**Author:** ![frani](https://dub1.discourse-cdn.com/metamask/user_avatar/community.metamask.com/frani/32/38458_2.png) [@frani](https://community.metamask.com/u/frani)\
**Post date:** [April 29, 2025, 7:55pm UTC](https://community.metamask.com/t/ethereum-intent-uri-ei-uri-a-universal-action-uri-format-for-ethereum/30345/6 "2025-04-29T19:55:38Z")

</div>

@puddi can not hit you up in discord.

could you try it ?  
my username is frani.dev
