Apps

1Do Apps

Assets stay at the wallet while app logic enters its Runtime; each app defines an independent business model and state namespace.

4 sectionsofficial-apps
01

Current apps

02

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.
03

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.

04

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.