This page describes changes to existing ledger entry types for Sponsored Fees and Reserves.
A new Sponsor field is added to the common ledger entry fields:
| Field Name | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
Sponsor | String | AccountID | No | The sponsor paying the owner reserve for this ledger object. When present, this indicates that the reserve burden for this object has shifted from the owner to the sponsor. |
The Sponsor field may appear on the following ledger entry types:
AccountRootOfferEscrowCheckPayChannelDepositPreauthTicketNFTokenPageNFTokenOfferAMMBridgeXChainOwnedClaimIDXChainOwnedCreateAccountClaimIDDID- Any other ledger entry type that contributes to an account's owner reserve.
Note
NFTs are stored in NFTokenPage objects, not as individual ledger entries. When sponsoring NFTs, the Sponsor field applies to the entire NFTokenPage, which can hold up to 32 NFTs. All NFTs within a sponsored page share the same sponsor.
{
"LedgerEntryType": "AccountRoot",
"Account": "rfkDkFai4jUfCvAJiZ5Vm7XvvWjYvDqeYo",
"Balance": "100000000", // 100 XRP in drops
"OwnerCount": 5,
"Sponsor": "rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf",
"SponsoredOwnerCount": 2,
"SponsoringOwnerCount": 1,
"SponsoringAccountCount": 1,
"PreviousTxnID": "1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF",
"PreviousTxnLgrSeq": 12345679
}AccountRoot ledger entries can include the following new fields:
| Field Name | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
Sponsor | String | AccountID | No | The sponsor paying the account reserve for this account. |
SponsoredOwnerCount | Number | UInt32 | No | The number of objects this account owns that are sponsored by another account. |
SponsoringOwnerCount | Number | UInt32 | No | The number of objects this account is sponsoring the reserve for. |
SponsoringAccountCount | Number | UInt32 | No | The number of accounts this account is sponsoring the account reserve for. |
{
"LedgerEntryType": "RippleState",
"Balance": {
"currency": "USD",
"issuer": "rLowAccountAddressXXXXXXXXXXXXXXX",
"value": "-10"
},
"HighLimit": {
"currency": "USD",
"issuer": "rHighAccountAddressXXXXXXXXXXXXXX",
"value": "100"
},
"LowLimit": {
"currency": "USD",
"issuer": "rLowAccountAddressXXXXXXXXXXXXXXX",
"value": "0"
},
"HighSponsor": "rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf",
"LowSponsor": "rN7n7otQDd6FczFgLdlqtyMVrn3HMfXpf",
"Flags": 262144,
"HighNode": "0000000000000000",
"LowNode": "0000000000000000",
"PreviousTxnID": "ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789",
"PreviousTxnLgrSeq": 12345680
}RippleState ledger entries can include the following new fields:
| Field Name | JSON Type | Internal Type | Required? | Description |
|---|---|---|---|---|
HighSponsor | String | AccountID | No | The sponsor paying the reserve on behalf of the high account on the trust line. |
LowSponsor | String | AccountID | No | The sponsor paying the reserve on behalf of the low account on the trust line. |
The HighSponsor and LowSponsor fields exist because bidirectional trust lines may have the reserve held by two accounts.