---
title: "Preview Transaction"
method: POST
path: "/transaction/preview"
tags: ["Transaction"]
---

# Preview Transaction

`POST /transaction/preview`

Previews transaction against the network.
This endpoint is effectively a proxy towards the Core API `/v0/transaction/preview` endpoint. See the Core API documentation for more details.

## Request body

- TransactionPreviewRequest
  - `manifest` string, required — A text-representation of a transaction manifest
  - `blobs_hex` string[] — An array of hex-encoded blob data, if referenced by the manifest.
  - `start_epoch_inclusive` integer, required — An integer between `0` and `10^10`, marking the epoch at which the transaction starts being valid. If omitted, the current epoch will be used (taking into account the `at_ledger_state`, if specified).
  - `end_epoch_exclusive` integer, required — An integer between `0` and `10^10`, marking the epoch at which the transaction is no longer valid. If omitted, a maximum epoch (relative to the `start_epoch_inclusive`) will be used.
  - `notary_public_key` PublicKey
    - `key_type` 'EcdsaSecp256k1' | 'EddsaEd25519', required
  - `notary_is_signatory` boolean — Whether the notary should count as a signatory (defaults to `false`).
  - `tip_percentage` integer, required — An integer between `0` and `65535`, giving the validator tip as a percentage amount. A value of `1` corresponds to a 1% fee.
  - `nonce` integer, required — An integer between `0` and `2^32 - 1`, chosen to allow a unique intent to be created (to enable submitting an otherwise identical/duplicate intent).
  - `signer_public_keys` PublicKey[], required — A list of public keys to be used as transaction signers
    - `key_type` 'EcdsaSecp256k1' | 'EddsaEd25519', required
  - `message` object — An optional transaction message. Only affects the costing. This type is defined in the Core API as `TransactionMessage`. See the Core API documentation for more details.
  - `flags` object, required
    - `use_free_credit` boolean, required — Whether to use a virtual, preview-only pool of XRD to pay for all execution fees.
    - `assume_all_signature_proofs` boolean, required — Whether the virtual signature proofs should be automatically placed in the auth zone.
    - `skip_epoch_check` boolean, required — Whether to skip the epoch range check (i.e. ignoring the `start_epoch_inclusive` and `end_epoch_exclusive` parameters, if specified). Note: effectively, without an epoch range, the Radix Engine cannot perform the *intent hash duplicate* detection, which means that this check will be skipped as well.
    - `disable_auth_checks` boolean — Whether to skip the auth checks during execution. This could be used to e.g.: * Preview protocol update style transactions. * Mint resources for previewing trades with resources you don't own. If doing this, be warned: * Only resources which were potentially mintable/burnable at creation time will be mintable/burnable, due to feature flags on the resource. * Please see the below warning about unexpected results if using this approach. Warning: this mode of operation is quite a departure from normal operation: * Calculated fees will likely be lower than a standard execution. * This mode can subtly break invariants some dApp code might rely on, or result in unexpected behaviour, so the resulting execution result might not be valid for your needs. For example, if I used this flag to mint pool units to preview a redemption (or some dApp interaction which behind the scenes redeemed them), they'd redeem for less than they're currently worth, because the blueprint code relies on the total supply of the pool units to calculate their redemption worth, and you've just inflated the total supply through the mint operation.

## Response `200`

Successful Preview

- TransactionPreviewResponse
  - `encoded_receipt` string, required — Hex-encoded binary blob.
  - `receipt` object, required — This type is defined in the Core API as `TransactionReceipt`. See the Core API documentation for more details.
  - `resource_changes` object[], required
  - `logs` object[], required
    - `level` string, required
    - `message` string, required

## Other responses

- `4XX` — Client-originated request error

## Changes

- **2024-06-25** `eb87d151be36` — 2 info
  - added the new optional request property `flags/disable_auth_checks`
  - added the new optional request property `message`
- **2024-05-14** `7601c23b1af1` — 1 info
  - added `AccountLockerNotFoundError` discriminator mapping keys to the `details` response property for the response status `4XX`

[Change history](https://skmtc.dev/radixdlt/apis/radix-gateway-api-babylon/changes/transaction/preview/post.md)

---

[API](https://skmtc.dev/radixdlt/apis/radix-gateway-api-babylon.md) · [All operations](https://skmtc.dev/radixdlt/apis/radix-gateway-api-babylon/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/radixdlt/radix-gateway-api-babylon/revisions/05ddd59cdff9/schema)
