---
title: "Compile and Broadcast an Unsigned Transaction"
method: POST
path: "/{blockchain_id}/compile_and_send"
---

# Compile and Broadcast an Unsigned Transaction

`POST /{blockchain_id}/compile_and_send`

Compile and broadcast an unsigned EVM transaction with signature.

## Request body

- union
  - ApiTxCompileRequestEVM
    - `unsigned_tx` string, required — The unsigned transaction. This transaction is hex RLP encoded and should be encoded wihout the R, S and V values (this is diffrent from what the /create endpoint returns)
    - `address` string — The hex address.
    - `signature` string, required — A hex encoded string of the cryptographic signature. This should include the R and S values of the signature in ASN1 encoding.
    - `public_key` string, required — A hex encoded string of the sender's public key in the 32 byte compressed format.
  - ApiTxCompileRequestStellar
    - `unsigned_tx` string, required — The base64 encoded transaction
    - `signatures` StellarSignature[], required
      - `signature` string, required — A hex encoded string of the cryptographic signature.
      - `public_key` string, required — A hex encoded string which is the public key for the address.
    - `replace_signatures` boolean
  - ApiTxCompileRequestSubstrate
    - `unsigned_tx` string, required — The hex encoded unsigned extrinsic
    - `signature` string, required — A hex encoded string of the cryptographic signature.
    - `public_key` string, required — The hex encoded public key
    - `signature_scheme` 'ed25519' | 'sr25519', required
  - ApiTxCompileRequestBTC
    - `unsigned_tx` string, required — The transaction data needed to sign.
    - `signatures` Signature[], required
      - `address` string, required — The hex address.
      - `signature` string, required — A hex encoded string of the cryptographic signature. ECDSA secp256k1 signatures are expected to be ASN1 encoded.
      - `public_key` string, required — A hex encoded string which is the public key for the address.
  - ApiTxCompileRequestTron
    - `unsigned_tx` string, required — The protobuf hex encoded tron transaction
    - `signature` string, required — A hex encoded string of the cryptographic signature.
    - `public_key` string, required — The hex encoded public key of the signer
  - ApiTxCompileRequestSolana
    - `unsigned_tx` string, required — The transaction data needed to sign.
    - `signatures` SolanaSignature[], required
      - `signature` string, required — A base58 encoded string of the cryptographic signature.
  - ApiTxCompileRequestNear
    - `unsigned_tx` string, required — The unsigned transaction in base64 encoding.
    - `signature` string, required — The signature hex encoded
  - ApiTxCompileRequestCosmos
    - `unsigned_tx` string, required — The transaction data needed to sign.
    - `signatures` CosmosSignature[], required
      - `sequence` integer, required
      - `signature` string, required
      - `sign_mode` string, required
      - `public_key` string, required

## Response `200`

A submitted Transaction ID

- ApiTxSendResponse
  - `id` string, required — The transaction ID.

## Other responses

- `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)
