# AbiParameters.encode

Encodes primitive values into ABI encoded data as per the [Application Binary Interface (ABI) Specification](https://docs.soliditylang.org/en/latest/abi-spec).

## Imports

:::code-group
```ts [Named]
import { AbiParameters } from 'ox'
```

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

## Examples

```ts twoslash
import { AbiParameters } from 'ox'

const data = AbiParameters.encode(
  AbiParameters.from(['string', 'uint', 'bool']),
  ['wagmi', 420n, true]
)
```

### JSON Parameters

Specify **JSON ABI** Parameters as schema:

```ts twoslash
import { AbiParameters } from 'ox'

const data = AbiParameters.encode(
  [
    { type: 'string', name: 'name' },
    { type: 'uint', name: 'age' },
    { type: 'bool', name: 'isOwner' }
  ],
  ['wagmi', 420n, true]
)
```

## Definition

```ts
function encode<parameters>(
  parameters: parameters,
  values: parameters extends AbiParameters ? internal.ToPrimitiveTypes<parameters> : never,
  options?: encode.Options,
): Hex.Hex
```

**Source:** [src/core/AbiParameters.ts](https://github.com/wevm/ox/blob/main/src/core/AbiParameters.ts#L819)

## Parameters

### parameters

* **Type:** `parameters`

The set of ABI parameters to encode, in the shape of the `inputs` or `outputs` attribute of an ABI Item. These parameters must include valid [ABI types](https://docs.soliditylang.org/en/latest/types.html).

### values

* **Type:** `parameters extends AbiParameters ? internal.ToPrimitiveTypes<parameters> : never`

The set of primitive values that correspond to the ABI types defined in `parameters`.

### options

* **Type:** `encode.Options`
* **Optional**

#### options.checksumAddress

* **Type:** `boolean`
* **Optional**

Whether addresses should be checked against their checksum.

## Return Type

ABI encoded data.

`Hex.Hex`
