Skip to main content


At its core, wasmCloud is a messaging system, and a scalable messaging system needs well-defined API contracts.

Every capability provider has a capability contract - an interface definition - that defines a service and a set of operations it supports. Even actor-to-actor messages, which don't use capability contracts, benefit by well-defined API contracts. In wasmCloud, we define these API contracts in Smithy files.

In this section, you will find documentation on how to define interfaces using smithy IDL files, and use code generation to create libraries from those definitions.

For more information about Smithy in general, you can check out the resources below.

Additional Smithy references and tools

If you'd like to learn more about Smithy in general, try some of these resources: