> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.getsinbad.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.getsinbad.com/_mcp/server.

# List trades and history

GET https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades

List trades and history.

**Credential:** Customer session or partner secret

**Before you call**

- A customer session, or an owning partner server credential without Origin.

Defaults to confirmed funded trades for the verified

partner, integration, customer, registered wallet and chain. Newest first,

up to 20 per page. includePending=true includes accepted pending trades and

definitive execution failures, ordered by stable createdAt and document ID.

Unsubmitted breakdowns/checkouts remain excluded. Summaries omit payment

instructions, proof contents and chat. Pass nextCursor as after to continue.



> Confirm with Sinbad that this endpoint is enabled in your environment.

**Errors**

| Status | Code | What to do |
| --- | --- | --- |
| 400 | `VALIDATION_ERROR` | Correct the fields reported in details before retrying. |
| 401 | `UNAUTHENTICATED` | Create a new customer session or use a valid server credential. |
| 403 | `FORBIDDEN` | Check credential ownership, integration and the supplied Origin. |
| 409 | `CONFLICT` | Read the current state again before you prepare or retry. |
| 503 | `UPSTREAM_ERROR` | Retry with backoff; preserve the same idempotency key for a repeated mutation. |

Reference: https://docs.getsinbad.com/api-reference/trades/list-partner-trades

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.
- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `integrationId` (string, optional) — Required with a partner credential; must be authorized by that credential.
- `partnerUserId` (string, optional) — Partner-only optional customer reference filter.
- `updatedSince` (datetime, optional) — Partner-only lower bound on lifecycle updatedAt.
- `until` (datetime, optional) — Partner-only upper watermark returned on page one; repeat on later pages.
- `limit` (integer, optional, default: 20) — Partner list page size.
- `status` (enum, optional)
  - Allowed values: `PENDING`, `FUNDING_FAILED`, `FUNDING_EXPIRED`, `CREATED`, `PAID`, `RELEASED`, `CANCELED`, `DISPUTED`
- `includePending` (boolean, optional, default: false)
- `after` (string, optional) — Trade ID from nextCursor.

## Response

### 200

Funded trade summaries and nextCursor.

- `trades` (list of trades__TradeSummary, required)
- `nextCursor` (string, required, nullable)
- `until` (datetime, optional) — Returned for partner-server recovery; preserve across cursor pages.

## Errors

### 400 Bad Request Error

The request is invalid.

- `error` (V1TradesGetResponsesContentApplicationJsonSchemaError, required)

### 401 Unauthorized Error

Authentication is required.

- `error` (V1TradesGetResponsesContentApplicationJsonSchemaError, required)

### 403 Forbidden Error

You do not have permission to perform this action.

- `error` (V1TradesGetResponsesContentApplicationJsonSchemaError, required)

### 409 Conflict Error

The request conflicts with the current state of the resource.

- `error` (V1TradesGetResponsesContentApplicationJsonSchemaError, required)

### 503 Service Unavailable Error

Service temporarily unavailable.

- `error` (V1TradesGetResponsesContentApplicationJsonSchemaError, required)

## Types

### trades__TradeSummary

- `tradeId` (string, required)
- `status` (enum, required)
  - Allowed values: `PENDING`, `FUNDING_FAILED`, `FUNDING_EXPIRED`, `CREATED`, `PAID`, `RELEASED`, `CANCELED`, `DISPUTED`
- `side` (enum, required)
  - Allowed values: `BUY`, `SELL`
- `escrowId` (string, required, nullable)
- `chainId` (integer, required)
- `fiatCurrencyId` (string, required)
- `paymentMethodId` (string, required)
- `displayLabel` (string, required, nullable) — Recipient account label from the funded payment snapshot; null before funding or when unavailable. Summaries omit payment account data.
- `merchant` (TradesTradeSummaryMerchant, required)
- `pricing` (TradesTradeSummaryPricing, required)
- `createdAt` (datetime, required, nullable)
- `updatedAt` (datetime, required, nullable)
- `id` (string, optional)
- `source` (string, optional)
- `transferNumber` (string, optional, nullable)
- `type` (string, optional)
- `counterparty` (TradesTradeSummaryCounterparty, optional, nullable)
- `fundedAt` (datetime, optional, nullable)
- `webhookSequence` (integer, optional)

### V1TradesGetResponsesContentApplicationJsonSchemaError

- `code` (string, required)
- `numericId` (integer, required)
- `message` (string, required)
- `requestId` (string, optional)
- `details` (map from string to any, optional)

### TradesTradeSummaryMerchant

- `fullName` (string, required, nullable)
- `avatarUrl` (string, required, nullable)

### TradesTradeSummaryPricing

- `usdtAmount` (string, required)
- `customerFiatAmount` (string, required)

### TradesTradeSummaryCounterparty

- `displayName` (string, required)
- `partnerName` (string, required)

## Examples

### Success

**Response**

```json
{
  "trades": [
    {
      "tradeId": "trade_demo",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    }
  ],
  "nextCursor": null
}
```

**SDK Code**

```python Success
import requests

url = "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades"

querystring = {"integrationId":"integration_demo","partnerUserId":"customer_demo"}

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

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

print(response.json())
```

```javascript Success
const url = 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Success
package main

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

func main() {

	url := "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo"

	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(res)
	fmt.Println(string(body))

}
```

```ruby Success
require 'uri'
require 'net/http'

url = URI("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")

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
```

```java Success
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Success
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Success
using RestSharp;

var client = new RestClient("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Success
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Partner recovery

**Response**

```json
{
  "trades": [
    {
      "tradeId": "trade_demo",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z",
      "webhookSequence": 3
    }
  ],
  "nextCursor": null,
  "until": "2026-10-23T10:00:00.000Z"
}
```

**SDK Code**

```python Partner recovery
import requests

url = "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades"

querystring = {"integrationId":"integration_demo","partnerUserId":"customer_demo"}

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

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

print(response.json())
```

```javascript Partner recovery
const url = 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Partner recovery
package main

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

func main() {

	url := "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo"

	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(res)
	fmt.Println(string(body))

}
```

```ruby Partner recovery
require 'uri'
require 'net/http'

url = URI("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")

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
```

```java Partner recovery
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Partner recovery
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Partner recovery
using RestSharp;

var client = new RestClient("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Partner recovery
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Empty final page

**Response**

```json
{
  "trades": [],
  "nextCursor": null
}
```

**SDK Code**

```python Empty final page
import requests

url = "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades"

querystring = {"integrationId":"integration_demo","partnerUserId":"customer_demo"}

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

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

print(response.json())
```

```javascript Empty final page
const url = 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Empty final page
package main

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

func main() {

	url := "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo"

	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(res)
	fmt.Println(string(body))

}
```

```ruby Empty final page
require 'uri'
require 'net/http'

url = URI("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")

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
```

```java Empty final page
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Empty final page
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Empty final page
using RestSharp;

var client = new RestClient("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Empty final page
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Next page

**Response**

```json
{
  "trades": [
    {
      "tradeId": "trade_demo_1",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_1",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_2",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_2",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_3",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_3",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_4",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_4",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_5",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_5",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_6",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_6",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_7",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_7",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_8",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_8",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_9",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_9",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_10",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_10",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_11",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_11",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_12",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_12",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_13",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_13",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_14",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_14",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_15",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_15",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_16",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_16",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_17",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_17",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_18",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_18",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_19",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_19",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    },
    {
      "tradeId": "trade_demo_20",
      "status": "CREATED",
      "side": "BUY",
      "escrowId": "42",
      "chainId": 80002,
      "fiatCurrencyId": "usd",
      "paymentMethodId": "bank_transfer",
      "displayLabel": "Bank transfer",
      "merchant": {
        "fullName": "Example Merchant",
        "avatarUrl": null
      },
      "pricing": {
        "usdtAmount": "100",
        "customerFiatAmount": "100"
      },
      "createdAt": "2026-10-23T10:00:00.000Z",
      "updatedAt": "2026-10-23T10:00:00.000Z",
      "id": "trade_demo_20",
      "source": "partner",
      "transferNumber": "B2B-DEMO",
      "type": "SELL",
      "counterparty": {
        "displayName": "Alex",
        "partnerName": "Example Partner"
      },
      "fundedAt": "2026-10-23T10:00:00.000Z"
    }
  ],
  "nextCursor": "trade_demo_20"
}
```

**SDK Code**

```python Next page
import requests

url = "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades"

querystring = {"integrationId":"integration_demo","partnerUserId":"customer_demo"}

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

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

print(response.json())
```

```javascript Next page
const url = 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Next page
package main

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

func main() {

	url := "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo"

	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(res)
	fmt.Println(string(body))

}
```

```ruby Next page
require 'uri'
require 'net/http'

url = URI("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")

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
```

```java Next page
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Next page
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Next page
using RestSharp;

var client = new RestClient("https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Next page
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://us-central1-sinbad-staging-env.cloudfunctions.net/b2b-v1/v1/trades?integrationId=integration_demo&partnerUserId=customer_demo")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```