erc173-ownership

Implement the ERC173 ownership interface with owner(), transferOwnership(), and OwnershipTransferred events.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/darioloetsc/audit-cmtat --skill erc173-ownership
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: erc173-ownership
Source: https://github.com/darioloetsc/audit-cmtat/tree/main/lib/Rules/lib/RuleEngine/.claude/skills/erc173-ownership
Command: npx skills add https://github.com/darioloetsc/audit-cmtat --skill erc173-ownership

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provide a minimal, interoperable ownership interface for smart contracts to enable consistent ownership querying and transfer behavior across projects.

Core Features & Use Cases

  • owner() view function to read the current owner address.
  • transferOwnership(address newOwner) to transfer control with an OwnershipTransferred event for traceability.
  • ERC165 compatibility for interface detection, enabling tooling and integrations.

Quick Start

Implement the ERC173 interface in a contract and emit OwnershipTransferred when ownership changes.

Frequently Asked Questions about erc173-ownership

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the ERC173 standard for smart contract ownership?

The ERC173 standard is a minimal ownership interface for Solidity smart contracts that defines an owner() function and a transferOwnership() method. It provides a consistent way to query and transfer contract control across different projects.

How do I transfer ownership of a smart contract using ERC173?

To transfer smart contract ownership with ERC173, call the transferOwnership(address newOwner) function. This executes the ownership change and emits an OwnershipTransferred event to provide a traceable on-chain record of the transfer.

Does the ERC173 ownership interface require ERC165 compatibility?

Yes, ERC173 requires ERC165 compatibility for interface detection. This integration allows smart contracts to programmatically verify ownership support, enabling seamless tooling and interoperability across decentralized applications.

When should I use ERC173 over other ownership patterns in Solidity?

Use ERC173 when you need a simple, interoperable ownership pattern for smart contracts without complex role-based access control. It standardizes owner querying and transfer behavior, making your contract easily recognizable by external tooling.

Can I track ownership changes in smart contracts implementing ERC173?

Yes, ERC173 smart contracts emit an OwnershipTransferred event whenever the transferOwnership function is executed. This event provides traceability, allowing users and applications to monitor and verify all historical contract ownership changes.

How does ERC165 interface detection work with ERC173 contracts?

ERC165 compatibility in ERC173 contracts allows external callers to query whether a smart contract supports the ownership interface. This interface detection mechanism ensures safe integrations by verifying ownership capabilities before executing related transactions.