- User separation — without smart accounts, a dApp message sender on the proxy side is effectively always the proxy itself, so it’s hard to distinguish one user from another.
- Separate asset storage — user assets are kept in a dedicated smart account, so funds don’t mix into one proxy balance and can wait there until they’re needed.
Contract Addresses: Find the latest Smart Account Factory and Smart Account Blueprint
addresses for both testnet and mainnet on the Contract
Addresses page.
Core Concept
TAC uses a shared factory approach where:- There is one factory instance (Smart Account Factory) deployed on the chain that everyone can use
- Each user gets one smart account per proxy contract
- Smart accounts support advanced features like multicall, NFT handling, and hook-based execution
- All accounts are upgradeable through the shared beacon pattern
- Smart Account Blueprint
- Smart Account Factory
Advanced account logic with comprehensive capabilities:
- Execute arbitrary transactions with custom validation
- Multicall support for batch operations
- One-time ticket system for secure proxy interactions
- NFT receiving capabilities (IERC721Receiver)
- Safe token operations with SafeERC20
- Execute and executeUnsafe methods
- Delegatecall support for advanced patterns
Smart Account Blueprint Implementation
The contract is already deployed on TAC Mainnet and Testnet.Smart Account Blueprint is addressed as
TacSmartAccount in provided code snippetsKey Features
Advanced Execution Methods
Advanced Execution Methods
Multiple execution methods provide flexibility for different use cases:
- execute(): Safe execution that reverts on failure
- executeUnsafe(): Returns success/failure without reverting
- delegatecall(): Advanced pattern for library calls
- multicall(): Batch multiple operations in one transaction
- Return Data: All methods capture and return execution results
- Event Logging: Track all executed transactions
One-Time Ticket System
One-Time Ticket System
Secure proxy interaction system for cross-chain operations:
- Proxy Authorization: Proxy contracts can create tickets for users
- Single Use: Each ticket can only be used once for security
- Owner Control: Only the owner can create/revoke tickets
- Automatic Cleanup: Tickets are automatically consumed after use
Token & NFT Support
Token & NFT Support
Comprehensive asset management capabilities:
- SafeERC20: Uses OpenZeppelin’s safe token operations
- forceApprove(): Handles tokens with approval edge cases
- IERC721Receiver: Can receive NFTs directly
- Batch Operations: Combine token operations with other calls
Access Control
Access Control
Flexible access control supporting both owner and proxy operations:
- onlyOwner: Functions restricted to the account owner
- onlyOwnerOrTicket: Functions accessible via one-time tickets
- Custom Errors: Clear error messages for access violations
- Initialization Security: Secure setup during deployment
Smart Account Factory Implementation
The contract is already deployed on TAC Mainnet and Testnet.Smart Account Factory is addressed as
TacSAFactory in provided code snippetsShared Factory Benefits
TAC provides a single factory instance that all developers can use. This
approach ensures consistency and reduces deployment costs.
- One Factory for All: Single deployed instance serves all proxy contracts
- Per-Application Isolation: Each proxy gets its own mapping of user accounts
- Deterministic Addresses: Predict smart account addresses before deployment
- Atomic Upgrades: All accounts upgrade simultaneously when the beacon is updated
- Version Consistency: Ensures all accounts have the same feature set