# FAQ

## General Questions

<details>

<summary>What is a Crosschain Intent? (<a href="#what-is-a-crosschain-intent">direct link</a>)</summary>

A crosschain intent represents any programmable user-defined action—like financial transactions, staking, or governance—that signals the outcome a user expects to happen on a target chain.

</details>

<details>

<summary>What is the ERC-7683 standard? (<a href="#what-is-the-erc-7683-standard">direct link</a>)</summary>

ERC-7683 standardizes how these crosschain interactions are expressed as intents, allowing shared infrastructure and orders for seamless crosschain interactions between Ethereum mainnet, L2s, and sidechains.

The ERC-7683 standard defines the structure of a crosschain intent, acting like an order ticket that anyone can create and any solver can fulfill.

</details>

<details>

<summary>What is the one-liner description of ERC-7683? (<a href="#what-is-the-one-liner-description-of-erc-7683">direct link</a>)</summary>

ERC-7683 standardizes how these crosschain interactions are expressed as intents, allowing for shared infrastructure for seamless crosschain transactions between Ethereum mainnet, L2s, and sidechains.

</details>

<details>

<summary>Why do we need a standard for crosschain intents (ERC-7683)? (<a href="#why-do-we-need-a-standard-for-crosschain-intents-erc-7683">direct link</a>)</summary>

The ERC-7683 standard establishes a common framework for managing crosschain intents, simplifying development and enhancing compatibility across networks. A uniform standard prevents fragmented approaches, ensuring interoperability is achieved efficiently and securely for protocols, relayers, and users.

</details>

<details>

<summary>How does ERC-7683 help unify Ethereum? (<a href="#how-does-erc-7683-help-unify-ethereum">direct link</a>)</summary>

ERC-7683 lets users specify the desired outcome—their "intent"—without needing to manage underlying crosschain steps. Relayers compete to fulfill these intents, making crosschain transactions feel like they occur on a single unified chain and improving the user experience across the Ethereum ecosystem.

</details>

<details>

<summary>How does ERC-7683 help users? (<a href="#how-does-erc-7683-help-users">direct link</a>)</summary>

ERC-7683 enables seamless transactions across different L2s, promotes competition among relayers (reducing costs and accelerating processes), and abstracts crosschain complexity—lowering friction and improving accessibility for users.

</details>

<details>

<summary>How does ERC-7683 help protocols? (<a href="#how-does-erc-7683-help-protocols">direct link</a>)</summary>

ERC-7683 creates a shared relayer network that protocols can leverage, enabling relayers to support multiple protocols immediately. This fosters network effects, ecosystem growth, and cohesive operation across multiple chains for protocols that rely on crosschain liquidity and interoperability.

</details>

<details>

<summary>How does ERC-7683 help relayers? (<a href="#how-does-erc-7683-help-relayers">direct link</a>)</summary>

ERC-7683 provides a unified framework that reduces the need for custom solutions per intent protocol. This lowers operational overhead for relayers and attracts more relayers to support protocols using ERC-7683, increasing potential transaction volume.

</details>

<details>

<summary>Why is this only focused on crosschain swaps? Have you considered making a more generalized version? (<a href="#why-is-this-only-focused-on-crosschain-swaps-have-you-considered-making-a-more-generalized-version">direct link</a>)</summary>

ERC-7683 initially focuses on crosschain swaps as they are the most common use case, but it supports more complex actions. The orderData field in the CrossChainOrder struct allows encoding arbitrary data, enabling advanced functionalities (e.g., Bridge + Stake, Bridge + Mint) beyond swaps.

</details>

<details>

<summary>Can ERC-7683 send crosschain messages? (<a href="#can-erc-7683-send-crosschain-messages">direct link</a>)</summary>

ERC-7683 is compatible with existing messaging networks but is not itself a messaging protocol. It acts as a unifying layer connecting offchain messages to onchain settlement contracts. Projects adopting ERC-7683 may choose which messaging approach to integrate.

</details>

<details>

<summary>What does it mean for a chain to support ERC-7683? (<a href="#what-does-it-mean-for-a-chain-to-support-erc-7683">direct link</a>)</summary>

Every EVM chain technically supports ERC-7683. Support means users and protocols on that chain actively use the standard for transfers. A chain doesn't require special actions beyond signaling support and enabling dApps to adopt the standard.

</details>

***

## Compatibility Questions

<details>

<summary>Are crosschain intents compatible with L2 native interop solutions (AggLayer, Elastic Chain, etc.)? (<a href="#are-crosschain-intents-compatible-with-l2-native-interop-solutions-agglayer-elastic-chain-etc">direct link</a>)</summary>

Yes. ERC-7683 is compatible with native interoperability solutions (e.g., Polygon AggLayer, Optimism Superchain, ZKsync Elastic Chain). These can serve as settlement layers for ERC-7683 protocols. The standard is proof-system agnostic and can leverage native interop solutions for crosschain token transfers.

</details>

<details>

<summary>Are RIP-7755 and ERC-7683 compatible? (<a href="#are-rip-7755-and-erc-7683-compatible">direct link</a>)</summary>

Yes. RIP-7755 (message verification) and ERC-7683 (crosschain intents) are complementary. ERC-7683 can use RIP-7755 as a settlement layer, combining ERC-7683's proof-system agnosticism with standardized message verification from RIP-7755.

</details>

<details>

<summary>Are EIP-7702 and ERC-7683 compatible? (<a href="#are-eip-7702-and-erc-7683-compatible">direct link</a>)</summary>

Yes. EIP-7702 (account abstraction allowing EOAs to act as smart contract wallets during a transaction) and ERC-7683 (crosschain trade execution) can work together to let users initiate complex crosschain transactions directly from EOAs.

</details>

***

## Technical Questions

<details>

<summary>What is the purpose of a CrossChainOrder struct? (<a href="#what-is-the-purpose-of-a-crosschainorder-struct">direct link</a>)</summary>

The CrossChainOrder struct standardizes crosschain transaction definitions by encapsulating origin/destination chains, assets, and execution parameters into a single data structure. This enables consistent interpretation and processing by protocols and relayers.

</details>

<details>

<summary>How does ERC-7683 handle order settlement? (<a href="#how-does-erc-7683-handle-order-settlement">direct link</a>)</summary>

After a user submits an intent, relayers compete to fulfill it by executing the required transaction on the destination chain. The protocol verifies fulfillment and then releases escrowed assets or funds to the relayer, abstracting complex crosschain interactions while preserving security.

</details>

<details>

<summary>What is flexible in this standard, and can you provide examples? (<a href="#what-is-flexible-in-this-standard-and-can-you-provide-examples">direct link</a>)</summary>

Implementers can customize behavior such as:

* Price resolution (e.g., dutch auctions, oracle-based pricing)
* Fulfillment constraints
* Settlement procedures
* Ordering of origin/destination chain actions (fills could happen before open in some systems)

Examples of flexibility include choosing settlement verification methods (RIP-7755, ZK proofs, or native interoperability like Superchain).

</details>

<details>

<summary>Can somebody do an arbitrary action after the crosschain swap? If so, how? (<a href="#can-somebody-do-an-arbitrary-action-after-the-crosschain-swap-if-so-how">direct link</a>)</summary>

Yes. The bytes orderData field in the CrossChainOrder struct can encode a target contract and calldata to perform arbitrary actions on the destination chain. When a solver fulfills the intent, it triggers the specified call on behalf of the depositor.

</details>

<details>

<summary>Does this standard enforce/assume that the settlement contract has to live on the source chain of the intent? (<a href="#does-this-standard-enforce-assume-that-the-settlement-contract-has-to-live-on-the-source-chain-of-th">direct link</a>)</summary>

No. While a contract on the origin chain must process the initial intent (it holds the user's tokens), ERC-7683 does not require all validation or interactions to remain on the source chain.

</details>

<details>

<summary>Have you thought about a standard function for filling? (<a href="#have-you-thought-about-a-standard-function-for-filling">direct link</a>)</summary>

A standard fill function (e.g., fill(CrossChainOrder order, bytes fillerData)) was considered but presents challenges: different protocols require different parts of orderData, and some rely on blockchain state available only at initiation time. A one-size-fits-all fill function could be inefficient or impose redundant requirements.

The chainID is kept top-level for simplicity and better integration with gasless frameworks (Permit2, EIP-7702), avoiding complexity for fillers that would otherwise manage multiple chainIDs and finality across input chains.

</details>

***

Reach out / Learn more

* Contact: <https://t.me/bobbayb>
* Learn more about ERC-7683: [https://www.erc7683.org/about](broken://pages/c7ab21e64fd9566ad321b79b2d2678d31cda65c9)
* Examples: [https://www.erc7683.org/examples](/chainaiswap-docs/erc-7683-crosschain-intents/examples.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chainaiswap.gitbook.io/chainaiswap-docs/erc-7683-crosschain-intents/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
