XRP Ledger Apex is back in Amsterdam

Register Now
Last updated
Edit

Look Up Checks by Recipient

This tutorial shows how to look up Checks by their recipient. You may also want to look up Checks by sender.

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 with the recipient account's address and set the type field of the request to checks.

Example Request

  1. ripple-lib 1.x
  2. JSON-RPC
'use strict'
const RippleAPI = require('ripple-lib').RippleAPI

// This example connects to a public Test Net server
const api = new RippleAPI({server: 'wss://s.altnet.rippletest.net:51233'})
api.connect().then(() => {
  console.log('Connected')

  const account_objects_request = {
    command: "account_objects",
    account: "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za",
    ledger_index: "validated",
    type: "check"
  }

  return api.connection.request(account_objects_request)
}).then(response => {
  console.log("account_objects response:", response)

// Disconnect and return
}).then(() => {
  api.disconnect().then(() => {
    console.log('Disconnected')
    process.exit()
  })
}).catch(console.error)

Example Response

  1. ripple-lib 1.x
  2. JSON-RPC
Connected
account_objects response: { account: 'rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za',
  account_objects:
   [ { Account: 'rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za',
       Destination: 'rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis',
       DestinationNode: '0000000000000000',
       Flags: 0,
       LedgerEntryType: 'Check',
       OwnerNode: '0000000000000000',
       PreviousTxnID: '37D90463CDE0497DB12F18099296DA0E1E52334A785710B5F56BC9637F62429C',
       PreviousTxnLgrSeq: 8003261,
       SendMax: '999999000000',
       Sequence: 5,
       index: '2E0AD0740B79BE0AAE5EDD1D5FC79E3C5C221D23C6A7F771D85569B5B91195C2' },
     { Account: 'rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis',
       Destination: 'rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za',
       DestinationNode: '0000000000000000',
       Flags: 0,
       LedgerEntryType: 'Check',
       OwnerNode: '0000000000000000',
       PreviousTxnID: 'EF462F1D004E97850AECFB8EC4836DA57706FAFADF8E0914010853C1EC7F2055',
       PreviousTxnLgrSeq: 8003480,
       SendMax: [Object],
       Sequence: 2,
       index: '323CE1D169135513085268EF81ED40775725C97E7922DBABCCE48FE3FD138861' },
     { Account: 'rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za',
       Destination: 'rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis',
       DestinationNode: '0000000000000000',
       DestinationTag: 1,
       Flags: 0,
       InvoiceID: '46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291',
       LedgerEntryType: 'Check',
       OwnerNode: '0000000000000000',
       PreviousTxnID: '09D992D4C89E2A24D4BA9BB57ED81C7003815940F39B7C87ADBF2E49034380BB',
       PreviousTxnLgrSeq: 7841263,
       SendMax: '100000000',
       Sequence: 4,
       index: '84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9' },
     { Account: 'rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za',
       Destination: 'rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis',
       DestinationNode: '0000000000000000',
       Flags: 0,
       LedgerEntryType: 'Check',
       OwnerNode: '0000000000000000',
       PreviousTxnID: 'C0B27D20669BAB837B3CDF4B8148B988F17CE1EF8EDF48C806AE9BF69E16F441',
       PreviousTxnLgrSeq: 7835887,
       SendMax: '100000000',
       Sequence: 2,
       index: 'CEA5F0BD7B2B5C85A70AE735E4CE722C43C86410A79AB87C11938AA13A11DBF9' } ],
  ledger_hash: 'DD577D96A1064E16A5DB64C3C25BFF5EF0D8E36A18E4540B162731FA6320C46D',
  ledger_index: 8004101,
  validated: true }
Disconnected

2. Filter the responses by recipient

The response may include Checks where the account from the request is the sender and Checks where the account is 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.

The following pseudocode demonstrates how to filter the responses by recipient:

recipient_address = "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za"
account_objects_response = get_account_objects({
    account: recipient_address,
    ledger_index: "validated",
    type: "check"
})

for (i=0; i < account_objects_response.account_objects.length; i++) {
  check_object = account_objects_response.account_objects[i]
  if (check_object.Destination == recipient_address) {
    log("Check to recipient:", check_object)
  }
}