# Look Up Checks This tutorial shows how to look up [Checks](/docs/concepts/payment-types/checks) by their sender or recipient, in JavaScript. ## Prerequisites - You should be familiar with the basics of using the [xrpl.js client library](/docs/tutorials/javascript/build-apps/get-started). - 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](/docs/tutorials/how-tos/use-specialized-payment-types/use-checks/send-a-check). ## Source Code The complete source code for this tutorial is available in the source repository for this website: Checks sample code ## 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](/docs/references/http-websocket-apis/api-conventions/markers-and-pagination). // 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. For each Check entry in the results, the Check's ID is in the `index` field. You'll need this value to cash or cancel the Check.