Stellar PHP SDK API Documentation

InfoRequestBuilder extends RequestBuilder

Request builder for GET /info endpoint operations.

This builder constructs HTTP requests to query anchor capabilities and supported assets via the SEP-06 info endpoint. The info endpoint is the discovery endpoint that clients should query first to understand what deposit and withdrawal operations the anchor supports.

The response includes:

  • Supported assets for deposit and withdrawal
  • Available deposit/withdrawal methods for each asset
  • Fee structures and minimum/maximum amounts
  • Feature flags indicating supported functionality
  • Required KYC fields

Example usage:

$builder = new InfoRequestBuilder($httpClient, $serviceAddress, $jwt);
$response = $builder->forQueryParameters(['lang' => 'en'])->execute();
Tags
see
https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#info

SEP-06 Info Endpoint

see
TransferServerService::info()

For the service method using this builder

see
InfoResponse

For the response structure

since
1.0.0

Table of Contents

Constants

HEADERS  = ["X-Client-Name" => "stellar_php_sdk", "X-Client-Version" => \Soneso\StellarSDK\StellarSDK::VERSION_NR]

Properties

$httpClient  : Client
$queryParameters  : array<string|int, mixed>
$segments  : array<string|int, mixed>

Methods

__construct()  : mixed
Constructor for building GET /info requests.
buildUrl()  : string
Builds the url for the request.
cursor()  : RequestBuilder
Sets <code>cursor</code> parameter on the request.
execute()  : InfoResponse
Build and execute request.
executeRequest()  : Response
Executes an HTTP request to Horizon and returns a parsed response object
forQueryParameters()  : $this
Append query parameters to the request.
getAndStream()  : void
Streams Server-Sent Events from Horizon to a callback function
limit()  : RequestBuilder
Sets <code>limit</code> parameter on the request.
order()  : RequestBuilder
Sets <code>order</code> parameter on the request.
request()  : InfoResponse
Sends the get request for the given url.
setSegments()  : RequestBuilder
Sets the URL path segments for this request

Constants

HEADERS

public mixed HEADERS = ["X-Client-Name" => "stellar_php_sdk", "X-Client-Version" => \Soneso\StellarSDK\StellarSDK::VERSION_NR]

Properties

$queryParameters

protected array<string|int, mixed> $queryParameters

Methods

__construct()

Constructor for building GET /info requests.

public __construct(Client $httpClient, string $serviceAddress[, string|null $jwtToken = null ]) : mixed
Parameters
$httpClient : Client

The HTTP client to use for sending requests

$serviceAddress : string

The base URL of the transfer server from stellar.toml

$jwtToken : string|null = null

Optional JWT token obtained from SEP-10 authentication

buildUrl()

Builds the url for the request.

public buildUrl() : string
Return values
string

the constructed url.

cursor()

Sets <code>cursor</code> parameter on the request.

public cursor(string $cursor) : RequestBuilder

A cursor is a value that points to a specific location in a collection of resources. The cursor attribute itself is an opaque value meaning that users should not try to parse it.

Parameters
$cursor : string
Tags
see
https://developers.stellar.org

Stellar developer docs Pagination documentation

Return values
RequestBuilder

executeRequest()

Executes an HTTP request to Horizon and returns a parsed response object

public executeRequest(string $url, string $requestType[, string|null $requestMethod = "GET" ]) : Response

This method sends the HTTP request to the Horizon server, handles errors, and parses the JSON response into the appropriate response type.

Parameters
$url : string

The complete request URL to fetch

$requestType : string

The expected response type for parsing

$requestMethod : string|null = "GET"

The HTTP method to use (default: "GET")

Tags
throws
HorizonRequestException

If the request fails or response cannot be parsed

Return values
Response

The parsed response object of the specified type

forQueryParameters()

Append query parameters to the request.

public forQueryParameters(array<string|int, mixed> $queryParameters) : $this
Parameters
$queryParameters : array<string|int, mixed>

the query parameters to use for the get request.

Return values
$this

returns the builder, so that it can be chained.

getAndStream()

Streams Server-Sent Events from Horizon to a callback function

public getAndStream(string $relativeUrl, callable $callback[, bool $retryOnServerException = true ]) : void

This method establishes a persistent connection to Horizon's streaming endpoints using Server-Sent Events (SSE). It processes each event and passes the parsed data to the provided callback function. The stream automatically reconnects on server exceptions if retryOnServerException is true.

Horizon streaming uses SSE to push real-time updates. The stream sends:

  • "hello" message on connection
  • "byebye" message on disconnection
  • JSON data objects for actual events
Parameters
$relativeUrl : string

The relative URL to stream from

$callback : callable

Function to receive parsed event data

$retryOnServerException : bool = true

If true, automatically retry on server errors (default: true)

Tags
throws
GuzzleException

If a network error occurs and retryOnServerException is false

Return values
void

This method runs indefinitely until interrupted

limit()

Sets <code>limit</code> parameter on the request.

public limit(int $number) : RequestBuilder

It defines maximum number of records to return. For range and default values check documentation of the endpoint requested.

Parameters
$number : int

Maximum number of records to return

Return values
RequestBuilder

request()

Sends the get request for the given url.

public request(string $url) : InfoResponse

Attaches the jwt token to the request if provided by constructor.

Parameters
$url : string

the url to request from

Tags
throws
GuzzleException

if an exception occurs during the request.

Return values
InfoResponse

the parsed response

setSegments()

Sets the URL path segments for this request

protected setSegments(string ...$segments) : RequestBuilder

This method constructs the URL path by combining multiple segments. Can only be called once per request builder instance.

Parameters
$segments : string

Variable number of URL path segments

Tags
throws
RuntimeException

If segments have already been set

Return values
RequestBuilder

This instance for method chaining


        
On this page

Search results