Documentation Index
Fetch the complete documentation index at: https://docs.usecompassai.com/llms.txt
Use this file to discover all available pages before exploring further.
On Arc, USDC pays for gas directly. Compass UserOps on Arc need no paymaster, no second-token balance, and no swap workaround. On other supported chains, a paymaster bridges the gap — and one specific step in the cross-chain pipeline goes around it entirely.This page covers the gas model Compass uses across chains. For the cross-chain pipeline that’s affected by it, see Four-step pipeline.
The two-token problem on other EVMs
The usual EVM gas model creates an awkward situation for any account that holds one token and needs another for gas:- The user (or agent) holds USDC for yield.
- Every transaction requires the chain’s native gas token (typically ETH on most L2s).
- So the account needs a parallel ETH balance to keep functioning.
- Or it needs an on-chain swap path to convert USDC to ETH when low.
- Or it relies on a paymaster contract to sponsor gas and reimburse itself from the account’s USDC.
Arc removes the problem
Arc treats USDC as a native gas token. Transactions on Arc denominate gas in USDC directly. For Compass UserOps on Arc:paymasterAndDataon the UserOp is empty.- The ERC-4337 EntryPoint deducts gas from the sender Diamond’s USDC balance.
- No paymaster contract sits in the path.
- No second-token balance to manage.
What this looks like per chain
| Chain | Gas model | Paymaster on UserOps | Source of gas |
|---|---|---|---|
| Arc | USDC native | None | Diamond’s USDC balance |
| Other supported chains | Native gas token (ETH or similar) | Yes — sponsors gas, reimbursed in USDC | Diamond’s USDC balance (via paymaster) |
The one step paymasters can’t cover
There is one specific situation where even a paymaster won’t work: step 3 of the cross-chain pipeline — thegatewayMint call on the
destination chain.
At the moment of that call, the destination Diamond has zero USDC. It
is about to receive USDC from the mint. A paymaster contract would
sponsor the gas, but there is nothing to reimburse it from post-execution.
Compass handles this by making gatewayMint an EOA transaction from
the session key directly, not a UserOp. The session key holds a small
native-gas float on each non-Arc destination chain specifically for these
mint calls.
A few properties of this setup:
- The float is small — a single
gatewayMintis cheap, and the session key only does this when a route lands on that chain. - The float is the session key’s, not the user’s. Users never have to manage gas tokens on any chain.
- After the mint settles, step 4 (the actual venue call) goes through the Diamond + paymaster as normal.
- Arc destinations skip this entirely —
gatewayMinton Arc pays its gas in USDC just like any other call, so the same step uses a UserOp.
Why this matters for the architecture
The “agent only needs one token” property isn’t unique to Compass — plenty of paymaster-based account systems offer it. What Arc adds is the ability to deliver that property with no paymaster trust assumption at all for the chain Compass calls home. For everything that happens on Arc — account deployment, policy updates, session-key registration, position management when the position lives on Arc — there is no intermediary contract sponsoring gas. The Diamond pays its own gas in the same token it holds. This is the simplest possible shape for an ERC-4337 account, and Arc is what makes it possible. The cross-chain steps still need paymasters for the non-Arc legs. That’s a chain property, not a Compass property — until other chains adopt native stablecoin gas, the paymaster workaround stays.Next steps
Four-step pipeline
Where the EOA-tx exception in step 3 fits.
Circle Gateway
The cross-chain primitive whose mint step requires this gas model.
Diamond account
The Account4337 facet that handles UserOps with or without a paymaster.
System overview
Back to the three-layer picture.