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 and its instruction set, independent from a concrete embedding. The WebAssembly core is specified in a single document:
Core: defines the structure of WebAssembly modules and its representation in binary and text format, as well as the semantics of validation, instantiation, and execution.
Define application programming interfaces enabling the use of WebAssembly modules in concrete embedding environments. Currently, two APIs are specified: