Skip to main content
GET
/
transactions
List transactions with filters
curl --request GET \
  --url https://sandbox-api.polygon.technology/v0.10/transactions \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://sandbox-api.polygon.technology/v0.10/transactions"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://sandbox-api.polygon.technology/v0.10/transactions', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://sandbox-api.polygon.technology/v0.10/transactions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://sandbox-api.polygon.technology/v0.10/transactions"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.10/transactions")
  .header("Authorization", "Bearer <token>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox-api.polygon.technology/v0.10/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "customerId": "<string>",
      "destination": {
        "category": "crypto",
        "details": {
          "asset": "<string>",
          "blockchainAddress": "<string>",
          "blockchainAsset": {
            "chainId": "<string>",
            "tokenId": "<string>"
          },
          "id": "<string>",
          "network": "<string>",
          "txHash": "<string>"
        },
        "type": "walletOms",
        "party": {
          "customerId": "<string>",
          "relationship": "customer"
        },
        "payoutOrigin": {
          "details": {
            "accountHolder": "customer",
            "accountHolderName": "<string>",
            "accountNumber": "<string>",
            "routingNumber": "<string>",
            "virtualAccountId": "<string>"
          },
          "type": "bank"
        }
      },
      "id": "<string>",
      "object": "transaction",
      "pricing": {
        "destination": {
          "amountGross": "<string>",
          "amountNet": "<string>",
          "asset": "<string>",
          "feesDeducted": {
            "developer": "<string>",
            "gas": "<string>",
            "oms": "<string>",
            "total": "<string>"
          }
        },
        "effectiveRate": "<string>",
        "exchangeRate": "<string>",
        "pair": "<string>",
        "source": {
          "amountGross": "<string>",
          "amountNet": "<string>",
          "asset": "<string>",
          "feesDeducted": {
            "developer": "<string>",
            "gas": "<string>",
            "oms": "<string>",
            "total": "<string>"
          }
        },
        "sponsorGas": true,
        "sponsorGasCost": "<string>"
      },
      "source": {
        "category": "crypto",
        "details": {
          "asset": "<string>",
          "blockchainAddress": "<string>",
          "blockchainAsset": {
            "chainId": "<string>",
            "tokenId": "<string>"
          },
          "id": "<string>",
          "network": "<string>",
          "txHash": "<string>"
        },
        "type": "walletOms",
        "party": {
          "customerId": "<string>",
          "relationship": "customer"
        }
      },
      "createdAt": "2023-11-07T05:31:56Z",
      "error": {
        "code": "<string>",
        "message": "<string>",
        "occurredAt": "2023-11-07T05:31:56Z",
        "recoverable": true,
        "recovery": {
          "instructions": "<string>",
          "referenceFields": {
            "sourceTxHash": "<string>",
            "transactionId": "<string>"
          },
          "type": "operatorRecovery"
        },
        "refund": {
          "amount": "<string>",
          "asset": "<string>",
          "destinationWallet": "<string>",
          "network": "<string>",
          "txHash": "<string>"
        }
      },
      "estimatedArrival": "2023-11-07T05:31:56Z",
      "expiresAt": "2023-11-07T05:31:56Z",
      "hold": {
        "type": "senderAttribution",
        "deadline": "2023-11-07T05:31:56Z",
        "matchableExternalAccountCriteria": {
          "blockchainAddress": "<string>",
          "customerId": "<string>",
          "networkFamily": "<string>",
          "type": "walletExternal"
        },
        "required": true,
        "resolvedAt": "2023-11-07T05:31:56Z",
        "since": "2023-11-07T05:31:56Z",
        "txHash": "<string>"
      },
      "metadata": {},
      "precursor": {
        "details": {
          "depositAddressId": "<string>",
          "depositInstructions": {
            "address": "<string>",
            "asset": "<string>",
            "network": "<string>",
            "expiresAt": "2023-11-07T05:31:56Z"
          }
        },
        "type": "depositAddress"
      },
      "projectId": "<string>",
      "updatedAt": "2023-11-07T05:31:56Z"
    }
  ],
  "hasMore": true,
  "nextCursor": "<string>",
  "object": "<string>",
  "previousCursor": "<string>"
}

Authorizations

Authorization
string
header
required

Token from POST /auth/token

Query Parameters

limit
integer<int32>
startingAfter
string
endingBefore
string
status
enum<string>[]

Lifecycle of a transaction. processing: funds in motion. awaitingAction: non-terminal, blocked on developer/upstream/compliance (see hold); returns to processing once cleared. completed: delivered. failed: terminal failure.

Available options:
processing,
awaitingAction,
completed,
failed
sourceToDestination
enum<string>[]

Composite of source and destination instrument categories, inferred from each side. Replaces the older TransferType. The cash corridors (cryptoToCash, cashToCrypto) are derived from a cash-pickup destination or cash-in source respectively; the rest map straight from the internal corridor type.

Available options:
cryptoToCrypto,
cryptoToCash,
cryptoToFiatAccount,
cashToCrypto,
fiatAccountToCrypto
customerId
string

Scope to a customer. Matches rows where the customer is on either side: the sender (quote owner) or the recipient. Replaces the retired GET /customers/{id}/transactions. cst_ prefix.

walletId
string

Filter to the transaction's originating OMS wallet (the precursor's source wallet). acc_ prefix.

virtualAccountId
string

Filter to the transaction's originating virtual account. va_ prefix.

depositAddressId
string

Filter to the transaction's originating deposit address. da_ prefix.

cashInId
string

Filter to the transaction's originating cash-in. ci_ prefix.

createdAfter
string<date-time>
createdBefore
string<date-time>

Free-text search. Matches transaction id, customer id, or customer email.

q
string

Alias for search.

legStatus
string[]

Filters to payments where ANY leg's underlying status is in the given set (e.g. failed surfaces outbound-failed-funds-held payments whose derived overall status is still processing). Values are leg-level statuses, a superset of TransactionStatus. Only applied under the grouped read model; ignored otherwise.

Response

200 - application/json

The request has succeeded.

A paginated list of transactions.

data
object[]
hasMore
boolean

True when more rows exist beyond this page in the direction of travel (forward by default, backward when endingBefore was supplied).

nextCursor
string

Opaque cursor pointing at the last item in this page. Present when data is non-empty. Pass as startingAfter to fetch the next page; hasMore=false signals no more pages forward.

object
string
previousCursor
string

Opaque cursor pointing at the first item in this page. Present when data is non-empty. Pass as endingBefore to page backward; when this yields an empty response the client is at the start of the list.