{
  "components": {
    "schemas": {}
  },
  "info": {
    "description": "Generated from docs/methods-catalog/stellar/rpc. Includes only read-only Soroban methods confirmed by the 2026-09-02 per-host matrix. Historical methods have a measured 120960-ledger retention window on both tested nodes; deeper history and sendTransaction are not sold.",
    "title": "Triport — Stellar Soroban JSON-RPC",
    "version": "0.2.0-api-vector-s2"
  },
  "methods": [
    {
      "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nStellar-RPC retains a bounded, ledger-denominated history of recent transactions and events, configured by a single history-retention-window setting with a stock default of 120960 ledgers (about 7 days, depending on ledger cadence); requests are served from within that retained range. The effective window and the ledgers currently available can be inspected via the getHealth method (ledgerRetentionWindow, oldestLedger, latestLedger).\n\nNote, this could be used by the client to only prompt a refresh when there is a new ledger with relevant events. It should also be used by backend Dapp components to \"ingest\" events into their own database for querying and serving.\n\nIf making multiple requests, clients should deduplicate any events received, based on the event's unique id field. This prevents double-processing in the case of duplicate events being received.\n\nTriport measurement: both tested Soroban nodes retained 120960 ledgers. Requests deeper than the selected node's current window are outside this product surface.",
      "name": "getEvents",
      "paramStructure": "by-name",
      "params": [
        {
          "description": "Ledger sequence number to start fetching responses from (inclusive). This method will return an error if `startLedger` is less than the oldest ledger stored in this node, or greater than the latest ledger seen by this node. If a cursor is included in the request, `startLedger` must be omitted.",
          "name": "startLedger",
          "required": false,
          "schema": {
            "description": "Sequence number of the ledger.",
            "title": "ledgerSequence",
            "type": "number"
          },
          "summary": "ledger to begin searching from"
        },
        {
          "description": "Ledger sequence number represents the end of search window (exclusive). If a cursor is included in the request, `endLedger` must be omitted.",
          "name": "endLedger",
          "required": false,
          "schema": {
            "description": "Sequence number of the ledger.",
            "title": "ledgerSequence",
            "type": "number"
          },
          "summary": "ledger represents the end of search window"
        },
        {
          "description": "List of filters for the returned events. Events matching any of the filters are included. To match a filter, an event must match both a contractId and a topic. Maximum 5 filters are allowed per request.",
          "name": "filters",
          "required": false,
          "schema": {
            "items": {
              "properties": {
                "contractIds": {
                  "description": "List of contract IDs to query for events. If omitted, return events for all contracts. Maximum 5 contract IDs are allowed per request.",
                  "items": {
                    "description": "A StrKey representation of a contract address (`C...`). ([SEP-23](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0023.md#specification)).",
                    "title": "contractId",
                    "type": "string"
                  },
                  "maxItems": 5,
                  "title": "contractIds",
                  "type": "array"
                },
                "topics": {
                  "description": "A list of topic filters. Each filter is itself an array of one to four `SegmentMatcher` elements (see below). If omitted, query for all events. If multiple filters are specified, events will be included if they match any of the filters.",
                  "items": {
                    "description": "A `TopicFilter` is `SegmentMatcher[]`\n\n- The list can be 1-4 `SegmentMatchers` long.",
                    "items": {
                      "description": "A `SegmentMatcher` is one of the following:\n\n- For an exact segment match, a string containing a base64-encoded ScVal\n\n- The string \"*\" functions as a wildcard that matches exactly one segment.\n\n- The string \"**\" matches zero or more segments and is used to match events with variable topic lengths. It can only appear as the final segment and does not count towards the 4-segment limit.\n\n",
                      "title": "SegmentMatcher",
                      "type": "string"
                    },
                    "maxItems": 4,
                    "minItems": 1,
                    "type": "array"
                  },
                  "maxItems": 5,
                  "title": "topics",
                  "type": "array"
                },
                "type": {
                  "description": "Filter events by type. If omitted, all event types are included.",
                  "enum": [
                    "system",
                    "contract"
                  ],
                  "title": "type",
                  "type": "string"
                }
              },
              "required": [],
              "type": "object"
            },
            "maxItems": 5,
            "type": "array"
          },
          "summary": "filters to narrow events search"
        },
        {
          "description": "Pagination in stellar-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/structure/pagination).",
          "name": "pagination",
          "required": false,
          "schema": {
            "properties": {
              "cursor": {
                "description": "An opaque string which acts as a paging token. To obtain the next page of results occurring after a given response set this value to the `cursor` field of the response.",
                "type": "string"
              },
              "limit": {
                "description": "The maximum number of records returned. The limit for getEvents can range from 1 to 10000 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 100.",
                "type": "number"
              }
            },
            "required": [],
            "type": "object"
          },
          "summary": "pagination options"
        },
        {
          "description": "Lets the user choose the format in which the response should be returned - either as unpacked JSON or as base64-encoded XDR strings. Note that you should not rely on any schema for the JSON, as it will change when the underlying XDR changes.",
          "name": "xdrFormat",
          "required": false,
          "schema": {
            "description": "Specifies whether XDR should be encoded as Base64 (default or 'base64') or JSON ('json').",
            "title": "xdrFormat",
            "type": "string"
          },
          "summary": "chooses a response format for XDR fields: 'json' or 'base64'"
        }
      ],
      "result": {
        "name": "getEventsResult",
        "schema": {
          "properties": {
            "cursor": {
              "description": "A token which can be included in a subsequent request to obtain the next page of results.",
              "title": "cursor",
              "type": "string"
            },
            "events": {
              "items": {
                "properties": {
                  "contractId": {
                    "description": "StrKey representation of the contract address that emitted this event.",
                    "title": "contractId",
                    "type": "string"
                  },
                  "id": {
                    "description": "Unique identifier for this event, based on the [TOID](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0035.md#specification) format. It combines a 19-character TOID and a 10-character, zero-padded event index, separated by a hyphen. \n\n- For example: `0000000000000123456-0000000001`",
                    "type": "string"
                  },
                  "inSuccessfulContractCall": {
                    "deprecated": true,
                    "description": "If true the event was emitted during a successful contract call.",
                    "type": "boolean"
                  },
                  "ledger": {
                    "description": "Sequence number of the ledger in which this event was emitted.",
                    "title": "ledgerSequence",
                    "type": "number"
                  },
                  "ledgerClosedAt": {
                    "description": "[ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp of the ledger closing time",
                    "type": "string"
                  },
                  "operationIndex": {
                    "description": "The index of the operation within the transaction this event occurred in.",
                    "type": "number"
                  },
                  "topic": {
                    "description": "The [ScVal](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-contract.x#L214)s containing the topics this event was emitted with (as a base64 string).",
                    "items": {
                      "description": "A `SegmentMatcher` is one of the following:\n\n- For an exact segment match, a string containing a base64-encoded ScVal\n\n- The string \"*\" functions as a wildcard that matches exactly one segment.\n\n- The string \"**\" matches zero or more segments and is used to match events with variable topic lengths. It can only appear as the final segment and does not count towards the 4-segment limit.\n\n",
                      "title": "SegmentMatcher",
                      "type": "string"
                    },
                    "maxItems": 4,
                    "minItems": 1,
                    "type": "array"
                  },
                  "transactionIndex": {
                    "description": "The index of the transaction within the ledger this event occurred in.",
                    "type": "number"
                  },
                  "txHash": {
                    "description": "The transaction which triggered this event.",
                    "maxLength": 64,
                    "minLength": 64,
                    "pattern": "^[a-f\\d]{64}$",
                    "title": "hash",
                    "type": "string"
                  },
                  "type": {
                    "description": "The type of event emission.",
                    "enum": [
                      "contract",
                      "system"
                    ],
                    "title": "type",
                    "type": "string"
                  },
                  "value": {
                    "description": "The data emitted by the event (an [ScVal](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-contract.x#L214), serialized as a base64 string).",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            },
            "latestLedgerCloseTime": {
              "description": "The unix timestamp (as a string) of the close time of the latest ledger known to Stellar RPC when it handled the request.",
              "type": "string"
            },
            "oldestLedger": {
              "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.",
              "title": "oldestLedger",
              "type": "number"
            },
            "oldestLedgerCloseTime": {
              "description": "The unix timestamp (as a string) of the close time of the oldest ledger kept in history by Stellar RPC when it handled the request.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns contract events",
      "x-max-page-size": 10000,
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-retention-ledgers": 120960,
      "x-tier-category": "stellar_read_rpc_heavy",
      "x-tier-required": "free"
    },
    {
      "description": "Statistics for charged inclusion fees. The inclusion fee statistics are calculated from the inclusion fees that were paid for the transactions to be included onto the ledger. For Soroban transactions and Stellar transactions, they each have their own inclusion fees and own surge pricing. Inclusion fees are used to prevent spam and prioritize transactions during network traffic surge.",
      "name": "getFeeStats",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "getFeeStatsResult",
        "schema": {
          "properties": {
            "inclusionFee": {
              "description": "Fee distribution statistics for Stellar (i.e. non-Soroban) transactions. Statistics are normalized per operation.",
              "properties": {
                "ledgerCount": {
                  "description": "How many consecutive ledgers form the distribution",
                  "type": "number"
                },
                "max": {
                  "description": "Maximum fee",
                  "type": "string"
                },
                "min": {
                  "description": "Minimum fee",
                  "type": "string"
                },
                "mode": {
                  "description": "Fee value which occurs the most often",
                  "type": "string"
                },
                "p10": {
                  "description": "10th nearest-rank fee percentile",
                  "type": "string"
                },
                "p20": {
                  "description": "20th nearest-rank fee percentile",
                  "type": "string"
                },
                "p30": {
                  "description": "30th nearest-rank fee percentile",
                  "type": "string"
                },
                "p40": {
                  "description": "40th nearest-rank fee percentile",
                  "type": "string"
                },
                "p50": {
                  "description": "50th nearest-rank fee percentile",
                  "type": "string"
                },
                "p60": {
                  "description": "60th nearest-rank fee percentile",
                  "type": "string"
                },
                "p70": {
                  "description": "70th nearest-rank fee percentile",
                  "type": "string"
                },
                "p80": {
                  "description": "80th nearest-rank fee percentile",
                  "type": "string"
                },
                "p90": {
                  "description": "90th nearest-rank fee percentile.",
                  "type": "string"
                },
                "p95": {
                  "description": "95th nearest-rank fee percentile.",
                  "type": "string"
                },
                "p99": {
                  "description": "99th nearest-rank fee percentile",
                  "type": "string"
                },
                "transactionCount": {
                  "description": "How many transactions are part of the distribution",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            },
            "sorobanInclusionFee": {
              "description": "Inclusion fee distribution statistics for Soroban transactions",
              "properties": {
                "ledgerCount": {
                  "description": "How many consecutive ledgers form the distribution",
                  "type": "number"
                },
                "max": {
                  "description": "Maximum fee",
                  "type": "string"
                },
                "min": {
                  "description": "Minimum fee",
                  "type": "string"
                },
                "mode": {
                  "description": "Fee value which occurs the most often",
                  "type": "string"
                },
                "p10": {
                  "description": "10th nearest-rank fee percentile",
                  "type": "string"
                },
                "p20": {
                  "description": "20th nearest-rank fee percentile",
                  "type": "string"
                },
                "p30": {
                  "description": "30th nearest-rank fee percentile",
                  "type": "string"
                },
                "p40": {
                  "description": "40th nearest-rank fee percentile",
                  "type": "string"
                },
                "p50": {
                  "description": "50th nearest-rank fee percentile",
                  "type": "string"
                },
                "p60": {
                  "description": "60th nearest-rank fee percentile",
                  "type": "string"
                },
                "p70": {
                  "description": "70th nearest-rank fee percentile",
                  "type": "string"
                },
                "p80": {
                  "description": "80th nearest-rank fee percentile",
                  "type": "string"
                },
                "p90": {
                  "description": "90th nearest-rank fee percentile.",
                  "type": "string"
                },
                "p95": {
                  "description": "95th nearest-rank fee percentile.",
                  "type": "string"
                },
                "p99": {
                  "description": "99th nearest-rank fee percentile",
                  "type": "string"
                },
                "transactionCount": {
                  "description": "How many transactions are part of the distribution",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns statistics about charged inclusion fees",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "General node health check.",
      "name": "getHealth",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "getHealthResult",
        "schema": {
          "properties": {
            "latestLedger": {
              "description": "Most recent known ledger sequence",
              "type": "number"
            },
            "latestLedgerCloseTime": {
              "description": "The unix timestamp (as a string) of the close time of the most recent known ledger",
              "type": "string"
            },
            "ledgerRetentionWindow": {
              "description": "Maximum retention window configured. A full window state can be determined via: ledgerRetentionWindow = latestLedger - oldestLedger + 1",
              "type": "number"
            },
            "oldestLedger": {
              "description": "Oldest ledger sequence kept in history",
              "type": "number"
            },
            "oldestLedgerCloseTime": {
              "description": "The unix timestamp (as a string) of the close time of the oldest ledger kept in history",
              "type": "string"
            },
            "status": {
              "description": "\"healthy\"",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns node health",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "For finding out the current latest known ledger of this node. This is a subset of the ledger info from Horizon.",
      "name": "getLatestLedger",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "getLatestLedgerResponse",
        "schema": {
          "properties": {
            "closeTime": {
              "description": "The timestamp at which the latest ledger was closed.",
              "title": "closeTime",
              "type": "string"
            },
            "headerXdr": {
              "description": "The [LedgerHeader](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger.x#L74) structure for this ledger (base64-encoded string).",
              "title": "headerXdr",
              "type": "string"
            },
            "id": {
              "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Stellar RPC at the time it handled the request.",
              "maxLength": 64,
              "minLength": 64,
              "pattern": "^[a-f\\d]{64}$",
              "title": "id",
              "type": "string"
            },
            "metadataXdr": {
              "description": "The [LedgerCloseMeta](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger.x#L539) union for this ledger (base64-encoded string).",
              "title": "metadataXdr",
              "type": "string"
            },
            "protocolVersion": {
              "description": "Stellar Core protocol version associated with the latest ledger.",
              "title": "protocolVersion",
              "type": "number"
            },
            "sequence": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns latest known ledger",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "For reading the current value of ledger entries directly.\n\nThis method enables querying live ledger state: accounts, trustlines, offers, data, claimable balances, and liquidity pools. It also provides direct access to inspect a contract's current state, its code, or any other ledger entry. This serves as a primary method to access your contract data which may not be available via events or `simulateTransaction`.\n\nTo fetch contract wasm byte-code, use the ContractCode ledger entry key.",
      "name": "getLedgerEntries",
      "paramStructure": "by-name",
      "params": [
        {
          "description": "Array containing the keys of the ledger entries you wish to retrieve. (an array of serialized base64 strings)",
          "name": "keys",
          "required": true,
          "schema": {
            "description": "An array of LedgerKeys. The maximum number of ledger keys accepted is 200.",
            "items": {
              "description": "The [LedgerKey](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger-entries.x#L600) union corresponding to an existing ledger entry you want to retrieve (base64-encoded string).",
              "type": "string"
            },
            "type": "array"
          },
          "summary": "array of ledger keys"
        },
        {
          "description": "Lets the user choose the format in which the response should be returned - either as unpacked JSON or as base64-encoded XDR strings. Note that you should not rely on any schema for the JSON, as it will change when the underlying XDR changes.",
          "name": "xdrFormat",
          "required": false,
          "schema": {
            "description": "Specifies whether XDR should be encoded as Base64 (default or 'base64') or JSON ('json').",
            "title": "xdrFormat",
            "type": "string"
          },
          "summary": "chooses a response format for XDR fields: 'json' or 'base64'"
        }
      ],
      "result": {
        "name": "getLedgerEntriesResult",
        "schema": {
          "properties": {
            "entries": {
              "description": "Array of objects containing all found ledger entries",
              "items": {
                "description": "Object containing information about an existing ledger entry.",
                "properties": {
                  "key": {
                    "description": "The [LedgerKey](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger-entries.x#L600) corresponding to the ledger entry (base64 string).",
                    "type": "string"
                  },
                  "lastModifiedLedgerSeq": {
                    "description": "The ledger sequence number of the last time this entry was updated.",
                    "title": "ledgerSequence",
                    "type": "number"
                  },
                  "liveUntilLedgerSeq": {
                    "description": "The ledger sequence number of the ledger that the entry will be live until. May be zero if the entry is no longer live.",
                    "title": "ledgerSequence",
                    "type": "number"
                  },
                  "xdr": {
                    "description": "The key's current [LedgerEntryData](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger-entries.x#L564) value (base64 string).",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            }
          },
          "required": [
            "latestLedger"
          ],
          "type": "object"
        }
      },
      "summary": "returns ledger entries",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "The `getLedgers` method returns a detailed list of ledgers starting from the user specified starting point that you can paginate as long as the pages fall within the history retention of their corresponding RPC provider.\n\nTriport measurement: both tested Soroban nodes retained 120960 ledgers. Requests deeper than the selected node's current window are outside this product surface.",
      "name": "getLedgers",
      "paramStructure": "by-name",
      "params": [
        {
          "description": "Ledger sequence number to start fetching responses from (inclusive). This method will return an error if `startLedger` is less than the oldest ledger stored in this node, or greater than the latest ledger seen by this node. If a cursor is included in the request, `startLedger` must be omitted.",
          "name": "startLedger",
          "required": false,
          "schema": {
            "description": "Sequence number of the ledger.",
            "title": "ledgerSequence",
            "type": "number"
          },
          "summary": "ledger to begin searching from"
        },
        {
          "description": "Pagination in stellar-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/structure/pagination).",
          "name": "pagination",
          "required": false,
          "schema": {
            "properties": {
              "cursor": {
                "description": "An opaque string which acts as a paging token. To obtain the next page of results occurring after a given response set this value to the `cursor` field of the response.",
                "type": "string"
              },
              "limit": {
                "description": "The maximum number of records returned. The limit for getLedgers can range from 1 to 200 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 50.",
                "type": "number"
              }
            },
            "required": [],
            "type": "object"
          },
          "summary": "pagination options"
        },
        {
          "description": "Lets the user choose the format in which the response should be returned - either as unpacked JSON or as base64-encoded XDR strings. Note that you should not rely on any schema for the JSON, as it will change when the underlying XDR changes.",
          "name": "xdrFormat",
          "required": false,
          "schema": {
            "description": "Specifies whether XDR should be encoded as Base64 (default or 'base64') or JSON ('json').",
            "title": "xdrFormat",
            "type": "string"
          },
          "summary": "chooses a response format for XDR fields: 'json' or 'base64'"
        }
      ],
      "result": {
        "name": "getLedgersResult",
        "schema": {
          "properties": {
            "cursor": {
              "description": "A token which can be included in a subsequent request to obtain the next page of results.",
              "title": "cursor",
              "type": "string"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            },
            "latestLedgerCloseTime": {
              "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedgerCloseTime",
              "type": "number"
            },
            "ledgers": {
              "items": {
                "properties": {
                  "hash": {
                    "description": "The hash of the ledger header which was included in the chain",
                    "type": "string"
                  },
                  "headerXdr": {
                    "description": "The [LedgerHeaderHistoryEntry](https://github.com/stellar/stellar-xdr/blob/v26.0/Stellar-ledger.x#L277) structure for this ledger (base64-encoded string).",
                    "type": "string"
                  },
                  "ledgerCloseTime": {
                    "description": "The unix timestamp (as a string) at which the ledger was closed.",
                    "type": "string"
                  },
                  "metadataXdr": {
                    "description": "The [LedgerCloseMeta](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger.x#L539) union for this ledger (base64-encoded string).",
                    "type": "string"
                  },
                  "sequence": {
                    "description": "The sequence number of the ledger (sometimes called the 'block height').",
                    "title": "ledgerSequence",
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "oldestLedger": {
              "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.",
              "title": "oldestLedger",
              "type": "number"
            },
            "oldestLedgerCloseTime": {
              "description": "The unix timestamp of the close time of the oldest ledger ingested by Stellar RPC at the time it handled the request.",
              "title": "oldestLedgerCloseTime",
              "type": "number"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns a list of ledgers with their details",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-retention-ledgers": 120960,
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "General information about the currently configured network. This response will contain all the information needed to successfully submit transactions to the network this node serves.",
      "name": "getNetwork",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "getNetworkResult",
        "schema": {
          "properties": {
            "friendbotUrl": {
              "description": "(optional) The URL of this network's \"friendbot\" faucet",
              "type": "string"
            },
            "passphrase": {
              "description": "Network passphrase configured for this Stellar RPC node.",
              "title": "networkPassphrase",
              "type": "string"
            },
            "protocolVersion": {
              "description": "Stellar Core protocol version associated with the latest ledger.",
              "title": "protocolVersion",
              "type": "number"
            }
          },
          "required": [
            "passphrase",
            "protocolVersion"
          ],
          "type": "object"
        }
      },
      "summary": "returns network config",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "The `getTransactions` method return a detailed list of transactions starting from the user specified starting point that you can paginate as long as the pages fall within the history retention of their corresponding RPC provider.\n\nTriport measurement: both tested Soroban nodes retained 120960 ledgers. Requests deeper than the selected node's current window are outside this product surface.",
      "name": "getTransactions",
      "paramStructure": "by-name",
      "params": [
        {
          "description": "Ledger sequence number to start fetching responses from (inclusive). This method will return an error if `startLedger` is less than the oldest ledger stored in this node, or greater than the latest ledger seen by this node. If a cursor is included in the request, `startLedger` must be omitted.",
          "name": "startLedger",
          "required": false,
          "schema": {
            "description": "Sequence number of the ledger.",
            "title": "ledgerSequence",
            "type": "number"
          },
          "summary": "ledger to begin searching from"
        },
        {
          "description": "Pagination in stellar-rpc is similar to pagination in Horizon. See [Pagination](https://developers.stellar.org/docs/data/rpc/api-reference/structure/pagination).",
          "name": "pagination",
          "required": false,
          "schema": {
            "properties": {
              "cursor": {
                "description": "An opaque string which acts as a paging token. To obtain the next page of results occurring after a given response set this value to the `cursor` field of the response.",
                "type": "string"
              },
              "limit": {
                "description": "The maximum number of records returned. The limit for getTransactions can range from 1 to 200 - an upper limit that is hardcoded in Stellar-RPC for performance reasons. If this argument isn't designated, it defaults to 50.",
                "type": "number"
              }
            },
            "required": [],
            "type": "object"
          },
          "summary": "pagination options"
        },
        {
          "description": "Lets the user choose the format in which the response should be returned - either as unpacked JSON or as base64-encoded XDR strings. Note that you should not rely on any schema for the JSON, as it will change when the underlying XDR changes.",
          "name": "xdrFormat",
          "required": false,
          "schema": {
            "description": "Specifies whether XDR should be encoded as Base64 (default or 'base64') or JSON ('json').",
            "title": "xdrFormat",
            "type": "string"
          },
          "summary": "chooses a response format for XDR fields: 'json' or 'base64'"
        }
      ],
      "result": {
        "name": "getTransactionsResult",
        "schema": {
          "properties": {
            "cursor": {
              "description": "A token which can be included in a subsequent request to obtain the next page of results.",
              "title": "cursor",
              "type": "string"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            },
            "latestLedgerCloseTimestamp": {
              "description": "The unix timestamp of the close time of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedgerCloseTime",
              "type": "number"
            },
            "oldestLedger": {
              "description": "The sequence number of the oldest ledger ingested by Stellar RPC at the time it handled the request.",
              "title": "oldestLedger",
              "type": "number"
            },
            "oldestLedgerCloseTimestamp": {
              "description": "The unix timestamp of the close time of the oldest ledger ingested by Stellar RPC at the time it handled the request.",
              "title": "oldestLedgerCloseTime",
              "type": "number"
            },
            "transactions": {
              "items": {
                "properties": {
                  "applicationOrder": {
                    "description": "The 1-based index of the transaction among all transactions included in the ledger.",
                    "type": "number"
                  },
                  "createdAt": {
                    "description": "The unix timestamp of when the transaction was included in the ledger.",
                    "title": "createdAt",
                    "type": "number"
                  },
                  "diagnosticEventsXdr": {
                    "description": "(optional) A base64 encoded slice of xdr.DiagnosticEvent. This is only present if the `ENABLE_SOROBAN_DIAGNOSTIC_EVENTS` has been enabled on the RPC server.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "envelopeXdr": {
                    "description": "The [TransactionEnvelope](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-transaction.x#L1009) structure for this transaction (base64-encoded string).",
                    "type": "string"
                  },
                  "events": {
                    "description": "Contains all events emitted during transaction execution.\n\n_Note: Available only on RPC v23.x (currently testnet only)._",
                    "properties": {
                      "contractEventsXdr": {
                        "description": "A nested array of base64-encoded [xdr.ContractEvent](https://github.com/stellar/stellar-xdr/blob/v23.0/Stellar-ledger.x#L371-L390). Each inner array represents the contract events emitted by a single operation within the transaction.",
                        "items": {
                          "description": "Base64-encoded [xdr.ContractEvent]([xdr.ContractEvent](https://github.com/stellar/stellar-xdr/blob/v23.0/Stellar-ledger.x#L371-L390) emitted by a single operation within the transaction.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "type": "array"
                      },
                      "transactionEventsXdr": {
                        "description": "An array of base64-encoded [xdr.TransactionEvent](https://github.com/stellar/stellar-xdr/blob/v23.0/Stellar-ledger.x#L503-L506). These include events such as fees being charged or refunded.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "feeBump": {
                    "description": "Indicates whether the transaction was fee bumped.",
                    "type": "boolean"
                  },
                  "ledger": {
                    "description": "The sequence number of the ledger which included the transaction.",
                    "title": "ledger",
                    "type": "number"
                  },
                  "resultMetaXdr": {
                    "description": "The [TransactionResultMeta](L446https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-ledger.x#L461) structure for this transaction (base64-encoded string).",
                    "type": "string"
                  },
                  "resultXdr": {
                    "description": "The [TransactionResult](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-transaction.x#L2088) structure for this transaction (base64-encoded string).",
                    "type": "string"
                  },
                  "status": {
                    "description": "Indicates whether the transaction was successful or not.",
                    "type": "string"
                  },
                  "txHash": {
                    "description": "The hex-encoded hash of the transaction.",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns a list of transactions with their details",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-retention-ledgers": 120960,
      "x-tier-category": "stellar_read_rpc_heavy",
      "x-tier-required": "free"
    },
    {
      "description": "Version information about the RPC and Captive core. RPC manages its own, pared-down version of Stellar Core optimized for its own subset of needs. we'll refer to this as a \"Captive Core\" instance.",
      "name": "getVersionInfo",
      "paramStructure": "by-name",
      "params": [],
      "result": {
        "name": "getVersionInfoResult",
        "schema": {
          "properties": {
            "buildTimestamp": {
              "description": "The build timestamp of the RPC server.",
              "example": "2026-07-07T21:12:19",
              "type": "string"
            },
            "captiveCoreVersion": {
              "description": "The version of the Captive Core.",
              "example": "stellar-core 27.1.0 (3589a696b0d4ef5a2cf2124e349c671d71886d9c)",
              "type": "string"
            },
            "commitHash": {
              "description": "The commit hash of the RPC server.",
              "example": "7e712815319140618b9be8cf0846701a6f9a2cbe",
              "type": "string"
            },
            "protocolVersion": {
              "description": "The protocol version.",
              "example": 27,
              "type": "integer"
            },
            "version": {
              "description": "The version of the RPC server.",
              "example": "27.1.1-7e712815319140618b9be8cf0846701a6f9a2cbe",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "summary": "returns version information of RPC and Captive Core",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    },
    {
      "description": "Submit a trial contract invocation to simulate how it would be executed by the network. This endpoint calculates the effective transaction data, required authorizations, and minimal resource fee. It provides a way to test and analyze the potential outcomes of a transaction without actually submitting it to the network.\n\nThis method can also be used to invoke read-only smart contract functions for free.",
      "name": "simulateTransaction",
      "paramStructure": "by-name",
      "params": [
        {
          "description": "In order for the RPC server to successfully simulate a Stellar transaction, the provided transaction must contain only a single operation of the type `invokeHostFunction`.",
          "name": "transaction",
          "required": true,
          "schema": {
            "description": "A Stellar [TransactionEnvelope](https://github.com/stellar/stellar-xdr/blob/v22.0/Stellar-transaction.x#L1009) (as a base64-encoded string)",
            "title": "transaction",
            "type": "string"
          },
          "summary": "transaction to be simulated"
        },
        {
          "description": "Contains configuration for how resources will be calculated when simulating transactions.",
          "name": "resourceConfig",
          "required": false,
          "schema": {
            "description": "Configuration for how resources will be calculated.",
            "properties": {
              "instructionLeeway": {
                "description": "Allow this many extra instructions when budgeting resources.",
                "title": "instructionLeeway",
                "type": "number"
              }
            },
            "title": "resourceConfig",
            "type": "object"
          },
          "summary": "configuration for how resources will be calculated"
        },
        {
          "description": "Lets the user choose the format in which the response should be returned - either as unpacked JSON or as base64-encoded XDR strings. Note that you should not rely on any schema for the JSON, as it will change when the underlying XDR changes.",
          "name": "xdrFormat",
          "required": false,
          "schema": {
            "description": "Specifies whether XDR should be encoded as Base64 (default or 'base64') or JSON ('json').",
            "title": "xdrFormat",
            "type": "string"
          },
          "summary": "chooses a response format for XDR fields: 'json' or 'base64'"
        },
        {
          "description": "Specifies the authorization mode to use when simulating the transaction. The options are 'enforce' (default, enforces all authorization checks), 'record' (records authorization without enforcement), and 'record_allow_nonroot' (records authorization while allowing non-root invocations).",
          "name": "authMode",
          "required": false,
          "schema": {
            "description": "Specifies the authorization mode to use when simulating the transaction. 'enforce' (default) enforces authorization checks, 'record' records authorization without enforcing, and 'record_allow_nonroot' records authorization while allowing non-root invocations.",
            "enum": [
              "enforce",
              "record",
              "record_allow_nonroot"
            ],
            "title": "authMode",
            "type": "string"
          },
          "summary": "selects the authorization mode for simulation"
        }
      ],
      "result": {
        "description": "The response will include the anticipated affects the given transaction will have on the network. Additionally, information needed to build, sign, and actually submit the transaction will be provided.",
        "name": "simulateTransactionResult",
        "schema": {
          "properties": {
            "error": {
              "description": "(optional) - This field will include details about why the invoke host function call failed. Only present if the transaction simulation failed.",
              "type": "string"
            },
            "events": {
              "description": "(optional) Array of serialized base64 strings - Array of the events emitted during the contract invocation. The events are ordered by their emission time. (an array of serialized base64 strings). Only present when simulating of `InvokeHostFunction` operations, note that it can be present on error, providing extra context about what failed.",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "latestLedger": {
              "description": "The sequence number of the latest ledger known to Stellar RPC at the time it handled the request.",
              "title": "latestLedger",
              "type": "number"
            },
            "minResourceFee": {
              "description": "(optional) Stringified number - Recommended minimum resource fee to add when submitting the transaction. This fee is to be added on top of the [Stellar network fee](https://developers.stellar.org/docs/learn/fundamentals/fees-resource-limits-metering#inclusion-fee). Not present in case of error.",
              "type": "string"
            },
            "restorePreamble": {
              "description": "(optional) - It can only be present on successful simulation (i.e. no error) of `InvokeHostFunction` operations. If present, it indicates that the simulation detected archived ledger entries which need to be restored before the submission of the `InvokeHostFunction` operation. The `minResourceFee` and `transactionData` fields should be used to submit a transaction containing a `RestoreFootprint` operation.",
              "properties": {
                "minResourceFee": {
                  "description": "Stringified number - Recommended minimum resource fee to add when submitting the `RestoreFootprint` operation. This fee is to be added on top of the [Stellar network fee](https://developers.stellar.org/docs/learn/fundamentals/fees-resource-limits-metering#inclusion-fee).",
                  "type": "string"
                },
                "transactionData": {
                  "description": "Serialized base64 string - The recommended Soroban Transaction Data to use when submitting the `RestoreFootprint` operation.",
                  "type": "string"
                }
              },
              "required": [
                "minResourceFee",
                "transactionData"
              ],
              "type": "object"
            },
            "results": {
              "description": "(optional) - This array will only have one element: the result for the Host Function invocation. Only present on successful simulation (i.e. no error) of `InvokeHostFunction` operations.",
              "items": {
                "properties": {
                  "auth": {
                    "description": "Array of serialized base64 strings - Per-address authorizations recorded when simulating this Host Function call.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "xdr": {
                    "description": "Serialized base64 string - return value of the Host Function call.",
                    "type": "string"
                  }
                },
                "required": [
                  "xdr",
                  "auth"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "stateChanges": {
              "description": "(optional) - On successful simulation of `InvokeHostFunction` operations, this field will be an array of `LedgerEntry`s before and after simulation occurred. Note that _at least_ one of `before` or `after` will be present: `before` and no `after` indicates a deletion event, the inverse is a creation event, and both present indicates an update event. Or just check the `type`.",
              "items": {
                "properties": {
                  "after": {
                    "description": "Base64, if present - `LedgerEntry` state after simulation",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "before": {
                    "description": "Base64, if present - `LedgerEntry` state prior to simulation",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "key": {
                    "description": "Base64 - the `LedgerKey` for this delta",
                    "type": "string"
                  },
                  "type": {
                    "description": "Indicates if the entry was created, updated, or deleted",
                    "enum": [
                      "created",
                      "updated",
                      "deleted"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "key",
                  "before",
                  "after"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "transactionData": {
              "description": "(optional) Serialized base64 string - The recommended Soroban Transaction Data to use when submitting the simulated transaction. This data contains the refundable fee and resource usage information such as the ledger footprint and IO access data (serialized in a base64 string). Not present in case of error.",
              "type": "string"
            }
          },
          "required": [
            "latestLedger"
          ],
          "type": "object"
        },
        "summary": "anticipated affects of the transaction."
      },
      "summary": "submits a trial contract invocation transaction",
      "x-rate-limit-rps": {
        "basic": 20,
        "business": 250,
        "free": 15,
        "pro": 100
      },
      "x-tier-category": "stellar_read_rpc",
      "x-tier-required": "free"
    }
  ],
  "openrpc": "1.2.6",
  "servers": [
    {
      "name": "Production",
      "url": "https://triport.io/rpc/stellar"
    }
  ]
}
