Close-up of hardware security key on desk, laptop with security setup guide, home office background, cryptocurrency security ritual.
Protocols

Multisig and Account Abstraction Implementation Patterns

A technical walkthrough for teams building multisig wallets or implementing account abstraction on Sui, covering shared object patterns, PTB signing, and Move module security.
introduction
MULTISIG AND ACCOUNT ABSTRACTION ON SUI

Introduction

A technical walkthrough for teams building multisig wallets or implementing account abstraction on Sui, highlighting the non-trivial differences from EVM-based patterns.

Building a multisig wallet or implementing account abstraction (AA) on Sui requires a fundamental shift in design philosophy away from the EVM's msg.sender-centric model. In Sui, there is no single initiating account for a transaction. Instead, a Programmable Transaction Block (PTB) can be authorized by multiple signers, each with their own key, and the execution context is defined by the objects and Move modules involved. This architecture makes native, multi-party operations possible but introduces unique challenges for signature verification, state management, and transaction construction that are not present in ERC-4337 or Safe-style contracts.

The canonical pattern for a shared wallet on Sui is to represent the wallet itself as a shared object with an access_control or policy field defining the set of authorized signers and a threshold. A PTB is then constructed to interact with this shared object, and the Move module's logic verifies that the cryptographic proofs (signatures) attached to the PTB satisfy the wallet's policy before executing a transfer or other privileged operation. This inverts the EVM model: instead of the wallet contract checking msg.sender against a stored mapping, the Sui wallet module checks the transaction's authorizing signatures against its own stored policy, a pattern that requires careful handling of signature nonces and replay protection.

Security considerations for this model are distinct. The signature verification logic inside the Move module is a critical trust boundary; a flaw here can allow unauthorized access to all funds in the shared wallet. Additionally, the composability of PTBs means a single user-visible action could be bundled with malicious commands if the wallet's front-end does not rigorously simulate and display the full state change. Teams implementing multisig or AA on Sui must audit both the on-chain module logic for signature and policy enforcement and the off-chain PTB construction and simulation pipeline to prevent transaction injection attacks. Chainscore can audit multisig and AA module implementations, reviewing the Move code for authorization logic flaws and the integration architecture for PTB composability risks.

MULTISIG AND AA PATTERNS

Quick Facts

Key operational and security differences between Sui multisig/AA patterns and EVM-based implementations that affect wallet, custody, and protocol teams.

AreaWhat changesWho is affectedAction

Signature Aggregation

Multiple signers authorize a single Programmable Transaction Block (PTB) off-chain; the aggregated signature is submitted on-chain, not a contract-enforced loop.

Wallet teams, custodians, front-end developers

Review off-chain signature collection and PTB construction logic for race conditions and incomplete signing.

Shared Object Wallet Pattern

A shared Move object acts as the 'wallet' holding assets, with access control logic in its module, unlike a singleton contract.

Protocol architects, multisig wallet developers

Audit the Move module's access control functions for reentrancy-like bugs and dynamic field safety.

Signature Verification Location

Signature checks happen inside a Move function using sui::ecdsa_k1 or similar, not at the protocol's native transaction authentication layer.

Security auditors, smart contract developers

Verify correct use of ecrecover and strict compliance with nonce and domain separator patterns to prevent replay.

Transaction Atomicity

All commands in a PTB execute atomically; a multisig operation can atomically swap and transfer without a separate approval step.

DeFi protocol integrators, exchange teams

Simulate full PTBs to detect malicious command injection and display all internal state changes before signing.

Gas Payment

Gas can be paid from a different object than the signer's, enabling sponsored transactions for multisig operations.

Infrastructure providers, gas station operators

Validate gas coin selection logic to prevent failures during epoch changes or high gas price spikes.

Key Management

Sui supports multiple key schemes (Ed25519, ECDSA Secp256k1, Secp256r1) natively, allowing diverse signer configurations.

Custodians, hardware wallet vendors

Confirm compatibility with all required key schemes and test cross-scheme aggregated signature verification.

Upgradeability

Multisig module logic can be upgraded if the package upgrade policy allows, potentially changing access control rules.

Governance delegates, end-users, risk teams

Monitor upgrade events for multisig packages and verify the new module's logic does not introduce backdoors.

technical-context
OBJECT-CENTRIC VS. ACCOUNT-CENTRIC AA

Architectural Divergence from EVM Account Abstraction

Sui's native object model and Programmable Transaction Blocks create a fundamentally different account abstraction paradigm than ERC-4337, requiring builders to rethink multisig construction, signature aggregation, and wallet architecture.

On Sui, account abstraction is not an overlay on top of an externally-owned account (EOA) but a native consequence of the object-centric data model. Unlike EVM-based AA standards like ERC-4337, which introduce a separate UserOperation mempool and a bundler role to emulate smart accounts from EOAs, Sui treats every transaction as a Programmable Transaction Block (PTB) that can be authorized by multiple signers across multiple objects in a single atomic execution. This eliminates the need for a bundler infrastructure entirely but introduces a new set of design constraints: a multisig wallet on Sui is typically implemented as a shared object that multiple parties can interact with, rather than a singleton contract that validates signatures against a single entry point.

The operational divergence is most acute in signature verification and key management. In the EVM model, a smart account validates one or more signatures against a single validateUserOp function. On Sui, a PTB can touch dozens of objects, each with its own ownership and permission model. A multisig implementation must therefore manage multiple signers for a single PTB, often by using a shared Multisig object that collects approvals from individual signers before executing a batch of commands. This pattern shifts the security boundary: the Move module must correctly enforce that only the aggregated threshold of signers can authorize state changes, and that partial approvals cannot be replayed across different PTBs. Builders must also handle the case where a signer's key rotates or an approval expires, which has no direct analog in the static UserOperation lifecycle.

For teams migrating from EVM-based AA or building new multisig infrastructure on Sui, the review surface includes PTB command construction, shared-object approval state management, and gas coin sponsorship logic. Chainscore Labs can audit multisig and AA module implementations to verify that signature verification is correctly scoped to the intended PTB, that approval state transitions are atomic and non-replayable, and that the integration with Sui's gas sponsorship and transaction finality model does not introduce liveness or safety risks.

MULTISIG AND ACCOUNT ABSTRACTION PATTERNS

Affected Actors and Integration Impact

Wallet Builders

Multisig and AA implementations on Sui require a fundamental shift from EVM patterns. Wallets must manage multiple signers for a single Programmable Transaction Block (PTB) and handle the shared object that acts as the wallet's state.

Key Actions:

  • Implement secure PTB construction that collects signatures from multiple parties before execution.
  • Design UX flows that clearly display the full, final state change of a multi-command PTB for approval by each signer.
  • Audit the Move module's signature verification logic to ensure it correctly validates Ed25519 or Secp256k1 signatures against the intended signers.
  • Test gas coin management when a sponsored transaction is combined with a multisig operation.

Chainscore can audit your multisig module's signature aggregation and PTB simulation display logic.

implementation-impact
MULTISIG AND ACCOUNT ABSTRACTION ON SUI

Implementation Patterns and Workflow Examples

Practical workflows for building and integrating non-custodial multisig wallets and account abstraction patterns on Sui, addressing the unique challenges of Programmable Transaction Blocks, shared object wallets, and Move-based signature verification.

01

Shared Object Wallet Pattern

Implement a multisig wallet as a shared object to manage collective authority over assets. This pattern allows multiple signers to approve a Programmable Transaction Block (PTB) by submitting their signatures to the shared wallet object. The wallet's Move module verifies the aggregated signatures and executes the PTB atomically. This is the foundational pattern for team treasuries and DAO-operated accounts on Sui, replacing the need for a single externally-owned account.

02

Multi-Signer PTB Construction

Design a secure off-chain workflow for constructing and simulating a PTB before gathering signatures. The first signer builds the transaction, which is then simulated to produce a digest of its effects. This digest is presented to all other signers for approval. This step is critical for preventing transaction simulation spoofing, where a malicious UI could show one outcome while the signed transaction performs another. Wallets must display the full, final state changes for user verification.

03

On-Chain Signature Verification

Move the signature verification logic into the Move module itself, rather than relying on native client-side checks. The module should accept a list of signer addresses and their corresponding signatures, then verify them against the transaction digest. This pattern allows for custom threshold schemes (e.g., 2-of-3, 3-of-5) and is the core of Sui's account abstraction, where the smart contract defines the authorization rules, not the key pair.

04

Sponsored Transaction Integration

Combine multisig operations with sponsored transactions to abstract gas payments away from the signers. A gas station service can pay for the transaction, allowing signers to interact with the multisig wallet without holding SUI for gas. The implementation must handle the edge case where a multisig transaction fails on-chain after the sponsor has paid for gas, requiring a robust accounting and reimbursement model between the sponsor and the multisig wallet.

05

Epoch-Boundary Safety for Signing Sessions

Account for Sui's epoch changes during a prolonged multisig signing session. A transaction constructed in one epoch may become invalid in the next if it references objects by their version. Implement a pattern where the multisig wallet logic can accept a transaction with a stale object reference and atomically update it within the same PTB, or design the off-chain coordinator to detect an epoch change and rebuild the transaction before final signature collection.

06

Chainscore Multisig Audit

Chainscore Labs can perform a comprehensive security review of your multisig and account abstraction module. The audit covers Move module logic for signature verification, authorization flaws, PTB composability risks, and the security of the off-chain coordination protocol. We provide a detailed report with actionable remediation steps to ensure your shared wallet implementation is secure against both on-chain exploits and social engineering attacks.

MULTISIG AND ACCOUNT ABSTRACTION RISK ASSESSMENT

Security Considerations and Risk Matrix

Evaluates the distinct security failure modes introduced by Sui's object-centric multisig and account abstraction patterns compared to EVM-based implementations. Helps builders and auditors identify risks in signature verification, shared object management, and programmable transaction block (PTB) authorization.

RiskFailure modeSeverityMitigation

Incorrect Signer Validation in Move

A multisig module fails to correctly validate the number of distinct signers for a PTB, allowing a single signer to authorize a multi-party transaction.

Critical

Audit the tx_context::sender and signer counting logic. Use formal verification on the authorization module.

Shared 'Wallet' Object Access Control

A shared object acting as a wallet is accessed by an unauthorized party due to a missing or flawed access control check in a public function.

Critical

Enforce strict access control with explicit signer checks. Avoid dynamic authorization patterns that can be manipulated.

Signature Replay Across PTBs

A signature intended for one PTB is replayed on a different PTB due to a missing or weak nonce or transaction digest binding in the Move module.

High

Bind the signature to the tx_context::digest and a strictly incrementing on-chain nonce. Verify this binding in the Move module.

Gas Coin Exhaustion via Spam

An attacker spams the shared wallet object with invalid signature attempts, causing the gas coin to be drained through failed transaction costs.

Medium

Implement a gas station or sponsored transaction model. Require a small deposit from the caller that is consumed on failure.

Dynamic Field Injection on Wallet Object

An attacker attaches a malicious dynamic field to the shared wallet object, which is then incorrectly parsed by an off-chain service or front-end, leading to a UI-based attack.

Medium

Off-chain services must strictly validate the structure of the wallet object and ignore unexpected dynamic fields. Avoid on-chain logic that iterates over all dynamic fields.

Epoch Boundary Race Condition

A multisig operation spanning an epoch boundary fails because the shared wallet object's version or the consensus commit changes, causing a transaction to be rejected.

High

Design PTB construction to be resilient to epoch changes. Implement retry logic in the client that re-fetches the latest object version and re-submits.

Unbounded Loop in Signer Iteration

A function iterating over a list of signers or public keys hits a gas limit or causes a transaction timeout if the list is unbounded, creating a denial-of-service vector.

Medium

Enforce a strict, low maximum number of signers in the Move module. Use a fixed-size data structure where possible.

Upgradeable Module Key Compromise

The UpgradeCap for the multisig or AA module is stolen or misused, allowing an attacker to push a malicious upgrade that steals all assets controlled by the module.

Critical

Secure the UpgradeCap in a robust multisig or burn it to make the package immutable. Chainscore can audit the upgrade path security.

MULTISIG AND ACCOUNT ABSTRACTION DEPLOYMENT

Integration Rollout and Audit Checklist

A structured checklist for teams preparing to deploy a Sui multisig wallet or account abstraction module. Each item identifies a critical integration or security property, explains why it matters in Sui's object-centric and PTB-based execution model, and specifies the signal or artifact that confirms readiness for production.

What to check: Verify that the shared object acting as the wallet enforces correct authorization for every state-mutating function. Unlike EVM-based smart accounts where msg.sender is the account, Sui modules must explicitly check that a signer has the required capability or role.

Why it matters: A missing authorization check on a shared wallet object allows any caller to drain funds or change signer configurations. The shared object pattern is the standard for a 'wallet' on Sui, but it has no intrinsic authentication.

Readiness signal: A successful audit report showing that every public entry function touching the wallet state includes an assertion like assert!(signers.contains(ctx.sender()), ENotAuthorized) or equivalent capability check. Fuzz testing confirms that unauthorized signers cannot execute privileged functions.

Chains We Build On

Looking to build on a specific blockchain?

We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.

EVM ecosystems

  • Ethereum logo
    Ethereum
  • Arbitrum logo
    Arbitrum
  • Optimism logo
    Optimism
  • Polygon logo
    Polygon
  • Avalanche logo
    Avalanche
  • Cronos logo
    Cronos

Non-EVM ecosystems

  • Solana logo
    Solana
  • Sui logo
    Sui
  • Aptos logo
    Aptos
  • Hedera logo
    Hedera
  • Stellar logo
    Stellar
  • NEAR logo
    NEAR

Additional ecosystems

  • Polkadot logo
    Polkadot
  • Cosmos logo
    Cosmos
  • TON logo
    TON
  • Cardano logo
    Cardano
  • Algorand logo
    Algorand
  • Tempo logo
    Tempo

Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.

MULTISIG AND ACCOUNT ABSTRACTION IMPLEMENTATION

Frequently Asked Questions

Answers to common technical questions from teams building or integrating multisig wallets and account abstraction patterns on Sui.

The core difference is that Sui has no single persistent account state. An EVM multisig is a contract that holds assets and checks signatures against a stored owner set. A Sui multisig is a pattern, not a single contract holding assets.

Key architectural differences:

  • No single vault: Assets are not held inside the multisig contract. Instead, the multisig logic governs a shared Multisig object that authorizes transactions on behalf of its participants.
  • Programmable Transaction Blocks (PTBs): A multisig operation is a PTB that takes the shared Multisig object as input, verifies the required signatures, and then performs the intended actions (e.g., transferring an asset from a user's account or a shared vault).
  • Object-centric permissions: The multisig doesn't hold assets; it controls access to them. The PTB must prove the multisig's authority by passing the shared object by reference and satisfying its authorization logic.
  • Signature aggregation: Multiple signers each sign the full PTB digest. The Move module verifies that the required threshold of valid signatures from the defined owner set is present before executing the transaction's commands.

This means a Sui multisig is more of an authorization module than a custody contract. Teams must design their asset flow carefully: assets can be held in a shared account-like object controlled by the multisig, or the multisig can authorize transfers directly from individual user accounts.

Trusted by Industry Leaders

Delivering blockchain solutions for 5+ years.

We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.

Selected Partners & Clients

ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.
L
Lee Erswell
CEO, Telos Foundation
how to get started

How to get started?

If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.

01

Exploration & Strategy

Define your product goals and choose the right blockchain architecture for your use case.

02

Architecture & Design

Design the smart contracts, tokenomics, and security parameters of your system.

03

Development & Integration

Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.

04

Security & Launch

Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.

Start a build

Need a blockchain engineering team?

Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.