# Engine.create

Compiles every implementation this entrypoint provides, without installing it.

Reach for this where an engine has to exist as a value: measuring one implementation against another, or installing for the duration of a call. Combining engines does not need it, because [`Engine.set`](/api/Engine/set) merges -- `await load()` followed by `Engine.set({ Secp256k1 })` leaves both in place.

## Imports

:::code-group
```ts [Named]
import { Engine } from 'ox/wasm'
```

```ts [Entrypoint]
import * as Engine from 'ox/wasm/Engine'
```
:::

## Examples

```ts twoslash
// @noErrors
import { Engine, Hash } from 'ox'
import { Engine as Wasm } from 'ox/wasm'

const wasm = await Wasm.create()

Engine.with(wasm, () => Hash.keccak256('0xdeadbeef'))
```

## Definition

```ts
function create(): Promise<create.ReturnType>
```

**Source:** [src/wasm/Engine.ts](https://github.com/wevm/ox/blob/main/src/wasm/Engine.ts#L76)

## Return Type

An engine, ready to install.

`Promise<create.ReturnType>`
