Apps
1Do Apps
Assets stay at the wallet while app logic enters its Runtime; each app defines an independent business model and state namespace.
Current apps
Dex
ReadA maker signs a full-fill order and a buyer settles token/token or token/native swaps through a transient token pull or exact native value.
NFT Market
ReadFive signed order types settle NFT/ERC-20, NFT/native, and NFT/NFT exchanges without persistent market approvals.
Flash Loan
ReadThe enabled wallet's live ERC-20 balance becomes atomic ERC-3156 liquidity, with most of the fee retained by the wallet.
Will
ReadA wallet signs beneficiaries, weights, a trigger mode, and an executor fee; assets can settle incrementally after activation.
Session Pay
ReadA grant fixes payee, asset, cumulative cap, and expiry while the session key signs only increasing payment totals.
Shared runtime model
App contracts hold reusable logic, but execution delegatecalls that logic inside a user wallet. address(this), balances, ERC-7201 state, and emitted app logs therefore belong to the wallet address, not the shared logic address.
No app requires assets to be deposited into a platform account first. Assets remain with the maker or payer until a transaction satisfies the Runtime gates and the app's signatures or trigger rules.
- Dex and NFT Market verify maker-wallet EIP-712 / ERC-1271 signatures and store fill or cancellation state in the maker wallet.
- Flash Loan is permissionlessly initiated, but lending, callback, repayment, and fee allocation must complete in one transaction.
- Will and Session Pay accept third-party executors or relayers without letting them rewrite the wallet-signed plan or grant.
- Management actions such as cancellation, heartbeat configuration, Will reset, or session revocation require a wallet self-call.
Four execution patterns
Signed orders
Dex and NFT Market keep asset terms, quantities, expiry, and nonce offchain and write state only when an order fills or is cancelled.
Transient pulls
A payer wallet permits one target to pull one bounded token amount or exact NFT only during the current call, leaving no reusable allowance.
Conditional execution
Will verifies the signature and trigger on first execution, locks a plan hash, then lets the same plan settle separate assets over time.
Bounded sessions
Session Pay does not store the full grant; each settlement resubmits it and advances an onchain cumulative total that cannot move backward.
Shared security boundaries
- Enabling an app opens its Runtime entry point; it does not create an ERC-20 allowance or ERC-721 operator approval for the logic address.
- Every call remains subject to wallet-local enablement, global Registry allowance, and the Runtime execution lock.
- Permissionless submission is not wallet-owner authority. Owner-sensitive operations still require a self-call or wallet signature.
- App state is isolated per wallet. Read state and index events in wallet context rather than treating the shared logic address as the user instance.
App logic is not a custody account
The shared logic address does not hold each user's app state or business assets. Integrations must distinguish the logic address, the executing wallet, and any counterparty wallet.