---
title: "Create an Unsigned Token Transfer Transaction"
method: POST
path: "/{blockchain_id}/create/token"
---

# Create an Unsigned Token Transfer Transaction

`POST /{blockchain_id}/create/token`

Creates an unsigned token transfer transaction.

## Request body

- union
  - ApiTxCreateTokenRequestEVM
    - `contract_address` string, required — The contract address of the token.
    - `gas` integer — Gas of transaction. If omitted, the gas will be estimated using eth_estimateGas.
    - `maxPriorityFeePerGas` integer — The max priority fee per gas. Also referred to as the miner tip. When omitted an estimate will be used.
    - `maxFeePerGas` integer — The max fee per gas, this includes the base fee and max priority fee per gas. When omitted an estimate will be used.
    - `nonce` integer — The account Nonce.
    - `data` EVMTokenTransferData, required
      - `from` string, required — The account ID for the originating funds.
      - `to` string, required — The recipient of the transaction. Required unless call is contract deployment.
      - `value` union, required — A value can either be a decimal string or the lowest unit of the currency as an integer
        - integer — Value as an integer in the lowest unit of the currency (for example Wei or Satoshi)
        - string — Value as a string in human readable format. This is in the highest unit of the currecy (for example Eth or BTC)
  - ApiTxCreateTokenRequestTron
    - `contract_address` string, required — The contract address of the token.
    - `from` string, required
    - `to` string, required
    - `value` union, required — A value can either be a decimal string or the lowest unit of the currency as an integer
      - integer — Value as an integer in the lowest unit of the currency (for example Wei or Satoshi)
      - string — Value as a string in human readable format. This is in the highest unit of the currecy (for example Eth or BTC)
    - `fee_limit` union, required — A value can either be a decimal string or the lowest unit of the currency as an integer
      - integer — Value as an integer in the lowest unit of the currency (for example Wei or Satoshi)
      - string — Value as a string in human readable format. This is in the highest unit of the currecy (for example Eth or BTC)
    - `expiration_seconds` integer — Time in seconds the transaction will expire after creation. (Default 30 minutes)
  - ApiTxCreateTokenRequestSolana
    - `token_address` string, required — The mint account address of the token.
    - `from` string, required — The owner's token account address to send the token from.
    - `to` string, required — The recipients token account address to sent the token to.
    - `value` union, required — A value can either be a decimal string or the lowest unit of the currency as an integer
      - integer — Value as an integer in the lowest unit of the currency (for example Wei or Satoshi)
      - string — Value as a string in human readable format. This is in the highest unit of the currecy (for example Eth or BTC)
    - `nonce_account` string — The nonce account used for the transfer.
    - `fee` integer — The prioritization fee.

## Response `200`

An unsigned transaction

- union
  - ApiTxCreateResponseEVM
    - `id` string — The transaction ID.
    - `unsigned_tx` string, required — The unsigned transaction.
  - ApiTxCreateResponseStellar
    - `id` string, required — The transaction ID.
    - `unsigned_tx` string, required — The base64 encoded tx
  - ApiTxCreateResponseSubstrate
    - `unsigned_tx` string, required — The unsigned transaction.
    - `signing_payload` string, required — The signing payload (hex encoded)
  - ApiTxCreateResponseBTC
    - `unsigned_tx` string, required — The transaction data needed to sign.
  - ApiTxCreateResponseTron
    - `id` string, required — The transaction ID.
    - `unsigned_tx` string, required — The hex encoded protobuf unsigned transaction.
  - ApiTxCreateResponseSolana
    - `unsigned_tx` string, required — The base64 encoded unsigned transaction.
    - `fee` union — A value can either be a decimal string or the lowest unit of the currency as an integer
      - integer — Value as an integer in the lowest unit of the currency (for example Wei or Satoshi)
      - string — Value as a string in human readable format. This is in the highest unit of the currecy (for example Eth or BTC)
    - `recent_block_hash` string — The recent block hash used in the transaction.
  - ApiTxCreateResponseNear
    - `id` string, required — The transaction ID base58 encoded
    - `unsigned_tx` string, required — The unsigned transaction base64 encoded
  - ApiTxCreateResponseCosmos
    - `unsigned_tx` string, required — The base64 encoded unsigned transaction.
    - `gas_wanted` integer — The gas limit estimate returned when simulating the transaction.
    - `gas_used` integer — The gas estimate returned when simulating the transaction.
    - `account_sequence` integer — The account sequence number.
    - `account_number` integer — The account number.

## Other responses

- `400` — Bad Request
- `401` — Invalid or expired token
- `429` — Rate limit exceeded
- `500` — An internal server error happened
- `501` — The request endpoint is not implemented
- `503` — The resource you are trying to access is currently unavailable

---

[API](https://skmtc.net/blockdaemon/apis/staking-api.md) · [All operations](https://skmtc.net/blockdaemon/apis/staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blockdaemon/staking-api/versions/f94e296a08a3/schema)
