---
title: "POST /debug/contracts/create"
method: POST
path: "/debug/contracts/create"
tags: ["internal", "contract", "debug"]
---

# POST /debug/contracts/create

`POST /debug/contracts/create`

Get a contract_create transaction object

## Request body

- ContractCreateTx
  - `owner_id` string, required — Base58Check encoded tagged pubkey
  - `nonce` integer
  - `code` string, required — Base64Check encoded tagged byte array
  - `vm_version` integer, required
  - `abi_version` integer, required
  - `deposit` integer, required
  - `amount` integer, required
  - `gas` integer, required
  - `gas_price` integer, required
  - `fee` integer, required
  - `ttl` integer
  - `call_data` string, required — Base64Check encoded tagged byte array

## Response `200`

Successful operation

- CreateContractUnsignedTx
  - `tx` string, required — Base64Check encoded tagged byte array
  - `contract_id` string, required — Base58Check encoded tagged pubkey

## Other responses

- `400` — Invalid transaction
- `404` — Owner account not found
- `503` — The node is temporarily unable to handle the request: either its request queues are saturated (overload protection) or it has not yet reached a stable mode. Overload protection is applied to every endpoint, so this response can be returned by any operation. The Retry-After header tells the client how long to back off before retrying.

---

[API](https://skmtc.net/aeternity/apis/aeternity-node.md) · [All operations](https://skmtc.net/aeternity/apis/aeternity-node/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aeternity/aeternity-node/revisions/597a254980b2/schema)
