---
title: "Get a transaction by ID"
method: GET
path: "/v1/agents/{agent_id}/transactions/{tx_id}"
tags: ["Transactions"]
---

# Get a transaction by ID

`GET /v1/agents/{agent_id}/transactions/{tx_id}`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/agents/{agent_id}/transactions/{tx_id}`
- Auth: HTTP bearer

## Path parameters

- `agent_id` string, uuid, required
- `tx_id` string, uuid, required

## Query parameters

- `include_signed_tx` boolean

## Response `200`

Transaction details

- TransactionResponse
  - `id` string, uuid
  - `agent_id` string, uuid
  - `chain` string
  - `chain_id` integer
  - `to` string
  - `value_wei` string
  - `status` 'pending' | 'signed' | 'sign_only' | 'broadcast' | 'confirmed' | 'reverted' | 'dropped' | 'failed' | 'simulation_failed': `broadcast` means the RPC accepted the raw transaction; it does not mean the transaction mined. The receipt reconciler resolves it to `confirmed`, `reverted` or `dropped` once the chain answers. `reverted` mined and failed on-chain (nonce consumed, gas paid); `dropped` never mined and never will (the sender's nonce has moved past it), so no value moved and no gas was paid. Non-EVM chains reach `confirmed`/`reverted` but never `dropped`, because the absence of a transaction there cannot be distinguished from a node having pruned it.
  - `signed_tx` string, nullable: Raw signed transaction hex. On GET list and GET by id, this property is omitted by default (absent from the response). Pass `include_signed_tx=true` on those endpoints to include it. Always present on the initial POST submit response.
  - `tx_hash` string
  - `error_message` string
  - `created_at` string, date-time
  - `signed_at` string, date-time
  - `simulation_id` string
  - `simulation_status` string
  - `tenderly_dashboard_url` string, uri
  - `max_fee_per_gas` string
  - `max_priority_fee_per_gas` string
  - `from_address` string: Sender, learned from the chain by the receipt reconciler.
  - `block_number` integer: Block (EVM), slot (Solana) or ledger index (XRP) the transaction settled in. Absent until it settles.
  - `confirmed_at` string, date-time: When settlement was observed. Absent for a `dropped` transaction, which never settled.
  - `reconciled_at` string, date-time: Last time the reconciler asked the chain about this transaction. Set while `status` is still `broadcast` means we looked and could not tell yet, as distinct from nobody having looked.

## Other responses

- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
