Stellar Horizon server provides a web API that allows retrieving payments for specific account/ledger/transaction. However, there is no easy way to find the payment by specific search criteria. It's one of the common questions I receive from Stellar newcomers.
Meet Payment Locator, a service that provides both UI and public API for payment tracking.
Features
- Lookup operations by transaction memo, amount, asset, source/destination account.
- Search by a single parameter or a complex criteria.
- All operations are supported:
PAYMENT
, PATH_PAYMENT
, CREATE_ACCOUNT
, MERGE_ACCOUNT
.
- Find everything, no matter how long ago operations were submitted.
- Works even with deleted (merged) accounts.
- Open API for developers.
For developers
Payment Locator API is publicly available for developers, free of charge. Explore payments using StellarExpert interface or integrate the API into your own application.
API Endpoint
API endpoint follows Stellar Horizon API format convention. A response result contains records and navigation links.
Basic usage:
/api/{network}/payments?asset={asset}&memo={memo}&amount={amount}&from={source_account}&to={destination_account}
Where
- network
- "public" or "testnet"
- memo
- transaction memo
- asset
- an asset in format "BTC-GK..L4" (ignore for XLM)
- amount
- exact payment amount
- from
- source account address
- to
- destination account address
(All query parameters are optional)
Paging and Order
The following query parameters control results paging and ordering:
cursor
- operation ID from which to continue search (referred also as paging_token in a result set)
order
- "asc" or "desc"(default), controls results order
limit
- data page size
Rate Limiting and Caching Considerations
The effective API request rate is limited to 5 requests per second for each individual IP. Please consider response caching on your side in case of heavy utilization.
CORS
Cross-origin requests are fully supported.
Please share your thoughts and feel free to ask for any additional functionality if needed.