TradesRequestBuilder

class TradesRequestBuilder(httpClient: HttpClient, serverUri: Url) : RequestBuilder

Builds requests connected to trades.

Trades represent exchanges of assets on the Stellar network. This builder allows you to query trades based on various criteria such as trading accounts, liquidity pools, asset pairs, or offer IDs.

Example usage:

val server = HorizonServer("https://horizon.stellar.org")

// Get trades for an account
val accountTrades = server.trades()
.forAccount("GCDNJUBQSX7AJWLJACMJ7I4BC3Z47BQUTMHEICZLE6MU4KQBRYG5JY6B")
.limit(20)
.execute()

// Get trades for a specific asset pair
val pairTrades = server.trades()
.forBaseAsset("native")
.forCounterAsset("credit_alphanum4", "USD", "GCDNJUBQSX7AJWLJACMJ7I4BC3Z47BQUTMHEICZLE6MU4KQBRYG5JY6B")
.execute()

// Get trades for a specific offer
val offerTrades = server.trades()
.forOfferId(12345)
.execute()

See also

Constructors

Link copied to clipboard
constructor(httpClient: HttpClient, serverUri: Url)

Functions

Link copied to clipboard
open override fun cursor(cursor: String): TradesRequestBuilder

Sets the cursor parameter for pagination.

Link copied to clipboard
suspend fun execute(): Page<TradeResponse>

Build and execute request to get a page of trades.

Link copied to clipboard

Returns trades for a specific account.

Link copied to clipboard
fun forBaseAsset(assetType: String, assetCode: String? = null, assetIssuer: String? = null): TradesRequestBuilder

Filters trades by base asset.

Link copied to clipboard
fun forCounterAsset(assetType: String, assetCode: String? = null, assetIssuer: String? = null): TradesRequestBuilder

Filters trades by counter asset.

Link copied to clipboard

Returns trades for a specific liquidity pool.

Link copied to clipboard

Returns trades for a specific offer.

Link copied to clipboard

Returns trades of a specific type.

Link copied to clipboard
open override fun limit(number: Int): TradesRequestBuilder

Sets the limit parameter defining maximum number of trades to return.

Link copied to clipboard
open override fun order(direction: RequestBuilder.Order): TradesRequestBuilder

Sets the order of returned results. Default is descending (newest first).

Link copied to clipboard
fun <T : Response> stream(serializer: KSerializer<T>, listener: EventListener<T>, reconnectTimeout: Duration = SSEStream.DEFAULT_RECONNECT_TIMEOUT): SSEStream<T>

Creates a Server-Sent Events (SSE) stream for this request. The stream will automatically reconnect on connection loss and resume from the last received event.