# Create a new XRP Trust Set transaction

Create a new XRP Trust Set transaction

Endpoint: POST /v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/trust-set
Version: 2.0
Security: TokenAuth

## Path parameters:

  - `vaultId` (string, required)
    The vault ID

  - `walletId` (string, required)
    The wallet ID

## Request fields (application/json):

  - `limitAmount` (object, required)
    Trustline definition to create or modify

  - `limitAmount.value` (string, required)
    The quantity of the asset
    Example: "155.672"

  - `limitAmount.asset` (string, required)
    The asset symbol
    Example: "USD"

  - `limitAmount.issuer` (string)
    The contract/issuing address. Optional if asset is XRP.
    Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"

  - `qualityIn` (integer)
    Value incoming balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of 0 is shorthand for treating balances at face value.

  - `qualityOut` (integer)
    Value outgoing balances on this trust line at the ratio of this number per 1,000,000,000 units. A value of 0 is shorthand for treating balances at face value.

  - `flags` (array)
    Configuration flags
    Enum: "SETF_AUTH", "SET_NORIPPLE", "UNSET_NORIPPLE", "SET_FREEZE", "UNSET_FREEZE", "SET_DEEP_FREEZE", "UNSET_DEEP_FREEZE"

  - `sequence` (string)
    The blockchain nonce/sequence to use
    Example: "2"

  - `lastLedgerSequence` (string)
    Highest ledger index this transaction can appear in.
    Example: "123456"

  - `sourceTag` (string)
    Source tag to use for this transaction
    Example: "123456"

## Response 200 fields (application/json):

  - `id` (string, required)
    The transaction ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `walletId` (string, required)
    The wallet ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `vaultId` (string, required)
    The vault ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `createdBy` (string, required)
    The ID of the user that created the transaction
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `createdAt` (string, required)
    The date and time the transaction was created
    Example: "2022-03-29T10:22:22.420Z"

  - `updatedAt` (string, required)
    The date and time the transaction was updated
    Example: "2022-03-29T10:22:22.420Z"

  - `attributes` (object)

  - `status` (string, required)
    The transaction status
    Enum: "REQUESTED", "POLICY_CHECK_PENDING", "POLICY_CHECK_PASSED", "APPROVAL_CHECK_PENDING", "APPROVAL_CHECK_PASSED", "COMPILATION_PENDING", "COMPILED", "SIGNATURE_PENDING", "SIGNED", "PUBLISH_PENDING", "PUBLISHED", "CONFIRMATION_PENDING", "CONFIRMED", "REJECTED", "FAILED"

  - `action` (string, required)
    The transaction action
    Enum: "DEPOSIT", "WITHDRAWAL", "WEB3_RAW", "WEB3_SIGN", "PASSKEY_RAW", "PASSKEY_SIGN", "PALISADE_TRANSFER", "PALISADE_RAW", "PALISADE_MANAGED", "PALISADE_SIGN_PLAINTEXT", "PALISADE_SWEEP"

  - `externalId` (string)
    External ID of this transaction, unique to the organization
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `correlationId` (string)
    The correlation ID of the transaction, used to link related transactions
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `asset` (object, required)

  - `asset.id` (string, required)
    ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol
    Example: "5:0xbehbehfb:USDC"

  - `asset.standard` (string, required)
    The standard of the asset
    Enum: "NATIVE", "ERC20", "ISSUED_CURRENCY", "ERC721", "SPL", "CUSTOM"

  - `asset.symbol` (string, required)
    The currency symbol of the asset
    Example: "LINK"

  - `asset.name` (string)
    The human readable name of the asset
    Example: "Chainlink"

  - `asset.blockchain` (string, required)
    Enum: "AVALANCHE", "ETHEREUM", "XRP_LEDGER", "POLYGON", "BNBCHAIN", "BASE", "HEDERA", "ARBITRUM", "ONE_MONEY", "SOLANA", "TRON", "BITCOIN", "OPTIMISM"

  - `asset.decimals` (integer)
    Count of decimal places for the asset
    Example: 18

  - `asset.vetted` (boolean)
    Whether the asset is vetted on the regulated platform
    Example: true

  - `asset.enabled` (boolean)
    Whether the asset is currently enabled on the platform
    Example: true

  - `asset.contract` (string)
    The token contract address. This field will be empty if the asset is the native coin of the blockchain
    Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"

  - `asset.createdAt` (string, required)
    The date and time the asset was created
    Example: "2022-03-29T10:22:22.420Z"

  - `asset.updatedAt` (string)
    The date and time the asset was last updated
    Example: "2022-03-29T10:22:22.420Z"

  - `asset.organizationId` (string)
    Organization ID for custom assets

  - `asset.coingeckoId` (string)
    CoinGecko identifier for price data (optional for testnet assets)
    Example: "ethereum"

  - `asset.source` (string)
    Data source for this asset
    Enum: "ASSET_SOURCE_LEGACY", "ASSET_SOURCE_AUTO", "ASSET_SOURCE_COINGECKO", "ASSET_SOURCE_PALISADE", "ASSET_SOURCE_CUSTOMER"

  - `asset.sourceMetadata` (object)
    JSON metadata about the source

  - `asset.sourceMetadata.@type` (string)

  - `asset.lastSyncedAt` (string)
    When this asset was last synchronized
    Example: "2024-08-08T10:22:22.420Z"

  - `asset.syncVersion` (integer)
    Version counter for sync updates
    Example: 1

  - `asset.contractAddressChecksummed` (string)
    Checksummed version of the contract address
    Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"

  - `asset.iconUrl` (string)
    Public URL for the asset icon. Registry asset REST endpoints populate this when configured; other Asset responses may omit it.
    Example: "https://static.palisade.co/registry/assets/coingecko/production/usd-coin.png"

  - `asset.displaySymbol` (string)
    Authoritative source casing for displaying the asset symbol. Registry endpoints fall back to symbol when source casing is unavailable.
    Example: "weETH"

  - `feeAsset` (object, required)

  - `blockchain` (string, required)
    Enum: same as `asset.blockchain` (13 values)

  - `destinationAddress` (string)
    Deprecated. Use destination. The destination recorded for the transaction. Once a transaction reaches COMPILED, this is the blockchain execution target address. For a contract-token transfer, this is the token contract rather than the recipient wallet; use destination.address on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the recipient wallet.
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `destination` (object)
    The destination recorded for the transaction. Once a transaction reaches COMPILED, this is the blockchain execution target. For a contract-token transfer, this is the token contract rather than the recipient wallet; use destination.address on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the recipient wallet.

  - `destination.id` (string)
    Either addressID or walletID, or allowAddressID, or not set when the address does not exist within palisade e.g. a deposit from outside of Palisade
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `destination.counterpartyId` (string)
    The counterparty ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `destination.vaultId` (string)
    The vault ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `destination.type` (string, required)
    The address type
    Enum: "COUNTERPARTY", "WALLET", "EXTERNAL", "ALLOW_ADDRESS"

  - `destination.address` (string, required)
    The address
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `originAddress` (string, required)
    The origin address
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `origin` (object, required)

  - `origin.id` (string)
    Either addressID or walletID, or allowAddressID, or not set when the address does not exist within palisade e.g. a deposit from outside of Palisade
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `origin.counterpartyId` (string)
    The counterparty ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `origin.vaultId` (string)
    The vault ID
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `origin.type` (string, required)
    The address type
    Enum: same as `destination.type` (4 values)

  - `origin.address` (string, required)
    The address
    Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"

  - `qty` (string, required)
    The quantity recorded at the top level. Once a contract-token transfer reaches COMPILED, this may be zero because it is the quantity sent to the execution target; use qty on a TRANSFER entry in proposed_asset_changes or confirmed_asset_changes for the token quantity.
    Example: "155.672"

  - `feeQtyLimit` (string)
    The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)
    Example: "155.672"

  - `sequence` (string)
    The blockchain nonce/sequence to use
    Example: "2"

  - `encodedTransaction` (string)
    The encoded transaction. Maximum size is 200KB.
    Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"

  - `signOnly` (boolean, required)
    Whether to only sign the transaction, or also publish it to the blockchain
    Example: "true"

  - `config` (object)

  - `config.sourceTag` (string)
    The source tag for XRP transactions
    Example: "123456"

  - `config.destinationTag` (string)
    The destination tag for XRP transactions
    Example: "123456"

  - `freezeInfo` (object, required)
    Comprehensive freeze information including status, reason, and history

  - `freezeInfo.isFrozen` (boolean)
    Whether the transaction is currently frozen

  - `freezeInfo.history` (array)
    History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

  - `freezeInfo.history.id` (string)
    Unique identifier for this history entry
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `freezeInfo.history.action` (string)
    The action taken (FREEZE or UNFREEZE)
    Enum: "FREEZE_ACTION_FREEZE", "FREEZE_ACTION_UNFREEZE"

  - `freezeInfo.history.reason` (string)
    Reason for the freeze or unfreeze action
    Example: "Transaction frozen due to suspicious activity pattern"

  - `freezeInfo.history.userId` (string)
    User who performed the action (empty for automatic actions)
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `freezeInfo.history.organizationId` (string)
    Organization of the user who performed the action (empty for automatic actions)
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `freezeInfo.history.performedAt` (string)
    Timestamp when the action was performed
    Example: "2022-03-29T10:22:22.420Z"

  - `freezeInfo.history.freezeType` (string)
    Type of freeze (required for FREEZE actions, shows original type for UNFREEZE)
    Enum: "FREEZE_TYPE_MANUAL", "FREEZE_TYPE_AUTO_RISK", "FREEZE_TYPE_AUTO_AMOUNT", "FREEZE_TYPE_COMPLIANCE", "FREEZE_TYPE_AUTO_WALLET_SETTING", "FREEZE_TYPE_TRAVEL_RULE"

  - `freezeInfo.history.riskScore` (number)
    Risk score that triggered auto-freeze (0-100)
    Example: 85.5

  - `freezeInfo.history.authority` (string)
    Authority that applied this freeze state change
    Enum: "FREEZE_AUTHORITY_AUTOMATIC_POLICY", "FREEZE_AUTHORITY_CUSTOMER_MANUAL", "FREEZE_AUTHORITY_MANAGEMENT_COMPLIANCE"

  - `freezeInfo.history.mutationId` (string)
    Stable identifier for the freeze mutation
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `freezeInfo.history.freezeRevision` (string)
    Monotonic transaction freeze-state revision
    Example: "1"

  - `freezeInfo.authority` (string)
    Authority that owns the current freeze state
    Enum: same as `freezeInfo.history.authority` (3 values)

  - `freezeInfo.freezeRevision` (string)
    Latest monotonic transaction freeze-state revision, or zero when unchanged
    Example: "1"

  - `freezeInfo.mutationId` (string)
    Stable identifier for the latest freeze mutation
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `history` (array)
    V1 business view of every accumulated history record, in archive acceptance order. Unrepresented records appear as informational OTHER entries.

  - `history.schemaVersion` (integer, required)
    Public history schema version. V1 remains 1 independently of the internal record version.
    Example: 1

  - `history.id` (string, required)
    Stable opaque event identifier. Compare or store it; its internal format is not a public contract.
    Example: "event-001"

  - `history.event` (string, required)
    Business event family. HISTORY_EVENT_OTHER is informational and does not imply approval, success or failure.
    Enum: "HISTORY_EVENT_OTHER", "HISTORY_EVENT_STATUS_CHANGED", "HISTORY_EVENT_POLICY_DECISION", "HISTORY_EVENT_EXTERNAL_WAIT", "HISTORY_EVENT_EXTERNAL_RESULT", "HISTORY_EVENT_APPROVAL_REQUIREMENT", "HISTORY_EVENT_APPROVAL_VOTE", "HISTORY_EVENT_APPROVAL_RESULT", "HISTORY_EVENT_FREEZE_REQUESTED", "HISTORY_EVENT_FREEZE_APPLIED", "HISTORY_EVENT_UNFREEZE_APPLIED"

  - `history.stage` (string, required)
    Business phase, independent of which service performs it. STAGE_OTHER accompanies an unrepresented record.
    Enum: "STAGE_OTHER", "STAGE_CREATION", "STAGE_POLICY", "STAGE_APPROVAL", "STAGE_COMPILATION", "STAGE_SIGNING", "STAGE_PUBLICATION", "STAGE_CONFIRMATION", "STAGE_FREEZE"

  - `history.outcome` (string, required)
    Business outcome. OUTCOME_OTHER makes no claim about enforcement or transaction status.
    Enum: "OUTCOME_OTHER", "OUTCOME_PENDING", "OUTCOME_SUCCEEDED", "OUTCOME_REJECTED", "OUTCOME_FAILED", "OUTCOME_APPROVED", "OUTCOME_EXPIRED", "OUTCOME_NOT_MET"

  - `history.actorId` (string)
    Relevant stable actor identity when known, never a display name.
    Example: "actor-001"

  - `history.occurredAt` (string)
    Reliable source-business time when known. Absence does not substitute the archive time.
    Example: "2026-09-24T10:00:00Z"

  - `history.recordedAt` (string)
    Time the archive first accepted this entry, when archived.
    Example: "2026-09-24T10:00:01Z"

  - `history.recordedSequence` (string)
    Archive acceptance order as an exact decimal string. Zero denotes an entry not yet archived.
    Example: "9223372036854775807"

  - `history.approval` (object)
    Approval progress at this event, when applicable.

  - `history.approval.requiredCount` (string, required)
    Required approval count as an exact decimal string.
    Example: "2"

  - `history.approval.approvedCount` (string, required)
    Approved count at this event as an exact decimal string.
    Example: "1"

  - `history.chain` (object)
    Relevant chain observation within the transaction's authorized wallet scope.

  - `history.chain.blockchain` (string, required)
    Blockchain for this observation.
    Enum: same as `asset.blockchain` (13 values)

  - `history.chain.walletId` (string, required)
    Authorized wallet associated with this observation.
    Example: "7d8720b8-fab9-4715-8077-767a5f20fa31"

  - `history.chain.hash` (string, required)
    Chain transaction hash or stable observation reference.
    Example: "0xabc123"

  - `history.status` (string)
    Lifecycle status observed by this event. Informational OTHER entries do not supply a status.
    Enum: same as `status` (15 values)

  - `snapshotRevision` (string)
    Archive-authoritative snapshot revision, emitted as a decimal string in ProtoJSON.
    Example: "9223372036854775807"

  - `originContext` (object)
    Optional business origin type. Existing origin address and attributes are retained.

  - `originContext.type` (string, required)
    Business origin of the transaction. TYPE_OTHER represents an origin outside the V1 vocabulary.
    Enum: "TYPE_OTHER", "TYPE_API", "TYPE_WALLET_CONNECT", "TYPE_SWEEP", "TYPE_CHAIN"

  - `feeQty` (string)
    The actual network fee for this transaction in base asset units (eg ETH for Ethereum)
    Example: "155.672"

  - `hash` (string)
    The transaction hash
    Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"

  - `signature` (string)
    The transaction signature
    Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"

  - `transactionType` (string)
    The transaction type
    Example: "Payment"

  - `reasons` (array)
    Deprecated. Use problems for structured transaction failure details.
    Example: ["unfunded"]

  - `canonicalSignature` (string)
    The canonical transaction signature
    Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"

  - `signedTransaction` (string)
    The signed transaction (multi-sign is not supported). Maximum size is 200KB.
    Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"

  - `proposedAssetChanges` (array)
    Asset changes expected before confirmation. In TRANSFER entries, destination.address is the recipient wallet and qty is the asset quantity.

  - `proposedAssetChanges.purpose` (string, required)
    Purpose of this asset change
    Enum: "FEE", "TRANSFER"

  - `proposedAssetChanges.asset` (object, required)
    The asset that is part of this change

  - `proposedAssetChanges.asset.id` (string, required)
    ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol
    Example: "5:0xbehbehfb:USDC"

  - `proposedAssetChanges.asset.standard` (string, required)
    The standard of the asset
    Enum: same as `asset.standard` (6 values)

  - `proposedAssetChanges.asset.symbol` (string, required)
    The currency symbol of the asset
    Example: "LINK"

  - `proposedAssetChanges.asset.name` (string)
    The human readable name of the asset
    Example: "Chainlink"

  - `proposedAssetChanges.asset.blockchain` (string, required)
    Enum: same as `asset.blockchain` (13 values)

  - `proposedAssetChanges.asset.decimals` (integer)
    Count of decimal places for the asset
    Example: 18

  - `proposedAssetChanges.asset.vetted` (boolean)
    Whether the asset is vetted on the regulated platform
    Example: true

  - `proposedAssetChanges.asset.enabled` (boolean)
    Whether the asset is currently enabled on the platform
    Example: true

  - `proposedAssetChanges.asset.contract` (string)
    The token contract address. This field will be empty if the asset is the native coin of the blockchain
    Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"

  - `proposedAssetChanges.asset.createdAt` (string, required)
    The date and time the asset was created
    Example: "2022-03-29T10:22:22.420Z"

  - `proposedAssetChanges.asset.updatedAt` (string)
    The date and time the asset was last updated
    Example: "2022-03-29T10:22:22.420Z"

  - `proposedAssetChanges.asset.organizationId` (string)
    Organization ID for custom assets

  - `proposedAssetChanges.asset.coingeckoId` (string)
    CoinGecko identifier for price data (optional for testnet assets)
    Example: "ethereum"

  - `proposedAssetChanges.asset.source` (string)
    Data source for this asset
    Enum: same as `asset.source` (5 values)

  - `proposedAssetChanges.asset.sourceMetadata` (object)
    JSON metadata about the source

  - `proposedAssetChanges.asset.sourceMetadata.@type` (string)

  - `proposedAssetChanges.asset.lastSyncedAt` (string)
    When this asset was last synchronized
    Example: "2024-08-08T10:22:22.420Z"

  - `proposedAssetChanges.asset.syncVersion` (integer)
    Version counter for sync updates
    Example: 1

  - `proposedAssetChanges.asset.contractAddressChecksummed` (string)
    Checksummed version of the contract address
    Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"

  - `proposedAssetChanges.asset.iconUrl` (string)
    Public URL for the asset icon. Registry asset REST endpoints populate this when configured; other Asset responses may omit it.
    Example: "https://static.palisade.co/registry/assets/coingecko/production/usd-coin.png"

  - `proposedAssetChanges.asset.displaySymbol` (string)
    Authoritative source casing for displaying the asset symbol. Registry endpoints fall back to symbol when source casing is unavailable.
    Example: "weETH"

  - `proposedAssetChanges.qty` (string, required)
    The quantity of the asset to transfer
    Example: "155.672"

  - `proposedAssetChanges.source` (object)
    Source of this asset change

  - `proposedAssetChanges.source.address` (string, required)
    The blockchain address of the wallet
    Example: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

  - `proposedAssetChanges.source.walletId` (string)
    The wallet ID that is part of this change, populated only if it belongs to the same organization that is party to the transaction
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `proposedAssetChanges.source.subAccountAddress` (string)
    The Rosetta SubAccount address (e.g., SPL token account address for Solana, contract-specific state address for other chains). This represents the actual on-chain address where the asset resides, while 'address' contains the owner wallet address.
    Example: "CaVHtunHxQfGYVKJ4WzUe1217UTCrREh3hg2RW8cS2Gk"

  - `proposedAssetChanges.source.vaultId` (string)
    The vault ID for the wallet that is part of this change, populated only if it belongs to the same organization that is party to the transaction
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `proposedAssetChanges.destination` (object)
    Destination of this asset change

  - `proposedAssetChanges.destination.address` (string, required)
    The blockchain address of the wallet
    Example: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

  - `proposedAssetChanges.destination.walletId` (string)
    The wallet ID that is part of this change, populated only if it belongs to the same organization that is party to the transaction
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `proposedAssetChanges.destination.subAccountAddress` (string)
    The Rosetta SubAccount address (e.g., SPL token account address for Solana, contract-specific state address for other chains). This represents the actual on-chain address where the asset resides, while 'address' contains the owner wallet address.
    Example: "CaVHtunHxQfGYVKJ4WzUe1217UTCrREh3hg2RW8cS2Gk"

  - `proposedAssetChanges.destination.vaultId` (string)
    The vault ID for the wallet that is part of this change, populated only if it belongs to the same organization that is party to the transaction
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

  - `confirmedAssetChanges` (array)
    Asset changes observed after confirmation. In TRANSFER entries, destination.address is the recipient wallet and qty is the asset quantity.

  - `expiresAt` (string)
    The time after which this transaction will be rejected if not confirmed
    Example: "2026-03-16T16:22:22.420Z"

  - `problems` (array)
    Structured transaction failure details.

  - `problems.code` (integer)

  - `problems.reason` (string)

  - `problems.domain` (string)

  - `problems.message` (string)

  - `problems.retryability` (string)
    Enum: "RETRYABLE", "NOT_RETRYABLE"

  - `problems.metadata` (object)

  - `signingPayloads` (array)
    Multiple signing payloads for UTXO-based transactions, one per input

  - `signingPayloads.inputIndex` (integer, required)
    The index of the UTXO input this signing payload corresponds to

  - `signingPayloads.signingHash` (string, required)
    The signing hash for this UTXO input
    Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"

  - `signingPayloads.signature` (string)
    The signature for this UTXO input
    Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"

  - `signingPayloads.walletId` (string)
    The wallet ID that owns this signing payload. If omitted, signers use the parent transaction wallet. Native multi-wallet transactions must set this on every signing payload.
    Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"

## Response 400 fields (application/json):

  - `code` (integer)

  - `message` (string)

  - `details` (array)

  - `details.@type` (string)


