--- title: Dynamic WASM compilation is not available in Middlewares --- ## Why This Error Occurred Compiling WASM binaries dynamically is not allowed in Middlewares. Specifically, the following APIs are not supported: - `WebAssembly.compile` - `WebAssembly.instantiate` with [a buffer parameter](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/instantiate#primary_overload_%E2%80%94_taking_wasm_binary_code) ## Possible Ways to Fix It Bundle your WASM binaries using `import`: ```ts filename="middleware.ts" import { NextResponse } from 'next/server' import squareWasm from './square.wasm?module' export default async function middleware() { const m = await WebAssembly.instantiate(squareWasm) const answer = m.exports.square(9) const response = NextResponse.next() response.headers.set('x-square', answer.toString()) return response } ```