Skip to main content

Permit3 Use Cases: Payroll, Treasury, Agentic Flows

Permit3 use cases: cross-chain payroll, treasury sweeps, agentic payments, merchant checkout, and institutional settlement flows unlocked by one signature.

Written by Eco

Permit3 is an open-source token approval protocol that lets one signature commit to token permissions on several chains. The owner still approves Permit3 in each ERC-20 token contract first; after that, signed permits can be submitted by another party, so developers can build cross-chain token operations around a single user signature. The protocol is live today, but the full surface of what it unlocks for cross-chain treasury, payroll, and agentic workflows is just starting to appear. This post looks forward: what new applications become viable when cross-chain token permission is a single signature, and how those applications compose with Eco Routes and Programmable Addresses.
​

This is forward-looking. Some patterns described here can be built on the deployed contracts today; others are on application roadmaps that the underlying primitive now makes tractable. We flag which is which. For the current-state explainer on the protocol itself, see our full Permit3 guide.
​

Why Permit3 Changes What Is Possible

Almost every cross-chain stablecoin use case has been held back by two constraints. First: every chain you touch needs native gas, which is operational overhead at scale and a hard UX ceiling for consumer apps. Second: permissions are chain-local, so any app that moves funds across chains has to ask the user to re-authorize on every new chain. Permit3 addresses both: after a one-time approval of Permit3 per token, one off-chain signature can commit to permits on several chains, and a relayer can submit them, though each chain still executes its own transaction.
​

When you remove those constraints, three categories of application become much easier to build: cross-chain treasury automation, programmable payroll, and autonomous agentic flows. Each inherits the gas-abstraction and single-signature properties and uses them to express logic that would have required dozens of manual steps before.
​

Cross-Chain Treasury Sweeps

Treasury ops across ten or more chains is one of the hardest problems in crypto operations. A team running a stablecoin payment business might have USDC accumulating on Base from merchant receipts, on Polygon from a consumer product, on Arbitrum from a treasury vault, and on Optimism from a fee distributor. Getting that USDC consolidated to a primary chain for treasury reporting historically required:

  1. A per-chain approval on every source chain (one onchain transaction per chain, each paying native gas).

  2. A bridge step to move funds to the destination (more native gas on the source, sometimes on the destination).

  3. A final approval on the destination if the funds needed to flow into a subsequent contract.

  4. A treasury ops person manually triggering all of this, or a bot architecture pre-funded with native gas on every chain.

With Permit3, the flow collapses:

  1. After approving Permit3 for the token on each source chain, the treasury principal signs one Permit3 permission covering all source chains.

  2. A sweep agent monitors balances on every chain and, when a threshold triggers, executes a Permit3 pull + a routing intent via Eco Routes.

  3. The agent uses a single dedicated relayer wallet for native gas across all chains, instead of maintaining per-chain gas balances in the signing principal.

After those one-time approvals, the treasury principal does not need native gas for each sweep. The sweep agent runs autonomously. The routing intent handles the actual cross-chain settlement. Teams already implementing this pattern use the broader stablecoin sweep automation tools category as their reference point; Permit3 is the permission primitive underneath.
​

The multichain rebalancer pattern

A related pattern: rebalancing rather than sweeping. Instead of draining every source chain to a destination, a rebalancer maintains target balances on each chain. If Base USDC exceeds its target, excess flows to the chain with the biggest deficit. Permit3 authorizes the rebalancer to pull and push on any supported chain; cross-chain rebalancing workflows become agent-executable with one principal signature at setup.
​

Cross-Chain Payroll

Imagine a DAO or distributed team paying contributors in stablecoins. The treasury sits on Ethereum. Contributors want paychecks on whatever chain they prefer (Base, Optimism, Arbitrum, Polygon, sometimes Solana). Today this means either: (a) the treasury manually triggers payments chain-by-chain with per-chain approvals, or (b) contributors accept funds on mainnet and bridge themselves. Both are bad UX, and both scale poorly.
​

Permit3 plus Eco Routes makes a different pattern possible. The treasury principal signs one Permit3 permission that covers a payroll budget. A scheduled job fires once per pay period and:

  1. Pulls the full payroll batch from the treasury via the Permit3 signature.

  2. Splits the batch into per-contributor amounts.

  3. Routes each payment to the contributor's preferred chain via Eco Routes.

  4. Settles on the contributor's destination chain with no manual intervention.

The treasury principal signs once per pay period (or once per quarter if the budget is approved for the period). Contributors receive funds on their preferred chain. The relayer, not the signer, pays native gas for each submission. The gas-abstraction property makes this viable for contributors who do not hold ETH on the destination chain; they just see USDC arrive.
​

This pattern also solves the problem described in automating stablecoin payroll and vendor payments: the treasury orchestration is the hard part, and Permit3 removes the permission-management fraction of that orchestration. Vendor payouts work identically: one permission, one signer, N destination chains with per-vendor routing.
​

Agentic Flows

Autonomous agents operating across chains are the use case Permit3 was clearly designed with in mind. An agent cannot practically hold native gas on every chain it might transact on; it does not always know in advance which chain will host its next opportunity; and it cannot block on user signatures for every new counterparty.
​

The principal + agent model

The standard architecture: a human or organizational principal signs a Permit3 message authorizing an agent to spend up to a bounded amount across supported chains, within a time window. The agent executes autonomously, using a relayer wallet for native gas and the Permit3 signature for authorization. If the signed Merkle root already commits to permits for another chain and the principal has approved Permit3 for that token there, the agent can act on that chain without a new signature.
​

This collapses a huge amount of authorization friction. Today, agentic systems either (a) hold funds themselves (which is a security liability), or (b) block on the principal to authorize each new chain or venue (which defeats the point of autonomy). Permit3 lets the principal grant scoped, time-bound, multichain authority in one signature, and the agent operates within that scope.
​

Agentic payments

A specific instance: an AI agent buying inputs or paying for services on behalf of a user. The agent might need to pay a compute vendor priced on Base, an API vendor priced on Optimism, and a data provider priced on Arbitrum. Each vendor wants USDC on their preferred chain. The user signs one Permit3 authorization when they set up the agent; the agent routes each payment to the vendor's preferred chain via the standard Permit3 + Routes flow. See our analysis of cross-chain agentic payments for the broader pattern and where Permit3 fits.
​

Intent-based trading agents

A trading agent that executes across multiple venues can use Permit3 as its inventory permission layer. The principal authorizes the agent to pull trading capital on the chains the permit covers; the agent funds intents (for example through Eco Routes) from the chain that holds the capital; a solver delivers on the destination chain, and settlement follows separately. The agent never holds user funds directly. The principal can revoke authority at any time via the Permit3 lock mode. Cross-chain intent protocols pair naturally with this pattern.
​

Merchant Checkout Across Chains

A merchant accepting stablecoin payments can offer checkout that pulls the customer's USDC from whichever chain has the cheapest gas at the moment. The customer signs one Permit3 message; the merchant's backend requests quotes from stablecoin aggregators or routing APIs such as Eco Routes, executes the pull, and funds an intent that delivers on the merchant's destination chain.
​

The customer never thinks about chains. The merchant gets paid on their preferred settlement chain. The routing logic sits in the merchant's backend and optimizes for gas, speed, or both.
​

Subscription billing

A specific variant: subscription billing. The customer signs a Permit3 permission at subscription signup, authorizing periodic pulls up to a bounded amount for the subscription term. The merchant's billing system pulls each month without requiring the customer to re-sign. If the customer wants to cancel, they invalidate the Permit3 nonce or lock the allowance. This is a close analog to card-on-file subscription billing in traditional fintech, but in a multichain stablecoin context.
​

Institutional Settlement and OTC

Institutional traders settling large-volume OTC stablecoin trades across chains benefit from Permit3 in two ways. First, the gas abstraction removes the operational overhead of maintaining native gas on every counterparty chain. Second, the single signature model makes multi-leg settlement cleaner: one Permit3 signature can authorize both the buy leg on source chain A and the sell leg on destination chain B, though each leg executes in its own transaction and the shared signature does not make them atomic.
​

For RFQ-based flows, Permit3's witness functionality is especially useful. The witness can encode the specific trade parameters (price, counterparty, quote id), and the settlement contract must check that the execution matches the signed witness, because adding a witness does not enforce those conditions on its own. Done correctly, that check stops a solver from using the signed permit for a different quote than the one the user agreed to.
​

Combining Permit3 With Programmable Addresses

Permit3 handles the permission layer. Programmable Addresses give a user an EVM address to fund, and Eco's service turns the deposit into a Routes intent. Combining them produces flows that would have been hard to express in a Permit2-only world.
​

A classic example: a merchant wants customers to pay to a single deposit address that automatically splits incoming stablecoins across multiple destinations (operating wallet, treasury vault, tax-reserve account) on different chains. Today, that split happens via manual treasury operations after the funds land. Programmable Addresses today route USDC to a Solana wallet or a Circle Gateway balance, so a multi-destination split like this would need application logic on top.
​

Another: a subscription service wants to pre-authorize a customer to pay from any chain the customer holds USDC on, with automatic settlement to a fixed operating chain. Permit3 handles the source-side permission, and the application routes funds to the operating chain; the Programmable Addresses guides list which sources and destinations each deposit flow supports. The customer signs once at subscription signup.
​

NFT and Gaming Asset Flows

Permit3 supports ERC-721 and ERC-1155 alongside ERC-20. This means NFT marketplaces and gaming platforms can authorize mixed-asset flows in a single signature. A few patterns:

  • Cross-chain NFT bids. A bidder on an Ethereum-native NFT marketplace can offer a bid paid in USDC on Base. The Permit3 signature can cover both the USDC pull on Base and the (conditional) NFT transfer on Ethereum, each executed in its own transaction when the bid is accepted.

  • Game asset migrations. A game running across multiple chains can let players authorize ERC-1155 item transfers on several chains with a single Permit3 signature, with each chain's transfer executed separately.

  • Bundle sales. An NFT bundle containing assets on multiple chains can be sold under one Permit3 signature covering all underlying transfers, though each chain's transfer is a separate transaction and the sale is not atomic.

These are forward-looking. NFT marketplaces have historically underinvested in cross-chain flows because the permission model was too painful. Permit3 removes that friction.
​

What Permit3 Does Not Solve

It is worth being clear about the limits.

  • Liquidity. Permit3 authorizes permission; it does not create liquidity. If the destination chain does not have USDC liquidity, no permission-layer trick can summon it. Pair with liquidity networking infrastructure for the capital side.

  • Finality. Each destination chain still has its own finality characteristics. Permit3 authorizes a pull; the settlement still takes whatever the chain's block-time and confirmation depth require.

  • Compliance. Permit3 is protocol infrastructure. Compliance checks (sanctions screening, transaction monitoring) happen at the spender contract layer, and teams operating in regulated contexts need to integrate compliance tooling independently.

  • Key management. A Permit3 signature is as secure as the key signing it. Principals signing high-value permissions should use hardware wallets and consider limited time windows.

The Thesis: Permit3 As Permission Layer for the Stablecoin Economy

The broader narrative: stablecoins are becoming the monetary backbone of a multichain internet economy. As stablecoin activity scales, the UX bottlenecks are less about the tokens themselves and more about the surrounding primitives, permissions, gas, settlement, routing. Permit3 is the permission-layer piece. It pairs with execution (Eco Routes), settlement (ERC-7683), and account patterns (ERC-4337, ERC-7702) to produce a full stack where stablecoins move across chains with the ease of a single swipe on a card.
​

The use cases described here are early. The protocol is live. The next twelve to twenty-four months will surface applications nobody has built yet, because they are only possible now that cross-chain token permission is a single signature.
​

FAQ

Can Permit3 be used for subscription billing?

Yes. A customer signs a Permit3 permission at subscription signup authorizing periodic pulls up to a bounded amount. The billing system pulls each cycle without requiring a new signature. Customers can cancel by invalidating the nonce or using the lock mode.
​

Is Permit3 production-ready for high-value institutional flows?

The protocol is audited by Cantina and deployed on all supported chains. For institutional use, teams layer additional controls: hardware-wallet signing, bounded time windows, witness functionality to pin specific trade parameters, and account-lock escape hatches. Individual institutions should complete their own diligence.
​

Can I combine Permit3 with ERC-7683 intents?

Yes. The two standards operate at different layers. Permit3 authorizes token movement; ERC-7683 defines a solver-facing interface for cross-chain intent protocols. A typical integration uses Permit3 to grant the solver the authority to pull funds from the source chain, and ERC-7683 to define the intent the solver is filling. Separately, the Routes API accepts a Permit3 authorization for funding an intent.
​

Does Permit3 support recurring cross-chain payments?

Yes, through time-bounded allowances and the Increase/Decrease allowance modes. A principal can sign an allowance that grows on a schedule or that the application tops up as needed. The Lock and Unlock modes add emergency-stop capability.
​

What is the smallest meaningful Permit3 use case?

A consumer wallet offering "pay with USDC from any chain" gets most of the Permit3 UX benefit with minimal integration. The wallet signs a Permit3 permission covering its routing contract; any subsequent cross-chain payment uses that permission without re-prompting the user. This is where most consumer apps will start.
​

Did this answer your question?