ledger

[Source]

The ledger command retrieves information about the public ledger. New in: Clio v1.0.0

Note that the Clio server returns validated ledger data by default.

Request Format

An example of the request format:

{
    "id": 14,
    "command": "ledger",
    "ledger_index": "validated",
    "transactions": false,
    "expand": false,
    "owner_funds": false,
    "diff": false
}
{
    "method": "ledger",
    "params": [
        {
            "ledger_index": "validated",
            "transactions": false,
            "expand": false,
            "owner_funds": false,
            "diff": false
        }
    ]
}

The request can contain the following parameters:

Field Type Description
ledger_hash String (Optional) A 20-byte hex string for the ledger version to use. (See Specifying Ledgers).
ledger_index String or Unsigned Integer (Optional) The ledger index of the ledger to use, or a shortcut string to choose a ledger automatically. (See Specifying Ledgers)
transactions Boolean (Optional) If true, return information on transactions in the specified ledger version. Defaults to false. Ignored if you did not specify a ledger version.
expand Boolean (Optional) Provide full JSON-formatted information for transaction/account information instead of only hashes. Defaults to false. Ignored unless you request transactions.
owner_funds Boolean (Optional) If true, include owner_funds field in the metadata of OfferCreate transactions in the response. Defaults to false. Ignored unless transactions are included and expand is true.
binary Boolean (Optional) If true, and transactions and expand are both also true, return transaction information in binary format (hexadecimal string) instead of JSON format.
diff Boolean (Optional) If true, returns all objects that were added, modified, or deleted as part of applying transactions in the specified ledger.

The ledger field is deprecated and may be removed without further notice.

Note: The ledger command in Clio does not support the following fields that are supported by ledger command in rippled:

  • accounts
  • full
  • queue

Clio will always forward the request to rippled when any of the above fields is set to true.

Response Format

An example of a successful response:

{
  "result": {
    "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
    "ledger_index": 82681623,
    "validated": true,
    "ledger": {
      "account_hash": "39D34D858A0FD652143ED84B67A09193772DE0CCEBD2D63619E679293B7A3388",
      "close_flags": 0,
      "close_time": 748569571,
      "close_time_human": "2023-Sep-20 23:59:31.000000000 UTC",
      "close_time_resolution": 10,
      "closed": true,
      "ledger_hash": "3787026448652A36491493C1202A443B2A6CC6022599BB0B25DDB0802DD7F1E7",
      "ledger_index": "82681623",
      "parent_close_time": 748569570,
      "parent_hash": "674FF6C68956E06CB9628833677C3DD71824C87C0AEFB487984CF98C3964DAEE",
      "total_coins": "99988406188847858",
      "transaction_hash": "11EE9C448D6B07B88A80B4FC7935B485E513816B3B47D0976CE9F51E7CF10A85"
    }
  },
  "status": "success",
  "type": "response",
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}
200 OK

{
  "result": {
    "ledger_hash": "4E2F27F997943EAF522FB0D6AE4B25B1F54FDDE531E0469EF436B18391CFC7D9",
    "ledger_index": 82681548,
    "validated": true,
    "ledger": {
      "account_hash": "608FCCDB3261FEF57B6EB76C89E3FE11B7C8D198DF443831BABF33D08FC8C12A",
      "close_flags": 0,
      "close_time": 748569290,
      "close_time_human": "2023-Sep-20 23:54:50.000000000 UTC",
      "close_time_resolution": 10,
      "closed": true,
      "ledger_hash": "4E2F27F997943EAF522FB0D6AE4B25B1F54FDDE531E0469EF436B18391CFC7D9",
      "ledger_index": "82681548",
      "parent_close_time": 748569282,
      "parent_hash": "DCECE701AE72CD9E3C1161EC6C98048DFF5797045CD49AD6038BE6D4610EED93",
      "total_coins": "99988406204467365",
      "transaction_hash": "95491C538DC25D4980AADC5E2ABAB90E1D4E20A02E772EA6A1C514BFC19987E4"
    },
    "status": "success"
  },
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}

The response follows the standard format, with a successful result containing information about the ledger, including the following fields:

Field Type Description
ledger Object The complete header data of this ledger.
ledger.account_hash String Hash of all account state information in this ledger, as hex
ledger.accountState Array (Omitted unless requested) All the account-state information in this ledger.
ledger.close_flags Integer A bit-map of flags relating to the closing of this ledger.
ledger.close_time Integer The time this ledger was closed, in seconds since the Ripple Epoch
ledger.close_time_human String The time this ledger was closed, in human-readable format. Always uses the UTC time zone.
ledger.close_time_resolution Integer Ledger close times are rounded to within this many seconds.
ledger.closed Boolean Whether or not this ledger has been closed
ledger.ledger_hash String Unique identifying hash of the entire ledger.
ledger.ledger_index String The Ledger Index of this ledger, as a quoted integer
ledger.parent_close_time Integer The time at which the previous ledger was closed.
ledger.parent_hash String Unique identifying hash of the ledger that came immediately before this one.
ledger.total_coins String Total number of XRP drops in the network, as a quoted integer. (This decreases as transaction costs destroy XRP.)
ledger.transaction_hash String Hash of the transaction information included in this ledger, as hex
ledger.transactions Array (Omitted unless requested) Transactions applied in this ledger version. By default, members are the transactions' identifying Hash strings. If the request specified expand as true, members are full representations of the transactions instead, in either JSON or binary depending on whether the request specified binary as true.
ledger_hash String Unique identifying hash of the entire ledger.
ledger_index Number The Ledger Index of this ledger.
validated Boolean (May be omitted) If true, this is a validated ledger version. If omitted or set to false, this ledger's data is not final.
diff Object (Omitted unless requested with the diff parameter) Object containing an array of hashes that were added, modified, or deleted as part of applying transactions for the ledger.

If the request specified "owner_funds": true and expanded transactions, the response has a field owner_funds in the metaData object of each OfferCreate transaction. The purpose of this field is to make it easier to track the funding status of offers with each new validated ledger. This field is defined slightly differently than the version of this field in Order Book subscription streams:

Field Value Description
owner_funds String Numeric amount of the TakerGets currency that the Account sending this OfferCreate transaction has after the execution of all transactions in this ledger. This does not check whether the currency amount is frozen.

If the request specified "diff: true, the response has an object diff. The fields of this object are as follows:

Field Value Description
object_id String The object identifier.
Hashes Object or Hex String Depending on whether the request set binary to true or false, this field returns the contents of the object that was created, the new value of an object that was modified, or an empty string if the object was deleted.

Response When diff is true

{
  "result": {
    "ledger_hash": "0C445F6F348AA5FF25A631C904F7277980F7FD2A6BACBB3A74FCF95F671D4884",
    "ledger_index": 82681558,
    "validated": true,
    "ledger": {
      "account_hash": "60BF81E9BCA5CEDB629B8D19DE0791F13318B4C6B6886E35A211824F9EB04DE5",
      "close_flags": 0,
      "close_time": 748569330,
      "close_time_human": "2023-Sep-20 23:55:30.000000000 UTC",
      "close_time_resolution": 10,
      "closed": true,
      "ledger_hash": "0C445F6F348AA5FF25A631C904F7277980F7FD2A6BACBB3A74FCF95F671D4884",
      "ledger_index": "82681558",
      "parent_close_time": 748569321,
      "parent_hash": "817E4F1791BE34C1214E78E02CAB794C54615F69E765D140D0BD820EA81BF0E9",
      "total_coins": "99988406204421588",
      "transaction_hash": "2D7808600F9CF57E263EC1EC4AA7357586AE949908EA7DBF023D241812CDC9B5",
      "diff": [
        {
          "object_id": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F0E155AF07E5400",
          "object": {
            "ExchangeRate": "4f0e155af07e5400",
            "Flags": 0,
            "Indexes": [
              "4CF31E76F470F4CBE7E7EDD1973CDFA564A59672D14C577C51517A1E3469E53A"
            ],
            "LedgerEntryType": "DirectoryNode",
            "RootIndex": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F0E155AF07E5400",
            "TakerGetsCurrency": "0000000000000000000000000000000000000000",
            "TakerGetsIssuer": "0000000000000000000000000000000000000000",
            "TakerPaysCurrency": "000000000000000000000000434E590000000000",
            "TakerPaysIssuer": "CED6E99370D5C00EF4EBF72567DA99F5661BFB3A",
            "index": "02BAAC1E67C1CE0E96F0FA2E8061020536CEDD043FEB0FF54F0E155AF07E5400"
          }
        },
        ... (trimmed for length) ...
        {
          "object_id": "F0B9A528CE25FE77C51C38040A7FEC016C2C841E74C1418D5B0A3845AE4FF3FC",
          "object": {
            "ExchangeRate": "5b0a3845ae4ff3fc",
            "Flags": 0,
            "Indexes": [
              "7C085618D0A2BC3A8919A032699A2219C08D112CC4020E615CE37C4ABE31A13C"
            ],
            "LedgerEntryType": "DirectoryNode",
            "RootIndex": "F0B9A528CE25FE77C51C38040A7FEC016C2C841E74C1418D5B0A3845AE4FF3FC",
            "TakerGetsCurrency": "0000000000000000000000005553440000000000",
            "TakerGetsIssuer": "2ADB0B3959D60A6E6991F729E1918B7163925230",
            "TakerPaysCurrency": "0000000000000000000000000000000000000000",
            "TakerPaysIssuer": "0000000000000000000000000000000000000000",
            "index": "F0B9A528CE25FE77C51C38040A7FEC016C2C841E74C1418D5B0A3845AE4FF3FC"
          }
        },
        {
          "object_id": "F0B9A528CE25FE77C51C38040A7FEC016C2C841E74C1418D5B0A395385B74F22",
          "object": ""
        },
        {
          "object_id": "F97B88D103742E8C7CBDB982FF8843DC9E128E968668837B9468B1DB47EABBDC",
          "object": {
            "Account": "r4AZpDKVoBxVcYUJCWMcqZzyWsHTteC4ZE",
            "BookDirectory": "623C4C4AD65873DA787AC85A0A1385FE6233B6DE100799474F12ED4BF0EFEAD9",
            "BookNode": "0",
            "Flags": 0,
            "LedgerEntryType": "Offer",
            "OwnerNode": "0",
            "PreviousTxnID": "15D26953F0CE5216DC8BC7123E3DB8C8EC210D6127A7F34E182318206E0F2DFE",
            "PreviousTxnLgrSeq": 82681558,
            "Sequence": 132450778,
            "TakerGets": "3677818937",
            "TakerPays": {
              "currency": "CNY",
              "issuer": "rJ1adrpGS3xsnQMb9Cw54tWJVFPuSdZHK",
              "value": "19593.43327917432"
            },
            "index": "F97B88D103742E8C7CBDB982FF8843DC9E128E968668837B9468B1DB47EABBDC"
          }
        }
      ]
    },
    "status": "success"
  },
  "warnings": [
    {
      "id": 2001,
      "message": "This is a clio server. clio only serves validated data. If you want to talk to rippled, include 'ledger_index':'current' in your request"
    }
  ]
}

Possible Errors

  • Any of the universal error types.
  • invalidParams - One or more fields are specified incorrectly, or one or more required fields are missing.
  • lgrNotFound - The ledger specified by the ledger_hash or ledger_index does not exist, or it does exist but the server does not have it.