Purpose: The Pocket is an allocator-controlled multisig EOA that :
Receives user-attributed inflows from UCE via referrals.
Grants UCE pull-allowances for redemptions.
Deploys idle balances into strategies via the User Position Manager (UPM).
Pockets earn base money-market yield and may optionally act as On-Chain Clearing Houses (OCHs) by delegating credit to partnered settlement actors to capture intent fees.
1) Roles, Rights & Responsibilities
Custody: Pocket directly holds underlying assets (USDC/USDT/DAI/…); it is a whitelisted allocator address.
Attribution: Swaps with your referral code route inflows to your Pocket and consume your
reservedZeroXfirst.Settlement Readiness: Keep ERC-20 allowances from Pocket → UCE sufficiently high for fast redemptions.
Profit Sharing: Strategy fees (bps on realized profit) are sent to ORBT Treasury; allocators earn the net yield + any OCH intent fees.
2) Control Plane: UPM (User Position Manager)
UPM brokers all strategy actions for Pockets and keeps ORBT strategy integrations extensible.
UPM interface (Pocket-only entry points):
function doCall(address target, bytes data) external onlyRole(POCKET) returns (bytes result);
function doBatchCalls(address[] targets, bytes[] datas) external onlyRole(POCKET) returns (bytes[] results);
function doDelegateCall(address target, bytes data) external onlyRole(POCKET) returns (bytes result);Setup checklist
Governance grants POCKET role on UPM to your Pocket address.
ORBT strategy contracts whitelist your Pocket (governance on strategy).
Pocket sets sane allowances:
To UCE (for redemptions/pulls).
To strategy (for aToken transfers on withdraw paths).
3) Two Deployment Modes
A) Supply-Only (Money Market Yield)
Pocket supplies idle funds into ORBT’s Money Market Strategy (Aave v3 adapter) through UPM.
Earns baseline deposit yield; liquidity stays withdrawable on demand for settlements.
High-level call
Default Money-Market Supply Entrypoint (Pocket → UPM → OrbtMMStrategy)
Supply function to call (default strategy):
OrbtMMStrategy.supply(address aToken, address pocket, uint256 amount)Must be invoked via UPM so that
onlyUPMpasses on the strategy.
Call pattern (Pocket is the caller):
Pre-requisites (one-time / per-asset):
Whitelist: Governance has whitelisted your
pocketon the strategy (isPocketWhitelisted[pocket] = true).UPM Role: Governance granted your
pocketthePOCKETrole onUPM.Allowances:
Pocket → OrbtMMStrategy:
IERC20(UNDERLYING).approve(orbtMMStrategy, amount)(Strategy pulls the underlying from the Pocket before depositing.)
aToken selection: Use the aToken that corresponds to the underlying you’re supplying; the strategy infers:
IAaveToken(aToken).UNDERLYING_ASSET_ADDRESS()→ underlying ERC-20IAaveToken(aToken).POOL()→ Aave v3 pool
What the strategy does:
Pulls
amountof underlying from yourpocket.Deposits to Aave v3 on behalf of
pocket(ILendingPool.deposit(...)).Increments internal principal ledger for
pocket/aToken.Emits
Supplied(pocket, amount).
Related exits & OCH hooks (for completeness):
Withdraw underlying back to the Pocket:
withdrawFromPocket(aToken, pocket, amount, to)orwithdrawAllFromPocket(aToken, pocket, to)(via UPM).Delegate credit (OCH flow):
approveDelegationFromPocketWithSig(...)ordelegationFromPocketWithSig(...)(via UPM).
B) OCH (On-Chain Clearing House) via Credit Delegation
Pocket supplies to Aave and delegates variable debt to a partnered intent solver.
Solver borrows against Pocket’s credit line to settle intents instantly; repays shortly after from inflows.
Pocket earns intent settlement fees + deposit APY (minus strategy fee on profit).
High-level calls
(Delegation details on the Money Market.)
Risk note: Pocket bears borrower default risk up to delegated limit. Set delegation caps conservatively, monitor health factors and utilization.
4) Operational Checklist (Pocket)
Referrals: Distribute your referral code; maintain
reservedZeroXto serve your users instantly.Allowances: Keep UCE pull-allowances high; avoid redemption failures.
Liquidity Split: Respect UCE reserveBps on inbound (held on UCE); rest flows to Pocket.
Strategy Usage: Use UPM to supply, withdraw, and (optionally) delegate credit.
Monitoring: Track aToken balances, principal, fee bps, outstanding delegations, and UCE reserve/utilization metrics.
Last updated