Autonomous tier · live on mainnet
A key that can only give things back
The median warning window on this chain is about ten minutes. No one watches a screen for that. Veltr can hold a scoped key and act inside the window — but only in the direction of less risk, and only ever returning assets to the account that granted it.
Contracts Veltr deploys
0
Every delegate below is an audited implementation already live on this chain
Scoped implementations live
3
Verified deployed on chain 4663
Worst case if the key leaks
Position closed
Not drained — funds can only move to the owner
Session key authority, as data
Reduce exposure only. Funds may move to the delegating account and nowhere else.
Permitted
- decreaseLiquidityExit an AMM position before a multiplier applies
- collectSweep the withdrawn balance back to the owner
- burnClose an emptied position
Invariants
- —Only the Uniswap V3 PositionManager may be called
- —collect is the only call that moves assets out, and its recipient is pinned on-chain to the owner
- —decreaseLiquidity and burn move nothing out; they only unwind a position in place
- —No approvals may be granted to third parties
- —No swap, mint, borrow or leverage-increasing call
- —Native value capped at zero
- —Expires after 30 days; at most 50 redemptions; revocable at any time
An unwanted position close. The key cannot move assets to an address other than the owner's.
Why EIP-7702
Your address does not change
An ERC-4337 smart account has a new address. Users would have to migrate existing liquidity and lending positions before Veltr could protect any of them — which defeats the purpose. EIP-7702 lets the account you already use delegate to contract logic while keeping its address, so Veltr acts on positions you hold today.
Why a stateless implementation
An initializer is a race
Delegation and initialization are separate transactions. An implementation requiring initialize() leaves a window in which anyone can initialize the freshly delegated account and seize it. Probing bytecode on this chain showed ZeroDev Kernel carries an initializer and the MetaMask stateless delegator does not — so the stateless one is used. There is no window to lose.
Delegate implementations on chain 4663
Implementation
Deployed
Scoping
Note
ZeroDev Kernel
0xd6CE…5b28
24,469 B
Scoped keys
Permission validators allow a key restricted to specific targets, selectors and spend caps.
MetaMask Delegator
0x63c0…E32B
11,185 B
Scoped keys
Caveat enforcers express allowed targets, allowed methods and value limits.
Alchemy Modular Account v2
0x0000…fecd
6,661 B
Scoped keys
Session key module; Alchemy is the chain's documented AA provider.
Simple7702Account
0xe6Ca…555B
3,639 B
None
Reference implementation. No permission system — unsuitable for a session key.
Reference account — live
- Address
- not configured
- Balance
- —
- Delegated
- —
- Delegate
- none
Status. Live on mainnet, and demonstrated rather than described. The reference account delegates under EIP-7702, two scoped delegations are signed, and the session key has executed a real redemption — withdrawing all liquidity from a Uniswap V3 position through the DelegationManager while the owner signed nothing. A call to any contract outside the allow-list is refused by name: AllowedTargetsEnforcer:target-address-not-allowed.