To support the embedding of WebAssembly into different environments, its specification is split into layers that are specified in separate documents.
Defines the semantics of WebAssembly modules independent from a concrete embedding. The WebAssembly core is specified in a single document:
WebAssembly: defines the structure of WebAssembly modules, their instruction set, and their representation in binary and text format, as well as the semantics of validation, instantiation, and execution.
Define application programming interfaces (APIs) enabling the use of WebAssembly modules in concrete embedding environments. Currently, two APIs are specified:
Source for these documents is available here.