Symmio Explorer
Home
Positions
Inspector
Decoder
Analytics
Overview
Networks
Solvers
Frontends
Toggle Sidebar
Explorer
Ctrl
K
Loading explorer
Loading inspector
Arbitrum
v0.8.5
Arbitrum One
Core
AccountLayer
InstantLayer
Caller not connected
Connect wallet
Loading inspector deployment
Filters
All
Read
Write
Privileged
Muon
107 methods
Accounts · Sub & Virtual
12
Sub-account creation and lifecycle, virtual-account creation, deposits and allocations, and per-account `_call` routing into the core.
_call
write
facet · Core
Executes a batch of Symmio core calls on behalf of an account, routing send-quote calls into the appropriate virtual account based on the sub-account's isolation type.
0xbd367d8e
createCustomVirtualAccount
write
facet · Core
Manually creates (or reuses) a virtual account under a `CUSTOM`-isolation sub-account.
0x247bca56
createSubAccounts
write
facet · Core
Creates one or more sub-accounts under an affiliate at deterministic addresses, each scoped to a specific Symmio core and isolation strategy.
0x817ed7f6
deleteSubAccount
write
facet · Core
Deletes a sub-account once it is fully drained on the related Symmio core.
0xaac271ed
depositAndAllocateForAccount
write
facet · Core
Deposits collateral and immediately allocates it to a sub-account or virtual account owned by the caller.
0x31e69d2d
depositAndAllocateForAccountWithExpressRate
write
facet · Core
Deposits and allocates collateral while routing the express portion to the affiliate's virtual provider.
0x3ddda9bf
depositForAccount
write
facet · Core
Deposits collateral into the Symmio core for a sub-account or virtual account owned by the caller.
0x342fcda9
depositForAccountWithExpressRate
write
facet · Core
Deposits collateral and splits it between the Symmio core and the affiliate's virtual provider according to its express rate.
0xec8db7b3
editAccountName
write
facet · Core
Renames a sub-account.
0xd9c2337c
executeForAccount
write
facet · Core
Hook-side entry point that lets an affiliate's hook contract execute a whitelisted Symmio call as the account that triggered the hook.
0xd0ac5336
importLegacyAccounts
write
facet · Core
Imports accounts from a registered legacy MultiAccount contract into the AccountLayer as `CUSTOM`-isolation sub-accounts owned by the caller.
0x7e0a6cda
setSingleVAMode
write
facet · Core
Toggles single-virtual-account mode on a sub-account, so subsequent send-quote calls reuse one virtual account per `(isolationType, symbolId)` instead of opening fresh ones.
0xea534d2a
Margin
4
Move margin between virtual accounts and recover margin in emergency flows.
addMargin
write
facet · Margin
Moves deposit balance from a virtual account's parent sub-account into the virtual account's allocated balance.
0xcf70cb69
addMarginToNextVA
write
facet · Margin
Pre-funds the next virtual account that will be created for a given `(isolationType, symbolId)` key under a sub-account.
0xa6d66852
emergencyRecoverMargin
write
facet · Margin
Recovers stranded balance from a virtual account address that was never (or no longer is) registered, returning the funds to the parent sub-account.
0x3279017f
removeMargin
write
facet · Margin
muon · SingleUpnlSig
Withdraws margin from a virtual account back to its parent sub-account's deposit balance.
0x5ce56265
Affiliate
21
Affiliate registration, admin transfers, fee-distribution updates, hook and operator configuration, and fee claims.
acceptAdminTransfer
write
facet · Affiliate
Completes a pending admin transfer, called by the proposed new admin.
0xe1eae199
approveAffiliate
write
facet · Affiliate
Approves a `PENDING` affiliate, deploying its AccountManager proxy and registering it on each whitelisted Symmio core.
0xf0547bc8
approveFeeUpdate
write
facet · Affiliate
Approver-side acceptance of a pending fee update, after sweeping any unclaimed fees under the old configuration.
0x1b037acd
callAsAffiliate
write
facet · Affiliate
Executes a whitelisted Symmio core call with the affiliate installed as the temporary signer.
0x14f3183d
cancelAdminTransfer
write
facet · Affiliate
Cancels a pending admin transfer proposal.
0xca8c04e7
cancelFeeUpdate
write
facet · Affiliate
Cancels a pending fee-distribution update.
0x1971efbf
cancelRegistration
write
facet · Affiliate
Withdraws a `PENDING` affiliate registration before approval.
0x6bdc06f5
claimAllFees
write
facet · Affiliate
Claims an affiliate's full claimable fee balance on a given Symmio core and distributes it to stakeholders.
0x656a4af8
claimFees
write
facet · Affiliate
Claims a chosen amount of an affiliate's fee balance on a given Symmio core and distributes it to stakeholders.
0xceca23f1
pauseAffiliate
write
facet · Affiliate
Pauses an `ACTIVE` affiliate, blocking new sub-account creation and other admin-gated flows under it.
0x7bdca1a8
proposeAdminTransfer
write
facet · Affiliate
Initiates a two-step transfer of the affiliate admin role to a new address.
0x74202f0e
rejectRegistration
write
facet · Affiliate
Approver-side rejection of a `PENDING` affiliate registration.
0x38265424
removeHook
write
facet · Affiliate
Removes the hook contract bound to a function selector on an affiliate.
0x8b8388fa
requestFeeUpdate
write
facet · Affiliate
Requests a new fee-distribution configuration for an affiliate, gated behind approver review.
0x8a3db2cd
requestToRegisterAffiliate
write
facet · Affiliate
Submits a registration request for a new affiliate (frontend or broker), creating a `PENDING` record at a deterministic address.
0xaa9688b4
setExpressRate
write
facet · Affiliate
Sets the express deposit rate that controls how express-rate deposits are split between Symmio and the affiliate's virtual provider.
0x908c5629
setHook
write
facet · Affiliate
Installs an account-layer hook contract for a specific function selector on an affiliate.
0x4f55e2db
setOperator
write
facet · Affiliate
Grants or revokes a delegated operator's permission to invoke a specific selector via `callAsAffiliate`.
0xd8dc70b2
setVirtualProvider
write
facet · Affiliate
Sets the virtual provider contract that receives the express portion of an affiliate's deposits.
0xe1efa295
unpauseAffiliate
write
facet · Affiliate
Returns a `PAUSED` affiliate to `ACTIVE`.
0x391a4df9
updateAffiliateDetails
write
facet · Affiliate
Updates the display name and brand color of an `ACTIVE` affiliate.
0x271fdf19
Hooks
6
Protocol callbacks invoked by the core during quote and position lifecycle events.
onCancelQuote
write
facet · SymmioHook
Diamond-invoked hook fired when a quote is cancelled; clears it from the virtual account and may trigger deletion.
0xb1c10b1a
onCloseExpired
write
facet · SymmioHook
Diamond-invoked hook fired when a close request expires or is force-cancelled; intentionally a no-op at the account layer.
0xb2c6bed5
onClosePosition
write
facet · SymmioHook
Diamond-invoked hook fired when a Symmio position closes; clears the quote from the virtual account and triggers automatic deletion when the account has no remaining quotes.
0xff2418df
onFeeCharged
write
facet · SymmioHook
Diamond-invoked hook fired whenever Symmio charges a fee; intentionally a no-op at the account layer.
0x8a0b5b77
onLiquidationSettled
write
facet · SymmioHook
Diamond-invoked hook fired after a partyA's liquidation has been fully settled; finalizes any virtual-account deletion that was deferred during the liquidation.
0x14da22f1
onOpenPosition
write
facet · SymmioHook
Diamond-invoked hook fired when a Symmio position opens; intentionally a no-op at the account layer.
0x9734efb6
Protocol Control
12
Governance and operations: ownership, roles, pause controls, fee receiver, whitelists, and AccountManager implementation.
acceptOwnership
write
facet · Control
pending owner
Completes the two-step diamond ownership transfer, called by the pending owner.
0x79ba5097
addSymmioCoreToAffiliate
write
facet · Control
APPROVER_ROLE
Attaches an additional whitelisted Symmio core to an `ACTIVE` affiliate and registers the affiliate on that core.
0x3f2c69fd
cancelOwnershipTransfer
write
facet · Control
owner
Cancels a pending diamond ownership transfer.
0x23452b9c
pause
write
facet · Control
PAUSER_ROLE
Pauses the AccountLayer diamond, blocking all state-changing entry points guarded by `whenNotPaused`.
0x8456cb59
setAccountManagerImplementation
write
facet · Control
SETTER_ROLE
Replaces the AccountManager proxy bytecode used when approving new affiliates.
0xa2f9588e
setCallAllowedSelectors
write
facet · Control
SETTER_ROLE
Configures which Symmio core selectors an affiliate may invoke via `callAsAffiliate`.
0xc39ad967
setHookAllowedSelectors
write
facet · Control
SETTER_ROLE
Configures which Symmio core selectors an affiliate's hook may invoke through `executeForAccount` while a hook context is active.
0xac3b09b0
setSigner
write
facet · Control
SIGNER_SETTER_ROLE
Sets the diamond's `globalSigner`, which overrides `msg.sender` during account-layer-mediated calls.
0x6c19e783
setSymmioFeeReceiver
write
facet · Control
SETTER_ROLE
Sets the address that receives Symmio's share of fees during affiliate fee distribution.
0x957d6d5e
setWhitelistedSymmioCore
write
facet · Control
SETTER_ROLE
Adds or removes a Symmio core diamond from the whitelist that affiliates may register against.
0x254681b8
transferOwnership
write
facet · Control
owner
Initiates a two-step transfer of the AccountLayer diamond ownership.
0xf2fde38b
unpause
write
facet · Control
UNPAUSER_ROLE
Lifts the global AccountLayer pause and restores normal operation.
0x3f4ba83a
Views
38
Read-only getters for sub-accounts, virtual accounts, affiliates, roles, and AccountLayer configuration.
accountManagerImplementation
view
facet · View
Returns the AccountManager proxy bytecode currently used when approving new affiliates.
0x5cbd1245
decodeQuoteParams
pure
Decodes raw `sendQuote` calldata into a normalised `QuoteParams` struct, dispatching on the leading function selector.
0xcdb12f53
dryClaimAllFees
view
facet · View
Simulates a fee claim for an affiliate against a given Symmio core, returning the per-stakeholder distribution without mutating state.
0xe5546ea1
generateAccountManagerAddress
view
facet · View
Computes the AccountManager address that the next call to `requestToRegisterAffiliate` from `registrant` with `name` would produce.
0x9f8075ef
getActiveVAByKey
view
facet · View
Returns the active virtual account currently bound to a `(subAccount, isolationType, symbolId)` key under single-VA mode.
0x6deab385
getAffiliateAdmin
view
facet · View
Returns the admin address authorised to manage an affiliate.
0xe28bce28
getAffiliateExpressRate
view
facet · View
Returns the share of express deposits routed to the affiliate's virtual provider, denominated in `1e18` precision.
0xc830f3f5
getAffiliateFeeDistributor
view
facet · View
Returns the deterministic fee distributor address the affiliate uses to claim fees from Symmio cores.
0xbaa857cf
getAffiliateStakeholders
view
facet · View
Returns the affiliate's fee stakeholders along with their share weights.
0xf854bbf3
getAffiliateState
view
facet · View
Returns an affiliate's lifecycle state (`NONE`, `PENDING`, `ACTIVE`, or `PAUSED`).
0x2cd6860e
getAffiliateSymmioCores
view
facet · View
Returns the Symmio core diamonds the affiliate is registered against.
0x4a9e3794
getAffiliateSymmioShare
view
facet · View
Returns Symmio's share of the affiliate's fees, denominated in `1e18` precision.
0x5554c24d
getHook
view
facet · View
Returns the hook contract bound to a `(affiliate, selector)` pair, or the zero address when none is set.
0x2a6cf20a
getLegacyAccountsOfUser
view
facet · View
Aggregates a user's legacy MultiAccount holdings across every registered legacy contract, flagging which ones have already been imported.
0x9d479c52
getLegacyMultiAccounts
view
facet · View
Returns every legacy MultiAccount contract currently registered with the AccountLayer.
0xe3265093
getRelatedCore
view
facet · View
Returns the Symmio core diamond an account is bound to.
0xc3b5342b
getSigner
view
facet · View
Returns the effective signer the account layer resolves for the current call: `globalSigner` when set, otherwise `msg.sender`.
0x7ac3c02f
getSubAccount
view
facet · View
Returns the full detail record for a sub-account.
0x3f24b714
getSubAccountsCountOfUser
view
facet · View
Returns the total number of sub-accounts owned by a user.
0x83be281c
getSubAccountVirtualNonce
view
facet · View
Returns a sub-account's current virtual-account creation nonce; the next freshly minted virtual account uses `nonce + 1`.
0xf14c2608
getUserSubAccounts
view
facet · View
Returns a paginated slice of a user's sub-accounts as full detail records.
0x5211640a
getUserSubAccountsAddresses
view
facet · View
Returns a paginated slice of a user's sub-account addresses.
0x83a08b8f
getVirtualAccount
view
facet · View
Returns the full detail record for a virtual account.
0xb4626376
getVirtualAccountQuoteIds
view
facet · View
Returns a paginated slice of the open quote ids tracked by a virtual account.
0xd635e6e2
getVirtualAccountsAddressesOfSubAccount
view
facet · View
Returns a paginated slice of a sub-account's active virtual account addresses.
0x1029269e
getVirtualAccountsCountOfSubAccount
view
facet · View
Returns the number of active virtual accounts under a sub-account.
0xc7b112fa
getVirtualAccountsOfSubAccount
view
facet · View
Returns a paginated slice of a sub-account's active virtual accounts as full detail records.
0xf3d1997c
globalNonce
view
facet · View
Returns the AccountLayer's global nonce used to derive new sub-account and fee-distributor addresses.
0x37e23222
isLegacyMultiAccount
view
facet · View
Reports whether an address is a registered legacy MultiAccount contract eligible for `importLegacyAccounts`.
0x9e7132f3
isOperator
view
facet · View
Reports whether an address is authorized to invoke a specific selector via `callAsAffiliate` for an affiliate.
0x08217281
isWhitelistedSymmioCore
view
facet · View
Reports whether a Symmio core diamond is on the AccountLayer's whitelist.
0xa09abb1c
MAX_NAME_LENGTH
view
facet · View
Maximum byte length permitted for account and affiliate names.
0x86074985
owner
view
facet · View
Returns the current owner of the AccountLayer diamond.
0x8da5cb5b
ownerOf
view
facet · View
Returns the owner of an account, looking through sub-account, virtual-account, and legacy MultiAccount records.
0x14afd79e
paused
view
facet · View
Reports whether the AccountLayer diamond is globally paused.
0x5c975abb
pendingOwner
view
facet · View
Returns the address staged for ownership transfer in the two-step handover.
0xe30c3978
predictNextVirtualAccountAddress
view
facet · View
Computes the address that the next virtual account for a given key will occupy, mirroring the resolution order used by `addMarginToNextVA` and the send-quote routing.
0x06232f2e
symmioFeeReceiver
view
facet · View
Returns the address that receives Symmio's share of affiliate fees.
0x0ea782c7
Roles
9
Role constants — bytes32 identifiers used as the first argument to grant/revoke/hasRole.
APPROVER_ROLE
0x408a36151f841709116a4e8aca4e0202874f7f54687dcb863b1ea4672dc9d8cf
DEFAULT_ADMIN_ROLE
0x1effbbff9c66c5e59634f24fe842750c60d18891155c32dd155fc2d661a4c86d
DEPLOYER_ROLE
0xfc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c
DISTRIBUTOR_ROLE
0xfbd454f36a7e1a388bd6fc3ab10d434aa4578f811acbbcf33afb1c697486313c
INSTANT_LAYER_ROLE
0x35840de5329674db6a72911f240fcc633523b1c81c1f5950ef9a6ece6e42f09a
PAUSER_ROLE
0x65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a
SETTER_ROLE
0x61c92169ef077349011ff0b1383c894d86c5f0b41d986366b58a6cf31e93beda
SIGNER_SETTER_ROLE
0x14d28372571b41a35916dec648e4534784630313f63056bcd0cca23cf08708ba
UNPAUSER_ROLE
0x427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a
Role Management
5
Grant, revoke, and inspect role assignments via the OpenZeppelin AccessControl interface.
grantRole
write
facet · Control
role admin
Grants an AccountLayer role to a user.
0xab2742dc
hasRole
view
facet · View
Reports whether an address has been granted a role on the AccountLayer diamond.
0xac4ab3fb
isRoleAdmin
view
facet · View
Reports whether an address can grant or revoke a specific role.
0x904fa60d
revokeRole
write
facet · Control
role admin
Revokes an AccountLayer role from a user.
0x208dd1ff
setRoleAdmin
write
facet · Control
DEFAULT_ADMIN_ROLE
Adds or removes an address as a role admin for a specific role.
0xb767ff29