Swagger

Deployed contracts

The addresses an operation touches on supported mainnets.

Published addresses

The contracts an operation touches on supported mainnets. Integrate against these addresses; the Paymaster is a proxy whose backing contract can be upgraded.

UGTP Paymaster

Pays the network for an operation on the UserOperation rail and collects gas plus the UGTP fee from the transferred asset. Integrate against this proxy address; the contract behind it can be upgraded.

0x49f26881b5EA4d3F3d451C7faA4BCa1B4AeBCD97

EntryPoint v0.9

Third-party, not ours: the canonical eth-infinitism EntryPoint v0.9 singleton, which executes UserOperations on the UserOperation rail. Same address on every network that carries the rail.

0x433709009B8330FDa32311DF1C2AFA402eD8D009

Account delegate

Third-party, not ours: eth-infinitism's canonical Simple7702Account v0.9 implementation, which is the code an EIP-7702 account adopts. A delegated account's on-chain code is the 0xef0100 prefix followed by this address, which is what GET /account/delegation-status reports as the delegate. UGTP verifies the runtime bytecode at this address against the approved implementation before it builds an operation for the account.

0xa46cc63eBF4Bd77888AA327837d20b23A63a56B5

Avalanche executor

Executes an account-signed EIP-712 execution request on Avalanche C-Chain, where EIP-7702 does not exist. It pulls the ERC-20 fee against an allowance the account granted once, so it moves nothing the account has not approved for it.

0xA7C8776C6ac6f21eC923321793F62A4887f9E767

Encrypted-token converter

The EncryptedERC contract in converter mode: it wraps a supported public ERC-20 1:1 into its encrypted form and back. Deposits, private transfers and withdrawals are all calls to this address. One converter serves every private token on the network — the underlying binds on its first deposit — so it is also the spender a deposit's allowance is granted to. Read it from GET /private/tokens rather than pinning it here; a redeployment moves it and the registry moves with it.

0x10dFB26576d490FF985f61B4Ec3F8DA65aF7B656

Encrypted-token registrar

Binds an address to the public key its private balances are encrypted under. A registration is a call to this address, and its isUserRegistered(address) view is the public read that tells a client whether an account — or a transfer recipient — can hold a private token yet.

0x906FAF1D7AD681c92E37B4843A18c56a56f0c85d