> For the complete documentation index, see [llms.txt](https://base-tech.gitbook.io/base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://base-tech.gitbook.io/base/9.-traits/9.1-defining-traits.md).

# 9.1 Defining traits

Traits are defined with the define-trait function, which takes a trait name as a parameter followed by a series of function signatures in short form. These function signatures differ from those used to define a custom function in that they only include the name, input types, and output types, omitting argument names as they are not essential for functionality. When performing a contract call, you pass a list of parameters without specifying the argument names themselves. Only the order and types are important.
