{ "openrpc": "1.2.4", "info": { "title": "Soroban RPC", "description": "Soroban-RPC allows you to communicate directly with Soroban via a JSON RPC interface.", "termsOfService": "https://stellar.org/terms-of-service", "contact": { "name": "Stellar Development Foundation", "url": "https://stellar.org/connect", "email": "hello@stellar.org" }, "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "20.1.0" }, "servers": [ { "name": "Testnet", "url": "https://soroban-testnet.stellar.org:443", "summary": "Publicly available RPC server maintained by SDF, operating on the Testnet test network.", "description": "Testnet is meant to be a stable network that runs a production (or near-production) version of the Stellar network." }, { "name": "Futurenet", "url": "https://rpc-futurenet.stellar.org:443", "summary": "Publicly available RPC server maintained by SDF, operating on the Futurenet test network.", "description": "Futurenet is meant to be a bleeding-edge, experimental network that runs an early, test version of the Stellar network." } ], "methods": [ { "name": "getEvents", "summary": "returns contract events", "description": "Clients can request a filtered list of events emitted by a given ledger range.\n\nSoroban-RPC will support querying within a maximum 24 hours of recent ledgers.\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\nBy default soroban-rpc retains the most recent 24 hours of events.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getEvents" }, "paramStructure": "by-name", "params": [ { "name": "startLedger", "summary": "ledger to begin searching from", "description": "Ledger sequence number to fetch events after (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.", "required": true, "schema": { "title": "ledgerSequence", "description": "Sequence number of the ledger.", "type": "number" } }, { "name": "filters", "summary": "filters to narrow events search", "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.", "schema": { "type": "array", "maxItems": 5, "items": { "type": "object", "required": [], "properties": { "type": { "title": "type", "type": "string", "description": "A comma separated list of event types (system, contract, or diagnostic) used to filter events. If omitted, all event types are included." }, "contractIds": { "title": "contractIds", "type": "array", "description": "List of contract IDs to query for events. If omitted, return events for all contracts. Maximum 5 contract IDs are allowed per request.", "maxItems": 5, "items": { "title": "contractId", "description": "A StrKey representation of a contract address (`C...`). ([SEP-23](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0023.md#specification)).", "type": "string" } }, "topics": { "title": "topics", "type": "array", "description": "List of topic filters. If omitted, query for all events. If multiple filters are specified, events will be included if they match any of the filters. Maximum 5 filters are allowed per request.", "maxItems": 5, "items": { "type": "array", "description": "A `TopicFilter` is `SegmentMatcher[]`\n\n- The list can be 1-4 `SegmentMatchers` long.", "minItems": 1, "maxItems": 4, "items": { "title": "SegmentMatcher", "type": "string", "description": "A `SegmentMatcher` is one of the following:\n\n- For an exact segment match, a string containing a base64-encoded ScVal\n\n- For a wildcard single-segment match, the string \"*\", matches exactly one segment." } } } } } } }, { "name": "pagination", "summary": "pagination options", "description": "Pagination in soroban-rpc is similar to pagination in Horizon. See [Pagination](https://soroban.stellar.org/api/pagination).", "required": false, "schema": { "type": "object", "required": [], "properties": { "cursor": { "type": "string", "description": "A string ID that points to a specific location in a collection of responses and is pulled from the `paging_token` value of a record. When a cursor is provided Soroban-RPC will _not_ include the element whose id matches the cursor in the response. Only elements which appear _after_ the cursor are included." }, "limit": { "type": "number", "description": "The maximum number of records returned. The limit for [getEvents](https://soroban.stellar.org/api/getEvents) can range from 1 to 10000 - an upper limit that is hardcoded in Soroban-RPC for performance reasons. If this argument isn't designated, it defaults to 100." } } } } ], "result": { "name": "getEventsResult", "schema": { "type": "object", "properties": { "latestLedger": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" }, "events": { "type": "array", "items": { "type": "object", "properties": { "type": { "title": "type", "description": "The type of event emission.", "type": "string", "enum": [ "contract", "diagnostic", "system" ] }, "ledger": { "title": "ledgerSequence", "description": "Sequence number of the ledger in which this event was emitted.", "type": "number" }, "ledgerClosedAt": { "type": "string", "description": "[ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp of the ledger closing time" }, "contractId": { "title": "contractId", "description": "StrKey representation of the contract address that emitted this event.", "type": "string" }, "id": { "description": "Unique identifier for this event.\n\n- The event's unique id field is based on a [`toid` from Horizon](https://github.com/stellar/go/blob/master/toid/main.go) as used in Horizon's /effects endpoint.\n\n- https://github.com/stellar/go/blob/master/services/horizon/internal/db2/history/effect.go#L58\n\n- Specifically, it is a string containing:\n\n- bigint(32 bit ledger sequence + 20 bit txn number + 12 bit operation) + `` + number for the event within the operation.\n\n- For example: `1234-1`", "type": "string" }, "pagingToken": { "description": "Duplicate of `id` field, but in the standard place for pagination tokens.", "type": "string" }, "inSuccessfulContractCall": { "description": "If true the event was emitted during a successful contract call.", "type": "boolean" }, "topic": { "type": "array", "description": "List containing the topic this event was emitted with.", "minItems": 1, "maxItems": 4, "items": { "title": "SegmentMatcher", "type": "string", "description": "A `SegmentMatcher` is one of the following:\n\n- For an exact segment match, a string containing a base64-encoded ScVal\n\n- For a wildcard single-segment match, the string \"*\", matches exactly one segment." } }, "value": { "description": "The data the event was broadcasting in the emitted event.", "type": "object", "properties": { "xdr": { "description": "The emitted body value of the event (serialized in a base64 string).", "type": "string" } } } } } } } } }, "examples": [ { "name": "Native XLM Transfer Events", "description": "Example request to the `getEvents` method, filtering for `transfer` events for native Lumens, and limiting the number of returned events to 2.", "params": [ { "name": "startLedger", "value": 2530000 }, { "name": "filters", "value": [ { "type": "contract", "contractIds": [ "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC" ], "topics": [ [ "AAAADwAAAAh0cmFuc2Zlcg==", "*", "*", "*" ] ] } ] }, { "name": "pagination", "value": { "limit": 2 } } ], "result": { "name": "getEventsResult", "value": { "events": [ { "type": "contract", "ledger": 2531021, "ledgerClosedAt": "2023-11-15T08:58:25Z", "contractId": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC", "id": "0010870652420501504-0000000004", "pagingToken": "0010870652420501504-0000000004", "topic": [ "AAAADwAAAAh0cmFuc2Zlcg==", "AAAAEgAAAAAAAAAAjt5DlR5mhneFx/1Lct0ToW555OFzg/Y28++28cJXU+I=", "AAAAEgAAAAAAAAAA33Fu/fnobL8/u8tyLCIZzpMXbsRWRBlfAuEv7fBvTwM=", "AAAADgAAAAZuYXRpdmUAAA==" ], "value": { "xdr": "AAAACgAAAAAAAAAAAAAAAAAAAJY=" }, "inSuccessfulContractCall": true }, { "type": "contract", "ledger": 2531273, "ledgerClosedAt": "2023-11-15T09:20:38Z", "contractId": "CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC", "id": "0010871734752280576-0000000004", "pagingToken": "0010871734752280576-0000000004", "topic": [ "AAAADwAAAAh0cmFuc2Zlcg==", "AAAAEgAAAAAAAAAA+YQ+FM83vUUwQ6P3gKCMVTyC3/jO+DERXTWJDKEjagU=", "AAAAEgAAAAAAAAAAwl0UMLLKYqMEedoowz8VnwbRywjcKEeQegoMmU6C9/0=", "AAAADgAAAAZuYXRpdmUAAA==" ], "value": { "xdr": "AAAACgAAAAAAAAAAAAAAAAAAAJY=" }, "inSuccessfulContractCall": true } ], "latestLedger": 2539388 } } }, { "name": "All Events", "description": "Example request to the `getEvents` method, filtering for all events of all types for any and all contracts.", "params": [ { "name": "startLedger", "value": 2530000 }, { "name": "pagination", "value": { "limit": 2 } } ], "result": { "name": "getEventsResult", "value": { "events": [ { "type": "diagnostic", "ledger": 2530001, "ledgerClosedAt": "2023-11-15T07:29:05Z", "contractId": "", "id": "0010866271553875968-0000000000", "pagingToken": "0010866271553875968-0000000000", "topic": [ "AAAADwAAAAdmbl9jYWxsAA==", "AAAADQAAACCGE7Aj5EvXxmmTtyojmlFF/Qv3qMTyL7THd6SG4GHZxQ==", "AAAADwAAABFzZXRfY3VycmVuY3lfcmF0ZQAAAA==" ], "value": { "xdr": "AAAAEAAAAAEAAAACAAAADwAAAAN1c2QAAAAACQAAAAAAAAAAAAAAAAASHQg=" }, "inSuccessfulContractCall": true }, { "type": "diagnostic", "ledger": 2530001, "ledgerClosedAt": "2023-11-15T07:29:05Z", "contractId": "CCDBHMBD4RF5PRTJSO3SUI42KFC72C7XVDCPEL5UY532JBXAMHM4KOQ3", "id": "0010866271553875968-0000000001", "pagingToken": "0010866271553875968-0000000001", "topic": [ "AAAADwAAAAlmbl9yZXR1cm4AAAA=", "AAAADwAAABFzZXRfY3VycmVuY3lfcmF0ZQAAAA==" ], "value": { "xdr": "AAAAAQ==" }, "inSuccessfulContractCall": true } ], "latestLedger": 2539529 } } } ] }, { "name": "getHealth", "summary": "returns node health", "description": "General node health check.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getHealth" }, "paramStructure": "by-name", "params": [], "result": { "name": "getHealthResult", "schema": { "type": "object", "properties": { "status": { "type": "string", "description": "\"healthy\"" } } } }, "examples": [ { "name": "Current node health", "description": "Example request to the `getHealth` method", "params": [], "result": { "name": "getHealthResult", "value": { "status": "healthy" } } } ] }, { "name": "getLatestLedger", "summary": "returns latest known ledger", "description": "For finding out the current latest known ledger of this node. This is a subset of the ledger info from Horizon.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getLatestLedger" }, "paramStructure": "by-name", "params": [], "result": { "name": "getLatestLedgerResult", "schema": { "type": "object", "properties": { "id": { "title": "id", "type": "string", "minLength": 64, "maxLength": 64, "pattern": "^[a-f\\d]{64}$", "description": "Hash identifier of the latest ledger (as a hex-encoded string) known to Soroban RPC at the time it handled the request." }, "protocolVersion": { "title": "protocolVersion", "description": "Stellar Core protocol version associated with the latest ledger.", "type": "number" }, "sequence": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" } } } }, "examples": [ { "name": "Details of the Current Ledger", "description": "Example request to the `getLatestLedger` method.", "params": [], "result": { "name": "getLatestLedgerResult", "value": { "id": "c73c5eac58a441d4eb733c35253ae85f783e018f7be5ef974258fed067aabb36", "protocolVersion": 20, "sequence": 2539605 } } } ] }, { "name": "getLedgerEntries", "summary": "returns ledger entries", "description": "For reading the current value of ledger entries directly.\n\nAllows you to directly inspect the current state of a contract, a contract's code, or any other ledger entry. This is a backup way 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.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getLedgerEntries" }, "paramStructure": "by-name", "params": [ { "name": "keys", "summary": "array of ledger keys", "description": "Array containing the keys of the ledger entries you wish to retrieve. (an array of serialized base64 strings)", "required": true, "schema": { "description": "Array containing ledger keys.", "type": "array", "items": { "type": "string", "description": "Ledger key, serialized as a base64 string, corresponding to an existing ledger entry you wish to retrieve." } } } ], "result": { "name": "getLedgerEntriesResult", "schema": { "type": "object", "required": [ "latestLedger" ], "properties": { "latestLedger": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" }, "entries": { "type": "array", "description": "Array of objects containing all found ledger entries", "items": { "type": "object", "description": "Object containing information about an existing ledger entry.", "properties": { "key": { "type": "string", "description": "The key of the ledger entry (serialized in a base64 string)." }, "xdr": { "type": "string", "description": "The current value of the given ledger entry (serialized in a base64 string)." }, "lastModifiedLedgerSeq": { "title": "ledgerSequence", "description": "The ledger sequence number of the last time this entry was updated.", "type": "number" }, "liveUntilLedgerSeq": { "title": "ledgerSequence", "description": "Sequence number of the ledger.", "type": "number" } } } } } } }, "examples": [ { "name": "Retrieve a Contract's Counter Entry for an Address", "description": "Example request to the `getNetwork` method for a `Counter(Address)` ledger entry.", "params": [ { "name": "keys", "summary": "ledger key for an address' counter entry", "description": "A ledger key that will request a ledger entry defined using a tuple variant enum in a contract: `Counter(Address)`", "value": [ "AAAABgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAABAAAAABAAAAAgAAAA8AAAAHQ291bnRlcgAAAAASAAAAAAAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAAE=" ] } ], "result": { "name": "getLedgerEntriesResult", "value": { "entries": [ { "key": "AAAAB+qfy4GuVKKfazvyk4R9P9fpo2n9HICsr+xqvVcTF+DC", "xdr": "AAAABgAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAQAAAAAQAAAAIAAAAPAAAAB0NvdW50ZXIAAAAAEgAAAAAAAAAAIOHWwMbBgBiAnwRt4k9nChmEOoSuLCVs2eqK9Qub+hgAAAABAAAAAwAAAAw=", "lastModifiedLedgerSeq": 2552504 } ], "latestLedger": 2552990 } } }, { "name": "Retrieve a Token's Balance Entry for Contract", "description": "Example request to the `getNetwork` method for a SAC balance ledger entry belonging to a contract.", "params": [ { "name": "keys", "summary": "ledger key for a contract's native XLM balance", "description": "A ledger key that will request a ledger entry corresponding to a contract's balance on the native XLM Stellar Asset Contract.", "value": [ "AAAABgAAAAHXkotywnA8z+r365/0701QSlWouXn8m0UOoshCtNHOYQAAABAAAAABAAAAAgAAAA8AAAAHQmFsYW5jZQAAAAASAAAAAcwD/nT9D7Dc2LxRdab+2vEUF8B+XoN7mQW21oxPT8ALAAAAAQ==" ] } ], "result": { "name": "getLedgerEntriesResult", "value": { "entries": [ { "key": "AAAABgAAAAHXkotywnA8z+r365/0701QSlWouXn8m0UOoshCtNHOYQAAABAAAAABAAAAAgAAAA8AAAAHQmFsYW5jZQAAAAASAAAAAcwD/nT9D7Dc2LxRdab+2vEUF8B+XoN7mQW21oxPT8ALAAAAAQ==", "xdr": "AAAABgAAAAAAAAAB15KLcsJwPM/q9+uf9O9NUEpVqLl5/JtFDqLIQrTRzmEAAAAQAAAAAQAAAAIAAAAPAAAAB0JhbGFuY2UAAAAAEgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAAAEAAAARAAAAAQAAAAMAAAAPAAAABmFtb3VudAAAAAAACgAAAAAAAAAAAAAAAB3NZQAAAAAPAAAACmF1dGhvcml6ZWQAAAAAAAAAAAABAAAADwAAAAhjbGF3YmFjawAAAAAAAAAA", "lastModifiedLedgerSeq": 2553612 } ], "latestLedger": 2553713 } } }, { "name": "Retrieve Multiple Ledger Entries from Different Contracts.", "description": "Example request to the `getNetwork` method for a `Counter(Address)` ledger entry and a SAC balance ledger entry.", "params": [ { "name": "keys", "summary": "ledger keys for multiple ledger entries", "description": "Two ledger keys: One for a counter entry, and one for a contract's native XLM balance.", "value": [ "AAAABgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAABAAAAABAAAAAgAAAA8AAAAHQ291bnRlcgAAAAASAAAAAAAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAAE=", "AAAABgAAAAHXkotywnA8z+r365/0701QSlWouXn8m0UOoshCtNHOYQAAABAAAAABAAAAAgAAAA8AAAAHQmFsYW5jZQAAAAASAAAAAcwD/nT9D7Dc2LxRdab+2vEUF8B+XoN7mQW21oxPT8ALAAAAAQ==" ] } ], "result": { "name": "getLedgerEntriesResult", "value": { "entries": [ { "key": "AAAABgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAABAAAAABAAAAAgAAAA8AAAAHQ291bnRlcgAAAAASAAAAAAAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAAE=", "xdr": "AAAABgAAAAAAAAAB15KLcsJwPM/q9+uf9O9NUEpVqLl5/JtFDqLIQrTRzmEAAAAQAAAAAQAAAAIAAAAPAAAAB0JhbGFuY2UAAAAAEgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAAAEAAAARAAAAAQAAAAMAAAAPAAAABmFtb3VudAAAAAAACgAAAAAAAAAAAAAAAB3NZQAAAAAPAAAACmF1dGhvcml6ZWQAAAAAAAAAAAABAAAADwAAAAhjbGF3YmFjawAAAAAAAAAA", "lastModifiedLedgerSeq": 2553612 }, { "key": "AAAABgAAAAHXkotywnA8z+r365/0701QSlWouXn8m0UOoshCtNHOYQAAABAAAAABAAAAAgAAAA8AAAAHQmFsYW5jZQAAAAASAAAAAcwD/nT9D7Dc2LxRdab+2vEUF8B+XoN7mQW21oxPT8ALAAAAAQ==", "xdr": "AAAABgAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAQAAAAAQAAAAIAAAAPAAAAB0NvdW50ZXIAAAAAEgAAAAAAAAAAIOHWwMbBgBiAnwRt4k9nChmEOoSuLCVs2eqK9Qub+hgAAAABAAAAAwAAAAw=", "lastModifiedLedgerSeq": 2552504 } ], "latestLedger": 2553767 } } } ] }, { "name": "getNetwork", "summary": "returns network config", "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.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getNetwork" }, "paramStructure": "by-name", "params": [], "result": { "name": "getNetworkResult", "schema": { "type": "object", "required": [ "passphrase", "protocolVersion" ], "properties": { "passphrase": { "title": "networkPassphrase", "description": "Network passphrase configured for this Soroban RPC node.", "type": "string" }, "protocolVersion": { "title": "protocolVersion", "description": "Stellar Core protocol version associated with the latest ledger.", "type": "number" }, "friendbotUrl": { "type": "string", "description": "(optional) The URL of this network's \"friendbot\" faucet" } } } }, "examples": [ { "name": "Testnet Network Configuration", "description": "Example request to the `getNetwork` method for a node connected to the Stellar Testnet network.", "params": [], "result": { "name": "getNetworkResult", "value": { "friendbotUrl": "https://friendbot-testnet.stellar.org/", "passphrase": "Test SDF Network ; September 2015", "protocolVersion": 20 } } }, { "name": "Futurenet Network Configuration", "description": "Example request to the `getNetwork` method for a node connected to the Stellar Futurenet network.", "params": [], "result": { "name": "getNetworkResult", "value": { "friendbotUrl": "https://friendbot-futurenet.stellar.org/", "passphrase": "Test SDF Future Network ; October 2022", "protocolVersion": 20 } } } ] }, { "name": "getTransaction", "summary": "returns transaction details", "description": "The getTransaction method provides details about the specified transaction. Clients are expected to periodically query this method to ascertain when a transaction has been successfully recorded on the blockchain. The soroban-rpc system maintains a restricted history of recently processed transactions, with the default retention window set at 1440 ledgers, approximately equivalent to a 2-hour timeframe. For private soroban-rpc instances, it is possible to modify the retention window value by adjusting the transaction-retention-window configuration setting. For comprehensive debugging needs that extend beyond the 2-hour timeframe, it is advisable to retrieve transaction information from Horizon, as it provides a lasting and persistent record.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/getTransaction" }, "paramStructure": "by-name", "params": [ { "name": "hash", "summary": "transaction hash to query", "description": "Transaction hash to query as a hex-encoded string. This transaction hash should correspond to transaction that has been previously submitted to the network.", "required": true, "schema": { "title": "hash", "type": "string", "minLength": 64, "maxLength": 64, "pattern": "^[a-f\\d]{64}$", "description": "Transaction hash (as a hex-encoded string)" } } ], "result": { "name": "getTransactionResult", "schema": { "type": "object", "required": [ "status", "latestLedger", "latestLedgerCloseTime", "oldestLedger", "oldestLedgerCloseTime" ], "properties": { "status": { "type": "string", "description": "The current status of the transaction by hash", "enum": [ "SUCCESS", "NOT_FOUND", "FAILED" ] }, "latestLedger": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" }, "latestLedgerCloseTime": { "title": "latestLedgerCloseTime", "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "string" }, "oldestLedger": { "title": "oldestLedger", "description": "The sequence number of the oldest ledger ingested by Soroban RPC at the time it handled the request.", "type": "number" }, "oldestLedgerCloseTime": { "title": "oldestLedgerCloseTime", "description": "The unix timestamp of the close time of the oldest ledger ingested by Soroban RPC at the time it handled the request.", "type": "string" }, "ledger": { "title": "ledger", "description": "(optional) The sequence number of the ledger which included the transaction. This field is only present if `status` is `SUCCESS` or `FAILED`.", "type": "number" }, "createdAt": { "title": "createdAt", "description": "(optional) The unix timestamp of when the transaction was included in the ledger. This field is only present if `status` is `SUCCESS` or `FAILED`.", "type": "string" }, "applicationOrder": { "type": "number", "description": "(optional) The index of the transaction among all transactions included in the ledger. This field is only present if `status` is `SUCCESS` or `FAILED`." }, "feeBump": { "type": "boolean", "description": "(optional) Indicates whether the transaction was fee bumped. This field is only present if `status` is `SUCCESS` or `FAILED`." }, "envelopeXdr": { "type": "string", "description": "(optional) A base64 encoded string of the raw TransactionEnvelope XDR struct for this transaction." }, "resultXdr": { "type": "string", "description": "(optional) A base64 encoded string of the raw TransactionResult XDR struct for this transaction. This field is only present if `status` is `SUCCESS` or `FAILED`." }, "resultMetaXdr": { "type": "string", "description": "(optional) A base64 encoded string of the raw TransactionResultMeta XDR struct for this transaction." } } } }, "examples": [ { "name": "Successful Transaction", "description": "Query for a transaction hash that returns `SUCCESS` from the RPC node.", "params": [ { "name": "hash", "summary": "a recent transaction hash", "description": "Transaction hash that hit the network recently enough to still be visible through the RPC node.", "value": "6bc97bddc21811c626839baf4ab574f4f9f7ddbebb44d286ae504396d4e752da" } ], "result": { "name": "getTransactionResult", "value": { "status": "SUCCESS", "latestLedger": 2540076, "latestLedgerCloseTime": "1700086333", "oldestLedger": 2538637, "oldestLedgerCloseTime": "1700078796", "applicationOrder": 1, "envelopeXdr": "AAAAAgAAAADGFY14/R1KD0VGtTbi5Yp4d7LuMW0iQbLM/AUiGKj5owCpsoQAJY3OAAAjqgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAAAAAAAAABhhOwI+RL18Zpk7cqI5pRRf0L96jE8i+0x3ekhuBh2cUAAAARc2V0X2N1cnJlbmN5X3JhdGUAAAAAAAACAAAADwAAAANldXIAAAAACQAAAAAAAAAAAAAAAAARCz4AAAABAAAAAAAAAAAAAAABhhOwI+RL18Zpk7cqI5pRRf0L96jE8i+0x3ekhuBh2cUAAAARc2V0X2N1cnJlbmN5X3JhdGUAAAAAAAACAAAADwAAAANldXIAAAAACQAAAAAAAAAAAAAAAAARCz4AAAAAAAAAAQAAAAAAAAABAAAAB4408vVXuLU3mry897TfPpYjjsSN7n42REos241RddYdAAAAAQAAAAYAAAABhhOwI+RL18Zpk7cqI5pRRf0L96jE8i+0x3ekhuBh2cUAAAAUAAAAAQFvcYAAAImAAAAHxAAAAAAAAAACAAAAARio+aMAAABATbFMyom/TUz87wHex0LoYZA8jbNJkXbaDSgmOdk+wSBFJuMuta+/vSlro0e0vK2+1FqD/zWHZeYig4pKmM3rDA==", "resultXdr": "AAAAAAARFy8AAAAAAAAAAQAAAAAAAAAYAAAAAMu8SHUN67hTUJOz3q+IrH9M/4dCVXaljeK6x1Ss20YWAAAAAA==", "resultMetaXdr": "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", "ledger": 2540064, "createdAt": "1700086268" } } }, { "name": "Not Found Transaction", "description": "Query for a transaction hash that returns `NOT_FOUND` from the RPC node.", "params": [ { "name": "hash", "summary": "an old transaction hash", "description": "Transaction has that is old enough for the RPC node to have forgotten about it.", "value": "85f7aa8bfda425b98c0e53ffe56796ffd8865ec2fcc3ad71abf120801e2a14e5" } ], "result": { "name": "getTransactionResult", "value": { "status": "NOT_FOUND", "latestLedger": 2540099, "latestLedgerCloseTime": "1700086455", "oldestLedger": 2538660, "oldestLedgerCloseTime": "1700078913" } } }, { "name": "Failed Transaction", "description": "Query for a transaction hash that returns `FAILED` from the RPC node.", "params": [ { "name": "hash", "summary": "a failed transaction hash", "description": "Transaction hash that failed to be accepted into a ledger.", "value": "2e4c699cbcb8ee83fffb857c9579bcc91f73f0df2a0444292f66e37563785929" } ], "result": { "name": "getTransactionResult", "value": { "status": "FAILED", "latestLedger": 2540124, "latestLedgerCloseTime": "1700086588", "oldestLedger": 2538685, "oldestLedgerCloseTime": "1700079044", "applicationOrder": 2, "envelopeXdr": "AAAAAgAAAABZvyflsZ5FumtSdS+t0/YnWWML3YWdzX1BGk/Qy786aQAAAG4AFyJfAABKvgAAAAIAAAAAAAAAAQAmwlEAJsK1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAE/fr1kk7lqP0srDPW4JExF1MWmpsG49FsRE3b0vMCmzAAAAAUVVUlMAAAAArPm4/+q9j4dl178h2JjrqjgRXnQ1WiGkyVy+nv3nGkEAAAAAAVjZQAAAAAAAAAABy786aQAAAEDybJBtG7V5NrRFpoboRUN/5ecys5wSUgag3CnTtWLmq3JDOxrEjK9noAnu/F5O0E8iXuVzX9BxZSO9JZ+Tw6kK", "resultXdr": "AAAAAAAAAGT/////AAAAAQAAAAAAAAAB////+gAAAAA=", "resultMetaXdr": "AAAAAwAAAAAAAAACAAAAAwAmwlIAAAAAAAAAAFm/J+WxnkW6a1J1L63T9idZYwvdhZ3NfUEaT9DLvzppAAAAF0g7NXsAFyJfAABKvQAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAAAACbCSwAAAABlVULiAAAAAAAAAAEAJsJSAAAAAAAAAABZvyflsZ5FumtSdS+t0/YnWWML3YWdzX1BGk/Qy786aQAAABdIOzV7ABciXwAASr4AAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAmwlIAAAAAZVVDBwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "ledger": 2540114, "createdAt": "1700086535" } } } ] }, { "name": "sendTransaction", "summary": "submits a transaction", "description": "Submit a real transaction to the Stellar network. This is the only way to make changes on-chain.\n\n Unlike Horizon, this does not wait for transaction completion. It simply validates and enqueues the transaction. Clients should call `getTransaction` to learn about transaction success/failure.\n\nThis supports all transactions, not only smart contract-related transactions.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/sendTransaction" }, "paramStructure": "by-name", "params": [ { "name": "transaction", "summary": "transaction to be submitted to the network", "description": "The signed transaction to broadcast for inclusion in a ledger.", "required": true, "schema": { "title": "transaction", "description": "A Stellar transaction, serialized as a base64 string", "type": "string" } } ], "result": { "name": "sendTransactionResult", "summary": "Transaction status and network state.", "description": "Transaction status and network state. The result will include if the transaction was successfully enqueued, and information about the current ledger.", "schema": { "type": "object", "required": [ "hash", "status", "latestLedger", "latestLedgerCloseTime" ], "properties": { "hash": { "title": "hash", "type": "string", "minLength": 64, "maxLength": 64, "pattern": "^[a-f\\d]{64}$", "description": "Transaction hash (as a hex-encoded string)" }, "status": { "type": "string", "description": "The current status of the transaction by hash.", "enum": [ "PENDING", "DUPLICATE", "TRY_AGAIN_LATER", "ERROR" ] }, "latestLedger": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" }, "latestLedgerCloseTime": { "title": "latestLedgerCloseTime", "description": "The unix timestamp of the close time of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "string" }, "errorResultXdr": { "type": "string", "description": "(optional) If the transaction status is `ERROR`, this will be a base64 encoded string of the raw TransactionResult XDR struct containing details on why stellar-core rejected the transaction.", "contentEncoding": "base64" }, "diagnosticEventsXdr": { "type": "array", "description": "(optional) If the transaction status is `ERROR`, this field may be present with an array of base64 encoded strings. Each string will decode to a raw DiagnosticEvent XDR struct containing details on why stellar-core rejected the transaction.", "contentEncoding": "base64", "items": { "type": "string" } } } } }, "examples": [ { "name": "Pending Transaction", "description": "Submitting a valid transaction using the `sendTransaction` method, resulting in a `PENDING` status.", "params": [ { "name": "transaction", "summary": "a valid transaction sent to the network", "description": "A valid Stellar transaction that was sent to the network successfully.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAJsOiAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACgAAAAVIZWxsbwAAAAAAAAEAAAAMU29yb2JhbiBEb2NzAAAAAAAAAAELm/oYAAAAQATr6Ghp/DNO7S6JjEFwcJ9a+dvI6NJr7I/2eQttvoovjQ8te4zKKaapC3mbmx6ld6YKL5T81mxs45TjzdG5zw0=" } ], "result": { "name": "sendTransactionResult", "value": { "status": "PENDING", "hash": "d8ec9b68780314ffdfdfc2194b1b35dd27d7303c3bceaef6447e31631a1419dc", "latestLedger": 2553978, "latestLedgerCloseTime": "1700159337" } } }, { "name": "Duplicate Transaction", "description": "Submitting a valid, yet duplicate transaction using the `sendTransaction` method, resulting in a `DUPLICATE` status.", "params": [ { "name": "transaction", "summary": "a valid transaction sent to the network", "description": "A valid Stellar transaction that was sent to the network successfully.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAJsOiAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACgAAAAVIZWxsbwAAAAAAAAEAAAAMU29yb2JhbiBEb2NzAAAAAAAAAAELm/oYAAAAQATr6Ghp/DNO7S6JjEFwcJ9a+dvI6NJr7I/2eQttvoovjQ8te4zKKaapC3mbmx6ld6YKL5T81mxs45TjzdG5zw0=" } ], "result": { "name": "sendTransactionResult", "value": { "status": "DUPLICATE", "hash": "d8ec9b68780314ffdfdfc2194b1b35dd27d7303c3bceaef6447e31631a1419dc", "latestLedger": 2553978, "latestLedgerCloseTime": "1700159337" } } }, { "name": "Error Transaction", "description": "Submitting an invalid transaction using the `sendTransaction` method, resulting in an `ERROR` status.", "params": [ { "name": "transaction", "summary": "an invalid transaction sent to the network", "description": "An invalid Stellar transaction that was sent to the network, built with an incorrect sequence number.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAAAAAAAAACgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACgAAAAVIZWxsbwAAAAAAAAEAAAAMU29yb2JhbiBEb2NzAAAAAAAAAAELm/oYAAAAQMQkfl8sdCYQIOdJB0TyazJ126y2TFRjL8yNHSb4TTsH5Ym6qM6gkTx1ENRZ0PFprVGusMTHISzdPHYJ4njBZAQ=" } ], "result": { "name": "sendTransactionResult", "value": { "errorResultXdr": "AAAAAAAAAGT////7AAAAAA==", "status": "ERROR", "hash": "84a5f62bff422581dda019811daed0868a3db41833ad6e90a12f0d7db1be8167", "latestLedger": 2553978, "latestLedgerCloseTime": "1700159337" } } }, { "name": "Try Again Later Transaction", "description": "Submitting a valid transaction before an account's previously submitted transaction has settled using the `sendTransaction` method, resulting in a `TRY_AGAIN_LATER` status.", "params": [ { "name": "transaction", "summary": "a valid transaction sent to the network", "description": "A valid Stellar transaction that was sent to the network successfully.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAJsOiAAAADQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACgAAAAVIZWxsbwAAAAAAAAEAAAAMU29yb2JhbiBEb2NzAAAAAAAAAAELm/oYAAAAQATr6Ghp/DNO7S6JjEFwcJ9a+dvI6NJr7I/2eQttvoovjQ8te4zKKaapC3mbmx6ld6YKL5T81mxs45TjzdG5zw0=" } ], "result": { "name": "sendTransactionResult", "value": { "status": "TRY_AGAIN_LATER", "hash": "d8ec9b68780314ffdfdfc2194b1b35dd27d7303c3bceaef6447e31631a1419dc", "latestLedger": 2553978, "latestLedgerCloseTime": "1700159337" } } } ] }, { "name": "simulateTransaction", "summary": "submits a trial contract invocation transaction", "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.", "externalDocs": { "url": "https://soroban.stellar.org/api/methods/simulateTransaction" }, "paramStructure": "by-name", "params": [ { "name": "transaction", "summary": "transaction to be simulated", "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`.", "required": true, "schema": { "title": "transaction", "description": "A Stellar transaction, serialized as a base64 string", "type": "string" } }, { "name": "resourceConfig", "summary": "configuration for how resources will be calculated", "description": "Contains configuration for how resources will be calculated when simulating transactions.", "required": false, "schema": { "title": "resourceConfig", "description": "Configuration for how resources will be calculated.", "type": "object", "properties": { "instructionLeeway": { "title": "instructionLeeway", "description": "Allow this many extra instructions when budgeting resources.", "type": "number" } } } } ], "result": { "name": "simulateTransactionResult", "summary": "anticipated affects of the transaction.", "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.", "schema": { "type": "object", "required": [ "latestLedger" ], "properties": { "latestLedger": { "title": "latestLedger", "description": "The sequence number of the latest ledger known to Soroban RPC at the time it handled the request.", "type": "number" }, "minResourceFee": { "type": "string", "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/encyclopedia/fees-surge-pricing-fee-strategies#network-fees-on-stellar). Not present in case of error." }, "cost": { "type": "object", "description": "(optional) - The cost object is legacy, inaccurate, and will be deprecated in future RPC releases. Please decode transactionData XDR to retrieve the correct resources.", "deprecated": true, "required": [ "cpuInsns", "memBytes" ], "properties": { "cpuInsns": { "type": "string", "description": "Stringified number - Total cpu instructions consumed by this transaction" }, "memBytes": { "type": "string", "description": "Stringified number - Total memory bytes allocated by this transaction" } } }, "results": { "type": "array", "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": { "type": "object", "required": [ "xdr", "auth" ], "properties": { "xdr": { "type": "string", "description": "Serialized base64 string - return value of the Host Function call." }, "auth": { "type": "array", "description": "Array of serialized base64 strings - Per-address authorizations recorded when simulating this Host Function call.", "items": { "type": "string" } } } } }, "transactionData": { "type": "string", "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." }, "events": { "type": "array", "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" } }, "restorePreamble": { "type": "object", "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.", "required": [ "minResourceFee", "transactionData" ], "properties": { "minResourceFee": { "type": "string", "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/encyclopedia/fees-surge-pricing-fee-strategies#network-fees-on-stellar)." }, "transactionData": { "type": "string", "description": "Serialized base64 string - The recommended Soroban Transaction Data to use when submitting the `RestoreFootprint` operation." } } }, "error": { "type": "string", "description": "(optional) - This field will include details about why the invoke host function call failed. Only present if the transaction simulation failed." } } } }, "examples": [ { "name": "Successful Transaction Simulation", "description": "Transaction simulation that succeeds and returns the necessary information to prepare and submit the transaction.", "params": [ { "name": "transaction", "summary": "a valid transaction", "description": "A transaction that will correctly invoke a contract function.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAJsOiAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAJaW5jcmVtZW50AAAAAAAAAgAAABIAAAAAAAAAACDh1sDGwYAYgJ8EbeJPZwoZhDqEriwlbNnqivULm/oYAAAAAwAAAAMAAAAAAAAAAAAAAAA=" }, { "name": "resourceConfig", "summary": "the default resource configuration", "description": "The default value for the (optional) resource configuration object for transaction simulation.", "value": { "instructionLeeway": 3000000 } } ], "result": { "name": "simulateTransactionResult", "value": { "transactionData": "AAAAAAAAAAIAAAAGAAAAAcwD/nT9D7Dc2LxRdab+2vEUF8B+XoN7mQW21oxPT8ALAAAAFAAAAAEAAAAHy8vNUZ8vyZ2ybPHW0XbSrRtP7gEWsJ6zDzcfY9P8z88AAAABAAAABgAAAAHMA/50/Q+w3Ni8UXWm/trxFBfAfl6De5kFttaMT0/ACwAAABAAAAABAAAAAgAAAA8AAAAHQ291bnRlcgAAAAASAAAAAAAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAAEAHfKyAAAFiAAAAIgAAAAAAAAAAw==", "minResourceFee": "90353", "events": [ "AAAAAQAAAAAAAAAAAAAAAgAAAAAAAAADAAAADwAAAAdmbl9jYWxsAAAAAA0AAAAgzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAPAAAACWluY3JlbWVudAAAAAAAABAAAAABAAAAAgAAABIAAAAAAAAAACDh1sDGwYAYgJ8EbeJPZwoZhDqEriwlbNnqivULm/oYAAAAAwAAAAM=", "AAAAAQAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAACAAAAAAAAAAIAAAAPAAAACWZuX3JldHVybgAAAAAAAA8AAAAJaW5jcmVtZW50AAAAAAAAAwAAAAw=" ], "results": [ { "auth": [], "xdr": "AAAAAwAAAAw=" } ], "cost": { "cpuInsns": "1635562", "memBytes": "1295756" }, "latestLedger": 2552139 } } }, { "name": "Failed Transaction Simulation", "description": "Transaction simulation that fails due to the contract invocation being constructed with an improper number of arguments.", "params": [ { "name": "transaction", "summary": "an invalid transaction", "description": "A transaction that attempts to invoke a contract function with the wrong number of arguments.", "value": "AAAAAgAAAAAg4dbAxsGAGICfBG3iT2cKGYQ6hK4sJWzZ6or1C5v6GAAAAGQAJsOiAAAADwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAJaW5jcmVtZW50AAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAA" }, { "name": "resourceConfig", "summary": "the default resource configuration", "description": "The default value for the (optional) resource configuration object for transaction simulation.", "value": { "instructionLeeway": 3000000 } } ], "result": { "name": "simulateTransactionResult", "value": { "error": "host invocation failed\n\nCaused by:\n HostError: Error(WasmVm, InternalError)\n \n Event log (newest first):\n 0: [Diagnostic Event] contract:cc03fe74fd0fb0dcd8bc5175a6fedaf11417c07e5e837b9905b6d68c4f4fc00b, topics:[error, Error(WasmVm, InternalError)], data:[\"VM call failed: Func(MismatchingParameterLen)\", increment]\n 1: [Diagnostic Event] topics:[fn_call, Bytes(cc03fe74fd0fb0dcd8bc5175a6fedaf11417c07e5e837b9905b6d68c4f4fc00b), increment], data:3\n \n Backtrace (newest first):\n 0: soroban_env_host::vm::Vm::invoke_function_raw\n 1: soroban_env_host::host::frame::::with_frame\n 2: soroban_env_host::host::frame::::call_n_internal\n 3: soroban_env_host::host::frame::::invoke_function\n 4: preflight::preflight::preflight_invoke_hf_op\n 5: preflight::preflight_invoke_hf_op::{{closure}}\n 6: core::ops::function::FnOnce::call_once{{vtable.shim}}\n 7: preflight::catch_preflight_panic\n 8: _cgo_0b49d6ed4a0b_Cfunc_preflight_invoke_hf_op\n at tmp/go-build/cgo-gcc-prolog:103:11\n 9: runtime.asmcgocall\n at ./runtime/asm_amd64.s:848\n \n ", "events": [ "AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAADwAAAAdmbl9jYWxsAAAAAA0AAAAgzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAAPAAAACWluY3JlbWVudAAAAAAAAAMAAAAD", "AAAAAAAAAAAAAAABzAP+dP0PsNzYvFF1pv7a8RQXwH5eg3uZBbbWjE9PwAsAAAACAAAAAAAAAAIAAAAPAAAABWVycm9yAAAAAAAAAgAAAAEAAAAHAAAAEAAAAAEAAAACAAAADgAAAC1WTSBjYWxsIGZhaWxlZDogRnVuYyhNaXNtYXRjaGluZ1BhcmFtZXRlckxlbikAAAAAAAAPAAAACWluY3JlbWVudAAAAA==" ], "cost": { "cpuInsns": "0", "memBytes": "0" }, "latestLedger": 2552013 } } } ] } ], "components": {} }