> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Mercury Transaction

Fetch a single Mercury transaction by account ID and transaction ID. Returns the amount, status ('pending', 'sent', 'cancelled', 'failed'), counterparty, memo, timestamps, and failure reason if any. Ideal for: checking whether a payment cleared, payment status polling after a payout, reconciling invoices against bank activity.

![Get Mercury Transaction logo](https://ai-icon.b3.fun/logo/mercury)
Catalog action Integrations mercury

Fetch a single Mercury transaction by account ID and transaction ID. Returns the amount, status ('pending', 'sent', 'cancelled', 'failed'), counterparty, memo, timestamps, and failure reason if any. Ideal for: checking whether a payment cleared, payment status polling after a payout, reconciling invoices against bank activity.


## At a Glance

| Field | Value |
| --- | --- |
| Action ID | `mercury-get-transaction` |
| Category | Integrations |
| Connector | `mercury` |
| Requires gas | No |
| Funds movement | None declared |
| Tags | `mercury`, `banking`, `fiat`, `transactions`, `status`, `read` |

## Payload Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accountId` | `string` | Yes | Mercury account ID the transaction belongs to \(from mercury-list-accounts\) |
| `transactionId` | `string` | Yes | Mercury transaction ID to look up |
| `apiKey` | `string` | No | Mercury API token. Normally injected automatically by the 'mercury' connector — only set this to override the connector's token. |

## Result Schema

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | `string` | Yes | Mercury transaction ID |
| `amount` | `number \| null` | No | Amount in USD — negative for outgoing payments, positive for incoming |
| `status` | `string` | Yes | Transaction status: 'pending', 'sent', 'cancelled', or 'failed' |
| `kind` | `string \| null` | No | Transaction kind \(e.g. 'externalTransfer'\) |
| `counterpartyId` | `string \| null` | No | Counterparty \(recipient\) ID |
| `counterpartyName` | `string \| null` | No | Counterparty name |
| `note` | `string \| null` | No | Internal note on the transaction |
| `externalMemo` | `string \| null` | No | External memo visible to the recipient |
| `createdAt` | `string \| null` | No | ISO timestamp the transaction was created |
| `postedAt` | `string \| null` | No | ISO timestamp the transaction posted, null while pending |
| `estimatedDeliveryDate` | `string \| null` | No | Estimated delivery date |
| `failedAt` | `string \| null` | No | ISO timestamp the transaction failed, null unless failed |
| `reasonForFailure` | `string \| null` | No | Failure reason, null unless failed |
| `dashboardLink` | `string \| null` | No | Link to the transaction in the Mercury dashboard |

## Examples

**Workflow node**

```json
{
  "type": "mercury-get-transaction",
  "payload": {
    "accountId": "example-accountId",
    "transactionId": "example-transactionId"
  },
  "children": [],
  "connector": {
    "type": "mercury",
    "id": "conn_mercury"
  }
}
```
  **Test with API**

```bash
curl -X POST "https://api.b3os.org/v1/actions/mercury-get-transaction/test" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "inputs": {
    "accountId": "example-accountId",
    "transactionId": "example-transactionId"
  }
}'
```

**Use expressions for dynamic values**

Payload fields can use workflow expressions such as `{{$trigger.body.amount}}`, `{{$nodes.fetch.result.price}}`, and `{{$props.asset}}` when the value should come from a trigger, prior node, or reusable workflow prop.