{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Core Types","siteUrl":"https://opensource.ripple.com/","meta":[{"name":"google-site-verification","content":"bLwyBi1imklcIuQxZ7JeI_kRF5Mg7yfr6arpEQV2nsE"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]},"description":"Core types in simpleXRPL — the shared account records, submission results, and connector identifiers used across the client, connectors, and verticals."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"core-types","__idx":0},"children":["Core Types"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Core types are the shared records the SDK uses across the client, connectors, and verticals — as opposed to the parameters and results specific to a single operation. They fall into three groups: the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#account"},"children":["account records"]}," that identify and reference XRPL accounts, the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#submissionresult"},"children":["submission types"]}," every write resolves to, and the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#custodiankind"},"children":["connector identifiers"]}," that say which backend owns what."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"account","__idx":1},"children":["Account"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L37"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A discovered account: its r-address paired with the connector that owns and signs for it. The SDK hands you an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client.accounts"]}," and ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["connector.listAccounts()"]}]},". It extends ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#accountref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRef"]}]},", so ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custodianRef"]}," come from there."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is distinct from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountData"]},", the on-chain snapshot returned by ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/verticals/account/retrieve"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account.retrieve"]}]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The XRPL r-address — the canonical key the SDK uses to identify the account. Inherited from ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#accountref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRef"]}]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custodianRef"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#custodianref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianRef"]}]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The owning connector's opaque native id for the account. Inherited from ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#accountref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRef"]}]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Custodian"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The connector that discovered and signs for this account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["alias"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A connector-side alias, when the backend exposes one."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The connector-specific ledger id backing this address, when the backend needs one disambiguated — e.g. Ripple Custody's multi-ledger Vault accounts, which carry no ledger default of their own."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["publicKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The account's XRPL public key (hex), when the connector exposes it. Used to populate ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SigningPubKey"]}," on transactions signed by a backend that returns only the signature, e.g. Palisade's raw sign-only path."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["object"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Advisory-only. Shape ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ kind?, tags? }"]},", where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]}," is a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#custodiankind"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianKind"]}]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tags"]}," is a list of strings."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"accountref","__idx":2},"children":["AccountRef"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L25"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The minimal reference to an account — just its r-address and the owning connector's native id. ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#account"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}]}," extends it, and a connector's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primary"]}," field is an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRef"]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The XRPL r-address."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custodianRef"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"#custodianref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianRef"]}]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The owning connector's opaque native id for the account."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"accountselector","__idx":3},"children":["AccountSelector"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L79"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["How you choose the source account for an operation — the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["from"]}," option on writes. It is one of three forms:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Form"},"children":["Form"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["r-address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A bare r-address string."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ address }"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["object"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An object holding an explicit r-address."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ signer, account? }"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["object"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A connector, optionally narrowed to one of the accounts it owns (by r-address)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"submissionresult","__idx":4},"children":["SubmissionResult"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L194"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SubmissionResult<T>"]}," is generic over ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T"]},", the operation-specific ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intent"]}," payload — each operation's reference page lists its own return fields. The table below is the same one those pages inline under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Returns"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every simpleXRPL write resolves to a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SubmissionResult<T>"]}," — a union tagged by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["source"]},", with the backend's raw response preserved verbatim. Its common fields are:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["T"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The operation-specific output — see the operation's own return fields."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["source"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'xrpld' | 'custody' | 'palisade'"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Which backend produced the result; discriminates ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["response"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["response"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TxResponse"]}," | custody record | Palisade record"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The backend's raw response, preserved verbatim."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["txHash"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The XRPL transaction hash, once the transaction is on-ledger."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The custodian intent id, when the path produced one. Hold onto this to resume via ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client.intent"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idempotencyKey"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The UUIDv7 this submission carried. Pass it back as a later call's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idempotencyKey"]}," to retry to the same intent rather than creating a duplicate."]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["txHash"]}," being absent doesn't mean the write failed — on a governed connector the intent may still be awaiting approval. Hold onto ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentId"]}," and resume through ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/intent-inspector"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client.intent"]}]},"; see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/intent-inspector"},"children":["Intent Inspector"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"submissionhandle","__idx":5},"children":["SubmissionHandle"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L212"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Returned by an async submission, and by ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/intent-inspector#handlefor"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client.intent.handleFor()"]}]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]}," is a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#custodiankind"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianKind"]}]},"; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custodian"]}," is the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors"},"children":["connector"]}," itself."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SubmissionHandle"]}," lets you poll or wait for a terminal state without holding the original request open."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianKind"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The connector kind that owns the underlying intent or transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The custodian-native id (an intent id), or the XRPL transaction hash for local signing."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custodian"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Custodian"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The connector that produced this handle."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["poll"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["() => Promise<SubmissionResult>"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A non-blocking snapshot of the current state."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wait"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["(timeoutMs?: number) => Promise<SubmissionResult>"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Block until terminal state or the timeout (defaults to the connector's)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancel"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["() => Promise<void>"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancel the pending intent, where the backend supports it."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"onchainresult","__idx":6},"children":["OnChainResult"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L308"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The outcome of a transaction confirmed on-ledger, returned by ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/intent-inspector#awaitonchain"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["client.intent.awaitOnChain()"]}]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OnChainResult"]}," reports a transaction that reached the ledger."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["txHash"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The XRPL transaction hash."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mptIssuanceId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Present only when the transaction created an MPT issuance."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"feeintent","__idx":7},"children":["FeeIntent"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L99"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A normalized fee intent. The public surface never takes raw drops for the fee itself — each path translates this to its backend's fee model. Used as a connector's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["defaultFee"]}," and as the per-write ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee"]}," option."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["priority"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'low' | 'medium' | 'high'"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Priority tier. Backends that cannot honor it auto-price and warn."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["maxFeeDrops"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}," ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(optional)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The maximum fee cap, in drops — the common contract across all paths."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"custodiankind","__idx":8},"children":["CustodianKind"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L10"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Which signing backend a ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors"},"children":["connector"]}," adapts. One of four string literals:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'local'"]}," · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'ripple-custody'"]}," · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'palisade-custody'"]}," · ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'external'"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"custodianref","__idx":9},"children":["CustodianRef"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/domain/model.ts#L18"},"children":["[Source]"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A connector's opaque native identifier for an account, read only by the connector that owns it. One of:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Form"},"children":["Form"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Used by"},"children":["Used by"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["account id"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account-id connectors."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ vaultId, walletId }"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["object"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vault-based connectors, e.g. ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors/palisade"},"children":["Palisade"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["absent"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["undefined"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Local wallets, which have no backend-side id."]}]}]}]}]}]},"headings":[{"value":"Core Types","id":"core-types","depth":1},{"value":"Account","id":"account","depth":2},{"value":"AccountRef","id":"accountref","depth":2},{"value":"AccountSelector","id":"accountselector","depth":2},{"value":"SubmissionResult","id":"submissionresult","depth":2},{"value":"SubmissionHandle","id":"submissionhandle","depth":2},{"value":"OnChainResult","id":"onchainresult","depth":2},{"value":"FeeIntent","id":"feeintent","depth":2},{"value":"CustodianKind","id":"custodiankind","depth":2},{"value":"CustodianRef","id":"custodianref","depth":2}],"frontmatter":{"seo":{"description":"Core types in simpleXRPL — the shared account records, submission results, and connector identifiers used across the client, connectors, and verticals.","title":"Core Types"},"labels":["simpleXRPL","SDK"]},"editPage":{"to":"https://github.com/ripple/opensource.ripple.com/tree/main/docs/simpleXRPL/references/types.md"},"lastModified":"2026-08-26T19:04:06.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/simplexrpl/references/types","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}