---
title: "Generate Transaction"
method: POST
path: "/v2/fungible/msgs"
tags: ["Routing"]
---

# Generate Transaction

`POST /v2/fungible/msgs`

This is the second step when bridging tokens. After computing a route with Compute Route (`POST /v2/fungible/route`), pass the route details and your addresses to this endpoint. It returns signable transaction messages that you can broadcast to the source chain.

The typical flow is: **Compute Route** → **Generate Transaction** → sign and broadcast → **Track Transaction**.

## Request body

- object
  - `amount_in` string, required — Input amount in smallest denomination.
  - `amount_out` string, required — Expected output amount from the route response.
  - `source_asset_chain_id` string, required — Source chain ID.
  - `source_asset_denom` string, required — Source asset denomination.
  - `dest_asset_chain_id` string, required — Destination chain ID.
  - `dest_asset_denom` string, required — Destination asset denomination.
  - `address_list` string[], required — Array of recipient and/or sender address for each chain in the path, corresponding to the required_chain_addresses array returned from a route request.
  - `operations` object[], required — Route operations from the /v2/fungible/route response.
  - `slippage_tolerance_percent` string, required — Slippage tolerance as a percentage (e.g. "1" for 1%).
  - `signed_op_hook` object — Signed OP hook data, required when the route has required_op_hook true.
    - `hook` string — Hook data.
    - `signer` string — Signer address.

## Response `200`

Successful response

- object
  - `txs` object[] — Array of transaction objects. Each can be a cosmos_tx, evm_tx, or svm_tx.
    - `cosmos_tx` object
      - `chain_id` string — Target chain ID.
      - `msgs` object[] — Array of Cosmos SDK messages.
      - `signer_address` string — Address that must sign the transaction.

## Changes

- **2026-04-02** `f731767cc880` — 1 warning
  - removed the request property `ignore_blacklist`
- **2026-03-25** `8f391fd6e76c` — 1 info
  - added the new optional request property `ignore_blacklist`

[Change history](https://skmtc.dev/initia-labs/apis/router-api/changes/v2/fungible/msgs/post.md)

---

[API](https://skmtc.dev/initia-labs/apis/router-api.md) · [All operations](https://skmtc.dev/initia-labs/apis/router-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/initia-labs/router-api/revisions/d69782928523/schema)
