Overview
The Peaze Protocol consists of a relayer and a network of smart contracts that work together to execute transactions seamlessly for your users.
Peaze utilizes two signature schemas, permit and meta-transactions, which work together to enable gasless transactions with automated swapping and bridging.

Transaction Flows
Below, we will describe the four core flows:
- Single-chain transactions
- Single-chain swap transactions
- Cross-chain transactions
- Cross-chain swap transactions
In these flows, we will reference the following terms:
- User: The user of your dApp/wallet whose wallet address is requesting the execution of a transaction(s).
- Relayer: The EOA sending the transaction on-chain and paying for its gas on behalf of the user. In our case, this is the Peaze Relayer.
- Executor: The smart contract whose functions are called by the relayer to complete transactions on-chain on behalf of the user. In our case, this the Peaze Smart Contract.
Single-chain transactions
These are transactions whose source chain and destination chain are the same. The Peaze Protocol will abstract the following for this type of transaction:
- Gas
For example, let’s say the user wants to deposit Ethereum-USDC into an Ethereum-USDC vault.
The following steps would occur:

- Generate signatures and initiate transaction: Your user signs the permit and meta-transaction messages from the estimate API request, generating the required signatures. You initiate the transaction by passing these signatures to the relayer via the execute API request.
- Transaction initation: The relayer calls the executor contract, passing the permit and meta-transaction signatures.
- Transaction execution: The executor contract executes the intended transaction(s) by calling the target contract.
- Receive assets: The executor contract receives assets (ERC721, ERC1155, ERC20) as a result of the transaction(s).
- Post-transaction transfer: The executor contract transfers assets (ERC721, ERC155, ERC20) to the user’s EOA.
Single-chain swap transactions
These are transactions whose source chain and destination chain are the same, but whose source token and destination token are different. The Peaze Protocol will abstract/automate the following for this type of transaction:
- Gas
- Swapping
For example, let’s say the user wants to deposit Ethereum-USDC into an Ethereum-WETH vault.
The following steps would occur:

- Generate signatures and initiate transaction: Your user signs the permit and meta-transaction messages from the estimate API request, generating the required signatures. You initiate the transaction by passing these signatures to the relayer via the execute API request.
- Transaction initation: The relayer calls the executor contract, passing the permit and meta-transaction signatures.
- Swap: The executor contract executes a swap through the optimal path via a DEX aggregator.
- Transaction execution: The executor contract executes the intended transaction(s) by calling the target contract.
- Receive assets: The executor contract receives assets (ERC721, ERC1155, ERC20) as a result of the transaction(s).
- Post-transaction transfer: The executor contract transfers assets (ERC721, ERC155, ERC20) to the user’s EOA.
Cross-chain transactions
These are transactions whose source chain and destination chain are different. The Peaze Protocol will abstract the following for this type of transaction:
- Gas
- Bridging
For example, let’s say the user wants to deposit Polygon-USDC into an Ethereum-USDC vault.
The following steps would occur:

- Generate signatures and initiate transaction: Your user signs the permit and meta-transaction messages from the estimate API request, generating the required signatures. You initiate the transaction by passing these signatures to the relayer via the execute API request.
- Transaction initation: The relayer calls the executor contract, passing the permit and meta-transaction signatures.
- Cross-chain transfer: The executor contract uses the signatures to access USDC from the user’s EOA, then sends funds and calldata to the destination chain via Stargate.
- Destination chain arrival: Stargate passes the funds and calldata to the executor contract on the destination chain.
- Transaction execution: The executor contract executes the intended transaction(s) by calling the target contract.
- Receive assets: The executor contract receives assets (ERC721, ERC1155, ERC20) as a result of the transaction(s).
- Post-transaction transfer: The executor contract transfers assets (ERC721, ERC155, ERC20) to the user’s EOA.
Cross-chain swap transactions
These are transactions whose source chain and destination chain are different, and whose source token and destination token are different.
For example, let’s say the user wants to deposit Polygon-USDC into an Ethereum-WETH vault. The Peaze Protocol will abstract the following for this type of transaction:
- Gas
- Bridging
- Swapping
The following steps would occur:

- Generate signatures and initiate transaction: Your user signs the permit and meta-transaction messages from the estimate API request, generating the required signatures. You initiate the transaction by passing these signatures to the relayer via the execute API request.
- Transaction initation: The relayer calls the executor contract, passing the permit and meta-transaction signatures.
- Cross-chain transfer: The executor contract uses the signatures to access USDC from the user’s EOA, then sends funds and calldata to the destination chain via Stargate.
- Destination chain arrival: Stargate passees the funds and calldata to the executor contract on the destination chain.
- Swap: The executor contract executes a swap through the optimal path via a DEX aggregator.
- Transaction execution: The executor contract executes the intended transaction(s) by calling the target contract.
- Receive assets: The executor contract receives assets (ERC721, ERC1155, ERC20) as a result of the transaction(s).
- Post-transaction transfer: The executor contract transfers assets (ERC721, ERC155, ERC20) to the user’s EOA.