Skip to main content


Smithy is an interface definition language (IDL) provided by AWS. It is protocol agnostic, flexible, and reasonably low surface, which facilitates the writing of tooling around it.

Smithy4s is a tool that generates third-party-free, protocol-agnostic scala code from smithy specifications.

Smithy4s can be used to:

  • quickly derive http/rest servers and clients
  • derive pure-scala AWS clients
  • derive CLI tools
  • and has the potential for much, much more!

Smithy4s supports both Smithy 2.0 and Smithy 1.0 models. You can read about the differences in this blogpost from AWS.