Component Model website screenshot

Component Model

The WebAssembly Component Model is a broad-reaching architecture for building interoperable WebAssembly libraries, applications, and environments. It defines components as portable, sandboxed units of code that can compose with each other across language and runtime boundaries. The model introduces interfaces, worlds, and the WebAssembly Interface Type (WIT) language, along with a canonical ABI, binary and text formats, and a concurrency model. The Component Model underpins the WebAssembly System Interface (WASI) Preview 2 and is the foundation for portable Wasm on browsers, servers, edge, and embedded environments.

Component Model publishes 4 APIs on the APIs.io network. Tagged areas include ABI, Bytecode Alliance, Component, Interface, and Modular.

Component Model’s developer surface includes documentation and 7 more developer resources.

23.1/100 emerging ▬ flat Agent 3/100 human only Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFreemium
4 APIs
ABIBytecode AllianceComponentInterfaceModularSpecificationWASIWebAssemblyWITWorld

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 23.1/100 · emerging
Contract Quality 0.0 / 25
Developer Ergonomics 3.0 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.8 / 13
Governance 0.0 / 12
Discoverability 7.4 / 10
Agent readiness — 3/100 · human only
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/component-model: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 4

Individual APIs this provider publishes, each with its own machine-readable definition.

WebAssembly Component Model Specification

The Component Model specification repository under the W3C WebAssembly Community Group. Contains design documents, the formal specification drafts, the WIT grammar, the canonica...

WebAssembly Interface Type (WIT)

WIT is the interface definition language for the Component Model. WIT describes the imports and exports of a component using interfaces and worlds. WIT is consumed by language t...

WebAssembly System Interface Preview 2

WASI Preview 2 is the first WASI release built on the Component Model. It defines a set of interfaces such as wasi:filesystem, wasi:io, wasi:http, wasi:cli, and wasi:sockets tha...

Component Model Implementations

A landscape of toolchains and runtimes that implement the Component Model, including Wasmtime, Jco, wit-bindgen language bindings, cargo-component for Rust, ComponentizeJS, and ...

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Component Model Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Component Model Domain Security

TLSv1.3 · HSTS · DNSSEC

SECURITY

Resources

Documentation 3

Reference material describing how the API behaves

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: component-model
url: https://raw.githubusercontent.com/api-evangelist/component-model/refs/heads/main/apis.yml
name: Component Model
kind: standard
description: The WebAssembly Component Model is a broad-reaching architecture for building interoperable WebAssembly libraries,
  applications, and environments. It defines components as portable, sandboxed units of code that can compose with each other
  across language and runtime boundaries. The model introduces interfaces, worlds, and the WebAssembly Interface Type (WIT)
  language, along with a canonical ABI, binary and text formats, and a concurrency model. The Component Model underpins the
  WebAssembly System Interface (WASI) Preview 2 and is the foundation for portable Wasm on browsers, servers, edge, and embedded
  environments.
accessModel:
  pricing: freemium
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Freemium
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/component-model.png
tags:
- ABI
- Bytecode Alliance
- Component
- Interface
- Modular
- Specification
- WASI
- WebAssembly
- WIT
- World
created: '2025-01-01'
modified: '2026-04-28'
specificationVersion: '0.19'
apis:
- aid: component-model:specification
  name: WebAssembly Component Model Specification
  description: The Component Model specification repository under the W3C WebAssembly Community Group. Contains design documents,
    the formal specification drafts, the WIT grammar, the canonical ABI, and the binary and text formats that define a WebAssembly
    component.
  humanURL: https://github.com/WebAssembly/component-model
  baseURL: https://github.com/WebAssembly
  tags:
  - Specification
  - W3C
  - WebAssembly
  properties:
  - type: GitHubRepository
    url: https://github.com/WebAssembly/component-model
  - type: Documentation
    url: https://github.com/WebAssembly/component-model/blob/main/design/mvp/Explainer.md
  - type: Specification
    url: https://github.com/WebAssembly/component-model/tree/main/design/mvp
  - type: Reference
    url: https://github.com/WebAssembly/component-model/blob/main/design/mvp/CanonicalABI.md
  - type: Reference
    url: https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md
  x-features:
  - Defines components, interfaces, and worlds
  - Introduces WIT, the WebAssembly Interface Type language
  - Specifies a canonical ABI between components and host
  - Provides binary and text formats for components
  - Foundation for WASI Preview 2 system interfaces
  x-useCases:
  - Tracking the evolving Component Model standard
  - Implementing language toolchains targeting components
  - Implementing runtimes that load and link components
- aid: component-model:wit
  name: WebAssembly Interface Type (WIT)
  description: WIT is the interface definition language for the Component Model. WIT describes the imports and exports of
    a component using interfaces and worlds. WIT is consumed by language toolchains to generate bindings and by runtimes to
    validate and link components at load time.
  humanURL: https://component-model.bytecodealliance.org/design/wit.html
  baseURL: https://component-model.bytecodealliance.org
  tags:
  - Bindings
  - IDL
  - Interface
  - WIT
  properties:
  - type: Documentation
    url: https://component-model.bytecodealliance.org/design/wit.html
  - type: Specification
    url: https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md
  - type: Reference
    url: https://github.com/bytecodealliance/wit-bindgen
  x-features:
  - Declarative IDL for components
  - Records, variants, enums, flags, options, results
  - Resources with methods for borrowed and owned references
  - Interfaces compose into worlds
  x-useCases:
  - Authoring portable component interfaces
  - Generating language bindings via wit-bindgen
  - Defining stable contracts between platform and components
- aid: component-model:wasi-preview-2
  name: WebAssembly System Interface Preview 2
  description: WASI Preview 2 is the first WASI release built on the Component Model. It defines a set of interfaces such
    as wasi:filesystem, wasi:io, wasi:http, wasi:cli, and wasi:sockets that components can import to interact with the host
    system in a portable, capability-based way.
  humanURL: https://wasi.dev/
  baseURL: https://wasi.dev
  tags:
  - System Interface
  - WASI
  - Capabilities
  properties:
  - type: Documentation
    url: https://wasi.dev/
  - type: GitHubOrganization
    url: https://github.com/WebAssembly/WASI
  - type: Reference
    url: https://github.com/WebAssembly/wasi-http
  - type: Reference
    url: https://github.com/WebAssembly/wasi-filesystem
  x-features:
  - Capability-based system access
  - Defined as a collection of WIT worlds
  - wasi:http provides a portable HTTP server interface
  - Worlds for CLI, HTTP proxy, and embedder customization
  x-useCases:
  - Building portable WebAssembly server functions
  - Running components in Wasmtime, Jco, WasmEdge, and Spin
  - Implementing capability-secure host bindings
- aid: component-model:bytecode-alliance-implementations
  name: Component Model Implementations
  description: A landscape of toolchains and runtimes that implement the Component Model, including Wasmtime, Jco, wit-bindgen
    language bindings, cargo-component for Rust, ComponentizeJS, and Spin for serverless Wasm. These implementations are largely
    stewarded by the Bytecode Alliance.
  humanURL: https://bytecodealliance.org/
  baseURL: https://bytecodealliance.org
  tags:
  - Bytecode Alliance
  - Implementations
  - Runtimes
  - Toolchains
  properties:
  - type: Reference
    url: https://github.com/bytecodealliance/wasmtime
  - type: Reference
    url: https://github.com/bytecodealliance/wit-bindgen
  - type: Reference
    url: https://github.com/bytecodealliance/cargo-component
  - type: Reference
    url: https://github.com/bytecodealliance/jco
  - type: Reference
    url: https://github.com/bytecodealliance/ComponentizeJS
  - type: Reference
    url: https://github.com/fermyon/spin
  x-features:
  - Wasmtime native runtime with component support
  - Jco JavaScript host and tooling
  - cargo-component for Rust component projects
  - wit-bindgen for cross-language bindings
  x-useCases:
  - Running components on the server, edge, or in browsers
  - Generating language bindings from WIT
  - Building serverless Wasm functions on Spin
common:
- type: DomainSecurity
  url: security/component-model-domain-security.yml
- type: Website
  url: https://component-model.bytecodealliance.org/
- type: Documentation
  url: https://component-model.bytecodealliance.org/design/
- type: GitHubRepository
  url: https://github.com/WebAssembly/component-model
- type: GitHubOrganization
  url: https://github.com/WebAssembly
- type: Reference
  url: https://wasi.dev/
- type: Reference
  url: https://bytecodealliance.org/
- type: Working Group
  url: https://www.w3.org/community/webassembly/
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com