---
title: "Sign a crafting payload"
method: POST
path: "/v1/chains/{chain_name}/crafting/sign"
tags: ["crafting"]
---

# Sign a crafting payload

`POST /v1/chains/{chain_name}/crafting/sign`

Sign a crafting payload

## Path parameters

- `chain_name` string, required — The name of chain

## Request body

- SignCraftingRequest
  - `multi_caller` object, required
    - `address` string, required — An Ethereum address
    - `name` string, required — The name of the multicaller contract
    - `version` string, required — The version of the multicaller contract
  - `reference_id` string, required — The id of this request in the system that originates the crafting request, specified as a 32 byte hex string
  - `calls` Call[], required — The calls to be signed
    - `target_address` string, required — An Ethereum address
    - `function_signature` string, required — The function signature
    - `function_args` string[], required — The function arguments
  - `expires_at` string, date-time, required — The expiration time of the request

## Response `200`

200 response

- SignCraftingResult
  - `signer_address` string, required — An Ethereum address
  - `signature` string, required — The signature of the request

## Other responses

- `400` — Bad Request (400)
- `401` — Unauthorised Request (401)
- `403` — Forbidden Request (403)
- `404` — The specified resource was not found (404)
- `500` — Internal Server Error (500)

---

[API](https://skmtc.dev/immutable/apis/immutable-zkevm-api.md) · [All operations](https://skmtc.dev/immutable/apis/immutable-zkevm-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/immutable/immutable-zkevm-api/revisions/59f94155fcd0/schema)
