All these operations have an optional source account parameter. If the source account parameter is omitted, the source account of the transaction is considered as the source account of the operation.
Create account
Creates and funds a new account with the specified starting balance- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
CreateAccountResult
Possible errors:
Payment
Sends an amount in a specific asset to a destination account- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
PaymentResult
Possible errors:
Path payment strict send
A payment where the asset sent can be different than the asset received; allows the user to specify the amount of the asset to send Learn more about path payments: Path Payments Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
PathPaymentStrictSendResult
Possible errors:
Path payment strict receive
A payment where the asset received can be different from the asset sent; allows the user to specify the amount of the asset received Learn more about path payments: Path Payments Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
PathPaymentStrictReceiveResult
Possible errors:
Manage buy offer
Creates, updates, or deletes an offer to buy a specific amount of an asset for another Learn more about passive sell offers: Liquidity on Stellar: SDEX and Liquidity Pools- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ManageBuyOfferResult
Possible errors:
Manage sell offer
Creates, updates, or deletes an offer to sell a specific amount of an asset for another Learn more about passive sell offers: Liquidity on Stellar: SDEX and Liquidity Pools- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ManageSellOfferResult
Possible errors:
Create passive sell offer
Creates an offer to sell one asset for another without taking a reverse offer of equal price Learn more about passive sell offers: Liquidity on Stellar: SDEX and Liquidity Pools- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ManageSellOfferResult
Possible errors:
Set options
Set options for an account such as flags, inflation destination, signers, home domain, and master key weight Learn more about flags, the home domain (SEP-1), and signers and key weights.- SDKs: Python | JavaScript | Java | Go
- Threshold: High (when changing the master weight, a threshold, or a signer) or Medium (when changing anything else)
- Result:
SetOptionsResult
Possible errors:
Change trust
Creates, updates, or deletes a trustline Learn more about trustlines: Trustlines section- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ChangeTrustResult
Possible errors:
Allow trust
Updates the authorized flag of an existing trustline. This operation can only be performed by the asset issuer- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
AllowTrustResult
Possible errors:
Account merge
Transfers the XLM balance of an account to another account and removes the source account from the ledger A source account can only be merged once it holds no non-signer subentries: any trustlines, offers, or data entries must be removed first. Signers are not a blocker — they (including sponsored signers) are removed automatically during the merge. Sponsorship also blocks a merge (ACCOUNT_MERGE_IS_SPONSOR), and this covers two distinct conditions with different remedies: (1) the account is already sponsoring reserves for other accounts (numSponsoring > 0) — revoke those sponsorships first; or (2) the account has an open is-sponsoring-future-reserves relationship earlier in the same transaction — that relationship must be ended (with EndSponsoringFutureReserves) before the merge, and in this case there may be no created reserve to revoke. In either case, merely being sponsored by another account does not block a merge.
- SDKs: Python | JavaScript | Java | Go
- Threshold: High
- Result:
AccountMergeResult
Possible errors:
Manage data
Sets, modifies, or deletes a data entry (name/value pair) that is attached to an account Learn more about entries and subentries: Accounts section- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ManageDataResult
Possible errors:
Bump sequence
Bumps forward the sequence number of the source account to the given sequence number, invalidating any transaction with a smaller sequence number- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
BumpSequenceResult
Possible errors:
Create claimable balance
Moves an amount of asset from the operation source account into a new ClaimableBalanceEntry Learn more about claimable balances: Claimable Balances Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
CreateClaimableBalanceResult
Possible errors:
Claim claimable balance
Claims a ClaimableBalanceEntry that corresponds to the BalanceID and adds the amount of an asset on the entry to the source account Learn more about claimable balances and view more parameters: Claimable Balances Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
ClaimClaimableBalanceResult
Possible errors:
Begin sponsoring future reserves
Allows an account to pay the base reserves for another account; sponsoring account establishes the is-sponsoring-future-reserves relationship There must also be an end sponsoring future reserves operation in the same transaction Learn more about sponsored reserves: Sponsored Reserves Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
BeginSponsoringFutureReservesResult
Possible errors:
End sponsoring future reserves
Terminates the current is-sponsoring-future-reserves relationship in which the source account is sponsored Learn more about sponsored reserves: Sponsored Reserves Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
EndSponsoringFutureReservesResult
Possible errors:
Revoke sponsorship
Sponsoring account can remove or transfer sponsorships of existing ledgerEntries and signers; the logic of this operation depends on the state of the source account Learn more about sponsored reserves: Sponsored Reserves Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
RevokeSponsorshipResult
Or
Possible errors:
Clawback
Burns an amount in a specific asset from an account. Only the issuing account for the asset can perform this operation. Learn more about clawbacks: Clawback Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ClawbackResult
Possible errors:
Clawback claimable balance
Claws back an unclaimed ClaimableBalanceEntry, burning the pending amount of the asset. Only the issuing account for the asset can perform this operation. Learn more about clawbacks: Clawback Guide Learn more about claimable balances: Claimable Balances Guide- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
ClawbackClaimableBalanceResult
Possible errors:
Set trustline flags
Allows issuing account to configure authorization and trustline flags to an asset The Asset parameter is of theTrustLineAsset type. If you are modifying a trustline to a regular asset (i.e. one in a Code:Issuer format), this is equivalent to the Asset type. If you are modifying a trustline to a pool share, however, this is composed of the liquidity pool’s unique ID.
Learn more about flags: Flags Glossary Entry
- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
SetTrustLineFlagsResult
Possible errors:
Liquidity pool deposit
Deposits assets into a liquidity pool, increasing the reserves of a liquidity pool in exchange for pool shares Parameters to this operation depend on the ordering of assets in the liquidity pool: “A” refers to the first asset in the liquidity pool, and “B” refers to the second asset in the liquidity pool. If the pool is empty, then this operation deposits maxAmountA of A and maxAmountB of B into the pool. If the pool is not empty, then this operation deposits at most maxAmountA of A and maxAmountB of B into the pool. The actual amounts deposited are determined using the current reserves of the pool. You can use these parameters to control a percentage of slippage. Learn more about liquidity pools: Liquidity Pools section- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
LiquidityPoolDepositResult
Possible errors:
Liquidity pool withdraw
Withdraw assets from a liquidity pool, reducing the number of pool shares in exchange for reserves of a liquidity pool The minAmountA and minAmountB parameters can be used to control a percentage of slippage from the “spot price” on the pool. Learn more about liquidity pools: Liquidity Pools section- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
LiquidityPoolWithdrawResult
Possible errors:
Invoke Host Function
Invoke and deploy Soroban smart contracts withInvokeHostFunctionOp.
The InvokeHostFunctionOp can be used to perform the following Soroban operations:
- Invoke contract functions:
HOST_FUNCTION_TYPE_INVOKE_CONTRACT - Upload Wasm of the contracts:
HOST_FUNCTION_TYPE_UPLOAD_CONTRACT_WASM - Deploy new contracts using the uploaded Wasm or built-in implementations:
HOST_FUNCTION_TYPE_CREATE_CONTRACT
- SDKs: Python | JavaScript | Java | Go
- Threshold: Medium
- Result:
InvokeHostFunctionResult
Possible errors:
Extend Footprint TTL
Extend the time to live (TTL) of entries for Soroban smart contracts with theExtendFootprintTTLOp. This operation extends the TTL of the entries specified in the readOnly footprint of the transaction so that they will live at least extendTo ledgers past the current ledger.
Note that Soroban transactions can only contain one operation per transaction.
Learn more in the State Archival section.
- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
ExtendFootprintTTLResult
Possible errors:
Restore Footprint
Make archived Soroban smart contract entries accessible again by restoring them withRestoreFootprintOp. This operation restores the archived entries specified in the readWrite footprint.
Note that Soroban transactions can only contain one operation per transaction.
Learn more in the State Archival section.
- SDKs: Python | JavaScript | Java | Go
- Threshold: Low
- Result:
RestoreFootprintResult
Possible errors: