Understanding Transaction Filtering Across Multiple Postings
Last updated: March 10, 2025
When filtering transactions based on posting fields (like source and destination addresses), it's important to understand that filters apply across all postings within a transaction, not just individual postings.
How Cross-Posting Filters Work
If you filter for transactions where:
source = "world" AND
destination = "user:123"
The transaction will match if ANY of its postings have source="world" AND ANY of its postings have destination="user:123". The source and destination don't need to be in the same posting.
Example
For instance, this transaction would match the above filters because it contains:
{
"postings": [
{
"source": "world", // Matches source filter
"destination": "order:abc:payment",
"amount": 100,
"asset": "USD/2"
},
{
"source": "order:abc:payment",
"destination": "platform:fee",
"amount": 1,
"asset": "USD/2"
},
{
"source": "order:abc:payment",
"destination": "user:123", // Matches destination filter
"amount": 99,
"asset": "USD/2"
}
]
}
Even though no single posting has both source="world" AND destination="user:123", the transaction matches because the criteria are met across multiple postings.