Look Up Checks
This tutorial shows how to look up Checks by their sender or recipient, in JavaScript.
Prerequisites
- You should be familiar with the basics of using the xrpl.js client library.
 - To get any results, the addresses you're looking up must have at least one Check entry in the ledger. See also: Send a Check.
 
Source Code
The complete source code for this tutorial is available in the source repository for this website:
Steps
1. Look up all Checks for the address
To get a list of all incoming and outgoing Checks for an account, use the account_objects command and set the type field of the request to checks. You may need to make multiple requests if the result is paginated.
    // Loop through account objects until marker is undefined -----------------
    let current_marker = null
    let checks_found = []
    do {
      const request = {
        "command": "account_objects",
        "account": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
        "ledger_index": "validated",
        "type": "check"
      }
      if (current_marker) {
        request.marker = current_marker
      }
      const response = await client.request(request)
      
      checks_found = checks_found.concat(response.result.account_objects)
      current_marker = response.result.marker
    } while (current_marker)
    2. Filter the responses by recipient
The response may include Checks where the account from the request is the sender or the recipient. Each member of the account_objects array of the response represents one Check. For each such Check object, the address in the Destination is address of that Check's recipient, such as in the following code:
    // Filter results by recipient --------------------------------------------
    // To filter by sender, check Account field instead of Destination
    const checks_by_recipient = []
    for (const check of checks_found) {
      if (check.Destination == "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis") {
        checks_by_recipient.push(check)
      }
    }
    
    // Print results ----------------------------------------------------------
    if (checks_by_recipient.length === 0) {
      console.log("No checks found.")
    } else {
      console.log("Checks: \n", JSON.stringify(checks_by_recipient, null, 2))
    }
    To filter by sender, check the address in the Account field of the Check instead.
index field. You'll need this value to cash or cancel the Check.