{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Connectors","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":"A connector is a signing backend in simpleXRPL — LocalSigner, ExternalSigner, RippleCustody, or PalisadeCustody — constructed on its own and bound to the client at initialization."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"connectors","__idx":0},"children":["Connectors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A connector is a signing backend: it determines how an operation runs and which custodian holds your account keys. Each is constructed and authenticated on its own, then passed to the client constructed by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["simpleXRPL"]}," in a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signers"]}," array. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["simpleXRPL"]}," supports these connectors:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors/local"},"children":["Local"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors/external"},"children":["External"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors/ripple-custody"},"children":["Ripple Custody"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/connectors/palisade"},"children":["Palisade"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every connector implements the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Custodian"]}," interface. Once constructed, it exposes these fields and methods:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"fields","__idx":1},"children":["Fields"]},{"$$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":"a","attributes":{"href":"/docs/simplexrpl/references/types#custodiankind"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianKind"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The backend the connector adapts: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ripple-custody"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["palisade-custody"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["external"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primary"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/types#accountref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountRef"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The connector's primary account reference. Used when a vertical operation runs without an explicit account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primary.address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The primary account's XRPL r-address."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["primary.custodianRef"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/types#custodianref"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CustodianRef"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"em","attributes":{},"children":["(Optional)"]}," The connector's opaque native id for the account."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"methods","__idx":2},"children":["Methods"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"listaccounts","__idx":3},"children":["listAccounts()"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List the accounts the connector holds."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"signature","__idx":4},"children":["Signature"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ts","header":{"controls":{"copy":{}}},"source":"connector.listAccounts(): Promise<Account[]>\n","lang":"ts"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"parameters","__idx":5},"children":["Parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["listAccounts"]}," takes no arguments."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"returns","__idx":6},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Resolves to an array of ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/simplexrpl/references/types#account"},"children":["Account"]}," records the connector discovered and can sign for."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"example","__idx":7},"children":["Example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ts","header":{"controls":{"copy":{}}},"source":"const accounts = await connector.listAccounts()\n\nconsole.log(accounts.map((account) => account.address))\n","lang":"ts"},"children":[]}]},"headings":[{"value":"Connectors","id":"connectors","depth":1},{"value":"Fields","id":"fields","depth":2},{"value":"Methods","id":"methods","depth":2},{"value":"listAccounts()","id":"listaccounts","depth":3},{"value":"Signature","id":"signature","depth":4},{"value":"Parameters","id":"parameters","depth":4},{"value":"Returns","id":"returns","depth":4},{"value":"Example","id":"example","depth":4}],"frontmatter":{"seo":{"description":"A connector is a signing backend in simpleXRPL — LocalSigner, ExternalSigner, RippleCustody, or PalisadeCustody — constructed on its own and bound to the client at initialization.","title":"Connectors"},"labels":["simpleXRPL","SDK"]},"editPage":{"to":"https://github.com/ripple/opensource.ripple.com/tree/main/docs/simpleXRPL/references/connectors/index.md"},"lastModified":"2026-08-21T22:24:31.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/simplexrpl/references/connectors","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}