See the Feature Support by Chain page for details about product and chain support!
Alchemy's Stellar Address Activity webhook tracks value movement on the Stellar network for the accounts that you configure: native XLM transfers, Stellar Classic asset transfers, DEX offer fills, claimable balance operations, liquidity pool deposits and withdrawals, Soroban contract events, and V4 protocol fee refunds. This provides your app with real-time state changes whenever one of your tracked accounts is credited or debited. A maximum of 100,000 addresses can be tracked by a single webhook.
If you are looking for historical activity on Stellar, check out the Stellar Data API.
Each activity entry carries a category field identifying the kind of Stellar activity it represents. The supported categories are:
| Category | What it captures |
|---|---|
native | XLM movement from Payment, CreateAccount, and AccountMerge operations. |
classic | Non-native asset movement from Payment, PathPaymentStrictSend / PathPaymentStrictReceive, and Clawback operations. |
dex | Offer fills from ManageSellOffer / ManageBuyOffer and CreatePassiveSellOffer, plus path-payment ClaimAtoms. Path-payment claims emit two rows per fill (both legs of the trade). |
claimable_balance | Balance movement from CreateClaimableBalance, ClaimClaimableBalance, and ClawbackClaimableBalance operations. |
liquidity_pool | Deposits into and withdrawals from Stellar AMM liquidity pools (LiquidityPoolDeposit, LiquidityPoolWithdraw), derived from pool reserve diffs. |
soroban | Soroban contract events, including transfer, mint, and burn / clawback. |
fee_refund | Protocol V4 transaction-stage fee events (unused resource fee refunded to the payer). |
Stellar transactions can contain multiple operations, and a single operation can emit multiple events. Each activity entry represents one such event and is uniquely identified by the combination of txHash, opIndex, and eventIndex.
Whenever one of the accounts that you are tracking sends or receives XLM or a Stellar Classic asset, you receive a response from the webhook that looks like this:
{
"webhookId": "wh_3q7dxv1ka9mzp5eb",
"id": "whevt_h4rn02tcysjwqf8l",
"createdAt": "2026-07-15T12:04:31.882Z",
"type": "ADDRESS_ACTIVITY",
"event": {
"network": "STELLAR_MAINNET",
"source": "galexie",
"activity": [
{
"fromAddress": "GCKVVHJM2OKNEU5TOHAHWCTZDGEO5NIGXTZ5QJXX4EGNBO7272B5HZDZ",
"toAddress": "GCM4SIVSMGRDRGI4GH7EMRWPKIAQHNIRVFVHPTBWNYGOUUPTFYI5Z252",
"ledgerSequence": 64912507,
"txHash": "a1b6c0d94e3f27ab5c8d10e4f7b93a62c5d8e1f40b7a5c9e8a2b4c6d8e1f3a2b",
"opIndex": 0,
"eventIndex": 0,
"category": "native",
"eventSubtype": "transfer",
"value": "125.0000000",
"asset": {
"type": "native",
"code": "XLM"
},
"success": true,
"blockTimestamp": "2026-07-15T12:04:26Z"
},
{
"fromAddress": "GA6ARXWJAKV2ETSCAJILDQ5YNGNKG3DQOIP6YI2S2TAV33ZOKLEBU5GP",
"toAddress": "GCKVVHJM2OKNEU5TOHAHWCTZDGEO5NIGXTZ5QJXX4EGNBO7272B5HZDZ",
"ledgerSequence": 64912507,
"txHash": "7e2d4c819a3f05b6c1d78e423b6a9f058c47d2e105b9a3f6d8c4b1e2f5a7d9c3",
"opIndex": 1,
"eventIndex": 0,
"category": "classic",
"eventSubtype": "transfer",
"value": "293.0921290",
"asset": {
"type": "credit_alphanum4",
"code": "USDC",
"issuer": "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
},
"success": true,
"blockTimestamp": "2026-07-15T12:04:26Z"
}
]
}
}Below you can find descriptions for each field of the response.
| Field | Description | Value |
|---|---|---|
webhookId | Unique ID of the webhook destination. | wh_3q7dxv1ka9mzp5eb |
id | ID of the event. | whevt_h4rn02tcysjwqf8l |
createdAt | Timestamp when the webhook event was created. | 2026-07-15T12:04:31.882Z |
type | Webhook event type. | ADDRESS_ACTIVITY |
event | Object containing the network, source, and list of transfer activities. | N/A |
network | The Stellar network the webhook is on. | STELLAR_MAINNET or STELLAR_TESTNET |
source | The ledger source used to produce the event stream. | galexie |
activity | List of transfer events whose fromAddress or toAddress matches an account configured in the webhook. | N/A |
fromAddress | The Stellar account that sent the transfer. | GCKVVHJM2OKNEU5TOHAHWCTZDGEO5NIGXTZ5QJXX4EGNBO7272B5HZDZ |
toAddress | The Stellar account that received the transfer. | GCM4SIVSMGRDRGI4GH7EMRWPKIAQHNIRVFVHPTBWNYGOUUPTFYI5Z252 |
ledgerSequence | The Stellar ledger sequence number in which the transfer was included. Equivalent to a block number on EVM chains. | 64912507 |
txHash | The hex-encoded Stellar transaction hash. | a1b6c0d94e3f27ab5c8d10e4f7b93a62c5d8e1f40b7a5c9e8a2b4c6d8e1f3a2b |
opIndex | The zero-based index of the operation within the transaction. Stellar transactions may bundle multiple operations, each of which can produce transfer events. | 0 |
eventIndex | The zero-based index of the event within the operation. A single operation can emit more than one transfer event. | 0 |
category | The category of the underlying Stellar activity. See the Types of transfers table above for the full set of values and what each captures. | native, classic, dex, claimable_balance, liquidity_pool, soroban, fee_refund |
eventSubtype | The Stellar event subtype. For account-to-account value movement this is transfer. | transfer |
value | The transfer amount, formatted as a decimal string with 7 fractional digits (Stellar assets have a fixed precision of 7). | 125.0000000 |
asset | The asset object that was transferred. See fields below. | N/A |
asset.type | The Stellar asset type. native for XLM, credit_alphanum4 for assets with a code of up to 4 characters, or credit_alphanum12 for assets with a code of up to 12 characters. | native, credit_alphanum4, credit_alphanum12 |
asset.code | The asset code. XLM for the native asset, or the issuer-defined code for a Stellar Classic asset (for example, USDC). | XLM, USDC |
asset.issuer | The Stellar account that issued the asset. Omitted for native XLM transfers. | GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN |
success | Whether the underlying Stellar transaction was applied successfully. | true |
blockTimestamp | The ISO 8601 timestamp at which the enclosing ledger closed. | 2026-07-15T12:04:26Z |
- Navigate to the Webhooks page in your Alchemy Dashboard.
- Click the Create Webhook button.
- Choose Address Activity as the webhook type.
- Select Stellar in the CHAIN dropdown. Then choose your NETWORK (Mainnet or Testnet).
- Paste your unique webhook URL into the WEBHOOK URL field.
- Enter one or more Stellar Account Addresses (
G...public keys) that you want to track. - Test your webhook by clicking the Test Webhook button.
- After the test is successful, click Create Webhook. Your webhook appears in the list.
- Check your endpoint to see the responses.
| Endpoint | Description |
|---|---|
| Webhook Addresses | Get all addresses for an Address Activity webhook |
| Update Webhook Addresses | Add or remove addresses from a specific webhook. |
| Delete Webhook | Allows you to delete a webhook. |
| Update Webhook | Allows you to set status of webhooks to active or inactive. |