{"templateId":"markdown","versions":[{"version":"v1.43","label":"v1.43 LTS","link":"/products/custody/accounts-and-assets/blockchains/canton/reference","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.42","label":"v1.42 STS","link":"/products/custody/v1.42/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.41","label":"v1.41 STS","link":"/products/custody/v1.41/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/accounts-and-assets/blockchains/canton/reference","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Canton reference","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"canton-reference","__idx":0},"children":["Canton reference"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This page lists the Canton-specific API fields, identifiers, and errors in ","Ripple Custody",". For task procedures, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/set-up-accounts-api"},"children":["Set up Canton accounts with the API"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/send-and-receive-api"},"children":["Send and receive Canton assets with the API"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"intents-and-operations","__idx":1},"children":["Intents and operations"]},{"$$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":"Intent"},"children":["Intent"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Operation"},"children":["Operation"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateLedger"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Registers a Canton network as a ledger."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_ValidateTickers"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Registers Canton Coin or a CIP-56 token as a ticker."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateAccount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creates an account and derives its party key and party ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateParty"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Allocates the account's party on the validator."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateNativeTransferPreapproval"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creates the account's Canton Coin pre-approval."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateTokenTransferPreapproval"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creates the account's pre-approval for one CIP-56 token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sends Canton Coin."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TokenTransfer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sends a CIP-56 token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Withdraw"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cancels an outgoing two-step transfer offer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Accept"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Accepts an incoming two-step transfer offer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Reject"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Rejects an incoming two-step transfer offer."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ledger-parameters","__idx":2},"children":["Ledger parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateLedger"]}," takes the following ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," for a Canton ledger. You must provide every field."]},{"$$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":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Canton"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["synchronizerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 5–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The synchronizer ID of the network. The vault checks every prepared transaction against it."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operatorId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 5–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your validator's own primary party ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dsoPartyId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 5–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Decentralized Synchronizer Operator party ID. It's the instrument administrator for Canton Coin."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["daRegistryOperator"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 5–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The DA Registry operator party ID."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateLedger"]}," also requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["alias"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customProperties"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"network-identifiers","__idx":3},"children":["Network identifiers"]},{"$$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":"Network"},"children":["Network"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"dsoPartyId"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dsoPartyId"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["MainNet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["TestNet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DSO::1220f22a8b8f2d813c25b9a684dc4dd52b532a0174d8e73a13cdf2baabfff7518337"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["DevNet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DSO::1220be58c29e65de40bf273be1dc2b266d43a9a002ea5b18955aeef7aac881bb471a"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["daRegistryOperator"]}," is the same on all three networks:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"DigitalAsset-UtilityOperator::12202679f2bbe57d8cba9ef3cee847ac8239df0877105ab1f01a77d47477fdce1204\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["synchronizerId"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operatorId"]}," from your validator operator. DevNet resets regularly, so check the DevNet values after each reset."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ticker-ledger-details","__idx":4},"children":["Ticker ledger details"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_ValidateTickers"]},", a Canton ticker's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerDetails"]}," has ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Canton"]}," and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties"]}," object of one of the following types."]},{"$$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":"properties.type"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["properties.type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Asset"},"children":["Asset"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Other fields"},"children":["Other fields"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Native"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Canton Coin"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["None."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Instrument"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A CIP-56 token"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instrumentAdmin"]}," (string, 5–255 characters): the party ID of the token's administrator.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instrumentId"]}," (string, 1–255 characters): the token's instrument ID."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["decimals"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["10"]}," for every Canton ticker."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"transaction-order-parameters","__idx":5},"children":["Transaction order parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a Canton transaction order, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," has the following 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":"Required"},"children":["Required"]},{"$$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":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Canton"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One of the operations in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#operation-fields"},"children":["Operation fields"]},"."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Canton orders don't take a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["feeStrategy"]},", and they don't support ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["maximumFee"]},". ","Ripple Custody"," rejects a Canton order that sets ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["maximumFee"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"operation-fields","__idx":6},"children":["Operation 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":"Operation"},"children":["Operation"]},{"$$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":"Required"},"children":["Required"]},{"$$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":["CreateParty"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateParty"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateNativeTransferPreapproval"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateNativeTransferPreapproval"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateTokenTransferPreapproval"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateTokenTransferPreapproval"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tickerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UUID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ticker ID of the CIP-56 token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destination"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The receiver: an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Address"]}," destination with the receiver's party ID, an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Endpoint"]}," destination, or an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," destination."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount in the smallest unit, as an integer string. The amount must be greater than zero."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["executeBefore"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["date-time"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The acceptance deadline for a two-step transfer offer. Defaults to 30 days after submission."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["memo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 1–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An on-ledger reference, visible to the sender and receiver."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TokenTransfer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TokenTransfer"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["destination"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Same as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Same as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tickerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UUID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ticker ID of the CIP-56 token."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["executeBefore"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["date-time"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Same as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["memo"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 1–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Same as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NativeTransfer"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Withdraw"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Withdraw"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contractId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 1–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The contract ID of your outgoing transfer offer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Accept"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Accept"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contractId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 1–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The contract ID of the incoming transfer offer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Reject"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Reject"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contractId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string, 1–255 characters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The contract ID of the incoming transfer offer."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"transaction-estimate","__idx":7},"children":["Transaction estimate"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A dry run of a Canton order returns an estimate with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Canton"]}," and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee"]}," field. The fee is always ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]},", because your validator operator party pays network fees as traffic."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"transaction-ledger-data","__idx":8},"children":["Transaction ledger data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a Canton transaction, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerTransactionData.ledgerData"]}," has ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Canton"]}," and can contain the following fields. ","Ripple Custody"," fills them for two-step transfer offers."]},{"$$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":["contractId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The contract ID of the transfer offer. Use it in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Accept"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Reject"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Withdraw"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sender"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The sender's party ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["receiver"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The receiver's party ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount in the smallest unit."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instrumentId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The instrument ID of the asset."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["executeBefore"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["date-time"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The deadline for the receiver to accept the offer."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerTransactionId"]}," of a Canton transaction is the Canton update ID. ","Ripple Custody"," sets it after the network sequences the transaction."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"account-keys","__idx":9},"children":["Account keys"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Canton account's party key is an Ed25519 key that ","Ripple Custody"," derives in your vault. The vault derives it from the account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ED25519_CUSTODY_1"]}," key on a reserved derivation path, which only the vault's Canton support can use. You can't request a key on this path."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["keys"]}," array of the account's provider details, the party key has the key ID ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ED25519_CANTON_PARTY_1"]}," and the type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VaultReserved"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"ED25519_CANTON_PARTY_1\",\n  \"publicKey\": {\n    \"type\": \"PublicKey\",\n    \"value\": \"...\"\n  },\n  \"type\": \"VaultReserved\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VaultReserved"]}," key has a public key only, never an extended public key. Accounts without a Canton ledger don't have ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VaultReserved"]}," keys. If your integration reads the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["keys"]}," array, make sure it accepts this type before you create Canton accounts."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The party key appears in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["keys"]}," array when you first add your Canton ledger to the account, with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateAccount"]}," intent that includes the Canton ledger ID in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerIds"]},", or with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_AddAccountLedgers"]}," intent."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The party key doesn't need a separate backup. The vault re-derives it from the account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ED25519_CUSTODY_1"]}," key whenever it needs it, so backing up the vault covers it. After a restore, the key reappears in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["keys"]}," array when the notary replays the request that first added the Canton ledger to the account."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"party-id-format","__idx":10},"children":["Party ID format"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"c::<fingerprint>\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The fingerprint identifies the account's Ed25519 public key, so you can reproduce the party ID from the public key alone. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/concepts#parties-and-party-ids"},"children":["Parties and party IDs"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limits","__idx":11},"children":["Limits"]},{"$$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":"Limit"},"children":["Limit"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Decimal places for Canton assets"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["10"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum Holdings spent by one transfer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["100, as an upper bound. The network enforces it for Canton Coin, and ","Ripple Custody"," applies it to other CIP-56 tokens. The effective limit can be lower."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Time from preparing a transaction to executing it"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["24 hours"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default deadline for a two-step transfer offer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["30 days"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Minimum amount settled through a pre-approval"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["None"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["memo"]}," length"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["255 characters"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"errors-and-troubleshooting","__idx":12},"children":["Errors and troubleshooting"]},{"$$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":"Symptom"},"children":["Symptom"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Cause"},"children":["Cause"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Resolution"},"children":["Resolution"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transfer fails with an invalid destination error."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The receiver party doesn't exist on the network. This happens when the receiving ","Ripple Custody"," account hasn't completed ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CreateParty"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check the party ID. If the receiver is your own account, complete ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/set-up-accounts-api#step-2-create-the-party"},"children":["Step 2: Create the party"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An incoming transfer appears as a pending offer instead of a settled Holding."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The receiving account has no pre-approval for the asset."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Accept or reject the offer. To avoid offers in the future, create the missing pre-approval."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transfer fails even though the balance covers the amount."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The transfer needs more Holdings than one transfer can spend, or another transfer in progress has reserved the account's Holdings."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Merge or split Holdings with a self-transfer. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/send-and-receive-api#manage-holdings"},"children":["Manage Holdings"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transaction fails after a long signing delay."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["More than 24 hours passed between preparing the transaction and executing it. The network rejects the prepared transaction."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submit the order again, so that it's prepared and signed again. For cold vaults, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/set-up-accounts-api#set-up-cold-vault-accounts"},"children":["Set up cold vault accounts"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A transaction stays in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Broadcasting"]}," status without a ledger transaction ID."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ripple Custody"," hasn't observed the committed update yet."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wait for the indexer to observe the update. If the status doesn't change, check the validator's health and connectivity."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The vault refuses to sign."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The prepared transaction doesn't match the approved intent, or its synchronizer ID doesn't match the ledger's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["synchronizerId"]},"."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check the ledger parameters and the intent. Contact your Ripple liaison if the problem continues."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ripple Custody"," can't connect to the validator."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An endpoint uses plaintext ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http"]},", a firewall blocks the indexer, the Ledger API is behind a forward proxy, or the credentials are missing or out of date."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/blockchains/canton/connect-your-validator#validator-prerequisites"},"children":["validator prerequisites"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A balance looks out of date."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The indexed balance drifted from the validator's Holdings."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/accounts/manage-accounts-api#force-an-account-balance-update"},"children":["Force an account balance update"]},"."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To confirm on-ledger state independently of ","Ripple Custody",", look up the party in a Canton block explorer, such as ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cantonscan.com"},"children":["Cantonscan"]}," for MainNet or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://devnet.ccview.io"},"children":["CCView"]}," for DevNet."]}]},"headings":[{"value":"Canton reference","id":"canton-reference","depth":1},{"value":"Intents and operations","id":"intents-and-operations","depth":2},{"value":"Ledger parameters","id":"ledger-parameters","depth":2},{"value":"Network identifiers","id":"network-identifiers","depth":2},{"value":"Ticker ledger details","id":"ticker-ledger-details","depth":2},{"value":"Transaction order parameters","id":"transaction-order-parameters","depth":2},{"value":"Operation fields","id":"operation-fields","depth":3},{"value":"Transaction estimate","id":"transaction-estimate","depth":2},{"value":"Transaction ledger data","id":"transaction-ledger-data","depth":2},{"value":"Account keys","id":"account-keys","depth":2},{"value":"Party ID format","id":"party-id-format","depth":2},{"value":"Limits","id":"limits","depth":2},{"value":"Errors and troubleshooting","id":"errors-and-troubleshooting","depth":2}],"frontmatter":{"seo":{"title":"Canton reference"}},"lastModified":"2026-10-23T14:40:24.138Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/accounts-and-assets/blockchains/canton/reference","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}