---
title: "Merged history (page 1, or filtered)"
method: GET
path: "/buckets/{bucket}/transactions"
tags: ["Buckets"]
---

# Merged history (page 1, or filtered)

`GET /buckets/{bucket}/transactions`

## Request

- Base URL: `https://sochain.com/api/v3`
- URL: `https://sochain.com/api/v3/buckets/{bucket}/transactions`
- Auth: one of:
  - API key in header `API-KEY`
  - API key in query parameter `api_key`

Newest first; a move between its own addresses nets out to its fee. With any history filter, the filtered form, paged by cursor, as JSON or CSV. A cursor stays valid across membership changes unless they touch blocks the walk has passed (409: start again).

## Path parameters

- `bucket` string, required: Letters, numbers, - and _, up to 64 characters. Unique within your account.

## Query parameters

- `from_height` integer
- `to_height` integer
- `from_time` string
- `to_time` string
- `direction` 'in' | 'out' | 'both'
- `unconfirmed` 'include' | 'exclude' | 'only'
- `page_size` integer
- `cursor` string
- `format` 'json' | 'csv'
- `currency` 'AUD' | 'BRL' | 'CAD' | 'CHF' | 'CNY' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HKD' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JPY' | 'KRW' | 'MXN' | 'MYR' | 'NOK' | 'NZD' | 'PHP' | 'PLN' | 'RON' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'USD' | 'ZAR'

## Response `200`

Success.

- object
  - `status` 'success', required
  - `data` union, required
    - BucketTransactions
      - `transactions` BucketTransaction[], required: Ten a page: pending first, then newest first.
        - `hash` string, required
        - `value_received` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `value_sent` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `balance_change` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `time` integer, required
        - `block` integer, nullable, required
        - `price` Price: Price per coin, 8 decimals: in US dollars, or in the currency asked for. Always 0.00000000 on testnets.
          - `value` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
          - `currency` string, required: USD, or the currency asked for.
      - `total` integer: How many there are in all.
      - `page` integer
      - `next_cursor` string, nullable: null on the last page.
      - `tip_height` integer: The newest block when the answer was made.
      - `version` integer
      - `bucket` string: Letters, numbers, - and _, up to 64 characters. Unique within your account.
      - `network` 'BTC' | 'LTC' | 'DOGE' | 'ZEC' | 'BTCTEST' | 'LTCTEST' | 'DOGETEST' | 'ZECTEST'
    - FilteredBucketTransactions: Paging and filter fields of the filtered form.
      - `next_cursor` string, nullable, required: Send it back as cursor for the next page; null when there's nothing more. A short page, even an empty one, with a cursor isn't the end.
      - `page_size` integer, required
      - `from_height` integer, nullable, required: The range searched, as blocks; null for an open end.
      - `to_height` integer, nullable, required
      - `direction` 'in' | 'out' | 'both', required
      - `unconfirmed` 'include' | 'exclude' | 'only', required
      - `tip_height` integer, required: The newest block when the walk began. To pick up new transactions later, start at from_height = tip_height − 6 and skip IDs you already have.
      - `reorged` unknown
      - `fork_height` integer, nullable: With reorged: the lowest replaced block, or null when it's more than 8 blocks deep.
      - `bucket` string, required: Letters, numbers, - and _, up to 64 characters. Unique within your account.
      - `network` 'BTC' | 'LTC' | 'DOGE' | 'ZEC' | 'BTCTEST' | 'LTCTEST' | 'DOGETEST' | 'ZECTEST', required
      - `version` integer
      - `transactions` BucketTransaction[], required
        - `hash` string, required
        - `value_received` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `value_sent` string: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `balance_change` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
        - `time` integer, required
        - `block` integer, nullable, required
        - `price` Price: Price per coin, 8 decimals: in US dollars, or in the currency asked for. Always 0.00000000 on testnets.
          - `value` string, required: An exact decimal amount of coins with 8 decimals. Signed amounts may start with '-'. Parse as an integer of the smallest unit, not a float.
          - `currency` string, required: USD, or the currency asked for.

## Other responses

- `400`: A bad parameter or body; the message says which.
- `401`: An invalid key, no key where one is needed (buckets, webhooks, /account_info), a locked account or expired plan, or both the month's requests and the keyless rate used up. Kept as 401, with this message, for v3 compatibility.
- `404`: Not found.
- `409`: The bucket's addresses changed in a way that affects pages already read; start again without a cursor.
- `503`: Briefly unavailable; retry with backoff. May carry Retry-After.

---

[API](https://skmtc.dev/sochain/apis/sochain-api.md) · [All operations](https://skmtc.dev/sochain/apis/sochain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sochain/apis/sochain-api/revisions/80682797b38f?raw)
